/* Lintman 2026 — Demo v2 Ellu base + scheme tokens (injected also via color-scheme.php) */

:root {
  /* Blue defaults — overridden by wp_head scheme vars */
  --navy:#123443; --navy-deep:#0c2530; --gold:#f1ba61; --gold-soft:#f6d08a;
  --aqua:#C0D5D6; --teal:#407E8C; --sand:#E5E1DD; --sand-deep:#d8d2cc;
  --ink:#0c1f28; --muted:#5c6d75; --line:rgba(18,52,67,.12); --paper:#fffbf4;
  --cream:#fff8e9; --stove:#c15d24; --stove-dark:#9e481a;
  --green:#c15d24; --green-dark:#9e481a;
  --bath:#123443; --bath-deep:#0c2530;
  --catbar-bg:var(--navy); --catbar-hover:var(--navy-deep);
  --catbar-active-line:var(--gold); --catbar-ico-active:var(--gold);
  --on-gold:#2c2416; --btn-text:#2c2416;
}
* { box-sizing:border-box; }
body {
  margin:0; color:var(--ink); background:var(--paper);
  font-family:"Outfit",sans-serif; font-weight:400; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
a { color:var(--navy); text-decoration:none; }
a:hover { color:var(--teal); }
img { max-width:100%; display:block; }
.container { max-width:1240px; margin:0 auto; padding:0 22px; }
h1,h2,h3,h4 { font-family:"Cormorant Garamond",Georgia,serif; font-weight:600; letter-spacing:.01em; }
.topbar {
  background:#F3F3F3; color:#555; font-size:.82rem; letter-spacing:.01em;
  border-bottom:1px solid #e8e8e8;
}
.topbar .container { display:flex; align-items:center; justify-content:space-between; min-height:40px; gap:1rem; }
.topbar .info { display:flex; gap:1.4rem; flex-wrap:wrap; }
.topbar a { color:#555; }
.topbar .right { display:flex; gap:1rem; align-items:center; }
.cart-btn {
  background:var(--gold); color:var(--on-gold) !important; font-weight:700;
  padding:.38rem .9rem; border-radius:4px; letter-spacing:.02em;
  display:inline-flex; align-items:center; gap:.35rem;
}
.cart-btn:hover { filter:brightness(1.06); color:var(--on-gold) !important; text-decoration:none; }
.header-main { background:#fff; border-bottom:1px solid var(--line); }
.header-main .container { display:flex; align-items:center; gap:1.5rem; padding:26px 22px; }
.logo img { height:52px; width:auto; }
.search {
  flex:1; display:flex; max-width:560px; border:2px solid var(--navy);
  border-radius:4px; overflow:hidden; background:#fff;
}
.search input { flex:1; border:0; background:transparent; padding:.65rem .9rem; font:inherit; outline:none; }
.search button {
  background:var(--navy); color:#fff; border:0; padding:0 1.15rem;
  font-weight:600; cursor:pointer; letter-spacing:.03em;
}
.header-actions { display:flex; align-items:center; gap:1.35rem; margin-left:auto; }
.header-links { display:flex; gap:1.35rem; font-size:.9rem; flex-wrap:wrap; }
.header-links a { color:var(--ink); font-weight:500; }
.header-links a:hover { color:var(--navy); }
/* Broken FiboSearch shortcode left as a menu item label */
.header-links a[href*="dgwt"],
.catbar a[href*="dgwt"],
.header-links a[href="#"],
.menu-item a[href*="dgwt_wcas"] { display:none !important; }
.cart-ico { width:18px; height:18px; flex-shrink:0; }
.header-main .cart-btn { padding:.5rem .95rem; white-space:nowrap; }
.catbar { background:var(--catbar-bg); position:relative; z-index:30; }
.catbar .container { max-width:100%; padding:0; }
.catbar ul {
  list-style:none; margin:0; padding:0; display:flex; flex-wrap:nowrap;
  width:100%; max-width:1240px; margin:0 auto;
}
.catbar > .container > ul > li { position:relative; flex:1 1 0; min-width:0; text-align:center; }
.catbar a {
  color:#fff; display:block; padding:.85rem .35rem; font-size:.8rem;
  font-weight:600; letter-spacing:.01em;
}
.catbar > .container > ul > li > a {
  width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}
.nav-plain, .nav-label {
  display:inline-flex; flex-direction:row; align-items:center; justify-content:center;
  gap:.35rem; max-width:100%; white-space:nowrap;
}
.nav-ico {
  width:16px !important; height:16px !important; max-width:22px !important; max-height:22px !important;
  opacity:.95; flex-shrink:0; display:inline-block; overflow:hidden; vertical-align:middle;
}
.nav-txt { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.caret-mark {
  flex-shrink:0; opacity:.75; font-size:.65em; margin-left:.1rem;
  display:inline-block; line-height:1;
}
.catbar a:hover .nav-ico, .catbar li.active > a .nav-ico { opacity:1; color:var(--catbar-ico-active); }
.catbar > .container > ul > li > a:hover,
.catbar li.active > a { background:var(--catbar-hover); color:#fff; text-decoration:none; }
.catbar li.active > a { box-shadow:inset 0 -3px 0 var(--catbar-active-line); }
.catbar li.is-green > a { background:var(--stove); color:#fff8f3; }
.catbar li.is-green > a:hover { background:var(--stove-dark); color:#fff; }
.catbar li.is-outlet > a { color:var(--gold-soft); }
.catbar li.is-blue > a { background:var(--bath); color:#fff; }
.catbar li.is-blue > a:hover { background:var(--bath-deep); color:#fff; }
.catbar li.is-blue .nav-ico, .catbar li.is-blue .nav-txt { color:#fff; }
/* Orange scheme: Ahjud catbar is already orange — “is-green” stays stove accent */
body.lm-scheme-orange .catbar li.is-outlet > a { color:#fff; opacity:.95; }
/* A only: uppercase + bigger icons */
.catbar--icons > .container > ul > li > a {
  padding:.75rem .3rem; font-size:.88rem; font-weight:200; letter-spacing:.06em;
}
.catbar--icons .nav-txt { text-transform:uppercase; font-weight:200; }
.catbar--icons .nav-ico { width:22px; height:22px; }
.catbar--icons .nav-label { gap:.45rem; }
.dropdown {
  position:absolute; top:100%; left:0; min-width:220px; text-align:left;
  background:#fff; box-shadow:0 12px 30px rgba(10,30,60,.18);
  border-top:3px solid var(--gold); padding:.4rem 0; display:none; z-index:40;
}
.dropdown a {
  display:block; padding:.5rem 1.1rem; color:var(--ink); font-size:.86rem;
  font-weight:500; white-space:normal; text-align:left;
}
.dropdown a:hover { background:var(--sand); color:var(--navy); }
.mega {
  position:absolute; top:100%; left:0; width:min(680px, 92vw); text-align:left;
  background:#fff; box-shadow:0 12px 30px rgba(10,30,60,.18);
  border-top:3px solid var(--gold); padding:1.1rem 1.4rem; display:none; z-index:40;
}
.mega .cols { display:grid; grid-template-columns:repeat(3,1fr); gap:1.2rem; }
.mega h4 {
  margin:0 0 .5rem; font-family:"Outfit",sans-serif; font-size:.72rem;
  text-transform:uppercase; letter-spacing:.06em; color:var(--navy);
  border-bottom:1px solid var(--line); padding-bottom:.35rem;
}
.mega a {
  display:block; padding:.28rem 0; color:var(--ink); font-size:.86rem;
  font-weight:500; white-space:normal; text-align:left;
}
.mega a:hover { color:var(--teal); }
.has-flyout:hover > .dropdown, .has-flyout:hover > .mega { display:block; }
@media (max-width:980px) {
  .catbar ul { flex-wrap:wrap; }
  .catbar > .container > ul > li { flex:1 1 33%; }
}
.crumbs { font-size:.78rem; color:var(--muted); padding:1rem 0 .4rem; letter-spacing:.02em; }
.crumbs a { color:var(--muted); }
.crumbs strong { color:var(--navy); font-weight:500; }
footer.site { background:var(--navy); color:var(--aqua); margin-top:3rem; }
.foot-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:1.5rem; padding:2.6rem 22px; }
footer.site h4 { color:#fff; font-size:1.15rem; margin:0 0 .8rem; }
footer.site a { color:var(--aqua); display:block; padding:.22rem 0; font-size:.88rem; }
footer.site a:hover { color:var(--gold-soft); }
.footbar { background:rgba(0,0,0,.22); font-size:.76rem; }
.footbar .container { display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; padding:.85rem 22px; }
.pay img { display:inline-block; height:20px; margin-left:.35rem; vertical-align:middle; }
@media (max-width:980px) {
  .header-links { display:none; }
  .foot-grid { grid-template-columns:1fr 1fr; gap:1.25rem; padding:2rem 16px; }
}
@media (max-width:560px) {
  .foot-grid { grid-template-columns:1fr; }
  .footbar .container { flex-direction:column; align-items:flex-start; gap:.6rem; }
}

.layout { display:grid; grid-template-columns:250px 1fr; gap:2.2rem; align-items:start; padding-bottom:2.5rem; }
.filter-scrim {
  position:fixed; inset:0; background:rgba(18,52,67,.46); z-index:65;
  opacity:0; pointer-events:none; transition:opacity .22s;
}
body.filters-open { overflow:hidden; }
body.filters-open .filter-scrim { opacity:1; pointer-events:auto; }
.sidebar {
  background:transparent; border:0; position:sticky; top:1.25rem;
  max-height:calc(100vh - 2.5rem); display:flex; flex-direction:column;
  overflow:hidden;
}
.sidebar-body {
  background:transparent; flex:1; min-height:0; overflow-y:auto;
  -webkit-overflow-scrolling:touch; padding-right:.35rem;
  scrollbar-width:thin;
  scrollbar-color:rgba(18,52,67,.28) transparent;
}
.sidebar-body::-webkit-scrollbar { width:4px; }
.sidebar-body::-webkit-scrollbar-track { background:transparent; }
.sidebar-body::-webkit-scrollbar-thumb {
  background:rgba(18,52,67,.22); border-radius:99px;
}
.sidebar-body::-webkit-scrollbar-thumb:hover { background:var(--gold); }
.sb-head {
  background:transparent; color:var(--navy); font-weight:700; font-size:1.55rem;
  letter-spacing:.01em; text-transform:none; padding:0 0 .95rem; flex-shrink:0;
  font-family:"Cormorant Garamond",serif;
}
.sb-close {
  display:none; width:36px; height:36px; border:0; background:transparent;
  color:var(--navy); font-size:1.6rem; line-height:1; cursor:pointer;
}
.filter-toggle { display:none; }
.toolbar-actions { display:flex; align-items:center; gap:.65rem; flex-wrap:wrap; }
.filter-apply {
  padding:.85rem 0 0; background:transparent; border-top:0; flex-shrink:0;
}
.filter-apply-btn {
  display:block; width:100%; margin-top:0; text-align:center;
  padding:.7rem 1rem; font-size:.9rem;
  background:var(--navy); color:#fff; filter:none;
}
.filter-apply-btn:hover { background:#2a6170; color:#fff; filter:none; }
.filter {
  padding:0; border-bottom:1px solid rgba(18,52,67,.08); background:transparent;
}
.sidebar-body .filter:last-child { border-bottom:0; }
.filter h4 {
  margin:.35rem 0 .55rem; font-family:"Outfit",sans-serif; font-size:.72rem;
  text-transform:uppercase; letter-spacing:.08em; color:var(--muted); font-weight:600;
}
.filter-acc-btn {
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:.5rem;
  background:none; border:0; padding:.8rem 0; cursor:pointer;
  font-family:"Outfit",sans-serif; font-size:.72rem; font-weight:600;
  text-transform:uppercase; letter-spacing:.08em; color:var(--muted); text-align:left;
}
.filter-acc-btn:hover { color:var(--navy); }
.filter-acc-btn .chev {
  color:var(--gold); font-size:.75rem; transition:transform .18s ease; line-height:1;
}
.filter-acc.is-open .filter-acc-btn { color:var(--navy); }
.filter-acc.is-open .filter-acc-btn .chev { transform:rotate(180deg); }
.filter-acc-panel {
  padding:0 0 .85rem; max-height:min(42vh, 320px); overflow:auto;
  scrollbar-width:thin; scrollbar-color:rgba(18,52,67,.28) transparent;
}
.filter-acc-panel[hidden] { display:none !important; }
.filter label { display:flex; align-items:center; gap:.5rem; font-size:.86rem; padding:.2rem 0; cursor:pointer; }
.color-opts { display:flex; flex-direction:column; gap:.12rem; }
.color-opt .dot {
  width:14px; height:14px; border-radius:50%; border:1px solid rgba(18,52,67,.22);
  flex-shrink:0; box-shadow:inset 0 0 0 1px rgba(255,255,255,.35);
}
.range-label {
  display:block; font-size:.78rem; font-weight:500; color:var(--ink); margin:.15rem 0 .35rem;
}
.filter-acc-panel .filter-range + .filter-range { margin-top:.85rem; }
.filter-range { padding-bottom:.85rem; }
.range-nums {
  display:flex; align-items:center; gap:.35rem; margin-bottom:.45rem;
  font-size:.78rem; color:var(--muted);
}
.range-nums input {
  width:4.6rem; padding:.28rem .4rem; border:1px solid var(--line); border-radius:2px;
  font:inherit; font-size:.78rem; color:var(--ink); background-color:#fff;
}
.range-nums .unit { margin-left:.1rem; }
.dual { position:relative; height:22px; }
.dual-rail, .dual-fill {
  position:absolute; left:0; right:0; top:9px; height:4px; border-radius:2px;
  background:var(--sand-deep, #e8e0d4); pointer-events:none;
}
.dual-fill { right:auto; background:var(--gold); }
.dual input[type=range] {
  position:absolute; left:0; top:0; width:100%; height:22px; margin:0;
  background:none; pointer-events:none; appearance:none; -webkit-appearance:none;
}
.dual input[type=range]::-webkit-slider-thumb {
  pointer-events:auto; appearance:none; -webkit-appearance:none;
  width:16px; height:16px; border-radius:50%; background:var(--gold);
  border:2px solid #fff; box-shadow:0 1px 4px rgba(18,52,67,.28); cursor:pointer;
}
.dual input[type=range]::-moz-range-thumb {
  pointer-events:auto; width:16px; height:16px; border-radius:50%;
  background:var(--gold); border:2px solid #fff; box-shadow:0 1px 4px rgba(18,52,67,.28); cursor:pointer;
}
.dual input[type=range]::-moz-range-track { background:transparent; }
.dual input[type=range]::-webkit-slider-runnable-track { background:transparent; height:4px; }
.swatches { display:flex; gap:.35rem; margin:0 0 .65rem; }
.sw {
  width:15px; height:15px; border-radius:50%; border:1px solid rgba(18,52,67,.2);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);
}
.sw.is-on { outline:2px solid var(--navy); outline-offset:1px; }
.cat-head h1 { margin:.15rem 0 .35rem; font-size:2.55rem; color:var(--navy); line-height:1.1; }
.cat-seo { padding:.15rem 0 1rem; font-size:.95rem; color:var(--muted); max-width:62ch; }
.cat-seo.collapsed .more-text { display:none; }
.readmore {
  background:none; border:0; border-bottom:1px solid var(--gold); color:var(--navy);
  font:inherit; font-weight:500; cursor:pointer; padding:.2rem 0; margin-top:.35rem;
}
.toolbar {
  display:flex; justify-content:space-between; align-items:center; margin:.4rem 0 1.1rem;
  font-size:.84rem; color:var(--muted); border-top:1px solid var(--line); border-bottom:1px solid var(--line);
  padding:.7rem 0;
}
.toolbar select,
.toolbar .woocommerce-ordering { margin:0; }
.toolbar .woocommerce-ordering select {
  padding:.4rem .55rem; border:1px solid var(--line); border-radius:2px; background:#fff; font:inherit;
}
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:1.15rem; }
.card {
  background:#fff; border:1px solid var(--line); border-radius:2px; overflow:hidden;
  display:flex; flex-direction:column; transition:transform .2s ease, box-shadow .2s ease;
}
.card:hover { transform:translateY(-3px); box-shadow:0 18px 40px rgba(8,58,79,.1); }
.card .thumb { position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--sand); display:block; }
.card .thumb img { width:100%; height:100%; object-fit:cover; transition:transform .45s ease; }
.card:hover .thumb img { transform:scale(1.04); }
.card .body { padding:1rem 1rem 1.15rem; display:flex; flex-direction:column; flex:1; }
.card .card-badge-sale,
.card .pc-badge {
  position:absolute; top:.65rem; left:.65rem; z-index:2;
}
.badge {
  align-self:flex-start; font-size:.68rem; font-weight:600; letter-spacing:.08em;
  text-transform:uppercase; color:var(--teal); margin-bottom:.45rem;
}
.card h3 { font-size:1.15rem; margin:0 0 .55rem; line-height:1.25; }
.card h3 a { color:var(--navy); }
.card h3 a:hover { color:var(--gold); }
.price { font-weight:600; color:var(--navy); font-size:1.15rem; margin-top:auto; font-family:"Outfit",sans-serif; }
.price .from { font-weight:400; font-size:.78rem; color:var(--muted); }
.price .esto { display:block; font-weight:400; font-size:.74rem; color:var(--muted); margin-top:.15rem; }
.card .btn { align-self:flex-start; }
.btn {
  display:inline-block; background:var(--gold); color:var(--btn-text); padding:.55rem .95rem;
  border-radius:4px; font-weight:700; font-size:.82rem; letter-spacing:.02em; margin-top:.75rem; text-align:center;
}
.btn:hover { filter:brightness(1.06); color:var(--btn-text); text-decoration:none; }
.btn-gold { background:var(--gold); color:var(--btn-text); }
.btn-ghost {
  background:transparent; color:var(--navy); border:1.5px solid var(--navy); font-weight:600;
}
.btn-ghost:hover { background:var(--navy); color:#fff; filter:none; }
.btn-ghost-light {
  background:transparent; color:#fff; border:1px solid rgba(255,255,255,.45); font-weight:600;
}
.btn-ghost-light:hover { border-color:var(--gold); color:var(--gold-soft); filter:none; }
.cta-row { display:grid; grid-template-columns:1fr 1fr; gap:1.1rem; margin:2rem 0 0; }
.cta { border-radius:2px; padding:1.6rem 1.55rem; color:#fff; display:flex; flex-direction:column; gap:.45rem; }
.cta.brand { background:linear-gradient(145deg,var(--navy-deep),var(--navy)); }
.cta.store { background:linear-gradient(145deg,#2f5560,var(--teal)); }
.cta h3 { margin:0; font-size:1.55rem; color:#fff; }
.cta p { margin:0; opacity:.9; font-size:.92rem; }
.cta .btn { align-self:flex-start; margin-top:.55rem; }
@media (max-width:980px) {
  .layout { grid-template-columns:1fr; }
  .grid { grid-template-columns:repeat(2,1fr); }
  .cta-row { grid-template-columns:1fr; }
  .cat-head h1 { font-size:2.05rem; }
  .filter-toggle {
    display:inline-flex; align-items:center; justify-content:center;
    background:var(--navy); color:#fff; border:0; border-radius:4px;
    padding:.48rem .9rem; font:inherit; font-weight:600; font-size:.82rem;
    letter-spacing:.03em; cursor:pointer;
  }
  .sb-head { display:flex; align-items:center; justify-content:space-between; }
  .sb-close { display:block; }
  .sidebar {
    display:none;
    position:fixed; left:.7rem; right:.7rem; bottom:.7rem; top:auto;
    max-height:82vh; z-index:75; overflow:hidden;
    border:0; border-radius:16px; margin:0;
    background:#fff;
    box-shadow:0 18px 50px rgba(18,52,67,.18);
  }
  .sidebar.is-open { display:flex; flex-direction:column; background:#fff; }
  .sidebar-body { flex:1; overflow:auto; -webkit-overflow-scrolling:touch; padding:0 1.15rem; }
  .sidebar-body, .filter, .filter-apply { background:transparent; }
  .sb-head { padding:1rem 1.15rem .35rem; }
  .filter { padding:.7rem 0 .85rem; }
  .filter-apply { padding:.85rem 1.15rem 1.1rem; }
  .sidebar .range-nums input { background:#fff; }
  .toolbar { gap:.7rem; flex-wrap:wrap; }
}
@media (max-width:560px) {
  .grid { grid-template-columns:1fr; }
  .toolbar { flex-direction:column; align-items:stretch; }
  .toolbar-actions { justify-content:space-between; }
  .cat-head h1 { font-size:1.8rem; }
}

