/* Dra. Márcia Costa — fontes auto-hospedadas, tokens do brand book e componentes das páginas
   /agenda, /cursos, /politica-de-privacidade, /404 e do /admin.
   A home (index.html) e o Método (metodo.html) usam só as fontes e as classes utilitárias daqui;
   o restante do layout delas está no próprio HTML, como aprovado no canvas de design. */

/* 1. Fontes (npm run fonts) */
@font-face{font-family:'Allura';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/allura-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Libre Caslon Display';font-style:normal;font-weight:400;font-display:swap;src:url(../fonts/libre-caslon-display-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:300 500;font-display:swap;src:url(../fonts/montserrat-normal-latin.woff2) format('woff2');unicode-range:U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD}

/* 2. Tokens (brand book, seção 3.4) */
:root{
  --marmore:#F5F1EA;--areia:#EAE1D3;--card:#FBF9F5;--linha:#DDD2C1;
  --ouro:#A07B4C;--bronze:#7A5A33;--champanhe:#D9C3A0;
  --noite:#1C2230;--noite-2:#2A3245;--noite-linha:#3A4256;
  --grafite:#2B2B2E;--texto:#4A4744;--texto-2:#5E5A55;--texto-escuro:#CFC8BD;
  --lotus:#5E4670;--lotus-claro:#C9B4D6;--ok:#2F6B4F;--erro:#9B2C2C;
  --serif:'Libre Caslon Display',Georgia,'Times New Roman',serif;
  --sans:'Montserrat',Helvetica,Arial,sans-serif;
  --script:'Allura',cursive;
  --container:1200px;
}

/* 3. Base */
*,*::before,*::after{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0}
img{max-width:100%;height:auto}
.mc-page{background:var(--marmore);color:var(--grafite);font:300 16px/1.7 var(--sans);min-height:100vh;display:flex;flex-direction:column}
.mc-page main{flex:1 0 auto}
.mc-page a{color:var(--bronze)}
.mc-page a:hover{color:var(--noite)}
.mc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.mc-skip{position:absolute;left:16px;top:-80px;z-index:50;padding:12px 18px;background:var(--noite);color:var(--marmore)!important;border-radius:999px;text-decoration:none;font-size:14px}
.mc-skip:focus{top:12px}
:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
.mc-container{max-width:var(--container);margin:0 auto;padding:0 24px}

/* 4. Tipografia */
.mc-eyebrow{margin:0;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--bronze);font-weight:500}
.mc-filete{width:72px;height:1px;background:var(--ouro);border:0;margin:0}
.mc-h1{margin:0;font:400 64px/1.04 var(--serif);letter-spacing:-.01em}
.mc-h2{margin:0;font:400 48px/1.06 var(--serif)}
.mc-h3{margin:0;font:400 26px/1.15 var(--serif)}
.mc-lead{margin:0;font-size:18px;color:var(--texto);max-width:34em}
.mc-ouro{color:var(--ouro)}
@media (max-width:760px){.mc-h1{font-size:42px}.mc-h2{font-size:34px}}

/* 5. Botões (pílula, 52–56 px) */
.mc-btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:0 30px;border-radius:999px;border:1px solid var(--noite);background:var(--noite);color:var(--marmore)!important;text-decoration:none;font:500 12.5px/1.2 var(--sans);letter-spacing:.14em;text-transform:uppercase;cursor:pointer;text-align:center}
.mc-btn:hover{background:var(--noite-2)}
.mc-btn--sec{background:transparent;color:var(--noite)!important}
.mc-btn--sec:hover{background:var(--noite);color:var(--marmore)!important}
.mc-btn--champ{background:var(--champanhe);border-color:var(--champanhe);color:var(--noite)!important}
.mc-btn--champ:hover{background:#E6D5B8}
.mc-btn--sm{min-height:46px;padding:0 22px;font-size:12px}
.mc-btn[disabled],.mc-btn[aria-busy=true]{opacity:.55;cursor:progress}
.mc-link{background:none;border:0;padding:0;min-height:44px;font:400 14px/1.4 var(--sans);color:var(--bronze);text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.mc-link:hover{color:var(--noite)}
.mc-link[disabled]{color:var(--texto-2);cursor:default;text-decoration:none}

/* 6. Cabeçalho e rodapé das páginas internas */
.mc-header{position:sticky;top:0;z-index:5;background:rgba(245,241,234,.94);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-bottom:1px solid var(--linha)}
.mc-header__inner{max-width:var(--container);margin:0 auto;padding:0 24px;min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap}
.mc-brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--grafite)!important}
.mc-brand__m{font:400 52px/1 var(--script);color:var(--ouro);margin-top:-8px}
.mc-brand__txt{display:flex;flex-direction:column;line-height:1.25}
.mc-brand__name{font:400 18px/1.25 var(--serif);letter-spacing:.16em}
.mc-brand__desc{font-size:10px;letter-spacing:.24em;text-transform:uppercase;color:var(--texto-2)}
.mc-nav{display:flex;gap:8px 28px;flex-wrap:wrap;font-size:12px;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.mc-nav a{color:var(--grafite);text-decoration:none;min-height:44px;display:inline-flex;align-items:center}
.mc-nav a[aria-current=page]{color:var(--bronze);box-shadow:inset 0 -1px var(--ouro)}
@media (max-width:760px){.mc-nav{display:none}.mc-header__inner{min-height:72px}.mc-brand__m{font-size:44px}.mc-brand__name{font-size:15px}.mc-header .mc-btn{min-height:46px;padding:0 18px}}
@media (max-width:420px){.mc-brand__desc{display:none}}

.mc-footer{background:var(--noite);color:var(--texto-escuro);padding:56px 0 36px;font-size:14px}
.mc-footer a{color:var(--marmore)}
.mc-footer__grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:28px}
.mc-footer__title{margin:0 0 6px;font:500 11px/1.4 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--champanhe)}
.mc-footer__col{display:flex;flex-direction:column;gap:6px}
.mc-footer__m{font:400 48px/.8 var(--script);color:var(--champanhe)}
.mc-footer__name{font:400 18px/1.3 var(--serif);letter-spacing:.14em;color:var(--marmore)}
.mc-footer__legal{margin-top:36px;padding-top:24px;border-top:1px solid var(--noite-linha);font-size:12px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px}

/* 7. Seções */
.mc-sec{padding:96px 0 112px}
.mc-sec--areia{background:var(--areia)}
@media (max-width:760px){.mc-sec{padding:56px 0 72px}}
.mc-intro{display:flex;flex-direction:column;gap:20px}
.mc-notes{list-style:none;margin:8px 0 0;padding:0;display:flex;flex-direction:column}
.mc-notes li{padding:14px 0;border-top:1px solid var(--linha);display:flex;gap:16px;color:var(--texto)}
.mc-notes li:last-child{border-bottom:1px solid var(--linha)}
.mc-notes li::before{content:'';flex:0 0 6px;height:6px;margin-top:11px;border-radius:50%;background:var(--ouro)}

/* 8. Agenda online — todos os estados do cartão na mesma célula (CLS 0) */
.mc-booking{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:56px;align-items:start}
@media (max-width:900px){.mc-booking{grid-template-columns:minmax(0,1fr);gap:40px}}
.mc-booking__card{display:grid;background:var(--card);border:1px solid var(--linha);border-radius:6px;padding:36px 32px}
@media (max-width:520px){.mc-booking__card{padding:28px 20px}}
.mc-booking__card>*{grid-area:1/1;min-width:0;visibility:hidden}
.mc-booking__card[data-state=fallback]>.mc-booking__fallback,
.mc-booking__card[data-state=register]>.mc-booking__register,
.mc-booking__card[data-state=login]>.mc-booking__login,
.mc-booking__card[data-state=verify]>.mc-booking__verify,
.mc-booking__card[data-state=form]>.mc-booking__book,
.mc-booking__card[data-state=success]>.mc-booking__success{visibility:visible}
.mc-booking__form,.mc-booking__fallback,.mc-booking__success{display:flex;flex-direction:column;gap:18px}
.mc-booking__title{margin:0;font:400 28px/1.15 var(--serif);color:var(--grafite)}
.mc-booking__text{margin:0;color:var(--texto);font-size:15px}
.mc-booking__status{margin:0;font-size:15px;color:var(--bronze);min-height:1.5em}
.mc-booking__summary{margin:0;display:grid;grid-template-columns:auto 1fr;gap:10px 20px;border-top:1px solid var(--linha);padding-top:16px}
.mc-booking__summary dt{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);padding-top:3px}
.mc-booking__summary dd{margin:0}
.mc-booking__address{margin:0;font-size:14px;color:var(--texto-2)}

.mc-auth__tabs{display:flex;border-bottom:1px solid var(--linha)}
.mc-auth__tab{flex:1;min-height:48px;background:none;border:0;border-bottom:2px solid transparent;font:400 12px/1 var(--sans);letter-spacing:.16em;text-transform:uppercase;color:var(--texto-2);cursor:pointer}
.mc-auth__tab[aria-pressed=true]{color:var(--noite);border-bottom-color:var(--noite)}
.mc-auth__head{display:flex;flex-direction:column;gap:6px}
.mc-auth__actions{display:flex;flex-wrap:wrap;gap:4px 24px}
.mc-auth__user{display:flex;justify-content:space-between;align-items:center;gap:12px;border-bottom:1px solid var(--linha);padding-bottom:8px}
.mc-auth__hello{margin:0;font-size:15px}
.mc-auth__hello strong{font-weight:500}

.mc-field{display:flex;flex-direction:column;gap:6px;min-width:0;border:0;margin:0;padding:0}
.mc-field>label,.mc-field>legend{font-size:12px;letter-spacing:.18em;text-transform:uppercase;color:var(--bronze);font-weight:500;padding:0}
.mc-field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:18px}
.mc-page :is(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=date],input[type=search],input[type=number],input[type=time],select,textarea){
  width:100%;min-height:52px;padding:0 16px;font:300 16px/1.3 var(--sans);color:var(--grafite);background:#fff;border:1px solid var(--linha);border-radius:6px}
.mc-page textarea{padding:12px 16px;min-height:96px;resize:vertical}
.mc-page :is(input,select,textarea):focus-visible{outline:2px solid var(--noite);outline-offset:0;border-color:var(--noite)}
.mc-page [aria-invalid=true]{border-color:var(--erro)!important}
.mc-field__hint{margin:0;font-size:13px;color:var(--texto-2)}
.mc-field__error{margin:0;font-size:13px;color:var(--erro);font-weight:400}
.mc-field__error:empty{display:none}
.mc-pass{position:relative}
.mc-pass input{padding-right:96px!important}
.mc-pass__toggle{position:absolute;right:6px;top:50%;transform:translateY(-50%);min-height:40px;padding:0 12px;border:0;background:none;font:400 12px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--bronze);cursor:pointer}
.mc-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.mc-check{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--texto);cursor:pointer}
.mc-check input{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:var(--noite)}
.mc-code{font:400 28px/1 var(--serif)!important;letter-spacing:.4em;text-align:center}
.mc-slots__list{display:grid;grid-template-columns:repeat(auto-fill,minmax(88px,1fr));gap:8px}
.mc-slots__list:empty{display:none}
.mc-slot__input{position:absolute;opacity:0;width:1px;height:1px}
.mc-slot{display:flex;align-items:center;justify-content:center;min-height:46px;border:1px solid var(--linha);border-radius:999px;background:#fff;cursor:pointer;font-size:15px}
.mc-slot:hover{border-color:var(--noite)}
.mc-slot__input:checked+.mc-slot{background:var(--noite);border-color:var(--noite);color:var(--marmore)}
.mc-slot__input:focus-visible+.mc-slot{outline:2px solid var(--bronze);outline-offset:2px}

/* 9. Catálogo de cursos */
.mc-cursos{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:20px}
.mc-curso{background:var(--card);border:1px solid var(--linha);border-radius:6px;padding:32px;display:flex;flex-direction:column;gap:14px;color:var(--grafite);min-width:0}
.mc-curso__tags{display:flex;gap:6px;flex-wrap:wrap}
.mc-tag{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;border:1px solid var(--linha);color:var(--texto-2);border-radius:999px;padding:4px 10px}
.mc-tag--aberta{border-color:var(--ok);color:var(--ok)}
.mc-tag--embreve{border-color:var(--lotus);color:var(--lotus)}
.mc-tag--esgotada{border-color:var(--erro);color:var(--erro)}
.mc-curso__sub{margin:0;color:var(--bronze);font-size:15px}
.mc-curso__desc{margin:0;color:var(--texto);font-size:14px}
.mc-curso__inclui{margin:0;padding-left:18px;color:var(--texto);font-size:14px}
.mc-curso__turma{margin:0;font-size:14px;color:var(--texto)}
.mc-curso__preco{border-top:1px solid var(--linha);padding-top:14px;display:flex;flex-direction:column;margin-top:auto}
.mc-curso__de{text-decoration:line-through;color:var(--texto-2);font-size:13px}
.mc-curso__por{font:400 30px/1.2 var(--serif);color:var(--noite)}
.mc-curso__por--consulta{font-size:22px}
.mc-curso__parc{font-size:13px;color:var(--texto-2)}
.mc-cursos__status{margin:0;color:var(--texto)}
.mc-cursos__status:empty{display:none}

/* 10. Texto longo (política de privacidade) */
.mc-prose{max-width:760px}
.mc-prose h2{font:400 30px/1.2 var(--serif);margin:48px 0 12px}
.mc-prose p,.mc-prose li{color:var(--texto)}
.mc-prose ul{padding-left:20px}

/* 11. Botão flutuante de WhatsApp (só no celular) */
.mc-fab{position:fixed;right:18px;bottom:18px;z-index:10;width:58px;height:58px;border-radius:999px;background:var(--noite);display:none;align-items:center;justify-content:center;box-shadow:0 6px 20px rgba(0,0,0,.25)}
@media (max-width:760px){.mc-fab{display:flex}}
.mc-field>label.mc-check{font:300 14px/1.6 var(--sans);letter-spacing:0;text-transform:none;color:var(--texto)}
