/* Shared visual theme for the Next.js preview and PHP hosting version. */
:root{--bg:#fbfaf6;--blue:#414f32;--hover:#e3e6d9;--ink:#242820;--muted:#62665b;--border:rgba(65,79,50,.18);--white:#fffefa;--radius:18px}
body{position:relative;isolation:isolate;background:#f4f1eb;color:var(--ink);zoom:.88}
body::before{content:'';position:fixed;z-index:-1;inset:-32px;background:linear-gradient(115deg,#fbfaf7d9,#f6f3eec2),url('/images/site-background.png') center/cover no-repeat;filter:blur(4px);transform:scale(1.02);opacity:.6;pointer-events:none}
body::after{content:'';position:fixed;z-index:-1;top:0;right:0;width:22%;height:100%;background:linear-gradient(90deg,transparent,#f4f1eb99),url('/images/site-background.png') right center/cover no-repeat;filter:blur(2px);opacity:.35;pointer-events:none}
.site-header,main,.site-footer{width:min(1540px,85%);margin-inline:auto;background:var(--bg)}
.container{width:min(1280px,calc(100% - 96px))}
.page.container{width:min(1540px,85%);padding-inline:48px}
.site-header{border-radius:26px 26px 0 0;overflow:visible}
main{box-shadow:0 18px 50px rgba(39,38,31,.18);border-radius:0 0 26px 26px}
.site-footer{border-radius:26px 26px 0 0;margin-top:28px;box-shadow:0 -10px 35px rgba(39,38,31,.1)}
::selection{background:#dce1cd}
.site-header{background:rgba(247,245,239,.97);border-bottom:0}
.header-inner{min-height:100px}
.brand-logo{mix-blend-mode:multiply}
.site-header .brand{transform:translateX(56px)}
.site-header .header-phone{transform:translateX(-50px)}
.site-header .nav,.site-header .nav-catalog{font-size:18px}
.site-header .nav,.site-header .nav-catalog,.site-header .header-phone,.site-header .header-address,.site-header .status{font-size:18px;font-weight:500}
.site-header .nav>a,.site-header .nav-catalog{font-family:Manrope,Arial,sans-serif!important;font-size:18px!important;font-weight:500!important;line-height:1.2!important;letter-spacing:0!important}
.site-header .nav-catalog{padding:14px 0;background:transparent!important;border:0!important}
.site-header .nav{gap:32px}
.site-header .header-phone{font-size:15px}.site-header .header-phone .header-address{font-size:13px}.site-header .header-phone .status{font-size:12px}
.site-header .header-cta{font-size:17px}
.nav a,.nav-catalog{font-size:14px}
.header-address{color:var(--muted);text-underline-offset:4px}
.mega-menu,.manufacturer-menu{background:#fffefa;border-radius:0 0 18px 18px;box-shadow:0 12px 24px #2428200a}
.icon-button:hover{background:#e8eadf}
main h1,.section-heading h2,.lab-copy h2,.remote-section h2,.review-section h2,.location h2,.faq-section h2,.booking-aside h2,.page-heading h1{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.04em;line-height:1.1}
.hero{position:relative;gap:0;padding-top:32px;grid-template-columns:1fr 1fr;align-items:stretch;min-height:650px;overflow:hidden;border-radius:24px;background:#e8e3d8}
.hero-copy{position:relative;z-index:2;padding:44px 34px 40px;background:transparent;border-radius:24px 0 0 24px;min-width:0}
.hero h1{font-size:clamp(40px,4.8vw,69px);line-height:1.06;letter-spacing:-.045em;margin-bottom:30px}
.hero h1,.hero-offer,.hero-offer strong,.hero-offer span,.hero-offer small{font-family:Manrope,Arial,sans-serif}
.hero h1 span{color:var(--blue)}
.hero-photo{position:absolute;z-index:1;inset:0;width:100%;height:100%;border-radius:24px;min-height:650px;background:#e8e3d8}
.hero-photo img{object-position:52% center}
.hero-offer{margin:24px 0 30px}
.hero-offer strong{font-size:28px;line-height:1.3;letter-spacing:-.03em;font-weight:700}
.hero-offer span{font-size:16px;margin-top:8px}
.hero-offer small{color:var(--muted);font-size:14px}
.button{border-radius:999px;background:var(--blue);font-size:15px;padding:15px 24px;transition:background .18s ease,color .18s ease}
.button:hover{background:#303d24;color:#fff}
.button.secondary{background:transparent;border-color:#8d9581;color:var(--ink)}
.button.secondary:hover{background:#e5e8dc;color:var(--ink)}
.hero-rating{margin-top:28px;color:var(--muted)}
.hero-rating strong{color:var(--ink)}
.facts{position:relative;width:calc(100% - 64px);margin:-14px auto 22px;background:#fffefa;border:1px solid var(--border);border-radius:20px;padding:28px;gap:24px;box-shadow:0 8px 22px #24282006}
.facts{border-bottom:0}
.facts>div{gap:12px;min-width:0}
.facts svg{width:40px;height:40px;padding:8px;border:1px solid var(--border);border-radius:50%;color:var(--blue)}
.facts strong{font-size:14px}.facts span{font-size:12px}
.notice{background:#f3f3ec;border:0;border-left:3px solid #899574;border-radius:0 12px 12px 0;padding:20px 24px}
.notice p,.notice svg{color:#515b44}
.section{padding-block:62px}
.section-heading{gap:32px;margin-bottom:32px}
.section-heading h2,.lab-copy h2,.remote-section h2,.review-section h2,.location h2,.faq-section h2{font-size:clamp(34px,3.3vw,46px)}
.eyebrow{color:var(--muted);font-size:11px;letter-spacing:.14em}
.lab-photo,.category>div,.lens-detail-photo,.map-embed,.map-card{border-radius:18px}
.lab-photo>span{background:#fffefaeF;border-radius:999px;color:var(--ink)}
.steps-list>div>span{border:1px solid var(--border);border-radius:50%;width:32px;height:32px;display:grid;place-items:center;padding:0;flex-shrink:0}
.remote-section{background:#414f32;color:#fffefa;border:0;border-radius:24px;padding:44px;margin-block:28px}
.remote-section .eyebrow,.remote-section p:not(.eyebrow){color:#e5e8dc}
.remote-section .button{background:#f7f5ef;color:#303d24}
.remote-section .button:hover{background:#e2e7d6}
.product-grid{gap:24px}
.all-lenses-cta{display:flex;justify-content:center;margin-top:32px}.all-lenses-cta .button{min-width:220px}
.frame-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(320px,.8fr);gap:56px;align-items:start;margin-top:32px}.frame-detail-grid h1{font-size:clamp(34px,4vw,58px);margin:14px 0 18px}.frame-article{color:var(--muted);font-size:14px}.frame-detail-grid>.product-price{margin:28px 0}.frame-detail-grid>.button{margin-top:14px}
.frame-detail-photo{aspect-ratio:4/5;border-radius:18px;overflow:hidden;background:#f2f0ea}.frame-detail-photo img{width:100%;height:100%;object-fit:contain}
.product-card{border-radius:16px;border:1px solid #e6e3d9;background:#fffefa;box-shadow:none}
.product-visual,.lens-visual{background:#f2f0ea}
.product-info{padding:24px}
.product-info h3{letter-spacing:-.025em;font-weight:500}
.product-info>.overline,.lens-original{color:var(--muted)}
.product-price strong,.catalog-grid .product-price strong{color:#35442a;font-size:36px;font-weight:800;letter-spacing:-.045em}
.product-price>small{color:var(--muted)}
.tags>span{background:#ecefe4;color:#47533b;border-radius:999px;padding:5px 10px}
.lens-index{background:#fffefaf0;color:#414f32;border:1px solid #d8ddce;border-radius:999px}
.promo-badge{background:#ece2d9!important;color:#853d29!important;border-radius:999px;padding:6px 12px}
.category h3{font-size:23px;font-weight:500}.category p{font-size:15px}
.frame-filters{display:flex;flex-wrap:wrap;gap:10px;margin:-8px 0 28px}.frame-filters a{padding:10px 18px;border:1px solid var(--border);border-radius:999px;background:#fffefa;color:var(--ink);font-size:14px}.frame-filters a:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
.review-section{background:#eeebe3;border:0;border-radius:24px;padding:40px;gap:40px}
.review-section cite{color:#62665b}
.page-heading{padding-bottom:24px;border-bottom:1px solid var(--border);margin-bottom:34px}
.page-heading h1{font-size:clamp(38px,4.5vw,60px)}
.filter-panel{background:#f4f3ed;border-radius:16px;padding:22px}
.filter-panel input,.filter-panel select{background:#fffefa}
.filter-panel.expanded{background:#f4f3ed}
.catalog-note,.selection-summary{background:#f3f3ec;border-radius:12px;border-color:var(--border);color:var(--ink)}
.manufacturer-nav button,.manufacturer-primary{background:#fffefa;border-radius:999px;border-color:var(--border)}
.manufacturer-nav .selected{background:var(--blue);color:#fff}
.form-card,.delivery-card,.dialog-inner{background:#fffefa;border:1px solid var(--border);border-radius:20px;box-shadow:none}
.booking-form input,.booking-form textarea,.booking-form select{background:#f9f8f3;border:1px solid #b5bcab;border-radius:10px;color:var(--ink)}
input[type=checkbox]{accent-color:var(--blue)}
.form-card{padding:32px}.booking-aside{padding:24px}
.delivery-card>svg{color:var(--blue)}
.site-footer{background:#e9e9df;border-color:var(--border);padding-top:52px}
.footer-grid h3{color:var(--blue)}
.questions-button{background:#414f32;color:#fffefa}
.questions-button:hover{background:#303d24}
.cookie-banner{background:#fffefa;border-color:#c8cdbd;border-radius:18px;box-shadow:0 8px 30px #24282012}
.mobile-contact-bar{background:#f7f5eff5}
.mobile-contact-bar a{border-radius:999px}
.mobile-contact-bar a:last-child{background:var(--blue)}
.consent-document{background:#f3f3ec;border-radius:16px}
@media(max-width:1100px) and (min-width:761px){
 .hero-copy{padding:28px 24px}.hero h1{font-size:40px}.hero-photo{min-height:550px}
 .facts{width:calc(100% - 32px)}.filter-panel{padding:16px}
}
@media(max-width:760px){
 body::before{filter:blur(3px);opacity:.55}
 .site-header,main,.site-footer{width:calc(100% - 8px)}
 .site-header{border-radius:18px 18px 0 0}.site-footer{border-radius:18px 18px 0 0;margin-top:16px}main{border-radius:0 0 18px 18px}
 .container,.page.container{width:calc(100% - 8px);padding-inline:16px}.header-inner{min-height:82px}
 .site-header .brand{transform:translateX(36px)}
 .site-header .header-phone{transform:translateX(-22px)}
 .site-header .nav,.site-header .nav-catalog,.site-header .header-phone,.site-header .header-address,.site-header .status{font-size:18px;font-weight:500}
 .site-header .nav>a,.site-header .nav-catalog{font-size:18px!important;font-weight:500!important;line-height:1.2!important}.site-header .nav-catalog{padding:12px 0}
 .site-header .nav{gap:24px}
 .site-header .header-phone{font-size:15px}.site-header .header-phone .header-address{font-size:13px}.site-header .header-phone .status{font-size:12px}
 .hero{padding-top:20px;grid-template-columns:1fr;gap:0;min-height:0;border-radius:20px}
 .hero-copy{padding:28px 22px;border-radius:20px 20px 0 0;background:transparent}
 .hero h1{font-size:clamp(35px,8.8vw,46px);line-height:1.1;margin-bottom:24px}
 .hero-offer strong{font-size:24px}.hero-offer span{font-size:16px}.hero-offer small{font-size:14px}
 .hero-photo{position:relative;inset:auto;z-index:1;border-radius:0 0 20px 20px;min-height:0;aspect-ratio:1.25;max-height:460px}
 .facts{width:calc(100% - 16px);margin:16px auto 20px;padding:20px 16px;gap:20px 12px;grid-template-columns:1fr 1fr}
 .facts>div{align-items:flex-start;gap:8px}.facts svg{width:30px;height:30px;padding:5px}.facts strong{font-size:13px}.facts span{font-size:12px}
 .section{padding-block:36px}.notice{padding:18px}
 .remote-section,.review-section{padding:28px 22px;border-radius:20px;gap:24px}
 .section-heading h2,.lab-copy h2,.remote-section h2,.review-section h2,.location h2,.faq-section h2{font-size:34px}
 .frame-filters{margin-top:-8px;margin-bottom:22px;gap:8px}.frame-filters a{font-size:13px;padding:9px 14px}
 .product-info,.catalog-grid .product-info{padding:22px}.product-grid{gap:20px}.product-price strong,.catalog-grid .product-price strong{font-size:30px}
 .frame-detail-grid{grid-template-columns:1fr;gap:28px;margin-top:24px}.frame-detail-grid h1{font-size:38px}.frame-detail-grid>.button{width:100%}.frame-detail-photo{border-radius:14px}
 .page-heading h1{font-size:38px}.form-card{padding:22px}.booking-aside{padding:0 6px}
 .button{padding:14px 20px}.site-footer{padding-top:36px}
}

/* audit fixes */
.footer-bottom .text-button{font-size:12px;color:var(--muted);min-height:0}.footer-bottom .text-button:hover{color:var(--ink)}
.nav .cart-count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:6px;padding:0 6px;border-radius:999px;background:var(--blue);color:#fff;font-size:11px;font-weight:700;line-height:1}
.cart-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;border-bottom:1px solid var(--border)}.cart-row h2{font-size:20px;margin:0 0 4px}.cart-row p{margin:0;color:var(--muted)}.cart-total{font-size:22px;font-weight:600;margin:24px 0 8px}
.cart-add{display:inline-block;margin-top:8px}
.site-footer{background:#f1efe9}
