/* ============================================================
   THEME TOKENS — light and dark.
   Palette values for dark are taken from the Alpha Degré system.
   Light keeps the existing Daichi Bulgaria look exactly as it was.
   ============================================================ */
:root{
  color-scheme:light;
  /* text */
  --ink:#151515;        /* primary text, ink buttons        */
  --ink-2:#3C4048;
  --on-ink:#fff;        /* text sitting ON an ink surface   */
  --grey:#6c7684;       /* secondary text                   */
  --grey-2:#A8ACB4;
  --grey-3:#94a0b1;     /* muted / meta                     */
  /* surfaces */
  --paper:#fff;         /* cards, panels, inputs            */
  --surface:#F4F4F8;    /* tinted tiles                     */
  --surface-2:#FAFAFC;
  --surface-3:#ececf4;  /* hover on tinted                  */
  --page:#fff;          /* page background                  */
  /* lines */
  --line:#e6e6ef;
  --line-2:#d1d8e1;
  /* brand */
  --peri:#2858ff;
  --band-a:#E9E8FA; --band-b:#CFDDF6;
  /* alpha gradient */
  --grad-from:#50a2ff; --grad-to:#fa91cb;
  --gradient:linear-gradient(90deg,var(--grad-from),var(--grad-to));
  --glow-surface:var(--paper);
  --glow-line:var(--line);
  /* motion (Alpha Degré values) */
  --dur-press:.12s; --dur-fast:.16s; --dur-base:.24s; --dur-slow:.4s;
  --ease-out:cubic-bezier(.23,1,.32,1);
  --ease-standard:cubic-bezier(.25,.1,.25,1);
  --press:.97; --press-sm:.94; --press-card:.985;
}

:root[data-theme="dark"]{
  color-scheme:dark;
  --ink:#f5f5f7;
  --ink-2:#d6dae1;
  --on-ink:#15171c;
  --grey:#98a2b0;
  --grey-2:#7d8795;
  --grey-3:#8b94a2;
  --paper:#24272e;
  --surface:#1c1f25;
  --surface-2:#1a1d22;
  --surface-3:#2c3039;
  --page:#15171c;
  --line:#353a45;
  --line-2:#434a57;
  --peri:#7fbbff;
  --band-a:#1c2030; --band-b:#16202e;
  --glow-surface:var(--paper);
  --glow-line:var(--line);
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --ink:#f5f5f7; --ink-2:#d6dae1; --on-ink:#15171c;
    --grey:#98a2b0; --grey-2:#7d8795; --grey-3:#8b94a2;
    --paper:#24272e; --surface:#1c1f25; --surface-2:#1a1d22; --surface-3:#2c3039;
    --page:#15171c; --line:#353a45; --line-2:#434a57; --peri:#7fbbff;
    --band-a:#1c2030; --band-b:#16202e;
  }
}
@media (prefers-reduced-motion:reduce){
  :root{--press:1;--press-sm:1;--press-card:1;}
}

html,body{background:var(--page);color:var(--ink);}

/* ---- cursor-following light (Alpha Degré signature) ---- */
@property --light-a{ syntax:"<number>"; inherits:false; initial-value:0; }

.lit{
  --_light:color-mix(in oklab,var(--grad-from),var(--grad-to) var(--light-xp,50%));
  --_glow:19%;
  border:1px solid transparent;
  background:
    radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),
      color-mix(in oklab,var(--_light) calc(var(--_glow) * var(--light-a)),transparent),
      transparent 52%) padding-box,
    linear-gradient(var(--glow-surface),var(--glow-surface)) padding-box,
    radial-gradient(circle at var(--light-x,50%) var(--light-y,50%),
      color-mix(in oklab,var(--_light) calc(100% * var(--light-a)),var(--glow-line)),
      var(--glow-line) 60%) border-box;
  transition:--light-a var(--dur-base) var(--ease-out),
             transform var(--dur-press) var(--ease-out);
}
.lit[data-lit="true"]{--light-a:1;}
.lit-strong{--_glow:53%;}
.lit:active{transform:scale(var(--press-card));}


*{box-sizing:border-box}
.d{font-family:'Suisse Intl','Inter',system-ui,-apple-system,sans-serif;color:var(--ink);background:var(--page);
  line-height:1.5;-webkit-font-smoothing:antialiased;}
.d h1,.d h2,.d h3,.d h4{margin:0;font-weight:600;letter-spacing:-.025em;line-height:1.06;}
.wrap{max-width:1280px;min-width:360px;margin:0 auto;padding:0 40px;}
.eyebrow{margin:0 0 16px;font-size:14px;line-height:150%;font-weight:400;color:var(--grey);text-transform:uppercase;}
.lead{color:var(--grey);font-size:16px;line-height:150%;}
.h-xl{font-size:64px;line-height:120%;} .h-lg{font-size:48px;line-height:120%;}
.h-md{font-size:40px;line-height:120%;}
.rule{height:1px;background:var(--line);border:0;margin:26px 0 34px;}
.crumb{font-size:13px;color:var(--grey);margin-bottom:14px;display:flex;gap:8px;}
.crumb button{background:none;border:0;font:inherit;font-size:13px;color:var(--grey);cursor:pointer;padding:0;}

/* header */
.hdr{position:sticky;top:0;z-index:70;background:var(--paper);border-radius:0 0 22px 22px;
  box-shadow:0 2px 20px rgba(20,22,30,.06);}
.hdr .wrap{display:flex;align-items:center;gap:22px;height:76px;}
.logo{display:flex;align-items:center;gap:9px;background:none;border:0;padding:0;cursor:pointer;}
.logo-bg{font-size:12px;letter-spacing:.18em;color:var(--grey);font-weight:400;
  border-left:1px solid var(--line);padding-left:10px;margin-left:2px;}
.nav{display:flex;gap:2px;margin-left:auto;}
.nav button{background:none;border:0;font:inherit;font-size:14px;line-height:150%;font-weight:400;
  color:var(--grey);padding:8px 12px;border-radius:8px;cursor:pointer;white-space:nowrap;transition:color .2s;}
.nav button.on{color:var(--ink);}
.tools{display:flex;align-items:center;gap:13px;}
.city{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2);
  background:none;border:0;font-family:inherit;}
.iconbtn{background:none;border:0;cursor:pointer;color:var(--ink);display:grid;place-items:center;padding:4px;position:relative;}
.iconbtn i{position:absolute;top:-4px;right:-6px;background:var(--peri);color:#fff;font-style:normal;
  border-radius:99px;min-width:18px;height:18px;font-size:11px;font-weight:500;display:grid;place-items:center;}
.lang{display:flex;background:var(--surface);border-radius:8px;padding:2px;}
.lang button{background:none;border:0;font:inherit;font-size:12px;font-weight:500;padding:5px 9px;
  border-radius:6px;cursor:pointer;color:var(--grey);}
.lang button.on{background:var(--paper);color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1);}
.pill{background:var(--ink);color:var(--on-ink);border:0;border-radius:99px;padding:12px 22px;font:inherit;
  font-size:13.5px;font-weight:600;cursor:pointer;white-space:nowrap;}

/* buttons */
.btn{border:0;border-radius:99px;font:inherit;font-size:14px;font-weight:600;padding:13px 26px;
  cursor:pointer;display:inline-flex;align-items:center;gap:9px;justify-content:center;}
.btn-g{background:linear-gradient(100deg,#5ea9ff,var(--peri));color:#fff;}
.btn-k{background:var(--ink);color:var(--on-ink);}
.btn-o{background:var(--paper);color:var(--ink);border:1px solid var(--line);}
.btn:disabled{opacity:.4;cursor:not-allowed;}
.btn-sm{padding:9px 18px;font-size:13px;}

/* hero */
.hero{padding:44px 0 0;}
.hero-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;
  margin-bottom:26px;flex-wrap:wrap;}
.hero-txt{text-align:right;max-width:530px;}
.hero-txt h1{font-size:42px;margin-bottom:12px;}
.hero-txt p{color:var(--grey);font-size:14.5px;line-height:1.6;margin:0;}
.hero-ctl{display:flex;gap:10px;margin-bottom:14px;}
.arrowb{width:48px;height:48px;border-radius:99px;background:var(--surface);border:0;cursor:pointer;
  display:grid;place-items:center;color:var(--ink);}
.arrowb:hover{background:var(--line);}
.arrowb.flip svg{transform:rotate(180deg);}
.prog{display:flex;gap:6px;margin-bottom:18px;}
.prog button{height:3px;flex:1;background:var(--surface);border-radius:99px;border:0;padding:0;cursor:pointer;}
.prog button.done{background:var(--ink);}
.prog button.on{background:linear-gradient(to right,var(--ink) 0%,var(--ink) 42%,var(--surface) 42%,var(--surface) 100%);}
.stage{position:relative;border-radius:24px;overflow:hidden;height:652px;
  display:flex;padding:40px;gap:20px;background-size:cover;background-position:center;
  background-repeat:no-repeat;background-color:#dfe4f0;}
.panel-r{image-rendering:auto;}
.peak{position:absolute;left:50%;bottom:0;transform:translateX(-50%);width:min(780px,94%);}
.wmk{position:absolute;left:50%;top:42%;transform:translate(-50%,-50%);opacity:.55;}
.slide-cap{position:absolute;left:34px;bottom:30px;z-index:4;max-width:32ch;}
.slide-cap b{display:block;font-size:12px;letter-spacing:.13em;text-transform:uppercase;
  color:#4A5270;margin-bottom:7px;}
.slide-cap h3{font-size:25px;color:var(--ink);}
.tiles{position:relative;z-index:3;display:flex;flex-direction:column;justify-content:flex-start;
  gap:20px;width:180px;}
.tiles.r{margin-left:auto;}
.tile{width:180px;height:180px;padding:24px;background-color:rgba(0,42,147,.15);
  backdrop-filter:blur(15px);border-radius:16px;border:0;display:flex;flex-direction:column;
  justify-content:space-between;cursor:pointer;color:var(--on-ink);text-align:left;font:inherit;
  box-shadow:0 4px 20px transparent;transition:box-shadow .3s,background-color .3s;}
.tile:hover{background-color:rgba(0,42,147,.28);box-shadow:0 4px 20px rgba(0,0,0,.2);}
.tile-ic{width:48px;height:48px;border-radius:99px;background:var(--paper);
  display:grid;place-items:center;color:var(--ink);}
.tile b{font-size:16px;font-weight:400;line-height:130%;color:var(--on-ink);}
.scrolldown{display:grid;place-items:center;padding:26px 0;color:var(--peri);}
.scrolldown svg{transform:rotate(90deg);}

/* sections */
.sec{padding:76px 0;} .sec-sm{padding:52px 0;}
.split{display:grid;grid-template-columns:1fr 1fr;gap:56px;align-items:start;margin-bottom:36px;}
.split h2{font-size:40px;line-height:120%;}

/* tiles */
.tilegrid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px 22px;}
.ctile{cursor:pointer;background:none;border:0;padding:0;font:inherit;text-align:left;}
.ctile-img{background:var(--surface);border-radius:24px;height:250px;display:grid;place-items:center;
  margin-bottom:24px;overflow:hidden;position:relative;}
.ctile-img img{width:100%;height:100%;object-fit:cover;display:block;}
/* product renders: mixed aspect ratios, must not be cropped */
.ctile-img img.contain{width:auto;height:auto;max-width:78%;max-height:78%;object-fit:contain;
  position:relative;z-index:2;}
/* their .products__link-shadow — blurred contact ellipse under the unit */
.ctile-img::after{content:"";position:absolute;left:50%;bottom:26px;width:46%;height:14px;
  transform:translateX(-50%);background:rgba(19,56,98,.15);filter:blur(7.5px);border-radius:50%;
  opacity:0;transition:opacity .4s ease-in-out;z-index:1;}
.ctile:hover .ctile-img::after{opacity:1;}
.pcard-img img.contain{max-width:78%;max-height:78%;object-fit:contain;}
.ctile:hover .ctile-img{background:#EAEAF2;}
.ctile b{font-size:16px;font-weight:400;line-height:150%;display:block;color:var(--ink);}
.ctile span{font-size:13.5px;color:var(--grey);display:block;margin-top:4px;}
.wide{grid-column:span 2;}
.pgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px 22px;}
.pcard{display:flex;flex-direction:column;}
.pcard-img{background:var(--surface);border-radius:24px;height:250px;display:grid;place-items:center;
  position:relative;margin-bottom:24px;}
.pcard-logo{position:absolute;bottom:12px;right:14px;height:16px;opacity:.75;}
.tag{position:absolute;top:12px;left:12px;font-size:10.5px;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;padding:5px 11px;border-radius:99px;color:var(--on-ink);}
.t-in{background:#2E9E68;} .t-req{background:#B9925A;}
.pcard h4{font-size:16.5px;font-weight:500;margin-bottom:5px;}
.pcard .sub{font-size:13.5px;color:var(--grey);margin-bottom:6px;}
.pcard .price{font-size:24px;font-weight:600;letter-spacing:-.02em;}
.pcard .price small{display:block;font-size:12px;font-weight:400;color:var(--grey);margin-top:2px;}
.pcard .foot{margin-top:auto;padding-top:14px;}

/* band + orbs */
.band{background:linear-gradient(112deg,var(--band-a),var(--band-b) 55%,#E4E2F7);padding:56px 0;
  position:relative;overflow:hidden;display:grid;place-items:center;border-radius:18px;}
.orbs{position:relative;height:220px;width:min(720px,92%);}
.orb{position:absolute;border-radius:99px;display:grid;place-items:center;
  background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.96),rgba(226,231,250,.86) 46%,rgba(186,198,238,.7) 100%);
  box-shadow:0 16px 40px rgba(120,132,190,.24),inset 0 -8px 22px rgba(255,255,255,.6);}

/* bento */
.bento{display:grid;grid-template-columns:repeat(6,1fr);gap:16px;}
.bcard{background:var(--paper);border:1.5px solid var(--line);border-radius:24px;padding:24px;
  position:relative;overflow:hidden;height:200px;transition:border-color .3s ease-in-out;}
.bcard:hover{border-color:var(--line-2);}
.bcard b{font-size:42px;font-weight:600;letter-spacing:-.03em;
  background:linear-gradient(100deg,#9AA8EF,#BCA6F1);-webkit-background-clip:text;background-clip:text;
  color:transparent;display:block;line-height:1;margin-bottom:10px;}
.bcard span{font-size:14px;color:var(--ink-2);line-height:1.35;display:block;max-width:20ch;}
.bcard em{font-style:normal;font-size:11.5px;color:var(--grey-2);display:block;margin-top:8px;}
.bcard .deco{position:absolute;right:-10px;bottom:-10px;opacity:.45;}
.bdeco{position:absolute;right:-6px;bottom:-6px;max-height:118px;max-width:48%;
  object-fit:contain;pointer-events:none;}
.c3{grid-column:span 3;} .c2{grid-column:span 2;}
.bcard.ask{border-style:dashed;border-color:#C9CDE8;background:#FBFBFE;}
.bcard.ask b{font-size:26px;background:none;color:#9AA8EF;-webkit-text-fill-color:#9AA8EF;}

/* brands */
.btiles{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;}
.btile{width:172px;background:none;border:0;cursor:pointer;font:inherit;padding:0;}
.btile-b{width:172px;height:104px;margin:0 auto 10px;background:var(--paper);border-radius:24px;
  border:1.5px solid var(--line);display:flex;align-items:center;justify-content:center;
  padding:20px 22px;transition:border-color .3s ease-in-out;}
.btile:hover .btile-b{border-color:var(--line-2);}
.btile-b img,.btile-b svg{display:block;width:auto;height:auto;max-width:100%;max-height:100%;
  object-fit:contain;margin:auto;}
.btile span:not(.btile-b){font-size:14px;line-height:150%;color:var(--ink);display:block;text-align:center;}
.btile.missing .btile-b{border-style:dashed;color:var(--grey-3);font-size:11px;
  text-align:center;line-height:1.35;}
.banner{border-radius:18px;overflow:hidden;padding:44px;min-height:380px;position:relative;
  display:flex;flex-direction:column;justify-content:space-between;margin-bottom:22px;}
.banner h3{font-size:34px;max-width:16ch;margin-bottom:22px;white-space:pre-line;}
.banner-logo{position:relative;z-index:3;width:200px;height:44px;display:flex;
  align-items:center;justify-content:flex-start;}
.banner-logo img,.banner-logo svg{max-height:40px;max-width:100%;width:auto;height:auto;margin:0;}
.banner-art{position:absolute;right:6%;top:50%;transform:translateY(-50%);
  width:38%;max-width:400px;display:flex;align-items:center;justify-content:center;}
.banner-art img{width:100%;height:auto;max-height:320px;object-fit:contain;display:block;}
.brandcats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:26px;}
.brandcat{background:var(--surface);border:0;border-radius:16px;padding:14px;cursor:pointer;font:inherit;
  display:flex;flex-direction:column;align-items:center;gap:10px;transition:background .2s;}
.brandcat:hover{background:#e9e9f1;}
.brandcat img{width:100%;height:110px;object-fit:contain;}
.brandcat span{font-size:13px;color:var(--ink);text-align:center;line-height:1.3;}
.ibtn{width:46px;height:46px;border-radius:12px;border:1px solid currentColor;background:none;
  cursor:pointer;display:grid;place-items:center;}

/* catalog */
.cat-tabs{display:flex;gap:26px;flex-wrap:wrap;margin-bottom:26px;}
.cat-tabs button{background:none;border:0;font:inherit;font-size:15px;cursor:pointer;color:var(--ink-2);
  padding:0;display:flex;gap:7px;align-items:baseline;}
.cat-tabs button.on{font-weight:500;color:var(--ink);}
.cat-tabs sup{font-size:11px;color:var(--grey);font-weight:400;}
.shop-grid{display:grid;grid-template-columns:250px 1fr;gap:44px;align-items:start;}
.fgroup{border-bottom:1px solid var(--line);padding:20px 0;}
.fgroup h4{font-size:16px;margin-bottom:14px;}
.fopt{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink-2);padding:5px 0;cursor:pointer;}
.fopt input{width:17px;height:17px;accent-color:#9AA8EF;}
.fopt sup{margin-left:auto;font-size:11.5px;color:var(--grey);}
.shop-head{display:flex;justify-content:space-between;margin-bottom:24px;font-size:14px;color:var(--ink-2);}

/* forms */
.field{margin-bottom:16px;}
.field label{display:block;font-size:13.5px;font-weight:600;margin-bottom:7px;}
.field input,.field textarea,.field select{width:100%;border:1px solid var(--line);border-radius:12px;
  padding:13px 15px;font:inherit;font-size:14.5px;background:var(--paper);color:var(--ink);}
.field input:focus,.field textarea:focus,.field select:focus{outline:2px solid var(--peri);outline-offset:1px;}
.two{display:grid;grid-template-columns:1fr 1fr;gap:16px;}

/* drawer */
.scrim{position:fixed;inset:0;background:rgba(20,22,30,.42);z-index:90;}
.drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--paper);z-index:100;
  display:flex;flex-direction:column;box-shadow:-10px 0 40px rgba(0,0,0,.14);}
.drawer-h{padding:24px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center;}
.drawer-b{flex:1;overflow-y:auto;padding:24px;}
.drawer-f{padding:24px;border-top:1px solid var(--line);background:var(--surface-2);}
.li{display:flex;gap:14px;padding-bottom:18px;margin-bottom:18px;border-bottom:1px solid var(--line);}
.li-img{width:70px;height:70px;background:var(--surface);border-radius:12px;display:grid;place-items:center;flex-shrink:0;}
.qty{display:flex;align-items:center;gap:10px;margin-top:9px;}
.qty button{width:28px;height:28px;border:1px solid var(--line);background:var(--paper);border-radius:8px;cursor:pointer;font:inherit;}
.row{display:flex;justify-content:space-between;font-size:14px;margin-bottom:9px;}
.row.tot{font-size:19px;font-weight:600;padding-top:13px;border-top:1px solid var(--line);}

/* checkout */
.steps{display:flex;gap:8px;margin-bottom:34px;flex-wrap:wrap;}
.step{flex:1;min-width:120px;padding:14px 16px;border-radius:14px;background:var(--surface);
  font-size:13px;color:var(--grey);}
.step.on{background:var(--ink);color:var(--on-ink);}
.step.done{background:var(--band-a);color:#5E6AB8;}
.step b{display:block;font-size:11px;opacity:.7;margin-bottom:2px;}
.pay{display:flex;flex-direction:column;gap:11px;}
.pay label{display:flex;gap:13px;border:1px solid var(--line);border-radius:14px;padding:16px;
  cursor:pointer;align-items:flex-start;}
.pay label.on{border-color:var(--peri);background:#F7F7FE;}
.pay input{margin-top:3px;accent-color:#9AA8EF;}
.pt{font-weight:600;font-size:14.5px;} .ps{font-size:13px;color:var(--grey);}
.ck{display:grid;grid-template-columns:1.5fr 1fr;gap:40px;align-items:start;}
.summary{background:var(--surface-2);border-radius:18px;padding:24px;position:sticky;top:100px;}
.ok{background:var(--band-a);border-radius:18px;padding:34px;text-align:center;}
.note{background:#FFF9EC;border-radius:12px;padding:15px 18px;font-size:13.5px;color:#7A5B1E;margin-bottom:22px;}
.ask-note{background:#F4F6FE;border:1px dashed #C2C9EC;border-radius:12px;padding:15px 18px;
  font-size:13.5px;color:#4C5480;margin-bottom:22px;}

/* contacts */
.cinfo{display:flex;gap:14px;margin-bottom:22px;}
.cic{width:44px;height:44px;border-radius:12px;background:var(--surface);display:grid;place-items:center;flex-shrink:0;}
.cinfo b{display:block;font-size:13px;color:var(--grey);font-weight:500;margin-bottom:3px;}
.cinfo a,.cinfo p{color:var(--ink);font-size:15.5px;text-decoration:none;font-weight:600;margin:0;}

/* admin */
.tabs{display:flex;gap:26px;border-bottom:1px solid var(--line);margin-bottom:28px;}
.tabs button{background:none;border:0;border-bottom:2px solid transparent;font:inherit;font-size:15px;
  padding:12px 0;cursor:pointer;color:var(--grey);}
.tabs button.on{border-bottom-color:var(--ink);color:var(--ink);font-weight:500;}
table{width:100%;border-collapse:collapse;font-size:14px;}
th{text-align:left;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--grey);
  font-weight:600;padding:12px 10px;border-bottom:1px solid var(--line);}
td{padding:13px 10px;border-bottom:1px solid var(--line);}
td input,td select{border:1px solid var(--line);border-radius:9px;padding:8px 10px;font:inherit;font-size:13.5px;}
.wp{width:96px;} .wq{width:70px;}

/* footer */
.ftr{background:var(--surface);padding:80px 0 48px;margin-top:20px;}
.fgrid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px;}
.ftr h5{font-size:13px;font-weight:500;margin-bottom:16px;}
.ftr a{display:block;color:var(--grey);text-decoration:none;font-size:14px;padding:4px 0;
  background:none;border:0;font-family:inherit;cursor:pointer;text-align:left;}
.flegal{border-top:1px solid var(--line);padding-top:22px;font-size:12.5px;color:var(--grey);}

@media(max-width:1000px){
  .nav,.city{display:none;}
  .tilegrid,.pgrid{grid-template-columns:repeat(2,1fr);}
  .split,.ck,.two{grid-template-columns:1fr;gap:26px;}
  .shop-grid{grid-template-columns:1fr;}
  .bento{grid-template-columns:repeat(2,1fr);}
  .c3,.c2,.wide{grid-column:span 2;}
  .hero-txt{text-align:left;} .hero-txt h1{font-size:29px;}
  .h-xl{font-size:32px;} .h-lg{font-size:26px;} .split h2{font-size:28px;}
  .stage{padding:16px;min-height:430px;} .tiles{width:128px;} .tile{min-height:100px;padding:12px;}
  .slide-cap{left:16px;bottom:14px;} .slide-cap h3{font-size:18px;}
  .summary{position:static;} .fgrid{grid-template-columns:1fr 1fr;}
}
@media(max-width:620px){
  .tilegrid,.pgrid,.bento{grid-template-columns:1fr;}
  .c3,.c2,.wide{grid-column:span 1;} .tiles{width:104px;}
}

/* --- carousel panel slide --- */
.stage.panel{background:var(--paper);padding:0;overflow:hidden;border:1px solid var(--line);}
.panel-l{flex:1;padding:60px 54px;display:flex;flex-direction:column;justify-content:center;gap:14px;min-width:0;}
.panel-eyebrow{font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--grey);font-weight:600;}
.panel-l h3{font-size:38px;max-width:14ch;}
.panel-l p{color:var(--grey);font-size:14.5px;line-height:1.6;max-width:44ch;margin:0 0 10px;}
.panel-r{flex:1;background-size:cover;background-position:center;min-width:0;}

/* --- product photos --- */
.pshot{max-width:80%;max-height:80%;object-fit:contain;}
.noshot{color:var(--grey-3);font-size:12.5px;text-align:center;line-height:1.5;}
.pcard-img{border:0;padding:0;cursor:pointer;width:100%;font:inherit;}
.linkt{background:none;border:0;padding:0;font:inherit;font-weight:500;font-size:16.5px;
  color:var(--ink);cursor:pointer;text-align:left;}
.linkt:hover{color:#5E6AB8;}

/* --- product detail page --- */
.pdp{display:grid;grid-template-columns:1.35fr 1fr;gap:44px;align-items:start;}
.pdp-main{background:var(--surface);border-radius:18px;height:430px;display:grid;place-items:center;
  margin-bottom:14px;overflow:hidden;}
.pdp-main img{max-width:86%;max-height:86%;object-fit:contain;}
.pdp-thumbs{display:flex;gap:12px;}
.pdp-thumb{width:92px;height:78px;border-radius:12px;background:var(--surface);border:2px solid transparent;
  cursor:pointer;display:grid;place-items:center;overflow:hidden;padding:6px;}
.pdp-thumb.on{border-color:var(--peri);}
.pdp-thumb img{max-width:100%;max-height:100%;object-fit:contain;}
.pdp-buy{background:var(--surface-2);border-radius:18px;padding:28px;position:sticky;top:100px;}
.tag.static{position:static;display:inline-block;margin-bottom:12px;}
.pdp-sub{font-size:15px;color:var(--grey);margin-bottom:20px;}
.pdp-quick{display:flex;gap:10px;margin-bottom:22px;}
.pdp-quick div{flex:1;background:var(--paper);border-radius:12px;padding:12px;text-align:center;}
.pdp-quick b{display:block;font-size:17px;font-weight:600;}
.pdp-quick span{font-size:11.5px;color:var(--grey);}
.pdp-note{display:flex;gap:9px;align-items:center;margin-top:16px;font-size:13px;color:var(--grey);}
.spectable{border-radius:14px;overflow:hidden;}
.spectable td{padding:14px 18px;border-bottom:1px solid var(--line);font-size:14.5px;}
.spectable tr:nth-child(odd){background:var(--surface-2);}
.spectable td:first-child{color:var(--grey);width:46%;}



@media(max-width:1000px){
  .stage.panel{flex-direction:column;} .panel-l{padding:28px 22px;} .panel-l h3{font-size:26px;}
  .panel-r{min-height:240px;}
  .pdp{grid-template-columns:1fr;} .pdp-buy{position:static;} .pdp-main{height:300px;}
}


.bizcard{background:var(--ink);border-radius:18px;padding:52px;display:grid;
  grid-template-columns:1.3fr 1fr;gap:34px;align-items:center;}
.bizart{display:grid;place-items:center;}
.bizart img{width:100%;height:auto;border-radius:16px;display:block;}
@media(max-width:1000px){.bizcard{grid-template-columns:1fr;padding:28px;}}


.brandsband{border-radius:24px;min-height:420px;background-size:cover;background-position:center;
  display:grid;place-items:center;padding:48px;}


.promo{position:relative;margin:64px 0 40px;min-height:400px;display:flex;
  align-items:center;justify-content:center;}
.promo-bg{position:absolute;top:0;left:50%;transform:translateX(-50%);
  width:100vw;height:100%;object-fit:cover;}
.promo-inner{position:relative;z-index:2;width:100%;max-width:1000px;display:flex;justify-content:center;}
.promo-orbs{width:100%;height:auto;object-fit:contain;margin:-60px 0;pointer-events:none;}
.navpanel{display:flex;gap:26px;flex-wrap:wrap;justify-content:center;padding-top:20px;margin-bottom:56px;}
.navpanel-item{color:var(--ink);display:flex;flex-direction:column;align-items:center;
  text-decoration:none;width:88px;}
.navpanel-icon{width:80px;height:80px;background:var(--paper);border-radius:20px;
  box-shadow:0 4px 18px rgba(20,22,30,.09);display:flex;align-items:center;justify-content:center;
  transition:transform .2s,box-shadow .2s;}
.navpanel-item:hover .navpanel-icon{transform:translateY(-3px);box-shadow:0 8px 24px rgba(20,22,30,.14);}
.navpanel-text{margin:12px 0 0;font-size:14px;line-height:150%;text-align:center;}
@media(max-width:1000px){.promo{min-height:250px;}.promo-orbs{margin:-22px 0;}
  .navpanel{gap:14px;}.navpanel-item{width:70px;}.navpanel-icon{width:64px;height:64px;border-radius:16px;}}


.pdp{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:40px;align-items:start;}
.pdp-gal{}
.pdp-main{background:var(--surface);border-radius:18px;height:400px;display:grid;place-items:center;
  margin-bottom:18px;overflow:hidden;}
.pdp-main img{max-width:86%;max-height:86%;object-fit:contain;}
.pdp-thumbs{display:flex;gap:10px;align-items:center;justify-content:center;}
.thumbnav{width:32px;height:32px;border:0;background:none;cursor:pointer;color:var(--ink);
  display:grid;place-items:center;flex-shrink:0;}
.thumbnav:first-child svg{transform:rotate(180deg);}
.pdp-thumb{width:62px;height:62px;border-radius:10px;background:var(--surface);border:1.5px solid transparent;
  cursor:pointer;display:grid;place-items:center;overflow:hidden;padding:5px;}
.pdp-thumb.on{border-color:var(--ink);background:var(--surface);}
.pdp-thumb img{max-width:100%;max-height:100%;object-fit:contain;}
.pdp-brand{margin-bottom:26px;}
.specrow{margin-bottom:20px;}
.specrow span{display:block;font-size:14px;color:var(--grey);line-height:150%;margin-bottom:2px;}
.specrow b{font-size:17px;font-weight:400;color:var(--ink);}
.pdp-buy{border:1.5px solid var(--line);border-radius:20px;padding:24px;position:sticky;top:100px;background:var(--paper);}
.pdp-vat{font-size:13px;color:var(--grey);margin-bottom:12px;}
.pdp-dealer{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);text-align:center;}
.pdp-dealer span{display:block;font-size:13.5px;color:var(--grey);margin-bottom:12px;}
.feats{display:grid;grid-template-columns:repeat(6,1fr);
  border-top:1px solid var(--line);margin-top:44px;}
.feat{padding:28px 16px;text-align:center;border-right:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;gap:12px;}
.feat:last-child{border-right:0;}
.feat span{font-size:13.5px;color:var(--ink);line-height:1.35;}
.refbox{width:42px;height:42px;border:1.5px solid #E8834A;border-radius:8px;color:#E8834A;
  display:grid;place-items:center;font-size:12px;}
@media(max-width:1000px){.pdp{grid-template-columns:1fr;}.pdp-buy{position:static;}
  .pdp-main{height:280px;}.feat{border-right:0;border-bottom:1px solid var(--line);}}


.navdrop{position:relative;}
.navdrop > button{display:flex;align-items:center;gap:5px;}
.navdrop > button svg{transform:rotate(90deg);}
.navdrop-panel{position:absolute;top:calc(100% + 16px);left:50%;transform:translateX(-50%);
  background:var(--paper);border-radius:24px;box-shadow:0 18px 50px rgba(20,22,30,.16);
  padding:28px;width:min(880px,92vw);z-index:80;}
.navdrop-panel::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px;}
.navdrop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:20px;}
.navdrop-grid button{display:flex;align-items:center;gap:12px;background:none;border:0;
  border-radius:14px;padding:10px;cursor:pointer;font:inherit;text-align:left;transition:background .18s;}
.navdrop-grid button:hover{background:var(--surface);}
.navdrop-grid img{width:52px;height:44px;object-fit:contain;flex-shrink:0;mix-blend-mode:multiply;}
.navdrop-grid span{font-size:14px;line-height:1.3;color:var(--ink);}
.navdrop-foot{display:flex;gap:8px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:18px;}
.navdrop-foot button{background:var(--surface);border:0;border-radius:99px;padding:8px 16px;
  font:inherit;font-size:13.5px;color:var(--ink);cursor:pointer;transition:background .18s;}
.navdrop-foot button:hover{background:var(--line);}
@media(max-width:1000px){.navdrop-panel{display:none;}}


.shopsearch{border:1px solid var(--line);border-radius:99px;padding:10px 18px;font:inherit;
  font-size:14px;width:250px;background:var(--paper);}
.shopsearch:focus{outline:2px solid var(--peri);outline-offset:1px;}
.pager{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.pager button{min-width:40px;height:40px;border:1px solid var(--line);background:var(--paper);border-radius:10px;
  font:inherit;font-size:14px;cursor:pointer;color:var(--ink);}
.pager button.on{background:var(--ink);color:var(--on-ink);border-color:var(--ink);}
.pager button:disabled{opacity:.35;cursor:not-allowed;}
.pager em{font-style:normal;color:var(--grey);padding:0 4px;}

@media(prefers-reduced-motion:reduce){*{transition:none!important;}}

/* ============================================================
   WordPress / WooCommerce bridge — added for the PHP theme
   ============================================================ */
.dicon{display:block;fill:none;stroke:currentColor;}
.dicon use{fill:currentColor;}
.hdr .wrap.hd-in{display:flex;align-items:center;gap:26px;height:76px;max-width:1280px;padding:0 40px;}
/* guarantee full-width layout regardless of host theme remnants */
html,body{width:100%;max-width:100%;margin:0;}
.site-main{width:100%;}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none;}
.logo-mark{height:26px;width:auto;max-width:160px;display:block;}
.hero-logo{height:34px;width:auto;max-width:210px;display:block;}
.foot-logo{height:28px;width:auto;max-width:170px;display:block;}
.foot-logo path{fill:#fff;}
.nav{display:flex;align-items:center;gap:26px;margin-left:auto;}
.nav a{color:var(--ink);text-decoration:none;font-size:14px;line-height:150%;white-space:nowrap;}
.nav a:hover{color:var(--peri);}
.navdrop > a{display:flex;align-items:center;gap:5px;}
.navdrop-panel{display:none;}
.navdrop:hover .navdrop-panel{display:block;}
.navdrop-grid a{display:flex;align-items:center;gap:12px;border-radius:14px;padding:10px;transition:background .18s;}
.navdrop-grid a:hover{background:var(--surface);}
.navdrop-foot a{background:var(--surface);border-radius:99px;padding:8px 16px;font-size:13.5px;}
.tools{display:flex;align-items:center;gap:18px;}
.hd-city{display:flex;align-items:center;gap:6px;font-size:13.5px;color:var(--grey);}
.hd-tel{font-size:14px;color:var(--ink);text-decoration:none;}
.hd-cart{position:relative;color:var(--ink);}
.cart-n{position:absolute;top:-6px;right:-8px;background:var(--peri);color:#fff;font-size:11px;
  font-style:normal;border-radius:99px;min-width:17px;height:17px;display:grid;place-items:center;padding:0 4px;}
.dslide{display:none;}
.dslide.on{display:flex;}
.stage.dslide.on{display:flex;}
.tile{text-decoration:none;}
.ctile{text-decoration:none;display:block;}
.pcard h4 a{color:var(--ink);text-decoration:none;}
.price-request{color:#B9925A;font-size:15px;}
.site-main{min-height:40vh;}
.foot-top{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:32px;padding-bottom:40px;}
.foot-col h5{font-size:14px;font-weight:500;color:var(--on-ink);margin:0 0 14px;}
.foot-col a,.foot-col span{display:block;font-size:14px;line-height:1.9;color:#c9cdd6;text-decoration:none;}
.foot-col a:hover{color:var(--on-ink);}
.foot-note{font-size:14px;color:#c9cdd6;max-width:34ch;margin-top:14px;}
.flegal{border-top:1px solid rgba(255,255,255,.12);padding-top:22px;font-size:12.5px;color:#8b93a1;line-height:1.8;}
/* WooCommerce grid inherits our card look */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:0;padding:0;list-style:none;}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none;}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important;
  background:var(--paper);border:1.5px solid var(--line);border-radius:24px;padding:18px;text-align:left;}
.woocommerce ul.products li.product:hover{border-color:var(--line-2);box-shadow:0 8px 30px rgba(20,22,30,.08);}
.woocommerce ul.products li.product a img{background:var(--surface);border-radius:16px;margin-bottom:14px;}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px!important;
  font-weight:500!important;color:var(--ink);padding:0!important;line-height:1.4;}
.woocommerce ul.products li.product .price{color:var(--ink);font-weight:600;font-size:18px;}
.woocommerce .button,.woocommerce a.button,.woocommerce button.button{
  background:var(--ink)!important;color:var(--on-ink)!important;border-radius:99px!important;
  padding:11px 22px!important;font-weight:500!important;font-size:14px!important;}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce .single_add_to_cart_button{
  background:var(--peri)!important;}
@media(max-width:1000px){
  .foot-top{grid-template-columns:1fr 1fr;}
  .nav{display:none;}
  .woocommerce ul.products{grid-template-columns:repeat(2,1fr);}
}

/* ---- catalogue / filters ---- */
.shop{display:grid;grid-template-columns:260px 1fr;gap:36px;align-items:start;}
.filters{position:sticky;top:96px;}
.fgroup{margin-bottom:26px;}
.fgroup h5{font-size:14px;font-weight:500;color:var(--ink);margin:0 0 12px;}
.fitem{display:flex;justify-content:space-between;align-items:center;padding:7px 0;
  font-size:14px;color:var(--grey);text-decoration:none;}
.fitem:hover{color:var(--ink);}
.fitem.on{color:var(--ink);font-weight:500;}
.fitem i{font-style:normal;font-size:12px;color:var(--grey-3);}
.shop-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;
  font-size:14px;color:var(--grey);}
.shopsearch{border:1.5px solid var(--line);border-radius:99px;padding:10px 18px;font:inherit;
  font-size:14px;width:250px;background:var(--paper);}
.shopsearch:focus{outline:2px solid var(--peri);outline-offset:1px;}
.pager{display:flex;gap:6px;align-items:center;justify-content:center;margin-top:40px;flex-wrap:wrap;}
.pager .page-numbers{min-width:40px;height:40px;border:1px solid var(--line);background:var(--paper);
  border-radius:10px;font-size:14px;color:var(--ink);display:grid;place-items:center;
  text-decoration:none;padding:0 10px;}
.pager .page-numbers.current{background:var(--ink);color:var(--on-ink);border-color:var(--ink);}
.pcard .sub{font-size:12.5px;color:var(--grey-3);margin-top:2px;}
.tag.t-req{background:rgba(185,146,90,.14);color:#B9925A;}
.tag.t-in{background:rgba(46,158,104,.14);color:#2E9E68;}
.tag.static{position:static;display:inline-block;}
.btn-o{background:var(--paper);border:1.5px solid var(--line);color:var(--ink);}
.btn-o:hover{border-color:var(--line-2);}
.btn-sm{padding:9px 18px;font-size:13.5px;}
.noshot{color:var(--grey-3);font-size:12.5px;text-align:center;line-height:1.5;}
.rule{border:0;border-top:1px solid var(--line);margin:22px 0 34px;}
.crumb{display:flex;gap:8px;align-items:center;font-size:13.5px;color:var(--grey);margin-bottom:16px;flex-wrap:wrap;}
.crumb a{color:var(--grey);text-decoration:none;}
.crumb a:hover{color:var(--ink);}

/* ---- product detail ---- */
.pdp{display:grid;grid-template-columns:1.15fr 1fr .85fr;gap:40px;align-items:start;}
.pdp-main{background:var(--surface);border-radius:18px;height:400px;display:grid;place-items:center;
  margin-bottom:18px;overflow:hidden;}
.pdp-main img{max-width:86%;max-height:86%;object-fit:contain;}
.pdp-thumbs{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.pdp-thumb{width:62px;height:62px;border-radius:10px;background:var(--surface);border:1.5px solid transparent;
  cursor:pointer;display:grid;place-items:center;overflow:hidden;padding:5px;}
.pdp-thumb.on{border-color:var(--ink);background:var(--paper);}
.pdp-thumb img{max-width:100%;max-height:100%;object-fit:contain;}
.specrow{margin-bottom:18px;}
.specrow span{display:block;font-size:14px;color:var(--grey);line-height:150%;margin-bottom:2px;}
.specrow b{font-size:17px;font-weight:400;color:var(--ink);}
.pdp-buy{border:1.5px solid var(--line);border-radius:20px;padding:24px;position:sticky;top:100px;background:var(--paper);}
.pdp-vat{font-size:13px;color:var(--grey);margin-bottom:12px;}
.pdp-note{display:flex;gap:8px;align-items:center;font-size:13px;color:var(--grey);margin-top:12px;}
.pdp-dealer{margin-top:20px;padding-top:20px;border-top:1px solid var(--line);text-align:center;}
.pdp-dealer span{display:block;font-size:13.5px;color:var(--grey);margin-bottom:12px;}
.pdp-buy .quantity input{border:1.5px solid var(--line);border-radius:10px;padding:9px;width:70px;}
.pdp-buy .single_add_to_cart_button{width:100%;background:var(--ink)!important;color:var(--on-ink)!important;
  border-radius:99px!important;padding:13px 26px!important;border:0!important;font-size:15px!important;
  font-weight:500!important;margin-top:10px;}

/* ---- contacts ---- */
.cbox{border:1.5px solid var(--line);border-radius:18px;padding:20px;margin-bottom:14px;}
.cbox h5{font-size:13px;color:var(--grey);font-weight:400;margin:0 0 8px;text-transform:uppercase;letter-spacing:.06em;}
.cbox p{margin:0;font-size:16px;line-height:1.7;color:var(--ink);}
.cbox a{color:var(--ink);text-decoration:none;}

/* ---- cart / checkout ---- */
.woocommerce table.shop_table{border:1.5px solid var(--line);border-radius:20px;border-collapse:separate;}
.woocommerce .cart-collaterals .cart_totals,.woocommerce-checkout #order_review{
  border:1.5px solid var(--line);border-radius:20px;padding:22px;}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,
.woocommerce form .form-row select{border:1.5px solid var(--line)!important;border-radius:12px!important;
  padding:11px 14px!important;background:var(--paper)!important;}
.woocommerce-message,.woocommerce-info,.woocommerce-error{border-top-color:var(--peri);border-radius:12px;}

@media(max-width:1100px){
  .shop{grid-template-columns:1fr;}
  .filters{position:static;}
  .pdp{grid-template-columns:1fr;}
  .pdp-buy{position:static;}
}

/* ---- about: timeline + projects ---- */
.tline{display:grid;gap:0;border-left:1.5px solid var(--line);padding-left:26px;}
.tl-item{position:relative;padding-bottom:28px;}
.tl-item::before{content:"";position:absolute;left:-33px;top:6px;width:11px;height:11px;
  border-radius:50%;background:var(--peri);border:2.5px solid #fff;box-shadow:0 0 0 1.5px var(--line);}
.tl-item b{font-size:20px;font-weight:600;color:var(--ink);display:block;margin-bottom:3px;}
.tl-item h5{font-size:16px;font-weight:500;margin:0 0 4px;color:var(--ink);}
.tl-item p{margin:0;font-size:14.5px;color:var(--grey);line-height:1.6;}
.objgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.obj{background:var(--paper);border:1.5px solid var(--line);border-radius:24px;overflow:hidden;}
.obj-img{height:200px;background-size:cover;background-position:center;position:relative;}
.obj-meta{position:absolute;left:16px;bottom:16px;background:rgba(255,255,255,.94);
  border-radius:99px;padding:7px 15px;font-size:13px;font-weight:500;color:var(--ink);}
.obj h4{font-size:17px;font-weight:500;margin:18px 20px 6px;color:var(--ink);}
.obj p{margin:0 20px 20px;font-size:14px;color:var(--grey);line-height:1.6;}

/* ---- support / partners cards ---- */
.supgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:18px;}
.supcard{background:var(--surface);border-radius:24px;padding:26px;}
.supicon{display:grid;place-items:center;width:56px;height:56px;background:var(--paper);
  border-radius:16px;color:var(--peri);margin-bottom:16px;}
.supcard h4{font-size:17px;font-weight:500;margin:0 0 8px;color:var(--ink);}
.supcard p{margin:0;font-size:14.5px;color:var(--grey);line-height:1.6;}
.ask-note{background:var(--surface);border-radius:16px;padding:18px 22px;font-size:14px;
  color:var(--grey);line-height:1.65;}
.ask-note a{color:var(--peri);}
@media(max-width:900px){.objgrid{grid-template-columns:1fr;}}


/* ---- large-display scaling: the 1280px container looks lost on very wide screens ---- */
@media (min-width:1500px){
  .wrap{max-width:1440px;}
  .hdr .wrap.hd-in{max-width:1440px;}
}
@media (min-width:1900px){
  .wrap{max-width:1680px;}
  .hdr .wrap.hd-in{max-width:1680px;}
  html{font-size:17px;}
  .h-lg{font-size:52px;}
  .h-xl{font-size:60px;}
}
@media (min-width:2500px){
  .wrap{max-width:2100px;}
  .hdr .wrap.hd-in{max-width:2100px;}
  html{font-size:19px;}
  .pgrid{grid-template-columns:repeat(4,1fr);}
  .woocommerce ul.products{grid-template-columns:repeat(4,1fr);}
}

/* ---- header dropdown: make the hover target reliable ---- */
.navdrop{position:relative;padding-bottom:14px;margin-bottom:-14px;}
.navdrop-panel{position:absolute;top:100%;left:50%;transform:translateX(-50%);
  background:var(--paper);border-radius:24px;box-shadow:0 18px 50px rgba(20,22,30,.16);
  padding:26px;width:min(880px,92vw);z-index:90;display:none;}
.navdrop:hover .navdrop-panel,.navdrop:focus-within .navdrop-panel{display:block;}
.navdrop-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:18px;}
.navdrop-grid img{width:48px;height:42px;object-fit:contain;flex-shrink:0;}


/* ============================================================
   FIXES: container width, dropdown layout, brand banners
   ============================================================ */

/* ---- container: fill the viewport properly on any display ---- */
.wrap,
.hdr .wrap.hd-in{
  width:min(93vw, 2600px);
  max-width:none;
  margin-inline:auto;
  padding-left:0;
  padding-right:0;
}
@media (max-width:1100px){
  .wrap,.hdr .wrap.hd-in{width:calc(100vw - 40px);}
}

/* ---- products dropdown: contained, no overlap, no overflow ---- */
.navdrop-panel{
  position:absolute;
  top:100%;
  left:50%;
  transform:translateX(-50%);
  width:min(900px, calc(100vw - 48px));
  max-height:calc(100vh - 120px);
  overflow-y:auto;
  background:var(--paper);
  border-radius:24px;
  box-shadow:0 20px 60px rgba(20,22,30,.18);
  padding:24px;
  z-index:120;
  display:none;
}
.navdrop:hover .navdrop-panel,
.navdrop:focus-within .navdrop-panel{display:block;}
.navdrop-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:4px;
  margin-bottom:16px;
}
.navdrop-grid a{
  display:grid;
  grid-template-columns:46px minmax(0,1fr);
  align-items:center;
  gap:12px;
  padding:10px;
  border-radius:14px;
  min-width:0;
  text-decoration:none;
  transition:background .18s;
}
.navdrop-grid a:hover{background:var(--surface);}
.navdrop-grid img{
  width:46px;height:40px;object-fit:contain;display:block;
}
.navdrop-grid span{
  font-size:13.5px;line-height:1.35;color:var(--ink);
  min-width:0;overflow-wrap:anywhere;
}
.navdrop-foot{
  display:flex;gap:8px;flex-wrap:wrap;
  border-top:1px solid var(--line);padding-top:16px;
}
.navdrop-foot a{
  background:var(--surface);border-radius:99px;padding:8px 16px;
  font-size:13.5px;color:var(--ink);text-decoration:none;white-space:nowrap;
}
.navdrop-foot a:hover{background:var(--line);}
.hdr{overflow:visible;}
.hdr .wrap.hd-in{overflow:visible;}

/* ---- brand banner: logo top-left, text readable, no overlap ---- */
.banner{
  position:relative;
  border-radius:24px;
  overflow:hidden;
  min-height:300px;
  padding:34px 38px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:20px;
}
.banner::before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.35) 42%, rgba(255,255,255,0) 68%);
  z-index:1;pointer-events:none;
}
.banner.dark::before{
  background:linear-gradient(90deg, rgba(0,0,0,.55) 0%, rgba(0,0,0,.25) 42%, rgba(0,0,0,0) 68%);
}
.banner-logo{position:relative;z-index:3;max-width:230px;}
.banner-logo svg{max-width:100%;height:auto;}
.banner-body{position:relative;z-index:3;max-width:44ch;}
.banner-body h3{
  font-size:30px;line-height:1.22;font-weight:600;margin:0 0 18px;
}
.brandcats{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:14px;margin-top:16px;
}
.brandcat{
  background:var(--surface);border:0;border-radius:16px;padding:14px;
  display:flex;flex-direction:column;align-items:center;gap:10px;
  text-decoration:none;transition:background .2s;
}
.brandcat:hover{background:#e9e9f1;}
.brandcat img{width:100%;height:84px;object-fit:contain;}
.brandcat span{font-size:13px;color:var(--ink);text-align:center;line-height:1.3;}

/* ---- brand nav symbols ---- */
.navpanel-icon{
  width:80px;height:80px;background:var(--paper);border-radius:20px;
  box-shadow:0 4px 18px rgba(20,22,30,.09);
  display:grid;place-items:center;
  transition:transform .2s, box-shadow .2s;
}
.navpanel-icon svg{width:42px;height:42px;}


/* ============================================================
   Link underlines — WordPress/WooCommerce default to underlined
   links; the design never uses them.
   ============================================================ */
a,
a:link,
a:visited,
a:hover,
a:active,
.site-main a,
.woocommerce a,
.woocommerce-page a,
.entry-content a,
.ctile,
.tile,
.brandcat,
.navpanel-item,
.fitem,
.pcard h4 a,
.crumb a,
.foot-col a,
.pager .page-numbers{
  text-decoration:none !important;
  text-underline-offset:0;
}
/* keep an underline only where it genuinely aids comprehension: inline prose links */
.entry-content p > a:not(.btn):hover,
.lead a:hover{ text-decoration:underline !important; }
/* buttons never underline */
.btn,.btn:hover,.button,.button:hover,
.woocommerce a.button,.woocommerce a.button:hover{ text-decoration:none !important; }


/* ============================================================
   FIX: dropdown labels inherited white-space:nowrap from .nav a,
   so long category names broke out of the panel.
   ============================================================ */
.navdrop-panel a,
.navdrop-grid a,
.navdrop-grid span{
  white-space:normal !important;
  overflow-wrap:break-word;
  word-break:normal;
  hyphens:auto;
}
.navdrop-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  align-items:stretch;
}
.navdrop-grid a{
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  align-items:center;
  gap:11px;
  min-width:0;
  overflow:hidden;
}
.navdrop-grid span{
  display:block;
  min-width:0;
  max-width:100%;
  font-size:13px;
  line-height:1.3;
}
.navdrop-grid img{width:44px;height:38px;flex:0 0 44px;}
/* brand pills may stay on one line — they are short */
.navdrop-foot a{white-space:nowrap !important;}


/* ============================================================
   CONTAINER — measured from daichi.ru: a FIXED ~1200px content
   column, centred, with generous gutters. Not a stretched
   percentage. Frame 1718px wide -> content 1188px (69%).
   ============================================================ */
.wrap,
.hdr .wrap.hd-in{
  width:auto;
  max-width:1280px;      /* 1200px content + 40px gutters each side */
  margin-inline:auto;
  padding-left:40px;
  padding-right:40px;
}
@media (max-width:1100px){
  .wrap,.hdr .wrap.hd-in{max-width:none;padding-left:20px;padding-right:20px;}
}

/* hero stage matches the measured 651px height and spans the container */
.stage{height:652px;border-radius:24px;overflow:hidden;}

/* ---- hover states, matching the reference ---- */
.ctile{transition:transform .3s cubic-bezier(.22,.61,.36,1);}
.ctile:hover{transform:translateY(-4px);}
.ctile-img{transition:background .3s ease-in-out;}
.pcard{transition:border-color .3s ease-in-out, box-shadow .3s ease-in-out, transform .3s cubic-bezier(.22,.61,.36,1);}
.pcard:hover{transform:translateY(-4px);border-color:var(--line-2);box-shadow:0 10px 34px rgba(20,22,30,.10);}
.pcard-img img{transition:transform .45s cubic-bezier(.22,.61,.36,1);}
.pcard:hover .pcard-img img{transform:scale(1.05);}
.brandcat{transition:background .25s ease-in-out, transform .3s cubic-bezier(.22,.61,.36,1);}
.brandcat:hover{transform:translateY(-3px);}
.navpanel-item:hover .navpanel-icon{transform:translateY(-4px);box-shadow:0 10px 28px rgba(20,22,30,.16);}
.fitem{transition:color .2s ease-in-out;}
.btn{transition:opacity .25s ease-in-out, transform .25s ease-in-out;}
.btn:hover{opacity:.9;transform:translateY(-1px);}

/* images fill their frames properly rather than floating in whitespace */
.ctile-img{overflow:hidden;border-radius:24px;background:var(--surface);}
.ctile-img img{width:100%;height:100%;object-fit:cover;}
.ctile-img img.contain{object-fit:contain;padding:14px;}
.pcard-img{overflow:hidden;border-radius:16px;background:var(--surface);}


/* ============================================================
   HEADER — measured from daichi.ru: a floating white card at
   ~94% of viewport width (x41-1664 of 1719), detached from the
   top, with rounded bottom corners. Wider than the 1200px
   content container.
   ============================================================ */
.hdr{
  position:sticky;top:0;z-index:100;
  background:transparent;
  box-shadow:none;
  border-radius:0;
  padding:0;
}
.hdr-card{
  width:94vw;
  max-width:1720px;
  margin:0 auto;
  background:var(--paper);
  border-radius:0 0 24px 24px;
  box-shadow:0 4px 26px rgba(20,22,30,.07);
  display:flex;
  align-items:center;
  gap:22px;
  height:74px;
  padding:0 30px;
}
.hdr .wrap.hd-in{display:none;}

.logo{display:flex;align-items:center;gap:10px;text-decoration:none;flex-shrink:0;}
.logo-mark{height:24px;width:auto;max-width:150px;display:block;}
.logo-bg{
  font-size:11px;letter-spacing:.18em;color:var(--grey);font-weight:400;
  border-left:1px solid var(--line);padding-left:10px;white-space:nowrap;
}
.nav{display:flex;align-items:center;gap:22px;margin-left:auto;}
.nav > a,.navdrop > a{
  color:var(--ink);text-decoration:none;font-size:14px;line-height:1.5;white-space:nowrap;
}
.nav > a:hover,.navdrop > a:hover{color:var(--peri);}
.tools{display:flex;align-items:center;gap:14px;margin-left:22px;flex-shrink:0;}
.hd-city{display:flex;align-items:center;gap:5px;font-size:13.5px;color:var(--grey);white-space:nowrap;}

/* header search */
.hd-search{display:flex;align-items:center;position:relative;}
.hd-search input{
  width:0;padding:0;border:0;background:var(--surface);border-radius:99px;
  font:inherit;font-size:13.5px;transition:width .3s ease-in-out,padding .3s ease-in-out;
}
.hd-search:hover input,.hd-search input:focus{
  width:170px;padding:9px 14px;outline:none;
}
.hd-search button{
  background:none;border:0;cursor:pointer;color:var(--ink);padding:6px;
  display:grid;place-items:center;
}

.hd-cart{position:relative;color:var(--ink);display:grid;place-items:center;}
.cart-n{
  position:absolute;top:-6px;right:-8px;background:var(--peri);color:#fff;font-size:11px;
  font-style:normal;border-radius:99px;min-width:17px;height:17px;
  display:grid;place-items:center;padding:0 4px;
}
/* black pill CTA, as on the reference */
.hd-cta{
  background:var(--ink);color:var(--on-ink);text-decoration:none;
  border-radius:99px;padding:11px 22px;font-size:14px;font-weight:500;
  white-space:nowrap;transition:opacity .25s ease-in-out;
}
.hd-cta:hover{opacity:.88;color:var(--on-ink);}

/* dropdown anchors to the card */
.navdrop{position:relative;padding-bottom:14px;margin-bottom:-14px;}

@media(max-width:1280px){
  .hd-city,.hd-search{display:none;}
  .nav{gap:16px;}
  .hdr-card{padding:0 20px;gap:14px;}
}
@media(max-width:1000px){
  .nav{display:none;}
  .hdr-card{width:100%;border-radius:0;height:64px;}
}


/* ============================================================
   404 / SEARCH / BLOG / CART / CHECKOUT / ACCOUNT / MOBILE
   ============================================================ */
.err404{text-align:center;padding:70px 0 30px;}
.err404 b{display:block;font-size:110px;line-height:1;font-weight:600;color:var(--line);margin-bottom:10px;}
.err404 .lead{max-width:46ch;margin:10px auto 26px;}
.err-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}

.searchbig{display:flex;gap:10px;max-width:640px;}
.searchbig input{
  flex:1;border:1.5px solid var(--line);border-radius:99px;padding:13px 20px;font:inherit;font-size:15px;}
.searchbig input:focus{outline:2px solid var(--peri);outline-offset:1px;}

.postlist{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.postcard{background:var(--paper);border:1.5px solid var(--line);border-radius:24px;overflow:hidden;padding:16px;}
.postcard-img img{width:100%;height:180px;object-fit:cover;border-radius:16px;margin-bottom:12px;}
.postcard h4{font-size:16px;font-weight:500;margin:0 0 6px;}
.post-hero img{width:100%;border-radius:24px;margin-bottom:26px;}
.prose{max-width:74ch;font-size:16px;line-height:1.75;color:var(--ink);}
.prose h2{font-size:26px;margin:32px 0 12px;}
.prose h3{font-size:20px;margin:26px 0 10px;}
.prose img{max-width:100%;height:auto;border-radius:16px;}

/* cart + checkout + account, in the design's language */
.woocommerce table.shop_table{
  border:1.5px solid var(--line);border-radius:20px;border-collapse:separate;border-spacing:0;overflow:hidden;}
.woocommerce table.shop_table th{
  background:var(--surface);font-weight:500;font-size:14px;color:var(--ink);padding:14px 16px;}
.woocommerce table.shop_table td{padding:16px;border-top:1px solid var(--line);}
.woocommerce table.cart img{width:64px;border-radius:12px;background:var(--surface);}
.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  border:1.5px solid var(--line);border-radius:20px;padding:22px;background:var(--paper);}
.woocommerce-checkout #payment{background:var(--surface);border-radius:20px;padding:8px;}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:0;padding:14px;}
.woocommerce-checkout #payment div.form-row{padding:14px;}
.woocommerce form .form-row label{font-size:14px;color:var(--grey);margin-bottom:6px;}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container .select2-selection--single{
  border:1.5px solid var(--line) !important;border-radius:12px !important;
  padding:11px 14px !important;height:auto !important;background:var(--paper) !important;font:inherit;}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;}
.woocommerce-MyAccount-navigation li a{
  display:block;padding:10px 14px;border-radius:12px;color:var(--grey);text-decoration:none;font-size:14.5px;}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--surface);color:var(--ink);font-weight:500;}
.woocommerce-info,.woocommerce-message,.woocommerce-error{
  border-top-color:var(--peri);border-radius:14px;background:var(--surface);}
.woocommerce-message{border-top-color:#2E9E68;}
.woocommerce-error{border-top-color:#f25248;}

/* mobile navigation */
.burger{display:none;background:none;border:0;cursor:pointer;padding:8px;color:var(--ink);}
.mnav{
  position:fixed;inset:0;background:var(--paper);z-index:200;padding:22px;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.22,.61,.36,1);
  overflow-y:auto;display:flex;flex-direction:column;gap:6px;}
.mnav.on{transform:translateX(0);}
.mnav-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px;}
.mnav a{
  padding:14px 4px;font-size:17px;color:var(--ink);text-decoration:none;
  border-bottom:1px solid var(--line);}
.mnav .mnav-sub{font-size:14.5px;color:var(--grey);padding-left:16px;}
@media(max-width:1000px){
  .burger{display:grid;place-items:center;margin-left:auto;}
  .postlist{grid-template-columns:1fr;}
  .err404 b{font-size:74px;}
}
@media(min-width:1001px){ .mnav{display:none;} }


/* ---- mobile overflow fixes ---- */
html,body{overflow-x:hidden;max-width:100%;}
.mnav{
  visibility:hidden;pointer-events:none;
  will-change:transform;
}
.mnav.on{visibility:visible;pointer-events:auto;}
@media(max-width:1000px){
  .hdr-card{
    width:100%;max-width:100%;border-radius:0;height:62px;
    padding:0 16px;gap:10px;box-sizing:border-box;
  }
  .hd-cta,.hd-city,.hd-search{display:none;}
  .logo-bg{display:none;}
  .logo-mark{height:22px;}
  .tools{margin-left:auto;gap:10px;}
  .burger{margin-left:0;}
  .wrap{padding-left:16px;padding-right:16px;box-sizing:border-box;}
  .stage{height:auto;min-height:420px;}
  .hero-top{flex-direction:column;align-items:flex-start;gap:14px;}
  .hero-txt{text-align:left;}
  .pdp{grid-template-columns:1fr;}
  .banner{min-height:240px;padding:24px 22px;}
  .banner-body h3{font-size:22px;}
}
@media(max-width:620px){
  .tilegrid,.pgrid,.bento,.objgrid,.supgrid{grid-template-columns:1fr;}
  .err404 b{font-size:64px;}
  .searchbig{flex-direction:column;}
  .searchbig .btn{width:100%;}
}


/* .wrap carried min-width:360px from the design, which overflows small phones */
@media(max-width:620px){
  .wrap{min-width:0;}
}


/* ---- product feature strip (manufacturer advantages) ---- */
.feats{display:grid;grid-template-columns:repeat(6,1fr);
  border-top:1px solid var(--line);margin-top:44px;}
.feat{padding:26px 14px;text-align:center;border-right:1px solid var(--line);
  display:flex;flex-direction:column;align-items:center;gap:12px;}
.feat:last-child{border-right:0;}
.feat span:last-child{font-size:13.5px;color:var(--ink);line-height:1.35;}
.feat-ic{width:56px;height:56px;border-radius:50%;background:var(--surface);
  display:grid;place-items:center;color:var(--peri);}
.feat-r32{font-size:15px;font-weight:600;color:#E8834A;background:#fdf3ee;}

/* ---- smartphone control block ---- */
.wifi-block{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;
  background:var(--surface);border-radius:28px;padding:48px;margin-top:44px;}
.wifi-img img{width:100%;max-width:420px;height:auto;display:block;margin:0 auto;}
.wifi-txt h2{font-size:34px;line-height:1.2;margin:0 0 14px;}
.wifi-steps{list-style:none;margin:22px 0 26px;padding:0;display:grid;gap:14px;}
.wifi-steps li{display:grid;grid-template-columns:30px 1fr;gap:14px;align-items:start;}
.wifi-steps li b{width:30px;height:30px;border-radius:50%;background:var(--ink);color:var(--on-ink);
  display:grid;place-items:center;font-size:14px;font-weight:500;}
.wifi-steps li span{font-size:15px;line-height:1.55;color:var(--ink);padding-top:4px;}
.wifi-steps li span b{display:inline;width:auto;height:auto;background:none;color:var(--ink);
  border-radius:0;font-weight:600;}
@media(max-width:1100px){.feats{grid-template-columns:repeat(3,1fr);}}
@media(max-width:900px){
  .feats{grid-template-columns:repeat(2,1fr);}
  .wifi-block{grid-template-columns:1fr;padding:28px;gap:26px;}
  .wifi-txt h2{font-size:24px;}
  .feat{border-right:0;border-bottom:1px solid var(--line);}
}

.feat-inv{background:#fdf3ee;}
.feat-eco{background:#eef8f0;}


/* ---- specification table inside the product description ---- */
.spec-model{font-size:15px;color:var(--grey);margin:0 0 18px;}
.spec-model strong{color:var(--ink);font-weight:500;}
.spec-feats{list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 26px;}
.spec-feats li{background:var(--surface);border-radius:99px;padding:8px 16px;font-size:13.5px;color:var(--ink);}
.spec-table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:14.5px;}
.spec-table tr{border-bottom:1px solid var(--line);}
.spec-table tr:last-child{border-bottom:0;}
.spec-table th.sg{
  text-align:left;font-weight:400;color:var(--ink);padding:12px 16px 12px 0;
  width:36%;vertical-align:top;}
.spec-table th.sg.empty{padding:0;}
.spec-table td.ss{color:var(--grey);padding:12px 16px 12px 0;width:28%;vertical-align:top;}
.spec-table td.sv{color:var(--ink);padding:12px 0;font-weight:500;vertical-align:top;}
.woocommerce-Tabs-panel h2{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 22px;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-bottom-color:var(--line);}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
  background:var(--surface);border:0;border-radius:99px 99px 0 0;margin:0 4px 0 0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:var(--paper);border:1px solid var(--line);border-bottom-color:#fff;}
@media(max-width:700px){
  .spec-table th.sg,.spec-table td.ss{width:auto;}
  .spec-table{font-size:13.5px;}
}

@media(max-width:620px){
  .spec-table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
  .spec-table th.sg{padding-right:10px;font-size:13px;}
  .spec-table td.ss{padding-right:10px;font-size:13px;}
  .spec-table td.sv{white-space:nowrap;}
  .prose,.woocommerce-Tabs-panel{max-width:100%;overflow-x:hidden;}
}


/* ============================================================
   ECONT delivery form (classic checkout) — the plugin ships
   its own markup with labels after inputs; bring it into the
   design's form language.
   ============================================================ */
#econt-delivery-form,
.econt-delivery-wrapper,
.woocommerce-checkout .econt_form,
.woocommerce-checkout [id*="econt"],
.woocommerce-checkout [class*="econt"]{
  font-family:inherit;
}
.woocommerce-checkout [class*="econt"] table,
.woocommerce-checkout [id*="econt"] table{
  width:100%;border-collapse:separate;border-spacing:0 10px;border:0;
}
.woocommerce-checkout [class*="econt"] td,
.woocommerce-checkout [id*="econt"] td{
  border:0;padding:0 0 4px;vertical-align:middle;
}
/* inputs + selects */
.woocommerce-checkout [class*="econt"] input[type="text"],
.woocommerce-checkout [class*="econt"] input[type="tel"],
.woocommerce-checkout [class*="econt"] input[type="email"],
.woocommerce-checkout [class*="econt"] select,
.woocommerce-checkout [id*="econt"] input[type="text"],
.woocommerce-checkout [id*="econt"] input[type="tel"],
.woocommerce-checkout [id*="econt"] input[type="email"],
.woocommerce-checkout [id*="econt"] select{
  width:100% !important;
  border:1.5px solid var(--line) !important;
  border-radius:12px !important;
  padding:12px 14px !important;
  font:inherit !important;
  font-size:15px !important;
  background:var(--paper) !important;
  color:var(--ink) !important;
  box-sizing:border-box;
  margin:0 0 4px;
  height:auto !important;
}
.woocommerce-checkout [class*="econt"] input:focus,
.woocommerce-checkout [class*="econt"] select:focus,
.woocommerce-checkout [id*="econt"] input:focus,
.woocommerce-checkout [id*="econt"] select:focus{
  outline:2px solid var(--peri) !important;outline-offset:1px;border-color:var(--peri) !important;
}
.woocommerce-checkout [class*="econt"] input:disabled,
.woocommerce-checkout [id*="econt"] input:disabled{
  background:var(--surface) !important;color:var(--grey-3) !important;cursor:not-allowed;
}
/* labels sit above their field */
.woocommerce-checkout [class*="econt"] label,
.woocommerce-checkout [id*="econt"] label{
  display:block;font-size:13.5px;color:var(--grey);margin:0 0 6px;font-weight:400;line-height:1.4;
}
/* buttons */
.woocommerce-checkout [class*="econt"] button,
.woocommerce-checkout [class*="econt"] input[type="button"],
.woocommerce-checkout [class*="econt"] input[type="submit"],
.woocommerce-checkout [id*="econt"] button{
  background:var(--ink) !important;color:var(--on-ink) !important;border:0 !important;
  border-radius:99px !important;padding:11px 24px !important;
  font:inherit !important;font-size:14px !important;font-weight:500 !important;
  cursor:pointer;transition:opacity .2s;
}
.woocommerce-checkout [class*="econt"] button:hover{opacity:.88;}
/* the autocomplete suggestion list */
.woocommerce-checkout [class*="econt"] ul,
.woocommerce-checkout [id*="econt"] ul,
.ui-autocomplete{
  list-style:none;margin:2px 0 0;padding:6px;background:var(--paper);
  border:1.5px solid var(--line);border-radius:14px;
  box-shadow:0 12px 34px rgba(20,22,30,.14);z-index:9999;max-height:280px;overflow-y:auto;
}
.ui-autocomplete li,
.woocommerce-checkout [class*="econt"] ul li{
  padding:9px 12px;border-radius:10px;cursor:pointer;font-size:14.5px;color:var(--ink);
}
.ui-autocomplete li:hover,.ui-menu-item-wrapper.ui-state-active,
.woocommerce-checkout [class*="econt"] ul li:hover{
  background:var(--surface) !important;border:0 !important;margin:0 !important;color:var(--ink) !important;
}
/* the language switcher the plugin injects */
.woocommerce-checkout [class*="econt"] a[href*="lang"],
.woocommerce-checkout [id*="econt"] .change-language{
  font-size:12.5px;color:var(--grey-3);
}
/* section heading */
.woocommerce-checkout h3#order_review_heading,
.woocommerce-billing-fields h3,
.woocommerce-checkout .econt-title{
  font-size:20px;font-weight:600;margin:0 0 16px;
}
/* classic checkout general tidy-up */
.woocommerce-checkout form.checkout{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:start;}
.woocommerce-checkout #customer_details{grid-column:1;}
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{grid-column:2;}
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon{grid-column:1 / -1;}
@media(max-width:1000px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr;}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1;}
}


/* ============================================================
   CHECKOUT LAYOUT — the Econt form injects fixed-width wrappers
   that collapsed the columns. Force a robust two-column grid.
   ============================================================ */
.woocommerce-checkout .site-main,
.woocommerce-cart .site-main{width:100%;}
.woocommerce-checkout .wrap,
.woocommerce-cart .wrap{max-width:1280px;width:100%;box-sizing:border-box;}

.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr) !important;
  gap:44px !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
  float:none !important;
}
.woocommerce-checkout form.checkout .col2-set,
.woocommerce-checkout #customer_details{
  grid-column:1 !important;width:100% !important;float:none !important;
  display:block !important;max-width:none !important;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  width:100% !important;float:none !important;max-width:none !important;
  border:0 !important;padding:0 !important;margin:0 0 24px !important;
}
.woocommerce-checkout #order_review_heading{grid-column:2 !important;margin:0 0 14px !important;}
.woocommerce-checkout #order_review{
  grid-column:2 !important;width:100% !important;float:none !important;
  border:1.5px solid var(--line);border-radius:20px;padding:22px;background:var(--paper);
  position:sticky;top:100px;box-sizing:border-box;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-notices-wrapper{grid-column:1 / -1 !important;}

/* the Econt panel must fill its column, not sit in a fixed narrow box */
.woocommerce-checkout [class*="econt"],
.woocommerce-checkout [id*="econt"],
.woocommerce-checkout [class*="econt"] > div,
.woocommerce-checkout [id*="econt"] > div,
.woocommerce-checkout iframe[src*="econt"]{
  width:100% !important;max-width:100% !important;min-width:0 !important;
  box-sizing:border-box;overflow:visible !important;height:auto !important;
}
.woocommerce-checkout [class*="econt"]{max-height:none !important;}
.woocommerce-checkout table.shop_table{width:100% !important;}
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-checkout #order_review table.shop_table th{padding:12px 10px;font-size:14px;}

@media(max-width:1000px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns:1fr !important;gap:26px !important;}
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1 !important;position:static;}
}

/* ============================================================
   BRAND BANNERS — measured from daichi.ru: 1189x491 (aspect 2.42),
   full-bleed photo, brand-coloured buttons.
   ============================================================ */
.banner{
  aspect-ratio:2.42 / 1;
  min-height:0;
  height:auto;
  padding:40px 44px;
  border-radius:24px;
  background-size:cover !important;
  background-position:center !important;
  display:flex;flex-direction:column;justify-content:space-between;
}
.banner-body h3{font-size:32px;line-height:1.22;max-width:20ch;margin:0 0 20px;}
.banner-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;}
.banner .btn{border-radius:12px;padding:13px 24px;font-size:15px;}
.banner .btn-brand{color:var(--on-ink);border:0;}
.banner .btn-brand-o{background:transparent;border:1.5px solid currentColor;}
.banner .btn-round{
  width:46px;height:46px;border-radius:12px;display:grid;place-items:center;
  border:1.5px solid currentColor;background:transparent;padding:0;}
@media(max-width:900px){
  .banner{aspect-ratio:auto;min-height:300px;padding:26px 22px;}
  .banner-body h3{font-size:22px;}
}

/* brand category row — product cut-outs on white, as on the reference */
.brandcats{
  display:grid;grid-template-columns:repeat(6,1fr);gap:18px;margin-top:26px;
}
.brandcat{
  background:none;border:0;border-radius:0;padding:0;
  display:flex;flex-direction:column;align-items:center;gap:14px;
  text-decoration:none;transition:transform .25s cubic-bezier(.22,.61,.36,1);
}
.brandcat:hover{background:none;transform:translateY(-4px);}
.brandcat img{
  width:100%;height:150px;object-fit:contain;display:block;
}
.brandcat span{font-size:14px;color:var(--ink);text-align:center;line-height:1.4;}
@media(max-width:1100px){.brandcats{grid-template-columns:repeat(3,1fr);}}
@media(max-width:620px){.brandcats{grid-template-columns:repeat(2,1fr);}
  .brandcat img{height:110px;}}

/* footer legal links */
.flinks{display:flex;gap:22px;flex-wrap:wrap;padding:0 0 18px;}
.flinks a{font-size:13.5px;color:#c9cdd6;text-decoration:none;}
.flinks a:hover{color:var(--on-ink);}
/* legal page typography */
.legal-table{width:100%;border-collapse:collapse;margin:16px 0 22px;font-size:14.5px;}
.legal-table th{background:var(--surface);text-align:left;padding:10px 14px;border:1px solid var(--line);font-weight:500;}
.legal-table td{padding:10px 14px;border:1px solid var(--line);vertical-align:top;}
.prose blockquote{border-left:3px solid var(--line);margin:18px 0;padding:14px 0 14px 18px;
  background:var(--surface-2);border-radius:0 12px 12px 0;color:var(--ink-2);font-size:14.5px;}
.prose hr{border:0;border-top:1px solid var(--line);margin:26px 0;}
@media(max-width:620px){.legal-table{display:block;overflow-x:auto;}}

/* product cut-outs must breathe inside their tile, not fill edge to edge */
.ctile-img{display:flex;align-items:center;justify-content:center;}
.ctile-img img.contain{
  width:auto;height:auto;max-width:74%;max-height:74%;object-fit:contain;padding:0;
}
.brandcat img{max-width:88%;margin:0 auto;}


/* ---- showroom strip (homepage) — two portrait photos + copy ---- */
.showroom{
  display:grid;grid-template-columns:1fr 1fr 1.15fr;gap:0;
  background:var(--surface);border-radius:28px;overflow:hidden;align-items:stretch;
}
.showroom-img{margin:0;overflow:hidden;min-height:380px;}
.showroom-img img{
  width:100%;height:100%;object-fit:cover;display:block;
  transition:transform .6s cubic-bezier(.22,.61,.36,1);
}
.showroom-img:hover img{transform:scale(1.05);}
.showroom-txt{padding:38px 40px;display:flex;flex-direction:column;justify-content:center;}
.showroom-txt h2{font-size:28px;line-height:1.2;margin:0 0 12px;}
.showroom-txt p{font-size:15px;line-height:1.65;color:var(--grey);margin:0 0 20px;}
.showroom-meta{display:grid;gap:9px;margin-bottom:22px;}
.showroom-meta span{display:flex;align-items:center;gap:9px;font-size:14.5px;color:var(--ink);}
.showroom-meta a{color:var(--ink);text-decoration:none;}
.showroom-txt .btn{align-self:flex-start;}

/* ---- showroom pair (contacts page) ---- */
.showroom-pair{
  position:relative;display:grid;grid-template-columns:1fr 1fr;gap:8px;
  border-radius:20px;overflow:hidden;margin-bottom:14px;
}
.showroom-pair figure{margin:0;overflow:hidden;}
.showroom-pair img{width:100%;height:280px;object-fit:cover;display:block;}
.showroom-cap{
  position:absolute;left:14px;bottom:14px;background:rgba(255,255,255,.94);
  border-radius:99px;padding:7px 15px;font-size:12.5px;color:var(--ink);z-index:2;
}
@media(max-width:1000px){
  .showroom{grid-template-columns:1fr 1fr;}
  .showroom-txt{grid-column:1 / -1;padding:26px 24px;}
  .showroom-img{min-height:300px;}
}
@media(max-width:620px){
  .showroom-img{min-height:230px;}
  .showroom-txt h2{font-size:23px;}
  .showroom-pair img{height:200px;}
}
}


/* ---- shop toolbar: count on the left, sort + search on the right ---- */
.shop-head{
  display:flex;justify-content:space-between;align-items:center;gap:18px;
  margin-bottom:22px;flex-wrap:wrap;
}
.shop-count{font-size:14px;color:var(--grey);}
.shop-count b{color:var(--ink);font-weight:500;}
.shop-tools{display:flex;align-items:center;gap:12px;flex-wrap:wrap;}
.shop-sort{display:flex;align-items:center;gap:9px;margin:0;}
.shop-sort label{font-size:14px;color:var(--grey);white-space:nowrap;}
.shop-sort select{
  border:1.5px solid var(--line);border-radius:99px;padding:10px 34px 10px 16px;
  font:inherit;font-size:14px;background:var(--paper);color:var(--ink);cursor:pointer;
  appearance:none;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%236c7684' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;
}
.shop-sort select:hover{border-color:var(--line-2);}
.shop-sort select:focus{outline:2px solid var(--peri);outline-offset:1px;}
@media(max-width:760px){
  .shop-head{flex-direction:column;align-items:stretch;}
  .shop-tools{flex-direction:column;align-items:stretch;}
  .shop-sort{justify-content:space-between;}
  .shop-sort select,.shopsearch{width:100%;}
}


/* ---- benefits block inside a product description ---- */
.benefits{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:18px;margin:18px 0 26px;
}
.benefit{background:var(--surface);border-radius:18px;padding:20px 22px;}
.benefit h4{font-size:16px;font-weight:500;margin:0 0 7px;color:var(--ink);}
.benefit p{margin:0;font-size:14.5px;line-height:1.6;color:var(--grey);}
.prose h3,.woocommerce-Tabs-panel h3{font-size:20px;font-weight:600;margin:30px 0 12px;}


/* ============================================================
   RICH PRODUCT DESCRIPTION — colour-coded, card-based
   ============================================================ */
.pdesc{font-size:15.5px;line-height:1.7;color:var(--ink-2);}
.pdesc > p{margin:0 0 14px;max-width:82ch;}
.pdesc strong{color:var(--ink);font-weight:600;}

/* lead paragraph */
.pdesc .lead-in{
  font-size:17px;line-height:1.65;color:var(--ink);
  border-left:3px solid var(--peri);padding-left:18px;margin:0 0 26px;
}

/* key figures strip */
.keyfacts{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));
  gap:12px;margin:0 0 30px;
}
.keyfact{
  background:var(--surface);border-radius:18px;padding:18px 20px;
  border-top:3px solid var(--kf,var(--peri));
}
.keyfact b{display:block;font-size:24px;font-weight:600;color:var(--ink);line-height:1.15;}
.keyfact span{display:block;font-size:13px;color:var(--grey);margin-top:5px;line-height:1.35;}
.kf-blue{--kf:var(--peri);} .kf-green{--kf:#3D9B4A;} .kf-red{--kf:#E1332D;}
.kf-amber{--kf:#E8834A;} .kf-violet{--kf:#7C5CE0;}

/* feature chips, colour-tinted */
.spec-feats{
  list-style:none;display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 30px;
}
.spec-feats li{
  background:var(--surface);border-radius:99px;padding:9px 17px;font-size:13.5px;color:var(--ink);
  display:flex;align-items:center;gap:8px;
}
.spec-feats li::before{
  content:"";width:6px;height:6px;border-radius:50%;background:var(--peri);flex-shrink:0;
}
.spec-feats li:nth-child(5n+2)::before{background:#3D9B4A;}
.spec-feats li:nth-child(5n+3)::before{background:#E8834A;}
.spec-feats li:nth-child(5n+4)::before{background:#E1332D;}
.spec-feats li:nth-child(5n+5)::before{background:#7C5CE0;}

/* benefit cards */
.benefits{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(258px,1fr));
  gap:16px;margin:0 0 30px;
}
.benefit{
  background:var(--paper);border:1.5px solid var(--line);border-radius:20px;padding:22px 24px;
  transition:border-color .25s ease-in-out, box-shadow .25s ease-in-out;
}
.benefit:hover{border-color:var(--line-2);box-shadow:0 8px 26px rgba(20,22,30,.07);}
.benefit h4{
  font-size:16px;font-weight:600;margin:0 0 8px;color:var(--ink);
  display:flex;align-items:center;gap:9px;
}
.benefit h4::before{
  content:"";width:9px;height:9px;border-radius:3px;background:var(--peri);flex-shrink:0;
}
.benefit:nth-child(5n+2) h4::before{background:#3D9B4A;}
.benefit:nth-child(5n+3) h4::before{background:#E8834A;}
.benefit:nth-child(5n+4) h4::before{background:#E1332D;}
.benefit:nth-child(5n+5) h4::before{background:#7C5CE0;}
.benefit p{margin:0;font-size:14.5px;line-height:1.62;color:var(--grey);}

/* section headings inside the description */
.pdesc h3{
  font-size:21px;font-weight:600;color:var(--ink);margin:34px 0 16px;
  padding-bottom:10px;border-bottom:1.5px solid var(--line);
}
.pdesc h3:first-of-type{margin-top:0;}

/* spec table — zebra rows, sticky group column */
.spec-model{
  font-size:14.5px;color:var(--grey);margin:0 0 16px;
  background:var(--surface);border-radius:12px;padding:12px 16px;display:inline-block;
}
.spec-model strong{color:var(--ink);font-weight:500;}
.spec-table{
  width:100%;border-collapse:collapse;margin:0 0 10px;font-size:14.5px;
  border:1.5px solid var(--line);border-radius:16px;overflow:hidden;
}
.spec-table tr:nth-child(even){background:var(--surface-2);}
.spec-table tr:hover{background:var(--surface);}
.spec-table th.sg{
  text-align:left;font-weight:500;color:var(--ink);padding:13px 18px;
  width:34%;vertical-align:top;border-bottom:1px solid var(--line);
}
.spec-table th.sg.empty{padding-top:0;padding-bottom:13px;}
.spec-table td.ss{
  color:var(--grey);padding:13px 18px;width:28%;vertical-align:top;
  border-bottom:1px solid var(--line);
}
.spec-table td.sv{
  color:var(--ink);padding:13px 18px;font-weight:500;vertical-align:top;
  border-bottom:1px solid var(--line);
}
.spec-table tr:last-child th,.spec-table tr:last-child td{border-bottom:0;}

@media(max-width:700px){
  .pdesc h3{font-size:18px;}
  .keyfact b{font-size:20px;}
  .spec-table{display:block;overflow-x:auto;font-size:13.5px;}
  .spec-table th.sg,.spec-table td.ss{width:auto;padding:11px 12px;}
  .spec-table td.sv{padding:11px 12px;white-space:nowrap;}
}


/* ============================================================
   FREE INSTALLATION PROMO
   ============================================================ */

/* red badge on product cards */
.fi-badge{
  display:inline-flex;align-items:center;gap:6px;
  background:#E1332D;color:#fff;
  border-radius:99px;padding:5px 12px;
  font-size:12px;font-weight:600;letter-spacing:.01em;
  margin:0 0 8px;line-height:1.2;
}
.fi-badge::before{
  content:"";width:5px;height:5px;border-radius:50%;background:var(--paper);flex-shrink:0;
}

/* gift banner in the buy panel */
.fi-gift{
  background:linear-gradient(135deg,#E1332D,#b8241f);
  color:#fff;border-radius:16px;padding:16px 18px;margin:0 0 18px;
  display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;
  column-gap:12px;align-items:center;
}
.fi-gift-ic{
  grid-row:1 / span 2;display:grid;place-items:center;
  width:42px;height:42px;border-radius:12px;background:rgba(255,255,255,.18);
}
.fi-gift b{font-size:15px;font-weight:600;line-height:1.25;}
.fi-gift-sub{font-size:12.5px;opacity:.9;line-height:1.35;margin-top:2px;}

/* contact block */
.fi-block{
  background:var(--surface);border-radius:26px;padding:36px 38px;margin:44px 0 0;
}
.fi-block.fi-compact{
  background:var(--paper);border:1.5px solid var(--line);padding:28px 30px;margin:0;
  border-radius:0 0 26px 26px;border-top:0;
}
.fi-kicker{
  display:inline-block;background:#E1332D;color:#fff;border-radius:99px;
  padding:5px 13px;font-size:11.5px;font-weight:600;letter-spacing:.06em;
  text-transform:uppercase;margin-bottom:14px;
}
.fi-head h3{font-size:26px;font-weight:600;margin:0 0 8px;color:var(--ink);line-height:1.2;}
.fi-head p{margin:0 0 24px;font-size:15px;color:var(--grey);line-height:1.6;max-width:52ch;}
.fi-actions{display:flex;gap:12px;flex-wrap:wrap;}
.fi-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  border-radius:14px;padding:14px 24px;
  font-size:15px;font-weight:500;text-decoration:none;color:var(--on-ink);
  transition:transform .2s cubic-bezier(.22,.61,.36,1), box-shadow .2s ease-in-out, opacity .2s;
  min-width:150px;
}
.fi-btn:hover{transform:translateY(-2px);color:var(--on-ink);}
.fi-btn svg{flex-shrink:0;}
.fi-wa{background:#25D366;}
.fi-wa:hover{box-shadow:0 8px 22px rgba(37,211,102,.34);}
.fi-vb{background:#7360F2;}
.fi-vb:hover{box-shadow:0 8px 22px rgba(115,96,242,.34);}
.fi-mail{background:var(--ink);}
.fi-mail:hover{box-shadow:0 8px 22px rgba(20,22,30,.28);}
.fi-note{margin:18px 0 0;font-size:14px;color:var(--grey);}
.fi-note a{color:var(--ink);font-weight:500;text-decoration:none;}
.fi-note a:hover{color:#E1332D;}

/* thank-you page */
.fi-thanks{max-width:720px;margin:0 auto 40px;}
.fi-thanks-inner{
  background:var(--paper);border:1.5px solid var(--line);border-radius:26px 26px 0 0;
  border-bottom:0;padding:44px 38px 34px;text-align:center;
}
.fi-thanks-logo{height:26px;width:auto;display:block;margin:0 auto 26px;opacity:.9;}
.fi-thanks-check{
  display:grid;place-items:center;width:62px;height:62px;margin:0 auto 20px;
  border-radius:50%;background:rgba(46,158,104,.12);color:#2E9E68;
}
.fi-thanks h2{font-size:30px;font-weight:600;margin:0 0 10px;color:var(--ink);line-height:1.2;}
.fi-thanks-sub{font-size:15.5px;color:var(--grey);margin:0 auto 26px;max-width:44ch;line-height:1.6;}
.fi-thanks-sub strong{color:var(--ink);font-weight:500;}
.fi-thanks-gift{
  background:linear-gradient(135deg,#E1332D,#b8241f);color:#fff;
  border-radius:18px;padding:20px 24px;text-align:left;
}
.fi-thanks-gift b{display:block;font-size:16px;font-weight:600;margin-bottom:4px;}
.fi-thanks-gift span{display:block;font-size:14px;opacity:.92;line-height:1.5;}
.fi-thanks .fi-block{margin:0;}
.fi-thanks .fi-head h3{font-size:21px;}
.fi-thanks .fi-head p{margin-bottom:20px;font-size:14.5px;}

@media(max-width:760px){
  .fi-block{padding:26px 22px;border-radius:22px;}
  .fi-block.fi-compact{padding:24px 22px;}
  .fi-head h3{font-size:21px;}
  .fi-actions{flex-direction:column;}
  .fi-btn{width:100%;min-width:0;}
  .fi-thanks-inner{padding:32px 22px 26px;}
  .fi-thanks h2{font-size:23px;}
  .fi-gift{padding:14px 16px;}
}


/* ---- install block sits under the gallery, filling the empty column ---- */
.pdp > .fi-block{
  grid-column:1 / 3;
  margin:4px 0 0;
  padding:30px 32px;
  border-radius:22px;
  align-self:start;
}
.pdp > .fi-block .fi-head h3{font-size:22px;}
.pdp > .fi-block .fi-head p{margin-bottom:20px;font-size:14.5px;}
.pdp > .fi-block .fi-btn{padding:13px 20px;min-width:0;flex:1 1 auto;}
@media(max-width:1100px){
  .pdp > .fi-block{grid-column:1 / -1;padding:24px 22px;}
}


/* ============================================================
   PRODUCT SPEC COLUMN — headline figures + clean list
   ============================================================ */
.spec-hero{
  display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));
  gap:10px;margin:0 0 24px;
}
.spec-hero-item{
  background:var(--surface);border-radius:16px;padding:16px 14px;
  border-top:3px solid var(--peri);
}
.spec-hero-item:nth-child(2){border-top-color:#3D9B4A;}
.spec-hero-item:nth-child(3){border-top-color:#E8834A;}
.spec-hero-item b{
  display:block;font-size:20px;font-weight:600;color:var(--ink);line-height:1.15;
  letter-spacing:-.01em;
}
.spec-hero-item span{
  display:block;font-size:12px;color:var(--grey);margin-top:5px;line-height:1.35;
}

.spec-list{margin:0;padding:0;}
.spec-item{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);
  gap:14px;padding:11px 0;border-bottom:1px solid var(--line);align-items:baseline;
}
.spec-item:first-child{border-top:1px solid var(--line);}
.spec-list dt{
  margin:0;font-size:13.5px;color:var(--grey);line-height:1.45;
}
.spec-list dd{
  margin:0;font-size:14.5px;color:var(--ink);font-weight:500;line-height:1.45;
  overflow-wrap:anywhere;
}
.spec-short{
  margin:20px 0 0;font-size:14.5px;line-height:1.6;color:var(--grey);
  background:var(--surface);border-radius:14px;padding:14px 16px;
}
@media(max-width:1100px){
  .spec-hero{grid-template-columns:repeat(3,1fr);}
}
@media(max-width:520px){
  .spec-hero{grid-template-columns:1fr 1fr;}
  .spec-item{grid-template-columns:1fr;gap:2px;}
}


/* ============================================================
   CHECKOUT — authoritative layout. Supersedes earlier rules.
   Two columns: details left, sticky order summary right.
   ============================================================ */
.woocommerce-checkout .site-main{width:100%;}
.woocommerce-checkout .wrap{max-width:1280px;width:100%;box-sizing:border-box;}
.woocommerce-checkout .sec-sm{padding-top:34px;}

/* page heading */
.woocommerce-checkout h1.h-lg,
.woocommerce-checkout .entry-title{margin-bottom:26px;}

/* the form itself */
.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1.35fr) minmax(0,.9fr) !important;
  gap:36px !important;
  align-items:start !important;
  width:100% !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
}

/* coupon + notices span both columns */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .checkout_coupon,
.woocommerce-checkout .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce-NoticeGroup{
  grid-column:1 / -1 !important;margin:0 0 4px !important;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:var(--surface);border-top:0;border-radius:14px;padding:14px 18px;
  font-size:14px;color:var(--ink);margin:0;
}
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info::before{display:none;}
.woocommerce-checkout .checkout_coupon{
  border:1.5px solid var(--line) !important;border-radius:18px;padding:20px;background:var(--paper);
}

/* ---- left column: customer details ---- */
.woocommerce-checkout #customer_details{
  grid-column:1 !important;width:100% !important;max-width:none !important;
  float:none !important;display:block !important;
}
.woocommerce-checkout #customer_details .col2-set,
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  width:100% !important;max-width:none !important;float:none !important;
  padding:0 !important;margin:0 !important;border:0 !important;
}
.woocommerce-checkout #customer_details .col-2{margin-top:26px !important;}

/* panels */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields{
  background:var(--paper);border:1.5px solid var(--line);border-radius:20px;
  padding:26px 28px;margin:0 0 20px;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout #order_review_heading{
  font-size:19px;font-weight:600;color:var(--ink);margin:0 0 18px;
  padding:0 0 14px;border-bottom:1px solid var(--line);
}

/* form fields */
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{
  display:grid;grid-template-columns:1fr 1fr;gap:0 16px;
}
.woocommerce-checkout .form-row{
  width:auto !important;float:none !important;padding:0 !important;margin:0 0 16px !important;
  display:flex;flex-direction:column;
}
.woocommerce-checkout .form-row-wide,
.woocommerce-checkout .form-row.notes,
.woocommerce-checkout #billing_address_1_field,
.woocommerce-checkout #billing_address_2_field,
.woocommerce-checkout #billing_company_field,
.woocommerce-checkout #billing_email_field{grid-column:1 / -1;}
.woocommerce-checkout .form-row label{
  font-size:13.5px;color:var(--grey);margin:0 0 6px;font-weight:400;
}
.woocommerce-checkout .form-row .required{color:#E1332D;text-decoration:none;border:0;}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single{
  width:100% !important;box-sizing:border-box;
  border:1.5px solid var(--line) !important;border-radius:12px !important;
  padding:12px 14px !important;height:auto !important;min-height:46px;
  font:inherit !important;font-size:15px !important;
  background:var(--paper) !important;color:var(--ink) !important;
}
.woocommerce-checkout .form-row textarea{min-height:96px;resize:vertical;}
.woocommerce-checkout .form-row input:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout .form-row textarea:focus{
  outline:2px solid var(--peri) !important;outline-offset:1px;border-color:var(--peri) !important;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  line-height:1.4 !important;padding:0 !important;color:var(--ink);
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:44px !important;right:10px !important;
}

/* Econt panel fills its column */
.woocommerce-checkout [class*="econt"],
.woocommerce-checkout [id*="econt"],
.woocommerce-checkout [class*="econt"] > div,
.woocommerce-checkout [id*="econt"] > div,
.woocommerce-checkout [class*="econt"] table,
.woocommerce-checkout [id*="econt"] table{
  width:100% !important;max-width:100% !important;min-width:0 !important;
  box-sizing:border-box;height:auto !important;max-height:none !important;
  overflow:visible !important;float:none !important;
}
.woocommerce-checkout [class*="econt"] input[type="text"],
.woocommerce-checkout [class*="econt"] input[type="tel"],
.woocommerce-checkout [class*="econt"] input[type="email"],
.woocommerce-checkout [class*="econt"] select,
.woocommerce-checkout [id*="econt"] input[type="text"],
.woocommerce-checkout [id*="econt"] select{
  width:100% !important;box-sizing:border-box;
  border:1.5px solid var(--line) !important;border-radius:12px !important;
  padding:12px 14px !important;min-height:46px;height:auto !important;
  font:inherit !important;font-size:15px !important;background:var(--paper) !important;
  margin:0 0 12px !important;
}
.woocommerce-checkout [class*="econt"] label,
.woocommerce-checkout [id*="econt"] label{
  display:block;font-size:13.5px;color:var(--grey);margin:0 0 6px;
}
.woocommerce-checkout [class*="econt"] button,
.woocommerce-checkout [class*="econt"] input[type="button"]{
  background:var(--ink) !important;color:var(--on-ink) !important;border:0 !important;
  border-radius:99px !important;padding:12px 26px !important;
  font:inherit !important;font-size:14.5px !important;font-weight:500 !important;cursor:pointer;
}

/* ---- right column: order summary ---- */
.woocommerce-checkout #order_review_heading{
  grid-column:2 !important;margin:0 0 14px !important;
  border-bottom:0;padding-bottom:0;
}
.woocommerce-checkout #order_review{
  grid-column:2 !important;width:100% !important;max-width:none !important;
  float:none !important;box-sizing:border-box;
  background:var(--paper);border:1.5px solid var(--line);border-radius:22px;padding:24px 26px;
  position:sticky;top:100px;
}
.woocommerce-checkout #order_review table.shop_table{
  width:100% !important;border:0 !important;border-radius:0;margin:0 0 6px;
  border-collapse:collapse;
}
.woocommerce-checkout #order_review table.shop_table thead th{
  background:none;border:0;border-bottom:1px solid var(--line);
  padding:0 0 12px;font-size:12px;font-weight:500;letter-spacing:.06em;
  text-transform:uppercase;color:var(--grey);
}
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-checkout #order_review table.shop_table th{
  border:0;border-bottom:1px solid var(--line);padding:14px 0;
  font-size:14.5px;color:var(--ink);vertical-align:top;
}
.woocommerce-checkout #order_review table.shop_table .product-name{
  padding-right:14px;line-height:1.45;
}
.woocommerce-checkout #order_review table.shop_table .product-total,
.woocommerce-checkout #order_review table.shop_table td:last-child,
.woocommerce-checkout #order_review table.shop_table th:last-child{
  text-align:right;white-space:nowrap;
}
.woocommerce-checkout #order_review tfoot th{
  font-weight:400;color:var(--grey);font-size:14px;text-transform:none;letter-spacing:0;
}
.woocommerce-checkout #order_review tfoot .order-total th,
.woocommerce-checkout #order_review tfoot .order-total td{
  border-bottom:0;padding-top:16px;font-size:19px;font-weight:600;color:var(--ink);
}
.woocommerce-checkout #order_review tfoot .order-total td .includes_tax,
.woocommerce-checkout #order_review small.includes_tax{
  display:block;font-size:12.5px;font-weight:400;color:var(--grey);margin-top:3px;
}
/* shipping choices */
.woocommerce-checkout #order_review #shipping_method{list-style:none;margin:0;padding:0;}
.woocommerce-checkout #order_review #shipping_method li{
  margin:0 0 8px;display:flex;align-items:flex-start;gap:9px;font-size:14px;
}
.woocommerce-checkout #order_review #shipping_method li:last-child{margin-bottom:0;}
.woocommerce-checkout #order_review #shipping_method label{margin:0;line-height:1.4;}

/* payment methods */
.woocommerce-checkout #payment{
  background:none !important;border-radius:0;margin-top:18px;
}
.woocommerce-checkout #payment ul.payment_methods{
  border:0 !important;padding:0 !important;margin:0 0 16px !important;list-style:none;
}
.woocommerce-checkout #payment ul.payment_methods li{
  border:1.5px solid var(--line);border-radius:14px;padding:14px 16px;margin:0 0 10px;
  background:var(--paper);transition:border-color .2s;list-style:none;
}
.woocommerce-checkout #payment ul.payment_methods li:hover{border-color:var(--line-2);}
.woocommerce-checkout #payment ul.payment_methods li label{
  font-size:15px;color:var(--ink);font-weight:500;display:inline-flex;
  align-items:center;gap:9px;margin:0;cursor:pointer;
}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:22px;width:auto;margin:0 0 0 4px;}
.woocommerce-checkout #payment div.payment_box{
  background:var(--surface) !important;border-radius:12px;margin:12px 0 0;padding:14px 16px;
  font-size:13.5px;line-height:1.55;color:var(--grey);
}
.woocommerce-checkout #payment div.payment_box::before{display:none !important;}
.woocommerce-checkout #payment .wc-stripe-elements-field,
.woocommerce-checkout #payment .wc_payment_method .StripeElement{
  border:1.5px solid var(--line) !important;border-radius:12px !important;
  padding:12px 14px !important;background:var(--paper) !important;margin:8px 0 0;
}
.woocommerce-checkout #payment .place-order{padding:0 !important;margin:0 !important;}
.woocommerce-checkout #place_order{
  width:100% !important;background:var(--ink) !important;color:var(--on-ink) !important;
  border:0 !important;border-radius:99px !important;
  padding:16px 26px !important;font-size:16px !important;font-weight:500 !important;
  margin:6px 0 0 !important;cursor:pointer;transition:opacity .2s, transform .2s;
}
.woocommerce-checkout #place_order:hover{opacity:.9;transform:translateY(-1px);}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{
  margin:14px 0 0;font-size:13px;color:var(--grey);line-height:1.55;
}
.woocommerce-checkout .woocommerce-privacy-policy-text p{font-size:13px;color:var(--grey);margin:0 0 10px;}

@media(max-width:1000px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns:1fr !important;gap:22px !important;}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:1 !important;position:static !important;}
  .woocommerce-checkout .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout .woocommerce-shipping-fields__field-wrapper{grid-template-columns:1fr;}
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout .woocommerce-shipping-fields,
  .woocommerce-checkout .woocommerce-additional-fields{padding:20px 18px;}
  .woocommerce-checkout #order_review{padding:20px 18px;}
}


/* ============================================================
   ORDER RECEIVED (thank-you) — unified with our block
   ============================================================ */
.woocommerce-order-received .site-main{width:100%;}
.woocommerce-order-received .wrap{max-width:1280px;}
.woocommerce-order-received .woocommerce-order{max-width:760px;margin:0 auto;}

/* hide WooCommerce's plain heading + meta list; our card carries it */
.woocommerce-order-received .entry-title,
.woocommerce-order-received h1.h-lg,
.woocommerce-order-received .woocommerce-notice--success,
.woocommerce-order-received .woocommerce-thankyou-order-received,
.woocommerce-order-received ul.woocommerce-thankyou-order-details,
.woocommerce-order-received ul.woocommerce-order-overview{display:none !important;}

/* our thank-you card goes first */
.woocommerce-order-received .fi-thanks{margin:0 auto 34px;}

/* order details + customer details, styled */
.woocommerce-order-received .woocommerce-order-details,
.woocommerce-order-received .woocommerce-customer-details{
  background:var(--paper);border:1.5px solid var(--line);border-radius:22px;
  padding:26px 28px;margin:0 0 20px;
}
.woocommerce-order-received .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-column__title,
.woocommerce-order-received .woocommerce-customer-details h2{
  font-size:19px;font-weight:600;color:var(--ink);margin:0 0 18px;
  padding:0 0 14px;border-bottom:1px solid var(--line);
}
.woocommerce-order-received table.woocommerce-table--order-details,
.woocommerce-order-received table.shop_table{
  width:100%;border:0 !important;border-collapse:collapse;margin:0;border-radius:0;
}
.woocommerce-order-received table.shop_table thead th{
  background:none;border:0;border-bottom:1px solid var(--line);padding:0 0 12px;
  font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--grey);
}
.woocommerce-order-received table.shop_table td,
.woocommerce-order-received table.shop_table th{
  border:0;border-bottom:1px solid var(--line);padding:14px 0;
  font-size:14.5px;color:var(--ink);vertical-align:top;
}
.woocommerce-order-received table.shop_table td:last-child,
.woocommerce-order-received table.shop_table th:last-child{text-align:right;white-space:nowrap;}
.woocommerce-order-received table.shop_table a{color:var(--ink);text-decoration:none;}
.woocommerce-order-received table.shop_table tfoot th{
  font-weight:400;color:var(--grey);text-transform:none;letter-spacing:0;font-size:14px;
}
.woocommerce-order-received table.shop_table tfoot tr:last-child th,
.woocommerce-order-received table.shop_table tfoot tr:last-child td{
  border-bottom:0;padding-top:16px;font-size:18px;font-weight:600;color:var(--ink);
}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns{
  display:grid;grid-template-columns:1fr 1fr;gap:26px;
}
.woocommerce-order-received address{
  font-style:normal;font-size:14.5px;line-height:1.7;color:var(--ink);
  border:0;padding:0;background:none;
}
@media(max-width:760px){
  .woocommerce-order-received .woocommerce-order-details,
  .woocommerce-order-received .woocommerce-customer-details{padding:20px 18px;}
  .woocommerce-order-received .woocommerce-customer-details .woocommerce-columns{grid-template-columns:1fr;}
}


/* FIX: the standalone #order_review_heading consumed its own grid row,
   pushing the summary below the details column. Fold the title into the
   panel instead, so only two grid items remain and they sit side by side. */
.woocommerce-checkout #order_review_heading{display:none !important;}
.woocommerce-checkout #order_review::before{
  content:"Вашата поръчка";
  display:block;font-size:19px;font-weight:600;color:var(--ink);
  margin:0 0 18px;padding:0 0 14px;border-bottom:1px solid var(--line);
}
.woocommerce-checkout #order_review{grid-column:2 !important;}
@media(max-width:1000px){
  .woocommerce-checkout #order_review{grid-column:1 !important;}
}


/* ============================================================
   CHECKOUT — robust grid. Anything the Econt plugin injects
   lands in column 1 automatically; only the summary is pinned
   to column 2, spanning every row.
   ============================================================ */
.woocommerce-checkout form.checkout.woocommerce-checkout{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 420px !important;
  gap:0 34px !important;
  align-items:start !important;
  width:100% !important;max-width:none !important;float:none !important;
}
/* every direct child defaults to the left column */
.woocommerce-checkout form.checkout.woocommerce-checkout > *{
  grid-column:1 !important;min-width:0;
}
/* the summary owns the right column for the whole form */
.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review{
  grid-column:2 !important;
  grid-row:1 / span 99 !important;
  position:sticky;top:100px;align-self:start;
}
.woocommerce-checkout form.checkout.woocommerce-checkout > #order_review_heading{
  display:none !important;
}
/* notices and coupon span the left column only, which is correct */

/* kill the plugin's internal scroll box */
.woocommerce-checkout [class*="econt"],
.woocommerce-checkout [id*="econt"],
.woocommerce-checkout [class*="econt"] > div,
.woocommerce-checkout [id*="econt"] > div{
  max-height:none !important;height:auto !important;overflow:visible !important;
  width:100% !important;max-width:100% !important;box-sizing:border-box;
}

/* the Econt block gets the same panel treatment as the other sections */
.woocommerce-checkout form.checkout > [class*="econt"],
.woocommerce-checkout form.checkout > [id*="econt"],
.woocommerce-checkout .econt-delivery-wrapper{
  background:var(--paper);border:1.5px solid var(--line);border-radius:20px;
  padding:26px 28px;margin:0 0 20px;
}

@media(max-width:1000px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns:1fr !important;gap:20px !important;}
  .woocommerce-checkout form.checkout.woocommerce-checkout > #order_review{
    grid-column:1 !important;grid-row:auto !important;position:static !important;}
}

/* ============================================================
   CART — product list left, sticky summary right
   ============================================================ */
.woocommerce-cart .wrap{max-width:1280px;}
.dcart{
  display:grid;grid-template-columns:minmax(0,1fr) 400px;gap:34px;align-items:start;
}
.dcart-items{min-width:0;}
.dcart-row{
  display:grid;grid-template-columns:104px minmax(0,1fr) auto auto;
  gap:20px;align-items:center;
  padding:20px 0;border-bottom:1px solid var(--line);
}
.dcart-row:first-child{border-top:1px solid var(--line);}
.dcart-thumb{width:104px;height:104px;background:var(--surface);border-radius:16px;
  display:grid;place-items:center;overflow:hidden;}
.dcart-thumb img{max-width:82%;max-height:82%;width:auto;height:auto;object-fit:contain;}
.dcart-info{min-width:0;}
.dcart-info h4{font-size:16px;font-weight:500;margin:0 0 5px;line-height:1.4;}
.dcart-info h4 a{color:var(--ink);text-decoration:none;}
.dcart-info h4 a:hover{color:var(--peri);}
.dcart-sku{display:block;font-size:13px;color:var(--grey-3);margin-bottom:8px;}
.dcart-info .fi-badge{margin:0;font-size:11.5px;padding:4px 10px;}

/* quantity stepper */
.dcart-qty .quantity{display:flex;align-items:center;background:var(--surface);border-radius:12px;overflow:hidden;}
.dcart-qty .quantity input.qty{
  width:52px;border:0 !important;background:none !important;text-align:center;
  font:inherit;font-size:15px;font-weight:500;color:var(--ink);padding:11px 0 !important;
  -moz-appearance:textfield;
}
.dcart-qty .quantity input.qty::-webkit-outer-spin-button,
.dcart-qty .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.dcart-qty .quantity .qty-btn{
  width:38px;height:42px;border:0;background:none;cursor:pointer;
  font-size:18px;color:var(--grey);display:grid;place-items:center;transition:color .15s;
}
.dcart-qty .quantity .qty-btn:hover{color:var(--ink);}

.dcart-price{text-align:right;min-width:120px;}
.dcart-price b{display:block;font-size:18px;font-weight:600;color:var(--ink);white-space:nowrap;}
.dcart-remove{
  display:inline-block;margin-top:7px;font-size:13px;color:var(--grey-3);text-decoration:none;
  transition:color .15s;
}
.dcart-remove:hover{color:#E1332D;}

.dcart-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center;padding-top:22px;}
.dcart-coupon{display:flex;gap:8px;flex:1 1 320px;min-width:0;}
.dcart-coupon input{
  flex:1;min-width:0;border:1.5px solid var(--line);border-radius:99px;
  padding:11px 18px;font:inherit;font-size:14px;background:var(--paper);
}
.dcart-coupon input:focus{outline:2px solid var(--peri);outline-offset:1px;}
.dcart-actions .btn{white-space:nowrap;}

/* summary card */
.dcart-summary{position:sticky;top:100px;}
.dcart-summary .cart_totals{
  background:var(--paper);border:1.5px solid var(--line);border-radius:22px;padding:24px 26px;
}
.dcart-summary .cart_totals h2{
  font-size:19px;font-weight:600;color:var(--ink);margin:0 0 18px;
  padding:0 0 14px;border-bottom:1px solid var(--line);
}
.dcart-summary table.shop_table{width:100%;border:0 !important;border-collapse:collapse;margin:0;}
.dcart-summary table.shop_table th,
.dcart-summary table.shop_table td{
  border:0;border-bottom:1px solid var(--line);padding:13px 0;
  font-size:14.5px;vertical-align:top;
}
.dcart-summary table.shop_table th{font-weight:400;color:var(--grey);text-align:left;}
.dcart-summary table.shop_table td{text-align:right;color:var(--ink);}
.dcart-summary .order-total th,
.dcart-summary .order-total td{
  border-bottom:0;padding-top:16px;font-size:20px;font-weight:600;color:var(--ink);
}
.dcart-summary .order-total small,
.dcart-summary small.includes_tax{
  display:block;font-size:12.5px;font-weight:400;color:var(--grey);margin-top:3px;
}
.dcart-summary .wc-proceed-to-checkout{padding:18px 0 0;}
.dcart-summary .checkout-button{
  display:block;width:100%;text-align:center;
  background:var(--peri) !important;color:#fff !important;
  border-radius:99px !important;padding:16px 26px !important;
  font-size:16px !important;font-weight:500 !important;text-decoration:none;
  transition:opacity .2s, transform .2s;
}
.dcart-summary .checkout-button:hover{opacity:.92;transform:translateY(-1px);}
.dcart-summary #shipping_method{list-style:none;margin:0;padding:0;text-align:left;}
.dcart-summary #shipping_method li{margin:0 0 7px;font-size:14px;}
.dcart-summary .shipping-calculator-button{font-size:13.5px;color:var(--peri);}

.woocommerce-cart .cart-empty{
  text-align:center;padding:60px 0 20px;font-size:18px;color:var(--grey);
}
.woocommerce-cart .return-to-shop{text-align:center;padding-bottom:60px;}

@media(max-width:1000px){
  .dcart{grid-template-columns:1fr;gap:24px;}
  .dcart-summary{position:static;}
}
@media(max-width:620px){
  .dcart-row{grid-template-columns:72px minmax(0,1fr);gap:14px;row-gap:12px;}
  .dcart-thumb{width:72px;height:72px;}
  .dcart-qty{grid-column:2;justify-self:start;}
  .dcart-price{grid-column:2;text-align:left;}
  .dcart-actions{flex-direction:column;align-items:stretch;}
  .dcart-coupon{flex:1 1 auto;}
}


/* ============================================================
   CARD PAYMENT FIELDS — clean, boxed, matching the site
   ============================================================ */
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method{
  padding:0;border:1.5px solid var(--line);border-radius:16px;overflow:hidden;
  background:var(--paper);margin:0 0 10px;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > label{
  display:flex;align-items:center;gap:10px;
  padding:15px 18px;margin:0;cursor:pointer;font-size:15px;font-weight:500;color:var(--ink);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"]{
  margin:0 0 0 18px;position:relative;top:1px;
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method > input[type="radio"]:checked + label{
  color:var(--ink);
}
.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked){
  border-color:var(--ink);
}
.woocommerce-checkout #payment div.payment_box{
  background:var(--surface) !important;margin:0 !important;border-radius:0 !important;
  padding:18px !important;font-size:13.5px;color:var(--grey);
}
.woocommerce-checkout #payment div.payment_box p:first-child{margin-top:0;}

/* Stripe element fields */
.woocommerce-checkout .wc-stripe-elements-field,
.woocommerce-checkout .wc-stripe-iban-element-field,
.woocommerce-checkout .StripeElement,
.woocommerce-checkout #wc-stripe-upe-element,
.woocommerce-checkout .wc-stripe-upe-element{
  background:var(--paper) !important;
  border:1.5px solid var(--line) !important;
  border-radius:12px !important;
  padding:14px 16px !important;
  margin:0 0 12px !important;
  box-shadow:none !important;
  transition:border-color .18s, box-shadow .18s;
}
.woocommerce-checkout .StripeElement--focus,
.woocommerce-checkout .wc-stripe-elements-field.focused{
  border-color:var(--peri) !important;
  box-shadow:0 0 0 3px rgba(40,88,255,.12) !important;
}
.woocommerce-checkout .StripeElement--invalid{border-color:#E1332D !important;}
.woocommerce-checkout .form-row.wc-stripe-card-number,
.woocommerce-checkout .form-row.wc-stripe-exp,
.woocommerce-checkout .form-row.wc-stripe-cvc{margin-bottom:0 !important;}
/* expiry + CVC side by side, like a real card form */
.woocommerce-checkout #stripe-card-element ~ .form-row,
.woocommerce-checkout .wc-stripe-elements-row{
  display:grid;grid-template-columns:1fr 1fr;gap:12px;
}
.woocommerce-checkout #payment .wc-stripe-card-icons,
.woocommerce-checkout #payment .payment_method_stripe img{
  max-height:20px;width:auto;margin-left:6px;
}
/* express buttons (Apple / Google Pay) */
.woocommerce-checkout #wc-stripe-payment-request-wrapper,
.woocommerce-checkout .wc-stripe-payment-request-wrapper{margin:0 0 14px;}
.woocommerce-checkout #wc-stripe-payment-request-button-separator{
  text-align:center;font-size:13px;color:var(--grey-3);margin:14px 0;
  display:flex;align-items:center;gap:12px;
}
.woocommerce-checkout #wc-stripe-payment-request-button-separator::before,
.woocommerce-checkout #wc-stripe-payment-request-button-separator::after{
  content:"";flex:1;height:1px;background:var(--line);
}


/* ============================================================
   CART — table layout, tinted summary panel (v2)
   ============================================================ */
.woocommerce-cart .wrap,
.woocommerce-checkout .wrap{max-width:1400px;}

.dcart{
  display:grid;grid-template-columns:minmax(0,1fr) 380px;gap:0;align-items:stretch;
  border:1.5px solid var(--line);border-radius:26px;overflow:hidden;background:var(--paper);
}
.dcart-main{padding:30px 34px 26px;min-width:0;}

.dcart-head{
  display:grid;grid-template-columns:minmax(0,1fr) 110px 132px 110px;gap:18px;
  padding:0 0 14px;border-bottom:1px solid var(--line);
  font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--grey-3);
}
.dcart-head span:not(:first-child){text-align:right;}
.dcart-head span:nth-child(3){text-align:center;}

.dcart-row{
  display:grid;grid-template-columns:minmax(0,1fr) 110px 132px 110px;gap:18px;
  align-items:center;padding:22px 0;border-bottom:1px solid var(--line);
  animation:dfade .45s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes dfade{from{opacity:0;transform:translateY(8px);}to{opacity:1;transform:none;}}
.dcart-row:nth-child(2){animation-delay:.04s;}
.dcart-row:nth-child(3){animation-delay:.08s;}
.dcart-row:nth-child(4){animation-delay:.12s;}

.dcart-product{display:flex;gap:18px;align-items:center;min-width:0;}
.dcart-thumb{
  position:relative;width:92px;height:92px;flex-shrink:0;
  background:var(--surface);border-radius:16px;display:grid;place-items:center;
  transition:background .25s;
}
.dcart-row:hover .dcart-thumb{background:var(--surface-3);}
.dcart-thumb img{max-width:80%;max-height:80%;width:auto;height:auto;object-fit:contain;}
.dcart-x{
  position:absolute;top:-7px;right:-7px;z-index:2;
  width:22px;height:22px;border-radius:50%;
  background:var(--paper);border:1.5px solid var(--line);color:var(--grey-3);
  display:grid;place-items:center;font-size:15px;line-height:1;
  text-decoration:none;transition:all .2s;
}
.dcart-x:hover{background:#E1332D;border-color:#E1332D;color:#fff;transform:scale(1.1);}
.dcart-info{min-width:0;}
.dcart-info h4{font-size:15.5px;font-weight:500;margin:0 0 4px;line-height:1.4;}
.dcart-info h4 a{color:var(--ink);text-decoration:none;transition:color .2s;}
.dcart-info h4 a:hover{color:var(--peri);}
.dcart-sku{display:block;font-size:12.5px;color:var(--grey-3);margin-bottom:7px;letter-spacing:.02em;}
.dcart-info .fi-badge{margin:0;font-size:11px;padding:4px 10px;}

.dcart-cell{font-size:15px;color:var(--ink);text-align:right;}
.dcart-unit{color:var(--grey);}
.dcart-total{font-weight:600;font-size:16.5px;white-space:nowrap;}

/* quantity stepper */
.dcart-qty{display:flex;justify-content:center;}
.dcart-qty .quantity{
  display:inline-flex;align-items:center;background:var(--surface);border-radius:99px;overflow:hidden;
}
.dcart-qty .quantity input.qty{
  width:44px;border:0 !important;background:none !important;text-align:center;
  font:inherit;font-size:15px;font-weight:500;color:var(--ink);padding:9px 0 !important;
  -moz-appearance:textfield;
}
.dcart-qty .quantity input.qty::-webkit-outer-spin-button,
.dcart-qty .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.dcart-qty .quantity .qty-btn{
  width:34px;height:38px;border:0;background:none;cursor:pointer;
  font-size:17px;color:var(--grey);display:grid;place-items:center;transition:color .15s;
}
.dcart-qty .quantity .qty-btn:hover{color:var(--ink);}

/* tools row */
.dcart-tools{display:flex;justify-content:space-between;align-items:flex-end;gap:20px;
  flex-wrap:wrap;padding-top:24px;}
.dcart-coupon label{
  display:block;font-size:11.5px;font-weight:500;letter-spacing:.08em;
  text-transform:uppercase;color:var(--grey-3);margin-bottom:9px;
}
.dcart-coupon-row{display:flex;gap:8px;}
.dcart-coupon input{
  width:220px;border:1.5px solid var(--line);border-radius:99px;
  padding:11px 18px;font:inherit;font-size:14px;background:var(--paper);
}
.dcart-coupon input:focus{outline:2px solid var(--peri);outline-offset:1px;}
.dcart-update{
  background:none;border:0;padding:11px 0;cursor:pointer;
  font:inherit;font-size:13.5px;color:var(--grey-3);text-decoration:underline;
  text-underline-offset:3px;transition:color .2s;
}
.dcart-update:hover{color:var(--ink);}
.dcart-update[disabled]{opacity:.4;cursor:default;}

/* ---- tinted summary panel ---- */
.dcart-side{background:var(--surface);position:relative;}
.dcart-panel{
  position:sticky;top:100px;padding:34px 32px;overflow:hidden;
}
.dcart-rule{display:block;width:64px;height:3px;background:var(--ink);border-radius:2px;margin-bottom:26px;}
.dcart-panel .cart_totals h2{display:none;}
.dcart-panel table.shop_table{width:100%;border:0 !important;border-collapse:collapse;margin:0;background:none;}
.dcart-panel table.shop_table th,
.dcart-panel table.shop_table td{
  border:0 !important;padding:9px 0;font-size:14px;vertical-align:top;background:none;
}
.dcart-panel table.shop_table th{
  font-weight:400;color:var(--grey);text-align:left;text-transform:none;letter-spacing:0;
}
.dcart-panel table.shop_table td{text-align:right;color:var(--ink);}
.dcart-panel .order-total th{
  font-size:11.5px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;
  color:var(--grey-3);padding-top:18px;
}
.dcart-panel .order-total td{
  padding-top:16px;font-size:27px;font-weight:600;color:var(--ink);letter-spacing:-.01em;
}
.dcart-panel .order-total small,
.dcart-panel small.includes_tax{
  display:block;font-size:12.5px;font-weight:400;color:var(--grey);margin-top:4px;
}
.dcart-panel #shipping_method{list-style:none;margin:0;padding:0;text-align:right;}
.dcart-panel #shipping_method li{margin:0 0 6px;font-size:13.5px;}
.dcart-panel .shipping-calculator-button{font-size:13px;color:var(--peri);}
.dcart-panel .wc-proceed-to-checkout{padding:24px 0 0;}
.dcart-panel .checkout-button{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  background:var(--ink) !important;color:var(--on-ink) !important;
  border-radius:99px !important;padding:17px 26px !important;
  font-size:15px !important;font-weight:500 !important;letter-spacing:.02em;
  text-decoration:none;transition:transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s;
}
.dcart-panel .checkout-button:hover{
  transform:translateY(-2px);box-shadow:0 12px 30px rgba(20,22,30,.22);color:var(--on-ink) !important;
}
.dcart-trust{display:grid;gap:9px;margin-top:22px;}
.dcart-trust span{
  display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--grey);line-height:1.4;
}
.dcart-trust svg{color:#2E9E68;flex-shrink:0;}
.dcart-mark{
  position:absolute;right:-26px;bottom:-30px;width:190px;height:190px;
  opacity:.05;pointer-events:none;color:var(--ink);
}
.dcart-mark svg{width:100%;height:100%;}

.woocommerce-cart .cart-empty{text-align:center;padding:70px 0 16px;font-size:18px;color:var(--grey);}
.woocommerce-cart .return-to-shop{text-align:center;padding-bottom:70px;}

@media(max-width:1000px){
  .dcart{grid-template-columns:1fr;}
  .dcart-panel{position:static;}
  .dcart-main{padding:24px 22px 22px;}
}
@media(max-width:700px){
  .dcart-head{display:none;}
  .dcart-row{grid-template-columns:1fr 1fr;row-gap:14px;padding:20px 0;}
  .dcart-product{grid-column:1 / -1;}
  .dcart-cell{text-align:left;}
  .dcart-cell::before{
    content:attr(data-label);display:block;font-size:11px;letter-spacing:.06em;
    text-transform:uppercase;color:var(--grey-3);margin-bottom:5px;
  }
  .dcart-qty{justify-content:flex-start;grid-column:1;}
  .dcart-total{grid-column:2;text-align:right;}
  .dcart-total::before{text-align:right;}
  .dcart-tools{flex-direction:column;align-items:stretch;}
  .dcart-coupon input{width:auto;flex:1;}
  .dcart-panel{padding:26px 22px;}
}


/* ============================================================
   PAYMENT CARD VISUAL — sits above the payment methods
   ============================================================ */
.paycard{margin:0 0 18px;}
.paycard-inner{perspective:900px;}
.paycard-face{
  position:relative;aspect-ratio:1.586 / 1;width:100%;
  border-radius:18px;padding:20px 22px;
  background:linear-gradient(135deg,#1b1d24 0%,#2a2f3d 46%,var(--peri) 140%);
  color:#fff;overflow:hidden;
  box-shadow:0 14px 34px rgba(20,22,30,.26);
  display:grid;grid-template-rows:auto 1fr auto;
  transform:rotateX(0deg) rotateY(0deg);
  transition:transform .5s cubic-bezier(.22,.61,.36,1), box-shadow .5s;
  animation:paycardIn .6s cubic-bezier(.22,.61,.36,1) both;
}
@keyframes paycardIn{from{opacity:0;transform:translateY(14px) rotateX(8deg);}to{opacity:1;transform:none;}}
.paycard-face::after{
  content:"";position:absolute;inset:0;
  background:radial-gradient(120% 90% at 12% 8%, rgba(255,255,255,.18), transparent 55%);
  pointer-events:none;
}
.paycard:hover .paycard-face{
  transform:rotateX(3deg) rotateY(-4deg) translateY(-3px);
  box-shadow:0 22px 46px rgba(20,22,30,.32);
}
.paycard-brand{position:relative;z-index:2;display:block;}
.paycard-brand svg{height:19px;width:auto;}
.paycard-brand svg path{fill:#fff;}
.paycard-chip{
  position:absolute;top:62px;left:22px;z-index:2;
  width:38px;height:29px;border-radius:6px;
  background:linear-gradient(135deg,#e8cd92,#c8a45f);
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);
}
.paycard-chip::before,.paycard-chip::after{
  content:"";position:absolute;left:5px;right:5px;height:1px;background:rgba(0,0,0,.18);
}
.paycard-chip::before{top:10px;} .paycard-chip::after{top:19px;}
.paycard-wave{position:absolute;top:66px;left:70px;z-index:2;color:rgba(255,255,255,.75);}
.paycard-num{
  position:relative;z-index:2;align-self:end;
  display:flex;gap:14px;margin-bottom:4px;
}
.paycard-num i{display:flex;gap:5px;}
.paycard-num i::before{
  content:"••••";letter-spacing:2px;font-style:normal;
  font-size:15px;color:rgba(255,255,255,.82);
}
.paycard-num i:last-child::before{content:"1234";letter-spacing:1px;color:var(--on-ink);}
.paycard-foot{
  position:relative;z-index:2;display:flex;justify-content:space-between;align-items:flex-end;
}
.paycard-foot b{font-size:12px;font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.9);}
.paycard-foot em{
  font-style:normal;font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;
  color:rgba(255,255,255,.6);border:1px solid rgba(255,255,255,.3);
  border-radius:99px;padding:3px 9px;
}
.paycard-note{
  display:flex;align-items:flex-start;gap:8px;
  margin:12px 0 0;font-size:12.5px;line-height:1.5;color:var(--grey);
}
.paycard-note svg{color:#2E9E68;flex-shrink:0;margin-top:1px;}

/* subtle entrance for the checkout panels */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout #order_review{
  animation:dfade .5s cubic-bezier(.22,.61,.36,1) both;
}
.woocommerce-checkout #order_review{animation-delay:.06s;}
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout form.checkout > [class*="econt"],
.woocommerce-checkout form.checkout > [id*="econt"]{
  transition:border-color .25s ease-in-out, box-shadow .25s ease-in-out;
}
.woocommerce-checkout .woocommerce-billing-fields:hover,
.woocommerce-checkout .woocommerce-shipping-fields:hover,
.woocommerce-checkout .woocommerce-additional-fields:hover{
  border-color:#d9dde6;
}
@media(prefers-reduced-motion:reduce){
  .dcart-row,.paycard-face,
  .woocommerce-checkout .woocommerce-billing-fields,
  .woocommerce-checkout #order_review{animation:none !important;}
}


/* cart overflow fixes at narrow widths */
.dcart-side{overflow:hidden;}
.dcart-panel{overflow:hidden;}
.dcart-mark{right:-20px;bottom:-24px;width:160px;height:160px;max-width:60%;}
@media(max-width:1000px){
  .dcart-mark{display:none;}
}
@media(max-width:700px){
  .dcart-coupon{min-width:0;width:100%;}
  .dcart-coupon-row{flex-wrap:wrap;}
  .dcart-coupon input{width:100%;min-width:0;flex:1 1 100%;}
  .dcart-coupon-row .btn{width:100%;}
  .dcart-tools{align-items:stretch;}
}

@media(max-width:400px){
  .dcart-product{flex-wrap:wrap;gap:12px;}
  .dcart-thumb{width:64px;height:64px;}
  .dcart-info{flex:1 1 100%;min-width:0;}
  .dcart-info h4{font-size:14.5px;overflow-wrap:anywhere;}
  .dcart-main{padding:20px 16px 18px;}
  .dcart-panel{padding:22px 16px;}
}

/* grid children must be allowed to shrink below their content width */
.dcart-row > *,.dcart-product,.dcart-info,.dcart-cell,
.woocommerce-checkout form.checkout > *,
.woocommerce-checkout .form-row,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > *{min-width:0;}
.dcart-info h4,.dcart-info h4 a,.dcart-sku{overflow-wrap:anywhere;}
@media(max-width:400px){
  .dcart-row{grid-template-columns:minmax(0,1fr) minmax(0,auto);}
  .dcart-main{padding:18px 14px 16px;}
  .dcart-panel{padding:20px 14px;}
  .wrap{padding-left:12px;padding-right:12px;}
}

@media(max-width:400px){
  .woocommerce-checkout #order_review table.shop_table{table-layout:fixed;width:100% !important;}
  .woocommerce-checkout #order_review table.shop_table td,
  .woocommerce-checkout #order_review table.shop_table th{
    word-break:break-word;overflow-wrap:anywhere;font-size:13.5px;padding:11px 0;
  }
  .woocommerce-checkout #order_review table.shop_table .product-name{padding-right:8px;}
  .woocommerce-checkout #order_review{padding:18px 14px;}
  .paycard-face{padding:16px 18px;}
  .paycard-num i::before{font-size:13px;}
}

/* shipping method labels must wrap on narrow screens */
.woocommerce-checkout #order_review #shipping_method{width:100%;}
.woocommerce-checkout #order_review #shipping_method li{
  flex-wrap:wrap;min-width:0;
}
.woocommerce-checkout #order_review #shipping_method label{
  min-width:0;overflow-wrap:anywhere;white-space:normal;flex:1;
}
.woocommerce-checkout #order_review table.shop_table td{max-width:100%;}


/* ============================================================
   CART v3 — the 4-column table only when there is genuinely
   room for it; never let the product column collapse.
   ============================================================ */
.dcart{grid-template-columns:minmax(0,1fr) 340px;}

.dcart-head,
.dcart-row{
  grid-template-columns:minmax(240px,1fr) 100px 118px 104px;
  gap:16px;
}
/* titles wrap on word boundaries, never per character */
.dcart-info h4,.dcart-info h4 a{
  overflow-wrap:break-word;word-break:normal;hyphens:none;
}
.dcart-sku{overflow-wrap:break-word;word-break:normal;}

/* below this the table cannot hold four columns — stack instead */
@media(max-width:1240px){
  .dcart{grid-template-columns:1fr;}
  .dcart-side{border-top:1.5px solid var(--line);}
  .dcart-panel{position:static;}
  .dcart-mark{display:none;}
}
@media(max-width:820px){
  .dcart-head{display:none;}
  .dcart-row{
    grid-template-columns:minmax(0,1fr) minmax(0,auto);
    row-gap:14px;padding:20px 0;
  }
  .dcart-product{grid-column:1 / -1;}
  .dcart-cell{text-align:left;}
  .dcart-cell::before{
    content:attr(data-label);display:block;font-size:10.5px;letter-spacing:.07em;
    text-transform:uppercase;color:var(--grey-3);margin-bottom:5px;
  }
  .dcart-unit{grid-column:1;}
  .dcart-qty{grid-column:1;justify-content:flex-start;}
  .dcart-total{grid-column:2;text-align:right;}
  .dcart-total::before{text-align:right;}
}

/* ============================================================
   BILLING DETAILS — richer, stepped, less "default WooCommerce"
   ============================================================ */
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-shipping-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-checkout form.checkout > [class*="econt"],
.woocommerce-checkout form.checkout > [id*="econt"]{
  position:relative;
  background:var(--paper);border:1.5px solid var(--line);border-radius:22px;
  padding:28px 30px;margin:0 0 18px;
}
.woocommerce-checkout .woocommerce-billing-fields h3,
.woocommerce-checkout .woocommerce-shipping-fields h3,
.woocommerce-checkout .woocommerce-additional-fields h3,
.woocommerce-checkout form.checkout > [class*="econt"] h3{
  display:flex;align-items:center;gap:12px;
  font-size:17px;font-weight:600;color:var(--ink);
  margin:0 0 22px;padding:0 0 18px;border-bottom:1px solid var(--line);
}
/* numbered step markers */
.woocommerce-checkout .woocommerce-billing-fields h3::before{content:"1";}
.woocommerce-checkout form.checkout > [class*="econt"] h3::before,
.woocommerce-checkout form.checkout > [id*="econt"] h3::before{content:"2";}
.woocommerce-checkout .woocommerce-additional-fields h3::before{content:"3";}
.woocommerce-checkout .woocommerce-billing-fields h3::before,
.woocommerce-checkout .woocommerce-shipping-fields h3::before,
.woocommerce-checkout .woocommerce-additional-fields h3::before,
.woocommerce-checkout form.checkout > [class*="econt"] h3::before,
.woocommerce-checkout form.checkout > [id*="econt"] h3::before{
  flex-shrink:0;width:28px;height:28px;border-radius:50%;
  background:var(--ink);color:var(--on-ink);
  display:grid;place-items:center;
  font-size:13px;font-weight:600;
}

/* fields: soft filled inputs that lift on focus */
.woocommerce-checkout .form-row label{
  font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--grey);
  margin:0 0 7px;
}
.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row textarea,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single,
.woocommerce-checkout [class*="econt"] input[type="text"],
.woocommerce-checkout [class*="econt"] input[type="tel"],
.woocommerce-checkout [class*="econt"] input[type="email"],
.woocommerce-checkout [class*="econt"] select{
  background:var(--surface-2) !important;
  border:1.5px solid #ececf3 !important;
  border-radius:13px !important;
  transition:background .18s, border-color .18s, box-shadow .18s;
}
.woocommerce-checkout .form-row input.input-text:hover,
.woocommerce-checkout .form-row select:hover,
.woocommerce-checkout [class*="econt"] input:hover{
  border-color:#dfe3ec !important;
}
.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row textarea:focus,
.woocommerce-checkout .form-row select:focus,
.woocommerce-checkout [class*="econt"] input:focus,
.woocommerce-checkout [class*="econt"] select:focus{
  background:var(--paper) !important;
  border-color:var(--peri) !important;
  box-shadow:0 0 0 3px rgba(40,88,255,.11) !important;
  outline:none !important;
}
.woocommerce-checkout .form-row.woocommerce-invalid input.input-text{
  border-color:#E1332D !important;background:#fff6f5 !important;
}
.woocommerce-checkout .form-row.woocommerce-validated input.input-text{
  border-color:#cfe8da !important;
}
.woocommerce-checkout .form-row .required{
  color:#E1332D;text-decoration:none;border:0;margin-left:2px;
}

/* express-pay area gets a proper frame instead of floating buttons */
.woocommerce-checkout #wc-stripe-payment-request-wrapper,
.woocommerce-checkout .wc-stripe-payment-request-wrapper{
  background:var(--paper);border:1.5px solid var(--line);border-radius:22px;
  padding:22px 24px;margin:0 0 18px;
}
.woocommerce-checkout #wc-stripe-payment-request-button-separator{
  margin:0 0 18px !important;
}


/* ============================================================
   PAGE WIDTH — WooCommerce pages use the full container.
   (page.php previously wrapped everything in max-width:74ch,
   which pinned cart and checkout to ~835px.)
   ============================================================ */
.page-wide{max-width:none !important;width:100%;}
.page-wide > .woocommerce{width:100%;}
.prose-measure{max-width:74ch;}
.woocommerce-cart .page-wide,
.woocommerce-checkout .page-wide,
.woocommerce-account .page-wide{max-width:none !important;}
/* belt and braces: never let a reading measure constrain these */
.woocommerce-cart .lead,
.woocommerce-checkout .lead,
.woocommerce-account .lead{max-width:none !important;}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{width:100%;max-width:none;}


/* ============================================================
   CART SUMMARY PANEL — contain everything, no spill
   ============================================================ */
.dcart-side,
.dcart-panel,
.dcart-panel .cart-collaterals,
.dcart-panel .cart_totals{
  min-width:0;max-width:100%;box-sizing:border-box;overflow:hidden;
}
.dcart-panel .cart_totals{background:none !important;border:0 !important;padding:0 !important;}
.dcart-panel table.shop_table{
  table-layout:fixed;width:100% !important;max-width:100% !important;
}
.dcart-panel table.shop_table th{width:46%;}
.dcart-panel table.shop_table td{width:54%;}
.dcart-panel table.shop_table th,
.dcart-panel table.shop_table td{
  overflow-wrap:break-word;word-break:normal;
}
/* shipping choices stack cleanly inside the narrow column */
.dcart-panel #shipping_method{width:100%;}
.dcart-panel #shipping_method li{
  display:flex;align-items:flex-start;gap:8px;justify-content:flex-end;
  text-align:right;flex-wrap:wrap;
}
.dcart-panel #shipping_method li label{min-width:0;overflow-wrap:break-word;}
.dcart-panel #shipping_method .amount{white-space:nowrap;}
.dcart-panel .woocommerce-shipping-destination{
  font-size:12.5px;color:var(--grey);line-height:1.5;margin-top:6px;
}
.dcart-panel .shipping-calculator-button{white-space:normal;}

/* express-pay buttons must fit the panel */
.dcart-panel .wc-stripe-payment-request-wrapper,
.dcart-panel #wc-stripe-payment-request-wrapper,
.dcart-panel .wc-proceed-to-checkout > div,
.dcart-panel .wc-proceed-to-checkout iframe{
  width:100% !important;max-width:100% !important;box-sizing:border-box;margin:0 0 10px;
}
.dcart-panel .wc-stripe-payment-request-wrapper button,
.dcart-panel #wc-stripe-payment-request-button{
  width:100% !important;max-width:100% !important;border-radius:99px !important;
  min-height:50px;
}
.dcart-panel #wc-stripe-payment-request-button-separator{
  display:flex;align-items:center;gap:12px;
  font-size:12px;color:var(--grey-3);margin:14px 0 !important;text-align:center;
}
.dcart-panel #wc-stripe-payment-request-button-separator::before,
.dcart-panel #wc-stripe-payment-request-button-separator::after{
  content:"";flex:1;height:1px;background:#e0e0ea;
}
/* the proceed button keeps its shape whatever sits around it */
.dcart-panel .checkout-button{
  width:100% !important;max-width:100% !important;box-sizing:border-box;
  white-space:nowrap;
}

/* the checkout card visual must not clip its own content */
.paycard-face{
  aspect-ratio:auto;min-height:0;height:auto;
  padding:18px 20px 16px;row-gap:14px;
}
.paycard-num{margin-bottom:0;}
.paycard-chip{position:static;margin:2px 0 0;}
.paycard-wave{position:static;}
.paycard-face{grid-template-rows:auto auto 1fr auto;}
.paycard-chiprow{display:flex;align-items:center;gap:10px;}

/* shipping options: radio and label stay on one line, right aligned */
.dcart-panel #shipping_method li{
  display:flex;flex-wrap:nowrap;align-items:flex-start;gap:8px;
  justify-content:flex-end;margin:0 0 8px;
}
.dcart-panel #shipping_method li input[type="radio"]{
  order:2;flex:0 0 auto;margin:3px 0 0;
}
.dcart-panel #shipping_method li label{
  order:1;flex:0 1 auto;text-align:right;line-height:1.4;font-size:13.5px;
}
.dcart-panel .woocommerce-shipping-destination{text-align:right;}
.dcart-panel .shipping-calculator-button{display:inline-block;text-align:right;font-size:13px;}
/* express-pay separator above the wallet button, not below */
.dcart-panel .wc-proceed-to-checkout{display:flex;flex-direction:column;gap:0;}
.dcart-panel .wc-proceed-to-checkout > .checkout-button{order:1;}
.dcart-panel #wc-stripe-payment-request-button-separator{order:2;}
.dcart-panel #wc-stripe-payment-request-wrapper{order:3;margin-bottom:0 !important;}

/* order summary: no inherited zebra/grey banding on header cells */
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review table.shop_table tr,
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td,
.woocommerce-checkout #order_review table.shop_table tbody,
.woocommerce-checkout #order_review table.shop_table tfoot{
  background:none !important;background-color:transparent !important;
}
.woocommerce-checkout #order_review table.shop_table tfoot th{
  text-align:left;padding-right:10px;
}
.woocommerce-checkout #order_review table.shop_table{table-layout:auto;}
.woocommerce-checkout #order_review table.shop_table .product-name{
  width:58%;overflow-wrap:break-word;word-break:normal;
}
/* give the summary a touch more room on wide screens */
@media(min-width:1300px){
  .woocommerce-checkout form.checkout.woocommerce-checkout{
    grid-template-columns:minmax(0,1fr) 440px !important;gap:0 40px !important;
  }
}


/* ============================================================
   CART SUMMARY v4 — the totals stop being a table.
   A table cannot lay out reliably in a narrow column; flex rows
   keep every label on one line and every amount right-aligned.
   ============================================================ */
.dcart{grid-template-columns:minmax(0,1fr) 380px;}
.dcart-panel{padding:32px 28px;}

.dcart-panel table.shop_table,
.dcart-panel table.shop_table tbody,
.dcart-panel table.shop_table tfoot{
  display:block !important;width:100% !important;border:0 !important;
}
.dcart-panel table.shop_table tr{
  display:flex !important;align-items:baseline;justify-content:space-between;
  gap:14px;width:100%;
  padding:11px 0 !important;border-bottom:1px solid #e2e2ec !important;
}
.dcart-panel table.shop_table tr:last-child{border-bottom:0 !important;}
.dcart-panel table.shop_table th{
  display:block !important;width:auto !important;flex:0 0 auto;
  padding:0 !important;border:0 !important;background:none !important;
  font-size:14px;font-weight:400;color:var(--grey);text-align:left !important;
  white-space:nowrap;                 /* never break "Subtotal" */
  text-transform:none;letter-spacing:0;
}
.dcart-panel table.shop_table td{
  display:block !important;width:auto !important;flex:1 1 auto;min-width:0;
  padding:0 !important;border:0 !important;background:none !important;
  font-size:14px;color:var(--ink);text-align:right !important;
}
.dcart-panel table.shop_table td .amount,
.dcart-panel table.shop_table td bdi,
.dcart-panel table.shop_table td strong{white-space:nowrap;}
.dcart-panel small.includes_tax,
.dcart-panel .includes_tax{
  display:block;font-size:12px;font-weight:400;color:var(--grey-3);margin-top:3px;
  white-space:normal;line-height:1.4;
}

/* total row reads as the headline figure */
.dcart-panel tr.order-total{
  padding-top:16px !important;border-bottom:0 !important;
  align-items:flex-start;
}
.dcart-panel tr.order-total th{
  font-size:11.5px;font-weight:500;letter-spacing:.07em;text-transform:uppercase;
  color:var(--grey-3);padding-top:7px !important;
}
.dcart-panel tr.order-total td{
  font-size:25px;font-weight:600;color:var(--ink);letter-spacing:-.01em;line-height:1.15;
}

/* shipping options: full-width stacked choices, radio first */
.dcart-panel tr.shipping{flex-wrap:wrap;}
.dcart-panel tr.shipping th{flex:0 0 100%;margin-bottom:9px;}
.dcart-panel tr.shipping td{flex:0 0 100%;text-align:left !important;}
.dcart-panel #shipping_method{
  display:grid;gap:7px;width:100%;margin:0;padding:0;list-style:none;text-align:left;
}
.dcart-panel #shipping_method li{
  display:flex !important;flex-wrap:nowrap;align-items:center;gap:9px;
  justify-content:flex-start !important;margin:0;
  background:var(--paper);border:1.5px solid var(--line);border-radius:12px;padding:10px 13px;
  transition:border-color .18s;
}
.dcart-panel #shipping_method li:hover{border-color:var(--line-2);}
.dcart-panel #shipping_method li:has(input:checked){border-color:var(--ink);}
.dcart-panel #shipping_method li input[type="radio"]{order:0;flex:0 0 auto;margin:0;}
.dcart-panel #shipping_method li label{
  order:1;flex:1 1 auto;margin:0;text-align:left !important;
  font-size:13.5px;line-height:1.35;color:var(--ink);
}
.dcart-panel .woocommerce-shipping-destination{
  text-align:left;font-size:12.5px;color:var(--grey);margin:9px 0 0;line-height:1.45;
}
.dcart-panel .shipping-calculator-button{
  display:inline-block;text-align:left;font-size:13px;color:var(--peri);margin-top:4px;
}

/* actions: everything full width, nothing clipped */
.dcart-panel .wc-proceed-to-checkout{
  display:flex;flex-direction:column;width:100%;padding:20px 0 0;gap:0;
}
.dcart-panel .checkout-button{
  order:1;width:100% !important;box-sizing:border-box;
  padding:16px 18px !important;font-size:15px !important;
  white-space:normal;text-align:center;line-height:1.25;
}
.dcart-panel #wc-stripe-payment-request-button-separator{order:2;margin:14px 0 !important;}
.dcart-panel #wc-stripe-payment-request-wrapper,
.dcart-panel .wc-stripe-payment-request-wrapper{
  order:3;width:100% !important;max-width:100% !important;margin:0 !important;
}
.dcart-panel #wc-stripe-payment-request-wrapper > *,
.dcart-panel #wc-stripe-payment-request-button,
.dcart-panel .wc-stripe-payment-request-wrapper button,
.dcart-panel .gpay-card-info-container,
.dcart-panel .apple-pay-button{
  width:100% !important;max-width:100% !important;min-width:0 !important;
  border-radius:99px !important;min-height:50px;box-sizing:border-box;
}
.dcart-trust{margin-top:24px;}

@media(max-width:1240px){
  .dcart{grid-template-columns:1fr;}
}


/* ============================================================
   CART SUMMARY — override WooCommerce's own float/width defaults.
   Core sets .cart-collaterals .cart_totals { float:right; width:48% }
   which squeezed the panel contents into half the column.
   ============================================================ */
.dcart-panel .cart-collaterals,
.dcart-panel .cart-collaterals .cart_totals,
.dcart-panel .cart_totals,
.dcart-panel .cross-sells{
  float:none !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  border:0 !important;
  box-sizing:border-box;
}
.dcart-panel .cross-sells{display:none !important;}

/* totals table: let the label column size to its text, value takes the rest */
.dcart-panel table.shop_table{
  table-layout:auto !important;
  width:100% !important;max-width:100% !important;
  border-collapse:collapse;margin:0;
}
.dcart-panel table.shop_table th{
  width:auto !important;white-space:nowrap;
  text-align:left;font-weight:400;color:var(--grey);font-size:13.5px;
  padding:11px 12px 11px 0;vertical-align:top;border:0;
  border-bottom:1px solid var(--line);
}
.dcart-panel table.shop_table td{
  width:auto !important;text-align:right;color:var(--ink);font-size:14px;
  padding:11px 0;vertical-align:top;border:0;
  border-bottom:1px solid var(--line);
}
.dcart-panel table.shop_table tr:last-child th,
.dcart-panel table.shop_table tr:last-child td{border-bottom:0;}
.dcart-panel .order-total th{
  font-size:12px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--grey-3);padding-top:18px;white-space:normal;
}
.dcart-panel .order-total td{
  padding-top:18px;font-size:24px;font-weight:600;color:var(--ink);
  letter-spacing:-.01em;line-height:1.15;
}
.dcart-panel .order-total td .includes_tax,
.dcart-panel .order-total td small,
.dcart-panel small.includes_tax{
  display:block;font-size:12px;font-weight:400;color:var(--grey);
  margin-top:5px;line-height:1.45;white-space:normal;
}
.dcart-panel .cart-subtotal td small,
.dcart-panel .cart-subtotal .includes_tax{
  display:block;font-size:12px;color:var(--grey-3);margin-top:2px;
}

/* shipping block */
.dcart-panel .woocommerce-shipping-totals td{padding-top:11px;}
.dcart-panel #shipping_method{
  list-style:none;margin:0;padding:0;width:100%;display:grid;gap:7px;
}
.dcart-panel #shipping_method li{
  display:grid;grid-template-columns:1fr auto;gap:9px;align-items:start;
  margin:0;text-align:right;
}
.dcart-panel #shipping_method li label{
  order:1;margin:0;font-size:13.5px;line-height:1.4;color:var(--ink);
  text-align:right;white-space:normal;overflow-wrap:break-word;
}
.dcart-panel #shipping_method li input[type="radio"]{
  order:2;margin:3px 0 0;flex:0 0 auto;
}
.dcart-panel .woocommerce-shipping-destination{
  font-size:12.5px;color:var(--grey-3);margin:8px 0 0;line-height:1.5;text-align:right;
}
.dcart-panel .shipping-calculator-button{
  display:inline-block;margin-top:4px;font-size:12.5px;color:var(--peri);
  text-align:right;white-space:nowrap;
}
.dcart-panel .shipping-calculator-form{margin-top:10px;text-align:left;}

/* actions: everything full width, nothing spills */
.dcart-panel .wc-proceed-to-checkout,
.dcart-panel .wc-proceed-to-checkout > *{
  width:100% !important;max-width:100% !important;box-sizing:border-box;float:none !important;
}
.dcart-panel .wc-proceed-to-checkout{
  display:flex;flex-direction:column;gap:10px;padding:22px 0 0 !important;margin:0 !important;
}
.dcart-panel .checkout-button{
  order:1;display:flex;align-items:center;justify-content:center;
  width:100% !important;margin:0 !important;padding:16px 20px !important;
  font-size:15px !important;white-space:nowrap;
}
.dcart-panel #wc-stripe-payment-request-button-separator{order:2;margin:2px 0 !important;}
.dcart-panel #wc-stripe-payment-request-wrapper,
.dcart-panel .wc-stripe-payment-request-wrapper{
  order:3;width:100% !important;margin:0 !important;padding:0 !important;background:none;border:0;
}
.dcart-panel #wc-stripe-payment-request-wrapper button,
.dcart-panel #wc-stripe-payment-request-button,
.dcart-panel .apple-pay-button,
.dcart-panel .gpay-button{
  width:100% !important;max-width:100% !important;min-height:48px;
  border-radius:99px !important;
}

/* shipping options as selectable cards — deliberate, not inherited */
.dcart-panel #shipping_method{display:grid;gap:8px;}
.dcart-panel #shipping_method li{
  display:flex;align-items:center;gap:10px;justify-content:space-between;
  background:var(--paper);border:1.5px solid var(--line);border-radius:13px;
  padding:12px 14px;margin:0;cursor:pointer;
  transition:border-color .18s, box-shadow .18s;
}
.dcart-panel #shipping_method li:hover{border-color:var(--line-2);}
.dcart-panel #shipping_method li:has(input:checked){
  border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset;
}
.dcart-panel #shipping_method li label{
  order:1;flex:1;margin:0;text-align:left;font-size:13.5px;line-height:1.35;
  color:var(--ink);cursor:pointer;
}
.dcart-panel #shipping_method li input[type="radio"]{
  order:2;margin:0;flex:0 0 auto;accent-color:var(--ink);
}
.dcart-panel .woocommerce-shipping-totals th{padding-bottom:8px;}


/* ============================================================
   LANGUAGE SWITCHER
   ============================================================ */
.langsw{
  display:inline-flex;align-items:center;
  background:var(--surface);border-radius:99px;padding:3px;flex-shrink:0;
}
.langsw-opt{
  display:block;padding:6px 12px;border-radius:99px;
  font-size:12.5px;font-weight:500;letter-spacing:.02em;
  color:var(--grey);text-decoration:none;line-height:1;
  transition:background .2s, color .2s;
}
.langsw-opt:hover{color:var(--ink);}
.langsw-opt.on{background:var(--ink);color:var(--on-ink);}
@media(max-width:1280px){ .langsw{margin-left:auto;} }
@media(max-width:1000px){ .langsw{order:-1;} }

/* ============================================================
   ADD-TO-CART MODAL
   ============================================================ */
.atc{position:fixed;inset:0;z-index:400;display:grid;place-items:center;padding:20px;}
.atc[hidden]{display:none;}
.atc-backdrop{
  position:absolute;inset:0;background:rgba(20,22,30,.42);
  backdrop-filter:blur(2px);opacity:0;transition:opacity .26s ease-in-out;
}
.atc.on .atc-backdrop{opacity:1;}
.atc-box{
  position:relative;z-index:2;width:min(430px,100%);
  background:var(--paper);border-radius:26px;padding:34px 32px 28px;
  box-shadow:0 26px 70px rgba(20,22,30,.26);
  text-align:center;
  opacity:0;transform:translateY(14px) scale(.97);
  transition:opacity .28s cubic-bezier(.22,.61,.36,1), transform .28s cubic-bezier(.22,.61,.36,1);
}
.atc.on .atc-box{opacity:1;transform:none;}
.atc-x{
  position:absolute;top:16px;right:18px;width:30px;height:30px;
  border:0;background:none;cursor:pointer;color:var(--grey-3);
  font-size:24px;line-height:1;border-radius:50%;transition:color .2s, background .2s;
}
.atc-x:hover{color:var(--ink);background:var(--surface);}
.atc-tick{
  display:grid;place-items:center;width:58px;height:58px;margin:0 auto 16px;
  border-radius:50%;background:rgba(46,158,104,.12);color:#2E9E68;
  animation:atcPop .42s cubic-bezier(.22,1.2,.4,1) both;
}
@keyframes atcPop{from{transform:scale(.5);opacity:0;}to{transform:none;opacity:1;}}
.atc-box h3{font-size:21px;font-weight:600;color:var(--ink);margin:0 0 18px;line-height:1.25;}
.atc-item{
  display:flex;align-items:center;gap:14px;text-align:left;
  background:var(--surface);border-radius:16px;padding:12px 14px;margin:0 0 22px;
}
.atc-thumb{
  width:52px;height:52px;flex-shrink:0;background:var(--paper);border-radius:12px;
  display:grid;place-items:center;overflow:hidden;
}
.atc-thumb img{max-width:82%;max-height:82%;object-fit:contain;}
.atc-name{font-size:14.5px;line-height:1.4;color:var(--ink);min-width:0;overflow-wrap:break-word;}
.atc-item:has(.atc-name:empty){display:none;}
.atc-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.atc-actions .btn{width:100%;justify-content:center;padding:13px 16px;font-size:14.5px;}
.atc-checkout{
  display:inline-block;font-size:13.5px;color:var(--peri);text-decoration:none;
  transition:opacity .2s;
}
.atc-checkout:hover{opacity:.75;}
@media(max-width:480px){
  .atc-box{padding:28px 22px 24px;border-radius:22px;}
  .atc-actions{grid-template-columns:1fr;}
}
@media(prefers-reduced-motion:reduce){
  .atc-box,.atc-backdrop,.atc-tick{transition:none !important;animation:none !important;}
}


/* ============================================================
   TOAST — non-blocking "added to cart" confirmation
   ============================================================ */
.atc{display:none !important;}   /* superseded by the toast */

.toast{
  position:fixed;right:22px;bottom:22px;z-index:400;
  display:flex;align-items:center;gap:13px;
  background:var(--ink);color:var(--on-ink);
  border-radius:16px;padding:15px 16px 15px 18px;
  box-shadow:0 16px 44px rgba(20,22,30,.30);
  max-width:min(400px,calc(100vw - 44px));
  opacity:0;transform:translateY(14px);
  transition:opacity .3s cubic-bezier(.22,.61,.36,1), transform .3s cubic-bezier(.22,.61,.36,1);
}
.toast[hidden]{display:none;}
.toast.on{opacity:1;transform:none;}
.toast-tick{
  flex-shrink:0;display:grid;place-items:center;width:32px;height:32px;
  border-radius:50%;background:rgba(46,158,104,.22);color:#4ade9a;
}
.toast-body{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1;}
.toast-body b{font-size:14.5px;font-weight:500;line-height:1.3;}
.toast-name{
  font-style:normal;font-size:12.5px;color:rgba(255,255,255,.62);
  line-height:1.35;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.toast-name:empty{display:none;}
.toast-link{
  flex-shrink:0;font-size:13px;font-weight:500;color:var(--on-ink);text-decoration:none;
  border-bottom:1px solid rgba(255,255,255,.4);padding-bottom:1px;white-space:nowrap;
  transition:border-color .2s;
}
.toast-link:hover{border-color:#fff;color:var(--on-ink);}
.toast-x{
  flex-shrink:0;background:none;border:0;cursor:pointer;
  color:rgba(255,255,255,.5);font-size:20px;line-height:1;padding:0 2px;
  transition:color .2s;
}
.toast-x:hover{color:var(--on-ink);}
@media(max-width:520px){
  .toast{left:16px;right:16px;bottom:16px;max-width:none;padding:14px;}
  .toast-link{display:none;}
}
@media(prefers-reduced-motion:reduce){ .toast{transition:none;} }

/* ============================================================
   BUY NOW
   ============================================================ */
.btn-buynow{
  display:block;width:100%;margin-top:10px;
  background:var(--peri) !important;color:#fff !important;
  border:0 !important;border-radius:99px !important;
  padding:15px 26px !important;font-size:15px !important;font-weight:500 !important;
  cursor:pointer;transition:opacity .2s, transform .2s, box-shadow .2s;
}
.btn-buynow:hover{
  opacity:.95;transform:translateY(-1px);box-shadow:0 10px 26px rgba(40,88,255,.30);
}
/* product cards: stacked buy + buy-now */
.pcard-buy{display:grid;gap:8px;}
.btn-buynow-sm{
  display:flex;align-items:center;justify-content:center;width:100%;
  background:var(--peri);color:#fff;border-radius:99px;
  padding:11px 18px;font-size:14px;font-weight:500;text-decoration:none;
  transition:opacity .2s, transform .2s;
}
.btn-buynow-sm:hover{opacity:.95;transform:translateY(-1px);color:var(--on-ink);}
/* keep the add-to-cart row tidy on the product page */
.woocommerce div.product form.cart{display:block;}
.woocommerce div.product form.cart .quantity{margin-bottom:10px;}


/* ---- QR landing page ---- */
.qrland{padding-top:26px;}
.qrland-head{text-align:center;max-width:56ch;margin:0 auto 34px;}
.qrland-kicker{
  display:inline-block;background:#E1332D;color:#fff;border-radius:99px;
  padding:6px 16px;font-size:12px;font-weight:600;letter-spacing:.08em;
  text-transform:uppercase;margin-bottom:16px;
}
.qrland-head h1{font-size:40px;line-height:1.12;font-weight:600;margin:0 0 12px;color:var(--ink);}
.qrland-head p{font-size:16.5px;line-height:1.6;color:var(--grey);margin:0 0 20px;}
.qrland-usp{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;}
.qrland-usp span{display:flex;align-items:center;gap:7px;font-size:13.5px;color:var(--ink);}
.qrland-usp svg{color:#2E9E68;}
.qrland-grid{margin-bottom:10px;}
@media(max-width:700px){
  .qrland-head h1{font-size:28px;}
  .qrland-head p{font-size:15px;}
  .qrland-usp{gap:12px;}
  .qrland-usp span{font-size:12.5px;}
}


/* ============================================================
   VARIABLE PRODUCTS — area options as selectable pills
   ============================================================ */
.woocommerce div.product form.variations_form table.variations{
  width:100%;margin:0 0 18px;border:0;background:none;
}
.woocommerce div.product form.variations_form table.variations tr,
.woocommerce div.product form.variations_form table.variations td,
.woocommerce div.product form.variations_form table.variations th{
  display:block;width:100%;border:0;padding:0;background:none;
}
.woocommerce div.product form.variations_form table.variations th.label label{
  display:block;font-size:12.5px;font-weight:500;letter-spacing:.02em;
  color:var(--grey);margin:0 0 10px;
}
/* hide the native select once pills are rendered */
.daichi-pills-active .variations select{
  position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;
}
.daichi-pills-active .variations .reset_variations{display:none !important;}
.vpills{display:flex;flex-wrap:wrap;gap:9px;margin:0 0 6px;}
.vpill{
  display:inline-flex;flex-direction:column;align-items:center;justify-content:center;
  min-width:76px;padding:11px 16px;
  border:1.5px solid var(--line);border-radius:14px;background:var(--paper);
  cursor:pointer;transition:border-color .18s, box-shadow .18s, transform .18s;
  font:inherit;line-height:1.15;
}
.vpill b{font-size:16px;font-weight:600;color:var(--ink);}
.vpill span{font-size:11px;color:var(--grey-3);margin-top:3px;}
.vpill:hover{border-color:var(--line-2);transform:translateY(-1px);}
.vpill.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset;}
.vpill.out{opacity:.45;cursor:not-allowed;background:var(--surface-2);}
.vpill.out b{color:var(--grey-3);}
.vpill.out::after{
  content:"няма";display:block;font-size:9.5px;letter-spacing:.04em;
  text-transform:uppercase;color:#B9925A;margin-top:2px;
}
.vpill.out:hover{transform:none;border-color:var(--line);}
.woocommerce div.product .woocommerce-variation-price{margin:0 0 12px;}
.woocommerce div.product .woocommerce-variation-availability p{
  margin:0 0 12px;font-size:13.5px;color:var(--grey);
}


/* ============================================================
   SIZE SWITCHER — links between sibling listings
   ============================================================ */
.sizesw{margin:0 0 26px;}
.sizesw-label{
  display:block;font-size:13.5px;font-weight:500;color:var(--ink);margin:0 0 12px;
}
.sizesw-row{display:flex;flex-wrap:wrap;gap:10px;}
.sizesw-opt{
  display:inline-flex;align-items:center;justify-content:center;
  min-width:62px;height:56px;padding:0 14px;
  background:var(--surface);border:1.5px solid transparent;border-radius:14px;
  font-size:18px;font-weight:500;color:var(--ink);text-decoration:none;
  transition:background .18s, border-color .18s, transform .18s, color .18s;
}
a.sizesw-opt:hover{
  background:var(--surface-3);transform:translateY(-2px);color:var(--ink);
}
.sizesw-opt.on{
  background:var(--paper);border-color:var(--peri);color:var(--peri);font-weight:600;
}
.sizesw-opt.out{
  background:var(--surface-2);color:var(--grey-3);cursor:not-allowed;position:relative;
}
.sizesw-opt.out::after{
  content:"";position:absolute;left:14px;right:14px;top:50%;
  height:1.5px;background:var(--line-2);transform:rotate(-16deg);
}
@media(max-width:520px){
  .sizesw-opt{min-width:54px;height:50px;font-size:16px;}
}


/* ============================================================
   PRODUCT GALLERY — square frame, images fill it edge to edge.
   The 86% inset was for cut-out product shots; the ad panels
   are full-bleed squares and need the whole frame.
   ============================================================ */
.pdp-main{
  height:auto !important;
  aspect-ratio:1 / 1;
  background:var(--paper) !important;
  border:1.5px solid var(--line);
  border-radius:20px;
  overflow:hidden;
  display:grid;place-items:center;
  padding:0;
  margin-bottom:14px;
}
.pdp-main img{
  width:100% !important;height:100% !important;
  max-width:none !important;max-height:none !important;
  object-fit:contain;display:block;
}
/* thumbnails: even square tiles that wrap neatly */
.pdp-thumbs{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(72px,1fr));
  gap:10px;align-items:stretch;
}
.pdp-thumb{
  width:100% !important;height:auto !important;
  aspect-ratio:1 / 1;
  background:var(--paper);border:1.5px solid var(--line);border-radius:12px;
  padding:0;overflow:hidden;cursor:pointer;
  display:grid;place-items:center;
  transition:border-color .18s, transform .18s;
}
.pdp-thumb img{
  width:100%;height:100%;max-width:none;max-height:none;
  object-fit:contain;display:block;
}
.pdp-thumb:hover{border-color:var(--line-2);transform:translateY(-2px);}
.pdp-thumb.on{border-color:var(--ink);box-shadow:0 0 0 1px var(--ink) inset;}

/* WooCommerce's own gallery markup, in case it renders instead */
.woocommerce div.product div.images img{border-radius:20px;}
@media(max-width:620px){
  .pdp-thumbs{grid-template-columns:repeat(auto-fill,minmax(60px,1fr));gap:8px;}
}

/* keep the gallery a sensible size once the layout stacks */
@media(max-width:1100px){
  .pdp-gal{max-width:520px;margin-left:auto;margin-right:auto;width:100%;}
}
.pdp-thumbs{max-width:100%;}
@media(min-width:1101px){
  .pdp-thumbs{grid-template-columns:repeat(5,1fr);}
}
@media(max-width:1100px){
  .pdp-thumbs{grid-template-columns:repeat(5,1fr);}
}
@media(max-width:480px){
  .pdp-thumbs{grid-template-columns:repeat(4,1fr);gap:8px;}
}


/* ============================================================
   CATALOGUE CARD IMAGE — let the product fill more of the tile
   ============================================================ */
.pcard-img{
  background:var(--surface);border-radius:16px;overflow:hidden;
  display:grid;place-items:center;
  aspect-ratio:1 / 1;height:auto;
}
.pcard-img img,
.pcard-img img.contain{
  width:100%;height:100%;
  max-width:100% !important;max-height:100% !important;
  object-fit:contain;
  padding:8%;box-sizing:border-box;
  display:block;
}
/* homepage / featured tiles too */
.ctile-img img.contain{
  max-width:88%;max-height:88%;padding:0;
}


/* portrait gallery panels letterbox on white rather than crop or stretch */
.pdp-main{background:var(--paper) !important;}
.pdp-main img{object-fit:contain !important;}
.pdp-thumb{background:var(--paper);}
.pdp-thumb img{object-fit:contain !important;}
/* WooCommerce may serve a hard-cropped thumbnail; force the full image */
.woocommerce div.product div.images img,
.woocommerce-product-gallery__image img{object-fit:contain;}


/* ============================================================
   GALLERY — final, decisive rules. Four earlier .pdp-main blocks
   set height:400px and max-width:86%; these override all of them.
   ============================================================ */
.pdp-gal .pdp-main{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:1 / 1 !important;
  background:var(--paper) !important;
  border:1.5px solid var(--line) !important;
  border-radius:20px !important;
  padding:0 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.pdp-gal .pdp-main img,
.pdp-gal .pdp-main #pdp-main-img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center !important;
  display:block !important;
}
.pdp-gal .pdp-thumb{
  width:100% !important;
  height:auto !important;
  aspect-ratio:1 / 1 !important;
  background:var(--paper) !important;
  padding:0 !important;
  overflow:hidden !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.pdp-gal .pdp-thumb img{
  width:100% !important;
  height:100% !important;
  max-width:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  display:block !important;
}


/* ============================================================
   STICKY HEADER — overflow-x:hidden on html/body creates a
   scroll container and silently disables position:sticky.
   overflow-x:clip prevents sideways scroll without that side
   effect, so the header can stick again.
   ============================================================ */
html,body{
  overflow-x:clip !important;
  overflow-y:visible !important;
  max-width:100%;
}
.site-main{overflow:visible !important;}

.hdr{
  position:-webkit-sticky !important;
  position:sticky !important;
  top:0 !important;
  z-index:200 !important;
  overflow:visible !important;
  transition:padding .3s cubic-bezier(.22,.61,.36,1);
  will-change:padding;
}
.hdr-card{
  transition:height .3s cubic-bezier(.22,.61,.36,1),
             box-shadow .3s ease-in-out,
             border-radius .3s ease-in-out,
             width .3s cubic-bezier(.22,.61,.36,1);
}
/* compact once the page is scrolled */
.hdr.scrolled .hdr-card{
  height:62px;
  width:100vw;
  max-width:none;
  border-radius:0;
  box-shadow:0 4px 24px rgba(20,22,30,.10);
}
.hdr.scrolled .logo-mark{height:21px;}
@media(prefers-reduced-motion:reduce){
  .hdr,.hdr-card{transition:none !important;}
}

/* ============================================================
   HOVER ANIMATIONS
   ============================================================ */

/* buttons: colour sweep from the left + lift */
.btn,.hd-cta,.checkout-button,.single_add_to_cart_button,
#place_order,.btn-buynow,.btn-buynow-sm{
  position:relative;overflow:hidden;isolation:isolate;
  transition:transform .28s cubic-bezier(.22,.61,.36,1),
             box-shadow .28s ease-in-out, color .2s ease-in-out;
}
.btn::after,.hd-cta::after,.checkout-button::after,
.single_add_to_cart_button::after,#place_order::after,
.btn-buynow::after,.btn-buynow-sm::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(255,255,255,.16);
  transform:scaleX(0);transform-origin:left center;
  transition:transform .38s cubic-bezier(.22,.61,.36,1);
}
.btn:hover::after,.hd-cta:hover::after,.checkout-button:hover::after,
.single_add_to_cart_button:hover::after,#place_order:hover::after,
.btn-buynow:hover::after,.btn-buynow-sm:hover::after{transform:scaleX(1);}
.btn:hover,.hd-cta:hover,.checkout-button:hover,
.single_add_to_cart_button:hover,#place_order:hover,
.btn-buynow:hover{transform:translateY(-2px);}
.btn:active,.hd-cta:active,.btn-buynow:active{transform:translateY(0);}
/* outline buttons darken instead of lightening */
.btn-o::after,.btn-brand-o::after{background:rgba(20,22,30,.05);}

/* nav links: underline grows from the centre */
.nav > a,.navdrop > a{
  position:relative;padding-bottom:3px;
}
.nav > a::after,.navdrop > a::after{
  content:"";position:absolute;left:50%;right:50%;bottom:0;height:1.5px;
  background:var(--peri);border-radius:2px;
  transition:left .28s cubic-bezier(.22,.61,.36,1), right .28s cubic-bezier(.22,.61,.36,1);
}
.nav > a:hover::after,.navdrop:hover > a::after{left:0;right:0;}

/* footer + inline links: underline slides in */
.foot-col a,.flinks a{
  background-image:linear-gradient(currentColor,currentColor);
  background-size:0% 1px;background-repeat:no-repeat;
  background-position:left 100%;
  transition:background-size .3s cubic-bezier(.22,.61,.36,1), color .2s;
}
.foot-col a:hover,.flinks a:hover{background-size:100% 1px;}

/* arrow buttons nudge in their direction */
.arrowb{transition:background .2s, transform .25s cubic-bezier(.22,.61,.36,1);}
.arrowb:hover{transform:translateX(3px);}
.arrowb.flip:hover{transform:translateX(-3px);}

/* category + brand tiles: image lifts inside a fixed frame */
.ctile-img,.brandcat{overflow:hidden;}
.ctile-img img{transition:transform .5s cubic-bezier(.22,.61,.36,1);}
.ctile:hover .ctile-img img{transform:scale(1.06);}
.brandcat img{transition:transform .45s cubic-bezier(.22,.61,.36,1);}
.brandcat:hover img{transform:scale(1.07);}

/* size switcher + spec cards */
.sizesw-opt{transition:background .2s, border-color .2s, transform .22s cubic-bezier(.22,.61,.36,1), color .2s;}
.spec-hero-item{transition:transform .25s cubic-bezier(.22,.61,.36,1), box-shadow .25s;}
.spec-hero-item:hover{transform:translateY(-3px);box-shadow:0 8px 22px rgba(20,22,30,.07);}

/* cart icon reacts */
.hd-cart{transition:transform .22s cubic-bezier(.22,.61,.36,1);}
.hd-cart:hover{transform:scale(1.1);}

@media(prefers-reduced-motion:reduce){
  .btn,.btn::after,.nav>a::after,.ctile-img img,.brandcat img,
  .spec-hero-item,.hd-cart,.arrowb{transition:none !important;animation:none !important;}
}


/* ---- theme toggle button ---- */
.themesw{
  display:inline-grid;place-items:center;flex-shrink:0;
  width:38px;height:38px;border-radius:999px;
  background:var(--surface);border:0;cursor:pointer;color:var(--ink);
  transition:background var(--dur-fast) var(--ease-out),
             transform var(--dur-press) var(--ease-out);
}
.themesw:hover{background:var(--surface-3);}
.themesw:active{transform:scale(var(--press-sm));}
.themesw svg{grid-area:1/1;transition:opacity var(--dur-base) var(--ease-out),
                                      transform var(--dur-base) var(--ease-out);}
.themesw-moon{opacity:1;transform:none;}
.themesw-sun{opacity:0;transform:rotate(-70deg) scale(.6);}
:root[data-theme="dark"] .themesw-moon{opacity:0;transform:rotate(70deg) scale(.6);}
:root[data-theme="dark"] .themesw-sun{opacity:1;transform:none;}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .themesw-moon{opacity:0;transform:rotate(70deg) scale(.6);}
  :root:not([data-theme="light"]) .themesw-sun{opacity:1;transform:none;}
}

/* cards that take the cursor light lose their own background/border,
   because .lit paints both (it needs all three background layers). */
.pcard.lit,.ctile.lit,.spec-hero-item.lit,.benefit.lit,.fi-block.lit{
  background-color:transparent;
}
.lit{border-radius:inherit;}


/* ---- inline SVG logos carry a baked-in dark fill; recolour for dark ---- */
:root[data-theme="dark"] .logo-mark path,
:root[data-theme="dark"] .fi-thanks-logo path,
:root[data-theme="dark"] .paycard-brand svg path{fill:var(--ink);}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .logo-mark path,
  :root:not([data-theme="light"]) .fi-thanks-logo path{fill:var(--ink);}
}
/* the payment card visual is always dark, so its logo stays white */
:root[data-theme="dark"] .paycard-brand svg path{fill:#fff;}

/* header card and footer follow the surface, not hardcoded white */
:root[data-theme="dark"] .hdr-card{background:var(--paper);}
:root[data-theme="dark"] .hdr{background:transparent;}

/* product imagery: transparent PNGs sit on the tile, which is tinted */
:root[data-theme="dark"] .pcard-img,
:root[data-theme="dark"] .pdp-main,
:root[data-theme="dark"] .pdp-thumb,
:root[data-theme="dark"] .dcart-thumb{background:var(--surface-3) !important;}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]) .pcard-img,
  :root:not([data-theme="light"]) .pdp-main,
  :root:not([data-theme="light"]) .pdp-thumb,
  :root:not([data-theme="light"]) .dcart-thumb{background:var(--surface-3) !important;}
}

/* ============================================================
   ALPHA-DEGRÉ COMPOSITION
   Calmer rhythm, one rounded container per idea, small overline
   labels, generous space. Commerce styling is left untouched.
   ============================================================ */
.ad-sec{padding:var(--ad-gap,64px) 0 0;}
.ad-sec-top{padding-top:16px;}
.ad-sec-last{padding-bottom:88px;}
@media(max-width:760px){ .ad-sec{--ad-gap:44px;} }

.ad-over{
  display:block;font-size:11.5px;font-weight:500;letter-spacing:.09em;
  text-transform:uppercase;color:var(--grey-3);margin:0 0 12px;
}
.ad-head{margin:0 0 26px;}
.ad-head h2{
  font-size:clamp(26px,3.2vw,38px);line-height:1.12;font-weight:600;
  letter-spacing:-.02em;color:var(--ink);margin:0;
}
.ad-head-row{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;flex-wrap:wrap;}
.ad-more{
  font-size:14.5px;color:var(--ink);text-decoration:none;white-space:nowrap;
  display:inline-flex;align-items:center;gap:7px;
  transition:gap var(--dur-base) var(--ease-out), opacity var(--dur-fast) var(--ease-out);
}
.ad-more:hover{gap:11px;opacity:.75;color:var(--ink);}

/* ---- buttons ---- */
.ad-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 26px;border-radius:999px;border:0;cursor:pointer;
  font:inherit;font-size:15px;font-weight:500;text-decoration:none;line-height:1;
  transition:transform var(--dur-press) var(--ease-out),
             box-shadow var(--dur-base) var(--ease-out),
             opacity var(--dur-fast) var(--ease-out);
}
.ad-btn:active{transform:scale(var(--press));}
.ad-btn-grad{background:var(--gradient);color:#fff;}
.ad-btn-grad:hover{color:#fff;box-shadow:0 10px 30px rgba(80,162,255,.28);}
.ad-btn-solid{background:var(--ink);color:var(--on-ink);}
.ad-btn-solid:hover{color:var(--on-ink);opacity:.9;}
.ad-btn-ghost{
  background:transparent;color:var(--ink);
  box-shadow:inset 0 0 0 1.5px var(--line-2);
}
.ad-btn-ghost:hover{color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink);}
.ad-btn-ghost span{transition:transform var(--dur-base) var(--ease-out);}
.ad-btn-ghost:hover span{transform:translateX(3px);}

/* ---- hero: one container, copy left, art right ---- */
.ad-hero{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  align-items:stretch;border-radius:var(--ad-r,32px);overflow:hidden;min-height:452px;
}
.ad-hero-copy{
  display:flex;flex-direction:column;justify-content:center;
  padding:56px 48px;min-width:0;
}
.ad-hero-copy h1{
  font-size:clamp(34px,4.6vw,56px);line-height:1.05;font-weight:600;
  letter-spacing:-.03em;color:var(--ink);margin:0 0 18px;
}
.ad-hero-copy p{
  font-size:16px;line-height:1.62;color:var(--grey);margin:0 0 30px;max-width:46ch;
}
.ad-hero-cta{display:flex;gap:12px;flex-wrap:wrap;}
.ad-hero-art{position:relative;min-height:320px;background:var(--surface);}
.ad-hero-art img{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;
}
@media(max-width:900px){
  .ad-hero{grid-template-columns:1fr;min-height:0;--ad-r:26px;}
  .ad-hero-copy{padding:36px 26px;order:2;}
  .ad-hero-art{order:1;min-height:260px;aspect-ratio:16/10;}
}

/* ---- three families ---- */
.ad-fam{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;}
.ad-fam-card{
  display:flex;flex-direction:column;border-radius:24px;overflow:hidden;
  text-decoration:none;color:inherit;min-height:300px;
  transition:transform var(--dur-base) var(--ease-out);
}
.ad-fam-card:hover{transform:translateY(-3px);color:inherit;}
.ad-fam-art{
  flex:1;display:grid;place-items:center;padding:28px;min-height:190px;overflow:hidden;
}
.ad-fam-art img{
  max-width:84%;max-height:170px;width:auto;height:auto;object-fit:contain;display:block;
  transition:transform var(--dur-slow) var(--ease-out);
}
.ad-fam-card:hover .ad-fam-art img{transform:scale(1.05);}
.ad-fam-foot{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  padding:20px 22px 22px;
}
.ad-fam-txt{display:flex;flex-direction:column;gap:5px;min-width:0;}
.ad-fam-txt b{font-size:16.5px;font-weight:600;color:var(--ink);line-height:1.3;}
.ad-fam-txt em{font-style:normal;font-size:12.5px;color:var(--grey-3);line-height:1.4;}
.ad-fam-go{
  flex-shrink:0;font-size:17px;color:var(--grey-3);
  transition:transform var(--dur-base) var(--ease-out),color var(--dur-fast) var(--ease-out);
}
.ad-fam-card:hover .ad-fam-go{transform:translateX(4px);color:var(--ink);}
@media(max-width:860px){ .ad-fam{grid-template-columns:1fr;} .ad-fam-card{min-height:0;} }

/* ---- featured band: gradient edge ---- */
.ad-band{
  position:relative;border-radius:30px;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.92fr);
  align-items:center;gap:0;background:var(--surface);
  padding:2px;
  background:var(--gradient);
}
.ad-band > *{position:relative;z-index:1;}
.ad-band::before{
  content:"";position:absolute;inset:2px;border-radius:28px;
  background:var(--paper);z-index:0;
}
.ad-band-copy{padding:44px 44px 44px 46px;min-width:0;}
.ad-band-copy h2{
  font-size:clamp(22px,2.6vw,30px);line-height:1.18;font-weight:600;
  letter-spacing:-.02em;color:var(--ink);margin:0 0 20px;
}
.ad-ticks{list-style:none;margin:0 0 26px;padding:0;display:grid;gap:11px;}
.ad-ticks li{
  position:relative;padding-left:26px;font-size:14.5px;line-height:1.5;color:var(--grey);
}
.ad-ticks li::before{
  content:"";position:absolute;left:0;top:6px;width:14px;height:8px;
  border-left:1.8px solid var(--grad-from);border-bottom:1.8px solid var(--grad-from);
  transform:rotate(-45deg);
}
.ad-band-art{display:grid;place-items:center;padding:28px 40px 28px 10px;min-width:0;}
.ad-band-art img{max-width:100%;max-height:300px;width:auto;height:auto;object-fit:contain;display:block;}
@media(max-width:900px){
  .ad-band{grid-template-columns:1fr;}
  .ad-band-copy{padding:30px 24px 10px;order:2;}
  .ad-band-art{order:1;padding:28px 24px 0;}
}

/* ---- proof figures ---- */
.ad-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.ad-stat{border-radius:24px;padding:24px 24px 26px;}
.ad-stat b{
  display:block;font-size:clamp(30px,3.6vw,42px);line-height:1;font-weight:600;
  letter-spacing:-.03em;margin:0 0 10px;
  background:var(--gradient);-webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
.ad-stat b i{font-style:normal;font-size:.46em;margin-left:3px;letter-spacing:0;}
.ad-stat-sub{display:block;font-size:13px;line-height:1.45;color:var(--grey);}
.ad-stat .ad-over{margin-bottom:14px;}
@media(max-width:960px){ .ad-stats{grid-template-columns:1fr 1fr;} }
@media(max-width:480px){ .ad-stats{grid-template-columns:1fr;} }

/* ---- trust row ---- */
.ad-trust{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;}
.ad-trust-item{border-radius:20px;padding:20px 22px;}
.ad-trust-item b{display:block;font-size:16px;font-weight:600;color:var(--ink);margin-bottom:5px;}
.ad-trust-item span{display:block;font-size:12.5px;color:var(--grey-3);line-height:1.45;}
@media(max-width:860px){ .ad-trust{grid-template-columns:1fr 1fr;} }

/* ---- brand block ---- */
.ad-about{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:0;border-radius:32px;overflow:hidden;background:var(--surface);
}
.ad-about-copy{padding:48px 44px;display:flex;flex-direction:column;justify-content:center;}
.ad-about-copy h2{
  font-size:clamp(24px,2.8vw,32px);line-height:1.15;font-weight:600;
  letter-spacing:-.02em;color:var(--ink);margin:0 0 16px;
}
.ad-about-copy p{font-size:15.5px;line-height:1.62;color:var(--grey);margin:0 0 26px;max-width:46ch;}
.ad-about-art{position:relative;min-height:300px;}
.ad-about-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
@media(max-width:900px){
  .ad-about{grid-template-columns:1fr;}
  .ad-about-copy{padding:32px 24px;order:2;}
  .ad-about-art{order:1;min-height:0;aspect-ratio:16/10;}
}

/* gift tag on a product card */
.tag.t-gift{background:var(--gradient);color:#fff;border:0;}

/* small phones: let the hero copy shrink inside the grid */
.ad-hero-copy,.ad-band-copy,.ad-about-copy{min-width:0;}
.ad-hero-copy h1,.ad-head h2,.ad-band-copy h2,.ad-about-copy h2{overflow-wrap:break-word;}
@media(max-width:430px){
  .ad-hero-copy{padding:28px 18px;}
  .ad-band-copy{padding:24px 18px 8px;}
  .ad-about-copy{padding:26px 18px;}
  .ad-fam-foot{padding:16px 18px 18px;}
  .ad-stat{padding:20px 18px 22px;}
  .ad-trust-item{padding:17px 18px;}
  .ad-hero-cta{flex-direction:column;align-items:stretch;}
  .ad-btn{width:100%;}
}

/* the hero grid must be allowed to shrink below its content width */
.ad-hero,.ad-band,.ad-about{max-width:100%;}
@media(max-width:900px){
  .ad-hero,.ad-about{grid-template-columns:minmax(0,1fr) !important;}
}
@media(max-width:900px){
  .ad-band{grid-template-columns:minmax(0,1fr) !important;}
}
.ad-hero > *,.ad-band > *,.ad-about > *{min-width:0;max-width:100%;}
.ad-hero-art img,.ad-about-art img,.ad-band-art img{max-width:100%;}

/* ============================================================
   FLOATING PILL HEADER  (Alpha Degré composition)
   Full-radius bar, inset from the top, translucent + blurred,
   nav centred, gradient CTA at the right edge.
   ============================================================ */
.hdr{
  padding:14px 0 0 !important;
  background:transparent !important;
  transition:padding .28s cubic-bezier(.22,.61,.36,1) !important;
}
.hdr-card{
  width:min(1220px, calc(100vw - 32px)) !important;
  max-width:none !important;
  margin:0 auto !important;
  height:64px !important;
  padding:0 8px 0 24px !important;
  gap:16px !important;
  border-radius:999px !important;
  background:color-mix(in oklab, var(--paper) 76%, transparent) !important;
  -webkit-backdrop-filter:blur(20px) saturate(1.6);
  backdrop-filter:blur(20px) saturate(1.6);
  border:1px solid color-mix(in oklab, var(--line) 85%, transparent);
  box-shadow:0 10px 32px rgba(10,12,20,.10) !important;
  transition:height .28s cubic-bezier(.22,.61,.36,1),
             width .28s cubic-bezier(.22,.61,.36,1),
             background .28s ease-in-out,
             box-shadow .28s ease-in-out !important;
}
:root[data-theme="dark"] .hdr-card{
  background:color-mix(in oklab, var(--paper) 72%, transparent) !important;
  border-color:color-mix(in oklab, #fff 10%, transparent);
  box-shadow:0 10px 34px rgba(0,0,0,.42) !important;
}

/* keep it a floating pill once scrolled — just tighter and more solid */
.hdr.scrolled{padding-top:10px !important;}
.hdr.scrolled .hdr-card{
  height:56px !important;
  width:min(1140px, calc(100vw - 24px)) !important;
  border-radius:999px !important;
  background:color-mix(in oklab, var(--paper) 97%, transparent) !important;
  box-shadow:0 14px 38px rgba(10,12,20,.16) !important;
}
:root[data-theme="dark"] .hdr.scrolled .hdr-card{
  background:color-mix(in oklab, var(--paper) 96%, transparent) !important;
  box-shadow:0 14px 40px rgba(0,0,0,.5) !important;
}

/* nav sits in the middle of the pill */
.hdr-card .nav{margin-left:auto !important;margin-right:auto !important;gap:24px !important;}
.hdr-card .nav > a,.hdr-card .navdrop > a{font-size:14px;letter-spacing:-.005em;}
.hdr-card .tools{margin-left:0 !important;gap:12px !important;}
.hdr-card .hd-city{display:none !important;}

/* gradient CTA, as on the reference bar */
.hdr-card .hd-cta{
  background:linear-gradient(104deg,var(--grad-from),var(--grad-to)) !important;
  color:#fff !important;
  border:0;
  padding:12px 22px !important;
  font-weight:500;
  box-shadow:0 6px 18px color-mix(in oklab, var(--grad-from) 34%, transparent);
  transition:transform .22s cubic-bezier(.22,.61,.36,1), box-shadow .22s ease-in-out, opacity .22s ease-in-out !important;
}
.hdr-card .hd-cta:hover{
  color:#fff !important;opacity:1 !important;
  transform:translateY(-1px);
  box-shadow:0 10px 26px color-mix(in oklab, var(--grad-from) 46%, transparent);
}

/* the dropdown panel must clear the floating pill */
.hdr-card .navdrop{padding-bottom:22px;margin-bottom:-22px;}

@media(max-width:1180px){
  .hdr-card{width:calc(100vw - 24px) !important;padding:0 8px 0 18px !important;}
}
@media(max-width:860px){
  .hdr{padding:10px 0 0 !important;}
  .hdr.scrolled{padding-top:8px !important;}
  .hdr-card{
    width:calc(100vw - 20px) !important;height:58px !important;
    border-radius:999px !important;padding:0 10px 0 18px !important;
  }
  .hdr.scrolled .hdr-card{width:calc(100vw - 16px) !important;height:54px !important;}
}
@media(prefers-reduced-motion:reduce){
  .hdr,.hdr-card{transition:none !important;}
}
