/* ==========================================================================
   The Vision Spa — shared stylesheet
   Luxury eyewear e-commerce template
   ========================================================================== */

@font-face{
  font-family:'29LT Bukra';
  src:url('../fonts/29lt-bukra/29LTBukra.woff2') format('woff2'),
      url('../fonts/29lt-bukra/29LTBukra.woff') format('woff'),
      url('../fonts/29lt-bukra/29LTBukra.ttf') format('truetype');
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --gold:#b5852f;
  --gold-dark:#a4762a;
  --gold-light:#c9962f;
  --gold-grad:linear-gradient(100deg,#c19442,#a4762a);
  --gold-grad-btn:linear-gradient(100deg,#c08f38,#a06f22);
  --vs-green:#2d8a52;
  --vs-green-text:#3f8a5c;
  --vs-green-bg:#eaf7f1;
  --vs-red:#c8452f;
  --vs-red-text:#e0574a;
  --vs-red-bg:#fdeceb;
  --vs-yellow:#E5B800;
  --vs-yellow-text:#9A7500;
  --vs-yellow-bg:#FFF8D6;
  --ink:#1d1b18;
  --text:#33302b;
  --text-soft:#59524a;
  --text-mute:#7a736a;
  --text-faint:#8d857c;
  --text-faint2:#a39a8f;
  --cream:#eceae7;
  --cream2:#e9e2d9;
  --paper:#faf8f5;
  --warm:#efe9e1;
  --line:#efe8dd;
  --line-soft:#f1eae0;
  --line-softer:#f2ebe1;
  --border-input:#ece5da;
  --success:var(--vs-green-text);
  --success-dark:var(--vs-green);
  --danger:var(--vs-red);
  --shadow-card:0 2px 14px rgba(60,45,25,.05);
  --shadow-panel:0 6px 30px rgba(60,45,25,.07);
  --shadow-pop:0 8px 20px rgba(150,110,40,.24);
  --radius-lg:18px;
  --radius-md:12px;
  --radius-sm:9px;
  --font-serif:'Playfair Display',serif;
  --font-sans:Jost,system-ui,sans-serif;
  --font-num:'Inter',Jost,system-ui,sans-serif;
}

html[lang="ar"],
html[dir="rtl"]{
  --font-serif:'29LT Bukra','Playfair Display',serif;
  --font-sans:'29LT Bukra',Jost,system-ui,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--cream);
  font-family:var(--font-sans);
  -webkit-font-smoothing:antialiased;
  color:var(--text);
}
a{color:var(--text);text-decoration:none}
a:hover{color:var(--gold)}
img{display:block;max-width:100%}
input,textarea{font-family:var(--font-sans)}
button{font-family:var(--font-sans);cursor:pointer}
svg{flex-shrink:0}

.serif{font-family:var(--font-serif)}
.num,.vs-num,.price-num,.stat-num,.tabular-nums{font-family:var(--font-num);font-variant-numeric:tabular-nums}

/* ---------- utility ---------- */
.desktop-only{display:block}
.mobile-only{display:none}
.flex{display:flex}
.flex-col{display:flex;flex-direction:column}
.items-center{align-items:center}
.justify-between{justify-content:space-between}
.text-gold{color:var(--gold)}
.text-mute{color:var(--text-mute)}
.text-faint{color:var(--text-faint)}

/* ---------- page shells ---------- */
.page{width:1440px;margin:0 auto}
.page.narrow{width:auto;max-width:1440px}
.panel{background:var(--paper);border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow-panel)}
.storefront-chrome{width:1440px;max-width:100%;margin:0 auto;padding:0 0 8px;box-sizing:border-box}
.storefront-chrome .navbar-home{margin:0 24px 8px}
.storefront-chrome .topbar{padding-left:44px;padding-right:44px}
@media (max-width:1480px){
  .storefront-chrome{width:100%}
  .storefront-chrome .topbar{padding-left:24px;padding-right:24px}
}

/* ---------- top utility bar (home) ---------- */
.topbar{
  display:flex;align-items:center;justify-content:space-between;
  padding:11px 44px 9px;font-size:12.5px;color:var(--text-faint);letter-spacing:.01em;
}
.topbar .topbar-left{display:flex;align-items:center;gap:34px;min-width:0}
.topbar .topbar-detail{display:inline-flex;align-items:center;gap:8px;color:#5d554d;white-space:nowrap}
.topbar .topbar-detail svg{color:var(--gold);flex:none}
.topbar .topbar-right{display:flex;align-items:center;gap:26px}
.topbar .divider{color:#8d857d}

/* ---------- promo strip ---------- */
.promo-strip{
  background:#f4efe6;padding:12px 0;display:flex;align-items:center;justify-content:center;gap:10px;
  font-size:12.5px;letter-spacing:.13em;color:#4a443e;text-align:center;
}

/* ---------- logo ---------- */
.logo{position:relative;width:134px;height:48px;flex:none}
.logo svg.logo-swoosh{position:absolute;inset:0}
.logo .logo-the{position:absolute;left:0;top:7px;font-family:var(--font-serif);font-size:9px;letter-spacing:.16em;color:var(--ink)}
.logo .logo-name{position:absolute;left:0;top:14px;font-family:var(--font-serif);font-weight:700;font-size:20px;color:var(--ink)}
.logo .logo-rule{position:absolute;left:1px;top:37px;width:97px;border-top:1px solid #c9b79a}
.logo .logo-sub{position:absolute;left:14px;top:39px;font-size:7.5px;letter-spacing:.3em;color:#7c736a}

/* ---------- navbar ---------- */
.navbar{background:#fff;display:flex;align-items:center;justify-content:space-between;padding:16px 34px}
.navbar .nav-links{display:flex;align-items:center;gap:29px;font-family:var(--font-serif);font-size:15px;color:var(--text)}
.navbar .nav-links a.active{color:var(--gold)}
.navbar .nav-icons{display:flex;align-items:center;gap:20px}
.icon-btn{position:relative;display:flex;cursor:pointer}
.cart-badge{
  position:absolute;top:-6px;right:-7px;width:16px;height:16px;border-radius:50%;
  background:var(--gold);color:#fff;font-size:9.5px;display:flex;align-items:center;justify-content:center;
}

/* home-style rounded navbar */
.navbar-home{
  margin:0 34px;background:#fff;border-radius:14px;box-shadow:0 2px 18px rgba(60,45,25,.06);
  display:flex;align-items:center;justify-content:space-between;padding:14px 26px 14px 30px;
}
.navbar-home .nav-links{display:flex;align-items:center;gap:27px;font-size:11.5px;letter-spacing:.11em;color:#4a443e}
.navbar-home .nav-links a.active,.navbar-home .nav-dd-trigger.active{color:var(--gold);padding-bottom:5px;border-bottom:1.5px solid var(--gold)}
.navbar-home .nav-links .sep{width:1px;height:15px;background:#e2dbd1}
.navbar-home .icon-box{width:38px;height:38px;border-radius:10px;background:#f6f2ec;display:flex;align-items:center;justify-content:center}

/* home nav dropdowns */
.navbar-home .nav-dd{position:relative;display:flex;align-items:center}
.navbar-home .nav-dd-trigger{
  display:inline-flex;align-items:center;gap:5px;color:inherit;cursor:pointer;
  text-transform:uppercase;letter-spacing:.11em;line-height:1;border:0;background:none;padding:0;font:inherit;
}
.navbar-home .nav-dd-trigger svg{opacity:.75;transition:transform .2s ease}
.navbar-home .nav-dd:hover .nav-dd-trigger,.navbar-home .nav-dd:focus-within .nav-dd-trigger{color:var(--gold)}
.navbar-home .nav-dd:hover .nav-dd-trigger svg,.navbar-home .nav-dd:focus-within .nav-dd-trigger svg{transform:rotate(180deg)}
.navbar-home .nav-dd-menu{
  position:absolute;top:calc(100% + 14px);left:50%;transform:translateX(-50%) translateY(6px);
  min-width:196px;padding:10px 0;background:#fff;border:1px solid #efe8dd;border-radius:12px;
  box-shadow:0 14px 34px rgba(60,45,25,.10);opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .18s ease, transform .18s ease, visibility .18s;z-index:40;
}
.navbar-home .nav-dd-menu::before{
  content:'';position:absolute;top:-5px;left:50%;width:10px;height:10px;background:#fff;border-left:1px solid #efe8dd;border-top:1px solid #efe8dd;
  transform:translateX(-50%) rotate(45deg);
}
.navbar-home .nav-dd-menu--brands{min-width:220px;max-height:320px;overflow-y:auto}
.navbar-home .nav-dd:hover .nav-dd-menu,.navbar-home .nav-dd:focus-within .nav-dd-menu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateX(-50%) translateY(0);
}
.navbar-home .nav-dd-item{
  display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:12px;letter-spacing:.04em;
  color:#4a443e;text-transform:none;white-space:nowrap;border:0;
}
.navbar-home .nav-dd-item:hover,.navbar-home .nav-dd-item.is-active{color:var(--gold);background:#faf6ef}
.navbar-home .nav-dd-all{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);border-bottom:1px solid #f1ebe1;margin-bottom:4px;padding-bottom:12px}
.navbar-home .nav-dd-brand-logo{width:auto;height:16px;max-width:52px;object-fit:contain;flex:none;background:transparent}

html[dir=rtl] .navbar-home .nav-dd-menu{left:auto;right:50%;transform:translateX(50%) translateY(6px)}
html[dir=rtl] .navbar-home .nav-dd:hover .nav-dd-menu,html[dir=rtl] .navbar-home .nav-dd:focus-within .nav-dd-menu{transform:translateX(50%) translateY(0)}


/* ---------- breadcrumb ---------- */
.breadcrumb{padding:16px 34px 0;display:flex;align-items:center;gap:11px;font-size:12.5px;color:var(--text-faint)}
.breadcrumb a{color:var(--text-mute)}
.breadcrumb .current{color:var(--text)}

/* ---------- buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:11px;border-radius:9px;font-size:13.5px;border:0;padding:14px 22px}
.btn-gold{background:var(--gold-grad-btn);color:#fff;box-shadow:var(--shadow-pop)}
.btn-outline{background:#fff;color:var(--ink);border:1px solid var(--border-input)}
.btn-block{width:100%}

/* ---------- steps ---------- */
.steps{background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;padding:18px 34px}
.step{display:flex;align-items:center;gap:12px;flex:none}
.step-num{width:28px;height:28px;border-radius:50%;font-size:12.5px;display:flex;align-items:center;justify-content:center}
.step-num.done{background:#fdfaf3;border:1.5px solid #cdb079;color:var(--gold)}
.step-num.active{background:var(--gold);color:#fff}
.step-num.todo{background:#f6f2ea;border:1px solid var(--border-input);color:var(--text-faint)}
.step-label{font-size:14px;color:var(--text)}
.step-label.muted{color:var(--text-mute)}
.step-line{flex:1;height:1px;background:var(--border-input);margin:0 22px}

/* centered numbered steps (checkout) */
.steps-center{display:flex;align-items:center;justify-content:center;padding:22px 0 4px}
.steps-center .step-num{width:28px;height:28px}

/* ---------- trust strips ---------- */
.trust-strip{margin-top:0;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;padding:18px 0}
.trust-item{flex:1;display:flex;align-items:center;gap:13px;padding:0 26px;border-right:1px solid var(--line-softer)}
.trust-item:last-child{border-right:0}
.trust-item .ti-icon{flex:none}
.trust-item .ti-a{font-size:12.5px;color:var(--text)}
.trust-item .ti-b{font-size:11px;color:var(--text-faint);margin-top:3px}

/* ---------- product cards ---------- */
.product-card{background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden;position:relative;box-shadow:0 6px 18px rgba(60,45,25,.05)}
.product-card .pc-image{position:relative;height:168px;background:transparent}
.product-card .pc-image-link{display:block;width:100%;height:100%}
.product-card .pc-image img{width:100%;height:100%;object-fit:contain;object-position:center;padding:14px 12px 6px;box-sizing:border-box}
.product-card .pc-badge{position:absolute;inset-inline-start:12px;top:12px;border-radius:7px;padding:6px 10px;font-size:10.5px;font-weight:500;letter-spacing:.01em;line-height:1;box-shadow:0 1px 2px rgba(0,0,0,.06);z-index:1}
.product-card .pc-badge-oos{background:var(--vs-red);color:#fff;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.product-card .pc-badge-low{background:var(--vs-yellow);color:#1d1b18;font-weight:600;font-size:10px}
.product-card .pc-code .pc-mfg{display:block;margin-top:3px;color:#b3aaa0;font-size:11px}
.product-card.is-out-of-stock .pc-image img{opacity:.55;filter:grayscale(.25)}
.product-card .pc-oos-text{position:absolute;inset-inline-end:14px;bottom:16px;font-size:11px;font-weight:600;color:#c8452f;background:#fdeceb;border:1px solid #f6d3cf;border-radius:7px;padding:6px 9px;line-height:1;white-space:nowrap;z-index:1}
.product-card .pc-wish{position:absolute;inset-inline-end:12px;top:12px;width:28px;height:28px;border:0;background:transparent;padding:0;color:#59524a;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:1}
.product-card .pc-wish.active,.product-card .pc-wish:hover{color:#b5852f}
.product-card .pc-body{position:relative;padding:14px 16px 18px}
.product-card .pc-info-link{display:block;text-decoration:none;color:inherit}
.product-card .pc-brand{font-size:12px;letter-spacing:.14em;color:#1d1b18;font-weight:600}
.product-card .pc-code{font-size:12px;color:#9a9186;margin-top:5px;font-weight:400}
.product-card .pc-price-row{display:flex;align-items:baseline;gap:9px;margin-top:12px;padding-inline-end:40px}
.product-card .pc-price{font-size:14px;color:#1d1b18;font-weight:600;font-family:var(--font-num);font-variant-numeric:tabular-nums}
.product-card .pc-was{font-size:11.5px;color:#b3aaa0;text-decoration:line-through}
.product-card .pc-cart{position:absolute;inset-inline-end:14px;bottom:14px;width:34px;height:34px;border-radius:50%;background:#fff;box-shadow:0 3px 10px rgba(60,45,25,.12);display:flex;align-items:center;justify-content:center;z-index:1}

/* Product image zoom toward cursor */
.product-card .pc-image,
.feat-card .fc-image,
.deal-card .dc-img,
body.page-pdp .pd-hero,
body.page-pdp .pd-related-card .rc-img{
  overflow:hidden;
  cursor:zoom-in;
}
.product-card .pc-image img,
.feat-card .fc-image img,
.deal-card .dc-img img,
body.page-pdp .pd-hero img,
body.page-pdp .pd-related-card .rc-img img{
  transform-origin:center center;
  transition:transform .22s ease-out;
  will-change:transform;
}
.product-card .pc-image.is-zooming img,
.feat-card .fc-image.is-zooming img,
.deal-card .dc-img.is-zooming img,
body.page-pdp .pd-hero.is-zooming img,
body.page-pdp .pd-related-card .rc-img.is-zooming img{
  transform:scale(1.7);
  transition:none;
}
@media (hover:none){
  .product-card .pc-image,
  .feat-card .fc-image,
  .deal-card .dc-img,
  body.page-pdp .pd-hero,
  body.page-pdp .pd-related-card .rc-img{cursor:default}
  .product-card .pc-image.is-zooming img,
  .feat-card .fc-image.is-zooming img,
  .deal-card .dc-img.is-zooming img,
  body.page-pdp .pd-hero.is-zooming img,
  body.page-pdp .pd-related-card .rc-img.is-zooming img{transform:none}
}

/* ---------- category / promo cards ---------- */
.category-card{position:relative;height:228px;border-radius:14px;overflow:hidden;background:#f6f1e9;box-shadow:var(--shadow-card);display:block;text-decoration:none;color:inherit;transition:box-shadow .2s ease}
.category-card:hover{box-shadow:0 10px 28px rgba(60,45,25,.10)}
.category-card img{position:absolute;right:0;bottom:0;width:68%;height:92%;object-fit:contain;object-position:right bottom;pointer-events:none;image-rendering:auto;-webkit-user-select:none}
.category-card .cc-fade{position:absolute;inset:0;background:linear-gradient(115deg,#f8f4ed 38%,rgba(248,244,237,.42) 64%,rgba(248,244,237,0) 88%);pointer-events:none;z-index:1}
.category-card .cc-text{position:absolute;left:18px;top:20px;width:min(150px,54%);pointer-events:none;z-index:2}
.category-card .cc-title{font-family:var(--font-serif);font-size:18px;color:var(--ink)}
.category-card .cc-sub{margin:8px 0 0;font-size:11.5px;line-height:1.55;color:var(--text-mute)}
.category-card .cc-cta{position:absolute;left:18px;bottom:18px;display:flex;align-items:center;gap:8px;font-size:10px;letter-spacing:.14em;color:var(--gold);z-index:2}

/* ---------- footer ---------- */
.site-footer{margin-top:44px;background:var(--cream);padding:0 34px}
.footer-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:28px;padding:28px 0 24px;border-top:1px solid #e0d8cc}
.footer-grid > *{min-width:0}
.footer-grid h4{font-family:var(--font-serif);font-size:16px;color:var(--ink);font-weight:400;margin:0}
.footer-links{display:flex;flex-direction:column;gap:13px;margin-top:18px;font-size:12.5px;color:var(--text-mute)}
.footer-links a{color:var(--text-mute)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px 24px;padding:16px 0 10px;border-top:1px solid #e0d8cc;font-size:11.5px;color:var(--text-faint)}
.footer-copy{margin:0;flex:1 1 240px;min-width:0;line-height:1.55}
.footer-credit{padding:0 0 18px;text-align:center;font-size:11px;color:var(--text-faint);letter-spacing:.04em}
.footer-credit-link{color:inherit;text-decoration:none;border-bottom:1px solid transparent;transition:color .2s ease,border-color .2s ease}
.footer-credit-link:hover{color:#a06f22;border-bottom-color:rgba(160,111,34,.35)}
.day-pill{appearance:none;-webkit-appearance:none;font-family:inherit}
.slots-grid.is-loading{opacity:.55;pointer-events:none;transition:opacity .2s ease}
.pay-badges{display:flex;align-items:center;flex-wrap:wrap;gap:0 8px;flex:0 1 auto;font-size:12px;color:#4a443e;letter-spacing:.02em}
.pay-accept{font-size:11px;letter-spacing:.08em;text-transform:none;color:var(--text-faint);margin-inline-end:6px}
.pay-sep{color:#c9b79a;padding:0 2px}
.pay-logo{height:24px;width:auto;display:block;flex:none}
.pay-badge{background:#fff;border:1px solid #e5ddd1;border-radius:5px;padding:5px 9px;font-size:10px;font-weight:600}

/* ---------- forms ---------- */
.field label{font-size:11.5px;color:var(--text-faint)}
.field input,.field textarea{
  width:100%;box-sizing:border-box;margin-top:7px;border:1px solid var(--border-input);border-radius:8px;
  padding:12px 13px;font-size:13px;color:var(--text);outline:0;background:#fff;
}
.qty-stepper{display:flex;align-items:center;border:1px solid var(--border-input);border-radius:8px;background:#fff;overflow:hidden;width:max-content}
.qty-stepper button{border:0;background:transparent;padding:9px 14px;color:var(--text-soft);display:flex;align-items:center}
.qty-stepper .qty-val{padding:9px 0;min-width:28px;text-align:center;font-size:13px;color:var(--text)}

/* ---------- tabs ---------- */
.tab-pill{display:flex;align-items:center;gap:10px;border-radius:9px;padding:13px 18px;font-size:13px;border:1px solid var(--line);background:#fff;color:var(--text-soft);cursor:pointer;font-family:var(--font-sans)}
.tab-pill.active{background:#f8f0e2;border-color:#e4cfa5;color:var(--gold)}
.brand-tab-logo{height:14px;width:auto;max-width:78px;object-fit:contain;flex:none}
button.tab-pill{appearance:none;-webkit-appearance:none}

/* ---------- mobile shell ---------- */
.mobile-shell-wrap{display:flex;justify-content:center;padding:24px 0}
.mobile-shell{width:330px;background:var(--paper);border-radius:26px;overflow:hidden;box-shadow:var(--shadow-panel)}
.mobile-shell.white{background:#fff}

@media (max-width:767px){
  .desktop-only{display:none !important}
  .mobile-only{display:block}
  body{background:var(--cream)}
}

/* ============ misc reusable bits from source ============ */
.gold-dot::before{content:'';display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--success-dark);margin-right:7px}
.in-stock{display:flex;align-items:center;gap:7px;background:var(--vs-green-bg);border:1px solid #cfeee0;border-radius:20px;padding:6px 13px;font-size:11.5px;color:var(--vs-green-text)}
.stars{color:#d9a63c;letter-spacing:.08em}
.stars .empty{color:#e6dccb}

.swatch{width:26px;height:26px;border-radius:50%;box-shadow:0 0 0 1px #e6ddd0}
.swatch.selected{box-shadow:0 0 0 2px #fff,0 0 0 3.5px var(--gold)}

.radio-dot{width:16px;height:16px;border-radius:50%;border:1.5px solid var(--border-input);display:flex;align-items:center;justify-content:center;flex:none}
.radio-dot.selected{border-color:var(--gold)}
.radio-dot.selected::after{content:'';width:8px;height:8px;border-radius:50%;background:var(--gold)}

.checkbox-sq{width:14px;height:14px;border-radius:3px;border:1px solid #ddd4c7;flex:none}

.coupon-row{display:flex;gap:10px;margin-top:12px}
.coupon-row input{flex:1;min-width:0;border:1px solid var(--border-input);border-radius:8px;padding:10px 12px;font-size:12px;color:var(--text);outline:0;background:#fff}
.coupon-row .btn-apply{background:linear-gradient(100deg,#b8862f,#9a6a1f);color:#fff;border-radius:8px;padding:10px 16px;font-size:12.5px;border:0;white-space:nowrap}

.advisor-card{position:relative;border-radius:12px;overflow:hidden;background:linear-gradient(95deg,#f6efe2,#f0e7d8)}
.advisor-card img{position:absolute;right:0;bottom:0;height:100%;object-fit:cover}
.advisor-card .ac-fade{position:absolute;inset:0;background:linear-gradient(95deg,#f6efe2 56%,rgba(246,239,226,0) 84%);pointer-events:none}
.advisor-card .ac-text{position:absolute;left:22px;top:18px;pointer-events:none}

.toast{
  position:fixed;bottom:28px;left:50%;transform:translateX(-50%) translateY(18px) scale(.96);
  background:#1d1b18;color:#f7f2ea;padding:18px 36px;border-radius:16px;font-size:17px;
  font-weight:500;letter-spacing:.02em;line-height:1.35;min-width:min(420px,calc(100% - 32px));
  text-align:center;opacity:0;pointer-events:none;
  transition:opacity .32s ease, transform .32s ease;z-index:120;
  box-shadow:0 16px 40px rgba(60,45,25,.22);
}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}

/* ========== body modifiers ========== */
body.page-home{background:#e9e2d9}
body.page-cream{background:var(--cream)}

/* ========== layout utilities used by storefront ========== */
.gap-5{gap:5px}
.gap-6{gap:6px}
.gap-7{gap:7px}
.gap-8{gap:8px}
.gap-9{gap:9px}
.gap-10{gap:10px}
.gap-11{gap:11px}
.gap-12{gap:12px}
.gap-13{gap:13px}
.gap-14{gap:14px}
.gap-16{gap:16px}
.gap-18{gap:18px}
.gap-20{gap:20px}
.gap-22{gap:22px}
.gap-24{gap:24px}
.gap-26{gap:26px}
.gap-27{gap:27px}
.gap-29{gap:29px}
.gap-30{gap:30px}
.gap-34{gap:34px}
.gap-44{gap:44px}
.flex-none{flex:none}
.flex-1{flex:1;min-width:0}
.w-full{width:100%}
.mt-0{margin-top:0}
.relative{position:relative}
.justify-center{justify-content:center}
.items-start{align-items:flex-start}
.items-end{align-items:flex-end}
.items-baseline{align-items:baseline}
.text-center{text-align:center}
.text-right{text-align:right}
.shrink-0{flex-shrink:0}

/* ========== footer component styles ========== */
.site-footer .logo{height:48px;overflow:visible}
.footer-tagline{margin:40px 0 0;padding:0;font-size:12.5px;line-height:1.7;color:var(--text-mute);max-width:200px;overflow-wrap:break-word;position:relative;z-index:1}
.footer-blurb{margin:16px 0 0;font-size:12.5px;line-height:1.8;color:var(--text-mute)}
.newsletter-input{display:flex;margin-top:22px;background:#fff;border:1px solid #e5ddd1;border-radius:9px;overflow:hidden;max-width:250px}
.newsletter-input input{flex:1;border:0;outline:0;padding:12px 14px;font-family:var(--font-sans);font-size:12px;color:#33302b;background:transparent}
.newsletter-input button{background:var(--gold-grad);color:#fff;padding:12px 18px;font-size:10.5px;letter-spacing:.12em;border:0}
.footer-contact-row{display:flex;align-items:flex-start;gap:10px;overflow-wrap:anywhere;line-height:1.55}
.footer-contact-row svg{flex:none;margin-top:2px}
.footer-contact-row.top{align-items:flex-start}
.footer-contact-row.top svg{margin-top:3px}
.pay-badge.visa{color:#1a1f71;font-style:italic}
.pay-badge.mastercard{display:flex;gap:2px;align-items:center}
.pay-badge.mastercard .mc-r{width:9px;height:9px;border-radius:50%;background:#eb001b}
.pay-badge.mastercard .mc-y{width:9px;height:9px;border-radius:50%;background:#f79e1b;margin-left:-4px}
.pay-badge.amex{background:#2e77bc;border-radius:5px;padding:5px 8px;font-size:8px;font-weight:600;color:#fff;letter-spacing:.02em;border:0}
.pay-badge.cliq{color:#b5852f}

/* ========== nav-home icon cart badge tweak ========== */
.navbar-home .cart-badge{top:-5px;right:-5px;width:17px;height:17px;font-size:10px}

/* ========== compact topnav (offers / eye-test) ========== */
.compact-topnav{display:flex;align-items:center;gap:26px;padding:14px 26px}
.compact-topnav .ct-loc{display:flex;align-items:center;gap:8px;font-size:13px;color:#4a443e;flex:none}
.compact-topnav .ct-links{display:flex;align-items:center;gap:24px;font-size:13px;color:#4a443e;flex:none}
.compact-topnav .ct-links .has-caret{display:flex;align-items:center;gap:6px}
.compact-topnav .ct-links a.active{color:var(--gold)}
.compact-topnav .ct-icons{display:flex;align-items:center;gap:20px;flex:none}
.compact-topnav .hot-wrap{position:relative}
.compact-topnav .hot-badge{position:absolute;top:-15px;right:-22px;background:#c8452f;color:#fff;border-radius:4px;padding:2px 5px;font-size:8.5px}

.panel-surface{background:#fff;border-radius:16px;overflow:hidden;box-shadow:var(--shadow-panel)}


/* ========== basket.blade.php ========== */
.bk-wrap{width:1440px;margin:0 auto;padding:24px;box-sizing:border-box}
  .bk-body{display:flex;gap:24px;padding:26px 30px 0;align-items:flex-start}
  .bk-title{font-family:var(--font-serif);font-size:32px;color:var(--ink)}
  .bk-item{position:relative;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;gap:20px;padding:16px}
  .bk-item .bi-img{width:150px;height:112px;flex:none;border-radius:9px;overflow:hidden;background:#f2ece2}
  .bk-item .bi-img img{width:100%;height:100%;object-fit:cover}
  .bk-item .bi-name{font-family:var(--font-serif);font-size:19px;color:var(--ink)}
  .bk-item .bi-code{font-size:12.5px;color:var(--text-faint);margin-top:8px}
  .bk-item .bi-actions{display:flex;gap:22px;margin-top:16px;font-size:12px}
  .bk-item .bi-right{width:200px;flex:none;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;padding:26px 4px 6px}
  .bk-item .bi-price{font-family:var(--font-serif);font-size:17px;color:var(--ink)}
  .bk-coupon{width:250px;flex:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px}
  .bk-summary{width:290px;flex:none;display:flex;flex-direction:column;gap:16px}
  .summary-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
  .summary-line{display:flex;justify-content:space-between;font-size:13px}
  .summary-total{display:flex;justify-content:space-between;align-items:baseline;margin-top:16px;padding-top:16px;border-top:1px solid var(--line-soft)}
  .info-callout{display:flex;gap:13px;margin-top:18px;background:#faf5ec;border:1px solid #f0e6d5;border-radius:9px;padding:15px}

/* ========== checkout.blade.php ========== */
.ck-wrap{width:1440px;margin:0 auto;padding:24px;box-sizing:border-box}
  .ck-header{padding:26px 34px 0}
  .ck-header h1{margin:0;font-family:var(--font-serif);font-weight:400;font-size:40px;color:var(--ink)}
  .ck-cols{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1fr);gap:20px;padding:22px 34px 0;align-items:start}
  .ck-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px}
  .ck-card h3{margin:0;font-family:var(--font-serif);font-size:19px;color:var(--ink);font-weight:400}
  .ck-summary-item{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line-soft)}
  .ck-summary-item img{width:78px;height:64px;border-radius:8px;object-fit:cover;background:#f2ece2}
  .ship-opt{display:flex;align-items:center;gap:14px;border:1px solid var(--border-input);border-radius:9px;padding:14px 15px;cursor:pointer}
  .ship-opt.active{border:1.5px solid #cfae72;background:#fdfaf4}
  .pay-opt{display:flex;align-items:center;gap:14px;border:1px solid var(--border-input);border-radius:9px;padding:14px 15px;cursor:pointer}
  .pay-opt.active{border:1.5px solid #cfae72;background:#fdfaf4}
  .pay-opt.info{background:#faf6ef;border:0}
  .ck-footer{display:flex;align-items:center;justify-content:space-between;padding:26px 34px 30px;margin-top:22px}

/* ========== eye-test-confirmation.blade.php ========== */
.etc-wrap{width:820px;margin:0 auto;padding:24px;box-sizing:border-box}
  .etc-card{background:#fff;border-radius:16px;box-shadow:var(--shadow-panel);padding:48px;text-align:center}
  .etc-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid var(--line-soft);font-size:13px}

/* ========== eye-test.blade.php ========== */
.et-wrap{width:1440px;margin:0 auto;padding:24px;box-sizing:border-box}
  .et-topnav{display:flex;align-items:center;gap:26px;padding:14px 26px}
  .et-hero{padding:36px 26px 10px;text-align:center}
  .et-body{display:flex;gap:24px;padding:20px 26px 40px;align-items:flex-start}
  .et-card{flex:1;min-width:0;background:#faf7f2;border:1px solid var(--line-soft);border-radius:14px;padding:26px}
  .et-side{width:320px;flex:none;display:flex;flex-direction:column;gap:16px}
  .et-side .box{background:#faf7f2;border:1px solid var(--line-soft);border-radius:14px;padding:20px}
  .et-label{font-size:11.5px;color:var(--text-faint);margin-bottom:8px;display:block}
  .et-input{width:100%;border:1px solid var(--line-soft);border-radius:8px;padding:12px 13px;font-size:13px;color:#33302b;font-family:var(--font-sans);background:#fff}
  .et-input:focus{outline:none;border-color:#c9962f}
  .day-pill{flex:none;border:1px solid var(--line-soft);border-radius:9px;padding:10px 14px;font-size:12px;color:#5b5349;background:#fff;cursor:pointer;white-space:nowrap}
  .day-pill.active{background:#1b1815;color:#fff;border-color:#1b1815}
  .slot{border:1px solid var(--line-soft);border-radius:8px;padding:10px 0;text-align:center;font-size:12.5px;color:#5b5349;background:#fff;cursor:pointer}
  .slot.active{background:linear-gradient(100deg,#c08f38,#a06f22);color:#fff;border-color:transparent}
  .slot.full{opacity:.4;cursor:not-allowed;text-decoration:line-through}
  .slots-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
  .et-error{font-size:11px;color:#c8452f;margin-top:6px}

/* ========== home.blade.php ========== */
  .hero{position:relative;margin:18px 34px 0;height:560px;border-radius:16px;overflow:hidden;background:linear-gradient(105deg,#f6f0e7 0%,#f3ece2 46%,#efe6da 100%)}
  .hero .hero-img{position:absolute;right:0;top:0;width:760px;height:100%;object-fit:cover}
  .hero .hero-fade{position:absolute;left:0;top:0;width:640px;height:100%;background:linear-gradient(90deg,#f6f0e7 62%,rgba(246,240,231,0) 100%);pointer-events:none}
  .hero .hero-copy{position:absolute;left:96px;top:88px;width:520px;pointer-events:none}
  .hero .hero-eyebrow{font-size:12px;letter-spacing:.3em;color:var(--gold);margin-bottom:22px}
  .hero h1{margin:0;font-family:var(--font-serif);font-weight:400;font-size:57px;line-height:1.12;color:var(--ink);letter-spacing:-.01em}
  .hero .hero-rule{width:62px;border-top:2px solid #c9a15a;margin:26px 0 24px}
  .hero p{margin:0;font-size:14.5px;line-height:1.85;color:var(--text-mute);max-width:290px}
  .hero .hero-ctas{display:flex;gap:16px;margin-top:34px;pointer-events:auto}
  .hero .hero-trust{display:flex;align-items:flex-start;justify-content:space-between;gap:0;margin-top:34px;width:min(640px,100%);flex-wrap:nowrap}
  .hero .hero-trust .ht-item{display:flex;flex-direction:column;align-items:flex-start;flex:1 1 0;min-width:0;padding-right:12px;margin-right:12px;border-right:1px solid #e0d7c9;text-align:left}
  .hero .hero-trust .ht-a{font-size:11.5px;color:#38342f;font-weight:500;line-height:1.3}
  .hero .hero-trust .ht-b{font-size:10px;color:var(--text-faint);margin-top:2px;line-height:1.35}
  .hero .dots-left{position:absolute;left:34px;top:50%;transform:translateY(-50%);background:#fff;border-radius:22px;padding:11px 8px;display:flex;flex-direction:column;gap:11px;align-items:center;box-shadow:0 4px 14px rgba(60,45,25,.08)}
  .hero .avatars{position:absolute;right:64px;bottom:52px;background:rgba(255,255,255,.9);backdrop-filter:blur(6px);border-radius:44px;padding:9px;display:flex;align-items:center;gap:10px;box-shadow:0 8px 22px rgba(60,45,25,.10)}
  .hero .avatars img{width:44px;height:44px;border-radius:50%;object-fit:cover}
  .hero .avatars .plus{width:44px;height:44px;border-radius:50%;background:#f4efe7;display:flex;align-items:center;justify-content:center}

  .brand-strip{margin:20px 34px 0;background:#fff;border-radius:14px;box-shadow:var(--shadow-card);display:flex;align-items:center;gap:8px;padding:18px 22px 18px 12px}
  .brand-strip-track{flex:1;min-width:0;display:flex;align-items:center;gap:4px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
  .brand-strip-track::-webkit-scrollbar{display:none}
  .brand-item{flex:none;height:56px;min-width:108px;padding:0 18px;display:flex;align-items:center;justify-content:center;text-decoration:none;opacity:.88;transition:opacity .2s ease}
  .brand-item:hover{opacity:1}
  .brand-logo{height:26px;width:auto;max-width:140px;object-fit:contain;object-position:center;display:block;flex:none}
  .brand-fallback{font-family:var(--font-serif);font-size:15px;color:#33302b;letter-spacing:.08em;white-space:nowrap}
  .brand-item .b-name{font-family:var(--font-serif);font-size:19px;color:#33302b}
  .brand-item .b-sub{font-size:8px;letter-spacing:.22em;color:#9a9188}

  .cat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px;margin:22px 34px 0}

  .featured{display:flex;flex-direction:column;gap:20px;margin:28px 34px 0}
  .featured .feat-intro{width:auto;padding:10px 12px 0;display:flex;flex-direction:column;align-items:center;text-align:center;gap:14px}
  .featured .feat-intro-copy{min-width:0;width:100%;max-width:640px}
  .featured .feat-intro h2{margin:8px 0 0;font-family:var(--font-serif);font-weight:400;font-size:32px;line-height:1.15;color:var(--ink)}
  .featured .feat-eyebrow{font-size:11px;letter-spacing:.26em;color:var(--gold)}
  .featured .feat-intro p{margin:8px auto 0;font-size:13.5px;line-height:1.7;color:var(--text-mute);max-width:540px}
  .feat-viewall{display:inline-flex;align-items:center;gap:9px;margin-top:2px;font-size:11px;letter-spacing:.14em;color:var(--gold);flex:none;white-space:nowrap}
  .feat-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
  .feat-card{background:#fff;border-radius:14px;padding:14px;box-shadow:var(--shadow-card);min-width:0}
  .feat-card .fc-image{position:relative;height:172px;border-radius:10px;background:transparent;overflow:hidden}
  .feat-card .fc-image img{width:100%;height:100%;object-fit:contain;object-position:center;padding:4px 6px;box-sizing:border-box}
  .feat-card .fc-wish{position:absolute;right:8px;top:8px;width:28px;height:28px;border-radius:50%;background:rgba(255,255,255,.92);display:flex;align-items:center;justify-content:center;box-shadow:0 2px 6px rgba(60,45,25,.10)}
  .feat-card .fc-badge-oos{position:absolute;left:8px;top:8px;background:var(--vs-red);color:#fff;border-radius:7px;padding:6px 9px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;z-index:1;box-shadow:0 1px 2px rgba(0,0,0,.08)}
  .feat-card.is-out-of-stock .fc-image img{opacity:.55;filter:grayscale(.25)}
  .feat-card .fc-oos-text{font-size:11px;font-weight:600;color:#c8452f;background:#fdeceb;border:1px solid #f6d3cf;border-radius:7px;padding:6px 8px;white-space:nowrap}
  .feat-card .fc-brand{font-size:9.5px;letter-spacing:.2em;color:var(--text-faint2);margin-top:12px}
  .feat-card .fc-name{font-size:13px;color:#33302b;margin-top:6px}
  .feat-card .fc-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:8px}
  .feat-card .fc-price{font-family:var(--font-num);font-size:16px;color:var(--ink);font-variant-numeric:tabular-nums}
  .feat-card .fc-cart{width:32px;height:32px;border-radius:9px;background:#f6f2ec;display:flex;align-items:center;justify-content:center;border:0}

  .values-strip{margin:22px 34px 0;background:#fff;border-radius:12px;box-shadow:0 4px 16px rgba(60,45,25,.05);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));align-items:center;padding:12px 6px}
  .values-strip .v-item{display:flex;align-items:center;gap:8px;padding:2px 10px;border-right:1px solid var(--line-softer);min-width:0}
  .values-strip .v-item:last-child{border-right:0}
  .values-strip .v-item svg{flex:none;width:20px;height:20px}
  .values-strip .v-a{font-size:12px;color:#33302b;font-weight:500;line-height:1.25;white-space:nowrap}
  .values-strip .v-b{font-size:11px;color:var(--text-faint);margin-top:1px;line-height:1.3;white-space:nowrap}
  .values-points{display:flex;align-items:center;justify-content:space-between;gap:4px 0;padding:10px 6px;text-align:center}
  .values-points .v-item{flex:1 1 0;flex-direction:row;justify-content:center;padding:0 8px;font-size:12px;font-weight:500;color:#33302b;line-height:1.3;white-space:nowrap}
  .contact-strip{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 34px 0;padding:14px 10px}
  .contact-strip .v-a,.contact-strip .v-b{white-space:normal}
  .page .values-strip:last-child{margin:14px 34px 22px}

  .promo-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:22px 34px 0}
  .promo-box{position:relative;height:210px;border-radius:12px;overflow:hidden;background:#f7f3ec;box-shadow:0 4px 16px rgba(60,45,25,.05)}
  .promo-box .pb-img{position:absolute;right:0;bottom:0;width:58%;height:90%;object-fit:cover;object-position:right center}
  .promo-box .pb-fade{position:absolute;inset:0;pointer-events:none;z-index:1}
  .promo-box .pb-text{position:absolute;left:18px;top:18px;width:min(168px,52%);pointer-events:none;z-index:2}
  .promo-box .pb-title{font-family:var(--font-serif);font-size:18px;line-height:1.2;color:var(--ink)}
  .promo-box .pb-sub{margin:8px 0 0;font-size:11.5px;line-height:1.5;color:var(--text-mute)}
  .promo-box .pb-cta{position:absolute;left:18px;bottom:16px;display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:.14em;color:var(--gold);z-index:2}

/* ========== offers.blade.php ========== */
.of-wrap{width:1440px;margin:0 auto;padding:24px;box-sizing:border-box}
  .of-topnav{display:flex;align-items:center;gap:26px;padding:14px 26px}
  .of-hero{position:relative;margin:0 26px;height:400px;border-radius:14px;overflow:hidden;background:linear-gradient(100deg,#f4ece0 0%,#f0e6d6 58%,#ede2cf 100%)}
  .of-hero img{position:absolute;left:330px;top:0;width:760px;height:100%;object-fit:cover}
  .of-hero .oh-fade{position:absolute;inset:0;background:linear-gradient(100deg,#f4ece0 26%,rgba(244,236,224,0) 46%);pointer-events:none}
  .of-hero .oh-copy{position:absolute;left:66px;top:44px;width:330px}
  .countdown{display:flex;gap:14px;margin-top:26px}
  .countdown .cd{background:#fff;border-radius:9px;padding:12px 0;width:74px;text-align:center;box-shadow:0 3px 12px rgba(60,45,25,.07)}
  .of-hero .oh-pct{position:absolute;right:96px;top:88px;text-align:center;pointer-events:none}

  .of-trust{display:flex;align-items:center;padding:24px 26px;margin-top:6px;border-bottom:1px solid var(--line-soft)}
  .of-deals-head{padding:24px 26px 0;display:flex;align-items:center;justify-content:space-between}
  .of-deals-head .title{font-family:var(--font-serif);font-size:24px;color:var(--ink)}
  .of-deals{position:relative;padding:18px 26px 0}
  .deals-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px}
  .deal-card{border-radius:12px;padding:14px}
  .deal-card .dc-img{position:relative;height:120px;border-radius:9px;overflow:hidden;background:transparent}
  .deal-card .dc-img img{width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box}
  .deal-card .dc-off{position:absolute;left:8px;top:8px;background:#c8452f;color:#fff;border-radius:5px;padding:4px 8px;font-size:10.5px}
  .deal-card .dc-oos{position:absolute;left:8px;top:8px;background:#c8452f;color:#fff;border-radius:5px;padding:5px 9px;font-size:10px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;z-index:1}
  .deal-card.is-out-of-stock .dc-img img{opacity:.55;filter:grayscale(.25)}
  .deal-card .dc-oos-text{font-size:10.5px;font-weight:600;color:#c8452f;background:#fdeceb;border:1px solid #f6d3cf;border-radius:6px;padding:5px 8px;white-space:nowrap;align-self:center}
  .deal-card .dc-timer{position:absolute;right:8px;top:8px;background:rgba(255,255,255,.94);border-radius:5px;padding:4px 8px;font-size:10.5px;color:var(--text-soft)}

  .of-services{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;padding:26px 26px 0}
  .service-card{position:relative;height:150px;border-radius:12px;overflow:hidden;background:#f5f0e8}
  .service-card img{position:absolute;right:0;bottom:0;width:52%;height:100%;object-fit:cover}
  .service-card .sc-fade{position:absolute;inset:0;background:linear-gradient(100deg,#f6f2ea 50%,rgba(246,242,234,0) 80%);pointer-events:none}
  .service-card .sc-text{position:absolute;left:24px;top:24px;width:170px;pointer-events:none}

  .of-bottom{display:flex;align-items:center;gap:34px;padding:30px 26px 32px;margin-top:20px;border-top:1px solid var(--line-soft)}

/* ========== order-confirmation.blade.php ========== */
.oc-wrap{width:900px;margin:0 auto;padding:24px;box-sizing:border-box}
  .oc-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:48px;text-align:center;margin-top:20px}
  .oc-icon{width:72px;height:72px;border-radius:50%;background:#eef4ec;display:flex;align-items:center;justify-content:center;margin:0 auto}
  .oc-title{font-family:var(--font-serif);font-size:30px;color:var(--ink);margin-top:24px}
  .oc-sub{font-size:13.5px;color:var(--text-mute);margin-top:10px;line-height:1.8}
  .oc-number{display:inline-block;margin-top:20px;background:#faf5ec;border:1px solid #f0e6d5;border-radius:9px;padding:12px 26px;font-family:var(--font-serif);font-size:18px;color:#33302b;letter-spacing:.04em}
  .oc-summary{margin-top:34px;text-align:left;border-top:1px solid var(--line-soft);padding-top:24px}
  .oc-row{display:flex;justify-content:space-between;padding:10px 0;font-size:13px;border-bottom:1px solid var(--line-soft)}
  .oc-items{margin-top:16px}
  .oc-item{display:flex;justify-content:space-between;padding:8px 0;font-size:12.5px;color:var(--text-mute)}

/* ========== product.blade.php ========== */
.pd-wrap{display:flex;gap:20px;padding:24px;align-items:flex-start;width:1456px;box-sizing:border-box;margin:0 auto}
  .pd-main-col{width:100%;flex:none}

  .pd-gallery{display:flex;gap:18px;padding:0 30px}
  .pd-thumbs{display:flex;flex-direction:column;gap:12px;width:64px}
  .pd-thumb{height:64px;border-radius:9px;overflow:hidden;background:#f2ede4;border:1px solid #e8e0d4}
  .pd-thumb.active{border:1.5px solid #cbb488}
  .pd-thumb img{width:100%;height:100%;object-fit:cover}
  .pd-hero{position:relative;width:350px;height:360px;border-radius:12px;overflow:hidden;background:#efe8dd}
  .pd-hero img{width:100%;height:100%;object-fit:cover}
  .pd-pill{position:absolute;background:rgba(255,255,255,.94);border-radius:20px;font-size:11.5px;color:#33302b}

  .pd-info{flex:1;background:#fff;border:1px solid var(--line);border-radius:14px;padding:22px 24px}
  .pd-info .pd-brand{font-size:11.5px;letter-spacing:.2em;color:var(--text-faint)}
  .pd-info .pd-name{font-family:var(--font-serif);font-size:31px;color:var(--ink);margin-top:8px}
  .pd-info .pd-sku{font-size:14px;color:var(--text-mute);margin-top:8px}
  .pd-price-row{display:flex;align-items:center;justify-content:space-between;padding:18px 0;margin-top:8px;border-top:1px solid var(--line-soft);border-bottom:1px solid var(--line-soft)}
  .pd-price{font-family:var(--font-num);font-size:24px;color:var(--ink);font-variant-numeric:tabular-nums}
  .pd-swatches{display:flex;gap:12px;margin-top:12px}
  .pd-lens-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:11px}
  .pd-lens{border:1px solid #e8e0d4;border-radius:9px;padding:12px 0;text-align:center}
  .pd-lens.active{border:1.5px solid var(--gold);background:#fdfaf4}
  .pd-cta-row{display:flex;gap:14px;margin-top:20px}
  .pd-cta-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:13px}
  .pd-cta-2 span{border:1px solid #e8e0d4;background:#fff;border-radius:9px;padding:13px 0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13.5px;color:var(--text)}

  .pd-details-row{display:flex;gap:18px;padding:18px 30px 0;align-items:flex-start}
  .pd-details{width:430px;flex:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px 22px}
  .pd-specs{display:grid;grid-template-columns:1fr 1fr;gap:12px 26px;margin-top:20px}
  .pd-spec{display:flex;align-items:center;gap:10px}
  .pd-spec .k{font-size:12px;color:#33302b;flex:1}
  .pd-spec .v{font-size:12px;color:var(--text-faint);min-width:84px}

  .pd-related{flex:1;position:relative}
  .pd-related-grid{position:relative;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:14px}
  .pd-related-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}
  .pd-related-card .rc-img{position:relative;height:104px;background:#f1ebe1}
  .pd-related-card .rc-img img{width:100%;height:100%;object-fit:cover}

  .pd-strip{margin:16px 30px 0;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;padding:16px 0;width:530px}
  .pd-strip2{margin:18px 30px 24px;background:#fff;border:1px solid var(--line);border-radius:12px;display:flex;align-items:center;padding:18px 0}
  .advisor-card{position:relative;border-radius:12px;overflow:hidden}
  .advisor-card img{position:absolute;right:0;bottom:0;object-fit:cover;height:100%}
  .advisor-card .ac-fade{position:absolute;inset:0;background:linear-gradient(95deg,#f6f1e7 44%,rgba(246,241,231,0) 78%)}
  .advisor-card .ac-text{position:absolute;left:22px;top:20px}

/* ========== sunglasses.blade.php ========== */
.sg-wrap{width:1440px;margin:0 auto;padding:24px;box-sizing:border-box}
  .sg-hero-row{display:flex;gap:26px;padding:14px 34px 0;align-items:flex-start}
  .sg-hero-row h1{margin:0;font-family:var(--font-serif);font-weight:400;font-size:46px;color:var(--ink)}
  .sg-banner{position:relative;width:460px;height:184px;flex:none;border-radius:12px;overflow:hidden;background:linear-gradient(95deg,#f2ebe0,#eee5d8)}
  .sg-banner img{position:absolute;right:0;top:0;width:250px;height:100%;object-fit:cover}
  .sg-banner .sb-fade{position:absolute;inset:0;background:linear-gradient(95deg,#f2ebe0 46%,rgba(242,235,224,0) 74%);pointer-events:none}
  .sg-banner .sb-text{position:absolute;left:30px;top:28px;pointer-events:none}
  .sg-banner .sb-title{font-family:var(--font-serif);font-size:25px;line-height:1.25;color:var(--ink)}
  .sg-banner .sb-sub{font-size:12.5px;line-height:1.7;color:var(--text-mute);margin-top:14px}
  .sg-banner .sb-cta{position:absolute;left:30px;bottom:26px;display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--gold)}

  .sg-body{display:flex;gap:22px;padding:24px 34px 0;align-items:flex-start}
  .sg-filters{width:225px;flex:none;background:#fff;border:1px solid var(--line);border-radius:12px;padding:20px}
  .sg-filters h3{margin:0;font-family:var(--font-serif);font-size:17px;color:var(--ink);font-weight:400}
  .filter-label{font-size:12.5px;color:#33302b;margin-top:20px}
  .filter-list{display:flex;flex-direction:column;gap:12px;margin-top:12px}
  .filter-row{display:flex;align-items:center;gap:10px}
  .filter-row span.name{flex:1;font-size:12px;color:var(--text-soft)}
  .filter-row span.count{font-size:11px;color:var(--text-faint2)}

  .sg-results{flex:1;min-width:0}
  .results-bar{background:#fff;border:1px solid var(--line);border-radius:12px;padding:16px 20px}
  .results-bar-top{display:flex;align-items:center;justify-content:space-between}
  .results-trust{display:flex;margin-top:16px;padding-top:14px;border-top:1px solid var(--line-soft)}

  .sg-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:18px}

  .rows-section{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:26px;padding:30px 34px 34px}
  .row-head{display:flex;align-items:baseline;justify-content:space-between}
  .row-head span.title{font-family:var(--font-serif);font-size:21px;color:var(--ink)}
  .row-thumbs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px}
  .row-thumb{position:relative;height:112px;border-radius:12px;overflow:hidden;background:#f2ece2}
  .row-thumb img{width:100%;height:100%;object-fit:cover}

/* ========== home extras (moved from inline) ========== */
.hero-cta-shop{gap:44px}
.hero-cta-test{gap:30px}
.hero-trust .ht-item:last-child{border-right:0}
.hero .dot-active{width:9px;height:9px;border-radius:50%;background:#1d1b18;box-shadow:0 0 0 3px #f0e9de}
.hero .dot{width:7px;height:7px;border-radius:50%;background:#ddd4c7}
.hero .dot-gold{width:7px;height:7px;border-radius:50%;background:#c9a15a}
.brand-viewall{flex:none;border-radius:9px;padding:11px 14px;font-size:9.5px;letter-spacing:.13em;color:#4a443e;text-align:center;line-height:1.5;border:1px solid #e6ded2;background:#fff}
.brand-item .b-name.ls-22{letter-spacing:.22em}
.brand-item .b-name.ls-16{letter-spacing:.16em;font-weight:500}
.brand-item .b-name.ls-06{letter-spacing:.06em}
.brand-item .b-name.ls-02{letter-spacing:.02em;font-weight:700}
.brand-item .b-name.italic{font-style:italic;font-weight:500}
.brand-item .b-name.ls-14{letter-spacing:.14em}
.brand-item .b-name.ls-04{letter-spacing:.04em;font-weight:600}
.brand-item .b-name.ls-06w{letter-spacing:.06em;font-weight:700}
.feat-grid-wrap{min-width:0}
.fc-image-link{display:block;position:relative}
.promo-box .pb-img-eyetest{object-position:78% center}
.promo-box .pb-img-store{width:60%;object-position:88% center}
.promo-box .pb-img-wa{width:62%;object-position:72% 42%}
.promo-box .pb-fade-light{background:linear-gradient(115deg,#f8f4ed 42%,rgba(248,244,237,.5) 64%,rgba(248,244,237,0) 88%)}
.promo-box .pb-cta-wa{bottom:14px;gap:8px}
.wa-icon{width:26px;height:26px;border-radius:50%;background:#eef4ec;display:flex;align-items:center;justify-content:center}
.wa-label{font-size:10px;letter-spacing:.14em;color:#33302b}

/* ========== shared alerts / empty ========== */
.flash-ok{background:#eaf7f1;color:#3f8a5c;border:1px solid #cfeee0;border-radius:9px;padding:12px 16px;font-size:12.5px;margin-bottom:18px}
.flash-ok.inline{margin:16px 30px 0;padding:12px 16px;background:#eef4ec;border-radius:8px;font-size:12.5px;color:#33302b;border:0}
.muted-empty{font-size:12px;color:#a9a094}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.mt-14{margin-top:14px}
.mt-18{margin-top:18px}
.mt-20{margin-top:20px}
.mt-22{margin-top:22px}
.btn-block-gold{margin-top:20px;width:100%;justify-content:center;padding:14px 0;font-size:13.5px}
.et-input.mb-16{margin-bottom:16px}
.et-input.resize{resize:vertical}
.day-row{display:flex;gap:9px;overflow-x:auto;padding-bottom:4px}
.et-side-title{font-family:var(--font-serif);font-size:16px;color:#1d1b18}
.et-side-list{display:flex;flex-direction:column;gap:12px;margin-top:14px;font-size:12px;color:#6d655e;line-height:1.6}
.et-side-addr{font-size:12px;color:#6d655e;margin-top:10px;line-height:1.7}
.et-hero-eyebrow{display:flex;align-items:center;justify-content:center;gap:9px;font-size:12.5px;letter-spacing:.2em;color:var(--gold)}
.et-hero-title{font-family:var(--font-serif);font-size:34px;color:#1d1b18;margin-top:14px}
.et-hero-sub{font-size:13.5px;color:#6d655e;margin-top:10px}

/* offers extras */
.of-flash-eyebrow{display:flex;align-items:center;gap:9px;font-size:12.5px;letter-spacing:.2em;color:var(--gold)}
.of-flash-title{font-family:var(--font-serif);font-size:42px;line-height:1.15;color:#1d1b18;margin-top:16px}
.of-flash-sub{font-size:14px;line-height:1.8;color:#6d655e;margin-top:16px}
.countdown .cd-val{font-family:var(--font-serif);font-size:22px;color:#1d1b18}
.countdown .cd-label{font-size:10.5px;color:var(--text-faint);margin-top:4px}
.of-pct-up{font-family:var(--font-serif);font-size:20px;letter-spacing:.14em;color:#9a7833}
.of-pct-num{font-family:var(--font-serif);font-size:82px;line-height:1;color:#a4762a;margin-top:6px}
.of-pct-num span{font-size:44px}
.of-pct-off{font-family:var(--font-serif);font-size:20px;letter-spacing:.3em;color:#9a7833;margin-top:8px}
.of-cta{width:max-content;margin-top:28px;padding:16px 24px;font-size:14px}
.deal-card.bordered{border:1px solid var(--line);background:#fff}
.deal-card .dc-brand{font-size:12.5px;color:var(--text-soft);margin-top:14px}
.deal-card .dc-name{font-size:12.5px;color:#33302b;margin-top:5px}
.deal-card .dc-stars{display:flex;align-items:center;gap:7px;margin-top:9px}
.deal-card .dc-stars .stars{font-size:11.5px}
.deal-card .dc-reviews{font-size:11px;color:var(--text-faint)}
.deal-card .dc-bottom{display:flex;align-items:flex-end;justify-content:space-between;margin-top:12px}
.deal-card .dc-price{font-size:14.5px;color:#1d1b18;font-weight:500}
.deal-card .dc-was{font-size:11.5px;color:#b3aaa0;text-decoration:line-through;margin-top:4px}
.deal-card .dc-cart{width:28px;height:28px;border-radius:7px;background:#f7f3ec;display:flex;align-items:center;justify-content:center;border:0}
.service-card .sc-title{font-family:var(--font-serif);font-size:19px;color:#1d1b18}
.service-card .sc-sub{font-size:12.5px;line-height:1.65;color:var(--text-mute);margin-top:10px}
.service-card .sc-cta{position:absolute;left:24px;bottom:22px;display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--gold)}
.of-bottom-copy{flex:none}
.of-bottom-title{font-family:var(--font-serif);font-size:17px;color:#1d1b18}
.of-bottom-sub{font-size:12px;color:var(--text-faint);margin-top:7px}
.of-newsletter{flex:none;border:1px solid #e5ddd1;border-radius:8px;overflow:hidden;display:flex}
.of-newsletter input{border:0;outline:0;padding:12px 14px;width:150px;font-family:var(--font-sans);font-size:12px;color:#33302b;background:#fff}
.of-newsletter button{background:var(--gold-grad-btn);color:#fff;padding:12px 18px;font-size:12.5px;border:0}
.of-bottom-trust{flex:1;display:flex;align-items:center;gap:26px}
.of-bottom-trust .item{flex:1;display:flex;align-items:center;gap:11px}
.of-bottom-trust .a{font-size:12px;color:#33302b}
.of-bottom-trust .b{font-size:11px;color:var(--text-faint);margin-top:3px}
.trust-item.no-border{border-right:0}

/* sunglasses extras */
.sg-intro{flex:1;padding-top:12px}
.sg-intro p{margin:14px 0 0;font-size:13.5px;line-height:1.8;color:var(--text-mute);max-width:400px}
.sg-tabs{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap}
.sg-tabs .tab-pill{text-decoration:none}
.
.sg-tabs-brands{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin}
.sg-tabs-brands .tab-pill{flex:none;white-space:nowrap}
.facet-extra.is-hidden{display:none}
.sg-clear{font-size:11.5px;color:var(--gold);background:none;border:0;padding:0;cursor:pointer;font-family:var(--font-sans)}
.sg-search{display:flex;align-items:center;gap:8px;margin-top:16px;border:1px solid var(--border-input);border-radius:8px;padding:8px 10px;background:#fff}
.sg-search input{border:0;outline:0;width:100%;font-size:12px;color:#33302b;background:transparent;font-family:var(--font-sans)}
.sg-search input::placeholder{color:#b3aaa0}
.sg-view-more{display:inline-flex;align-items:center;gap:6px;margin-top:12px;background:none;border:0;padding:0;font-size:11.5px;color:var(--gold);cursor:pointer;font-family:var(--font-sans)}
.brand-extra.is-hidden{display:none}
.filter-row input[type="checkbox"],.filter-row input[type="radio"]{accent-color:var(--gold);width:14px;height:14px;flex:none}
.shape-row .shape-icon{width:28px;display:flex;align-items:center;justify-content:center;color:#8a8176}
.sg-range{margin-top:14px}
.sg-range-track{position:relative;height:28px}
.sg-range-track::before{content:"";position:absolute;left:0;right:0;top:50%;height:3px;margin-top:-1.5px;background:#e8dfd2;border-radius:99px}
.sg-range-fill{position:absolute;top:50%;height:3px;margin-top:-1.5px;background:var(--gold);border-radius:99px;pointer-events:none}
.sg-range-track input[type="range"]{position:absolute;left:0;width:100%;top:50%;margin:0;transform:translateY(-50%);pointer-events:none;appearance:none;background:transparent;height:28px}
.sg-range-track input[type="range"]::-webkit-slider-thumb{appearance:none;pointer-events:auto;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--gold);box-shadow:0 1px 3px rgba(0,0,0,.12);cursor:pointer}
.sg-range-track input[type="range"]::-moz-range-thumb{pointer-events:auto;width:14px;height:14px;border-radius:50%;background:#fff;border:2px solid var(--gold);cursor:pointer}
.sg-range-labels{display:flex;justify-content:space-between;font-size:11.5px;color:var(--text-mute);margin-top:4px}
.sg-price-inputs{display:flex;gap:8px;margin-top:12px}
.sg-price-inputs input{width:50%;border:1px solid var(--border-input);border-radius:6px;padding:6px;font-size:11.5px}
.sg-apply{margin-top:20px;padding:11px 0;font-size:12px}
.results-count{font-size:14px;color:#33302b}
.results-tools{display:flex;align-items:center;gap:16px}
.results-sort{display:flex;align-items:center;gap:16px}
.results-sort-label{display:flex;align-items:center;gap:9px;font-size:12.5px;color:var(--text-mute)}
.results-sort select{border:0;background:transparent;color:#33302b;font-size:12.5px;font-family:var(--font-sans)}
.view-toggle{display:flex;gap:6px}
.view-btn{width:30px;height:30px;border-radius:7px;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;color:#9a9186;cursor:pointer;padding:0;font:inherit}
.view-btn.active{background:#f8f0e2;border-color:#e4cfa5;color:var(--gold)}
.filter-list.shapes{gap:13px}
.pc-cart-btn{background:none;border:0;display:flex;align-items:center;justify-content:center;width:100%;height:100%;color:#b5852f;cursor:pointer;padding:0}
.pc-cart-form{display:inline-flex;width:100%;height:100%}
.empty-grid{grid-column:1/-1;color:var(--text-mute)}
.sg-grid.is-list{grid-template-columns:1fr}
.sg-grid.is-list .product-card{display:grid;grid-template-columns:180px minmax(0,1fr);gap:0}
.sg-grid.is-list .pc-image{height:140px}
.sg-results.is-loading{opacity:.55;pointer-events:none;transition:opacity .2s ease}
.sg-search{position:relative}
.sg-search-spinner{position:absolute;inset-inline-end:10px;top:50%;transform:translateY(-50%);width:14px;height:14px;border:1.5px solid #e4d9c8;border-top-color:var(--gold);border-radius:50%;animation:sg-spin .7s linear infinite;display:none}
.sg-search.is-loading .sg-search-spinner{display:block}
@keyframes sg-spin{to{transform:translateY(-50%) rotate(360deg)}}
.sg-grid-rest{margin-top:18px}
.sg-promo-trio{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:22px}
.sg-promo{position:relative;height:148px;border-radius:12px;overflow:hidden;background:#f2ebe0;display:block;text-decoration:none}
.sg-promo img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.sg-promo .sp-fade{position:absolute;inset:0;background:linear-gradient(100deg,rgba(249,245,239,.96) 36%,rgba(249,245,239,.2) 78%)}
.sg-promo .sp-text{position:absolute;left:18px;top:18px;right:18px;z-index:1}
.sg-promo .sp-title{font-family:var(--font-serif);font-size:18px;color:#1d1b18;line-height:1.25}
.sg-promo .sp-sub{font-size:12px;color:var(--text-mute);margin-top:8px;line-height:1.5}
.sg-promo .sp-cta{position:absolute;left:18px;bottom:16px;display:inline-flex;align-items:center;gap:7px;font-size:12px;color:var(--gold);z-index:1}
.sg-pagination{margin-top:24px;display:flex;justify-content:center}
.sg-pages{display:flex;gap:8px;align-items:center}
.sg-page{display:inline-flex;align-items:center;justify-content:center;min-width:34px;height:34px;padding:0 10px;border-radius:8px;border:1px solid var(--line);background:#fff;color:#33302b;font-size:12.5px;text-decoration:none}
.sg-page.is-current{background:#f8f0e2;border-color:#e4cfa5;color:var(--gold)}
.sg-page.is-disabled{color:#c5bdb2;pointer-events:none}
.sg-carousels{display:flex;flex-direction:column;gap:34px;padding:34px}
.sg-carousel .row-viewall{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--gold);text-decoration:none}
.sg-carousel-track-wrap{position:relative;margin-top:16px}
.sg-carousel-track{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px;scrollbar-width:none}
.sg-carousel-track::-webkit-scrollbar{display:none}
.sg-carousel-track .product-card{flex:0 0 220px;scroll-snap-align:start}
.sg-carousel-next{position:absolute;right:-6px;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;border:1px solid var(--line);background:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.06)}
@media (max-width:1100px){
  .sg-wrap{width:100%}
  .sg-hero-row,.sg-body,.sg-carousels{padding-left:20px;padding-right:20px}
  .sg-banner{width:340px}
  .sg-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .sg-promo-trio{grid-template-columns:1fr}
}
@media (max-width:860px){
  .sg-hero-row{flex-direction:column}
  .sg-banner{width:100%}
  .sg-body{flex-direction:column}
  .sg-filters{width:100%}
  .sg-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* product extras */
.pd-gallery-left{display:flex;gap:14px;flex:none}
.pd-pill.badge{right:14px;top:14px;padding:7px 14px}
.pd-pill.wish{right:14px;bottom:16px;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.pd-head{display:flex;justify-content:space-between;align-items:flex-start}
.pd-rating{display:flex;align-items:center;gap:9px;margin-top:14px}
.pd-rating .stars{font-size:15px}
.pd-rating-text{font-size:12.5px;color:var(--text-mute)}
.pd-was{font-size:13px;color:var(--text-faint);text-decoration:line-through;margin-left:8px}
.pd-color-label{margin-top:18px;font-size:12.5px;color:var(--text-soft)}
.pd-color-value{color:#33302b}

/* basket extras */
.bk-sub{font-size:13px;color:var(--text-mute);margin-top:9px}
.bk-list{display:flex;flex-direction:column;gap:16px;margin-top:22px}
.bk-item .bi-main{flex:1;padding-top:2px}
.bk-item .bi-name-link{color:inherit;text-decoration:none}
.bk-remove{display:flex;align-items:center;gap:7px;color:var(--danger);background:none;border:0;cursor:pointer}
.bk-qty{display:flex;align-items:center;gap:8px}
.qty-btn{border:1px solid var(--border-input);background:#fff;border-radius:6px;width:28px;height:28px;display:flex;align-items:center;justify-content:center;font-size:14px;color:var(--text)}
.qty-val{min-width:20px;text-align:center;font-size:13px}

/* checkout extras */
.ck-sub{font-size:13.5px;color:var(--text-mute);margin-top:10px}
.ck-stack{display:flex;flex-direction:column;gap:18px}
.ck-fields{display:flex;flex-direction:column;gap:15px;margin-top:16px}
.ck-fields-sm{display:flex;flex-direction:column;gap:14px;margin-top:16px}
.ck-city-label{font-size:11.5px;color:var(--text-faint);margin-top:14px}
.ck-city-field{margin-top:7px}
.ck-map{margin-top:14px;border-radius:10px;overflow:hidden;height:160px;background:#efe8dd}
.ck-map img{width:100%;height:100%;object-fit:cover}
.ck-notes-head{display:flex;align-items:baseline;gap:9px}
.ck-notes-head .t{font-family:var(--font-serif);font-size:19px;color:#1d1b18}
.ck-notes-head .o{font-size:12px;color:var(--text-faint2)}
.ck-step-line{width:150px;height:1px;background:#e2d9cb;margin:0 24px}
.ck-addr-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px}

/* confirmation extras */
.etc-check{width:56px;height:56px;border-radius:50%;background:#eaf7f1;display:flex;align-items:center;justify-content:center;margin:0 auto}
.etc-title{font-family:var(--font-serif);font-size:26px;color:#1d1b18;margin-top:20px}
.etc-sub{font-size:13.5px;color:#6d655e;margin-top:10px}
.etc-ref{font-family:monospace;font-size:16px;color:#1d1b18;background:#faf7f2;border-radius:8px;padding:10px 18px;display:inline-block;margin-top:10px}
.etc-details{text-align:left;margin-top:28px}
.etc-row .k{color:#8b8479}
.etc-row .v{color:#1d1b18}
.etc-row .v.status{color:#c9962f}
.etc-home{margin-top:28px;justify-content:center}
.oc-row .v{color:#33302b}
.oc-row .v.cap{text-transform:capitalize}
.oc-row .v.addr{text-align:right;max-width:400px}
.oc-row.total{border-bottom:0;font-size:16px;padding-top:14px;border-top:1px solid var(--line-soft)}
.oc-row.total .k{color:#33302b}
.oc-row.total .v{font-family:var(--font-serif);color:#1d1b18}
.oc-row.noborder{border-bottom:0}
.oc-row.noborder.mt{margin-top:8px}
.oc-home{margin-top:34px;padding:14px 34px;display:inline-flex}


/* ========== remaining product / basket / checkout classes ========== */
.pd-section-label{font-size:12.5px;color:var(--text-soft);margin-top:20px}
.pd-lens .ln{font-size:13px;color:#33302b}
.pd-lens .ls{font-size:11px;color:var(--text-faint);margin-top:4px}
.trust-icon{width:30px;height:30px;border-radius:50%;background:#f8f3e9;display:flex;align-items:center;justify-content:center;flex:none}
.trust-icon.sm{width:28px;height:28px}
.pd-section-title{font-family:var(--font-serif);font-size:19px;color:#1d1b18}
.pd-desc{margin:14px 0 0;font-size:12.5px;line-height:1.85;color:var(--text-mute)}
.pd-related-card .rc-body{padding:14px 14px 16px}
.pd-related-card .rc-brand{font-size:12px;color:var(--text-faint)}
.pd-related-card .rc-name{font-size:13.5px;color:#33302b;margin-top:6px}
.pd-related-card .rc-sku{font-size:11.5px;color:var(--text-faint);margin-top:5px}
.pd-related-card .rc-price{font-family:var(--font-serif);font-size:14.5px;color:#1d1b18;margin-top:12px}
.advisor-card.pd{margin-top:16px;height:112px}
.advisor-card.pd img{width:210px}
.advisor-card .ac-title{font-family:var(--font-serif);font-size:17px;color:#1d1b18}
.advisor-card .ac-sub{font-size:12px;color:var(--text-mute);margin-top:7px}
.advisor-card .ac-btn{position:absolute;left:22px;bottom:16px;padding:10px 18px;gap:34px;font-size:12.5px}
.pd-cta-row .btn-gold{flex:1}
.pd-strip2 .trust-item{border-right:1px solid var(--line-softer)}
.pd-strip2 .trust-item:last-child{border-right:0}
.swatch.c1{background:#7a4a24}.swatch.c2{background:#3a3a3a}.swatch.c3{background:#6d7358}.swatch.c4{background:#8f5a1e}.swatch.c5{background:#eee6da}

.bk-empty{padding:40px;text-align:center;color:var(--text-mute)}
.bk-empty a{color:var(--gold)}
.bk-coupon-title{font-size:13px;color:#33302b}
.bk-coupon-error{color:var(--danger);font-size:11.5px;margin-top:6px}
.bk-coupon-ok{font-size:11.5px;color:#4e8a5c;margin-top:6px}
.summary-title{font-family:var(--font-serif);font-size:19px;color:#1d1b18}
.summary-line .v{color:#33302b}
.summary-line .v.ok{color:#4e8a5c}
.summary-total .k{font-size:14.5px;color:#33302b}
.summary-total .v{font-family:var(--font-serif);font-size:21px;color:#1d1b18}
.summary-total .v.ck{font-size:20px}
.info-callout .a{font-size:12.5px;color:#33302b}
.info-callout .b{font-size:11.5px;line-height:1.6;color:var(--text-faint)}
.info-callout svg{flex:none}
.bk-trust{margin:16px 30px 24px}
.bk-checkout-row{padding:0 30px 30px;text-align:right}
.bk-checkout-row .btn-gold{padding:16px 40px}
.bk-coupon-row{display:flex;gap:16px;margin-top:18px;align-items:stretch}
.bk-coupon-row .trust-strip{flex:1}

.ck-notes-box{position:relative;margin-top:14px;border:1px solid var(--border-input);border-radius:9px;padding:13px}
.ck-notes-box textarea{width:100%;box-sizing:border-box;height:66px;border:0;outline:0;resize:none;font-size:12.5px;color:#33302b;background:transparent}
.ck-hint{font-size:12px;color:var(--text-faint);margin-top:8px}
.ck-opts{display:flex;flex-direction:column;gap:13px;margin-top:15px}
.ship-opt .so-main,.pay-opt .po-main{flex:1}
.ship-opt .so-title,.pay-opt .po-title{font-size:13.5px;color:#33302b}
.ship-opt .so-sub,.pay-opt .po-sub{font-size:11.5px;color:var(--text-faint);margin-top:3px}
.ship-opt .so-price{font-size:13.5px;color:#33302b}
.ck-sum-head{display:flex;align-items:baseline;justify-content:space-between}
.ck-sum-head .t{font-family:var(--font-serif);font-size:19px;color:#1d1b18}
.ck-sum-head .n{font-size:12px;color:var(--text-faint)}
.ck-sum-items{display:flex;flex-direction:column;margin-top:16px}
.ck-sum-item-name{font-size:13px;color:#33302b}
.ck-sum-item-meta{font-size:11.5px;color:var(--text-faint);margin-top:5px}
.ck-sum-item-price{font-size:13px;color:#33302b;margin-top:6px;font-weight:500}
.ck-sum-item-qty{font-size:11px;color:var(--text-faint);margin-top:5px}
.ck-sum-lines{display:flex;flex-direction:column;gap:12px;margin-top:16px;font-size:12.5px}
.ck-vat{font-size:11px;color:var(--text-faint2);margin-top:5px}
.ck-advisor{position:relative;height:200px;border-radius:12px;overflow:hidden;background:linear-gradient(95deg,#f4ece0,#efe5d5)}
.ck-advisor img{position:absolute;right:0;bottom:0;width:230px;height:100%;object-fit:cover}
.ck-advisor .fade{position:absolute;inset:0;background:linear-gradient(95deg,#f4ece0 44%,rgba(244,236,224,0) 76%);pointer-events:none}
.ck-advisor .copy{position:absolute;left:24px;top:32px;width:170px}
.ck-advisor .title{font-family:var(--font-serif);font-size:21px;line-height:1.3;color:#1d1b18}
.ck-advisor .sub{font-size:12.5px;line-height:1.6;color:var(--text-mute);margin-top:10px}
.ck-footer .btn-outline{gap:13px;padding:15px 22px}
.ck-footer .hint{font-size:12px;line-height:1.6;color:var(--text-faint);text-align:center}
.ck-footer .btn-gold{padding:19px 96px;font-family:var(--font-serif);font-size:19px}

/* ========== account orders ========== */
.ao-wrap{width:900px;margin:0 auto;padding:24px;box-sizing:border-box}
.ao-title{font-family:var(--font-serif);font-size:32px;color:var(--ink);padding:20px 4px 0}
.ao-card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:18px 22px;margin-top:16px;display:flex;justify-content:space-between;align-items:center}
.ao-status{font-size:11px;text-transform:uppercase;letter-spacing:.08em;padding:5px 12px;border-radius:20px;background:#f6efe2;color:#8a6524}
.ao-num{font-family:var(--font-serif);font-size:17px;color:#1d1b18}
.ao-meta{font-size:12px;color:var(--text-mute);margin-top:6px}
.ao-right{display:flex;align-items:center;gap:20px}
.ao-total{font-family:var(--font-serif);font-size:16px;color:#1d1b18}
.ao-view{padding:9px 16px;font-size:11.5px}
.ao-empty{padding:60px 0;text-align:center;color:var(--text-mute)}
.ao-empty a{color:var(--gold)}

.flash-err{background:#fdeceb;color:#c8452f;border:1px solid #f6d3cf;border-radius:9px;padding:12px 16px;font-size:12.5px;margin-bottom:18px}
.flash-err.inline{margin:16px 30px 0}
button.swatch,.swatch{cursor:pointer;border:none;padding:0;appearance:none;-webkit-appearance:none;display:inline-block}
a.swatch{text-decoration:none}
.swatch:focus-visible{outline:2px solid var(--gold);outline-offset:3px}
.pd-thumb{cursor:pointer;padding:0;width:64px;display:block}
.pd-lens{cursor:pointer;background:#fff;font-family:inherit}
.pd-cta-2 a,.pd-cta-2 .pd-secondary-btn{border:1px solid #e8e0d4;background:#fff;border-radius:9px;padding:13px 0;display:flex;align-items:center;justify-content:center;gap:10px;font-size:13.5px;color:var(--text);font-family:inherit;width:100%;cursor:pointer;text-decoration:none}
.pd-cta-2 .pd-secondary-btn:disabled{opacity:.5;cursor:not-allowed}
.in-stock.is-out{background:var(--vs-red-bg);border-color:#f6d3cf;color:var(--vs-red)}
.in-stock.is-low{background:var(--vs-yellow-bg);border-color:#f5e6a8;color:var(--vs-yellow-text)}
body.page-pdp .in-stock.is-low{color:var(--vs-yellow-text);background:var(--vs-yellow-bg);border-color:#f5e6a8}
body.page-pdp .in-stock.is-low .gold-dot::before{background:var(--vs-yellow)}
.pd-add-btn:disabled,.btn-gold:disabled{opacity:.55;cursor:not-allowed}
.qty-stepper button{cursor:pointer}
