/* REVIG v18 — adições isoladas; identidade, tipografia e capa preservadas. */
:root{--section-curve:clamp(28px,4.2vw,64px)}
.section-transition{height:var(--section-curve);background:var(--transition-from);position:relative;pointer-events:none}
.section-transition::after{content:"";position:absolute;inset:0;border-radius:var(--section-curve) var(--section-curve) 0 0;background:var(--transition-to);border-top:1px solid rgba(198,142,5,.22);box-shadow:0 -8px 24px -20px rgba(0,0,0,.25)}
/* O acabamento é um irmão das seções: não interfere no sticky da galeria. */
.section-transition+.section-pad{padding-top:clamp(36px,5vw,88px)}
.product-card:focus-visible{border-radius:18px;outline-offset:8px}
.product-image,.about-image.about-image--storefront,.location-info,.location-map-card{border-radius:18px}
.location-info,.location-map-card{box-shadow:0 18px 40px -30px rgba(0,0,0,.3)}
.product-card-heading>.icon{transition:transform .3s var(--ease)}
.product-card:hover .product-card-heading>.icon{transform:translate(3px,-3px)}
.footer-top nav{flex-wrap:wrap;row-gap:14px}

/* Depoimentos: conteúdo completo no HTML, rolagem nativa e sem autoplay. */
.reviews{background:var(--green);color:var(--fg)}
.reviews .section-heading{align-items:flex-end;margin-bottom:36px}
.reviews .eyebrow{color:var(--gold)}
.reviews h2{font-size:clamp(31px,3.5vw,58px);max-width:850px;text-wrap:balance}
.reviews-intro{color:var(--muted);margin-top:22px;max-width:500px;line-height:1.8}
.review-controls{display:flex;gap:10px;flex-shrink:0}
.review-controls button{border:1px solid rgba(198,142,5,.4);width:48px;height:48px;color:var(--fg)}
.review-controls button:disabled{opacity:.3}
.review-track{display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 40px)/3);gap:20px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:thin;scrollbar-color:var(--gold) rgba(255,255,255,.08);padding:6px 2px 22px;overscroll-behavior-x:contain;scroll-padding-inline:2px;border-radius:18px;outline-offset:6px}
.review-card{display:flex;flex-direction:column;min-width:0;padding:clamp(22px,2.6vw,38px);margin:0;background:var(--green-mid);border:1px solid rgba(198,142,5,.23);border-radius:18px;scroll-snap-align:start;transition:border-color .25s}
.review-card:hover{border-color:rgba(198,142,5,.6)}
.review-card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:26px}
.review-stars{display:inline-block;color:var(--gold);font-size:1.08rem;letter-spacing:.12em;line-height:1.4;white-space:nowrap}
.review-quote-mark{font:60px/.65 Georgia,serif;color:rgba(198,142,5,.55);transform:translateY(10px)}
.review-card blockquote{margin:0;flex:1}
.review-card blockquote p{font-size:.96rem;line-height:1.85;color:var(--fg);overflow-wrap:anywhere}
.review-no-comment{flex:1;font-size:.92rem;color:var(--muted);line-height:1.85}
.review-author{display:flex;align-items:center;gap:13px;padding-top:28px;margin-top:28px;border-top:1px solid rgba(255,255,255,.09)}
.review-avatar{display:grid;place-items:center;flex:0 0 42px;width:42px;height:42px;border:1px solid rgba(198,142,5,.32);border-radius:50%;color:var(--gold);font-size:.74rem;font-weight:600}
.review-author strong{display:block;font-size:.88rem;font-weight:500;line-height:1.5;overflow-wrap:anywhere}
.review-author small{display:block;font-size:.71rem;color:var(--muted);margin-top:2px}
.reviews-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:16px}
.reviews-note,.reviews-count{font-size:.75rem;color:var(--muted);line-height:1.6}
.reviews-count{white-space:nowrap;font-variant-numeric:tabular-nums}

/* Página de lentes — mesma logo, fontes, cores e componentes de contato. */
.lenses-page .header,.lenses-page .header.is-scrolled{background:var(--green);box-shadow:0 8px 36px -24px rgba(0,0,0,.55)}
.lenses-page .header:not(.is-scrolled)>.brand img{opacity:1}
.lenses-page .header:not(.is-scrolled) .desktop-nav a,.lenses-page .header:not(.is-scrolled) .header-cta{color:var(--fg)}
.lenses-page .header:not(.is-scrolled) .header-cta{border-color:var(--gold)}
.lenses-page .header:not(.is-scrolled) .desktop-nav a::after{opacity:1}
.lenses-page main{padding-top:var(--header-height)}
.lens-intro{display:grid;grid-template-columns:minmax(0,1.07fr) minmax(0,.8fr);gap:clamp(32px,6vw,100px);align-items:center;background:var(--green);padding-block:clamp(44px,5vw,88px) clamp(64px,7vw,112px)}
.lens-intro-copy{min-width:0}
.lens-back{display:inline-flex;align-items:center;gap:9px;color:var(--muted);font-size:.8rem;min-height:44px;margin-bottom:26px}
.lens-back .icon{width:15px;height:15px}
.lens-back:hover{color:var(--gold)}
.lens-intro .eyebrow{color:var(--gold);margin-bottom:22px}
.lens-intro h1{font-family:var(--font-display);font-size:clamp(38px,4.55vw,76px);font-weight:600;line-height:1.07;letter-spacing:-.045em;text-wrap:balance}
.lens-intro h1 em{font-style:normal;color:var(--gold)}
.lens-intro-copy>p:not(.eyebrow){max-width:530px;color:var(--muted);margin-top:24px;line-height:1.85}
.lens-intro-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 25px;margin-top:30px}
.lens-intro-actions .text-link{color:var(--fg)}
.lens-intro-visual{margin:0;min-width:0;border-radius:24px;position:relative;overflow:hidden;border:1px solid rgba(198,142,5,.3);background:var(--green-mid);box-shadow:0 28px 64px -36px rgba(0,0,0,.5)}
.lens-intro-visual img{width:100%;height:clamp(360px,39vw,580px);object-fit:cover;object-position:center 57%}
.lens-intro-visual figcaption{position:absolute;inset:auto 18px 18px;display:flex;align-items:center;gap:12px;border:1px solid rgba(255,255,255,.2);border-radius:13px;padding:16px 18px;color:var(--paper);background:rgba(11,43,38,.8);backdrop-filter:blur(10px);font-size:.8rem}
.lens-intro-visual .icon{color:var(--gold)}
.lens-section-light{--fg:var(--green);--muted:#496057;--line:rgba(11,43,38,.15);background:var(--paper);color:var(--green)}
.lens-section-light .eyebrow{color:#8d6505}
.lens-section-light h2,.lens-brands h2,.lens-consult h2{font-size:clamp(31px,3.5vw,58px);text-wrap:balance}
.varilux-heading{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.8fr);gap:clamp(28px,5vw,90px);align-items:start}
.varilux-heading h2{margin-top:18px}
.varilux-heading>div>p:last-child{margin-top:22px;color:var(--muted);line-height:1.85;max-width:640px}
.varilux-name{font-family:var(--font-display);font-weight:600;font-size:clamp(54px,7vw,108px);letter-spacing:-.06em;line-height:1;margin-top:18px}
.varilux-name span{font-family:var(--font-text);vertical-align:super;font-size:.22em;letter-spacing:0}
.varilux-brand-note{font-size:.76rem;color:var(--muted);margin-top:14px;letter-spacing:.09em;text-transform:uppercase}
.varilux-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(20px,3vw,48px);margin-top:48px}
.varilux-benefits article{min-width:0;border-top:1px solid var(--line);padding-top:24px}
.lens-step{font-size:.73rem;color:#8d6505;letter-spacing:.06em}
.varilux-benefits h3{font:600 clamp(21px,1.9vw,29px)/1.25 var(--font-display);margin:18px 0 14px;letter-spacing:-.03em}
.varilux-benefits p{color:var(--muted);font-size:.93rem;line-height:1.8}
.lens-feature-footer{display:flex;flex-wrap:wrap;gap:18px 36px;align-items:center;justify-content:space-between;margin-top:40px;padding-top:28px;border-top:1px solid var(--line)}
.lens-feature-footer>p{max-width:610px;font-size:.8rem;color:var(--muted);line-height:1.75}
.lens-brands{background:var(--green);color:var(--fg)}
.lens-brands .eyebrow,.lens-consult .eyebrow{color:var(--gold)}
.lens-brands .section-heading>p{max-width:360px}
.lens-brand-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.lens-brand-card{display:flex;flex-direction:column;min-width:0;padding:clamp(25px,3vw,42px);border-radius:18px;border:1px solid rgba(198,142,5,.25);background:var(--green-mid);transition:transform .3s var(--ease),border-color .25s}
.lens-brand-card:hover{transform:translateY(-4px);border-color:rgba(198,142,5,.6)}
.lens-brand-number{font-size:.68rem;color:var(--muted);letter-spacing:.09em}
.lens-brand-card h3{font:600 clamp(25px,2.7vw,40px)/1.2 var(--font-display);letter-spacing:-.04em;margin-top:26px;color:var(--paper);overflow-wrap:anywhere}
.lens-brand-card p{font-size:.9rem;line-height:1.8;color:var(--muted);margin:20px 0 24px;flex:1}
.lens-brand-card .text-link{font-size:.78rem;color:var(--gold);align-self:flex-start;gap:18px;margin-top:auto}
.lens-lines .section-heading>p{color:var(--muted)}
.lens-line-list{border-top:1px solid var(--line)}
.lens-line{display:grid;grid-template-columns:50px minmax(0,.9fr) minmax(0,1.1fr) auto;gap:25px;align-items:center;padding:32px 0;border-bottom:1px solid var(--line)}
.lens-line h3{font:600 clamp(24px,2.8vw,40px)/1.15 var(--font-display);letter-spacing:-.035em;overflow-wrap:anywhere}
.lens-line p{max-width:530px;color:var(--muted);line-height:1.8;font-size:.93rem}
.lens-line>a{border:1px solid var(--line);color:var(--green)}
.lens-lines-note{margin-top:24px;font-size:.82rem;color:var(--muted);max-width:800px;line-height:1.8}
.lens-consult{background:var(--green);color:var(--fg);display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.75fr);gap:clamp(30px,7vw,100px);align-items:center}
.lens-consult h2{margin:20px 0 24px}
.lens-consult>div>p:not(.eyebrow){color:var(--muted);line-height:1.85;max-width:560px}
.lens-consult .button{margin-top:30px;max-width:100%;padding:16px 24px}
.lens-consult-info{border:1px solid var(--line);border-radius:18px;padding:clamp(26px,3.3vw,48px);background:rgba(255,255,255,.035)}
.lens-consult-info>div+div{margin-top:24px;padding-top:24px;border-top:1px solid var(--line)}
.lens-consult-info .contact-value{font-size:1rem}
.lens-consult-info [data-hours]{margin-top:12px;color:var(--muted);font-size:.88rem;line-height:1.8}
.lens-consult-info .eyebrow{font-size:.68rem}
@media(min-width:1151px){.lenses-page .desktop-nav{gap:22px}.lenses-page .desktop-nav a{width:auto;flex:none}}
@media(max-width:1000px){
 .review-track{grid-auto-columns:calc((100% - 20px)/2)}
 .lens-intro{grid-template-columns:minmax(0,1fr) minmax(0,.85fr);gap:28px}
 .lens-brand-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .lens-line{grid-template-columns:28px minmax(0,.9fr) minmax(0,1.1fr) 44px;gap:18px}
 .lens-intro-visual figcaption{padding:12px;font-size:.72rem}
}
@media(max-width:699px){
 .section-transition+.section-pad{padding-top:36px}
 .reviews .section-heading{display:block;margin-bottom:26px}
 .reviews .review-controls{margin-top:22px}
 .reviews-intro{font-size:.9rem;margin-top:18px}
 .review-track{grid-auto-columns:100%;gap:14px}
 .review-card{padding:26px 24px}
 .review-card blockquote p{font-size:.92rem}
 .reviews-bottom{align-items:flex-start;gap:16px}
 .reviews-note{max-width:220px;font-size:.68rem}
 .reviews-count{font-size:.7rem}
 .lens-intro{grid-template-columns:1fr;padding-top:26px;gap:32px}
 .lens-back{margin-bottom:20px}
 .lens-intro h1{font-size:clamp(34px,10vw,54px)}
 .lens-intro-copy>p:not(.eyebrow){font-size:.95rem}
 .lens-intro-visual img{height:360px;object-position:center 58%}
 .lens-intro-visual figcaption{font-size:.8rem;padding:16px}
 .lens-intro-actions{gap:15px}
 .lens-intro-actions .button{width:100%;padding:16px}
 .varilux-heading,.varilux-benefits,.lens-consult{grid-template-columns:1fr}
 .varilux-heading{gap:30px}
 .varilux-name{font-size:70px}
 .varilux-benefits{gap:28px;margin-top:34px}
 .lens-feature-footer .button{width:100%;padding:15px}
 .lens-brand-grid{grid-template-columns:1fr;gap:16px}
 .lens-brand-card{padding:28px}
 .lens-brand-card h3{font-size:32px;margin-top:18px}
 .lens-line{grid-template-columns:24px minmax(0,1fr) 44px;gap:15px;padding:28px 0;align-items:start}
 .lens-line>p{grid-column:2 / 4}
 .lens-line>a{grid-column:3;grid-row:1;align-self:center}
 .lens-line>.lens-step{padding-top:6px}
 .lens-line h3{font-size:27px;align-self:center}
 .lens-consult .button{width:100%}
}
@media(prefers-reduced-motion:reduce){
 .review-track{scroll-behavior:auto}
 .review-card,.lens-brand-card,.product-card-heading>.icon{transition:none}
 .lens-brand-card:hover,.product-card:hover .product-card-heading>.icon{transform:none}
}
@media print{.section-transition,.review-controls{display:none}.review-track{display:grid;grid-template-columns:repeat(2,1fr);grid-auto-flow:row;overflow:visible}.review-card{break-inside:avoid}.lenses-page main{padding-top:0}}
