/** Shopify CDN: Minification failed

Line 497:122 Unexpected "/"

**/
/* ============================================================
   ULOAM Premium — theme.css  FINAL
   NOTE: No .product-title rule with fixed font-size.
   Title styling comes entirely from inline style in product-hero.liquid.
   ============================================================ */
:root {
  --brand-dark:         #0d0d0d;
  --brand-navy:         #1a2433;
  --brand-accent:       #2c6e49;
  --brand-accent-light: #4a9e6e;
  --brand-gold:         #c8973a;
  --brand-cream:        #f9f6f1;
  --brand-light:        #f2ede6;
  --brand-gray:         #6b7280;
  --brand-border:       #e5e0d8;
  --white:              #ffffff;
  --font-display: 'Playfair Display', Georgia, serif;
  --font-body:    'DM Sans', system-ui, sans-serif;
  --shadow:    0 4px 24px rgba(0,0,0,0.08);
  --shadow-lg: 0 12px 48px rgba(0,0,0,0.14);
}
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }
body { font-family:var(--font-body); color:var(--brand-dark); background:var(--white); font-size:16px; line-height:1.6; }
img  { display:block; max-width:100%; }

/* ── Topbar ── */
.topbar   { background:var(--brand-dark); color:var(--white); text-align:center; padding:10px 20px; font-size:13px; font-weight:500; letter-spacing:.04em; }
.topbar p { margin:0; }
.topbar span { color:var(--brand-gold); font-weight:700; }

/* ── Header ── */
header { background:var(--white); border-bottom:1px solid var(--brand-border); position:sticky; top:0; z-index:100; box-shadow:0 2px 12px rgba(0,0,0,.06); }
.header-inner { max-width:1280px; margin:0 auto; padding:0 24px; display:flex; align-items:center; justify-content:space-between; height:68px; }
.logo { font-family:var(--font-display); font-size:26px; font-weight:700; color:var(--brand-navy); text-decoration:none; letter-spacing:-.02em; }
.logo span { color:var(--brand-accent); }
nav { display:flex; gap:28px; }
nav a { font-size:14px; font-weight:500; color:var(--brand-navy); text-decoration:none; transition:color .2s; }
nav a:hover { color:var(--brand-accent); }
.header-actions { display:flex; align-items:center; gap:12px; }
.btn-cart { background:var(--brand-navy); color:var(--white); border:none; padding:9px 20px; border-radius:40px; font-size:13px; font-weight:600; cursor:pointer; transition:background .2s; font-family:var(--font-body); }
.btn-cart:hover { background:var(--brand-accent); }
.lang-switcher select { background:rgba(0,0,0,.07); border:1px solid var(--brand-border); color:var(--brand-navy); padding:5px 8px; border-radius:6px; font-size:12px; cursor:pointer; font-family:var(--font-body); }

/* ── Home hero ── */
.home-hero { width:100%; }

/* ── Product section ── */
.product-section { max-width:1280px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:start; }

/* Gallery */
.thumb {
  width:72px;
  height:90px;
  border-radius:8px;
  overflow:hidden;
  cursor:pointer;
  border:2px solid transparent;
  flex-shrink:0;
  transition:border-color .2s;
  background:var(--brand-cream);
  display:flex;
  align-items:center;
  justify-content:center;
}
.thumb.active { border-color:var(--brand-accent); }
.thumb img {
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  display:block;
}
.thumb-label {
  position:absolute;
  bottom:0;
  left:0;
  right:0;
  background:rgba(0,0,0,.5);
  color:#fff;
  font-size:10px;
  font-weight:700;
  text-align:center;
  padding:3px 4px;
  text-transform:uppercase;
  letter-spacing:.04em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:100%;
}

/* Product info */
.product-info { padding-top:8px; }
/* NOTE: No .product-title class rule here — title uses inline style only */
.product-badge  { display:inline-flex; align-items:center; gap:6px; background:#eef7f2; color:var(--brand-accent); font-size:12px; font-weight:600; letter-spacing:.06em; text-transform:uppercase; padding:5px 12px; border-radius:40px; margin-bottom:16px; }
.star-row       { display:flex; align-items:center; gap:8px; margin-bottom:20px; }
.stars          { color:#f59e0b; font-size:16px; letter-spacing:1px; }
.review-count   { font-size:13px; color:var(--brand-gray); text-decoration:underline; cursor:pointer; }
.trust-badges   { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:20px; }
.trust-badge    { background:var(--brand-cream); border:1px solid var(--brand-border); color:var(--brand-navy); font-size:11px; font-weight:600; letter-spacing:.05em; text-transform:uppercase; padding:5px 11px; border-radius:4px; }
.coupon-note    { background:#fff8ec; border:1px solid #fde68a; border-radius:8px; padding:12px 16px; font-size:13px; margin-bottom:16px; display:flex; align-items:center; gap:10px; }
.coupon-note__icon { font-size:18px; flex-shrink:0; }
.coupon-note strong { color:#92400e; }

/* Offer boxes */
.offer-box { border:2px solid var(--brand-border); border-radius:10px; padding:16px 20px; margin-bottom:12px; cursor:pointer; transition:border-color .2s,background .2s; }
.offer-box.uloam-open { border-color:var(--brand-accent); background:#f0faf5; }
.offer-box-header { display:flex; justify-content:space-between; align-items:center; }
.offer-label { display:flex; align-items:center; gap:10px; }
.offer-label-text { font-size:15px; font-weight:600; color:var(--brand-navy); }
.offer-radio { width:18px; height:18px; border-radius:50%; border:2px solid var(--brand-border); background:var(--white); flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.offer-radio--filled { border-color:var(--brand-accent); background:var(--brand-accent); }
.offer-radio-dot { width:8px; height:8px; border-radius:50%; background:var(--white); opacity:0; transition:opacity .2s; }
.offer-radio--filled .offer-radio-dot { opacity:1; }
.offer-tag { font-size:11px; font-weight:700; background:var(--brand-accent); color:var(--white); padding:3px 9px; border-radius:4px; text-transform:uppercase; letter-spacing:.05em; }
.offer-price-row { display:flex; align-items:center; gap:8px; margin-top:6px; padding-left:28px; }
.offer-price    { font-size:18px; font-weight:700; color:var(--brand-navy); }
.offer-original { font-size:14px; color:var(--brand-gray); text-decoration:line-through; }
.offer-saving   { font-size:12px; color:var(--brand-accent); font-weight:600; }
.offer-delivery { padding-left:28px; margin-top:4px; font-size:12px; color:var(--brand-gray); }
.offer-dropdown { overflow:hidden; max-height:0; opacity:0; margin-top:0; transition:max-height .42s cubic-bezier(.4,0,.2,1), opacity .3s, margin-top .3s; }
.dropdown-inner { border-top:1px dashed var(--brand-border); padding-top:14px; }
.bundle-timer   { background:linear-gradient(90deg,#eef2ff,#f0faf5); border:1px solid #c7d2fe; border-radius:8px; padding:8px 14px; font-size:13px; font-weight:600; color:#3730a3; text-align:center; margin-bottom:12px; }

/* Bundle cards */
.bcard { border:2px solid var(--brand-border); border-radius:10px; padding:14px 16px; margin-bottom:10px; cursor:pointer; transition:border-color .2s,background .2s; background:var(--white); }
.bcard:hover { border-color:#a5b4fc; }
.bcard-active { border-color:#7c3aed; background:#faf5ff; }
.bcard-top    { display:flex; align-items:center; gap:12px; }
.bcard-radio  { width:20px; height:20px; border-radius:50%; border:2px solid var(--brand-border); background:var(--white); flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.bcard-radio-filled { border-color:#7c3aed; background:#7c3aed; }
.bcard-dot    { width:8px; height:8px; border-radius:50%; background:var(--white); opacity:0; transition:opacity .2s; }
.bcard-radio-filled .bcard-dot { opacity:1; }
.bcard-info   { flex:1; }
.bcard-title  { font-size:15px; font-weight:700; color:var(--brand-navy); }
.bcard-sub    { font-size:12px; color:var(--brand-gray); margin-top:2px; }
.bcard-save   { font-size:12px; color:#7c3aed; font-weight:600; margin-top:2px; }
.bcard-prices { text-align:right; }
.bcard-price  { font-size:16px; font-weight:800; color:var(--brand-navy); }
.bcard-orig   { font-size:12px; color:var(--brand-gray); text-decoration:line-through; }
.bcard-selectors  { margin-top:12px; border-top:1px solid #ede9fe; padding-top:10px; }
.bcard-item-group { padding-top:8px; margin-top:8px; border-top:1px dashed #ede9fe; }
.bcard-item-group:first-child { border-top:none; padding-top:0; margin-top:0; }
.bcard-item-label { font-size:11px; font-weight:700; color:#7c3aed; text-transform:uppercase; letter-spacing:.05em; margin-bottom:6px; }
.bsel-label   { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--brand-gray); margin-bottom:8px; }
.bsel-row     { display:flex; align-items:center; gap:8px; margin-bottom:8px; }
.bsel-label-inline { font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--brand-gray); min-width:52px; flex-shrink:0; }
.bsel { flex:1; border:1.5px solid var(--brand-border); border-radius:6px; padding:7px 10px; font-size:13px; font-weight:500; color:var(--brand-navy); background:var(--white); cursor:pointer; font-family:var(--font-body); transition:border-color .2s; }
.bsel:focus { outline:none; border-color:#7c3aed; }

/* CTA */
.btn-cta { display:block; width:100%; background:var(--brand-accent); color:var(--white); border:none; padding:18px 32px; border-radius:8px; font-size:16px; font-weight:700; cursor:pointer; transition:background .2s,transform .15s; font-family:var(--font-body); letter-spacing:.02em; margin:20px 0 10px; text-transform:uppercase; text-align:center; text-decoration:none; }
.btn-cta:hover    { background:color-mix(in srgb,var(--brand-accent) 82%,black); transform:translateY(-1px); }
.btn-cta:disabled { opacity:.6; cursor:wait; transform:none; }
.free-ship-note   { text-align:center; font-size:13px; color:var(--brand-gray); margin-bottom:20px; }
.free-ship-note strong { color:var(--brand-accent); }

/* Trust row */
.trust-row  { display:grid; grid-template-columns:repeat(4,1fr); gap:12px; margin:20px 0; }
.trust-item { display:flex; flex-direction:column; align-items:center; gap:6px; text-align:center; padding:12px 8px; border:1px solid var(--brand-border); border-radius:8px; font-size:11px; font-weight:600; color:var(--brand-navy); line-height:1.3; }
.trust-icon { font-size:22px; }
.key-benefits    { background:var(--brand-cream); border-radius:10px; padding:16px 20px; margin:16px 0; }
.key-benefits ul { list-style:none; }
.key-benefits li { padding:6px 0; font-size:14px; color:var(--brand-navy); display:flex; align-items:flex-start; gap:8px; }
.key-benefits li::before { content:'✓'; color:var(--brand-accent); font-weight:700; flex-shrink:0; margin-top:1px; }

/* Tabs */
.highlights-tabs { border-top:1px solid var(--brand-border); margin-top:24px; }
.tab-header      { display:flex; border-bottom:1px solid var(--brand-border); }
.tab-btn { flex:1; padding:14px 12px; background:none; border:none; border-bottom:3px solid transparent; font-size:13px; font-weight:600; color:var(--brand-gray); cursor:pointer; font-family:var(--font-body); text-transform:uppercase; letter-spacing:.05em; transition:all .2s; }
.tab-btn.active { color:var(--brand-navy); border-bottom-color:var(--brand-accent); }
.tab-content    { padding:20px 0; }
.tab-pane       { display:none; }
.tab-pane.active{ display:block; }
.tab-pane ul    { list-style:none; }
.tab-pane li    { padding:6px 0; font-size:14px; color:var(--brand-dark); display:flex; gap:8px; align-items:flex-start; }
.tab-pane li::before { content:'•'; color:var(--brand-accent); font-weight:700; }

/* ── Full-width sections ── */
.full-section    { padding:72px 24px; }
.full-section.bg-cream { background:var(--brand-cream); }
.full-section.bg-dark  { background:var(--brand-navy); color:var(--white); }
.section-inner   { max-width:1100px; margin:0 auto; }
.section-heading { font-family:var(--font-display); font-size:36px; font-weight:700; color:inherit; line-height:1.25; margin-bottom:12px; text-align:center; }
.section-sub     { font-size:17px; color:var(--brand-gray); text-align:center; max-width:600px; margin:0 auto 48px; line-height:1.6; }
.bg-dark .section-sub { color:rgba(255,255,255,.65); }
.two-col { display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.two-col-img { border-radius:12px; overflow:hidden; aspect-ratio:1/1; background:var(--brand-cream); }
.two-col-img img { width:100%; height:100%; object-fit:cover; }
.features-table { width:100%; border-collapse:collapse; }
.features-table tr { border-bottom:1px solid var(--brand-border); }
.features-table td { padding:16px 12px; font-size:14px; vertical-align:top; }
.features-table td:first-child { font-weight:700; color:var(--brand-navy); width:42%; }
.features-table td:last-child  { color:var(--brand-gray); }
.why-grid  { display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.why-card  { background:var(--white); border:1px solid var(--brand-border); border-radius:12px; padding:24px; }
.why-card-icon  { font-size:30px; margin-bottom:12px; }
.why-card-title { font-family:var(--font-display); font-size:18px; font-weight:600; color:var(--brand-navy); margin-bottom:8px; }
.why-card-text  { font-size:14px; color:var(--brand-gray); line-height:1.6; }
.perfect-list   { display:grid; grid-template-columns:repeat(3,1fr); gap:16px; margin-top:12px; }
.perfect-item   { display:flex; align-items:center; gap:12px; background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.15); border-radius:10px; padding:16px 18px; font-size:14px; font-weight:500; color:rgba(255,255,255,.9); }
.perfect-item-icon { font-size:24px; }
.expert-grid  { display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.expert-card  { background:var(--white); border-radius:12px; padding:28px; box-shadow:var(--shadow); position:relative; }
.expert-card::before { content:'"'; font-family:var(--font-display); font-size:60px; color:var(--brand-accent); line-height:1; position:absolute; top:12px; left:20px; opacity:.25; }
.expert-quote { font-size:14px; line-height:1.7; color:var(--brand-dark); margin-bottom:16px; font-style:italic; }
.expert-name  { font-weight:700; font-size:13px; color:var(--brand-navy); }
.expert-title { font-size:12px; color:var(--brand-gray); margin-top:2px; }
.reviews-summary { display:flex; align-items:center; gap:40px; margin-bottom:40px; justify-content:center; }
.reviews-big-score .score { font-family:var(--font-display); font-size:72px; font-weight:700; color:var(--brand-navy); line-height:1; }
.reviews-big-score .stars { font-size:22px; color:#f59e0b; }
.reviews-big-score .count { font-size:13px; color:var(--brand-gray); margin-top:4px; }
.review-bars { flex:1; max-width:320px; }
.review-bar-row { display:flex; align-items:center; gap:10px; margin-bottom:8px; font-size:13px; }
.review-bar-row span:first-child { width:36px; color:var(--brand-gray); }
.bar-track { flex:1; height:8px; background:var(--brand-border); border-radius:4px; overflow:hidden; }
.bar-fill  { height:100%; background:var(--brand-gold); border-radius:4px; }
.review-cards { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.review-card  { background:var(--brand-cream); border-radius:12px; padding:24px; }
.review-card-stars { color:#f59e0b; font-size:14px; margin-bottom:8px; }
.review-card-text  { font-size:14px; color:var(--brand-dark); line-height:1.6; margin-bottom:14px; font-style:italic; }
.review-card-name  { font-size:13px; font-weight:600; color:var(--brand-navy); }
.faq-list  { max-width:760px; margin:0 auto; }
.faq-item  { border-bottom:1px solid var(--brand-border); }
.faq-q     { width:100%; background:none; border:none; padding:20px 0; text-align:left; font-size:16px; font-weight:600; color:var(--brand-navy); cursor:pointer; display:flex; justify-content:space-between; align-items:center; font-family:var(--font-body); }
.faq-icon  { font-size:20px; color:var(--brand-accent); transition:transform .3s; }
.faq-item.open .faq-icon { transform:rotate(45deg); }
.faq-a     { overflow:hidden; max-height:0; transition:max-height .35s ease; }
.faq-a-inner { padding:0 0 20px; font-size:15px; color:var(--brand-gray); line-height:1.7; }
.guarantee-box  { background:var(--brand-cream); border-radius:16px; padding:48px; display:grid; grid-template-columns:auto 1fr; gap:36px; align-items:center; max-width:900px; margin:0 auto; }
.guarantee-icon { font-size:72px; line-height:1; }
.guarantee-title{ font-family:var(--font-display); font-size:28px; font-weight:700; color:var(--brand-navy); margin-bottom:12px; }
.guarantee-text { font-size:15px; color:var(--brand-gray); line-height:1.7; }
.sub-box   { background:var(--brand-navy); border-radius:16px; padding:48px; color:var(--white); display:grid; grid-template-columns:1fr auto; gap:36px; align-items:center; max-width:900px; margin:0 auto; }
.sub-title { font-family:var(--font-display); font-size:28px; font-weight:700; margin-bottom:10px; }
.sub-text  { font-size:15px; color:rgba(255,255,255,.75); line-height:1.7; }
.btn-sub   { background:var(--brand-gold); color:var(--white); border:none; padding:16px 32px; border-radius:8px; font-size:16px; font-weight:700; white-space:nowrap; cursor:pointer; font-family:var(--font-body); transition:opacity .2s; display:inline-block; text-decoration:none; text-align:center; }
.btn-sub:hover { opacity:.9; }
.values-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.value-card  { text-align:center; padding:32px 20px; background:var(--brand-cream); border-radius:12px; }
.value-icon  { font-size:40px; margin-bottom:14px; }
.value-title { font-family:var(--font-display); font-size:18px; font-weight:700; color:var(--brand-navy); margin-bottom:8px; }
.value-text  { font-size:13px; color:var(--brand-gray); line-height:1.6; }
.related-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.related-card { border:1px solid var(--brand-border); border-radius:12px; overflow:hidden; transition:box-shadow .2s; }
.related-card:hover { box-shadow:var(--shadow); }
.related-img  { aspect-ratio:1; background:var(--brand-cream); overflow:hidden; }
.related-img img { width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.related-card:hover .related-img img { transform:scale(1.06); }
.related-info  { padding:14px; }
.related-name  { font-size:14px; font-weight:600; color:var(--brand-navy); margin-bottom:4px; }
.related-price { font-size:14px; color:var(--brand-accent); font-weight:700; }
.related-stars { font-size:12px; color:#f59e0b; margin-bottom:6px; }
.btn-buy { width:100%; margin-top:10px; padding:10px; background:var(--brand-navy); color:var(--white); border:none; border-radius:6px; font-size:13px; font-weight:600; cursor:pointer; font-family:var(--font-body); transition:background .2s; }
.btn-buy:hover { background:var(--brand-accent); }
.cta-bar { background:var(--brand-accent); padding:56px 24px; text-align:center; }
.cta-bar .section-heading { color:var(--white); margin-bottom:8px; }
.cta-bar p { color:rgba(255,255,255,.8); font-size:16px; margin-bottom:28px; }
.btn-cta-white { display:inline-block; background:var(--white); color:var(--brand-accent); padding:16px 40px; border-radius:8px; font-size:16px; font-weight:700; cursor:pointer; border:none; font-family:var(--font-body); text-transform:uppercase; letter-spacing:.04em; transition:transform .2s; text-decoration:none; }
.btn-cta-white:hover { transform:translateY(-2px); }

/* ── Footer ── */
footer { background:var(--brand-dark); color:rgba(255,255,255,.6); padding:48px 24px 28px; }
.footer-inner { max-width:1280px; margin:0 auto; }
.footer-top   { display:grid; grid-template-columns:2fr 1fr 1fr 1fr; gap:40px; margin-bottom:40px; }
.footer-brand { color:var(--white); }
.footer-logo  { font-family:var(--font-display); font-size:22px; font-weight:700; margin-bottom:12px; }
.footer-logo span { color:var(--brand-accent-light); }
.footer-tagline { font-size:13px; color:rgba(255,255,255,.5); line-height:1.6; }
.footer-col h4 { font-size:13px; font-weight:700; color:var(--white); text-transform:uppercase; letter-spacing:.08em; margin-bottom:16px; }
.footer-col a  { display:block; font-size:13px; color:rgba(255,255,255,.55); text-decoration:none; margin-bottom:10px; transition:color .2s; }
.footer-col a:hover { color:var(--white); }
.footer-bottom { border-top:1px solid rgba(255,255,255,.1); padding-top:24px; display:flex; justify-content:space-between; align-items:center; font-size:12px; }
.payment-icons { display:flex; gap:8px; }
.pay-icon { background:rgba(255,255,255,.1); border-radius:4px; padding:3px 8px; font-size:11px; color:rgba(255,255,255,.6); font-weight:600; }

/* ── Cart Drawer ── */
.cart-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.45); z-index:500; }
.cart-overlay.open { display:block; }
.cart-drawer  { position:fixed; top:0; right:0; width:420px; max-width:100vw; height:100%; background:var(--white); z-index:501; display:flex; flex-direction:column; transform:translateX(100%); transition:transform .35s cubic-bezier(.4,0,.2,1); box-shadow:-8px 0 40px rgba(0,0,0,.14); }
.cart-drawer.open { transform:translateX(0); }
.cart-header  { display:flex; align-items:center; justify-content:space-between; padding:20px 24px; border-bottom:1px solid var(--brand-border); }
.cart-header h3 { font-family:var(--font-display); font-size:20px; font-weight:700; color:var(--brand-navy); display:flex; align-items:center; gap:8px; }
.cart-count-badge { background:var(--brand-accent); color:#fff; font-size:11px; font-weight:700; border-radius:20px; padding:2px 8px; }
.cart-close   { background:none; border:none; font-size:26px; cursor:pointer; color:var(--brand-gray); line-height:1; }
.cart-body    { flex:1; overflow-y:auto; padding:20px 24px; }
.cart-empty   { text-align:center; padding:60px 0; color:var(--brand-gray); }
.cart-empty-icon { font-size:48px; margin-bottom:12px; }
.cart-empty p { font-size:15px; }
.cart-item    { display:flex; gap:14px; padding:16px 0; border-bottom:1px solid var(--brand-border); align-items:flex-start; }
.cart-item-img { width:72px; height:88px; border-radius:8px; overflow:hidden; background:var(--brand-cream); flex-shrink:0; }
.cart-item-img img { width:100%; height:100%; object-fit:cover; }
.cart-item-info { flex:1; min-width:0; }
.cart-item-name { font-size:14px; font-weight:600; color:var(--brand-navy); margin-bottom:4px; }
.cart-item-meta { font-size:12px; color:var(--brand-gray); margin-bottom:8px; }
.cart-item-qty  { display:flex; align-items:center; gap:8px; margin-top:8px; }
.cart-qty-btn   { width:28px; height:28px; border:1.5px solid var(--brand-border); border-radius:6px; background:var(--white); font-size:16px; font-weight:600; cursor:pointer; display:flex; align-items:center; justify-content:center; color:var(--brand-navy); transition:all .2s; font-family:var(--font-body); }
.cart-qty-btn:hover { border-color:var(--brand-accent); background:#f0faf5; }
.cart-qty-num   { font-size:14px; font-weight:600; color:var(--brand-navy); min-width:20px; text-align:center; }
.cart-item-price { font-size:15px; font-weight:700; color:var(--brand-accent); }
.cart-delete    { background:none; border:none; cursor:pointer; color:#ef4444; font-size:18px; padding:4px 6px; border-radius:6px; transition:background .2s; line-height:1; flex-shrink:0; }
.cart-delete:hover { background:#fee2e2; }
.cart-footer    { border-top:1px solid var(--brand-border); padding:20px 24px; background:var(--brand-cream); }
.cart-subtotal  { display:flex; justify-content:space-between; align-items:center; margin-bottom:6px; }
.cart-subtotal span:first-child { font-size:14px; color:var(--brand-gray); }
.cart-subtotal-amount { font-size:18px; font-weight:700; color:var(--brand-navy); }
.cart-shipping-note  { font-size:12px; text-align:center; margin-bottom:14px; font-weight:500; }
.btn-checkout { display:block; width:100%; background:var(--brand-accent); color:var(--white); border:none; padding:16px; border-radius:8px; font-size:16px; font-weight:700; cursor:pointer; font-family:var(--font-body); transition:background .2s,transform .15s; text-transform:uppercase; text-align:center; text-decoration:none; }
.btn-checkout:hover { opacity:.9; transform:translateY(-1px); }
.btn-continue { display:block; width:100%; background:none; border:none; color:var(--brand-gray); font-size:13px; text-align:center; cursor:pointer; margin-top:10px; text-decoration:underline; font-family:var(--font-body); }

/* ── Subscribe Popup ── */
.sub-popup-overlay { display:none; position:fixed; inset:0; background:rgba(0,0,0,.55); z-index:600; align-items:center; justify-content:center; padding:20px; }
.sub-popup-overlay.open { display:flex; }
.sub-popup { background:var(--white); border-radius:20px; max-width:500px; width:100%; max-height:90vh; overflow-y:auto; position:relative; box-shadow:0 24px 80px rgba(0,0,0,.25); animation:popIn .3s cubic-bezier(.34,1.56,.64,1); }
@keyframes popIn { from{opacity:0;transform:scale(.92) translateY(20px);} to{opacity:1;transform:scale(1) translateY(0);} }
.sub-popup-header   { background:linear-gradient(135deg,var(--brand-navy),var(--brand-accent)); border-radius:20px 20px 0 0; padding:24px; position:relative; }
.sub-popup-close    { position:absolute; top:14px; right:16px; background:rgba(255,255,255,.15); border:none; color:#fff; font-size:18px; width:32px; height:32px; border-radius:50%; cursor:pointer; display:flex; align-items:center; justify-content:center; }
.sub-popup-badge    { display:inline-block; background:var(--brand-gold); color:#fff; font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; padding:4px 12px; border-radius:20px; margin-bottom:10px; }
.sub-popup-title    { font-family:var(--font-display); font-size:22px; font-weight:700; color:#fff; margin-bottom:4px; }
.sub-popup-subtitle { font-size:13px; color:rgba(255,255,255,.7); }
.sub-popup-body     { padding:20px 24px 24px; }

/* ── Product Modal ── */
#uloamModalOverlay { display:none; }
#uloamModalOverlay[style*="flex"] { display:flex !important; }
.pm-radio { width:18px; height:18px; border-radius:50%; border:2px solid var(--brand-border); background:var(--white); flex-shrink:0; display:flex; align-items:center; justify-content:center; transition:all .2s; }
.pm-radio-filled { border-color:var(--brand-accent); background:var(--brand-accent); }
.pm-dot { width:8px; height:8px; border-radius:50%; background:#fff; opacity:0; transition:opacity .2s; }
.pm-radio-filled .pm-dot { opacity:1; }
.pm-qty { flex:1; padding:9px 8px; border:1.5px solid var(--brand-border); border-radius:8px; background:var(--white); font-size:13px; font-weight:600; color:var(--brand-navy); cursor:pointer; font-family:var(--font-body); transition:all .2s; text-align:center; }
.pm-qty:hover { border-color:var(--brand-accent); color:var(--brand-accent); }
.pm-qty-active { border-color:var(--brand-accent); background:var(--brand-accent); color:#fff; }
.modal-sel-block { margin-bottom:12px; padding-bottom:12px; border-bottom:1px dashed var(--brand-border); }
.modal-sel-block:last-child { border-bottom:none; margin-bottom:0; padding-bottom:0; }
.modal-sel-num   { font-size:11px; font-weight:700; color:var(--brand-gray); margin-bottom:8px; text-transform:uppercase; letter-spacing:.05em; }
.modal-sel-group { margin-bottom:8px; }
.modal-sel-label { font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; color:var(--brand-gray); margin-bottom:4px; }
.pm-sel { width:100%; border:1.5px solid var(--brand-border); border-radius:8px; padding:9px 12px; font-size:14px; font-weight:500; color:var(--brand-navy); background:var(--white); cursor:pointer; font-family:var(--font-body); }
.pm-sel:focus { outline:none; border-color:var(--brand-accent); }

/* ── Responsive ── */
@media (max-width:1024px) { .product-section { grid-template-columns:1fr; gap:32px; } .gallery { position:static; } }
@media (max-width:900px)  { .two-col{grid-template-columns:1fr;} .expert-grid{grid-template-columns:1fr;} .review-cards{grid-template-columns:1fr;} .perfect-list{grid-template-columns:1fr;} .why-grid{grid-template-columns:1fr;} .values-grid{grid-template-columns:repeat(2,1fr);} .footer-top{grid-template-columns:1fr 1fr;} nav{display:none;} .sub-box{grid-template-columns:1fr;text-align:center;gap:20px;padding:32px 24px;} .guarantee-box{grid-template-columns:1fr;text-align:center;} .trust-row{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px)  { .section-heading{font-size:26px;} .values-grid{grid-template-columns:1fr;} .reviews-summary{flex-direction:column;} .footer-top{grid-template-columns:1fr;} .footer-bottom{flex-direction:column;gap:12px;} .related-grid{grid-template-columns:1fr!important;} }
/* RTL */
[dir="rtl"] .offer-price-row { padding-left:0; padding-right:28px; }
[dir="rtl"] .cart-drawer     { left:0; right:auto; transform:translateX(-100%); }
[dir="rtl"] .cart-drawer.open{ transform:translateX(0); }

/* ── offer-box open state ── */
.offer-box.uloam-open { border-color: var(--brand-accent); background: #f0faf5; }
.offer-box.uloam-open .offer-radio { border-color: var(--brand-accent); background: var(--brand-accent); }
.offer-box.uloam-open .offer-radio-dot { opacity: 1; }



/* ── Sticky Add to Cart Bar ── */
.sticky-atc { position:fixed; bottom:0; left:0; right:0; background:var(--white); border-top:2px solid var(--brand-border); z-index:200; transform:translateY(100%); transition:transform .35s cubic-bezier(.4,0,.2,1); box-shadow:0 -4px 24px rgba(0,0,0,.12); }
.sticky-atc.sticky-atc-visible { transform:translateY(0); }
.sticky-atc-inner { max-width:1280px; margin:0 auto; padding:12px 24px; display:flex; align-items:center; gap:20px; }
.sticky-atc-product { display:flex; align-items:center; gap:12px; flex:1; min-width:0; }
.sticky-atc-timer { font-size:13px; font-weight:700; color:#dc2626; white-space:nowrap; }
.sticky-atc-btn { background:var(--brand-accent); color:#fff; border:none; padding:12px 28px; border-radius:8px; font-size:15px; font-weight:700; cursor:pointer; font-family:var(--font-body); white-space:nowrap; transition:background .2s,transform .15s; text-transform:uppercase; letter-spacing:.03em; }
.sticky-atc-btn:hover    { background:color-mix(in srgb,var(--brand-accent) 82%,black); transform:translateY(-1px); }
.sticky-atc-btn:disabled { opacity:.65; cursor:wait; transform:none; }
@media (max-width:600px) { .sticky-atc-timer{display:none;} .sticky-atc-btn{padding:12px 20px;font-size:13px;} }

/* ── Modal selector layout ── */


/* ── Related product cards — two action buttons ── */
.related-actions {
  display: flex;
  gap: 8px;
  margin-top: 10px;
}
.related-btn-page {
  flex: 1;
  padding: 9px 10px;
  border: 1.5px solid var(--brand-border);
  border-radius: 7px;
  background: var(--white);
  color: var(--brand-navy);
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
  font-family: var(--font-body);
  transition: border-color .2s, background .2s;
  text-align: center;
}
.related-btn-page:hover {
  border-color: var(--brand-accent);
  background: #f0faf5;
  color: var(--brand-accent);
}
.related-btn-buy {
  flex: 1;
  padding: 9px 10px;
  border: none;
  border-radius: 7px;
  background: var(--brand-accent);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
  font-family: var(--font-body);
  transition: background .2s;
  text-align: center;
}
.related-btn-buy:hover { background: color-mix(in srgb, var(--brand-accent) 82%, black); }

/* ── Product page view panel ── */
#relPageOverlay { display: none; }
#relPagePanel img { transition: opacity .18s; }

/* ── Modal product selectors (from landing page) ── */
.pm-qty-opt {
  flex: 1; padding: 8px 4px;
  border: 1.5px solid var(--brand-border); border-radius: 8px;
  background: var(--white); font-size: 12px; font-weight: 600;
  color: var(--brand-navy); cursor: pointer;
  font-family: var(--font-body); transition: all .2s; white-space: nowrap;
}
.pm-qty-opt:hover  { border-color: var(--brand-accent); color: var(--brand-accent); }
.pm-qty-active     { border-color: var(--brand-accent); background: var(--brand-accent); color: #fff; }
.pm-qty-active:hover { background: #1a4f32; border-color: #1a4f32; color: #fff; }
.pm-sel-group      { display: flex; flex-direction: column; gap: 4px; flex: 1; min-width: 120px; }
.pm-sel-label      { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .07em; color: var(--brand-gray); }
.pm-offer          { transition: border-color .2s, background .2s; }

/* ── Modal Bundle Cards ── */
.mbcard { transition: border-color .2s, background .2s; }
.mbcard:hover { border-color: var(--brand-secondary) !important; }
.mb-radio {
  width: 22px; height: 22px; border-radius: 50%;
  border: 2px solid var(--brand-border); background: #fff;
  flex-shrink: 0; display: flex; align-items: center; justify-content: center;
  transition: all .2s;
}
.mb-dot {
  width: 10px; height: 10px; border-radius: 50%; background: #fff;
  opacity: 0; transition: opacity .2s;
}
.mbsel {
  border: 1.5px solid var(--brand-border); border-radius: 8px;
  padding: 7px 10px; font-size: 13px; font-weight: 500;
  color: var(--brand-navy); background: var(--white);
  cursor: pointer; font-family: var(--font-body); min-width: 80px;
}
.mbsel:focus { outline: none; border-color: var(--brand-accent); }

/* ── Option Pills (Color + Size horizontal) ── */
.bopt-group        { margin-bottom: 12px; }
.bopt-label        { font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .06em; color: var(--brand-gray); margin-bottom: 6px; }
.bopt-pills        { display: flex; flex-wrap: wrap; gap: 6px; }
.bopt-pill         {
  padding: 5px 14px; border: 1.5px solid var(--brand-border);
  border-radius: 20px; background: var(--white);
  font-size: 12px; font-weight: 600; color: var(--brand-navy);
  cursor: pointer; font-family: var(--font-body);
  transition: all .18s; line-height: 1.4;
  white-space: nowrap;
}
.bopt-pill:hover   { border-color: var(--brand-accent); color: var(--brand-accent); }
.bopt-pill-active  { border-color: var(--brand-accent); background: var(--brand-accent); color: #fff; }
.bopt-pill-active:hover { background: var(--brand-accent); color: #fff; }

/* ── Offer Product Badge ── */
.offer-product-badge {
  display: inline-block;
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #fff;
  font-size: 11px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 3px 10px; border-radius: 20px;
  margin-top: 6px;
}

/* ── Pack badge (Best Seller, Most Popular...) ── */
.bcard-pack-badge {
  display: inline-block;
  background: linear-gradient(135deg, #7c3aed, #a855f7);
  color: #fff;
  font-size: 10px; font-weight: 700;
  letter-spacing: .06em; text-transform: uppercase;
  padding: 2px 8px; border-radius: 20px;
  margin-top: 3px;
}

/* ── Gallery text overlay overflow fix ── */
   ═══════════════════════════════════════ */


/* ═══════════════════════════════════════
   GALLERY FINAL — carre, image centree
   ═══════════════════════════════════════ */
.gallery {
  position: sticky;
  top: 88px;
  min-width: 0;
  width: 100%;
}
.gallery-main {
  aspect-ratio: 1 / 1;
  width: 100%;
  border-radius: 12px;
  overflow: hidden;
  background: var(--brand-cream, #f8f6f2);
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.gallery-main > img,
#mainImgEl {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
  max-width: 100%;
  max-height: 100%;
}
.gallery-thumbs {
  display: flex;
  gap: 8px;
  margin-top: 10px;
  overflow-x: auto;
  padding-bottom: 4px;
  flex-wrap: nowrap;
  scrollbar-width: none;
}
.gallery-thumbs::-webkit-scrollbar { display: none; }
.thumb {
  width: 72px;
  height: 72px;
  border-radius: 8px;
  overflow: hidden;
  cursor: pointer;
  border: 2px solid transparent;
  flex-shrink: 0;
  transition: border-color .2s;
  background: var(--brand-cream, #f8f6f2);
  display: flex;
  align-items: center;
  justify-content: center;
}
.thumb.active { border-color: var(--brand-accent, #2e7d5e); }
.thumb > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center center;
}

/* Tab pane toggle support */
.tab-pane { display: none; }
.tab-pane.active { display: block; }
.highlights-tabs.collapsed .tab-content { display: none; }
