/* Ajustes comuns para as páginas da clínica, incluindo o Clube do Botox. */
.header-inner > *, .hero-grid > *, .doctor-grid > *, .clinic-grid > *, .faq-grid > *, .offers-grid > *, .benefits-grid > * { min-width: 0; }
.button { overflow-wrap: anywhere; }
.nav a { min-height: 44px; }
.section-heading h2, .hero-copy h1, .doctor-copy h2 { overflow-wrap: break-word; }
.benefit h3 { overflow-wrap: anywhere; hyphens: auto; }
.benefit-icon svg { width:25px; height:25px; display:block; }
.developer-credit { margin-block:18px 0; color:var(--muted); font-size:10px; text-align:center; }
.developer-credit a { display:inline-flex; align-items:center; min-height:32px; color:var(--gold-dark); text-decoration:none; font-weight:650; }
.developer-credit a:hover { text-decoration:underline; }
.black-friday-banner { position:sticky; top:var(--site-header-height,79px); z-index:9; isolation:isolate; overflow:hidden; display:grid; align-items:center; height:calc(41px + clamp(15.6px,3.18vw,43.2px)); padding:0; border-block:1px solid #b99750; background:#b99750; transition:background-color .22s ease; }
body:has(.black-friday-banner) section[id]:not(.black-friday-banner) { scroll-margin-top:calc(var(--site-header-height,79px) + var(--black-friday-height,168px) + 18px); }
@media(max-width:680px) { .black-friday-banner { top:var(--site-header-height,69px); } }
.black-friday-banner::before { position:absolute; inset:0; z-index:-1; content:''; background-image:linear-gradient(#44331520,#44331520),var(--gold-mask); background-size:cover,260% 180%; background-position:center,0% 50%; animation:mask-button-flow var(--mask-speed) ease-in-out infinite alternate; transition:opacity .22s ease; }
.black-friday-headline { display:flex; align-items:baseline; justify-content:center; gap:.24em; margin:0; color:#252420; font:900 clamp(24.7px,5.035vw,68.4px)/1 MontserratLocal,Montserrat,Arial,sans-serif; letter-spacing:-.055em; text-transform:uppercase; text-align:center; }
.black-friday-word { display:inline-flex; white-space:nowrap; }
.black-friday-letter { display:inline-block; color:inherit; }
.black-friday-space { width:.22em; }
.black-friday-headline { position:relative; z-index:1; transform-origin:center; }
.black-friday-word { transform-origin:center; }
.black-friday-wipe { display:block; position:absolute; z-index:2; pointer-events:none; border-radius:50%; opacity:0; transform:translate(-50%,-50%) scale(0); }
.black-friday-wipe[data-palette="dark"] { background:#252420; }
.black-friday-wipe[data-palette="white"] { background:#fffefa; }
.black-friday-wipe[data-palette="gold"] { background:#b99750 var(--gold-mask) center/cover; }
.black-friday-banner,.black-friday-banner::before { transition:none; }
.black-friday-middle { color:#fffefa; }
.black-friday-banner[data-theme="dark"] { background:#252420; }
.black-friday-banner[data-theme="dark"]::before,.black-friday-banner[data-theme="white"]::before { opacity:0; }
.black-friday-banner[data-theme="dark"] .black-friday-headline { color:#d4b46d; }
.black-friday-banner[data-theme="dark"] .black-friday-middle { color:#fffefa; }
.black-friday-banner[data-theme="dark"] .black-friday-word:not(.black-friday-middle) .black-friday-letter { background:var(--gold-mask) center/260% 180%; background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; animation:mask-text-flow var(--mask-speed) ease-in-out infinite alternate; }
.black-friday-banner[data-theme="white"] { background:#fffefa; }
.black-friday-banner[data-theme="white"] .black-friday-headline { color:#252420; }
.black-friday-banner[data-theme="white"] .black-friday-middle { color:#967132; }
.black-friday-banner[data-text-theme="gold"] .black-friday-headline,.black-friday-banner[data-text-theme="white"] .black-friday-headline { color:#252420; }
.black-friday-banner[data-text-theme="gold"] .black-friday-middle { color:#fffefa; }
.black-friday-banner[data-text-theme="white"] .black-friday-middle { color:#967132; }
.black-friday-banner[data-text-theme] .black-friday-word:not(.black-friday-middle) .black-friday-letter { background:none; color:inherit; -webkit-text-fill-color:currentColor; animation:none; }
.black-friday-banner[data-text-theme="dark"] .black-friday-headline { color:#d4b46d; }
.black-friday-banner[data-text-theme="dark"] .black-friday-middle { color:#fffefa; }
.black-friday-banner[data-text-theme="dark"] .black-friday-word:not(.black-friday-middle) .black-friday-letter { background:var(--gold-mask) center/260% 180%; background-clip:text; -webkit-background-clip:text; color:transparent; -webkit-text-fill-color:transparent; }
@media(max-width:680px) { .black-friday-banner { height:calc(31px + clamp(16.2px,3.78vw,25.2px)); } .black-friday-headline { flex-wrap:wrap; column-gap:.25em; row-gap:.08em; font-size:clamp(25.65px,5.985vw,39.9px); } }
@media(max-width:480px) { .black-friday-banner { height:calc(31px + clamp(29.76px,7.812vw,37.5px)); } }
@media(max-width:380px) { .black-friday-headline { font-size:clamp(22.8px,6.65vw,25.65px); } .black-friday-word:last-child { flex-basis:100%; justify-content:center; } }
@media(prefers-reduced-motion:reduce) { .black-friday-banner,.black-friday-banner::before { transition:none; } }
.clinic-actions { grid-template-columns: 1fr; }
.clinic-actions .button { min-height: 52px; height: auto; }
.clinic-mini-map { height: 180px; }
.clinic-gallery { align-self: center; }
.procedure-offer-value { margin: 15px 0 5px; font-size: clamp(40px,5vw,60px); font-weight: 850; line-height: 1; letter-spacing: -.05em; }
.procedure-offer-value small { font-size: 16px; font-weight: 600; letter-spacing: 0; }
.service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 24px; }
.service-grid .offer-card { display: flex; flex-direction: column; }
.service-grid .offer-description { flex: 1; }
.service-grid .offer-card .button { margin-top: 16px; }
.service-kicker { color: var(--gold-dark); font-size: 11px; font-weight: 700; letter-spacing: .09em; text-transform: uppercase; }
.procedure-photo { object-fit: contain; object-position: center bottom; }
.orbit-portrait.lip-result { height:300px; width:100%; align-self:center; overflow:hidden; border:0; border-radius:0; }
.orbit-portrait.lip-result::before,.orbit-portrait.lip-result::after { display:none; }
.orbit-portrait.lip-result img { inset:0; width:100%; height:100%; object-fit:cover; object-position:center; -webkit-mask-image:none; mask-image:none; opacity:0; animation:banner-results 12s steps(1,end) infinite; animation-delay:calc(var(--frame) * 3s); }
.laser-steps-layout { display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:center; }
.laser-video-panel { min-width:0; margin:0; overflow:hidden; border:1px solid #b99750; border-radius:5px; background:#292826; }
.laser-explainer { display:block; width:100%; aspect-ratio:16/9; object-fit:contain; background:#161614; }
.laser-video-panel figcaption { padding:14px 18px; color:#e5d2a6; font-size:10px; letter-spacing:.08em; }
.laser-step-list { display:grid; gap:18px; }
.laser-step { padding:0 0 17px; border-bottom:1px solid var(--line); }
.laser-step:last-child { border-bottom:0; padding-bottom:0; }
.laser-step h3 { margin-bottom:8px; font-size:23px; }
.laser-step p { margin:0; color:var(--muted); font-size:13px; }
.laser-results { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; margin-top:42px; }
.laser-result-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
.laser-result-pair figure { position:relative; overflow:hidden; margin:0; border:1px solid #b99750; border-radius:4px; background:#e9e1d3; }
.laser-result-pair img { display:block; width:100%; aspect-ratio: 4/5; object-fit:cover; }
.laser-result-pair figcaption { position:absolute; left:10px; bottom:10px; padding:5px 11px; border:1px solid #d4b976; border-radius:3px; background:#252420d9; color:#fff; font-size:11px; font-weight:650; }
.laser-results-note { margin:14px 0 0; color:var(--muted); font-size:10px; text-align:center; }
@media(max-width:680px) { .laser-results { grid-template-columns:1fr; gap:22px; margin-top:30px; } }
.laser-reveal-ready .laser-video-panel { opacity:0; transform:translateX(-30px); transition:opacity .55s ease,transform .55s ease; }
.laser-reveal-ready .laser-step { opacity:0; transform:translateY(16px); transition:opacity .4s ease,transform .4s ease; }
.laser-reveal-ready.in-view .laser-video-panel,.laser-reveal-ready.in-view .laser-step { opacity:1; transform:none; }
.laser-reveal-ready.in-view .laser-step:nth-child(2) { transition-delay:.08s; }
.laser-reveal-ready.in-view .laser-step:nth-child(3) { transition-delay:.16s; }
.laser-reveal-ready.in-view .laser-step:nth-child(4) { transition-delay:.24s; }
@media(max-width:900px) { .laser-steps-layout { gap:28px; } }
@media(max-width:680px) { .laser-steps-layout { grid-template-columns:1fr; gap:30px; } .laser-step h3 { font-size:21px; } }
@media(prefers-reduced-motion:reduce) { .laser-reveal-ready .laser-video-panel,.laser-reveal-ready .laser-step { opacity:1; transform:none; transition:none; } }
.site-footer-nav { display: flex; justify-content: center; gap: 12px 24px; flex-wrap: wrap; padding: 0 0 23px; }
.site-footer-nav a { display: inline-flex; align-items: center; min-height: 44px; color: #785d2d; font-size: 11px; text-decoration: none; }
@media(min-width:1100px) { .clinic-actions { grid-template-columns:repeat(2,minmax(0,1fr)); } .clinic-actions .button,.clinic-mini-map { height:120px; } }
@media(min-width:681px) and (max-width:1050px) {
  .hero-grid { grid-template-columns: 1.15fr .85fr; gap: 10px; }
  .hero-plan { gap: 8px; }
  .hero-plan strong { font-size: 21px; }
  .hero-actions .button { padding-inline: 15px; }
  .hero-visual { height: 470px; }
  .doctor-grid,.clinic-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .clinic-gallery { height: 400px; gap: 10px; }
  .clinic-photo figcaption { padding-inline: 10px; font-size: 10px; }
  .club-orbit { column-gap: 20px; }
  .doctor-credentials { gap: 12px; }
  .doctor-credentials .doctor-specialty { font-size: 17px; }
}
@media(max-width:680px) {
  .header-cta { display: none; }
  .hero-copy .eyebrow { font-size: 9px; letter-spacing: .13em; }
  .hero-actions,.membership-actions { display: grid; grid-template-columns: 1fr; width: 100%; }
  .hero-actions .button,.membership-actions .button { width: 100%; min-height: 52px; }
  .hero-offer { display: block; line-height: 1.7; }
  .hero-visual { height: 400px; }
  .hero-plan { gap: 8px; }
  .hero-plan strong { white-space: normal; }
  .trust-item { align-items: center; }
  .trust-item strong { font-size: 12px; }
  .trust-item small { font-size: 10px; }
  .doctor-credentials { gap: 14px; }
  .doctor-credentials .doctor-specialty { font-size: 17px; }
  .clinic-gallery { height: 340px; gap: 12px; }
  .clinic-actions { grid-template-columns: 1fr; }
  .clinic-mini-map { height: 200px; }
  .service-grid { grid-template-columns: 1fr; gap: 20px; }
  .black-banner { transform: none; }
  .black-banner-copy { max-width: 70%; }
  .black-banner h3 { font-size: 25px; }
  .site-footer-nav { justify-content: flex-start; }
  .offer-card:focus-within { transform: none !important; }
}
@media(max-width:380px) {
  .container { width: calc(100% - 28px); }
  .benefits-grid { grid-template-columns: 1fr; }
  .club-orbit { grid-template-columns: 1fr; grid-template-areas: 'portrait' 'convenience' 'economy' 'advantage' 'consistency'; }
  .orbit-portrait { height: 300px; }
  .doctor-visual { height: 370px; }
  .inclusion-stats strong { font-size: 42px; }
  .clinic-gallery { height: 290px; gap: 9px; }
  .clinic-photo figcaption { font-size: 9px; padding: 24px 9px 12px; }
  .trust-item { gap: 9px; }
  .trust-item strong { font-size: 11px; }
  .trust-item small { max-width: 45%; }
}
.doctor-credentials { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.doctor-credentials > div { min-width:0; }
.doctor-credentials strong { min-height:72px; }
.doctor-credentials .doctor-specialty { font-size:16px; }
.doctor-credentials span { line-height:1.55; }
@media(max-width:1050px) { .doctor-credentials { gap:9px; } .doctor-credentials .doctor-specialty { font-size:13px; } .doctor-credentials strong { font-size:23px; } }
@media(max-width:380px) { .doctor-credentials { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } .doctor-credentials > div:first-child { grid-column:1/-1; } .doctor-credentials strong { min-height:44px; } .doctor-credentials .doctor-specialty { min-height:0; font-size:16px; margin-bottom:8px; } }
