@font-face { font-family:Lato; font-style:normal; font-weight:400; font-display:swap; src:url('./lato-400.woff2') format('woff2'); }
@font-face { font-family:Lato; font-style:normal; font-weight:700; font-display:swap; src:url('./lato-700.woff2') format('woff2'); }
@font-face { font-family:Lato; font-style:normal; font-weight:900; font-display:swap; src:url('./lato-900.woff2') format('woff2'); }
.ph-campus-native, .ph-campus-native :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea) { font-family:Lato,sans-serif; }
.ph-campus-native { --tutor-color-primary:#4d1c4e; --tutor-color-primary-rgb:77,28,78; --tutor-color-primary-hover:#060346; }
.ph-campus-native .tutor-course-sidebar-card-pricing { display:none; }
.ph-campus-native .tutor-course-sidebar-card button { pointer-events:none; opacity:.65; }
.ph-campus-native .tutor-single-course-sidebar .tutor-sidebar-card > .tutor-card-body { display:none; }
.ph-campus-native .tutor-single-course-sidebar .tutor-sidebar-card::before { content:'Versão de demonstração. As inscrições estarão disponíveis após a configuração do catálogo.'; display:block; padding:24px; color:#57545d; font-family:Lato,sans-serif; }
.ph-campus-native .main-header-bar, .ph-campus-native .ast-primary-header-bar { background:#4d1c4e; }
.ph-campus-native .site-header a, .ph-campus-native .site-title a, .ph-campus-native .ast-button-wrap .menu-toggle { color:white; }
.ph-campus-native .ast-small-footer { background:#f6f7f8; color:#57545d; }
/* Base visual local do portal. Aplicar dentro de .ph-formacao.
 * Carregar os ficheiros Lato locais na instalação WordPress.
 * Paleta recolhida do site Pharegistrum em 30/10/2026. */
.ph-formacao {
  --ph-primary: #4d1c4e;
  --ph-primary-hover: #060346;
  --ph-text: #150e1f;
  --ph-muted: #57545d;
  --ph-neutral: #4b4f58;
  --ph-background: #f6f7f8;
  --ph-surface: #ffffff;
  --ph-border: #dedce3;
  font-family: Lato, sans-serif;
  color: var(--ph-text);
  background: var(--ph-background);
  line-height: 1.6;
}
.ph-formacao *, .ph-formacao *::before, .ph-formacao *::after {
  box-sizing: border-box;
}
.ph-formacao :is(h1,h2,h3,h4,h5,h6,button,input,select,textarea) {
  font-family: inherit;
}
.ph-formacao :is(h1,h2,h3,h4,h5,h6) {
  color: var(--ph-text);
  line-height: 1.2;
}
.ph-formacao a { color: var(--ph-primary); }
.ph-formacao :focus-visible {
  outline: 3px solid var(--ph-primary);
  outline-offset: 4px;
}
.ph-formacao .ph-header {
  background: linear-gradient(133deg, #4d1c4e 27%, #060346 100%);
  color: var(--ph-surface);
}
.ph-formacao .ph-header a { color: inherit; }
.ph-formacao .ph-logo {
  display: block;
  width: 177px;
  height: auto;
  object-fit: contain;
}
.ph-formacao .ph-card {
  background: var(--ph-surface);
  border: 1px solid var(--ph-border);
  border-radius: 12px;
  padding: clamp(20px, 3vw, 32px);
}
.ph-formacao .ph-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 12px 22px;
  border: 1px solid var(--ph-primary);
  border-radius: 6px;
  background: var(--ph-primary);
  color: var(--ph-surface);
  font-weight: 700;
  text-decoration: none;
  cursor: pointer;
}
.ph-formacao .ph-button:hover { background: var(--ph-primary-hover); }
.ph-formacao .ph-button:disabled { opacity: .6; cursor: default; }
.ph-formacao .ph-muted { color: var(--ph-muted); }
.ph-formacao :is(input,select,textarea) {
  max-width: 100%;
  padding: 12px;
  border: 1px solid var(--ph-neutral);
  border-radius: 6px;
  background: var(--ph-surface);
  color: var(--ph-text);
  font-size: 1rem;
}
body.ph-formacao { margin: 0; font-size: 16px; }
.ph-formacao .ph-wrap { width: min(1180px, calc(100% - 64px)); margin: auto; }
.ph-formacao .ph-skip { position:absolute; top:-80px; background:white; padding:12px; z-index:100; }
.ph-formacao .ph-skip:focus { top:8px; }
.ph-formacao .ph-test-banner { padding:9px 24px; text-align:center; font-size:12px; letter-spacing:.08em; color:#fff; background:#2a282b; }
.ph-formacao .ph-test-banner span { letter-spacing:0; }
.ph-formacao .ph-nav { display:flex; align-items:center; justify-content:space-between; min-height:105px; gap:24px; }
.ph-formacao .ph-nav nav { display:flex; align-items:center; gap:34px; }
.ph-formacao .ph-nav a { text-decoration:none; font-weight:700; }
.ph-formacao .ph-nav-account { border:1px solid #ffffff80; padding:11px 18px; border-radius:6px; }
.ph-formacao .ph-hero { background:#fff; padding:78px 0 70px; }
.ph-formacao .ph-hero-grid { display:grid; grid-template-columns:1.5fr 1fr; gap:84px; align-items:center; }
.ph-formacao .ph-eyebrow { font-size:11px; letter-spacing:.16em; font-weight:700; color:var(--ph-primary); margin:0 0 20px; }
.ph-formacao h1 { font-size:clamp(36px,4.6vw,60px); letter-spacing:-.035em; margin:0 0 25px; font-weight:900; }
.ph-formacao h1 em { font-style:normal; color:var(--ph-primary); }
.ph-formacao .ph-lead { font-size:18px; max-width:590px; color:var(--ph-muted); margin:0 0 30px; }
.ph-formacao .ph-hero-note { font-size:12px; color:var(--ph-muted); margin-top:20px; }
.ph-formacao .ph-feature { background:linear-gradient(133deg, #4d1c4e 27%, #060346 100%); padding:34px; color:white; border-radius:20px 20px 90px 20px; box-shadow:14px 14px 0 #eeedf2; }
.ph-formacao .ph-feature-logo { display:block; width:140px; height:auto; margin:0 0 26px; }
.ph-formacao .ph-feature .ph-eyebrow { color:#e7e5ee; }
.ph-formacao .ph-feature h2 { font-size:44px; color:white; margin:10px 0 34px; }
.ph-formacao .ph-feature-bottom { display:flex; gap:28px; padding-top:22px; border-top:1px solid #ffffff55; font-size:12px; }
.ph-formacao .ph-feature-bottom strong { font-size:14px; }
.ph-formacao .ph-catalog { padding-top:72px; padding-bottom:65px; scroll-margin-top:20px; }
.ph-formacao .ph-section-heading { display:flex; align-items:end; justify-content:space-between; gap:20px; margin-bottom:32px; }
.ph-formacao h2 { font-size:clamp(28px,3vw,36px); margin:0 0 16px; letter-spacing:-.025em; }
.ph-formacao .ph-section-heading .ph-eyebrow { margin-bottom:12px; }
.ph-formacao .ph-section-heading p:last-child { color:var(--ph-muted); font-size:14px; }
.ph-formacao .ph-course-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:22px; }
.ph-formacao .ph-course { display:flex; flex-direction:column; padding:26px; border-top:3px solid var(--ph-primary); }
.ph-formacao .ph-course-top { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.ph-formacao .ph-badge { font-size:11px; border-radius:30px; background:#eeedf2; color:var(--ph-primary); font-weight:700; padding:5px 10px; }
.ph-formacao .ph-format { font-size:11px; color:var(--ph-muted); }
.ph-formacao .ph-course-area { font-size:11px; letter-spacing:.05em; text-transform:uppercase; color:var(--ph-muted); margin:28px 0 12px; }
.ph-formacao .ph-course h3 { font-size:22px; margin:0 0 12px; }
.ph-formacao .ph-course h3 a { color:inherit; text-decoration:none; }
.ph-formacao .ph-course h3 a:hover { text-decoration:underline; }
.ph-formacao .ph-course .ph-muted { font-size:14px; margin:0 0 25px; }
.ph-formacao .ph-course-bottom { margin-top:auto; border-top:1px solid var(--ph-border); padding-top:18px; display:grid; gap:16px; font-size:12px; }
.ph-formacao .ph-course-bottom a { font-size:14px; font-weight:700; text-decoration:none; }
.ph-formacao .ph-course-price { font-size:25px; color:var(--ph-primary); line-height:1.2; }
.ph-formacao .ph-course-price .woocommerce-Price-currencySymbol { margin-left:3px; }
.ph-formacao .ph-pack { grid-column:1/-1; display:grid; grid-template-columns:minmax(0,1fr) 240px; gap:0 36px; border:1px solid var(--ph-primary); border-left:5px solid var(--ph-primary); }
.ph-formacao .ph-pack .ph-course-top, .ph-formacao .ph-pack .ph-course-area, .ph-formacao .ph-pack h3, .ph-formacao .ph-pack>.ph-muted { grid-column:1; }
.ph-formacao .ph-pack .ph-course-area { margin-top:20px; }
.ph-formacao .ph-pack .ph-course-bottom { grid-column:2; grid-row:1/5; align-self:center; border:0; border-left:1px solid var(--ph-border); padding:10px 0 10px 30px; }
.ph-formacao .ph-pack .ph-course-price { font-size:36px; }
.ph-formacao .ph-demo-note { font-size:12px; color:var(--ph-muted); margin-top:24px; }
.ph-formacao .ph-how { background:#eeedf2; padding:62px 0; }
.ph-formacao .ph-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:60px; margin-top:34px; }
.ph-formacao .ph-steps span { display:block; color:var(--ph-primary); font-size:28px; font-weight:900; }
.ph-formacao .ph-steps h3 { font-size:18px; margin:12px 0; }
.ph-formacao .ph-steps p { color:var(--ph-muted); font-size:14px; margin:0; }
.ph-formacao .ph-help { padding-top:64px; padding-bottom:64px; display:flex; align-items:center; justify-content:space-between; gap:30px; }
.ph-formacao .ph-help p:not(.ph-eyebrow) { max-width:620px; color:var(--ph-muted); }
.ph-formacao .ph-help .ph-button { flex-shrink:0; }
.ph-formacao .ph-footer { padding:26px 0; background:white; border-top:1px solid var(--ph-border); font-size:12px; }
.ph-formacao .ph-footer .ph-wrap { display:flex; justify-content:space-between; gap:20px; flex-wrap:wrap; }
@media(max-width:900px) {
  .ph-formacao .ph-hero-grid { gap:35px; grid-template-columns:1.3fr 1fr; }
  .ph-formacao .ph-course-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ph-formacao .ph-feature { padding:24px; }
  .ph-formacao .ph-help { flex-direction:column; align-items:start; }
}
@media(max-width:600px) {
  .ph-formacao .ph-wrap { width:calc(100% - 36px); }
  .ph-formacao .ph-test-banner span { display:block; }
  .ph-formacao .ph-nav { min-height:90px; gap:12px; }
  .ph-formacao .ph-logo { width:130px; }
  .ph-formacao .ph-nav nav { gap:12px; font-size:12px; }
  .ph-formacao .ph-nav nav>a:first-child { display:none; }
  .ph-formacao .ph-nav-account { padding:10px; }
  .ph-formacao .ph-hero { padding:46px 0; }
  .ph-formacao .ph-hero-grid, .ph-formacao .ph-course-grid, .ph-formacao .ph-steps { grid-template-columns:1fr; }
  .ph-formacao .ph-lead { font-size:16px; }
  .ph-formacao .ph-feature { margin:8px 12px 12px 0; }
  .ph-formacao .ph-feature h2 { font-size:36px; }
  .ph-formacao .ph-section-heading { display:block; }
  .ph-formacao .ph-catalog { padding-top:44px; padding-bottom:42px; }
  .ph-formacao .ph-steps { gap:28px; }
  .ph-formacao .ph-how { padding:44px 0; }
  .ph-formacao .ph-pack { display:flex; gap:0; }
  .ph-formacao .ph-pack .ph-course-bottom { width:100%; border:0; border-top:1px solid var(--ph-border); padding:18px 0 0; }
}
