/*
 * Salt Lights premium retail layer.
 * Warm editorial presentation, strong buying hierarchy and responsive layouts.
 */

:root,
:root[data-theme="dark"],
:root[data-theme="light"] {
  color-scheme:light;
  --paper:#fffdf9;
  --paper-2:#f8f3ec;
  --paper-3:#eee4d8;
  --ink:#211812;
  --soft:#74665b;
  --line:#e8ded3;
  --cta:#b85427;
  --cta-h:#943d19;
  --gold:#b48747;
  --dark:#1d1713;
  --dark-2:#2a211b;
  --ok:#246346;
  --buy:#246346;
  --buy-h:#194d35;
  --price:#a8441e;
  --price-sel:#ffe1c4;
  --logo-ink:#211812;
  --sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --display:Georgia,"Times New Roman",serif;
  --mono:ui-monospace,"SFMono-Regular",Consolas,monospace;
  --pad:clamp(1.15rem,4vw,4rem);
  --r:12px;
  --shadow:0 18px 60px rgba(55,36,23,.09);
}

html { scroll-behavior:smooth; background:var(--paper); }
body {
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:16px;
  line-height:1.65;
}
h1,h2,h3,h4,.t-sec {
  font-family:var(--display);
  font-weight:500;
  letter-spacing:-.035em;
  line-height:1.06;
}
p { text-wrap:pretty; }
.wrap,.shell { max-width:1440px; }
.eyebrow {
  margin-bottom:.7rem;
  color:var(--cta);
  font:700 .68rem/1.3 var(--sans);
  letter-spacing:.16em;
}
.eyebrow::before { content:""; display:inline-block; width:24px; height:1px; margin:0 .7rem .22rem 0; background:currentColor; }
.t-sec { font-size:clamp(2rem,3.6vw,3.4rem); }

/* Announcement and navigation */
.ann { background:#201813; color:#f9eee4; font-size:.76rem; font-weight:650; letter-spacing:.055em; }
.ann>.wrap { display:flex; align-items:center; justify-content:center; gap:.55rem; min-height:34px; padding-block:.4rem; }
.ann-message { display:inline-flex; align-items:center; gap:.55rem; }
.ann-message-mobile,.ann-phone { display:none; }
.ann-dot { width:5px; height:5px; border-radius:50%; background:#e49559; box-shadow:0 0 0 4px rgba(228,149,89,.12); }
.site-hdr { background:rgba(255,253,249,.96); box-shadow:0 1px 0 rgba(43,29,20,.08); backdrop-filter:blur(14px); }
.hdr-main { background:transparent; border:0; }
.hdr-main-in { min-height:82px; padding-block:.75rem; }
.brand-logo { gap:.7rem; }
.brand-lamp { width:44px; height:44px; flex:none; object-fit:contain; }
.brand-lockup { display:grid; gap:.08rem; line-height:1; }
.brand-word { color:var(--ink); font-size:1.08rem; font-weight:800; letter-spacing:.085em; }
.brand-word b { color:var(--ink); font-weight:800; }
.brand-lockup small { color:#8c7767; font-size:.5rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase; }
@media (min-width:981px) {
  .hdr-main-in { min-height:94px; }
  .brand-logo { gap:.85rem; }
  .brand-lamp { width:58px; height:58px; }
  .brand-word { font-size:1.35rem; }
  .brand-lockup small { font-size:.58rem; }
}
.search {
  max-width:560px;
  min-height:46px;
  background:#fff;
  border:1px solid var(--line);
  box-shadow:0 5px 20px rgba(45,30,20,.04);
}
.search:focus-within { border-color:#c49c7f; box-shadow:0 0 0 4px rgba(184,84,39,.08); }
.hact { font-size:.82rem; }
.hact svg { color:#8c7767; }
.header-phone {
  display:inline-flex;
  align-items:center;
  gap:.55rem;
  min-height:46px;
  padding:.45rem .8rem;
  border:1px solid var(--buy);
  border-radius:999px;
  background:var(--buy);
  color:#fff;
  box-shadow:0 8px 20px rgba(36,99,70,.2);
  white-space:nowrap;
  transition:border-color .2s,background .2s,color .2s,box-shadow .2s,transform .2s;
}
.header-phone:hover {
  border-color:var(--buy-h);
  background:var(--buy-h);
  color:#fff;
  box-shadow:0 11px 26px rgba(36,99,70,.28);
  transform:translateY(-1px);
}
.header-phone svg { color:#ffd0ae; }
.header-phone>span { display:grid; line-height:1.05; }
.header-phone small { color:rgba(255,255,255,.72); font-size:.57rem; font-weight:700; letter-spacing:.07em; text-transform:uppercase; }
.header-phone strong { margin-top:.2rem; font-size:.82rem; font-variant-numeric:tabular-nums; }
.hdr-nav { background:#fffdf9; border-top:1px solid var(--line); }
.hdr-nav-in { min-height:48px; }
.mainnav>li>a {
  color:#4f4035;
  padding:.85rem 1.2rem;
  font-size:.76rem;
  letter-spacing:.1em;
}
.mainnav>li:hover>a,.mainnav>li>a:focus-visible { color:var(--cta); background:transparent; }
.mainnav>li>a::after { bottom:.15rem; height:1px; }
.mainnav>li>a[href*="order-tracking"] {
  margin:.35rem .4rem;
  border:0;
  border-radius:999px;
  background:var(--cta);
  color:#fff;
  padding:.62rem 1rem;
  box-shadow:0 6px 18px rgba(184,84,39,.18);
}
.mainnav>li>a[href*="order-tracking"]:hover,
.mainnav>li:hover>a[href*="order-tracking"] { background:var(--cta-h); color:#fff; }
.hdr-ship { color:#6e5f53; }
.hdr-ship b { color:var(--ok); }
.drop { border-radius:0 0 12px 12px; box-shadow:0 22px 55px rgba(46,29,18,.13); }

/* Buttons */
.btn,.woocommerce .button,.woocommerce a.button,.woocommerce button.button,
.woocommerce input.button,.woocommerce #respond input#submit {
  min-height:48px;
  border-radius:999px;
  padding:.92rem 1.55rem;
  font-family:var(--sans);
  font-size:.86rem;
  font-weight:750;
  letter-spacing:.01em;
}
.btn-cta { background:var(--cta); box-shadow:0 9px 24px rgba(168,68,30,.22); }
.btn-cta:hover { background:var(--cta-h); transform:translateY(-1px); }
.btn-s,.btn-out { border:1px solid #ad9b8d; background:transparent; }
.btn-s:hover,.btn-out:hover { border-color:var(--ink); background:var(--ink); color:#fff; }

/* Hero */
.hero {
  min-height:clamp(420px,46svh,500px);
  padding:.65rem 0;
  background:#2a1d15;
  border:0;
}
.hero-bg { background-image:var(--heroimg,var(--roomimg)); background-position:center; background-size:cover; transform:scale(1.01); }
.hero-scrim {
  background:linear-gradient(90deg,rgba(25,14,8,.12),rgba(25,14,8,0) 65%),linear-gradient(0deg,rgba(21,12,7,.18),transparent 45%);
}
.hero-in { display:flex; align-items:center; justify-content:space-between; min-height:inherit; padding-block:0; }
.hero-tx {
  width:min(580px,52%);
  max-width:none;
  padding:clamp(1.4rem,2.4vw,2.25rem);
  border:1px solid rgba(255,255,255,.65);
  border-radius:22px;
  background:rgba(255,253,249,.94);
  color:var(--ink);
  box-shadow:0 28px 90px rgba(35,19,10,.22);
  backdrop-filter:blur(12px);
}
.hero-in .eyebrow { color:var(--cta); }
.hero h1 { margin:.35rem 0 .65rem; font-size:clamp(2.45rem,3.3vw,3.5rem); line-height:.96; color:var(--ink); }
.hero-tx>p:not(.hero-note) { max-width:50ch; margin:0 0 .8rem; color:#67584d; font-size:.9rem; line-height:1.55; }
.hero .ticks { grid-template-columns:1fr 1fr; gap:.3rem .85rem; margin-bottom:.9rem; }
.hero .ticks li { color:#46382e; font-size:.76rem; font-weight:650; }
.hero .ticks li:nth-child(2) { color:#345e49; }
.hero .btn-lt { border:1px solid #8e7868; color:var(--ink); }
.hero .btn-lt:hover { border-color:var(--ink); background:var(--ink); color:#fff; }
.hero-note { margin:.55rem 0 0!important; color:#8b7667!important; font-size:.7rem!important; font-weight:650; }
.hero-card {
  align-self:flex-end;
  width:250px;
  margin:0 1rem 1rem 2rem;
  padding:1rem 1.2rem;
  border:1px solid rgba(255,255,255,.3);
  border-radius:12px;
  background:rgba(25,14,8,.68);
  color:#fff;
  backdrop-filter:blur(8px);
}
.hero-card span { display:block; color:#dcc9b8; font-size:.7rem; text-transform:uppercase; letter-spacing:.1em; }
.hero-card strong { display:block; margin-top:.2rem; font-family:var(--display); font-size:1.2rem; font-weight:500; }

/* Trust and section rhythm */
.trust { border:0; background:#fff; box-shadow:0 12px 38px rgba(62,38,22,.06); }
.trust-in { gap:0; }
.trust-i { min-height:92px; padding:1.3rem clamp(.8rem,2vw,1.6rem); border-color:var(--line); }
.trust-i svg { width:23px; height:23px; color:var(--cta); }
.trust-i b { margin-bottom:.12rem; font-size:.82rem; }
.trust-i div { color:var(--soft); font-size:.72rem; line-height:1.4; }
.sec { padding-block:clamp(4.5rem,8vw,8rem); }
.sec-hd { max-width:720px; margin-bottom:clamp(2rem,4vw,3.5rem); }
.sec-hd p { line-height:1.7; }
.sec-hd-split { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(280px,.85fr); align-items:end; gap:3rem; max-width:none; text-align:left; }
.sec-hd-split p { margin:0; }

/* Collection cards */
.home-collections { padding-bottom:clamp(4rem,7vw,7rem); }
.collection-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.collection-card { position:relative; min-height:440px; overflow:hidden; border-radius:16px; background:#2a211b; color:#fff; box-shadow:0 12px 36px rgba(48,29,18,.09); }
.collection-card:nth-child(even) { transform:translateY(24px); }
.collection-card img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; transition:transform .65s cubic-bezier(.2,.7,.2,1); }
.collection-shade { position:absolute; inset:0; background:linear-gradient(0deg,rgba(27,15,9,.88),rgba(27,15,9,.08) 65%); }
.collection-copy { position:absolute; inset:auto 0 0; z-index:2; padding:1.5rem; }
.collection-copy small { display:block; color:#e4cbb8; font-size:.65rem; text-transform:uppercase; letter-spacing:.12em; }
.collection-copy strong { display:block; margin:.35rem 0 .8rem; font-family:var(--display); font-size:clamp(1.35rem,2vw,2rem); font-weight:500; line-height:1.08; }
.collection-copy i { font-style:normal; font-size:.76rem; font-weight:750; }
.collection-card:hover img { transform:scale(1.055); }
.collection-card:hover .collection-copy i { color:#f2b37f; }

/* Featured buying block */
.feat { background:var(--paper-2); border:0; }
.feat .sec { padding-block:clamp(4.5rem,8vw,7rem); }
.feat-in { grid-template-columns:minmax(0,1.03fr) minmax(0,.97fr); gap:clamp(2rem,5vw,5.5rem); align-items:start; }
.feat-art { aspect-ratio:1/.98; border-radius:20px; background:radial-gradient(circle at 50% 55%,#463022,#17100c 70%); box-shadow:0 30px 70px rgba(51,31,19,.18); }
.feat-gallery {
  display:block;
  aspect-ratio:auto;
  overflow:visible;
  padding:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
.feat-gallery-main {
  position:relative;
  aspect-ratio:1;
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:20px;
  background:#f3ece5;
  box-shadow:0 30px 70px rgba(51,31,19,.14);
  touch-action:pan-y;
}
.feat-sizing-slide {
  position:absolute;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:5% 5% 8%;
  background:radial-gradient(circle at 50% 55%,#463022,#17100c 70%);
  transition:background .35s ease;
}
.feat-sizing-slide .feat-stage { width:100%; height:100%; }
.feat-sizing-slide[hidden],.feat-gallery-image[hidden] { display:none!important; }
.feat-sizing-slide.off { background:linear-gradient(165deg,#1a1512,#0a0807); }
.feat-sizing-slide.off .lglow { opacity:0; }
.feat-sizing-slide.off .limg,
.feat-sizing-slide.off .feat-lamp.zooming .limg { filter:brightness(.46) saturate(.52) contrast(1.06); }
.feat-gallery-image { width:100%; height:100%; object-fit:cover; transition:opacity .2s ease; }
.feat-gallery-arrow {
  position:absolute;
  top:50%;
  z-index:2;
  display:grid;
  place-items:center;
  width:44px;
  height:44px;
  padding:0;
  border:1px solid rgba(33,24,18,.12);
  border-radius:50%;
  background:rgba(255,253,249,.92);
  color:var(--ink);
  box-shadow:0 8px 24px rgba(33,24,18,.12);
  transform:translateY(-50%);
  cursor:pointer;
}
.feat-gallery-arrow:hover { background:#fff; color:var(--cta); }
.feat-gallery-arrow.prev { left:1rem; }
.feat-gallery-arrow.next { right:1rem; }
.feat-gallery-count {
  position:absolute;
  right:1rem;
  bottom:1rem;
  z-index:2;
  padding:.4rem .65rem;
  border-radius:999px;
  background:rgba(29,23,19,.78);
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.05em;
}
.feat-gallery-thumbs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.65rem; margin-top:.75rem; }
.feat-gallery-thumb {
  aspect-ratio:1;
  overflow:hidden;
  padding:0;
  border:2px solid transparent;
  border-radius:10px;
  background:#f3ece5;
  cursor:pointer;
}
.feat-gallery-thumb img { width:100%; height:100%; object-fit:cover; opacity:.68; transition:opacity .18s,transform .18s; }
.feat-gallery-thumb:hover img,.feat-gallery-thumb.active img { opacity:1; }
.feat-gallery-thumb:hover img { transform:scale(1.035); }
.feat-gallery-thumb.active { border-color:var(--cta); box-shadow:0 0 0 2px rgba(184,84,39,.1); }
.feat-sizing-thumb { position:relative; display:grid; place-items:center; background:radial-gradient(circle at 50% 55%,#513525,#17100c 72%); }
.feat-sizing-thumb-lamp { width:58%; height:72%; background:var(--lampimg); filter:drop-shadow(0 3px 8px rgba(0,0,0,.55)); }
.feat-sizing-thumb small {
  position:absolute;
  inset:auto .2rem .2rem;
  color:rgba(255,255,255,.85);
  font-size:.55rem;
  font-weight:700;
  letter-spacing:.05em;
  text-align:center;
  text-transform:uppercase;
}
.feat-info { height:auto; max-height:none; overflow:visible; }
.feat-info .tabpanel.on { overflow:visible; padding-right:0; }
.tablist { width:max-content; max-width:100%; margin-bottom:2rem; border:0; border-bottom:1px solid var(--line); border-radius:0; background:transparent; padding:0; }
.tab { flex:0 0 auto; padding:.75rem 1rem; border-bottom:2px solid transparent; border-radius:0; color:#8a7768; font-size:.76rem; }
.tab:hover { background:transparent; color:var(--ink); }
.tab[aria-selected="true"],.tab[aria-selected="true"]:hover { border-bottom-color:var(--cta); background:transparent; color:var(--ink); }
.feat-info .badge { border:0; background:#efe3d7; color:#795137; border-radius:999px; padding:.42rem .7rem; }
.feat-info h2,.feat-info .t-sec { margin:.65rem 0 .8rem; font-size:clamp(2.1rem,3.5vw,3.5rem); }
.featured-rating { display:inline-flex; align-items:center; gap:.55rem; margin:-.15rem 0 .8rem; color:var(--soft); font-size:.78rem; font-weight:700; text-decoration:none; }
.featured-rating .star-rating { flex:0 0 auto; margin:0; color:#b9682e; }
.featured-rating:hover { color:var(--ink); }
.feat-info .lede { display:block; margin-bottom:1.3rem; color:var(--soft); font-size:.96rem; }
.feat-info .tabpanel:not(#sl-tab-0) { color:var(--soft); font-size:.94rem; line-height:1.65; }
.feat-info .tabpanel:not(#sl-tab-0) h2 {
  margin:1.35rem 0 .65rem;
  color:var(--ink);
  font-family:var(--display);
  font-size:clamp(1.65rem,2.25vw,2.2rem);
  font-weight:500;
  line-height:1.12;
}
.feat-info .tabpanel:not(#sl-tab-0) h2:first-child { margin-top:0; }
.feat-info .tabpanel:not(#sl-tab-0) h3,
.feat-info .tabpanel:not(#sl-tab-0) h4 {
  margin:1.15rem 0 .45rem;
  color:var(--ink);
  font-family:var(--display);
  font-size:1.2rem;
  font-weight:500;
}
.feat-info .tabpanel:not(#sl-tab-0) p,
.feat-info .tabpanel:not(#sl-tab-0) li,
.feat-info .tabpanel:not(#sl-tab-0) td { font-size:.94rem; line-height:1.65; }
.feat-info .tabpanel:not(#sl-tab-0) .spectbl th { font-size:.67rem; }
.szgrid,.feat-info .szgrid { gap:.5rem; }
.szbtn { min-width:86px; border:1px solid #d9c9bc; border-radius:9px; background:#fff; padding:.62rem .8rem; box-shadow:none; }
.szbtn:hover { border-color:var(--cta); box-shadow:0 6px 15px rgba(62,37,20,.06); }
.szbtn[aria-pressed="true"] { border-color:var(--ink); background:var(--ink); }
.szbtn b { color:var(--soft); font-size:.74rem; }
.szbtn small { color:var(--price); font-size:.98rem; }
.feat-info .single_variation_wrap { grid-template-columns:8rem minmax(0,1fr); gap:.7rem; }
.feat-info .single_add_to_cart_button,
.feat-info button.button,.feat-info .button { min-height:52px; border-radius:999px; box-shadow:0 10px 22px rgba(36,99,70,.18); }
.feat-info .quantity input.qty { min-height:50px; border-radius:9px; background:#fff; }
.feat-info .woocommerce-variation-add-to-cart .sl-add-basket {
  flex:1 1 10rem;
  border:1px solid #bca99a;
  background:#fff;
  color:var(--ink);
  box-shadow:none;
}
.feat-info .woocommerce-variation-add-to-cart .sl-add-basket:hover {
  border-color:var(--ink);
  background:#f7f1eb;
  color:var(--ink);
}
.feat-info .woocommerce-variation-add-to-cart .sl-buy-now { flex:1 1 12rem; }
.featured-notices .woocommerce-message {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin:0 0 1rem;
  padding:.75rem 1rem;
  border-radius:9px;
  font-size:.82rem;
}
.featured-notices .woocommerce-message .button {
  order:2;
  flex:0 0 auto;
  min-height:auto;
  padding:.65rem 1rem;
  box-shadow:none;
  font-size:.76rem;
}
.assure { padding-top:1rem; border-top:1px solid var(--line); }

@media (max-width:560px) {
  .feat-info .woocommerce-variation-add-to-cart .sl-add-basket {
    flex:1 1 0;
  }
  .feat-info .woocommerce-variation-add-to-cart .sl-buy-now {
    flex:0 0 100%;
    width:100%;
  }
}

/* The featured form has three controls. On narrow screens use an explicit
   grid so legacy flex rules cannot squeeze or clip either purchase button. */
@media (max-width:760px) {
  .feat-info .woocommerce-variation-add-to-cart {
    display:grid;
    grid-template-columns:4.2rem minmax(0,1fr);
    gap:.65rem;
    align-items:stretch;
  }
  .feat-info .woocommerce-variation-add-to-cart .quantity {
    grid-column:1;
    width:100%;
  }
  .feat-info .woocommerce-variation-add-to-cart .quantity input.qty {
    width:100%;
    height:100%;
  }
  .feat-info .woocommerce-variation-add-to-cart .sl-add-basket {
    grid-column:2;
    width:100%;
  }
  .feat-info .woocommerce-variation-add-to-cart .sl-buy-now {
    grid-column:1 / -1;
    width:100%;
  }
}

/* On larger screens the information frame shares the photograph's exact
   height. main.js measures the live image and writes that height inline;
   long panels scroll internally instead of extending the whole section. */
@media (min-width:981px) {
  .feat-info {
    display:flex;
    flex-direction:column;
    min-height:0;
    overflow:hidden;
  }
  .feat-info .tablist { flex:0 0 auto; }
  .feat-info .tabpanel.on {
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding-right:.8rem;
    scrollbar-width:thin;
    scrollbar-color:#cbb9aa transparent;
  }
  .feat-info .tabpanel.on::-webkit-scrollbar { width:6px; }
  .feat-info .tabpanel.on::-webkit-scrollbar-thumb { background:#cbb9aa; border-radius:999px; }
}

/* Product collection cards */
.site-main>.wrap { padding-top:clamp(2.5rem,5vw,5rem); padding-bottom:clamp(4rem,7vw,7rem); }
.pgrid { gap:clamp(1rem,2vw,1.6rem); }
.card { border:0; border-radius:14px; background:#fff; box-shadow:0 8px 30px rgba(53,34,21,.065); overflow:hidden; }
.card:hover { box-shadow:0 20px 48px rgba(53,34,21,.13); transform:translateY(-4px); }
.card-media { display:block; overflow:hidden; }
.shot { aspect-ratio:1/1.08; background:#eee8e1; }
.shot img { object-fit:cover; filter:none!important; }
.shot .bloom,.hint { display:none; }
.card:hover .shot img { transform:scale(1.035); }
.tag { top:.85rem; left:.85rem; border-radius:999px; padding:.42rem .65rem; background:var(--cta); }
.card-b { padding:1.15rem 1.15rem 1.2rem; gap:.65rem; }
.card-title { margin:0; color:var(--ink); font-family:var(--display); font-size:1.18rem; font-weight:500; line-height:1.22; }
.card-link:hover .card-title { color:var(--cta); }
.prow { min-height:30px; padding:0; }
.card .pr,.card .pr .amount { color:var(--ink); font-size:1rem; font-weight:750; }
.card .meta { font-size:.6rem; }
.card .act { padding-top:.25rem; }
.card .act .button { min-height:44px; background:transparent!important; border:1px solid #b9a89b!important; color:var(--ink)!important; box-shadow:none; }
.card .act .button:hover { border-color:var(--ink)!important; background:var(--ink)!important; color:#fff!important; }
.card .act .add_to_cart_button { background:var(--buy)!important; border-color:var(--buy)!important; color:#fff!important; }
.card .act .add_to_cart_button:hover { background:var(--buy-h)!important; border-color:var(--buy-h)!important; }
.card .act { display:grid; gap:.55rem; }
.loop-quantity { display:flex; align-items:center; justify-content:space-between; gap:.6rem; }
.loop-quantity>label { color:#766457; font-size:.68rem; font-weight:750; letter-spacing:.02em; }
.loop-quantity-control { display:grid; grid-template-columns:30px 38px 30px; min-height:34px; overflow:hidden; border:1px solid #d9cdc3; border-radius:999px; background:#fff; }
.loop-quantity-control .quantity { display:block; margin:0; }
.loop-quantity-control input.qty { width:38px; height:32px; min-height:32px; padding:0; border:0; border-right:1px solid #eee5de; border-left:1px solid #eee5de; border-radius:0; background:#fff; color:var(--ink); font-size:.78rem; font-weight:800; text-align:center; appearance:textfield; -moz-appearance:textfield; }
.loop-quantity-control input.qty::-webkit-inner-spin-button,
.loop-quantity-control input.qty::-webkit-outer-spin-button { margin:0; appearance:none; -webkit-appearance:none; }
.loop-qty-step { display:grid; place-items:center; width:30px; min-width:30px; height:32px; padding:0; border:0; background:#fff; color:var(--ink); font:700 .95rem/1 Arial,sans-serif; cursor:pointer; transition:background .16s,color .16s; }
.loop-qty-step:hover { background:#f4ece5; color:var(--cta); }
.loop-qty-step:focus-visible,
.loop-quantity-control input.qty:focus-visible { position:relative; z-index:1; outline:2px solid rgba(36,99,70,.32); outline-offset:-2px; }
.sec-more { text-align:center; margin-top:2.5rem; }

@media (max-width:560px) {
  .loop-quantity { gap:.35rem; }
  .loop-quantity>label { font-size:.62rem; }
  .loop-quantity-control { grid-template-columns:28px 34px 28px; }
  .loop-quantity-control input.qty { width:34px; }
  .loop-qty-step { width:28px; min-width:28px; }
}

/* Lifestyle, size guide and long-form information */
.roomstage { border-radius:20px; overflow:hidden; box-shadow:var(--shadow); }
.room-scrim { background:linear-gradient(90deg,rgba(20,12,7,.84),rgba(20,12,7,.24) 62%,transparent); }
.room-tx { padding-left:clamp(2rem,5vw,5rem); }
.chart-band { border:0; background:#f4ede5; }
.tier .lampimg { filter:drop-shadow(0 10px 18px rgba(49,29,16,.24)); }
.copy { border:0; background:#fffdf9; }
.copy-sec { border-color:var(--line); }
.copy-sec>h2 { font-family:var(--display); font-size:1.5rem; }
.copy p,.copy li { color:#66584d; font-size:.96rem; }
details { border-color:var(--line); }
summary { font-family:var(--display); font-size:1.08rem; font-weight:500; }

/* Shop and category archives */
.archive-hd { margin-bottom:2rem; }
.archive-hd h1 { font-size:clamp(2.7rem,5vw,4.8rem); }
.shop-cats { margin:0 0 2rem; padding:0 0 1rem; }
.shop-cats a { border-color:var(--line); background:#fff; min-height:44px; padding:.65rem 1rem; }
.woocommerce-result-count { color:var(--soft); font-size:.82rem; }
.woocommerce-ordering select { min-height:44px; padding:.55rem 2.3rem .55rem .85rem; border:1px solid var(--line); border-radius:999px; background:#fff; color:var(--ink); }

/* The natural lamp is one product with weight variations. Give its category
   a focused buying card and expose the real WooCommerce options as swatches. */
.term-natural-salt-lamps .products.pgrid {
  grid-template-columns:minmax(0,1040px)!important;
  justify-content:center;
}
.term-natural-salt-lamps .products.pgrid .card {
  display:grid;
  grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr);
  align-items:stretch;
}
.term-natural-salt-lamps .card-media,
.term-natural-salt-lamps .card .shot { height:100%; }
.term-natural-salt-lamps .card .shot { min-height:520px; aspect-ratio:auto; }
.term-natural-salt-lamps .card-b { justify-content:center; padding:clamp(1.5rem,4vw,3.2rem); }
.term-natural-salt-lamps .card-title { font-size:clamp(1.8rem,3vw,2.8rem); }
.loop-size-picker { margin:.35rem 0 .2rem; }
.loop-size-label { display:block; margin-bottom:.65rem; color:var(--soft); font-size:.7rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.loop-size-swatches { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; }
.loop-size-swatch { display:flex; align-items:center; justify-content:space-between; gap:.7rem; min-height:48px; padding:.7rem .8rem; border:1px solid var(--line); border-radius:10px; background:#fbf8f4; color:var(--ink); font-size:.82rem; font-weight:750; text-decoration:none; transition:border-color .2s,background .2s,transform .2s; }
.loop-size-swatch small { color:var(--price); font-size:.76rem; font-weight:800; white-space:nowrap; }
.loop-size-swatch:hover,.loop-size-swatch:focus-visible { border-color:var(--cta); background:#fff5ec; transform:translateY(-1px); }

@media (max-width:760px) {
  .term-natural-salt-lamps .products.pgrid {
    width:100%;
    max-width:100%;
    grid-template-columns:minmax(0,1fr)!important;
    justify-content:stretch;
  }
  .term-natural-salt-lamps .products.pgrid .card {
    display:flex;
    width:100%!important;
    max-width:100%;
    min-width:0;
  }
  .term-natural-salt-lamps .archive-hd,
  .term-natural-salt-lamps .archive-hd h1,
  .term-natural-salt-lamps .card-b,
  .term-natural-salt-lamps .loop-size-picker,
  .term-natural-salt-lamps .loop-size-swatches,
  .term-natural-salt-lamps .loop-size-swatch { min-width:0; max-width:100%; }
  .term-natural-salt-lamps .archive-hd h1 { font-size:clamp(2.15rem,11vw,3rem); }
  .term-natural-salt-lamps .woocommerce-result-count,
  .term-natural-salt-lamps .woocommerce-ordering { float:none; width:100%; }
  .term-natural-salt-lamps .woocommerce-ordering select { width:100%; max-width:100%; }
  .term-natural-salt-lamps .card .shot { min-height:0; aspect-ratio:4/3; }
  .term-natural-salt-lamps .card-b { padding:1rem; }
  .term-natural-salt-lamps .card-title { font-size:1.45rem; }
  .loop-size-swatches { grid-template-columns:1fr; }
}

/* Single product page */
.single-product .site-main>.wrap { max-width:1340px; }
.single-product div.product { display:grid; grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr); gap:clamp(2.5rem,6vw,6rem); align-items:start; }
.single-product div.product::before,.single-product div.product::after { display:none; }
.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary { float:none; width:100%!important; max-width:none; margin:0; }
.single-product .woocommerce-product-gallery { position:relative!important; top:auto; align-self:start; }
.single-product .woocommerce-product-gallery__wrapper { overflow:hidden; border-radius:18px; background:#f2ece5; }
.single-product .woocommerce-product-gallery__image img { width:100%; }
.single-product .flex-control-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:.6rem; margin-top:.7rem!important; }
.single-product .flex-control-thumbs li { float:none!important; width:auto!important; }
.single-product .flex-control-thumbs img { border-radius:8px; opacity:.68; }
.single-product .flex-control-thumbs img.flex-active { opacity:1; box-shadow:0 0 0 2px var(--cta); }
.single-product .summary { padding-top:.5rem; }
.single-product .product_title { margin:.5rem 0 1rem; font-family:var(--display); font-size:clamp(2.5rem,4.2vw,4.4rem); font-weight:500; line-height:.98; }
.single-product .summary>.price { display:block; margin:0 0 .8rem; color:var(--ink); font-size:1.65rem; }
.single-product .woocommerce-product-details__short-description { color:var(--soft); font-size:.98rem; line-height:1.7; }
.single-product form.cart { margin:1.7rem 0 0!important; padding:1.4rem; border:1px solid var(--line); border-radius:14px; background:#fff; box-shadow:0 12px 36px rgba(54,34,21,.055); }
.single-product .fieldlbl { margin-bottom:.7rem; }
.single-product .szgrid { margin-bottom:1rem; }
.single-product .single_variation_wrap { margin-top:.8rem; }
.single-product .woocommerce-variation-price .price { color:var(--price); font-size:1.65rem; }
.single-product .woocommerce-variation-add-to-cart { display:flex; align-items:stretch; gap:.6rem; }
.single-product .quantity .qty { width:60px; height:52px; border:1px solid var(--line); border-radius:9px; background:#fff; }
.single-product .single_add_to_cart_button { flex:1; min-height:52px; border-radius:999px!important; background:var(--buy)!important; box-shadow:0 10px 24px rgba(36,99,70,.18); }
.single-product .single_add_to_cart_button:hover { background:var(--buy-h)!important; }
.single-product .assure-line { margin-top:1rem; color:var(--ok); text-align:center; font-size:.8rem; }
.single-product .product_meta { margin-top:1.4rem; padding-top:1.2rem; border-top:1px solid var(--line); color:var(--soft); font-size:.72rem; }
.single-product .woocommerce-tabs { grid-column:1/-1; margin-top:clamp(2rem,3vw,3.5rem); }
.single-product .related.products,.single-product .upsells.products { grid-column:1/-1; margin-top:clamp(3rem,5vw,5rem); }
.single-product .woocommerce-tabs ul.tabs { display:flex; gap:1.5rem; margin:0 0 2rem!important; padding:0!important; border-bottom:1px solid var(--line); }
.single-product .woocommerce-tabs ul.tabs::before { display:none!important; }
.single-product .woocommerce-tabs ul.tabs li { margin:0!important; padding:0!important; border:0!important; background:transparent!important; }
.single-product .woocommerce-tabs ul.tabs li::before,.single-product .woocommerce-tabs ul.tabs li::after { display:none; }
.single-product .woocommerce-tabs ul.tabs li a { padding:.8rem 0!important; font-size:.78rem; letter-spacing:.06em; }
.single-product .woocommerce-tabs .panel { max-width:850px; color:var(--soft); }
.single-product .related>h2,.single-product .upsells>h2 { margin-bottom:2rem; font-size:clamp(2rem,3vw,3rem); text-align:center; }

/* Official wallet buttons sit immediately below the product buy control. */
#wcpay-express-checkout-wrapper,.wcpay-express-checkout-wrapper,
#wc-stripe-payment-request-wrapper,.wc-stripe-product-checkout-container,
.wc-stripe-payment-request-wrapper { margin-top:.75rem!important; padding-top:.75rem; border-top:1px solid var(--line); }

/* Basket and checkout */
.woocommerce-cart .site-main>.wrap,.woocommerce-checkout .site-main>.wrap { max-width:1180px; }
.woocommerce-cart .woocommerce { display:grid; grid-template-columns:minmax(0,1.55fr) minmax(360px,.75fr); gap:2rem; align-items:start; }
.woocommerce-cart .woocommerce>.woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce>.woocommerce-message,
.woocommerce-cart .woocommerce>.woocommerce-info,
.woocommerce-cart .woocommerce>.woocommerce-error { grid-column:1/-1; }
.woocommerce-cart .woocommerce-cart-form { grid-column:1; }
.woocommerce-cart .cart-collaterals { grid-column:2; width:100%; }
.woocommerce table.shop_table { overflow:hidden; border:1px solid var(--line); border-radius:14px; background:#fff; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:1rem; }
.woocommerce-cart .cart-collaterals .cart_totals { float:none; width:100%; padding:1.4rem; border:1px solid var(--line); border-radius:14px; background:#fff; }
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { border-radius:999px; background:var(--buy); }
.woocommerce-cart .woocommerce-message .button { display:none; }
.woocommerce-checkout form.checkout {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(420px,.9fr);
  grid-template-areas:
    'customer heading'
    'customer review'
    'customer wallets'
    'customer payment';
  column-gap:2.5rem;
  row-gap:1rem;
  align-items:start;
}
.woocommerce-checkout #customer_details { grid-area:customer; display:block; width:100%; }
.woocommerce-checkout #order_review_heading { grid-area:heading; margin:0; align-self:end; }
.woocommerce-checkout #order_review { display:contents; }
.woocommerce-checkout #order_review>.woocommerce-checkout-review-order-table { grid-area:review; }
.woocommerce-checkout form.checkout>.wcpay-express-checkout-wrapper { grid-area:wallets; }
.woocommerce-checkout #order_review>#payment { grid-area:payment; }
.woocommerce-checkout .col2-set { display:block; width:100%; }
.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2 { float:none; width:auto; }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select { min-height:48px; padding:.75rem .85rem; border:1px solid var(--line); border-radius:8px; background:#fff; }
#order_review { padding:0; border:0; background:transparent; }
#place_order { width:100%; min-height:54px; border-radius:999px; background:var(--buy); }

/* A calm, low-distraction checkout with clear guest and security cues. */
.woocommerce-checkout:not(.woocommerce-order-received) .site-hdr { position:static; }
.woocommerce-checkout:not(.woocommerce-order-received) .hdr-main-in {
  display:flex;
  justify-content:center;
  min-height:72px;
  padding-block:.8rem;
}
.woocommerce-checkout:not(.woocommerce-order-received) .hdr-main .search,
.woocommerce-checkout:not(.woocommerce-order-received) .hdr-main .hdr-acts,
.woocommerce-checkout:not(.woocommerce-order-received) .hdr-main .nav-toggle,
.woocommerce-checkout:not(.woocommerce-order-received) .hdr-nav { display:none!important; }
.woocommerce-checkout:not(.woocommerce-order-received) .site-main>.wrap {
  padding-top:clamp(2rem,4vw,3.5rem);
}
.checkout-reassurance {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:.55rem 1.5rem;
  margin:0 0 1.25rem;
  padding:.85rem 1rem;
  border:1px solid #cfe0d6;
  border-radius:10px;
  background:#f3f8f5;
  color:var(--ok);
  font-size:.82rem;
  font-weight:700;
}
.checkout-reassurance span::before { content:'\2713'; margin-right:.4rem; }
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
  margin:0 0 1.5rem;
  padding:.7rem 0;
  border:0;
  background:transparent;
  color:var(--soft);
  font-size:.8rem;
  text-align:center;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before,
.woocommerce-checkout .woocommerce-message::before {
  display:none!important;
  content:none!important;
}
.woocommerce-checkout .checkout_coupon {
  max-width:520px;
  margin:0 auto 1.5rem!important;
  border-radius:10px;
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout .woocommerce-checkout-review-order-table,
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart-collaterals { min-width:0; max-width:100%; }
.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width:100%;
  table-layout:fixed;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
  width:68%;
  overflow-wrap:anywhere;
}
.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total {
  width:32%;
  text-align:right;
  overflow-wrap:anywhere;
}
.woocommerce-checkout #payment,
.woocommerce-checkout #payment .payment_box,
.woocommerce-checkout #payment iframe { max-width:100%; }
.woocommerce-checkout #payment { overflow:hidden; border-radius:10px; }
.woocommerce-checkout #payment ul.payment_methods { padding:1rem; }
.woocommerce-checkout #payment li.wc_payment_method { padding:.25rem 0; }
.woocommerce-checkout #payment .payment_box { margin:.75rem 0 1rem; padding:1rem; }
.woocommerce-checkout #place_order { min-height:56px; font-size:.95rem; }
.woocommerce-checkout form.checkout>.wcpay-express-checkout-wrapper {
  margin:0!important;
  padding:0;
  border:0;
  background:transparent;
}
.woocommerce-checkout form.checkout>.wcpay-express-checkout-wrapper:has(#wcpay-express-checkout-element.is-ready),
.woocommerce-checkout form.checkout>.wcpay-express-checkout-wrapper:has(#wcpay-woopay-button) {
  margin:1rem 0 1.25rem!important;
  padding:1rem;
  border:1px solid #d8e4dc;
  border-radius:10px;
  background:#f6faf7;
}
.woocommerce-checkout form.checkout>.wcpay-express-checkout-wrapper #wcpay-express-checkout-button-separator {
  margin:1rem 0 0!important;
  color:var(--soft);
  font-size:.76rem;
}
.woocommerce-checkout .checkout-item-actions { display:block; margin-top:.35rem; }
.woocommerce-checkout .checkout-remove-item {
  display:inline-flex;
  align-items:center;
  min-height:28px;
  color:#9a3d24;
  font-size:.72rem;
  font-weight:700;
  text-decoration:underline;
  text-underline-offset:2px;
}
.woocommerce-checkout .checkout-remove-item:hover { color:#6f2816; }
.woocommerce-checkout .checkout-basket-tools td {
  padding:.1rem 0 .7rem!important;
  border:0!important;
  text-align:right;
}
.woocommerce-checkout .checkout-empty-basket {
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:.35rem .75rem;
  border:1px solid #c9a99a;
  border-radius:999px;
  color:#812f1b;
  background:#fffaf6;
  font-size:.74rem;
  font-weight:750;
  text-decoration:none;
}
.woocommerce-checkout .checkout-empty-basket:hover {
  border-color:#9a3d24;
  color:#6f2816;
  background:#fff4ed;
}

/* Footer */
.ftr { background:#201813; padding-block:clamp(3.5rem,6vw,5.5rem) 2rem; }
.fg { gap:clamp(2rem,5vw,5rem); }
.ftr .brand { font-family:var(--display); font-size:1.65rem; font-weight:500; }
.ftr h4 { color:#c2a993; font-family:var(--sans); font-weight:700; }
.ftr li a { font-size:.83rem; }
.ftr-blurb { line-height:1.65; }
.pay span { border-radius:999px; }
.flegal { display:flex; justify-content:center; gap:.7rem 1.2rem; flex-wrap:wrap; margin-top:1rem; color:#c2b3a7; font-size:.75rem; }
.flegal a,.flegal button { color:inherit; text-decoration:underline; text-underline-offset:3px; }
.flegal button { padding:0; border:0; background:transparent; font:inherit; cursor:pointer; }
.flegal a:hover,.flegal button:hover { color:#fff; }
.ftr-call {
  display:inline-grid;
  margin-top:1rem;
  padding:.8rem 1rem;
  border:1px solid rgba(240,168,104,.36);
  border-radius:12px;
  background:rgba(255,255,255,.045);
  color:#fff;
  line-height:1.2;
  transition:border-color .2s,background .2s,transform .2s;
}
.ftr-call:hover { border-color:#f0a868; background:rgba(255,255,255,.08); transform:translateY(-1px); }
.ftr-call span { color:#e5c5aa; font-size:.67rem; font-weight:750; letter-spacing:.1em; text-transform:uppercase; }
.ftr-call strong { margin:.3rem 0 .2rem; color:#fff; font-size:1.2rem; font-variant-numeric:tabular-nums; }
.ftr-call small { color:#bba99a; font-size:.7rem; }
.payment-badges { width:min(100%,520px); margin-top:1.2rem; }
.payment-badges img {
  display:block;
  width:100%;
  height:auto;
  border-radius:10px;
  box-shadow:0 8px 24px rgba(0,0,0,.13);
}
.footer-dmca { display:flex; justify-content:center; margin-top:1.15rem; }
.footer-dmca a { display:inline-flex; opacity:.9; transition:opacity .2s,transform .2s; }
.footer-dmca a:hover { opacity:1; transform:translateY(-1px); }
.footer-dmca img { display:block; width:auto; max-width:180px; height:auto; }

.contact-phone-card {
  display:grid;
  width:min(100%,480px);
  margin:.4rem 0 1.8rem;
  padding:1.15rem 1.3rem;
  border:1px solid #e0c8b7;
  border-radius:14px;
  background:linear-gradient(135deg,#fff9f3,#f7ede4);
  box-shadow:0 12px 30px rgba(68,40,24,.07);
  line-height:1.2;
  transition:border-color .2s,box-shadow .2s,transform .2s;
}
.contact-phone-card:hover { border-color:#bd7753; box-shadow:0 16px 36px rgba(68,40,24,.12); transform:translateY(-2px); }
.contact-phone-card span { color:#9a3d24; font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.contact-phone-card strong { margin:.35rem 0; color:#241812; font-family:var(--display); font-size:clamp(1.75rem,4vw,2.3rem); font-weight:500; font-variant-numeric:tabular-nums; }
.contact-phone-card small { color:#74665b; font-size:.78rem; }

.cookie-consent[hidden] { display:none!important; }
.cookie-consent {
  position:fixed;
  z-index:9999;
  right:1rem;
  bottom:1rem;
  left:1rem;
  max-width:980px;
  margin-inline:auto;
  padding:1rem;
  border:1px solid #d7c8bb;
  border-radius:14px;
  background:#fffdf9;
  color:#211812;
  box-shadow:0 18px 60px rgba(26,20,17,.24);
}
.cookie-consent__inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:1.25rem; align-items:center; }
.cookie-consent h2 { margin:0 0 .35rem; font-size:1.35rem; }
.cookie-consent p { max-width:68ch; margin:0; color:#62564d; font-size:.86rem; line-height:1.55; }
.cookie-consent p a { color:#9a3d24; font-weight:700; text-decoration:underline; }
.cookie-consent__actions { display:flex; gap:.6rem; }
.cookie-consent .btn { min-height:44px; padding:.7rem 1rem; white-space:nowrap; }

/* Responsive */
@media (max-width:1100px) {
	.header-phone { display:none; }
	.ann-phone {
	  display:inline-flex;
	  align-items:center;
	  gap:.25rem;
	  margin-left:.45rem;
	  padding:.24rem .55rem;
	  border:1px solid rgba(255,208,174,.38);
	  border-radius:999px;
	  background:rgba(240,168,104,.12);
	  color:#ffd9bc;
	  white-space:nowrap;
	}
	.collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .collection-card { min-height:390px; }
  .collection-card:nth-child(even) { transform:none; }
  .single-product div.product { grid-template-columns:minmax(0,1fr) minmax(380px,.9fr); gap:2.5rem; }
}

@media (max-width:980px) {
  .woocommerce-checkout form.checkout {
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:'customer' 'heading' 'review' 'wallets' 'payment';
    gap:1rem;
  }
  .woocommerce-checkout #order_review_heading { margin-top:2rem; }
  .hdr-main-in { min-height:72px; }
  .hdr-nav { background:#201813; border:0; }
  .mainnav>li>a { color:rgba(255,255,255,.88); }
  .mainnav>li>a[href*="order-tracking"] { color:#fff; }
  .hero { min-height:500px; }
  .hero-tx { width:min(650px,78%); }
  .hero-card { display:none; }
  .feat-in { grid-template-columns:minmax(0,1fr); }
  .single-product div.product { grid-template-columns:1fr; }
  .single-product .woocommerce-product-gallery { position:static!important; }
  .single-product .summary { max-width:760px; }
}

@media (max-width:760px) {
  .wrap,.shell { width:100%; max-width:100%; }
  .feat { overflow:hidden; contain:inline-size; }
  .feat>.wrap { width:100vw!important; max-width:100vw!important; }
  .ann { font-size:.74rem; line-height:1.3; letter-spacing:.02em; }
	.ann>.wrap { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:.55rem; min-height:44px; padding-block:.5rem; text-align:left; }
	.ann-message { display:none; }
	.ann-message-mobile { display:block; }
	.ann-phone { justify-self:end; margin:0; padding:.22rem .5rem; font-size:.7rem; letter-spacing:0; }
	.hdr-acts .hact:not(#cartBtn) { display:none; }
  .search { min-height:42px; }
  .hero { min-height:auto; padding:0; background:#fffdfa; }
  .hero-bg { inset:0 0 auto; height:220px; background-position:center; transform:none; }
  .hero-scrim { inset:0 0 auto; height:220px; background:linear-gradient(0deg,rgba(26,14,8,.18),rgba(26,14,8,0)); }
  .hero-in { align-items:stretch; min-height:0; padding:220px 0 0; }
  .hero-tx { width:100%; margin:0; padding:1.7rem var(--pad) 2rem; border:0; border-radius:20px 20px 0 0; background:rgba(255,253,249,.96); box-shadow:none; backdrop-filter:blur(10px); }
  .hero h1 { font-size:clamp(2.3rem,10.5vw,3.5rem); }
  .hero-tx>p:not(.hero-note) { margin-bottom:1.1rem; font-size:.91rem; }
  .hero .ticks { display:none; }
  .hero-cta { display:grid; grid-template-columns:1fr 1fr; }
  .hero-cta>* { width:100%; min-width:0; }
  .hero-cta .btn { min-width:0; min-height:48px; padding:.8rem .65rem; line-height:1.25; white-space:normal; text-align:center; }
  .trust-in { display:flex; overflow-x:auto; scroll-snap-type:x mandatory; }
  .trust-i { flex:0 0 78%; min-height:76px; border-right:1px solid var(--line); border-bottom:0; scroll-snap-align:start; }
  .sec { padding-block:4.5rem; }
  .sec-hd-split { grid-template-columns:1fr; gap:1rem; }
  .collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.7rem; }
  .collection-card { min-height:315px; border-radius:12px; }
  .collection-copy { padding:1rem; }
  .collection-copy strong { font-size:1.22rem; }
  .collection-copy i { font-size:.68rem; }
  .feat-in { display:block!important; }
  .feat-in>* { width:100%; min-width:0; }
  .feat-info { margin-top:1.8rem; }
  .feat-in,.feat-art,.feat-info,.feat-info .tabpanel {
    width:100%!important;
    max-width:calc(100vw - (var(--pad) + var(--pad)))!important;
    min-width:0!important;
  }
  .feat-info h2,.feat-info p { overflow-wrap:anywhere; }
  .feat-art { border-radius:14px; }
  .feat-gallery { border-radius:0; }
  .feat-gallery-main { border-radius:14px; }
  .feat-gallery-arrow { width:42px; height:42px; }
  .feat-info .lede { display:block; font-size:.88rem; }
  .feat-info .tablist { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); width:100%; overflow:visible; }
  .feat-info .tab { min-width:0; padding:.65rem .1rem; font-size:.62rem; white-space:normal; }
  .feat-info .szgrid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .feat-info .szbtn { min-width:0; width:auto; }
  .feat-info .single_variation_wrap { display:block; }
  .feat-info .woocommerce-variation { margin-bottom:.65rem; }
  .pgrid,.woocommerce ul.products.pgrid,.woocommerce-page ul.products.pgrid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
  .card-b { padding:.85rem; }
  .card-title { font-size:1rem; }
  .card .act .button { min-height:42px; padding:.7rem .5rem; font-size:.74rem; }
  .card .pr,.card .pr .amount { font-size:.9rem; }
  .room-tx { padding-inline:1.5rem; }
  .woocommerce-checkout form.checkout {
    display:grid;
    grid-template-columns:minmax(0,1fr);
    grid-template-areas:
      'customer'
      'heading'
      'review'
      'wallets'
      'payment';
    gap:1rem;
  }
  .woocommerce-checkout #order_review_heading { margin-top:2rem; }
  .woocommerce-cart .woocommerce { grid-template-columns:1fr; }
  .woocommerce-cart .woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals { grid-column:1; }
  .single-product div.product>* ,
  .single-product .summary,
  .single-product form.cart,
  .single-product .szgrid { min-width:0!important; max-width:100%!important; }
  .single-product .szgrid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
  .single-product .szbtn { width:100%; min-width:0; padding:.55rem .25rem; }
  .woocommerce-cart table.shop_table_responsive,
  .woocommerce-cart table.shop_table_responsive tbody,
  .woocommerce-cart table.shop_table_responsive tr,
  .woocommerce-cart table.shop_table_responsive td { width:100%; max-width:100%; }
  .woocommerce-cart .woocommerce-cart-form td.product-thumbnail { display:none!important; }
  .woocommerce-cart table.shop_table_responsive td {
    display:grid!important;
    grid-template-columns:minmax(90px,34%) minmax(0,1fr);
    align-items:start;
    gap:1rem;
    overflow-wrap:anywhere;
  }
  .woocommerce-cart table.shop_table_responsive td::before {
    text-align:left;
  }
  .woocommerce-cart table.shop_table_responsive td>* { min-width:0; max-width:100%; }
  .woocommerce-cart table.shop_table_responsive td.product-name>a,
  .woocommerce-cart table.shop_table_responsive td.product-name>dl { grid-column:2; }
  .woocommerce-cart table.shop_table_responsive td.product-name::before { grid-column:1; grid-row:1/3; }
  .woocommerce-cart table.shop_table_responsive td.product-name dl.variation {
    display:block;
    margin:.45rem 0 0;
    color:var(--soft);
    font-size:.75rem;
  }
  .woocommerce-cart table.shop_table_responsive td.product-name dl.variation dt,
  .woocommerce-cart table.shop_table_responsive td.product-name dl.variation dd {
    display:inline;
    float:none;
    margin:0;
  }
  .woocommerce-cart table.shop_table_responsive td.product-name dl.variation dd p { display:inline; margin:0; }
  .woocommerce-cart table.shop_table_responsive td.product-remove { display:block!important; }
  .woocommerce-cart table.shop_table_responsive td.product-remove>* { max-width:none; }
  .woocommerce-cart table.shop_table_responsive td.actions { display:block!important; }
  .woocommerce-cart table.shop_table_responsive td.actions .coupon {
    display:grid;
    grid-template-columns:1fr;
    gap:.65rem;
    width:100%;
  }
  .woocommerce-cart table.shop_table_responsive td.actions .coupon input,
  .woocommerce-cart table.shop_table_responsive td.actions .coupon button { width:100%!important; min-height:48px; }
  .woocommerce-cart .cart_totals { overflow:hidden; }
  .woocommerce-cart .cart_totals table { display:table; width:100%; table-layout:fixed; }
  .woocommerce-cart .cart_totals table tbody { display:table-row-group; }
  .woocommerce-cart .cart_totals table tr { display:table-row; }
  .woocommerce-cart .cart_totals table th {
    display:table-cell!important;
    width:38%;
    padding:.85rem .5rem;
    vertical-align:top;
  }
  .woocommerce-cart .cart_totals table td {
    display:table-cell!important;
    width:62%;
    padding:.85rem .5rem;
    vertical-align:top;
    overflow-wrap:anywhere;
  }
  .woocommerce-cart .cart_totals table td::before { display:none!important; }
  .woocommerce-checkout #order_review { padding:1rem; overflow:hidden; }
  .woocommerce-checkout #payment ul.payment_methods { padding:.75rem; }
  .woocommerce-checkout #payment .payment_box { padding:.75rem; }
  .single-product .product_title { font-size:clamp(2.25rem,10vw,3.4rem); }
  .single-product form.cart { padding:1rem; }
  .single-product .woocommerce-tabs ul.tabs { gap:.9rem; overflow-x:auto; }
}

@media (max-width:420px) {
  .ann>.wrap { display:flex; justify-content:center; }
  .ann-message-mobile { display:none; }
  .ann-phone { margin:0; padding:.25rem .65rem; font-size:.78rem; }
  .brand-lamp { width:38px; height:38px; }
  .brand-lockup small { display:none; }
  .brand-word { font-size:.9rem; }
}

@media (max-width:600px) {
  .hero-cta { grid-template-columns:1fr; gap:.65rem; }
  .hero-cta .btn { width:100%; }
  .woocommerce-checkout .form-row-first,
  .woocommerce-checkout .form-row-last { float:none!important; width:100%!important; }
  .woocommerce-checkout .woocommerce-message {
    display:flex;
    flex-direction:column;
    align-items:stretch;
    gap:.75rem;
    overflow-wrap:anywhere;
  }
  .woocommerce-checkout .woocommerce-message .button {
    float:none;
    width:100%;
    margin:0;
    text-align:center;
  }
  .checkout-reassurance { display:grid; justify-content:start; gap:.35rem; }
  .woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info {
    padding-inline:.5rem;
    overflow-wrap:anywhere;
  }
  .cookie-consent { right:.65rem; bottom:.65rem; left:.65rem; padding:.9rem; }
  .cookie-consent__inner { grid-template-columns:1fr; gap:.8rem; }
  .cookie-consent__actions { display:grid; grid-template-columns:1fr; }
  .cookie-consent .btn { width:100%; }
}

@media (max-width:430px) {
  .brand-word { font-size:.84rem; letter-spacing:.055em; }
  .brand-lamp { width:38px; height:38px; }
  .brand-lockup small { display:none; }
  .hero-bg,.hero-scrim { height:190px; }
  .hero-in { min-height:0; padding-top:190px; }
  .hero h1 { font-size:2.3rem; }
  .hero-note { display:none; }
  .collection-card { min-height:280px; }
  .collection-copy small { font-size:.55rem; }
  .collection-copy strong { font-size:1.08rem; }
  .collection-copy i { display:none; }
  .pgrid,.woocommerce ul.products.pgrid,.woocommerce-page ul.products.pgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .shot { aspect-ratio:1; }
  .card-title { font-size:.94rem; }
  .card-b { padding:.72rem; }
  .card .meta { display:none; }
  .single-product .woocommerce-variation-add-to-cart { flex-wrap:nowrap; }
  .single-product .quantity .qty { width:52px; }
  .single-product .szgrid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .fbot { display:grid; }
}

@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto; }
}

/* Search-intent guides: useful comparison blocks, not keyword-only pages. */
.seo-intent-box {
  margin:0 0 2rem;
  padding:1.25rem 1.35rem;
  border:1px solid var(--line);
  border-left:3px solid var(--cta);
  border-radius:12px;
  background:#fffaf6;
}
.seo-intent-box>strong { display:block; margin-bottom:.3rem; color:var(--ink); font-family:var(--display); font-size:1.35rem; font-weight:500; }
.seo-intent-box p { margin:0 0 .8rem; }
.seo-intent-links { display:flex; align-items:center; gap:.7rem; flex-wrap:wrap; }
.seo-intent-links .btn { min-height:44px; padding:.7rem 1rem; }
.small-lamp-choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin:2rem 0 3rem; }
.small-lamp-choices article { padding:clamp(1.2rem,3vw,2rem); border:1px solid var(--line); border-radius:14px; background:#fffaf6; }
.small-lamp-choices span { color:var(--cta); font-family:var(--mono); font-size:.65rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; }
.small-lamp-choices h2 { margin:.55rem 0 .8rem; font-size:clamp(1.65rem,3vw,2.3rem); }
.small-lamp-choices p { margin-bottom:1.2rem; }
.small-lamp-choices .btn-cta { color:#fff!important; }
.small-lamp-choices .btn-cta:hover { color:#fff!important; }
@media (max-width:700px) {
  .small-lamp-choices { grid-template-columns:1fr; }
  .small-lamp-choices .btn { width:100%; }
}

/* Decision cards for weight-based lamp variations. These are deliberately
   not colour swatches: each option explains where the size works best. */
.szcards,
.feat-info .szcards,
.single-product .szcards {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:.55rem!important;
  width:100%;
  margin:0 0 1rem;
}
.feat-info .szcards { grid-template-columns:repeat(4,minmax(0,1fr))!important; }
.szcards .szbtn {
  position:relative;
  display:grid;
  align-content:start;
  gap:.18rem;
  width:100%;
  min-width:0;
  min-height:104px;
  padding:.72rem .68rem .65rem;
  border:1px solid #dacabd;
  border-radius:11px;
  background:#fff;
  color:var(--ink);
  box-shadow:0 3px 10px rgba(60,37,22,.035);
  text-align:left;
  cursor:pointer;
  transition:border-color .18s,background .18s,box-shadow .18s,transform .18s;
}
.szcards .szbtn:hover {
  border-color:#a96a49;
  background:#fffaf6;
  box-shadow:0 7px 18px rgba(60,37,22,.08);
  transform:translateY(-1px);
}
.szcards .szbtn:focus-visible,
.szcards .size-guide-card:focus-visible { outline:3px solid rgba(36,99,70,.24); outline-offset:2px; }
.szcards .szbtn-weight,
.szcards .szbtn[aria-pressed="true"] .szbtn-weight {
  margin:0;
  color:#34241b;
  font-size:.82rem;
  font-weight:800;
  letter-spacing:-.01em;
}
.szcards .szbtn-fit {
  min-height:2.1em;
  color:#7b6a5e;
  font-size:.66rem;
  font-weight:600;
  line-height:1.2;
}
.szcards .szbtn-price,
.szcards .szbtn-price .amount,
.szcards .szbtn-price .woocommerce-Price-amount,
.szcards .szbtn[aria-pressed="true"] .szbtn-price,
.szcards .szbtn[aria-pressed="true"] .szbtn-price .amount,
.szcards .szbtn[aria-pressed="true"] .szbtn-price .woocommerce-Price-amount {
  margin-top:auto;
  color:var(--price);
  font-size:.92rem;
  font-weight:800;
  font-variant-numeric:tabular-nums;
  line-height:1.1;
}
.szcards .szbtn-check {
  position:absolute;
  top:.5rem;
  right:.5rem;
  display:grid;
  place-items:center;
  width:20px;
  height:20px;
  border-radius:50%;
  background:var(--buy);
  color:#fff;
  font-size:.7rem;
  font-weight:900;
  opacity:0;
  transform:scale(.72);
  transition:opacity .18s,transform .18s;
}
.szcards .szbtn[aria-pressed="true"] {
  border-color:var(--buy);
  background:#eff8f2;
  color:var(--ink);
  box-shadow:0 0 0 1px var(--buy),0 9px 22px rgba(36,99,70,.12);
  transform:none;
}
.szcards .szbtn[aria-pressed="true"] .szbtn-check { opacity:1; transform:scale(1); }
.szcards .szbtn[disabled] { opacity:.48; cursor:not-allowed; filter:grayscale(.45); }
.szcards .size-guide-card {
  display:grid;
  align-content:center;
  min-height:104px;
  padding:.72rem;
  border:1px dashed #c99f83;
  border-radius:11px;
  background:linear-gradient(145deg,#fbf1e8,#f3e4d7);
  color:#493327;
  text-align:left;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.szcards .size-guide-card:hover { border-color:var(--cta); box-shadow:0 7px 18px rgba(60,37,22,.08); transform:translateY(-1px); }
.szcards .size-guide-card>span { color:#a44a25; font-size:.58rem; font-weight:800; letter-spacing:.09em; text-transform:uppercase; }
.szcards .size-guide-card strong { margin:.18rem 0 .35rem; font-family:var(--display); font-size:.92rem; font-weight:500; line-height:1.05; }
.szcards .size-guide-card small { color:#7c5945; font-size:.65rem; font-weight:750; }
.single-product .summary .szcards .size-guide-card { grid-column:span 2; }

@media (max-width:900px) {
  .szcards,
  .feat-info .szcards,
  .single-product .szcards { grid-template-columns:repeat(2,minmax(0,1fr))!important; }
  .single-product .summary .szcards .size-guide-card { grid-column:auto; }
  .szcards .szbtn,
  .szcards .size-guide-card { min-height:106px; }
}

@media (max-width:390px) {
  .szcards,
  .feat-info .szcards,
  .single-product .szcards { gap:.45rem!important; }
  .szcards .szbtn { padding:.65rem .55rem .6rem; }
  .szcards .szbtn-weight,
  .szcards .szbtn[aria-pressed="true"] .szbtn-weight { font-size:.77rem; }
  .szcards .szbtn-fit { font-size:.61rem; }
  .szcards .szbtn-price,
  .szcards .szbtn-price .amount { font-size:.86rem; }
}
