/* ============================================================
   MEDCLINIC — DESIGN SYSTEM PÚBLICO  (Fase 1 · v2.0.0)
   "Plataforma médica internacional": base clara neutra, azul com
   disciplina, tipografia como personalidade, sombras discretas.
   Tokens documentados em docs/DESIGN-SYSTEM.md.
   ============================================================ */

/* ---------- TOKENS ---------- */
:root{
  /* cor — azul premium + tecnologia + saúde */
  --navy:#0B1F3A;          /* marca, títulos, footer */
  --blue:#145DA0;          /* links, ações secundárias */
  --blue-tech:#2F80ED;     /* CTA primário, foco, interação */
  --blue-soft:#EAF4FF;     /* fundos de chip/realce */
  --bg:#F8FAFC;            /* fundo da página */
  --surface:#FFFFFF;       /* cartões e superfícies */
  --ink:#0F172A;           /* texto principal */
  --ink-2:#64748B;         /* texto secundário */
  --ink-3:#94A3B8;         /* texto terciário/placeholder */
  --line:#E2E8F0;          /* bordas */
  --success:#0E9F6E;       /* verde SÓ para sucesso */
  --error:#DC2626;         /* vermelho SÓ para erro */
  --warn-bg:#FFFBEB; --warn-ink:#92400E;

  /* tipografia */
  --font-display:'Manrope',system-ui,sans-serif;
  --font-body:'Inter',system-ui,sans-serif;
  --font-mono:'JetBrains Mono','SFMono-Regular',Consolas,monospace;

  /* escala 4px */
  --s1:4px; --s2:8px; --s3:12px; --s4:16px; --s5:20px; --s6:24px;
  --s8:32px; --s10:40px; --s12:48px; --s16:64px; --s20:80px;

  /* raio + sombra (quase imperceptível) */
  --r-sm:8px; --r:12px; --r-lg:16px; --r-full:999px;
  --shadow-1:0 1px 2px rgba(11,31,58,.05);
  --shadow-2:0 4px 16px rgba(11,31,58,.07);
  --shadow-3:0 12px 32px rgba(11,31,58,.10);

  --container:1160px;
  --ease:cubic-bezier(.4,0,.2,1);
}

/* ---------- BASE ---------- */
*{margin:0;padding:0;box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--font-body);background:var(--bg);color:var(--ink);
  line-height:1.6;font-size:15.5px;-webkit-font-smoothing:antialiased}
a{color:var(--blue);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}
img{max-width:100%;display:block}
button{font:inherit;cursor:pointer}
h1,h2,h3{font-family:var(--font-display);color:var(--navy);line-height:1.2;
  letter-spacing:-.015em;font-weight:700}
.mono{font-family:var(--font-mono);font-size:.92em;letter-spacing:0}
.container{max-width:var(--container);margin-inline:auto;padding-inline:var(--s5)}
.section-pad{padding:var(--s10) 0 var(--s16)}
.sec-title{font-size:22px}
.sec-sub{color:var(--ink-2);font-size:14.5px;margin-top:var(--s1)}

/* acessibilidade */
:focus-visible{outline:3px solid var(--blue-tech);outline-offset:2px;border-radius:4px}
.skip-link{position:absolute;left:-9999px;top:0;background:var(--navy);color:#fff;
  padding:10px 18px;border-radius:0 0 var(--r) 0;z-index:100}
.skip-link:focus{left:0}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important}
}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;
  clip:rect(0 0 0 0);white-space:nowrap;border:0}

/* ---------- BOTÕES ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--s2);
  border-radius:var(--r);padding:12px 22px;font-weight:600;font-size:14.5px;
  border:1px solid transparent;transition:background .18s var(--ease),
  border-color .18s var(--ease),color .18s var(--ease),transform .12s var(--ease);
  text-decoration:none}
.btn:hover{text-decoration:none}
.btn:active{transform:translateY(1px)}
.btn-primary{background:var(--blue-tech);color:#fff}
.btn-primary:hover{background:#1e6fd9;color:#fff}
.btn-navy{background:var(--navy);color:#fff}
.btn-navy:hover{background:#12305a;color:#fff}
.btn-outline{border-color:var(--line);color:var(--blue);background:var(--surface)}
.btn-outline:hover{border-color:var(--blue);background:var(--blue-soft)}
.btn-lg{padding:14px 28px;font-size:15.5px}
.btn-block{width:100%}
.btn[disabled],.btn.is-loading{opacity:.6;pointer-events:none}

/* ---------- HEADER ---------- */
.site-header{background:var(--surface);border-bottom:1px solid var(--line);
  position:sticky;top:0;z-index:50}
.site-header-in{display:flex;align-items:center;gap:var(--s6);height:68px}
.brand{display:flex;align-items:center;gap:10px;font-family:var(--font-display);
  font-weight:800;font-size:19px;color:var(--navy)}
.brand:hover{text-decoration:none}
.brand-mark{width:36px;height:36px;border-radius:10px;background:var(--navy);
  color:#fff;display:grid;place-items:center;font-size:18px;font-weight:700}
.main-nav{display:flex;gap:var(--s5);margin-left:var(--s4);flex:1}
.main-nav a{color:var(--ink-2);font-weight:500;font-size:14.5px;padding:8px 2px}
.main-nav a:hover{color:var(--navy);text-decoration:none}
.hdr-actions{display:flex;align-items:center;gap:var(--s3)}
.hdr-actions .entrar{color:var(--ink-2);font-weight:600;font-size:14.5px}
.hdr-actions .entrar:hover{color:var(--navy);text-decoration:none}
/* menu mobile (checkbox hack — sem JS) */
.nav-toggle-input{display:none}
.nav-toggle{display:none;width:44px;height:44px;border:1px solid var(--line);
  border-radius:var(--r-sm);background:var(--surface);place-items:center}
.nav-toggle svg{width:20px;height:20px;stroke:var(--navy)}
@media (max-width:820px){
  .main-nav{display:none;position:fixed;inset:68px 0 auto 0;background:var(--surface);
    border-bottom:1px solid var(--line);flex-direction:column;gap:0;
    padding:var(--s3) var(--s5) var(--s5);box-shadow:var(--shadow-2)}
  .main-nav a{padding:14px 4px;border-bottom:1px solid var(--line);font-size:15.5px}
  .main-nav a:last-child{border-bottom:0}
  .nav-toggle{display:grid}
  .nav-toggle-input:checked ~ .main-nav{display:flex}
  .hdr-actions .entrar{display:none}
}

/* ---------- HERO ---------- */
/* Ilustração 3D à direita (webp com fallback jpg) + véu navy fundindo na
   esquerda pra manter o texto/busca 100% legíveis sobre a foto. */
.hero-pub{background:linear-gradient(150deg,var(--navy) 0%,#123a68 62%,var(--blue) 100%);
  padding:var(--s16) 0 var(--s20)}
@media (min-width:900px){
  .hero-pub{
    background:
      linear-gradient(90deg,var(--navy) 0%,var(--navy) 38%,rgba(11,31,58,.88) 52%,rgba(11,31,58,.30) 68%,rgba(11,31,58,0) 82%),
      url('img/hero-portal.webp') right center / auto 100% no-repeat,
      linear-gradient(150deg,var(--navy) 0%,#123a68 62%,var(--blue) 100%);
  }
}
.hero-pub h1{color:#fff;font-size:clamp(28px,4.5vw,44px);max-width:660px;font-weight:800}
.hero-pub p{margin-top:var(--s3);color:#BBD2EA;max-width:560px;font-size:16.5px}

/* barra de busca */
.search-bar{margin-top:var(--s6);background:var(--surface);border-radius:var(--r-lg);
  padding:var(--s2);display:flex;gap:var(--s2);box-shadow:var(--shadow-3);
  max-width:680px;flex-wrap:wrap}
.search-bar select,.search-bar input{flex:1;min-width:210px;border:0;font:inherit;
  font-size:15px;color:var(--ink);padding:12px 14px;background:var(--surface);
  border-radius:var(--r-sm);outline-offset:-2px}
.search-bar .btn{border-radius:var(--r)}

/* ---------- FLASH ---------- */
.flash{max-width:var(--container);margin:var(--s4) auto 0;padding:12px 16px;
  border-radius:var(--r);font-size:14.5px;font-weight:500;border:1px solid}
.flash-error{background:#FEF2F2;color:#991B1B;border-color:#FECACA}
.flash-success{background:#ECFDF5;color:#065F46;border-color:#A7F3D0}

/* ---------- DOCTOR CARD ---------- */
.doc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));
  gap:var(--s4);margin-top:var(--s5)}
.doc-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  box-shadow:var(--shadow-1);padding:var(--s6);display:flex;flex-direction:column;
  gap:var(--s4);transition:box-shadow .2s var(--ease),transform .2s var(--ease)}
.doc-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px)}
.doc-top{display:flex;gap:var(--s4);align-items:center}
.avatar{width:56px;height:56px;border-radius:var(--r-full);
  background:linear-gradient(135deg,var(--blue),var(--navy));color:#fff;
  display:grid;place-items:center;font-weight:700;font-size:19px;
  font-family:var(--font-display);flex-shrink:0}
.avatar.lg{width:76px;height:76px;font-size:26px}
.avatar-foto{overflow:hidden;background:var(--line)}
.avatar-foto img{width:100%;height:100%;object-fit:cover;display:block}
.doc-name{font-family:var(--font-display);font-weight:700;font-size:17px;color:var(--navy)}
.doc-crm{font-family:var(--font-mono);font-size:12px;color:var(--ink-2);margin-top:2px}
.spec-row{display:flex;flex-wrap:wrap;gap:6px}
.spec{background:var(--blue-soft);color:var(--blue);border-radius:var(--r-full);
  padding:4px 12px;font-size:12.5px;font-weight:600}

/* selo de verificação — assinatura visual "credencial" */
.verified{display:inline-flex;align-items:center;gap:6px;background:#ECFDF5;
  color:#065F46;border:1px solid #A7F3D0;border-radius:var(--r-full);
  padding:4px 12px;font-size:12.5px;font-weight:600}
.verified svg{width:14px;height:14px}
.verified small{font-weight:500;color:#0a7a58}

/* rating */
.rating{display:inline-flex;align-items:center;gap:6px;font-size:14px}
.rating .stars{color:#F59E0B;letter-spacing:1px}
.rating .num{font-weight:700;color:var(--ink)}
.rating .count{color:var(--ink-2);font-size:13px}

/* slots (chips de horário) */
.slots-label{font-size:12px;color:var(--ink-3);font-weight:700;
  text-transform:uppercase;letter-spacing:.06em}
.slots-row{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s2)}
.slots-row.scroll-x{flex-wrap:nowrap;overflow-x:auto;padding-bottom:var(--s1);
  scrollbar-width:thin}
.slot{background:var(--blue-soft);color:var(--blue);border:1px solid #CBE1FA;
  border-radius:var(--r-sm);padding:8px 12px;font-family:var(--font-mono);
  font-size:13px;font-weight:600;line-height:1.3;text-align:center;
  transition:background .15s var(--ease),color .15s var(--ease);flex-shrink:0}
.slot small{display:block;font-family:var(--font-body);font-weight:500;
  font-size:10.5px;color:var(--ink-2);text-transform:capitalize}
.slot:hover{background:var(--blue-tech);border-color:var(--blue-tech);color:#fff;
  text-decoration:none}
.slot:hover small{color:#dbeafe}
.slot-none{font-size:13.5px;color:var(--ink-3);font-style:italic}
.doc-actions{margin-top:auto;display:flex;gap:var(--s2)}
.doc-actions .btn{flex:1}

/* ---------- EMPTY / SKELETON ---------- */
.empty-state{text-align:center;padding:var(--s12) var(--s5);color:var(--ink-2)}
.empty-state .ico{font-size:40px;margin-bottom:var(--s3)}
.empty-state h3{font-size:18px;margin-bottom:var(--s2)}
.empty-state .actions{display:flex;gap:var(--s2);justify-content:center;
  flex-wrap:wrap;margin-top:var(--s4)}
.skeleton{position:relative;overflow:hidden;background:#EDF2F7;border-radius:var(--r-sm)}
.skeleton::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.7),transparent);
  animation:shimmer 1.4s infinite}
@keyframes shimmer{100%{transform:translateX(100%)}}
.sk-card{border:1px solid var(--line);border-radius:var(--r-lg);padding:var(--s6);
  background:var(--surface)}
.sk-line{height:12px;margin-bottom:10px}
.sk-circle{width:56px;height:56px;border-radius:50%}

/* ---------- PERFIL ---------- */
.profile-wrap{display:grid;grid-template-columns:330px 1fr;gap:var(--s5);
  align-items:start;margin-top:var(--s5)}
@media (max-width:860px){.profile-wrap{grid-template-columns:1fr}}
.profile-card,.agenda-card{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:var(--s6)}
.cred-list{font-size:14px;color:var(--ink-2);line-height:1.9}
.week-nav{display:flex;align-items:center;justify-content:space-between;
  margin-bottom:var(--s4);gap:var(--s2)}
.week-nav a{border:1px solid var(--line);border-radius:var(--r-sm);padding:8px 14px;
  font-size:13.5px;font-weight:600;color:var(--blue)}
.week-nav a:hover{background:var(--blue-soft);border-color:var(--blue);text-decoration:none}
.week-nav strong{font-family:var(--font-mono);color:var(--navy);font-size:13.5px}
.week-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:var(--s2)}
@media (max-width:680px){.week-grid{grid-template-columns:repeat(2,1fr)}}
.day-col{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s2);min-height:120px}
.day-head{text-align:center;font-size:12px;font-weight:700;color:var(--navy);
  text-transform:capitalize;margin-bottom:var(--s2);line-height:1.3}
.day-head small{display:block;color:var(--ink-3);font-weight:500;
  font-family:var(--font-mono)}
.day-col .slot{display:block;margin-bottom:6px}
.day-empty{font-size:12px;color:var(--ink-3);text-align:center;padding-top:var(--s3)}

/* ---------- FORMULÁRIO ---------- */
.form-card{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s8);
  max-width:620px;margin:var(--s6) auto}
.resumo{background:var(--blue-soft);border:1px solid #CBE1FA;border-radius:var(--r);
  padding:var(--s4);margin-bottom:var(--s5);font-size:14.5px}
.resumo strong{color:var(--navy)}
.resumo .mono{color:var(--navy)}
.f-row{margin-bottom:var(--s4)}
.f-row label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}
.f-row input,.f-row select,.f-row textarea{width:100%;border:1px solid var(--line);
  border-radius:var(--r-sm);padding:12px 14px;font:inherit;font-size:14.5px;
  background:var(--surface);transition:border-color .15s var(--ease),
  box-shadow .15s var(--ease)}
.f-row input:focus,.f-row select:focus{border-color:var(--blue-tech);
  box-shadow:0 0 0 3px rgba(47,128,237,.14);outline:none}
.f-row input[aria-invalid="true"]{border-color:var(--error)}
.f-2col{display:grid;grid-template-columns:1fr 1fr;gap:var(--s4)}
@media (max-width:560px){.f-2col{grid-template-columns:1fr}}
.f-err{color:var(--error);font-size:12.5px;margin-top:4px;font-weight:500}
.radio-line{display:flex;gap:var(--s2);flex-wrap:wrap}
.radio-line label{flex:1;display:flex;align-items:center;gap:8px;
  border:1px solid var(--line);border-radius:var(--r-sm);padding:12px 14px;
  font-weight:500;font-size:14px;cursor:pointer;margin:0}
.radio-line label:has(input:checked){border-color:var(--blue-tech);
  background:var(--blue-soft)}
.radio-line input{width:auto}
.submit-btn{width:100%;background:var(--blue-tech);color:#fff;border:0;
  border-radius:var(--r);padding:15px;font:inherit;font-size:15.5px;font-weight:700;
  margin-top:var(--s2);transition:background .18s var(--ease)}
.submit-btn:hover{background:#1e6fd9}
.form-note{font-size:12.5px;color:var(--ink-3);text-align:center;margin-top:var(--s3);
  line-height:1.6}
.hp{position:absolute;left:-9999px;opacity:0}

/* ---------- CONFIRMAÇÃO ---------- */
.ok-card{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-2);padding:var(--s10);
  max-width:560px;margin:var(--s10) auto;text-align:center}
.ok-icon{width:64px;height:64px;border-radius:50%;background:#ECFDF5;
  color:var(--success);display:grid;place-items:center;font-size:30px;
  margin:0 auto var(--s4)}
.ok-detail{background:var(--bg);border:1px solid var(--line);border-radius:var(--r);
  padding:var(--s4);margin:var(--s5) 0;text-align:left;font-size:14.5px}
.ok-detail div{margin-bottom:6px}

/* ---------- FOOTER ---------- */
.site-footer{background:var(--navy);color:#B9C7DB;margin-top:var(--s16);
  padding:var(--s12) 0 var(--s6);font-size:14px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:var(--s8)}
@media (max-width:820px){.footer-grid{grid-template-columns:1fr 1fr}}
@media (max-width:520px){.footer-grid{grid-template-columns:1fr}}
.site-footer h4{color:#fff;font-family:var(--font-display);font-size:14px;
  margin-bottom:var(--s3);letter-spacing:.02em}
.site-footer a{color:#B9C7DB;display:block;padding:4px 0}
.site-footer a:hover{color:#fff}
.footer-brand{display:flex;align-items:center;gap:10px;color:#fff;
  font-family:var(--font-display);font-weight:800;font-size:18px;
  margin-bottom:var(--s3)}
.footer-bottom{border-top:1px solid rgba(255,255,255,.14);margin-top:var(--s8);
  padding-top:var(--s5);display:flex;justify-content:space-between;gap:var(--s3);
  flex-wrap:wrap;font-size:13px;color:#8FA3BE}

/* ---------- DESIGN SYSTEM DEMO ---------- */
.ds-section{margin:var(--s8) 0}
.ds-swatches{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s3)}
.ds-swatch{border:1px solid var(--line);border-radius:var(--r);overflow:hidden;
  background:var(--surface)}
.ds-swatch .chip{height:64px}
.ds-swatch .meta{padding:10px 12px;font-size:12px}
.ds-swatch .meta b{display:block;font-family:var(--font-mono);font-size:11px}
.ds-grid{display:flex;flex-wrap:wrap;gap:var(--s3);align-items:center}

/* ---------- FASE 2: BUSCA / SEO ---------- */
.breadcrumbs{display:flex;flex-wrap:wrap;gap:8px;align-items:center;
  font-size:13px;color:var(--ink-3)}
.breadcrumbs a{color:var(--ink-2)}
.breadcrumbs span[aria-current]{color:var(--navy);font-weight:600}

.hero-quick{display:flex;gap:var(--s2);margin-top:var(--s4);flex-wrap:wrap}
.quick-chip{background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.25);
  color:#fff;border-radius:var(--r-full);padding:8px 16px;font-size:13.5px;
  font-weight:600;transition:background .18s var(--ease)}
.quick-chip:hover{background:rgba(255,255,255,.22);text-decoration:none}

.esp-chips{display:flex;flex-wrap:wrap;gap:var(--s2);margin-bottom:var(--s6)}
.spec-lg{padding:8px 16px;font-size:13.5px}
.spec-lg:hover{background:var(--blue-tech);color:#fff;text-decoration:none}

.busca-wrap{display:grid;grid-template-columns:280px 1fr;gap:var(--s5);
  align-items:start;margin-top:var(--s5)}
.filtros-sheet{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-1)}
.filtros-sheet summary{list-style:none;cursor:pointer}
.filtros-sheet summary::-webkit-details-marker{display:none}
.filtros-toggle{display:none;width:100%}
.filtros-form{padding:var(--s5)}
.filtros-nota{font-size:11.5px;color:var(--ink-3);margin-top:6px;line-height:1.5}
.doc-list{display:grid;gap:var(--s4)}
.doc-list .doc-card:hover{transform:none}
@media (max-width:860px){
  .busca-wrap{grid-template-columns:1fr}
  .filtros-sheet{border:0;box-shadow:none;background:transparent}
  .filtros-sheet:not([open]) .filtros-form{display:none}
  .filtros-toggle{display:inline-flex}
  .filtros-form{background:var(--surface);border:1px solid var(--line);
    border-radius:var(--r-lg);box-shadow:var(--shadow-2);margin-top:var(--s2)}
}

/* ---------- FASE 3: PERFIL PREMIUM ---------- */
.cred-header{display:grid;grid-template-columns:auto 1fr auto;gap:var(--s5);
  align-items:start;background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:var(--s6);
  margin-top:var(--s4)}
.cred-badges{display:flex;flex-wrap:wrap;gap:var(--s2);margin-top:var(--s3);
  align-items:center}
.modal-chip{background:var(--bg);border:1px solid var(--line);color:var(--ink-2);
  border-radius:var(--r-full);padding:4px 12px;font-size:12.5px;font-weight:500}
.cred-cta{display:flex;flex-direction:column;gap:var(--s2);min-width:220px}
.primeira-vaga{font-size:13px;color:var(--ink-2);text-align:center}
.primeira-vaga strong{color:var(--success)}
@media (max-width:820px){
  .cred-header{grid-template-columns:auto 1fr}
  .cred-cta{grid-column:1/-1;min-width:0}
}

/* Agenda à ESQUERDA (fixa 360px), conteúdo à direita — pedido do dono 2026-08-24 */
.perfil-grid{display:grid;grid-template-columns:360px 1fr;gap:var(--s5);
  align-items:start;margin-top:var(--s5)}
.perfil-grid .agenda-card{order:-1}
@media (max-width:960px){.perfil-grid{grid-template-columns:1fr}}
.perfil-sec{background:var(--surface);border:1px solid var(--line);
  border-radius:var(--r-lg);box-shadow:var(--shadow-1);padding:var(--s6);
  margin-bottom:var(--s4)}
.perfil-sec h2{font-size:17px;margin-bottom:var(--s3)}
.perfil-sec p{color:var(--ink-2);font-size:14.5px}
.perfil-lista{margin-left:18px;color:var(--ink-2);font-size:14.5px;
  display:grid;gap:6px}
.week-grid-mini{grid-template-columns:repeat(7,1fr)}
@media (max-width:960px){.week-grid-mini{grid-template-columns:repeat(4,1fr)}}
@media (max-width:560px){.week-grid-mini{grid-template-columns:repeat(2,1fr)}}

/* vídeo (facade) */
.video-facade{position:relative;border-radius:var(--r-lg);overflow:hidden;
  aspect-ratio:16/9;background:var(--navy)}
.video-facade img{width:100%;height:100%;object-fit:cover;opacity:.85}
.video-facade iframe{width:100%;height:100%;border:0}
.video-play{position:absolute;inset:0;display:grid;place-items:center;
  color:#fff;font-size:26px;text-decoration:none}
.video-play::before{content:"";position:absolute;width:72px;height:72px;
  border-radius:50%;background:rgba(47,128,237,.92);transition:transform .2s var(--ease)}
.video-play:hover::before{transform:scale(1.08)}
.video-play{z-index:1}

/* galeria */
.galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));
  gap:var(--s3)}
.galeria-item{border-radius:var(--r);overflow:hidden;border:1px solid var(--line);
  background:var(--bg);margin:0}
.galeria-item img{width:100%;aspect-ratio:4/3;object-fit:cover}
.galeria-item figcaption{padding:8px 12px;font-size:12.5px;color:var(--ink-2)}

/* avaliações */
.rev-summary{display:grid;grid-template-columns:auto 1fr;gap:var(--s6);
  align-items:center;padding-bottom:var(--s4);border-bottom:1px solid var(--line);
  margin-bottom:var(--s4)}
@media (max-width:560px){.rev-summary{grid-template-columns:1fr}}
.rev-media{text-align:center}
.rev-nota{font-size:42px;font-weight:700;color:var(--navy);line-height:1}
.rev-summary .stars{color:#F59E0B;letter-spacing:2px}
.rev-cats{display:grid;gap:var(--s2)}
.rev-cat{display:grid;grid-template-columns:110px 1fr auto;gap:var(--s3);
  align-items:center;font-size:13.5px;color:var(--ink-2)}
.rev-bar{height:8px;background:var(--bg);border-radius:var(--r-full);overflow:hidden}
.rev-bar div{height:100%;background:var(--blue-tech);border-radius:var(--r-full)}
.rev-card{padding:var(--s4) 0;border-bottom:1px solid var(--line)}
.rev-card:last-child{border-bottom:0}
.rev-head{display:flex;gap:var(--s3);align-items:center;margin-bottom:var(--s2);
  flex-wrap:wrap}
.rev-card .stars{color:#F59E0B}
.rev-resposta{background:var(--bg);border-left:3px solid var(--blue-tech);
  border-radius:0 var(--r-sm) var(--r-sm) 0;padding:10px 14px;margin-top:var(--s2);
  font-size:13.5px;color:var(--ink-2)}

/* CTA fixo mobile */
.sticky-cta{display:none}
@media (max-width:820px){
  .sticky-cta{display:block;position:fixed;bottom:0;left:0;right:0;z-index:60;
    background:rgba(255,255,255,.96);border-top:1px solid var(--line);
    padding:10px var(--s4) calc(10px + env(safe-area-inset-bottom,0px));
    backdrop-filter:blur(8px)}
  body{padding-bottom:76px}
}

/* ---------- FASE 4: lista de espera ---------- */
.espera-form{margin-top:var(--s4);padding:var(--s4);background:var(--blue-soft);
  border:1px solid #CBE1FA;border-radius:var(--r)}
.espera-form input[type=text],.espera-form input[type=tel]{background:#fff}

/* botão WhatsApp (verde da marca WhatsApp — exceção deliberada) */
.btn-wa{background:#25D366;color:#fff}
.btn-wa:hover{background:#1EBE59;color:#fff}

/* ═══ FASE 6 — avaliações (form público /avaliar) ═══ */
.rate-field{border:0;padding:0;margin:0 0 var(--s3)}
.rate-field legend{font-size:14px;font-weight:600;color:var(--navy);margin-bottom:var(--s1)}
.rate-field .req{color:var(--blue-tech)}
.rate-field-sm legend{font-size:13px;font-weight:500}
/* estrelas: radios invisíveis + labels; row-reverse pro hover "preencher da esquerda" */
.stars-input{display:inline-flex;flex-direction:row-reverse;gap:2px}
.stars-input input{position:absolute;opacity:0;width:1px;height:1px}
.stars-input label{font-size:32px;line-height:1;color:var(--line-strong,#CBD5E1);cursor:pointer;transition:color .12s;user-select:none}
.stars-input-sm label{font-size:22px}
.stars-input label:hover,.stars-input label:hover ~ label,
.stars-input input:checked ~ label{color:#F59E0B}
.stars-input input:focus-visible + label{outline:2px solid var(--blue-tech);outline-offset:2px;border-radius:4px}
.rate-extra{margin:var(--s3) 0}
.rate-extra summary{font-size:14px;color:var(--blue-tech);cursor:pointer;font-weight:500;margin-bottom:var(--s2)}
.rate-extra[open] summary{margin-bottom:var(--s3)}

/* ═══ Vídeos do perfil (YouTube + Instagram) ═══ */
/* Vídeos de apresentação em CASCATA (um embaixo do outro) — pedido do dono 2026-08-24 */
.videos-row{display:flex;flex-direction:column;gap:var(--s4);max-width:520px}
.videos-row .insta-embed{max-width:100%}
.insta-embed{position:relative;max-width:400px}
.insta-embed iframe{width:100%;height:480px;border:1px solid var(--line);border-radius:var(--r-lg);background:#fff}
.insta-link{display:inline-block;margin-top:var(--s1);font-size:13px;color:var(--blue-tech)}

/* resumo sem categorias (2026-08-23): bloco único, sem grid de 2 colunas */
.rev-summary-solo{grid-template-columns:1fr;justify-items:start}
.rev-summary-solo .rev-media{text-align:left}

/* ═══ Agenda do perfil: "+N horários" por dia (2026-08-23) ═══ */
.slots-more-t{position:absolute;opacity:0;pointer-events:none}
.slots-more-t:not(:checked)+.slots-extra{display:none}
.slot-more{display:block;background:transparent;border:1px dashed #CBE1FA;
  color:var(--blue-tech);font-weight:600;cursor:pointer;text-align:center;user-select:none}
.slot-more:hover{background:var(--blue-soft)}
.slots-more-t:checked~.slot-more .more{display:none}
.slots-more-t:not(:checked)~.slot-more .less{display:none}
.slots-more-t:focus-visible~.slot-more{outline:3px solid var(--blue-tech);outline-offset:2px}

/* ═══ Fix grid-blowout da agenda lateral (2026-08-23): colunas 1fr não
   encolhem abaixo do conteúdo — minmax(0,1fr) + variante compacta no
   desktop (sidebar de 380px precisa de slots enxutos pra 7 colunas). ═══ */
.week-grid-mini{grid-template-columns:repeat(7,minmax(0,1fr))}
@media (min-width:961px){
  .week-grid-mini{gap:4px}
  .week-grid-mini .day-col{padding:6px 3px;min-height:100px}
  .week-grid-mini .day-col .slot{padding:6px 1px;font-size:11.5px;
    border-radius:6px;letter-spacing:-.02em;margin-bottom:4px}
  .week-grid-mini .day-head{font-size:11px}
  .week-grid-mini .day-head small{font-size:9.5px}
}

/* ═══ VITRINE MÉDICA — público (Fase 3) ═══ */
.vt-header{display:flex;align-items:center;gap:var(--s4);margin:var(--s5) 0;flex-wrap:wrap}
.vt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:var(--s4);margin-top:var(--s4)}
.vt-grid-mini{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));margin-top:var(--s3)}
.vt-card{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;transition:box-shadow .18s var(--ease),transform .18s var(--ease)}
.vt-card:hover{box-shadow:var(--shadow-2);transform:translateY(-2px);text-decoration:none}
.vt-thumb{position:relative;aspect-ratio:1/1;background:var(--blue-soft);overflow:hidden}
.vt-thumb img{width:100%;height:100%;object-fit:cover;display:block}
.vt-thumb-fallback{display:grid;place-items:center;height:100%;font-size:40px;color:var(--blue)}
.vt-badge{position:absolute;top:8px;right:8px;background:rgba(11,31,58,.82);color:#fff;
  font-size:11px;font-weight:600;padding:3px 9px;border-radius:var(--r-full)}
.vt-card-body{padding:var(--s3) var(--s4)}
.vt-card-body h3{font-size:14.5px;color:var(--navy);margin-bottom:2px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.vt-pager{display:flex;justify-content:center;gap:var(--s3);margin-top:var(--s6)}
/* página do post */
.vt-post{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  padding:var(--s6);margin-top:var(--s4)}
.vt-post-autor{display:flex;align-items:center;gap:var(--s3);padding-bottom:var(--s4);
  border-bottom:1px solid var(--line);margin-bottom:var(--s4);flex-wrap:wrap}
.vt-autor-nome{font-family:var(--font-display);font-weight:700;color:var(--navy);font-size:16px}
.vt-post-titulo{font-size:24px;margin-bottom:var(--s4)}
.vt-post-video{margin-bottom:var(--s4)}
.vt-post-fotos{display:grid;gap:var(--s3);margin-bottom:var(--s4)}
.vt-post-fotos img{width:100%;height:auto;border-radius:var(--r);border:1px solid var(--line)}
.vt-post-fotos-multi{grid-template-columns:repeat(2,1fr)}
@media (max-width:560px){.vt-post-fotos-multi{grid-template-columns:1fr}}
.vt-post-corpo{color:var(--ink);font-size:15.5px;line-height:1.75}
.vt-post-corpo p{margin-bottom:var(--s3)}
.vt-post-corpo ul,.vt-post-corpo ol{margin:0 0 var(--s3) 20px}
.vt-post-rodape{display:flex;gap:var(--s3);flex-wrap:wrap;margin-top:var(--s5);
  padding-top:var(--s4);border-top:1px solid var(--line)}

/* barra de share da vitrine (Fase 4) */
.vt-share{display:flex;align-items:center;gap:var(--s2);flex-wrap:wrap;
  margin-top:var(--s5);padding-top:var(--s4);border-top:1px solid var(--line)}
.vt-share-rotulo{font-size:13px;color:var(--ink-2);font-weight:600;margin-right:var(--s1)}
.vt-share .btn{padding:9px 16px;font-size:13.5px}
.vt-share-fb{background:#1877F2;color:#fff}
.vt-share-fb:hover{background:#0f6ae0;color:#fff}

/* like da vitrine (Fase 4) */
.vt-acoes{margin-top:var(--s5)}
.vt-like{display:inline-flex;align-items:center;gap:8px;background:var(--surface);
  border:1px solid var(--line);border-radius:var(--r-full);padding:9px 18px;
  font:inherit;font-weight:600;color:var(--ink-2);cursor:pointer;
  transition:border-color .15s var(--ease),color .15s var(--ease),transform .1s var(--ease)}
.vt-like:hover{border-color:#F87171;color:#DC2626}
.vt-like:active{transform:scale(.96)}
.vt-like .vt-like-ico{font-size:18px;line-height:1}
.vt-like.is-liked{border-color:#FCA5A5;background:#FEF2F2;color:#DC2626}
.vt-like[disabled]{opacity:.6;pointer-events:none}

/* denúncia da vitrine (Fase 5) — discreta */
.vt-denuncia{margin-top:var(--s4);font-size:13px}
.vt-denuncia summary{color:var(--ink-3);cursor:pointer;user-select:none}
.vt-denuncia summary:hover{color:var(--error)}
.vt-denuncia form{display:grid;gap:var(--s2);margin-top:var(--s3);max-width:440px}
.vt-denuncia select,.vt-denuncia textarea{border:1px solid var(--line);border-radius:var(--r-sm);
  padding:9px 12px;font:inherit;font-size:14px;background:var(--surface)}
.vt-denuncia .btn{justify-self:start;padding:8px 16px;font-size:13.5px}

/* ═══ FEED da vitrine — coluna única estilo Instagram/Facebook ═══ */
.feed-head{margin:var(--s4) 0 var(--s5)}
.feed-col{max-width:600px;margin:0 auto;display:flex;flex-direction:column;gap:var(--s5)}
.fc{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);
  overflow:hidden;box-shadow:var(--shadow-1)}
.fc-head{display:flex;align-items:center;gap:var(--s3);padding:var(--s3) var(--s4)}
.fc-autor{display:flex;align-items:center;gap:var(--s3);flex:1;min-width:0}
.fc-autor:hover{text-decoration:none}
.fc-autor .avatar{width:44px;height:44px;font-size:16px}
.fc-nome{display:block;font-family:var(--font-display);font-weight:700;color:var(--navy);font-size:15px;line-height:1.2}
.fc-crm{display:block;font-size:12px;color:var(--ink-2)}
.fc-data{font-size:12px;color:var(--ink-3);flex-shrink:0}
.fc-media{display:block;position:relative;background:#000;line-height:0}
.fc-media img{width:100%;height:auto;max-height:640px;object-fit:cover}
.fc-media .video-facade,.fc-media .insta-embed{background:#000}
.fc-media .insta-embed{max-width:100%;line-height:normal}
.fc-media .insta-embed iframe{height:560px}
.fc-multi{position:absolute;top:10px;right:10px;background:rgba(11,31,58,.82);color:#fff;
  font-size:12px;font-weight:600;padding:3px 10px;border-radius:var(--r-full)}
.fc-body{padding:var(--s3) var(--s4) var(--s4)}
.fc-titulo{font-size:17px;margin-bottom:var(--s2)}
.fc-titulo a{color:var(--navy)}
.fc-titulo a:hover{text-decoration:none;color:var(--blue-tech)}
.fc-texto{color:var(--ink);font-size:14.5px;line-height:1.6}
.fc-mais{color:var(--ink-3);font-size:13.5px}
.fc-acoes{display:flex;align-items:center;gap:var(--s3);margin-top:var(--s3);
  padding-top:var(--s3);border-top:1px solid var(--line)}
.fc-like{display:inline-flex;align-items:center;gap:6px;background:none;border:0;
  font:inherit;font-weight:600;color:var(--ink-2);cursor:pointer;padding:4px}
.fc-like .vt-like-ico{font-size:18px}
.fc-like:hover,.fc-like.is-liked{color:#DC2626}
.fc-coment{color:var(--ink-2);font-weight:600;font-size:14px}
.fc-wa{margin-left:auto;padding:8px 16px;font-size:13.5px}

/* feed dentro do perfil (coluna direita) — cascata preenchendo a largura */
.feed-col-perfil{max-width:none;margin:0;gap:var(--s4)}
.feed-col-perfil .fc-media img{max-height:520px}
.feed-col-perfil .insta-embed iframe{height:520px}

/* seção "Conheça a profissional" — descrição + 2 vídeos rotulados em CASCATA */
.videos-desc{color:var(--ink-2);font-size:14.5px;margin-bottom:var(--s4);max-width:560px}
.video-bloco{display:flex;flex-direction:column;gap:var(--s2)}
.video-rotulo{font-family:var(--font-display);font-weight:700;color:var(--navy);font-size:14px}
