/* ═══════════════════════════════════════════════════════════
   VISUAL SYSTEM
   Surfaces : husk paper, deep field green, white cards
   Accent   : brass — once per view, never decoratively
   Type     : Archivo for anything a buyer measures,
              Newsreader for anything a buyer reads
   Numbers  : always tabular. Trade figures must align.
   ═══════════════════════════════════════════════════════════ */
:root{
  --green:#07150C;--leaf:#1F7A47;--leaf-glow:#10B981;--brass:#C5A059;--brassl:#E8C87A;
  --brass-deep:#966F23;--paper:#FAF8F3;--husk:#F4EFE6;--card:#FFFFFF;--ink:#111A13;
  --soft:#4F5E54;--faint:#7E8D82;--line:#E2DDD0;--line2:#D0C9B8;--line-gold:rgba(223,183,88,0.22);
  --f-d:"Archivo","Helvetica Neue",Arial,sans-serif;
  --f-serif:"Playfair Display","Newsreader",Georgia,serif;
  --f-t:"Newsreader",Georgia,serif;
  --pad:clamp(1.2rem,4vw,2.8rem);
  --gap:clamp(3.5rem,7vw,6rem);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-t);font-size:1.1rem;line-height:1.65;-webkit-font-smoothing:antialiased;overflow-x:hidden}
h1,h2,h3,h4{font-family:var(--f-serif);font-weight:700;line-height:1.12;letter-spacing:-.02em;margin:0}
h1{font-size:clamp(2.1rem,5.6vw,3.7rem)}
h2{font-size:clamp(1.65rem,3.8vw,2.5rem)}
h3{font-size:clamp(1.05rem,2.1vw,1.3rem);font-weight:700;letter-spacing:-.015em}
p{margin:0 0 1rem}a{color:inherit}
button,input,select,textarea{font:inherit;color:inherit}
:focus-visible{outline:3px solid var(--brass);outline-offset:3px}
::selection{background:var(--brassl)}
.wrap{max-width:1140px;margin:0 auto;padding-inline:var(--pad)}
.sec{padding-block:var(--gap)}
.hide{display:none!important}
.n{font-variant-numeric:tabular-nums}

.eye{font-family:var(--f-d);font-size:.74rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);display:inline-flex;align-items:center;gap:.5rem;margin-bottom:1rem}
.eye::before{content:"✦";font-size:.65rem;color:var(--brassl)}
.head{max-width:58ch;margin-bottom:2.4rem}
.head p{color:var(--soft);margin:.85rem 0 0;font-size:1.08rem}
.head.center{max-width:680px;margin-inline:auto;text-align:center;margin-bottom:2.6rem}
.head.center .eye{justify-content:center}
.head.center p{margin:.85rem auto 0;max-width:56ch}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--f-d);font-weight:700;font-size:.95rem;letter-spacing:.03em;padding:.85rem 1.65rem;border-radius:4px;border:1.5px solid var(--green);background:var(--green);color:#FBFAF6;text-decoration:none;cursor:pointer;transition:all .2s ease}
.btn:hover{transform:translateY(-2px);box-shadow:0 8px 22px -6px rgba(7,20,11,0.45)}
.btn:hover{transform:translateY(-2px)}
.btn.brass{background:linear-gradient(135deg,#F3D079 0%,#DFB758 50%,#B5852A 100%);border:0;color:#07130B;font-weight:800;letter-spacing:.05em;box-shadow:0 8px 24px -4px rgba(223,183,88,0.45)}
.btn.brass:hover{box-shadow:0 12px 30px -4px rgba(223,183,88,0.65)}
.btn.line{background:transparent;color:var(--green)}
.btn.wa{background:#25D366;border-color:#25D366;color:#fff}
.btn.wa svg{width:18px;height:18px;flex-shrink:0}
.btn.full{width:100%}

/* ── header ── */
.top{position:sticky;top:0;z-index:100;background:rgba(7,19,11,.96);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(223,183,88,.22);box-shadow:0 8px 32px rgba(0,0,0,.45)}
.top .wrap.header-wrap{display:flex;align-items:center;justify-content:space-between;gap:clamp(0.25rem, 0.75vw, 0.85rem);height:74px;max-width:1760px;width:100%;padding-inline:clamp(0.75rem, 1.4vw, 1.6rem);box-sizing:border-box}
.logo{display:flex;align-items:center;gap:.55rem;text-decoration:none;flex-shrink:0}
.brand-logo{height:34px;width:auto;max-width:56px;object-fit:contain;filter:drop-shadow(0 2px 6px rgba(223,183,88,.35))}
.brand-text{display:flex;flex-direction:column}
.brand-title{font-family:var(--f-serif);font-size:1.18rem;font-weight:700;letter-spacing:.11em;color:#FFFFFF;line-height:1}
.brand-tag{font-family:var(--f-d);font-size:.52rem;font-weight:800;letter-spacing:.16em;color:var(--brass);margin-top:3px;line-height:1}

.menu{display:flex;align-items:center;gap:clamp(.25rem,.65vw,.8rem);white-space:nowrap;flex-shrink:0;min-width:0}
.menu a{font-family:var(--f-d);font-size:.78rem;font-weight:600;letter-spacing:.015em;color:#D2DCD4;text-decoration:none;white-space:nowrap;padding:.4rem 0;position:relative;transition:color .2s ease}
.menu a:hover{color:var(--brassl)}
.menu a::after{content:"";position:absolute;bottom:0;left:0;right:0;height:2px;background:linear-gradient(90deg,var(--brassl),var(--brass));transform:scaleX(0);transition:transform .2s ease}
.menu a:hover::after,.menu a.on::after{transform:scaleX(1)}
.menu a.on{color:#FFFFFF;font-weight:700}

.nav-rates{background:rgba(16,185,129,.12)!important;border:1px solid rgba(16,185,129,.4)!important;border-radius:99px!important;padding:.26rem .6rem!important;color:#4ADE80!important;font-weight:700!important;font-size:.74rem!important;letter-spacing:.03em!important;display:inline-flex!important;align-items:center!important;gap:.32rem!important;transition:all .2s ease!important}
.nav-rates:hover{background:rgba(16,185,129,.22)!important;border-color:#4ADE80!important;box-shadow:0 0 16px rgba(16,185,129,.4)!important;color:#FFF!important}
.nav-rates::after{display:none!important}

.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#22C55E;box-shadow:0 0 0 2px rgba(34,197,94,.35);animation:livePulse 1.8s infinite;flex-shrink:0}
@keyframes livePulse{0%,100%{box-shadow:0 0 0 2px rgba(34,197,94,.35),0 0 8px #22C55E}50%{box-shadow:0 0 0 6px rgba(34,197,94,0),0 0 12px #22C55E}}

.header-right{display:flex;align-items:center;gap:.35rem;flex-shrink:0}

/* ── CURRENCY DROPDOWN MENU ── */
.curr-dropdown-wrap{position:relative;display:inline-flex;align-items:center;flex-shrink:0}
.curr-select{
  appearance:none;
  -webkit-appearance:none;
  -moz-appearance:none;
  background:rgba(255,255,255,.07);
  border:1.2px solid rgba(223,183,88,.42);
  border-radius:4px;
  color:var(--brassl);
  font-family:var(--f-d);
  font-size:.73rem;
  font-weight:700;
  height:33px;
  padding:0 1.5rem 0 .5rem;
  cursor:pointer;
  transition:all .2s ease;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23E8C87A' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;
  background-position:right 0.42rem center;
}
.curr-select:hover, .curr-select:focus{
  border-color:var(--brass);
  background-color:rgba(223,183,88,.15);
  box-shadow:0 0 12px rgba(223,183,88,.28);
  outline:none;
}
.curr-select option{
  background:#07140B;
  color:#FFFFFF;
  font-family:var(--f-d);
  font-size:.85rem;
  padding:.5rem;
}

.mode{background:rgba(255,255,255,.06);border:1px solid rgba(223,183,88,.3);border-radius:99px;padding:2px;display:flex;gap:2px;flex-shrink:0}
.mode button{border:0;background:none;font-family:var(--f-d);font-weight:700;font-size:.73rem;letter-spacing:.04em;padding:.28rem .58rem;border-radius:99px;cursor:pointer;color:#A0B2A6;white-space:nowrap;transition:all .2s ease}
.mode button.on{background:linear-gradient(135deg,var(--brassl),var(--brass));color:#07130B;font-weight:800;box-shadow:0 2px 10px rgba(181,133,42,.45)}

.btn-admin{display:inline-flex;align-items:center;gap:.32rem;padding:.3rem .55rem;border:1px solid rgba(223,183,88,.32);border-radius:4px;background:rgba(223,183,88,.08);color:var(--brassl);font-family:var(--f-d);font-size:.73rem;font-weight:700;text-decoration:none;cursor:pointer;transition:all .2s ease;flex-shrink:0;white-space:nowrap}
.btn-admin:hover{background:var(--brass);color:#07130B;border-color:var(--brass);box-shadow:0 4px 14px rgba(181,133,42,.35)}
.menu-admin{display:none}

.lang{border:1.2px solid rgba(223,183,88,.48);background:rgba(223,183,88,.12);color:var(--brassl);border-radius:4px;padding:.3rem .62rem;font-family:var(--f-d);font-weight:700;font-size:.75rem;cursor:pointer;flex-shrink:0;white-space:nowrap;line-height:1.1;transition:all .2s ease}
.lang:hover{background:var(--brass);color:#07130B;border-color:var(--brass)}
.burger{display:none;width:38px;height:38px;border:1px solid rgba(223,183,88,.35);background:rgba(255,255,255,.06);border-radius:4px;color:var(--brassl);cursor:pointer;place-items:center;flex-shrink:0}

@media(max-width:1680px) and (min-width:1281px){
  .btn-admin{display:none!important}
  .brand-tag{display:none}
  .btn-theme-toggle .theme-label{display:none}
  .btn-theme-toggle{padding:0 .5rem;width:34px;height:34px;justify-content:center}
}
@media(max-width:1520px) and (min-width:1281px){
  .menu{gap:clamp(.2rem,.5vw,.52rem)}
  .menu a{font-size:.74rem;padding:.4rem .1rem}
  .btn-calc-nav span{display:none}
  .btn-cart-nav span:first-of-type{display:none}
}
@media(max-width:1360px) and (min-width:1281px){
  .curr-select{max-width:115px;font-size:.7rem;padding:0 1.25rem 0 .4rem}
  .mode button{font-size:.7rem;padding:.24rem .46rem}
}
@media(max-width:1280px){
  .menu{position:fixed;left:0;right:0;top:74px;background:#07140B;border-bottom:1px solid rgba(223,183,88,.25);flex-direction:column;gap:0;padding:1rem var(--pad) 1.5rem;transform:translateY(-150%);transition:transform .32s ease;z-index:99;box-shadow:0 20px 40px rgba(0,0,0,.7)}
  .menu.open{transform:none}
  .menu a{width:100%;padding:.95rem 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:1.05rem;color:#E2ECE5}
  .menu-admin{display:inline-flex!important}
  .btn-admin{display:none!important}
  .burger{display:grid}
}
@media(max-width:760px){
  .brand-tag{display:none}
  .btn-calc-nav span{display:none}
  .btn-cart-nav span:first-of-type{display:none}
}
@media(max-width:540px){
  .mode button{font-size:.68rem;padding:.24rem .48rem}
  .curr-select{font-size:.68rem;padding:0 1.25rem 0 .4rem}
  .lang{padding:.26rem .48rem;font-size:.7rem}
}

/* ── hero ── */
.hero{background:radial-gradient(ellipse 95% 75% at 50% -10%,#153823 0%,#07140B 100%);color:#EFF4F0;position:relative;overflow:hidden}
.hero::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(42rem 24rem at 92% 10%,rgba(223,183,88,.18),transparent 65%),
             radial-gradient(38rem 24rem at 0% 100%,rgba(31,122,71,.25),transparent 60%)}
.hero .wrap{position:relative;z-index:2;max-width:1280px;display:grid;grid-template-columns:1.02fr .98fr;gap:clamp(1.8rem,3.6vw,3.4rem);align-items:center;padding-block:clamp(3rem,5.5vw,4.8rem)}
.kicker{font-family:var(--f-d);font-size:.76rem;font-weight:800;letter-spacing:.18em;color:var(--brassl);margin-bottom:1.1rem}
.hero h1{font-family:var(--f-serif);font-size:clamp(2.25rem,4.4vw,3.75rem);line-height:1.1;font-weight:700;color:#FFF;margin-bottom:1.1rem;letter-spacing:-.025em}
.hero .lead{font-size:1.14rem;color:#C5D4C9;max-width:46ch;margin:0 0 2rem;line-height:1.65}
.hero .btns{display:flex;gap:.9rem;flex-wrap:wrap}
.hero .btn.line{color:#FFF;border-color:rgba(223,183,88,.4);background:rgba(255,255,255,.05);backdrop-filter:blur(8px)}
.hero .btn.line:hover{background:rgba(223,183,88,.15);border-color:var(--brassl)}
.glance{display:flex;flex-wrap:wrap;gap:.6rem 1.6rem;margin-top:2rem;padding-top:1.35rem;border-top:1px solid rgba(223,183,88,.2);font-family:var(--f-d);font-size:.8rem;font-weight:700;letter-spacing:.05em;color:#B0C4B6}
.glance span{display:flex;align-items:center;gap:.5rem}
.glance span::before{content:"✦";color:var(--brassl);font-size:.65rem;flex-shrink:0}

.hero-art{width:100%}
.packs{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;align-items:stretch}
.pk{margin:0;position:relative;background:rgba(255,255,255,.05);border:1px solid rgba(223,183,88,.32);border-radius:10px;padding:.55rem .55rem .65rem;cursor:pointer;transition:transform .24s cubic-bezier(.22,1,.36,1),border-color .24s,box-shadow .24s;display:flex;flex-direction:column;box-shadow:0 20px 42px -18px rgba(0,0,0,.78)}
.pk:hover{transform:translateY(-5px);border-color:var(--brassl);box-shadow:0 26px 50px -16px rgba(0,0,0,.88),0 0 22px rgba(223,183,88,.22)}
.pk-img-wrap{width:100%;aspect-ratio:1/1.02;background:#F4EFE6;border-radius:7px;overflow:hidden;display:grid;place-items:center;padding:.25rem}
.pk img{width:100%;height:100%;object-fit:contain;display:block;border-radius:5px;transition:transform .35s cubic-bezier(.22,1,.36,1)}
.pk:hover img{transform:scale(1.04)}
.pk figcaption{font-family:var(--f-d);margin-top:.55rem;text-align:center;display:flex;flex-direction:column;gap:.12rem}
.pk figcaption b{font-size:.8rem;font-weight:800;letter-spacing:.02em;color:#FFFFFF;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pk figcaption span{font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--brassl);text-transform:uppercase}
@media(max-width:980px){
  .hero .wrap{grid-template-columns:1fr;padding-block:2.2rem 3rem}
  .hero-art{order:-1;max-width:560px;margin-inline:auto}
}
@media(max-width:480px){
  .packs{gap:.65rem}
  .pk{padding:.4rem .4rem .5rem}
  .pk figcaption b{font-size:.72rem}
}

/* ── figures band ── */
.band{background:var(--husk);border-bottom:1px solid var(--line)}
.band .wrap{display:grid;grid-template-columns:repeat(4,1fr)}
.bd{padding:1.75rem 1.4rem;border-right:1px solid var(--line);position:relative;
  background:none;border-top:0;border-left:0;border-bottom:0;font:inherit;color:inherit;
  text-align:left;width:100%;cursor:pointer;transition:background .18s}
.bd[disabled]{cursor:default}
.bd:not([disabled]):hover{background:#EAE8DD}
.bd-go{position:absolute;top:1.15rem;right:1.2rem;font-style:normal;font-family:var(--f-d);
  font-weight:700;color:var(--brass);opacity:0;transform:translateX(-4px);transition:all .2s}
.bd:hover .bd-go{opacity:1;transform:none}
.bd:first-child{padding-left:0}.bd:last-child{border-right:0;padding-right:0}
@media(hover:none){.bd-go{opacity:1;transform:none}}
.bd b{display:block;font-family:var(--f-d);font-weight:900;font-size:clamp(1.6rem,3.4vw,2.2rem);letter-spacing:-.045em;line-height:1;font-variant-numeric:tabular-nums;color:var(--ink)}
.bd > span{display:block;font-family:var(--f-d);font-size:.8rem;font-weight:600;color:var(--soft);margin-top:.45rem;line-height:1.4}
@media(max-width:780px){
  .band .wrap{grid-template-columns:1fr 1fr}
  .bd{padding:1.25rem 1rem;border-bottom:1px solid var(--line)}
  .bd:nth-child(odd){padding-left:0}.bd:nth-child(even){border-right:0;padding-right:0}
  .bd:nth-last-child(-n+2){border-bottom:0}
}

/* ── catalogue ── */
.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.8rem}
.chip{font-family:var(--f-d);font-weight:600;font-size:.85rem;padding:.44rem .95rem;border:1px solid var(--line2);background:transparent;border-radius:99px;cursor:pointer;transition:all .16s}
.chip:hover{border-color:var(--ink)}
.chip.on{background:var(--green);color:#fff;border-color:var(--green)}
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.4rem}
@media(min-width:1000px){.pgrid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:620px){.pgrid{grid-template-columns:1fr;gap:1.1rem}}
.pcard{border:1px solid var(--line);border-radius:4px;background:var(--card);overflow:hidden;cursor:pointer;text-align:left;padding:0;font:inherit;color:inherit;display:flex;flex-direction:column;transition:border-color .2s,transform .2s,box-shadow .2s}
.pcard:hover{border-color:var(--line2);transform:translateY(-2px);box-shadow:0 16px 34px -24px rgba(15,33,23,.5)}
.pcard .ph img{transition:transform .5s cubic-bezier(.22,1,.36,1)}
.pcard:hover .ph img{transform:scale(1.035)}
.pc-b{padding:1.15rem 1.25rem 0;flex:1;display:flex;flex-direction:column}
.pc-cat{font-family:var(--f-d);font-size:.64rem;font-weight:700;letter-spacing:.12em;color:var(--brass);margin-bottom:.5rem}
.pcard h3{margin-bottom:.3rem}
.pc-tl{color:var(--soft);font-size:.97rem;margin:0 0 1rem;line-height:1.5}
.pc-facts{margin-top:auto;display:grid;gap:.3rem;padding-bottom:1.1rem}
.pc-facts div{display:flex;justify-content:space-between;gap:1rem;font-family:var(--f-d);font-size:.79rem}
.pc-facts i{font-style:normal;color:var(--faint);font-weight:600}
.pc-facts b{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.pc-go{border-top:1px solid var(--line);padding:.8rem 1.25rem;font-family:var(--f-d);font-weight:600;font-size:.84rem;color:var(--soft);display:flex;justify-content:space-between;align-items:center;background:transparent;transition:color .18s}
.pcard:hover .pc-go{color:var(--leaf)}

.ph{aspect-ratio:4/3;background:var(--husk);position:relative;overflow:hidden;border-bottom:1px solid var(--line);display:grid;place-items:center}
.pcard .ph{aspect-ratio:1/1}
.ph img{width:100%;height:100%;object-fit:contain;display:block;background:var(--husk)}
.ph-fb{display:none;place-items:center;gap:.65rem;text-align:center;padding:1.3rem;color:var(--soft)}
.ph.noimg .ph-fb{display:grid}
.ph.noimg{background:radial-gradient(circle at 30% 30%,rgba(197,160,89,.14),transparent 65%),
  repeating-linear-gradient(45deg,var(--husk),var(--husk) 11px,var(--paper) 11px,var(--paper) 22px)}
.ph-fb svg{width:36px;height:36px;color:var(--brass);opacity:.85}
.ph-fb span{font-family:var(--f-d);font-size:.7rem;font-weight:800;letter-spacing:.11em;line-height:1.5;max-width:22ch;color:var(--ink)}

/* ── product dossier ── */
.crumb{font-family:var(--f-d);font-size:.85rem;font-weight:600;color:var(--faint);padding-block:1.4rem .6rem}
.crumb a{text-decoration:none;color:var(--leaf)}
.crumb a:hover{text-decoration:underline}
.crumb em{font-style:normal;color:var(--line2);margin:0 .45rem}
.crumb span{color:var(--soft)}
.pd{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:clamp(1.6rem,3.5vw,2.8rem);align-items:start;padding-bottom:2rem}
@media(max-width:900px){.pd{grid-template-columns:1fr}}
.pd-media{display:grid;gap:.7rem}
.pd-media.two{grid-template-columns:1fr 1fr}
@media(max-width:900px){.pd-media.two{grid-template-columns:1fr 1fr}}
.pd-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(1.2rem,2.8vw,2.2rem);align-items:start;margin-top:1.6rem;padding-bottom:1.5rem}
@media(max-width:900px){.pd-details-grid{grid-template-columns:1fr;gap:1.2rem}}
.pd-col{display:flex;flex-direction:column;gap:1.2rem}
.pd .ph{aspect-ratio:1;border:1px solid var(--line);border-radius:4px}
.pd h1{font-size:clamp(1.75rem,4.2vw,2.6rem)}
.pd-tl{font-family:var(--f-d);font-weight:600;color:var(--soft);font-size:1.05rem;margin:.5rem 0 0}
.pd-lead{font-size:1.1rem;color:var(--soft);margin:1.1rem 0 1.4rem;max-width:58ch}
.vars{display:flex;flex-wrap:wrap;gap:.35rem;margin:1.2rem 0 0}
.vars span{font-family:var(--f-d);font-size:.8rem;font-weight:600;padding:.32rem .7rem;border:1px solid var(--line2);border-radius:99px;background:var(--husk)}

.keys{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;border:1px solid var(--line);border-radius:4px;background:var(--line);margin:1.5rem 0;overflow:hidden}
.keys.keys-4,.keys.keys-8{grid-template-columns:repeat(2,1fr)}
@media(min-width:1180px){.keys.keys-8{grid-template-columns:repeat(4,1fr)}}
.keys.keys-5 div:last-child{grid-column:span 2}
.keys.keys-7 div:last-child{grid-column:span 3}
.keys div{padding:.9rem 1.05rem;background:var(--card);border:0;box-sizing:border-box}
.keys i{font-style:normal;display:block;font-family:var(--f-d);font-size:.63rem;font-weight:700;letter-spacing:.1em;color:var(--faint);margin-bottom:.3rem}
.keys b{font-family:var(--f-d);font-weight:700;font-size:.93rem;font-variant-numeric:tabular-nums;line-height:1.35;display:block;color:var(--ink)}
@media(max-width:680px){
  .keys,.keys.keys-4,.keys.keys-8{grid-template-columns:repeat(2,1fr)}
  .keys.keys-5 div:last-child,.keys.keys-7 div:last-child{grid-column:span 2}
}
@media(max-width:460px){
  .keys,.keys.keys-4,.keys.keys-8{grid-template-columns:1fr}
  .keys.keys-5 div:last-child,.keys.keys-7 div:last-child{grid-column:span 1}
}

.block{border:1px solid var(--line);border-radius:4px;margin-top:.85rem;overflow:hidden;background:var(--card)}
.block>summary{list-style:none;cursor:pointer;background:var(--husk);padding:1rem 1.2rem;font-family:var(--f-d);font-weight:700;font-size:1rem;display:flex;justify-content:space-between;gap:.8rem;align-items:center}
.block>summary::-webkit-details-marker{display:none}
.block[open]>summary{border-bottom:1px solid var(--line)}
.block>summary .sm-r{display:flex;align-items:center;gap:.75rem;flex-shrink:0}
.block>summary em{font-style:normal;font-size:.67rem;font-weight:700;color:var(--brass);letter-spacing:.08em;font-variant-numeric:tabular-nums}
.chev{width:10px;height:10px;border-right:2.2px solid var(--faint);border-bottom:2.2px solid var(--faint);transform:rotate(45deg);margin-top:-4px;transition:transform .2s;flex-shrink:0}
.block[open]>summary .chev{transform:rotate(-135deg);margin-top:3px}
.block-b{padding:.3rem 1.2rem 1.15rem}
.dl div{display:flex;justify-content:space-between;gap:1.5rem;padding:.62rem 0;border-bottom:1px solid var(--line);font-family:var(--f-d);font-size:.95rem}
.dl div:last-child{border:0}
.dl span{color:var(--soft);font-weight:600;flex-shrink:0}
.dl b{font-weight:700;text-align:right;font-variant-numeric:tabular-nums}
.tags{display:flex;flex-wrap:wrap;gap:.35rem;padding:.85rem 0 .25rem}
.tags i{font-style:normal;font-family:var(--f-d);font-size:.79rem;font-weight:700;padding:.3rem .62rem;border-radius:3px;background:#E7F0E9;color:var(--leaf)}
.note{background:var(--husk);border-left:3px solid var(--brass);padding:.8rem 1rem;margin:1rem 0 0;font-size:.99rem;color:var(--soft)}

.nut{border:1px solid var(--line2);border-radius:6px;background:var(--card);padding:1.4rem 1.6rem;font-family:var(--f-d);width:100%;max-width:100%;box-shadow:0 4px 16px -6px rgba(7,20,11,.06)}
.nut h4{font-family:var(--f-serif);font-size:1.35rem;font-weight:700;border-bottom:3px solid var(--brass);padding-bottom:.45rem;color:var(--green);letter-spacing:-.01em;margin-bottom:.4rem}
.nut .basis{font-size:.78rem;font-weight:700;color:var(--soft);padding:.4rem 0;border-bottom:1px solid var(--line);letter-spacing:.04em;text-transform:uppercase}
.nut .r{display:flex;justify-content:space-between;align-items:center;padding:.52rem 0;border-bottom:1px solid var(--line);font-size:.92rem;font-weight:600}
.nut .r b{font-weight:800;font-variant-numeric:tabular-nums;color:var(--ink)}
.nut .r.sub{padding-left:1.2rem;color:var(--soft);font-weight:500}
.nut .fine{font-size:.78rem;color:var(--soft);margin:.85rem 0 0;line-height:1.55;font-weight:500}
.ver{background:#E7F0E9;border:1px solid #A8CDB5;color:#1F5735;font-family:var(--f-d);font-size:.78rem;font-weight:700;padding:.65rem .9rem;border-radius:4px;margin-top:.85rem;line-height:1.45}
.unver{background:#FDF3D8;border:1px solid var(--brassl);color:#75570D;font-family:var(--f-d);font-size:.78rem;font-weight:700;padding:.65rem .9rem;border-radius:4px;margin-top:.85rem;line-height:1.45}

/* ── rows / three-up ── */
.rows{border-top:1px solid var(--ink)}
.row{display:flex;justify-content:space-between;align-items:baseline;gap:1.2rem;padding:1.1rem .1rem;border-bottom:1px solid var(--line)}
.row b{font-family:var(--f-d);font-weight:700;font-size:1.1rem;flex-shrink:0;min-width:11rem}
.row em{font-style:normal;color:var(--soft);flex:1;font-size:.99rem}
.row span{font-family:var(--f-d);font-weight:700;color:var(--leaf);font-size:.92rem;flex-shrink:0;font-variant-numeric:tabular-nums}
@media(max-width:700px){.row{flex-wrap:wrap;gap:.2rem}.row b,.row em,.row span{width:100%;min-width:0}}
.husk{background:var(--husk)}
.three{display:grid;grid-template-columns:repeat(auto-fit,minmax(238px,1fr));gap:2.2rem}
.three.four{grid-template-columns:repeat(4,minmax(0,1fr));gap:1.8rem}
@media(max-width:980px){.three.four{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){.three.four{grid-template-columns:1fr}}
.three.four-steps{grid-template-columns:repeat(4,1fr);gap:1.8rem}
@media(max-width:980px){.three.four-steps{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.three.four-steps{grid-template-columns:1fr}}
.three .no{font-family:var(--f-d);font-weight:900;font-size:.82rem;color:var(--brass);letter-spacing:.1em;margin-bottom:.7rem;font-variant-numeric:tabular-nums}
.three h3{margin-bottom:.4rem}.three p{color:var(--soft);font-size:1rem;margin:0}

/* Quality & Compliance Luxury Grid */
.badges{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.8rem;align-items:stretch}
@media(max-width:980px){.badges{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.badges{grid-template-columns:1fr}}

.badge{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.6rem 1.7rem;display:flex;align-items:flex-start;gap:1.2rem;box-shadow:0 4px 18px -6px rgba(7,20,11,.05);transition:all .25s cubic-bezier(.16,1,.3,1);position:relative;height:100%;box-sizing:border-box}
.badge:hover{border-color:var(--brass);transform:translateY(-3px);box-shadow:0 12px 28px -8px rgba(197,160,89,.22)}
.badge svg{width:36px;height:36px;color:var(--brass);flex-shrink:0;margin-top:.15rem}
.badge-content{display:flex;flex-direction:column;flex:1}
.badge b{font-family:var(--f-d);font-size:1.02rem;font-weight:800;color:var(--ink);letter-spacing:.01em;line-height:1.3;margin-bottom:.35rem}
.badge span{font-size:.86rem;color:var(--soft);line-height:1.45}

.certs{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4rem;margin-top:1.8rem;background:transparent;border:none;align-items:stretch}
@media(max-width:980px){.certs{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.certs{grid-template-columns:1fr}}
.cert{background:#fff;border:1px solid var(--line);border-radius:8px;padding:1.4rem 1.6rem;box-shadow:0 4px 18px -6px rgba(7,20,11,.05);transition:all .25s ease;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
.cert:hover{border-color:var(--brass);transform:translateY(-3px);box-shadow:0 12px 28px -8px rgba(197,160,89,.22)}
.cert i{font-style:normal;display:block;font-family:var(--f-d);font-size:.72rem;font-weight:800;letter-spacing:.14em;color:var(--brass);margin-bottom:.45rem;text-transform:uppercase}
.cert b{font-family:var(--f-d);font-weight:800;font-size:1.05rem;color:var(--ink);font-variant-numeric:tabular-nums}
.aboutbox{width:100%;max-width:100%;margin-inline:auto;font-size:1.12rem;line-height:1.78;color:var(--soft);background:#fff;border:1px solid var(--line);border-radius:8px;padding:clamp(1.6rem,4vw,2.6rem);box-shadow:0 8px 24px -12px rgba(7,20,11,.06);box-sizing:border-box}
.aboutbox p:last-child{margin-bottom:0}

/* ── contact ── */
.contact{background:var(--green);color:#EFF2EA}
.contact h2{color:#fff}.contact .head p{color:#B4C2B7}.contact .eye{color:var(--brassl)}
.cgrid{display:grid;grid-template-columns:1.25fr .75fr;gap:clamp(2rem,5vw,3.5rem)}
@media(max-width:880px){.cgrid{grid-template-columns:1fr}}
.form{display:grid;gap:.85rem}
.form label{display:block;font-family:var(--f-d);font-size:.72rem;font-weight:700;letter-spacing:.07em;margin-bottom:.35rem;color:#93A497}
.form input,.form textarea,.form select{width:100%;padding:.78rem .95rem;background:#16281D;border:1px solid rgba(255,255,255,.18);border-radius:3px;font-family:var(--f-d);font-size:.98rem;color:#fff}
.form textarea{min-height:88px;resize:vertical}
.form input::placeholder,.form textarea::placeholder{color:#75887C}
.form .f2{display:grid;grid-template-columns:1fr 1fr;gap:.85rem}
.phone-input-wrap{display:flex;gap:.5rem;width:100%}
.phone-code-select{width:auto;min-width:130px;max-width:145px;flex-shrink:0;background:#16281D;border:1px solid rgba(255,255,255,.18);border-radius:3px;font-family:var(--f-d);font-size:.84rem;font-weight:600;color:#fff;cursor:pointer;padding:0 .4rem;height:44px;box-sizing:border-box}
.phone-input-wrap input{flex:1;min-width:0;height:44px;box-sizing:border-box}
@media(max-width:480px){.phone-code-select{min-width:108px;font-size:.76rem;padding:0 .25rem}}
@media(max-width:540px){.form .f2{grid-template-columns:1fr}}
.form .fine{font-family:var(--f-d);font-size:.78rem;color:#75887C;margin:.15rem 0 0}
.reach{display:grid;gap:1.3rem;align-content:start}
.reach a,.reach div{display:flex;gap:.85rem;align-items:flex-start;text-decoration:none}
.reach svg{width:19px;height:19px;color:var(--brassl);flex-shrink:0;margin-top:5px}
.reach i{font-style:normal;display:block;font-family:var(--f-d);font-size:.66rem;font-weight:700;color:#75887C;letter-spacing:.1em;margin-bottom:.1rem}
.reach p{margin:0;font-family:var(--f-d);font-size:1.03rem;font-weight:600;color:#fff}

.foot{background:#040D07;color:#C5D4C9;padding-block:5rem 2.5rem;border-top:1px solid rgba(223,183,88,.22)}
.foot-grid{display:grid;grid-template-columns:1.8fr 1.2fr 1fr 1fr;gap:clamp(1.8rem,4vw,3.5rem);padding-bottom:3.5rem;border-bottom:1px solid rgba(255,255,255,.08)}
@media(max-width:900px){.foot-grid{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.foot-grid{grid-template-columns:1fr}}
.foot h4{font-family:var(--f-d);font-size:.74rem;font-weight:800;letter-spacing:.18em;color:var(--brassl);margin-bottom:1.4rem}
.foot ul{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}
.foot a,.foot-link{color:#9EAEA2;text-decoration:none;font-size:.9rem;background:none;border:0;padding:0;font-family:inherit;cursor:pointer;text-align:left;transition:color .18s}
.foot a:hover,.foot-link:hover{color:#FFF}
.foot-bot{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:2rem;font-size:.78rem;color:#6C7D71}
.foot-credit{margin:1.4rem 0 0;padding-top:1.1rem;border-top:1px solid rgba(255,255,255,.06);text-align:center;font-size:.78rem;letter-spacing:.04em;color:#6C7D71}
.foot-credit b{color:var(--brassl);font-weight:700}
.foot-credit a{font-size:inherit;white-space:nowrap}
.foot{padding-bottom:5.5rem}  /* keeps the last footer line clear of the floating WhatsApp / theme buttons */

.fwa{position:fixed;right:1.25rem;bottom:1.25rem;z-index:60;width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:#25D366;color:#fff;text-decoration:none;box-shadow:0 6px 20px -4px rgba(0,0,0,.35);transition:transform .18s}
.fwa:hover{transform:scale(1.07)}
.fwa svg{width:30px;height:30px}
@media(max-width:600px){.fwa{width:52px;height:52px;right:1rem;bottom:1rem}.fwa svg{width:28px;height:28px}}

.scanbar{background:var(--green);color:#EFF2EA;font-family:var(--f-d);padding:.75rem var(--pad);text-align:center;border-bottom:2px solid var(--brass)}
.scanbar b{display:block;font-size:.72rem;font-weight:800;letter-spacing:.22em;color:var(--brassl)}
.scanbar span{display:block;font-size:.85rem;font-weight:500;color:#B4C2B7;margin-top:.2rem}

/* ═══════════════ MOTION SYSTEM ═══════════════
   Reveals are staggered per section, never per page.
   Everything respects prefers-reduced-motion.       */
.rv{opacity:0;transform:translateY(12px);transition:opacity .45s ease,transform .45s cubic-bezier(.22,1,.36,1);transition-delay:var(--d,0ms);will-change:opacity,transform}
.rv.in{will-change:auto}
.rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.rv{opacity:1;transform:none}}

#app{animation:pageIn .45s cubic-bezier(.22,1,.36,1)}
@keyframes pageIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.top.shrunk{box-shadow:0 10px 30px -24px rgba(15,33,23,.7)}
.top.shrunk .wrap{height:60px}
.top .wrap{transition:height .28s ease}

.prog{position:fixed;top:0;left:0;height:2px;background:var(--brass);z-index:100;width:0;transition:width .1s linear}

/* hero entrance */
.hero .kicker,.hero h1,.hero .lead,.hero .btns,.hero .glance,.hero-art{
  opacity:0;transform:translateY(22px);animation:heroIn .85s cubic-bezier(.22,1,.36,1) forwards}
.hero .kicker{animation-delay:.05s}
.hero h1{animation-delay:.14s}
.hero .lead{animation-delay:.24s}
.hero .btns{animation-delay:.34s}
.hero .glance{animation-delay:.44s}
.hero-art{animation-delay:.3s}
@keyframes heroIn{to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){
  .hero .kicker,.hero h1,.hero .lead,.hero .btns,.hero .glance,.hero-art{animation:none;opacity:1;transform:none}
}

/* full-bleed hero slideshow — used the moment real photos exist */
.hero.shot{padding:0}
.hero-slides{position:absolute;inset:0;z-index:0;overflow:hidden}
.hero-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transition:opacity 1.4s ease;transform:scale(1.04);animation:kb 14s ease-in-out infinite alternate}
.hero-slide.on{opacity:1}
@keyframes kb{from{transform:scale(1.04)}to{transform:scale(1.14)}}
.hero.shot::before{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(100deg,rgba(15,33,23,.94) 0%,rgba(15,33,23,.82) 42%,rgba(15,33,23,.4) 100%)}
.hero.shot .wrap{position:relative;z-index:2;grid-template-columns:1fr;max-width:1140px}
.hero.shot .hero-art{display:none}
.hero-dots{display:flex;gap:.4rem;margin-top:1.8rem}
.hero-dots button{width:28px;height:3px;border:0;background:rgba(255,255,255,.3);cursor:pointer;padding:0;transition:background .25s}
.hero-dots button.on{background:var(--brassl)}

/* ticker */
.tick{background:var(--brass);color:#14201A;overflow:hidden;padding:.55rem 0;border-bottom:1px solid rgba(0,0,0,.14)}
.tick-in{display:flex;width:max-content;animation:roll 46s linear infinite;font-family:var(--f-d);font-weight:700;font-size:.78rem;letter-spacing:.02em}
.tick:hover .tick-in{animation-play-state:paused}
.tick-in i{font-style:normal;padding:0 1.3rem;display:flex;align-items:center;gap:1.3rem;white-space:nowrap}
.tick-in i::after{content:"";width:4px;height:4px;background:#14201A;transform:rotate(45deg)}
@keyframes roll{to{transform:translateX(-50%)}}
@media (prefers-reduced-motion:reduce){.tick-in{animation:none}}

/* process chain */
.chain{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.chn{background:var(--card);padding:1.5rem 1.35rem;position:relative;transition:background .25s}
.chn:hover{background:#FCFCF9}
.chn svg{width:34px;height:34px;color:var(--leaf);margin-bottom:.9rem;transition:transform .3s}
.chn:hover svg{transform:translateY(-3px) scale(1.06)}
.chn i{font-style:normal;position:absolute;top:1.15rem;right:1.3rem;font-family:var(--f-d);font-weight:900;font-size:.72rem;color:var(--line2);letter-spacing:.08em}
.chn h3{margin-bottom:.4rem}
.chn p{color:var(--soft);font-size:.98rem;margin:0;line-height:1.5}



/* counters */
.bd b .cu{display:inline;font:inherit;font-weight:inherit;font-size:inherit;color:inherit;margin:0;letter-spacing:inherit;font-variant-numeric:tabular-nums}


/* ── nutrition comparison ── */
.sortbar{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1.6rem;align-items:center}
.sortbar .lb{font-family:var(--f-d);font-size:.7rem;font-weight:700;letter-spacing:.1em;color:var(--faint);margin-right:.3rem}
.cmp{border-top:1px solid var(--ink)}
.cmprow{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr) auto;gap:1rem;align-items:center;
  width:100%;text-align:left;background:none;border:0;border-bottom:1px solid var(--line);
  padding:1rem .2rem;cursor:pointer;font:inherit;color:inherit;transition:background .18s,padding .18s}
.cmprow:hover{background:var(--husk);padding-left:.8rem}
.cmpname b{display:block;font-family:var(--f-d);font-weight:700;font-size:1.02rem;line-height:1.3}
.cmpname i{font-style:normal;display:block;font-family:var(--f-d);font-size:.68rem;font-weight:700;letter-spacing:.1em;color:var(--brass);margin-top:.25rem}
.bar{height:11px;background:var(--husk);border-radius:2px;overflow:hidden}
.bar span{display:block;height:100%;background:linear-gradient(90deg,var(--leaf),#4F9268);width:0;
  border-radius:2px;transition:width 1s cubic-bezier(.22,1,.36,1)}
.cmpval{font-family:var(--f-d);font-weight:800;font-size:1rem;font-variant-numeric:tabular-nums;min-width:5.2rem;text-align:right}
@media(max-width:640px){
  .cmprow{grid-template-columns:1fr auto;gap:.5rem 1rem}
  .cmpname{grid-column:1}
  .cmpval{grid-column:2;align-self:start}
  .bar{grid-column:1/-1}
}
.ntable{overflow-x:auto;border:1px solid var(--line);border-radius:4px;margin-top:2rem;background:var(--card)}
.ntable table{border-collapse:collapse;width:100%;min-width:620px;font-family:var(--f-d);font-size:.9rem}
.ntable th,.ntable td{padding:.72rem .9rem;text-align:right;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums;white-space:nowrap}
.ntable th{background:#FCFCF9;font-weight:700;font-size:.7rem;letter-spacing:.08em;color:var(--faint);position:sticky;top:0}
.ntable th:first-child,.ntable td:first-child{text-align:left;position:sticky;left:0;background:var(--card);font-weight:700;white-space:normal;min-width:11rem}
.ntable th:first-child{background:#FCFCF9;z-index:2}
.ntable tr:last-child td{border-bottom:0}
.ntable tbody tr:hover td{background:var(--husk)}
.labnote{background:#FDF3D8;border:1px solid var(--brassl);border-left-width:4px;color:#75570D;
  padding:1rem 1.15rem;border-radius:3px;margin-bottom:2rem;font-size:1rem}
.labnote b{font-family:var(--f-d);display:block;margin-bottom:.25rem}


/* ── category tiles: image-led, one per family ── */
.tiles{display:grid;grid-template-columns:repeat(5,1fr);gap:1rem}
@media(max-width:1100px){.tiles{grid-template-columns:repeat(3,1fr)}}
@media(max-width:700px){.tiles{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.tiles{grid-template-columns:1fr;gap:.8rem}}
.tile{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:4px;
  background:var(--husk);padding:0;cursor:pointer;font:inherit;color:inherit;text-align:left;
  aspect-ratio:4/5;display:block;transition:border-color .22s,transform .22s,box-shadow .22s}
.tile:hover{border-color:var(--line2);transform:translateY(-3px);
  box-shadow:0 18px 36px -26px rgba(15,33,23,.55)}
.tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  object-position:50% 42%;transition:transform .55s cubic-bezier(.22,1,.36,1)}
.tile:hover img{transform:scale(1.04)}
.tile::after{content:"";position:absolute;left:0;right:0;bottom:0;height:62%;
  background:linear-gradient(to top,rgba(15,33,23,.93) 18%,rgba(15,33,23,.72) 48%,transparent 100%)}
.tile-plain{background:
  radial-gradient(circle at 35% 30%,rgba(181,133,42,.10),transparent 62%),
  repeating-linear-gradient(45deg,#F1EFE6,#F1EFE6 11px,#ECEADF 11px,#ECEADF 22px)}
.tile-b{position:absolute;left:0;right:0;bottom:2.4rem;z-index:2;padding:0 1rem}
.tile-b b{display:block;font-family:var(--f-d);font-weight:800;font-size:1.05rem;
  letter-spacing:-.02em;color:#fff;line-height:1.2}
.tile-b > i{display:block;font-style:normal;font-family:var(--f-d);font-size:.7rem;
  font-weight:600;letter-spacing:.1em;color:var(--brassl);margin-top:.3rem}
.tile-go{position:absolute;left:0;right:0;bottom:.95rem;z-index:2;padding:0 1rem;
  font-family:var(--f-d);font-size:.74rem;font-weight:600;color:#A9BAAE;transition:color .18s}
.tile:hover .tile-go{color:#fff}
@media(max-width:520px){
  .tile-b b{font-size:.92rem}
  .tile-b{bottom:2.1rem;padding:0 .75rem}
  .tile-go{padding:0 .75rem;font-size:.68rem}
}


/* ── pack viewer ── */
.zoom{position:absolute;right:.7rem;bottom:.7rem;width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line2);background:rgba(251,250,246,.92);backdrop-filter:blur(4px);
  display:grid;place-items:center;cursor:pointer;color:var(--ink);transition:transform .16s,border-color .16s}
.zoom svg{width:17px;height:17px}
.zoom:hover{transform:scale(1.07);border-color:var(--ink)}
.thumbs{display:grid;grid-template-columns:repeat(auto-fit,minmax(88px,1fr));gap:.5rem;margin-top:.7rem}
.thumb{border:1.5px solid var(--line);border-radius:5px;background:var(--husk);padding:0;
  cursor:pointer;overflow:hidden;font:inherit;color:inherit;transition:border-color .18s,box-shadow .18s}
.thumb.on{border-color:var(--brass);box-shadow:0 0 0 1px var(--brass)}
.thumb:hover{border-color:var(--line2)}
.thumb img{width:100%;aspect-ratio:1/1;object-fit:contain;padding:4px;display:block;background:var(--husk)}
.thumb span{display:block;font-family:var(--f-d);font-size:.65rem;font-weight:700;letter-spacing:.04em;
  color:var(--soft);padding:.38rem .25rem;text-align:center;border-top:1px solid var(--line);background:#FCFCF9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thumb.on span{color:var(--ink);font-weight:800}
.viewcap{font-family:var(--f-d);font-size:.72rem;font-weight:600;letter-spacing:.06em;
  color:var(--faint);margin:.6rem 0 0;text-align:center}

/* ── lightbox ── */
.lb{position:fixed;inset:0;z-index:120;background:rgba(10,20,14,.94);display:none;
  place-items:center;touch-action:none}
.lb.on{display:grid}
.lb img{max-width:94vw;max-height:82vh;transform-origin:center;transition:transform .2s ease;
  cursor:grab;user-select:none;-webkit-user-drag:none}
.lb.zoomed img{cursor:grab;transition:none}
.lb-bar{position:absolute;bottom:1.1rem;left:50%;transform:translateX(-50%);display:flex;gap:.4rem;
  background:rgba(251,250,246,.94);border-radius:99px;padding:.35rem}
.lb-bar button{width:42px;height:42px;border:0;border-radius:50%;background:transparent;cursor:pointer;
  font-family:var(--f-d);font-weight:800;font-size:1.05rem;color:var(--ink)}
.lb-bar button:hover{background:var(--husk)}
.lb-x{position:absolute;top:1rem;right:1rem;width:42px;height:42px;border-radius:50%;
  border:1px solid rgba(255,255,255,.3);background:transparent;color:#fff;cursor:pointer;font-size:1.2rem}
.lb-cap{position:absolute;top:1.2rem;left:1.2rem;font-family:var(--f-d);font-size:.78rem;
  font-weight:700;letter-spacing:.08em;color:#A9BAAE;max-width:60vw}
@media(max-width:620px){.lb img{max-width:96vw;max-height:74vh}}


/* ── swipeable gallery ── */
.gal{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:4px;background:var(--husk)}
.gal-track{display:flex;transition:transform .38s cubic-bezier(.22,1,.36,1);touch-action:pan-y}
.gal-track.drag{transition:none}
.gal-slide{flex:0 0 100%;min-width:100%}
.gal .ph{aspect-ratio:1/1;border:0;border-radius:0;background:transparent}
.gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;
  border:1px solid var(--line2);background:rgba(251,250,246,.9);backdrop-filter:blur(4px);
  font-family:var(--f-d);font-size:1.3rem;line-height:1;color:var(--ink);cursor:pointer;
  display:grid;place-items:center;opacity:0;transition:opacity .2s,transform .16s}
.gal:hover .gal-nav{opacity:1}
.gal-nav:hover{transform:translateY(-50%) scale(1.08)}
.gal-nav.prev{left:.6rem}.gal-nav.next{right:.6rem}
@media(hover:none){.gal-nav{opacity:.92}}
.gal-dots{position:absolute;left:0;right:0;bottom:.7rem;display:flex;justify-content:center;gap:.35rem}
.gal-dots button{width:22px;height:3px;border:0;padding:0;background:rgba(22,33,27,.22);cursor:pointer;border-radius:2px;transition:background .2s}
.gal-dots button.on{background:var(--brass)}
.gal .zoom{z-index:3}
@media(max-width:620px){.gal-nav{width:34px;height:34px;font-size:1.1rem}}

/* ── EXPORT PACKING & INTERNATIONAL WEIGHT IMPROVISATION DISCLAIMER ── */
.export-pack-disclaimer{margin-top:2.2rem;padding:1.6rem 1.8rem;background:linear-gradient(135deg,#0B1F12 0%,#122E1C 100%);border:1px solid rgba(223,183,88,.4);border-radius:10px;color:#EFF4F0;box-shadow:0 14px 36px -14px rgba(7,20,11,.35)}
.epd-badge{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--f-d);font-size:.7rem;font-weight:800;letter-spacing:.12em;color:var(--brassl);background:rgba(223,183,88,.14);border:1px solid rgba(223,183,88,.35);padding:.3rem .75rem;border-radius:99px;margin-bottom:1.1rem}
.epd-grid{display:grid;grid-template-columns:1.25fr 1fr;gap:1.8rem;align-items:center}
.epd-main{min-width:0}
.epd-main h3{color:#FFFFFF;font-family:var(--f-serif);font-size:clamp(1.2rem,2.2vw,1.48rem);font-weight:700;margin-bottom:.6rem;line-height:1.25}
.epd-main p{color:#C8D8CC;font-size:.92rem;line-height:1.62;margin:0 0 1.1rem}
.epd-main b{color:#FFFFFF}
.epd-pills{display:flex;flex-wrap:wrap;gap:.45rem}
.epd-pills span{font-family:var(--f-d);font-size:.74rem;font-weight:700;padding:.32rem .68rem;border-radius:4px;background:rgba(255,255,255,.07);border:1px solid rgba(223,183,88,.28);color:var(--brassl)}

.epd-pouch-card{display:flex;align-items:center;gap:1.15rem;background:rgba(255,255,255,.04);border:1px solid rgba(223,183,88,.32);border-radius:8px;padding:1.15rem 1.25rem;box-shadow:0 8px 24px rgba(0,0,0,.25);transition:border-color .2s ease}
.epd-pouch-card:hover{border-color:var(--brass)}
.epd-pouch-thumb{width:112px;height:112px;background:#FAF7F2;border-radius:6px;padding:5px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:0 4px 12px rgba(0,0,0,.15)}
.epd-pouch-thumb img{max-width:100%;max-height:100%;object-fit:contain;display:block}
.epd-pouch-info{display:flex;flex-direction:column;align-items:flex-start;min-width:0}
.epd-pouch-tag{display:inline-block;font-family:var(--f-d);font-size:.65rem;font-weight:800;letter-spacing:.09em;color:#4ADE80;text-transform:uppercase;margin-bottom:.35rem;line-height:1.2}
.epd-pouch-info h4{color:#FFFFFF;font-family:var(--f-serif);font-size:1.15rem;font-weight:700;margin:0 0 .35rem;line-height:1.25}
.epd-pouch-info p{color:#C5D4C9;font-size:.84rem;line-height:1.48;margin:0 0 .85rem}
.epd-pouch-info .btn{padding:.52rem 1.15rem;font-size:.82rem;font-weight:700;border-radius:4px}

@media(max-width:960px){
  .epd-grid{grid-template-columns:1fr;gap:1.4rem}
}
@media(max-width:540px){
  .export-pack-disclaimer{padding:1.2rem}
  .epd-pouch-card{flex-direction:column;text-align:center;align-items:center}
  .epd-pouch-info{align-items:center}
}

/* ── RATES BOARD ── */
.rates-top{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.2rem;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--line)}
.rates-badge{display:inline-flex;align-items:center;gap:.4rem;padding:.32rem .75rem;background:#EBF7EE;border:1px solid #A7E0B4;color:#1B6634;font-family:var(--f-d);font-size:.74rem;font-weight:700;letter-spacing:.08em;border-radius:99px;margin-bottom:.8rem}
.rates-date{font-family:var(--f-d);font-size:.92rem;color:var(--soft);margin-top:.35rem}
.rates-actions{display:flex;gap:.6rem;flex-wrap:wrap}

.rates-search-bar{position:relative;margin-bottom:1.4rem}
.rates-search-bar input{width:100%;height:48px;border:1px solid var(--line2);border-radius:4px;padding:0 1rem 0 2.8rem;background:#fff;font-family:var(--f-d);font-size:.95rem;transition:border-color .2s}
.rates-search-bar input:focus{border-color:var(--green);outline:none}
.rates-search-bar svg{position:absolute;left:1rem;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}

.rates-cat-title{font-family:var(--f-d);font-size:1.05rem;font-weight:800;letter-spacing:-.015em;margin:2rem 0 1rem;padding-bottom:.4rem;border-bottom:2px solid var(--line);display:flex;align-items:center;justify-content:space-between}
.rates-cat-title span{font-size:.78rem;font-weight:600;color:var(--faint);letter-spacing:normal}

.table-scroll-wrap{width:100%;overflow-x:auto;border:1px solid var(--line);border-radius:4px;background:var(--card);margin-bottom:1.8rem;box-sizing:border-box}
.rates-table{width:100%;border-collapse:collapse;background:var(--card);border:0;margin-bottom:0}
.rates-table th{background:var(--husk);font-family:var(--f-d);font-size:.72rem;font-weight:700;letter-spacing:.08em;color:var(--soft);text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line)}
.rates-table td{padding:.95rem 1rem;border-bottom:1px solid var(--line);font-family:var(--f-d);font-size:.92rem;vertical-align:middle}
.rates-table tr:last-child td{border-bottom:0}
.rates-table tr:hover td{background:#FAF9F5}
.rates-table .r-name{font-weight:700;color:var(--ink)}
.rates-table .r-name > div{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem}
.rates-table .r-tag{display:inline-block;padding:.2rem .5rem;border-radius:3px;background:var(--husk);font-size:.66rem;font-weight:700;color:var(--soft);letter-spacing:.04em}
.rates-table .r-price{font-weight:900;font-size:1.15rem;font-variant-numeric:tabular-nums;color:var(--green);white-space:nowrap}
.rates-table .r-unit{font-size:.72rem;color:var(--faint);font-weight:600}
.rates-table .r-change{display:inline-flex;align-items:center;gap:3px;font-size:.74rem;font-weight:700;font-variant-numeric:tabular-nums}
.rates-table .r-up{color:#15803D}
.rates-table .r-down{color:#DC2626}
.rates-table .r-same{color:var(--faint)}
.rates-table .r-act{text-align:right;white-space:nowrap}
.rates-btn-sample{background:transparent;border:1px solid var(--line2);border-radius:3px;padding:.35rem .65rem;font-family:var(--f-d);font-weight:700;font-size:.76rem;cursor:pointer;color:var(--ink);margin-right:.4rem;transition:all .16s}
.rates-btn-sample:hover{background:var(--green);color:#fff;border-color:var(--green)}
.rates-btn-wa{display:inline-flex;align-items:center;gap:.3rem;background:#25D366;color:#fff;text-decoration:none;border-radius:3px;padding:.38rem .7rem;font-family:var(--f-d);font-weight:700;font-size:.76rem;transition:transform .12s}
.rates-btn-wa:hover{transform:translateY(-1px)}
.rates-btn-wa svg{width:13px;height:13px;fill:currentColor}

@media(max-width:720px){
  .rates-table th:nth-child(3),.rates-table td:nth-child(3){display:none}
  .rates-table td{padding:.75rem .6rem;font-size:.84rem}
  .rates-table .r-price{font-size:1rem}
  .rates-btn-sample{padding:.3rem .5rem;font-size:.7rem}
  .rates-btn-wa span{display:none}
}

/* ── ADMIN PANEL ── */
.admin-wrap{max-width:1280px;width:100%;margin:2rem auto;padding:0 var(--pad);box-sizing:border-box}
.admin-card{background:var(--card);border:1px solid var(--line);border-radius:6px;padding:clamp(1.2rem,3.2vw,2rem);box-shadow:0 8px 24px -12px rgba(15,33,23,.12);width:100%;box-sizing:border-box;overflow:hidden}
.admin-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.4rem;padding-bottom:1.2rem;border-bottom:1px solid var(--line)}
.admin-head h2{margin:0;font-size:1.6rem}
.admin-head p{margin:.25rem 0 0;font-size:.9rem;color:var(--soft)}
.admin-head-btns{display:flex;gap:.6rem;align-items:center;flex-wrap:wrap;flex-shrink:0}
.admin-actions-bar{display:flex;gap:.7rem;flex-wrap:wrap;align-items:center;margin-bottom:1.4rem}
.admin-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;height:40px;padding:0 1.1rem;border-radius:4px;font-family:var(--f-d);font-weight:700;font-size:.84rem;line-height:1;cursor:pointer;border:1px solid transparent;transition:all .15s;box-sizing:border-box;white-space:nowrap}
.admin-btn.save{background:var(--green);color:#fff;border-color:var(--green)}
.admin-btn.save:hover{background:#1B3C2A}
.admin-btn.export{background:var(--husk);border-color:var(--line2);color:var(--ink)}
.admin-btn.export:hover{border-color:var(--ink)}
.admin-btn.reset{background:transparent;border-color:var(--line2);color:var(--faint)}
.admin-btn.reset:hover{color:#DC2626;border-color:#DC2626}

.admin-meta-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-bottom:1.4rem;width:100%;box-sizing:border-box}
@media(max-width:640px){.admin-meta-grid{grid-template-columns:1fr}}
.admin-meta-input{width:100%;height:42px;padding:0 .8rem;border:1px solid var(--line2);border-radius:4px;background:var(--paper);color:var(--ink);font-family:var(--f-d);font-size:.92rem;box-sizing:border-box}
.admin-rates-table th{font-size:.74rem;white-space:nowrap;padding:.65rem .5rem;text-align:left}
.admin-rates-table td{padding:.45rem .4rem}
.adm-price-30k{border-left:3px solid var(--brass)!important}
.adm-price-1k{border-left:3px solid #2563EB!important}
.adm-price-500g{border-left:3px solid #16A34A!important}

.admin-row-input{width:100px;height:36px;padding:0 .5rem;border:1px solid var(--line2);border-radius:4px;font-family:var(--f-d);font-weight:700;font-size:.88rem;text-align:right;box-sizing:border-box}
.admin-row-input:focus,.admin-meta-input:focus{border-color:var(--green);outline:none}
.admin-select{height:36px;padding:0 .5rem;border:1px solid var(--line2);border-radius:4px;font-family:var(--f-d);font-size:.82rem;box-sizing:border-box}

.admin-toast{position:fixed;bottom:2rem;right:2rem;background:var(--green);color:#fff;padding:.9rem 1.5rem;border-radius:4px;box-shadow:0 12px 30px rgba(0,0,0,.25);font-family:var(--f-d);font-weight:700;font-size:.9rem;z-index:9999;transform:translateY(120%);transition:transform .25s ease}
.admin-toast.show{transform:translateY(0)}

/* ── HOME RATES TICKER / BANNER ── */
.home-rates-strip{background:var(--green);color:#EFF2EA;padding:.75rem 0;border-bottom:1px solid rgba(255,255,255,.1)}
.home-rates-strip .wrap{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.hrs-left{display:flex;align-items:center;gap:.75rem;font-family:var(--f-d);font-size:.82rem;font-weight:700}
.hrs-link{display:inline-flex;align-items:center;gap:.4rem;color:var(--brassl);text-decoration:none;font-family:var(--f-d);font-weight:700;font-size:.82rem}
.hrs-link:hover{text-decoration:underline}


/* ═══════════════════════════════════════════════════════════
   B2B & LUXURY TRADING ENHANCEMENTS (Agrospark / Shivansh)
   ═══════════════════════════════════════════════════════════ */

/* ── MULTI-CURRENCY SWITCHER ── */
.curr-switch{display:flex;align-items:center;background:rgba(255,255,255,.06);border:1px solid rgba(223,183,88,.28);border-radius:99px;padding:2px;gap:2px}
.curr-switch button{background:none;border:0;color:#9CB3A3;font-family:var(--f-d);font-size:.74rem;font-weight:700;padding:.32rem .62rem;border-radius:99px;cursor:pointer;transition:all .18s;white-space:nowrap}
.curr-switch button:hover{color:#FFF}
.curr-switch button.on{background:linear-gradient(135deg,var(--brassl),var(--brass));color:#07140B;font-weight:800;box-shadow:0 2px 8px rgba(181,133,42,.4)}

/* ── NAV CART & CALC BUTTONS ── */
.btn-cart-nav, .btn-calc-nav{display:inline-flex;align-items:center;gap:.4rem;padding:.38rem .75rem;border-radius:4px;font-family:var(--f-d);font-size:.78rem;font-weight:700;cursor:pointer;transition:all .18s;flex-shrink:0;border:1px solid rgba(223,183,88,.3);background:rgba(223,183,88,.08);color:var(--brassl)}
.btn-cart-nav:hover, .btn-calc-nav:hover{background:var(--brass);color:#07130B;border-color:var(--brass)}
.cart-badge{background:#10B981;color:#07140B;font-size:.68rem;font-weight:900;border-radius:99px;padding:.1rem .42rem;line-height:1}

/* ── MANDI & PORT TICKER ── */
.mandi-ticker{background:#040B06;border-bottom:1px solid rgba(223,183,88,.22);color:#E2ECE5;font-family:var(--f-d);font-size:.76rem;height:35px;display:flex;align-items:center;overflow:hidden;position:relative;z-index:90}
.mandi-ticker-label{display:flex;align-items:center;gap:.45rem;padding:0 1rem;background:linear-gradient(90deg,#07150C 85%,transparent);font-weight:800;letter-spacing:.08em;color:var(--brassl);z-index:2;white-space:nowrap;height:100%;border-right:1px solid rgba(223,183,88,.22);flex-shrink:0}
.mandi-ticker-wrap{overflow:hidden;white-space:nowrap;width:100%;display:flex}
.mandi-ticker-track{display:inline-flex;align-items:center;gap:2rem;animation:tickerRun 55s linear infinite;white-space:nowrap;padding-left:1rem}
.mandi-ticker:hover .mandi-ticker-track{animation-play-state:paused}
@keyframes tickerRun{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
.ticker-item{display:inline-flex;align-items:center;gap:.45rem}
.ticker-sep{color:rgba(223,183,88,.35)}
.ticker-up{color:#4ADE80;font-weight:700}
.ticker-down{color:#F87171;font-weight:700}
.ticker-tag{font-size:.65rem;padding:.1rem .35rem;border-radius:3px;background:rgba(255,255,255,.08);color:var(--brassl);font-weight:700}

/* ── FLOATING RFQ BUTTON ── */
.floating-rfq-btn{position:fixed;bottom:85px;right:22px;z-index:990;background:linear-gradient(135deg,#07150C,#153823);color:#FFF;border:1.5px solid var(--brass);box-shadow:0 10px 28px rgba(0,0,0,.5);border-radius:50px;padding:.6rem 1.1rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:all .25s ease}
.floating-rfq-btn:hover{transform:translateY(-3px) scale(1.02);box-shadow:0 14px 35px rgba(223,183,88,.4)}
.frfq-icon{position:relative;display:flex;align-items:center;color:var(--brassl)}
.frfq-badge{position:absolute;top:-8px;right:-10px;background:#10B981;color:#07140B;font-size:.68rem;font-weight:900;border-radius:99px;padding:.15rem .45rem;border:2px solid #07150C}
.frfq-text{display:flex;flex-direction:column;text-align:left;line-height:1.2}
.frfq-text b{font-family:var(--f-d);font-size:.85rem;color:#FFF;letter-spacing:.02em}
.frfq-text span{font-family:var(--f-d);font-size:.7rem;color:var(--brassl);font-weight:600}
.frfq-arrow{color:var(--brassl);font-weight:800;font-size:1.1rem}

/* ── RFQ BASKET DRAWER ── */
.rfq-drawer-overlay{position:fixed;inset:0;background:rgba(4,11,6,.75);backdrop-filter:blur(6px);z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s ease}
.rfq-drawer-overlay.open{opacity:1;pointer-events:auto}
.rfq-drawer{position:fixed;top:0;right:0;bottom:0;width:min(520px,100vw);background:#FFF;box-shadow:-10px 0 40px rgba(0,0,0,.4);z-index:1001;display:flex;flex-direction:column;transform:translateX(100%);transition:transform .3s cubic-bezier(.16,1,.3,1)}
.rfq-drawer.open{transform:translateX(0)}
.rfq-header{background:#07150C;color:#FFF;padding:1.4rem 1.6rem;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(223,183,88,.3)}
.rfq-kicker{font-family:var(--f-d);font-size:.68rem;font-weight:800;letter-spacing:.15em;color:var(--brassl);margin-bottom:.3rem}
.rfq-header h3{color:#FFF;font-size:1.35rem;margin:0}
.rfq-header p{color:#A0B2A6;font-size:.82rem;margin:.3rem 0 0}
.rfq-close{background:none;border:0;color:#FFF;font-size:1.8rem;line-height:1;cursor:pointer;padding:0 .4rem;opacity:.75;transition:opacity .15s}
.rfq-close:hover{opacity:1;color:var(--brassl)}

.rfq-body{flex:1;overflow-y:auto;padding:1.2rem 1.4rem;background:var(--paper)}
.rfq-empty{text-align:center;padding:3rem 1rem;color:var(--soft)}
.rfq-empty svg{width:48px;height:48px;stroke:var(--faint);margin-bottom:1rem;opacity:.6}
.rfq-empty h4{font-size:1.15rem;margin-bottom:.5rem;color:var(--ink)}
.rfq-empty p{font-size:.9rem;color:var(--soft);margin-bottom:1.5rem}

.rfq-item{background:#FFF;border:1px solid var(--line);border-radius:6px;padding:1rem 1.1rem;margin-bottom:.85rem;display:flex;gap:.85rem;align-items:center;transition:border-color .15s}
.rfq-item:hover{border-color:var(--brass)}
.rfq-item-info{flex:1;min-width:0}
.rfq-item-name{font-family:var(--f-d);font-weight:800;font-size:.92rem;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rfq-item-meta{font-size:.76rem;color:var(--faint);margin-top:.2rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.rfq-item-price{color:var(--green);font-weight:700}
.rfq-qty-ctrl{display:flex;align-items:center;gap:.35rem;margin-top:.5rem}
.rfq-qty-ctrl button{width:26px;height:26px;border:1px solid var(--line2);background:var(--husk);border-radius:3px;cursor:pointer;font-weight:800;display:flex;align-items:center;justify-content:center}
.rfq-qty-ctrl input{width:56px;height:26px;border:1px solid var(--line2);border-radius:3px;text-align:center;font-family:var(--f-d);font-weight:700;font-size:.85rem}
.rfq-unit-tag{font-size:.75rem;font-weight:700;color:var(--soft)}
.rfq-item-del{background:none;border:0;color:#DC2626;cursor:pointer;padding:.4rem;opacity:.7;transition:opacity .15s}
.rfq-item-del:hover{opacity:1}

.rfq-footer{background:#FFF;border-top:1px solid var(--line);padding:1.2rem 1.4rem;box-shadow:0 -8px 24px rgba(0,0,0,.06)}
.rfq-tot-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem;font-family:var(--f-d);font-size:.88rem}
.rfq-tot-row.grand{font-size:1.15rem;font-weight:800;color:var(--green);padding-top:.45rem;border-top:1px dashed var(--line);margin-bottom:.85rem}
.rfq-field{margin-bottom:.75rem}
.rfq-field label{display:block;font-family:var(--f-d);font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--soft);margin-bottom:.3rem;text-transform:uppercase}
.rfq-field select, .rfq-field input{width:100%;height:36px;padding:0 .75rem;border:1px solid var(--line2);border-radius:4px;font-family:var(--f-d);font-size:.86rem;background:#FFF}
.rfq-field select:focus, .rfq-field input:focus{border-color:var(--green);outline:none}
.rfq-actions-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-top:.9rem}
.rfq-actions-grid .btn{padding:.7rem 1rem;font-size:.82rem}

/* ── 20ft / 40ft CONTAINER LOAD CALCULATOR ── */
.calc-modal-overlay{position:fixed;inset:0;background:rgba(4,11,6,.78);backdrop-filter:blur(6px);z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s ease}
.calc-modal-overlay.open{opacity:1;pointer-events:auto}
.calc-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:min(660px,94vw);max-height:92vh;background:#FFF;border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.5);z-index:1001;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:all .28s cubic-bezier(.16,1,.3,1);overflow:hidden}
.calc-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.calc-head{background:#07150C;color:#FFF;padding:1.4rem 1.6rem;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(223,183,88,.3)}
.calc-kicker{font-family:var(--f-d);font-size:.68rem;font-weight:800;letter-spacing:.15em;color:var(--brassl);margin-bottom:.3rem}
.calc-head h3{color:#FFF;font-size:1.35rem;margin:0}
.calc-head p{color:#A0B2A6;font-size:.82rem;margin:.3rem 0 0}
.calc-close{background:none;border:0;color:#FFF;font-size:1.8rem;line-height:1;cursor:pointer;padding:0 .4rem;opacity:.75;transition:opacity .15s}
.calc-close:hover{opacity:1;color:var(--brassl)}

.calc-body{padding:1.4rem 1.6rem;overflow-y:auto;background:var(--paper)}
.calc-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.2rem;margin-bottom:1.2rem}
.calc-select-grp label{display:block;font-family:var(--f-d);font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--soft);margin-bottom:.35rem;text-transform:uppercase}
.calc-select-grp select, .calc-select-grp input{width:100%;height:40px;padding:0 .75rem;border:1px solid var(--line2);border-radius:4px;font-family:var(--f-d);font-size:.9rem;background:#FFF}
.calc-types{display:grid;grid-template-columns:1fr 1fr;gap:.6rem;margin-bottom:1.2rem}
.calc-type-btn{background:#FFF;border:1.5px solid var(--line2);border-radius:6px;padding:.85rem 1rem;cursor:pointer;text-align:left;transition:all .18s}
.calc-type-btn.on{border-color:var(--green);background:#EBF7EE;box-shadow:0 4px 12px rgba(16,185,129,.15)}
.calc-type-btn b{display:block;font-family:var(--f-d);font-size:.92rem;color:var(--ink)}
.calc-type-btn span{font-size:.74rem;color:var(--soft)}

.calc-gauge-box{background:#FFF;border:1px solid var(--line);border-radius:6px;padding:1.2rem;margin-bottom:1.2rem}
.calc-gauge-label{display:flex;justify-content:space-between;font-family:var(--f-d);font-size:.85rem;font-weight:700;margin-bottom:.45rem}
.calc-gauge-track{height:12px;background:var(--husk);border-radius:99px;overflow:hidden;position:relative}
.calc-gauge-bar{height:100%;background:linear-gradient(90deg,#10B981,#059669);border-radius:99px;transition:width .3s ease}
.calc-gauge-bar.over{background:#EF4444}
.calc-stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.6rem;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--line);text-align:center}
.calc-stat-val{font-family:var(--f-d);font-size:1.15rem;font-weight:900;color:var(--green);line-height:1}
.calc-stat-lbl{font-size:.68rem;font-weight:700;letter-spacing:.06em;color:var(--faint);margin-top:.3rem;text-transform:uppercase}

/* ── PRODUCT SEARCH BAR ── */
.prod-search-wrap{position:relative;margin-bottom:1.8rem;max-width:680px}
.prod-search-wrap svg{position:absolute;left:1.1rem;top:50%;transform:translateY(-50%);color:var(--faint);pointer-events:none}
.prod-search-wrap input{width:100%;height:50px;border:1.5px solid var(--line2);border-radius:6px;padding:0 2.8rem 0 3.2rem;background:#FFF;font-family:var(--f-d);font-size:1.02rem;color:var(--ink);box-shadow:0 4px 14px rgba(0,0,0,.03);transition:all .2s}
.prod-search-wrap input:focus{border-color:var(--green);box-shadow:0 0 0 4px rgba(7,20,11,.08);outline:none}
.prod-search-clear{position:absolute;right:.9rem;top:50%;transform:translateY(-50%);background:none;border:0;color:var(--faint);font-size:1.3rem;cursor:pointer;padding:.3rem;line-height:1}
.prod-search-clear:hover{color:var(--ink)}
.prod-match-count{font-family:var(--f-d);font-size:.82rem;font-weight:700;color:var(--soft);margin-bottom:1rem;display:flex;align-items:center;gap:.4rem}

/* ── SPARKLINE SVGS ── */
.r-sparkline-cell{width:115px}
.r-sparkline{display:inline-flex;align-items:center;gap:.45rem}
.sparkline-svg{overflow:visible;vertical-align:middle}
.sparkline-pct{font-size:.72rem;font-weight:700;font-variant-numeric:tabular-nums}
.sparkline-pct.up{color:#15803D}
.sparkline-pct.down{color:#DC2626}
.sparkline-pct.same{color:var(--faint)}

/* ── DUAL GRAIN MACRO INSPECTION ── */
.grain-toggle{display:inline-flex;background:var(--husk);border:1px solid var(--line2);border-radius:99px;padding:3px;gap:3px;margin-bottom:1rem}
.gt-btn{background:none;border:0;padding:.35rem .85rem;border-radius:99px;font-family:var(--f-d);font-size:.78rem;font-weight:700;cursor:pointer;color:var(--soft);transition:all .18s}
.gt-btn.on{background:var(--card);color:var(--ink);box-shadow:0 2px 8px rgba(0,0,0,.08);font-weight:800}
.macro-canvas-wrap{position:relative;border:1px solid var(--line2);border-radius:6px;overflow:hidden;background:var(--paper)}
.macro-zoom-view .ph img{transform:scale(1.68);transform-origin:50% 62%;transition:transform .45s cubic-bezier(.22,1,.36,1)}
.macro-zoom-view:hover .ph img{transform:scale(1.85)}
.macro-overlay-badge{position:absolute;bottom:12px;left:12px;right:56px;background:rgba(7,20,11,.88);color:var(--brassl);padding:.35rem .75rem;border-radius:4px;font-family:var(--f-d);font-size:.7rem;font-weight:700;letter-spacing:.06em;backdrop-filter:blur(4px)}
.macro-scale-ruler{position:absolute;top:12px;right:12px;background:rgba(255,255,255,.94);color:#111A13;padding:.3rem .65rem;border-radius:3px;font-family:var(--f-d);font-size:.68rem;font-weight:800;border:1px solid #CCC;box-shadow:0 2px 6px rgba(0,0,0,.15)}

/* ── COMPLIANCE VAULT ── */
.vault-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;margin-top:1.8rem;align-items:stretch}
@media(max-width:980px){.vault-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){.vault-grid{grid-template-columns:1fr}}
.vault-card{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:1.6rem;box-shadow:0 4px 18px -6px rgba(7,20,11,.05);display:flex;flex-direction:column;justify-content:space-between;transition:all .25s cubic-bezier(.16,1,.3,1);height:100%;box-sizing:border-box}
.vault-card:hover{transform:translateY(-3px);border-color:var(--brass);box-shadow:0 12px 28px -8px rgba(197,160,89,.22)}
.vault-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.8rem}
.vault-card-num{font-family:var(--f-d);font-size:1rem;font-weight:900;color:var(--green);letter-spacing:.02em;margin-top:.25rem;line-height:1.3}
.vault-card-issuer{font-size:.8rem;color:var(--soft);margin-bottom:.85rem;line-height:1.45}
.vault-card-btn{background:var(--husk);border:1px solid var(--line2);padding:.5rem .85rem;border-radius:4px;font-family:var(--f-d);font-size:.78rem;font-weight:700;cursor:pointer;color:var(--ink);width:100%;text-align:center;transition:all .18s;box-sizing:border-box}
.vault-card-btn:hover{background:var(--green);color:#FFF;border-color:var(--green)}

/* Non-breaking status pill for Compliance Vault cards & specimen modal */
.vault-status-pill{display:inline-flex!important;align-items:center;gap:.35rem;background:#EBF7EE;color:#15803D;border:1px solid #A7E0B4;font-family:var(--f-d);font-size:.68rem;font-weight:800;padding:.3rem .72rem;border-radius:99px;white-space:nowrap!important;flex-shrink:0!important;line-height:1.1;letter-spacing:.02em;box-decoration-break:clone;-webkit-box-decoration-break:clone;position:relative;z-index:2}
.vault-status-dot{width:6px;height:6px;border-radius:50%;background:#16A34A;display:inline-block;flex-shrink:0}

/* ── COMPLIANCE VAULT MODAL ── */
.vault-modal-overlay{position:fixed;inset:0;background:rgba(4,11,6,.82);backdrop-filter:blur(6px);z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s ease}
.vault-modal-overlay.open{opacity:1;pointer-events:auto}
.vault-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:min(680px,94vw);max-height:92vh;background:var(--card);border-radius:8px;box-shadow:0 24px 60px rgba(0,0,0,.5);z-index:1001;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:all .28s cubic-bezier(.16,1,.3,1);overflow:hidden}
.vault-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.vault-head{background:#07150C;color:#FFF;padding:1.4rem 1.6rem;display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid rgba(223,183,88,.3)}
.vault-kicker{font-family:var(--f-d);font-size:.68rem;font-weight:800;letter-spacing:.15em;color:var(--brassl);margin-bottom:.3rem}
.vault-head h3{color:#FFF;font-size:1.35rem;margin:0}
.vault-head p{color:#A0B2A6;font-size:.82rem;margin:.3rem 0 0}
.vault-close{background:none;border:0;color:#FFF;font-size:1.8rem;line-height:1;cursor:pointer;padding:0 .4rem;opacity:.75;transition:opacity .15s}
.vault-close:hover{opacity:1;color:var(--brassl)}
.vault-body{padding:1.6rem;overflow-y:auto;background:var(--paper)}
.vault-specimen{background:var(--card);border:2px solid var(--brass);border-radius:6px;padding:1.8rem;position:relative;box-shadow:0 8px 30px rgba(0,0,0,.08);overflow:hidden}
.vault-watermark{position:absolute;inset:0;z-index:0;display:flex;align-items:center;justify-content:center;pointer-events:none;opacity:.038;transform:rotate(-24deg);font-size:2.3rem;font-weight:900;font-family:var(--f-d);text-align:center;color:var(--ink);line-height:1.25;padding:1.5rem}
.vault-specimen-top{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;border-bottom:1.5px solid var(--line2);padding-bottom:1.1rem;margin-bottom:1.2rem}
.vault-spec-kicker{font-family:var(--f-d);font-size:.7rem;font-weight:800;color:var(--brass-deep);letter-spacing:.1em;text-transform:uppercase}
.vault-spec-title{font-family:var(--f-serif);font-size:1.2rem;color:var(--ink);margin:.25rem 0 0;line-height:1.25}
.vault-spec-idbox{background:var(--husk);border:1px solid var(--line2);padding:.9rem 1.1rem;border-radius:6px;margin-bottom:1.1rem}
.vault-spec-idlabel{font-family:var(--f-d);font-size:.68rem;color:var(--soft);font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.vault-spec-number{font-family:var(--f-d);font-size:1.2rem;font-weight:900;color:var(--green);letter-spacing:.03em;margin-top:.25rem}
.vault-specimen-foot{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:.8rem;padding-top:1rem;border-top:1px dashed var(--line2);font-size:.78rem;color:var(--soft)}

/* ── TECHNICAL SPEC SHEET (TDS) MODAL ── */
.tds-modal-overlay{position:fixed;inset:0;background:rgba(4,11,6,.82);backdrop-filter:blur(6px);z-index:1000;opacity:0;pointer-events:none;transition:opacity .25s ease}
.tds-modal-overlay.open{opacity:1;pointer-events:auto}
.tds-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%) scale(.95);width:min(820px,94vw);max-height:94vh;background:#FFF;border-radius:8px;box-shadow:0 24px 70px rgba(0,0,0,.6);z-index:1001;display:flex;flex-direction:column;opacity:0;pointer-events:none;transition:all .28s cubic-bezier(.16,1,.3,1);overflow:hidden}
.tds-modal.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.tds-head{background:#07150C;color:#FFF;padding:1.2rem 1.6rem;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(223,183,88,.3)}
.tds-head h3{color:#FFF;font-size:1.15rem;margin:0}
.tds-close{background:none;border:0;color:#FFF;font-size:1.6rem;line-height:1;cursor:pointer;padding:0 .4rem;opacity:.75;transition:opacity .15s}
.tds-close:hover{opacity:1;color:var(--brassl)}
.tds-print-area{padding:2.2rem;overflow-y:auto;background:#FFF;color:#111A13;font-family:var(--f-d)}

/* TDS Printable styling */
.tds-doc-header{display:flex;justify-content:space-between;align-items:center;padding-bottom:1.2rem;border-bottom:2px solid var(--brass);margin-bottom:1.4rem}
.tds-doc-logo{display:flex;align-items:center;gap:.9rem}
.tds-doc-meta{text-align:right;font-size:.78rem;color:#4F5E54}
.tds-doc-title{text-align:center;margin:1.4rem 0 1.2rem}
.tds-doc-title h2{font-size:1.4rem;font-family:var(--f-serif);letter-spacing:.04em;color:#07150C;margin-bottom:.3rem}
.tds-doc-title p{font-size:.82rem;font-weight:700;letter-spacing:.12em;color:#966F23;text-transform:uppercase}
.tds-table{width:100%;border-collapse:collapse;margin:1.2rem 0;font-size:.88rem}
.tds-table th{background:#F4EFE6;border:1px solid #D0C9B8;padding:.6rem .85rem;font-weight:800;text-align:left;font-size:.76rem;letter-spacing:.06em;color:#111A13}
.tds-table td{border:1px solid #D0C9B8;padding:.6rem .85rem;color:#111A13}
.tds-stamp-box{display:flex;justify-content:space-between;align-items:flex-end;margin-top:2rem;padding-top:1.4rem;border-top:1px solid #E2DDD0}
.tds-stamp{border:2px dashed #C5A059;padding:.6rem 1.2rem;border-radius:6px;text-align:center;font-size:.72rem;font-weight:800;color:#966F23;letter-spacing:.08em}

/* ── INTERACTIVE SHIPPING CORRIDORS ── */
.corridor-map-container{background:#07150C;border:1px solid rgba(223,183,88,.28);border-radius:8px;padding:1.8rem;color:#FFF;margin-bottom:2rem;box-sizing:border-box;width:100%}
.corridor-tabs{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.4rem}
.corridor-tab{background:rgba(255,255,255,.06);border:1px solid rgba(223,183,88,.25);color:#D2DCD4;padding:.45rem .95rem;border-radius:4px;font-family:var(--f-d);font-size:.82rem;font-weight:700;cursor:pointer;transition:all .18s}
.corridor-tab.on{background:linear-gradient(135deg,var(--brassl),var(--brass));color:#07130B;font-weight:800;border-color:var(--brass)}
.corridor-cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.2rem;align-items:stretch}
.corridor-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:6px;padding:1.4rem;transition:all .2s ease;height:100%;box-sizing:border-box;display:flex;flex-direction:column}
.corridor-card.active{border-color:var(--brass);background:rgba(223,183,88,.06);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.corridor-card h4{color:var(--brassl);font-size:1.15rem;margin-bottom:.4rem}
.corridor-card .c-route{font-size:.82rem;color:#A0B2A6;margin-bottom:.85rem;display:flex;align-items:center;gap:.4rem}
.corridor-card dl{display:grid;grid-template-columns:1fr;gap:.4rem;font-size:.82rem;margin:0}
.corridor-card dt{color:var(--brass);font-weight:700;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
.corridor-card dd{margin:0 0 .5rem;color:#E2ECE5}

/* ── REAL WORLD SHIPPING CORRIDORS VECTOR MAP ── */
.world-map-wrapper{background:#050E08;border:1px solid rgba(223,183,88,.25);border-radius:6px;padding:.6rem;margin-bottom:1.4rem;overflow:hidden;position:relative;box-shadow:inset 0 0 40px rgba(0,0,0,.6)}
.real-world-map{width:100%;height:auto;display:block}
.world-countries path,.world-countries g{fill:#14281D;stroke:#1F3D2D;stroke-width:.5px;transition:fill .35s ease,stroke .35s ease,opacity .35s ease}
.world-countries .country-origin{fill:rgba(223,183,88,.35)!important;stroke:#E8C87A!important;stroke-width:1.2px!important;filter:drop-shadow(0 0 6px rgba(223,183,88,.45))}
.world-countries .country-dest{fill:rgba(16,185,129,.18);stroke:rgba(16,185,129,.6);stroke-width:.7px}

/* Dynamic highlighting when a corridor is selected */
.corridor-map-container[data-active="middle-east"] .country-gulf,
.corridor-map-container[data-active="europe"] .country-eu,
.corridor-map-container[data-active="southeast-asia"] .country-sea,
.corridor-map-container[data-active="africa"] .country-afr,
.corridor-map-container[data-active="americas"] .country-am,
.corridor-map-container[data-active="oceania"] .country-oce{fill:rgba(223,183,88,.38)!important;stroke:#F5DEB3!important;stroke-width:1.2px!important;filter:drop-shadow(0 0 8px rgba(223,183,88,.6))}

.corridor-map-container[data-active="middle-east"] .route-lane:not(.lane-middle-east),
.corridor-map-container[data-active="europe"] .route-lane:not(.lane-europe),
.corridor-map-container[data-active="southeast-asia"] .route-lane:not(.lane-southeast-asia),
.corridor-map-container[data-active="africa"] .route-lane:not(.lane-africa),
.corridor-map-container[data-active="americas"] .route-lane:not(.lane-americas),
.corridor-map-container[data-active="oceania"] .route-lane:not(.lane-oceania){opacity:.14;stroke-width:1px}

.corridor-map-container[data-active="middle-east"] .port-node:not(.node-middle-east),
.corridor-map-container[data-active="europe"] .port-node:not(.node-europe),
.corridor-map-container[data-active="southeast-asia"] .port-node:not(.node-southeast-asia),
.corridor-map-container[data-active="africa"] .port-node:not(.node-africa),
.corridor-map-container[data-active="americas"] .port-node:not(.node-americas),
.corridor-map-container[data-active="oceania"] .port-node:not(.node-oceania){opacity:.22}

.corridor-map-container[data-active="middle-east"] .lane-middle-east,
.corridor-map-container[data-active="europe"] .lane-europe,
.corridor-map-container[data-active="southeast-asia"] .lane-southeast-asia,
.corridor-map-container[data-active="africa"] .lane-africa,
.corridor-map-container[data-active="americas"] .lane-americas,
.corridor-map-container[data-active="oceania"] .lane-oceania{stroke:#F5DEB3!important;stroke-width:2.8px!important;filter:drop-shadow(0 0 8px #E8C87A);opacity:1!important}

/* Shipping routes animation */
.route-lane{animation:maritimeFlow 20s linear infinite;transition:opacity .3s ease,stroke-width .3s ease}
@keyframes maritimeFlow{from{stroke-dashoffset:100}to{stroke-dashoffset:0}}
@keyframes hubGlow{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.5);opacity:.2}}
.hub-pulse{transform-origin:587.6px 472.2px;animation:hubGlow 3s ease-in-out infinite}
.port-node{cursor:pointer;transition:opacity .3s ease}
.port-node:hover circle{fill:#F5DEB3;filter:drop-shadow(0 0 6px #F5DEB3)}

/* ── MAP VIEW TOGGLE (PAN-INDIA DOMESTIC VS GLOBAL EXPORT) ── */
.map-view-toggle{display:flex;gap:.5rem;margin-bottom:1.4rem;flex-wrap:wrap;background:rgba(0,0,0,.35);padding:.4rem;border-radius:6px;border:1px solid rgba(223,183,88,.22)}
.mvt-btn{flex:1;min-width:260px;padding:.6rem 1rem;background:transparent;border:1px solid transparent;color:#A0B2A6;font-family:var(--f-d);font-size:.84rem;font-weight:700;border-radius:4px;cursor:pointer;transition:all .2s ease;text-align:center}
.mvt-btn.on{background:linear-gradient(135deg,rgba(223,183,88,.2),rgba(16,185,129,.15));border-color:var(--brass);color:#FFF;font-weight:800;box-shadow:0 4px 14px rgba(0,0,0,.35)}
.mvt-btn:hover:not(.on){color:#FFF;background:rgba(255,255,255,.05)}

/* ── PAN-INDIA VECTOR MAP STYLING ── */
.india-vector-map{width:100%;height:auto;display:block}
.india-states path{fill:#14281D;stroke:#1F3D2D;stroke-width:.6px;transition:fill .3s ease,stroke .3s ease,opacity .3s ease}
.state-origin{fill:rgba(223,183,88,.38)!important;stroke:#E8C87A!important;stroke-width:1.4px!important;filter:drop-shadow(0 0 6px rgba(223,183,88,.45))}
.state-dest{fill:rgba(16,185,129,.18);stroke:rgba(16,185,129,.55);stroke-width:.65px}

/* Domestic Corridors Active Highlighting */
.corridor-map-container[data-active="north"] .state-north,
.corridor-map-container[data-active="west"] .state-west,
.corridor-map-container[data-active="south"] .state-south,
.corridor-map-container[data-active="east"] .state-east,
.corridor-map-container[data-active="central"] .state-origin{fill:rgba(223,183,88,.38)!important;stroke:#F5DEB3!important;stroke-width:1.3px!important;filter:drop-shadow(0 0 8px rgba(223,183,88,.55))}

.corridor-map-container[data-active="north"] .domestic-lane:not(.lane-north),
.corridor-map-container[data-active="west"] .domestic-lane:not(.lane-west),
.corridor-map-container[data-active="south"] .domestic-lane:not(.lane-south),
.corridor-map-container[data-active="east"] .domestic-lane:not(.lane-east),
.corridor-map-container[data-active="central"] .domestic-lane:not(.lane-central){opacity:.14;stroke-width:1px}

.corridor-map-container[data-active="north"] .mandi-node:not(.node-north),
.corridor-map-container[data-active="west"] .mandi-node:not(.node-west),
.corridor-map-container[data-active="south"] .mandi-node:not(.node-south),
.corridor-map-container[data-active="east"] .mandi-node:not(.node-east),
.corridor-map-container[data-active="central"] .mandi-node:not(.node-central){opacity:.22}

.corridor-map-container[data-active="north"] .lane-north,
.corridor-map-container[data-active="west"] .lane-west,
.corridor-map-container[data-active="south"] .lane-south,
.corridor-map-container[data-active="east"] .lane-east,
.corridor-map-container[data-active="central"] .lane-central{stroke:#F5DEB3!important;stroke-width:2.8px!important;filter:drop-shadow(0 0 8px #E8C87A);opacity:1!important}

/* Express Domestic Highway Truck Animation */
.domestic-lane{stroke-dasharray:5,4;animation:truckFlow 14s linear infinite;transition:opacity .3s ease,stroke-width .3s ease}
@keyframes truckFlow{from{stroke-dashoffset:90}to{stroke-dashoffset:0}}
@keyframes hubPulseIn{0%,100%{transform:scale(1);opacity:.8}50%{transform:scale(1.5);opacity:.2}}
.hub-pulse-in{transform-origin:169px 335.9px;animation:hubPulseIn 2.8s ease-in-out infinite}
.mandi-node{cursor:pointer;transition:opacity .3s ease}
.mandi-node:hover circle{fill:#F5DEB3;filter:drop-shadow(0 0 6px #F5DEB3)}

/* ── PRODUCT DETAIL LIVE WHOLESALE RATE BADGE (HIGH-CONTRAST, NON-SPLITTING) ── */
.pd-live-rate-badge{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  justify-content:space-between;
  gap:.5rem 1rem;
  background:#F5EFE0;
  border:1.5px solid #C5A059;
  border-left:4px solid #0E5A30;
  padding:.65rem 1rem;
  border-radius:6px;
  font-family:var(--f-d);
  font-size:.86rem;
  color:#111A13;
  margin:.75rem 0 1rem;
  box-shadow:0 4px 14px -6px rgba(7,20,11,.1);
}
.pd-lrb-main{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .55rem}
.pd-lrb-label{font-weight:700;color:#27382C}
.pd-lrb-price{display:inline-flex;align-items:baseline;gap:.3rem;white-space:nowrap;background:#FFFFFF;padding:.18rem .55rem;border-radius:4px;border:1px solid #DEC896}
.pd-live-rate-badge b{color:#0B4F28;font-size:1.04rem;font-weight:900;font-variant-numeric:tabular-nums}
.pd-lrb-price small{font-size:.76rem;font-weight:700;color:#4F5E54}
.pd-lrb-meta{display:flex;align-items:center;gap:.65rem;margin-left:auto}
.pd-lrb-spark{display:inline-flex;align-items:center;background:#FFFFFF;padding:.15rem .45rem;border-radius:4px;border:1px solid rgba(0,0,0,.07)}
.pd-lrb-origin{font-size:.75rem;font-weight:700;color:#4F5E54;white-space:nowrap}

/* ── HEADER & FLOATING LIGHT / DARK MODE TOGGLE ── */
.btn-theme-toggle{
  display:inline-flex;
  align-items:center;
  gap:.38rem;
  height:33px;
  padding:0 .75rem;
  border-radius:99px;
  border:1.5px solid #DFB758;
  background:linear-gradient(135deg,rgba(223,183,88,.22),rgba(223,183,88,.1));
  color:#FFF7E0;
  font-family:var(--f-d);
  font-size:.75rem;
  font-weight:800;
  letter-spacing:.03em;
  cursor:pointer;
  transition:all .2s ease;
  flex-shrink:0;
  box-shadow:0 0 12px rgba(223,183,88,.22);
}
.btn-theme-toggle:hover{
  background:linear-gradient(135deg,#F3D079,#DFB758);
  border-color:#F3D079;
  color:#07130B;
  box-shadow:0 4px 16px rgba(223,183,88,.45);
}
.btn-theme-toggle:hover .icon-moon,
.btn-theme-toggle:hover .icon-sun{color:#07130B}
.btn-theme-toggle .icon-sun{display:none;color:#F3D079}
.btn-theme-toggle .icon-moon{display:block;color:#F3D079}
[data-theme="dark"] .btn-theme-toggle .icon-sun{display:block}
[data-theme="dark"] .btn-theme-toggle .icon-moon{display:none}
@media(max-width:780px){
  .btn-theme-toggle .theme-label{display:none}
  .btn-theme-toggle{padding:0 .5rem}
}

.floating-theme-toggle{
  position:fixed;
  bottom:1.45rem;
  left:1.45rem;
  z-index:95;
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  height:42px;
  padding:0 1rem;
  border-radius:99px;
  border:1.5px solid #DFB758;
  background:#091B10;
  color:#FFF7E0;
  font-family:var(--f-d);
  font-size:.8rem;
  font-weight:800;
  letter-spacing:.04em;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(0,0,0,.45), 0 0 0 2px rgba(223,183,88,.2);
  transition:all .22s ease;
}
.floating-theme-toggle:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg,#F3D079,#DFB758);
  color:#07130B;
  box-shadow:0 12px 30px rgba(181,133,42,.5);
}
.floating-theme-toggle .icon-sun{display:none;color:#F3D079}
.floating-theme-toggle .icon-moon{display:block;color:#F3D079}
.floating-theme-toggle:hover .icon-sun,
.floating-theme-toggle:hover .icon-moon{color:#07130B}
[data-theme="dark"] .floating-theme-toggle{
  background:#153120;
  border-color:#F3D079;
}
[data-theme="dark"] .floating-theme-toggle:hover{
  background:linear-gradient(135deg,#F3D079,#DFB758);
}
[data-theme="dark"] .floating-theme-toggle .icon-sun{display:block}
[data-theme="dark"] .floating-theme-toggle .icon-moon{display:none}
@media(max-width:540px){
  .floating-theme-toggle{bottom:1.1rem;left:1rem;height:38px;padding:0 .85rem;font-size:.74rem}
}

/* ═══════════════════════════════════════════════════════════
   DARK MODE THEME ([data-theme="dark"])
   Deep emerald-obsidian surfaces with high-contrast ivory & gold
   ═══════════════════════════════════════════════════════════ */
[data-theme="dark"]{
  --paper:#08120C;
  --husk:#0D1D13;
  --card:#112418;
  --ink:#ECF3EE;
  --soft:#A8BDB0;
  --faint:#769080;
  --line:#1E3727;
  --line2:#2B4C37;
  --leaf:#34D399;
  --brass:#DFB758;
  --brassl:#F3D079;
  --brass-deep:#E8C87A;
  color-scheme:dark;
}
[data-theme="dark"] body{background:var(--paper);color:var(--ink)}
[data-theme="dark"] .btn:not(.brass):not(.wa):not(.line){background:#1A3A27;border-color:var(--brass);color:#FFF}
[data-theme="dark"] .btn.line{color:var(--brassl);border-color:var(--line2);background:rgba(255,255,255,.03)}
[data-theme="dark"] .btn.line:hover{background:rgba(223,183,88,.14);border-color:var(--brass);color:#FFF}
[data-theme="dark"] .chip{color:var(--soft);border-color:var(--line2)}
[data-theme="dark"] .chip:hover{border-color:var(--brassl);color:var(--ink)}
[data-theme="dark"] .chip.on{background:var(--brass);color:#07130B;border-color:var(--brass);font-weight:800}
[data-theme="dark"] .bd:not([disabled]):hover{background:#132A1C}
[data-theme="dark"] .pcard:hover{border-color:var(--brass);box-shadow:0 16px 34px -20px rgba(0,0,0,.85)}
[data-theme="dark"] .badge,
[data-theme="dark"] .cert,
[data-theme="dark"] .aboutbox,
[data-theme="dark"] .table-scroll-wrap,
[data-theme="dark"] .rates-table,
[data-theme="dark"] .admin-card,
[data-theme="dark"] .vault-card,
[data-theme="dark"] .vault-specimen,
[data-theme="dark"] .rfq-drawer,
[data-theme="dark"] .rfq-item,
[data-theme="dark"] .rfq-footer,
[data-theme="dark"] .calc-modal,
[data-theme="dark"] .calc-gauge-box,
[data-theme="dark"] .vault-modal{background:var(--card);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] .chn:hover{background:#162E20}
[data-theme="dark"] .ntable th,
[data-theme="dark"] .ntable th:first-child,
[data-theme="dark"] .thumb span{background:var(--husk);color:var(--soft)}
[data-theme="dark"] .ntable td:first-child{background:var(--card)}
[data-theme="dark"] .rates-table tr:hover td{background:#162E20}
[data-theme="dark"] .rates-table .r-price,
[data-theme="dark"] .rfq-item-price,
[data-theme="dark"] .rfq-tot-row.grand,
[data-theme="dark"] .calc-stat-val,
[data-theme="dark"] .vault-card-num,
[data-theme="dark"] .vault-spec-number{color:#4ADE80}
[data-theme="dark"] .rates-table .r-up,
[data-theme="dark"] .sparkline-pct.up{color:#4ADE80}
[data-theme="dark"] .rates-table .r-down,
[data-theme="dark"] .sparkline-pct.down{color:#F87171}
[data-theme="dark"] .rates-badge,
[data-theme="dark"] .vault-status-pill{background:rgba(16,185,129,.15);border-color:rgba(52,211,153,.4);color:#6EE7B7}
[data-theme="dark"] .nut h4{color:var(--brassl)}
[data-theme="dark"] .tags i{background:rgba(16,185,129,.14);color:#6EE7B7}
[data-theme="dark"] .ver{background:rgba(16,185,129,.14);border-color:rgba(52,211,153,.35);color:#A7F3D0}
[data-theme="dark"] .unver,
[data-theme="dark"] .labnote{background:rgba(223,183,88,.12);border-color:rgba(223,183,88,.4);color:#F3D079}
[data-theme="dark"] .prod-search-wrap input,
[data-theme="dark"] .rates-search-bar input,
[data-theme="dark"] .rfq-field select,
[data-theme="dark"] .rfq-field input,
[data-theme="dark"] .calc-select-grp select,
[data-theme="dark"] .calc-select-grp input,
[data-theme="dark"] .admin-meta-input,
[data-theme="dark"] .admin-row-input,
[data-theme="dark"] .admin-select{background:var(--husk);color:var(--ink);border-color:var(--line2)}
[data-theme="dark"] .calc-type-btn{background:var(--husk);border-color:var(--line2);color:var(--ink)}
[data-theme="dark"] .calc-type-btn.on{background:rgba(16,185,129,.15);border-color:#34D399}
[data-theme="dark"] .adm-dual-pricing-box{background:rgba(16,185,129,.12)!important;border-color:rgba(52,211,153,.35)!important;color:#A7F3D0!important}
[data-theme="dark"] .pd-live-rate-badge{
  background:#11261A;
  border-color:rgba(223,183,88,.45);
  border-left-color:#34D399;
  color:#ECF3EE;
  box-shadow:0 6px 20px -6px rgba(0,0,0,.6);
}
[data-theme="dark"] .pd-lrb-label{color:#C8D9CE}
[data-theme="dark"] .pd-lrb-price{background:#09150E;border-color:rgba(223,183,88,.35)}
[data-theme="dark"] .pd-live-rate-badge b{color:#4ADE80}
[data-theme="dark"] .pd-lrb-price small,
[data-theme="dark"] .pd-lrb-origin{color:#A8BDB0}
[data-theme="dark"] .pd-lrb-spark{background:#09150E;border-color:rgba(255,255,255,.1)}
[data-theme="dark"] .zoom,
[data-theme="dark"] .gal-nav{background:rgba(17,36,24,.9);color:var(--ink);border-color:var(--line2)}
[data-theme="dark"] .lb-bar{background:rgba(17,36,24,.94);box-shadow:0 0 0 1px rgba(223,183,88,.35)}
[data-theme="dark"] .lb-bar button:hover{background:rgba(223,183,88,.18);color:var(--brassl)}

@media print{
  .top,.foot,.fwa,.floating-theme-toggle,.rates-actions,.rates-search-bar,.filters,.rates-btn-sample,.rates-btn-wa,.btn-admin,.mandi-ticker,.floating-rfq-btn{display:none!important}
  body{background:#fff!important;color:#000!important}
  .wrap{max-width:100%!important;padding:0!important}
  .rates-table{border:1px solid #333!important}
  .rates-table th,.rates-table td{border-bottom:1px solid #999!important;color:#000!important}

  body.printing-tds *{visibility:hidden}
  body.printing-tds .tds-modal, body.printing-tds .tds-modal *{visibility:visible}
  body.printing-tds .tds-modal{position:absolute!important;left:0!important;top:0!important;width:100%!important;max-height:none!important;box-shadow:none!important;border:none!important}
  body.printing-tds .tds-head{display:none!important}
  body.printing-tds .tds-print-area{padding:0!important}
}

/* ═══════════════════════════════════════════════════════════
   MULTI-DEVICE RESPONSIVE ALIGNMENT SYSTEM
   Phones (320px–680px), Tablets (681px–1180px), Laptops (1181px+)
   ═══════════════════════════════════════════════════════════ */
html, body {
  max-width: 100%;
  overflow-x: hidden;
}
.wrap {
  width: 100%;
  box-sizing: border-box;
}
.packs {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.pk, .pcard, .pd > *, .pd-media, .thumb, .corridor-card, .vault-card, .badge, .cert {
  min-width: 0;
}
.pk figcaption b {
  white-space: normal;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  min-height: 2.45em;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Tablet & Mobile Menu Dropdown Alignment */
@media(max-width:1280px){
  .menu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    max-height: calc(100vh - 80px);
    overflow-y: auto;
    visibility: hidden;
    pointer-events: none;
  }
  .menu.open {
    transform: none;
    visibility: visible;
    pointer-events: auto;
  }
}

/* Tablet Range (681px – 1024px) */
@media(max-width:1024px) and (min-width:681px){
  .top .wrap.header-wrap {
    height: 68px;
    padding-inline: 1rem;
    gap: 0.5rem;
  }
  .curr-select {
    max-width: 108px;
    text-overflow: ellipsis;
  }
  .pgrid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1.2rem;
  }
  .hero .wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 2rem;
    padding-block: 2.4rem 3rem;
  }
  .hero-art {
    order: 0;
    max-width: 580px;
    margin-inline: auto;
  }
  .corridor-cards-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .mvt-btn {
    min-width: 200px;
  }
}

/* Phone & Small Phablet Range (<= 680px) */
@media(max-width:680px){
  :root {
    --pad: 1rem;
    --gap: 2.6rem;
  }
  body {
    font-size: 1rem;
  }
  /* Two-tier mobile header: Brand + Burger on Row 1, Trade Controls on Row 2 */
  .top, .top.shrunk {
    height: auto !important;
  }
  .top .wrap.header-wrap, .top.shrunk .wrap.header-wrap {
    position: relative;
    height: auto !important;
    min-height: 58px;
    flex-wrap: wrap;
    padding: 0.5rem 0.85rem 0.45rem;
    gap: 0.42rem;
  }
  .logo {
    max-width: calc(100% - 46px);
  }
  .brand-logo {
    height: 30px;
    max-width: 46px;
  }
  .brand-title {
    font-size: 1.05rem;
    letter-spacing: 0.09em;
  }
  .brand-tag {
    display: block !important;
    font-size: 0.46rem;
    letter-spacing: 0.12em;
    margin-top: 2px;
  }
  .burger {
    position: absolute;
    top: 0.46rem;
    right: 0.85rem;
    width: 35px;
    height: 35px;
  }
  .header-right {
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.28rem;
    padding-top: 0.38rem;
    border-top: 1px solid rgba(223, 183, 88, 0.18);
    flex-wrap: nowrap;
  }
  .curr-dropdown-wrap {
    flex: 0 1 auto;
    min-width: 0;
  }
  .curr-select {
    max-width: 82px;
    height: 30px;
    font-size: 0.68rem;
    padding: 0 1.15rem 0 0.38rem;
    background-position: right 0.28rem center;
    text-overflow: ellipsis;
  }
  .mode {
    padding: 2px;
  }
  .mode button {
    font-size: 0.67rem;
    padding: 0.22rem 0.46rem;
  }
  .btn-theme-toggle {
    height: 30px;
    padding: 0 0.46rem;
  }
  .btn-cart-nav, .btn-calc-nav {
    height: 30px;
    padding: 0 0.46rem;
    font-size: 0.7rem;
  }
  .lang {
    height: 30px;
    padding: 0 0.46rem;
    font-size: 0.68rem;
    display: inline-flex;
    align-items: center;
  }

  /* Mandi Ticker */
  .mandi-ticker {
    height: 32px;
    font-size: 0.7rem;
  }
  .mandi-ticker-label {
    padding: 0 0.55rem;
    font-size: 0.62rem;
    letter-spacing: 0.04em;
    max-width: 122px;
    overflow: hidden;
    text-overflow: ellipsis;
  }

  /* Hero Section */
  .hero .wrap {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.5rem;
    padding-block: 1.65rem 2.2rem;
  }
  .hero-art {
    order: 0;
    max-width: 100%;
  }
  .kicker {
    font-size: 0.68rem;
    letter-spacing: 0.14em;
    margin-bottom: 0.7rem;
  }
  .hero h1 {
    font-size: clamp(1.7rem, 6.8vw, 2.25rem);
    line-height: 1.14;
    margin-bottom: 0.85rem;
  }
  .hero .lead {
    font-size: 0.96rem;
    line-height: 1.55;
    margin-bottom: 1.25rem;
  }
  .hero .btns {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.55rem;
  }
  .hero .btns .btn {
    width: 100%;
    padding: 0.72rem 0.6rem;
    font-size: 0.82rem;
    text-align: center;
  }
  .glance {
    gap: 0.45rem 0.9rem;
    margin-top: 1.25rem;
    padding-top: 0.95rem;
    font-size: 0.72rem;
  }
  .packs {
    gap: 0.6rem;
  }
  .pk {
    padding: 0.42rem 0.42rem 0.52rem;
  }
  .pk figcaption b {
    font-size: 0.73rem;
    line-height: 1.2;
  }
  .pk figcaption span {
    font-size: 0.6rem;
  }

  /* Figures Band & Home Rates Strip */
  .band .wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .bd {
    padding: 1.05rem 0.7rem;
  }
  .bd:nth-child(odd) {
    padding-left: 0;
    padding-right: 0.6rem;
  }
  .bd:nth-child(even) {
    padding-left: 0.6rem;
    padding-right: 0;
  }
  .home-rates-strip .wrap {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.38rem;
  }
  .hrs-left {
    font-size: 0.73rem;
    line-height: 1.35;
  }

  /* Category Tiles & Product Grid */
  .tiles {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.65rem;
  }
  .pgrid {
    grid-template-columns: minmax(0, 1fr);
    gap: 1rem;
  }
  .filters, .sortbar {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.35rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .filters::-webkit-scrollbar, .sortbar::-webkit-scrollbar {
    display: none;
  }
  .filters .chip, .sortbar .chip, .sortbar .lb {
    flex-shrink: 0;
    font-size: 0.78rem;
    padding: 0.38rem 0.8rem;
  }
  .prod-search-wrap input {
    height: 44px;
    font-size: 0.88rem;
    padding: 0 2.3rem 0 2.6rem;
  }

  /* Product Detail Page */
  .crumb {
    font-size: 0.76rem;
    padding-block: 0.9rem 0.45rem;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .pd {
    grid-template-columns: minmax(0, 1fr);
    gap: 1.35rem;
  }
  .grain-toggle {
    display: flex;
    width: 100%;
  }
  .gt-btn {
    flex: 1;
    text-align: center;
    padding: 0.4rem 0.4rem;
    font-size: 0.72rem;
  }
  .thumbs {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.38rem;
  }
  .thumb span {
    font-size: 0.58rem;
    padding: 0.3rem 0.15rem;
  }
  .pd-live-rate-badge {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.45rem;
    padding: 0.65rem 0.8rem;
  }
  .pd-lrb-meta {
    margin-left: 0;
    width: 100%;
    justify-content: space-between;
  }
  .pd div[style*="display:flex;gap:0.75rem"] {
    flex-direction: column;
    gap: 0.55rem !important;
  }
  .pd div[style*="display:flex;gap:0.75rem"] .btn {
    width: 100%;
    justify-content: center;
  }
  .dl div {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.18rem;
    padding: 0.52rem 0;
  }
  .dl b {
    text-align: left;
    word-break: break-word;
  }
  .block > summary {
    padding: 0.85rem 0.95rem;
    font-size: 0.92rem;
  }
  .block-b {
    padding: 0.25rem 0.95rem 1rem;
  }
  .nut {
    padding: 1rem 1.05rem;
  }

  /* Shipping Corridors & Maps */
  .corridor-map-container {
    padding: 1.05rem 0.9rem;
  }
  .map-view-toggle {
    flex-direction: column;
    gap: 0.35rem;
  }
  .mvt-btn {
    min-width: 0;
    width: 100%;
    font-size: 0.75rem;
    padding: 0.52rem 0.65rem;
  }
  .corridor-tabs {
    flex-wrap: nowrap;
    overflow-x: auto;
    padding-bottom: 0.35rem;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }
  .corridor-tabs::-webkit-scrollbar {
    display: none;
  }
  .corridor-tab {
    flex-shrink: 0;
    font-size: 0.74rem;
    padding: 0.4rem 0.75rem;
  }
  .corridor-cards-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.85rem;
  }
  .corridor-card {
    padding: 1.05rem;
  }

  /* Export Packing Disclaimer */
  .export-pack-disclaimer {
    padding: 1.15rem 1rem;
  }
  .epd-badge {
    font-size: 0.62rem;
    letter-spacing: 0.06em;
    line-height: 1.35;
    border-radius: 6px;
  }
  .epd-pouch-card {
    flex-direction: column;
    text-align: center;
  }

  /* Wholesale Rates Board */
  .rates-top {
    gap: 1rem;
    margin-bottom: 1.2rem;
    padding-bottom: 1.1rem;
  }
  .rates-actions {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 0.45rem;
  }
  .rates-actions .btn {
    width: 100%;
    padding: 0.58rem 0.45rem;
    font-size: 0.74rem;
  }
  .rates-table th, .rates-table td {
    width: auto !important;
    padding: 0.62rem 0.45rem;
    font-size: 0.78rem;
  }
  .rates-table th:nth-child(3), .rates-table td:nth-child(3),
  .rates-table th:nth-child(5), .rates-table td:nth-child(5) {
    display: none;
  }

  /* Modals & Drawers */
  .calc-head, .vault-head, .rfq-header, .tds-head {
    padding: 1rem 1.1rem;
  }
  .calc-body, .vault-body, .rfq-body, .rfq-footer {
    padding: 1rem 1.1rem;
  }
  .calc-grid, .calc-types {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }
  .calc-stats-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 0.75rem;
  }
  .rfq-actions-grid {
    grid-template-columns: 1fr;
  }
  .vault-specimen {
    padding: 1.1rem;
  }
  .tds-print-area {
    padding: 1rem;
  }
  .tds-doc-header, .tds-stamp-box {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
  }
  .tds-doc-meta {
    text-align: left;
  }
  .tds-print-area div[style*="grid-template-columns:1fr 1fr"] {
    grid-template-columns: 1fr !important;
    gap: 0.75rem !important;
  }
  .tds-print-area div[style*="text-align:right"] {
    text-align: left !important;
  }

  /* Floating Quick Actions on Mobile */
  .floating-theme-toggle {
    bottom: 0.9rem;
    left: 0.75rem;
    height: 36px;
    padding: 0 0.72rem;
    font-size: 0.7rem;
  }
  .fwa {
    bottom: 0.9rem;
    right: 0.75rem;
    width: 46px;
    height: 46px;
  }
  .fwa svg {
    width: 24px;
    height: 24px;
  }
  .floating-rfq-btn {
    bottom: 4.25rem;
    right: 0.75rem;
    padding: 0.45rem 0.85rem;
  }
}

/* Extra-Narrow Phones (<= 390px) */
@media(max-width:390px){
  .curr-select {
    max-width: 72px;
    font-size: 0.64rem;
  }
  .mode button {
    font-size: 0.62rem;
    padding: 0.2rem 0.38rem;
  }
  .hero .btns {
    grid-template-columns: 1fr;
  }
  .thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .rates-actions {
    grid-template-columns: 1fr;
  }
}

/* ============================================================
   ABOUT US, 4TH GEN HERITAGE & LEADERSHIP SECTION
   ============================================================ */
.about-heritage-sec {
  position: relative;
  background: var(--husk);
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: clamp(3rem, 6vw, 5.5rem) 0;
}
.about-lead-box {
  max-width: 860px;
  margin: 0 auto 2.6rem;
  text-align: center;
}
.about-lead-text {
  font-size: clamp(1.05rem, 1.8vw, 1.25rem);
  line-height: 1.7;
  color: var(--soft);
  margin-top: 1.2rem;
}
.about-lead-text strong {
  color: var(--ink);
  font-weight: 700;
}

/* Trust Stats Strip */
.about-stats-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 0;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 1.8rem 0.8rem;
  box-shadow: 0 4px 18px rgba(17, 26, 19, 0.04);
  margin-bottom: 3rem;
}
.about-stat-item {
  text-align: center;
  position: relative;
  padding: 0.5rem 0.8rem;
  border-right: 1px solid var(--line);
}
.about-stat-item:last-child {
  border-right: none;
}
.about-stat-item:not(:last-child)::after {
  display: none !important;
}
.about-stat-val {
  font-family: var(--f-serif);
  font-size: clamp(1.4rem, 2.2vw, 2.05rem);
  font-weight: 700;
  color: var(--brass-deep);
  line-height: 1.15;
  margin-bottom: 0.35rem;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .about-stats-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.85rem;
    padding: 1.2rem 1rem;
  }
  .about-stat-item {
    border-right: none !important;
    border-bottom: 1px solid var(--line);
    padding: 0.6rem 0.4rem;
  }
  .about-stat-item:last-child {
    grid-column: span 2;
    border-bottom: none;
  }
}
@media (max-width: 480px) {
  .about-stats-strip {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }
  .about-stat-item:last-child {
    grid-column: span 1;
  }
}
.about-stat-lbl {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--faint);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

/* 2-Column Story Grid */
.about-narrative-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
  gap: 1.8rem;
  margin-bottom: 3.5rem;
}
.about-narrative-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 2.2rem 2rem;
  box-shadow: 0 4px 16px rgba(17, 26, 19, 0.03);
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.about-narrative-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(17, 26, 19, 0.06);
}
.about-card-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 20px;
  background: rgba(197, 160, 89, 0.12);
  color: var(--brass-deep);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  margin-bottom: 1rem;
}
.about-narrative-card h3 {
  font-family: var(--f-serif);
  font-size: 1.4rem;
  color: var(--ink);
  margin-bottom: 1rem;
  line-height: 1.3;
}
.about-narrative-card p {
  color: var(--soft);
  line-height: 1.68;
  font-size: 0.96rem;
  margin-bottom: 0.9rem;
}
.about-narrative-card p:last-child {
  margin-bottom: 0;
}

/* Leadership Section */
.leadership-wrap {
  margin-top: 1rem;
  margin-bottom: 3.5rem;
}
.leadership-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(380px, 1fr));
  gap: 2rem;
  margin-top: 2rem;
}
@media (max-width: 520px) {
  .leadership-grid {
    grid-template-columns: 1fr;
  }
}
.leader-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 16px;
  overflow: hidden;
  box-shadow: 0 6px 24px rgba(17, 26, 19, 0.05);
  display: flex;
  flex-direction: column;
  transition: transform 0.25s ease, box-shadow 0.25s ease, border-color 0.25s ease;
}
.leader-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 12px 32px rgba(17, 26, 19, 0.09);
  border-color: rgba(197, 160, 89, 0.4);
}
.leader-photo-box {
  position: relative;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #141A17;
}
.leader-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center 4%;  /* portrait photos: keep the whole head in the 4:3 frame */
  transition: transform 0.4s ease;
  display: block;
}
.leader-card:hover .leader-img {
  transform: scale(1.03);
}
.leader-photo-overlay {
  display: none;
}
.leader-tag {
  display: none;
}
.leader-info {
  padding: 1.8rem 1.8rem 2rem;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}
.leader-header {
  margin-bottom: 1rem;
  border-bottom: 1px solid var(--line);
  padding-bottom: 0.9rem;
}
.leader-name {
  font-family: var(--f-serif);
  font-size: 1.65rem;
  color: var(--ink);
  margin: 0 0 0.3rem;
  line-height: 1.2;
}
.leader-role {
  font-size: 0.88rem;
  font-weight: 700;
  color: var(--brass-deep);
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.leader-bio {
  color: var(--soft);
  font-size: 0.95rem;
  line-height: 1.68;
  margin-bottom: 1.4rem;
  flex-grow: 1;
}
.leader-quote {
  background: rgba(197, 160, 89, 0.07);
  border-left: 3px solid var(--brass);
  padding: 1rem 1.2rem;
  border-radius: 0 8px 8px 0;
  font-family: var(--f-serif);
  font-style: italic;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--ink);
}

/* Values Grid */
.values-wrap {
  margin-top: 1rem;
}
.values-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1rem;
  margin-top: 2rem;
}
@media (max-width: 1100px) {
  .values-grid {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 700px) {
  .values-grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 480px) {
  .values-grid {
    grid-template-columns: 1fr;
  }
}
.value-card {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 1.6rem 1.4rem;
  box-shadow: 0 2px 12px rgba(17, 26, 19, 0.03);
  position: relative;
  transition: transform 0.2s ease, border-color 0.2s ease;
}
.value-card:hover {
  transform: translateY(-2px);
  border-color: var(--brass);
}
.value-no {
  font-family: var(--f-serif);
  font-size: 1.5rem;
  font-weight: 700;
  color: var(--brass);
  margin-bottom: 0.6rem;
  line-height: 1;
}
.value-card h4 {
  font-size: 1.05rem;
  color: var(--ink);
  margin-bottom: 0.6rem;
  font-weight: 700;
}
.value-card p {
  color: var(--soft);
  font-size: 0.88rem;
  line-height: 1.55;
  margin: 0;
}

/* ── PHONE / WHATSAPP WITH COUNTRY CODE DROPDOWN ── */
.phone-input-group {
  display: flex;
  align-items: stretch;
  gap: 0.45rem;
  width: 100%;
}
.country-code-select {
  flex: 0 0 auto;
  max-width: 155px;
  min-width: 120px;
  height: 44px;
  background: var(--card);
  border: 1px solid var(--line2);
  border-radius: 4px;
  padding: 0 0.65rem;
  font-family: var(--f-d);
  font-size: 0.88rem;
  font-weight: 600;
  color: var(--ink);
  cursor: pointer;
  transition: border-color 0.2s;
}
.country-code-select:focus {
  outline: none;
  border-color: var(--brass);
}
.phone-input-group input[type="tel"] {
  flex: 1 1 auto;
  min-width: 0;
  height: 44px;
}
[data-theme="dark"] .country-code-select {
  background: #14281D;
  border-color: rgba(223, 183, 88, 0.25);
  color: #EDE8DE;
}

/* ── TABLET & MOBILE RESPONSIVE REFINEMENTS ── */
.rates-table-wrap {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 860px) {
  .leadership-grid {
    grid-template-columns: 1fr !important;
    gap: 1.6rem;
  }
  .leader-card {
    max-width: 580px;
    margin: 0 auto;
    width: 100%;
  }
  .about-narrative-grid {
    grid-template-columns: 1fr;
    gap: 1.4rem;
  }
}

@media (max-width: 640px) {
  .about-stats-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
    padding: 1.2rem 1rem;
  }
  .about-stat-item:last-child {
    grid-column: span 2;
  }
  .country-code-select {
    max-width: 125px;
    min-width: 105px;
    font-size: 0.8rem;
    padding: 0 0.35rem;
  }
  .leader-info {
    padding: 1.3rem 1.2rem 1.5rem;
  }
  .leader-bio {
    font-size: 0.95rem;
  }
}

@media (max-width: 420px) {
  .country-code-select {
    max-width: 108px;
    min-width: 95px;
    font-size: 0.76rem;
    padding: 0 0.25rem;
  }
  .about-stats-strip {
    grid-template-columns: 1fr;
    gap: 0.65rem;
  }
  .about-stat-item:last-child {
    grid-column: span 1;
  }
}


/* ── PRODUCT DETAILS & ENLARGED PACK SHOWCASE ── */
.pd-media{display:flex;flex-direction:column;gap:1.2rem;min-width:0}

/* Quick Jump Pills */
.pd-quick-pills{display:flex;align-items:center;flex-wrap:wrap;gap:.45rem;padding:.75rem .95rem;background:var(--card);border:1px solid var(--line);border-radius:6px;box-shadow:0 2px 8px rgba(17,26,19,.03)}
.pqp-label{font-family:var(--f-d);font-size:.72rem;font-weight:800;letter-spacing:.08em;color:var(--brass-deep);text-transform:uppercase;margin-right:.25rem}
.pqp-pill{background:var(--husk);border:1px solid var(--line2);border-radius:4px;padding:.32rem .68rem;font-family:var(--f-d);font-size:.76rem;font-weight:700;color:var(--ink);cursor:pointer;transition:all .18s ease;text-decoration:none}
.pqp-pill:hover{background:var(--brass);color:#07130B;border-color:var(--brass)}

/* Image Stack & Enlarged Cards */
.pd-image-stack{display:flex;flex-direction:column;gap:1.5rem}
.pd-image-card{background:#FAF7F2;border:1px solid var(--line);border-radius:8px;overflow:hidden;box-shadow:0 4px 18px rgba(17,26,19,.04);transition:all .25s ease;position:relative}
.pd-image-card:hover{border-color:var(--brass);box-shadow:0 10px 28px -6px rgba(197,160,89,.22)}
.pd-image-card.highlight-card{border-color:var(--brass);box-shadow:0 0 0 3px rgba(197,160,89,.45)}

.pd-image-card-head{display:flex;justify-content:space-between;align-items:center;padding:.85rem 1.15rem;background:#FFFFFF;border-bottom:1px solid var(--line)}
.pd-image-card-title{font-family:var(--f-d);font-size:.8rem;font-weight:800;letter-spacing:.06em;color:var(--ink);text-transform:uppercase;display:flex;align-items:center;gap:.45rem}
.pd-image-card-title::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--brass);display:inline-block;box-shadow:0 0 0 2px rgba(197,160,89,.35)}

.pd-zoom-btn{background:var(--husk);border:1px solid var(--line2);border-radius:4px;padding:.3rem .65rem;font-family:var(--f-d);font-size:.74rem;font-weight:700;color:var(--soft);cursor:pointer;display:inline-flex;align-items:center;gap:.35rem;transition:all .18s}
.pd-zoom-btn:hover{background:var(--brass);color:#07130B;border-color:var(--brass)}

.pd-image-card-box{width:100%;aspect-ratio:1 / 1;max-height:560px;display:flex;align-items:center;justify-content:center;padding:1.4rem;cursor:zoom-in;position:relative;background:radial-gradient(circle at center, #FFFFFF 40%, #F5EFE6 100%)}
.pd-image-card-box img{max-width:100%;max-height:100%;object-fit:contain;transition:transform .3s ease;filter:drop-shadow(0 8px 18px rgba(0,0,0,.08))}
.pd-image-card:hover .pd-image-card-box img{transform:scale(1.025)}

.pd-image-card-foot{display:flex;justify-content:space-between;align-items:center;padding:.65rem 1.15rem;background:#FFFFFF;border-top:1px solid var(--line);font-size:.76rem;color:var(--soft);font-family:var(--f-d)}
.pd-card-seq{font-weight:700;color:var(--brass-deep)}

/* Dark Theme Adjustments for Image Stack */
[data-theme="dark"] .pd-image-card{background:#0C1C12;border-color:rgba(223,183,88,.2)}
[data-theme="dark"] .pd-image-card-head{background:#102417;border-bottom-color:rgba(223,183,88,.18)}
[data-theme="dark"] .pd-image-card-title{color:#EDE8DE}
[data-theme="dark"] .pd-image-card-foot{background:#102417;border-top-color:rgba(223,183,88,.18);color:#A0B2A6}
[data-theme="dark"] .pd-image-card-box{background:radial-gradient(circle at center, #14281D 30%, #09160E 100%)}
[data-theme="dark"] .pd-zoom-btn{background:rgba(255,255,255,.08);border-color:rgba(223,183,88,.25);color:var(--brassl)}
[data-theme="dark"] .pd-quick-pills{background:#0E2015;border-color:rgba(223,183,88,.2)}
[data-theme="dark"] .pqp-pill{background:rgba(255,255,255,.07);border-color:rgba(223,183,88,.25);color:#EDE8DE}

/* Custom Pack Capabilities Card */
.pd-custom-pack-card{background:linear-gradient(135deg,#07150C 0%,#0F2516 100%);border:1px solid rgba(223,183,88,.38);border-radius:8px;padding:1.5rem 1.6rem;color:#EFF4F0;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.pcpc-badge{font-family:var(--f-d);font-size:.68rem;font-weight:800;letter-spacing:.12em;color:var(--brassl);margin-bottom:.65rem;text-transform:uppercase}
.pd-custom-pack-card h4{font-family:var(--f-serif);font-size:1.25rem;color:#FFFFFF;margin:0 0 .5rem}
.pd-custom-pack-card p{font-size:.88rem;color:#C8D8CC;line-height:1.5;margin:0 0 .95rem}
.pcpc-chips{display:flex;flex-wrap:wrap;gap:.45rem;margin-bottom:1rem}
.pcpc-chips span{font-family:var(--f-d);font-size:.74rem;font-weight:700;padding:.35rem .7rem;border-radius:4px;background:rgba(255,255,255,.08);border:1px solid rgba(223,183,88,.28);color:var(--brassl)}
.pcpc-foot{font-size:.8rem!important;color:#A0B2A6!important;font-style:italic;margin:0!important;border-top:1px solid rgba(255,255,255,.1);padding-top:.85rem}
/* ── PACKAGING VARIETY WHOLESALE RATE ENGINE & STYLING ── */
.rate-pack-selector-bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  background: var(--card);
  border: 1px solid var(--line2);
  border-radius: 8px;
  padding: 0.9rem 1.15rem;
  margin: 1.4rem 0 1rem;
  box-shadow: 0 2px 8px rgba(0,0,0,0.03);
}
.rate-pack-selector-bar .rps-label {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.rate-pack-selector-bar .rps-icon {
  font-size: 1.6rem;
  line-height: 1;
}
.rate-pack-selector-bar .rps-text b {
  display: block;
  font-size: 0.82rem;
  letter-spacing: 0.05em;
  color: var(--ink);
}
.rate-pack-selector-bar .rps-text span {
  display: block;
  font-size: 0.76rem;
  color: var(--soft);
}
.rps-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.rps-btn {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  background: var(--bg);
  border: 1px solid var(--line2);
  border-radius: 6px;
  padding: 0.45rem 0.85rem;
  cursor: pointer;
  transition: all 0.18s ease;
  text-align: left;
}
.rps-btn:hover {
  border-color: var(--brass);
  background: #fff;
}
.rps-btn .rps-btn-main {
  font-size: 0.82rem;
  font-weight: 700;
  color: var(--ink);
}
.rps-btn .rps-btn-sub {
  font-size: 0.68rem;
  font-weight: 600;
  color: var(--soft);
}
.rps-btn.on {
  background: var(--ink);
  border-color: var(--ink);
}
.rps-btn.on .rps-btn-main {
  color: #fff;
}
.rps-btn.on .rps-btn-sub {
  color: var(--brassl);
}
.rps-btn.rps-btn-matrix.on {
  background: #14532D;
  border-color: #14532D;
}

.rate-pack-info-banner {
  background: #FAFAF7;
  border: 1px solid var(--line2);
  border-left: 4px solid var(--brass);
  border-radius: 8px;
  padding: 1rem 1.2rem;
  margin-bottom: 1.4rem;
}
.rpib-head {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}
.rpib-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.86rem;
  color: var(--ink);
}
.rpib-title svg {
  color: var(--brass);
  flex-shrink: 0;
}
.rpib-badge {
  font-size: 0.7rem;
  font-weight: 700;
  padding: 2px 8px;
  border-radius: 12px;
  background: rgba(197,160,89,0.18);
  color: #854D0E;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.rpib-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.85rem;
}
@media (max-width: 900px) {
  .rpib-grid { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 550px) {
  .rpib-grid { grid-template-columns: 1fr; }
}
.rpib-col {
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0.75rem 0.85rem;
  transition: all 0.2s ease;
}
.rpib-col.active {
  border-color: var(--brass);
  box-shadow: 0 0 0 2px rgba(197,160,89,0.25);
  background: #FFFDF9;
}
.rpib-col-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.78rem;
  font-weight: 800;
  color: var(--ink);
  margin-bottom: 0.35rem;
}
.rpib-tag {
  font-size: 0.65rem;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 3px;
}
.rpib-tag.base { background: #E0E7FF; color: #3730A3; }
.rpib-tag.mid { background: #FEF3C7; color: #92400E; }
.rpib-tag.high { background: #DCFCE7; color: #166534; }
.rpib-tag.prem { background: #FCE7F3; color: #9D174D; }
.rpib-col p {
  font-size: 0.74rem;
  color: var(--soft);
  line-height: 1.4;
  margin: 0 0 0.5rem;
}
.rpib-math {
  font-size: 0.75rem;
  color: var(--ink);
  background: var(--bg);
  padding: 3px 6px;
  border-radius: 3px;
  font-family: var(--f-d);
}
.rpib-math span {
  color: #15803D;
  font-weight: 700;
}

.r-price-wrap {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.r-unit-calc {
  margin-top: 3px;
}
.r-calc-badge {
  display: inline-block;
  font-size: 0.76rem;
  font-weight: 700;
  color: #15803D;
  background: rgba(21,128,61,0.08);
  padding: 2px 6px;
  border-radius: 4px;
  border: 1px solid rgba(21,128,61,0.2);
  font-variant-numeric: tabular-nums;
}
.rates-btn-toggle-bd {
  background: transparent;
  border: 1px solid var(--line2);
  border-radius: 3px;
  color: var(--soft);
  font-size: 0.73rem;
  font-weight: 700;
  padding: 0.32rem 0.55rem;
  cursor: pointer;
  margin-right: 0.3rem;
  transition: all 0.15s ease;
}
.rates-btn-toggle-bd:hover, .rates-btn-toggle-bd.open {
  background: var(--husk);
  color: var(--ink);
  border-color: var(--brass);
}

.rate-breakdown-row td {
  background: #F8F9FA !important;
  padding: 0.85rem 1.2rem !important;
  border-bottom: 2px solid var(--line2) !important;
}
.rbd-container {
  display: flex;
  flex-direction: column;
  gap: 0.6rem;
}
.rbd-title {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.8rem;
  color: var(--ink);
}
.rbd-hint {
  font-size: 0.72rem;
  color: var(--soft);
  font-style: italic;
}
.rbd-cards {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.75rem;
}
@media (max-width: 800px) {
  .rbd-cards { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 480px) {
  .rbd-cards { grid-template-columns: 1fr; }
}
.rbd-card {
  background: #fff;
  border: 1px solid var(--line2);
  border-radius: 6px;
  padding: 0.7rem 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.3rem;
}
.rbd-card.active {
  border-color: var(--brass);
  background: #FFFDF9;
}
.rbd-card-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.76rem;
}
.rbd-card-head span {
  font-size: 0.65rem;
  color: var(--soft);
  font-weight: 600;
}
.rbd-card-rate {
  font-size: 0.95rem;
  font-weight: 800;
  color: var(--ink);
  font-family: var(--f-d);
}
.rbd-card-rate small {
  font-size: 0.7rem;
  font-weight: 400;
  color: var(--faint);
}
.rbd-card-unit {
  font-size: 0.76rem;
  color: #15803D;
}
.rbd-card .bd-rfq-btn {
  margin-top: 0.35rem;
  font-size: 0.72rem;
  padding: 0.28rem 0.5rem;
  text-align: center;
  justify-content: center;
}

.rates-table-matrix th.th-tier {
  font-size: 0.74rem;
  text-align: left;
}
.rates-table-matrix th.th-tier .th-sub {
  font-size: 0.65rem;
  font-weight: 400;
  color: var(--soft);
  display: block;
}
.rates-table-matrix th.th-tier-hl {
  background: #EFF6FF;
  color: #1E40AF;
}
.rates-table-matrix td.r-tier-cell {
  vertical-align: top;
  padding: 0.75rem 0.65rem;
}
.rates-table-matrix td.r-cell-hl {
  background: rgba(239, 246, 255, 0.3);
}
.r-calc-hl {
  color: #15803D;
  font-size: 0.76rem;
  margin-top: 2px;
}

.pd-pack-rate-card {
  background: var(--card);
  border: 1px solid var(--line2);
  border-radius: 8px;
  padding: 1rem 1.15rem;
  margin: 1rem 0 1.2rem;
  box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}
.pdpr-head {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: 0.8rem;
}
.pdpr-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.8rem;
  font-weight: 700;
  letter-spacing: 0.05em;
  color: var(--ink);
}
.pdpr-status {
  font-size: 0.74rem;
  color: var(--soft);
}
.pdpr-selector {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}
@media (max-width: 600px) {
  .pdpr-selector { grid-template-columns: 1fr 1fr; }
}
.pdpr-tab {
  background: var(--bg);
  border: 1px solid var(--line2);
  border-radius: 6px;
  padding: 0.45rem 0.6rem;
  cursor: pointer;
  transition: all 0.18s ease;
  display: flex;
  flex-direction: column;
  text-align: left;
}
.pdpr-tab:hover {
  border-color: var(--brass);
  background: #fff;
}
.pdpr-tab.active {
  background: var(--ink);
  border-color: var(--ink);
  color: #fff;
}
.pdpr-tab-name {
  font-size: 0.78rem;
  font-weight: 700;
}
.pdpr-tab-mult {
  font-size: 0.66rem;
  color: var(--soft);
}
.pdpr-tab.active .pdpr-tab-name {
  color: #fff;
}
.pdpr-tab.active .pdpr-tab-mult {
  color: var(--brassl);
}
.pdpr-body {
  background: #FAFAF7;
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 0.75rem 1rem;
}
.pdpr-main-price {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-bottom: 0.35rem;
}
.pdpr-val {
  font-size: 1.4rem;
  font-weight: 900;
  color: var(--ink);
  font-family: var(--f-d);
}
.pdpr-unit {
  font-size: 0.82rem;
  color: var(--soft);
}
.pdpr-unit-calc {
  font-size: 0.88rem;
  color: #15803D;
  margin-left: auto;
}
.pdpr-desc {
  font-size: 0.78rem;
  color: var(--soft);
  line-height: 1.4;
}

.pd-pack-rate-table-wrap {
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px dashed var(--line2);
}
.pd-pack-matrix-tbl {
  width: 100%;
  border-collapse: collapse;
  font-size: 0.82rem;
  margin: 0.6rem 0;
}
.pd-pack-matrix-tbl th, .pd-pack-matrix-tbl td {
  padding: 0.5rem 0.65rem;
  border-bottom: 1px solid var(--line);
  text-align: left;
}
.pd-pack-matrix-tbl th {
  background: var(--husk);
  font-size: 0.7rem;
  font-weight: 700;
  color: var(--ink);
  letter-spacing: 0.04em;
}
.pd-pm-tag {
  font-size: 0.68rem;
  font-weight: 700;
  padding: 1px 5px;
  border-radius: 3px;
  background: #FEF3C7;
  color: #92400E;
}
.pd-pm-unit {
  color: #15803D;
  font-weight: 700;
}
.pd-pm-footnote {
  font-size: 0.76rem;
  color: var(--soft);
  line-height: 1.4;
  margin: 0.4rem 0 0;
}

/* Dark Theme Adjustments for Packaging Variety Rates */
[data-theme="dark"] .rate-pack-selector-bar {
  background: #102619;
  border-color: #1E462E;
}
[data-theme="dark"] .rate-pack-selector-bar .rps-text b {
  color: #EDE8DF;
}
[data-theme="dark"] .rps-btn {
  background: #162E20;
  border-color: #254A33;
}
[data-theme="dark"] .rps-btn .rps-btn-main {
  color: #E2E8F0;
}
[data-theme="dark"] .rate-pack-info-banner {
  background: #11271B;
  border-color: #234B32;
}
[data-theme="dark"] .rpib-title {
  color: #EDE8DF;
}
[data-theme="dark"] .rpib-col {
  background: #162E20;
  border-color: #234B32;
}
[data-theme="dark"] .rpib-col.active {
  background: #193826;
  border-color: var(--brassl);
}
[data-theme="dark"] .rpib-col-head {
  color: #EDE8DF;
}
[data-theme="dark"] .rpib-math {
  background: #0E2015;
  color: #CBD5E1;
}
[data-theme="dark"] .rate-breakdown-row td {
  background: #0E2015 !important;
  border-color: #1E462E !important;
}
[data-theme="dark"] .rbd-card {
  background: #162E20;
  border-color: #254A33;
}
[data-theme="dark"] .rbd-card-rate {
  color: #EDE8DF;
}
[data-theme="dark"] .pd-pack-rate-card {
  background: #102619;
  border-color: #1E462E;
}
[data-theme="dark"] .pdpr-body {
  background: #162E20;
  border-color: #234B32;
}
[data-theme="dark"] .pdpr-val, [data-theme="dark"] .pdpr-title {
  color: #EDE8DF;
}
[data-theme="dark"] .pd-pack-matrix-tbl th {
  background: #1A3B28;
  color: #EDE8DF;
}
/* ── PRODUCT GALLERY HEADER ── */
.pd-gallery-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.65rem 0.95rem;
  background: var(--husk);
  border: 1px solid var(--line2);
  border-radius: 6px;
  margin-bottom: 0.85rem;
}
.pd-gh-tag {
  font-family: var(--f-d);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: var(--brass-deep);
}
.pd-gh-count {
  font-family: var(--f-d);
  font-size: 0.72rem;
  font-weight: 700;
  color: var(--soft);
}
[data-theme="dark"] .pd-gallery-header {
  background: #102417;
  border-color: rgba(223,183,88,.22);
}
[data-theme="dark"] .pd-gh-tag {
  color: var(--brassl);
}
[data-theme="dark"] .pd-gh-count {
  color: #A0B2A6;
}

/* ═══════════════════════════════════════════════════════════
   WEEKLY RATE LIST · one row per product, one line per packing
   ═══════════════════════════════════════════════════════════ */
.rl-basis{font-size:.9rem;color:var(--soft);margin:.5rem 0 0;max-width:70ch}
.rl-notes{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.75rem}
.rl-notes span{font-family:var(--f-d);font-size:.74rem;font-weight:700;padding:.28rem .65rem;border-radius:99px;background:var(--husk);border:1px solid var(--line2);color:var(--ink)}
.rl-legend{font-family:var(--f-d);font-size:.76rem;color:var(--faint);margin:-.4rem 0 .4rem;line-height:1.7}
.rl-gst{font-style:normal;font-family:var(--f-d);font-size:.66rem;font-weight:800;letter-spacing:.02em;color:#9A5B00;background:#FFF4DC;border:1px solid #F1D49A;border-radius:3px;padding:.06rem .32rem;white-space:nowrap}
.rl-onreq{font-family:var(--f-d);font-size:.8rem;font-weight:700;color:var(--faint)}
.rl-table{background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden}
.rl-head{display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(0,2.4fr) 132px;gap:1rem;padding:.7rem 1rem;background:var(--husk);border-bottom:1px solid var(--line);font-family:var(--f-d);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.rl-head-packs,.rl-pack{display:grid;grid-template-columns:minmax(150px,1.3fr) minmax(150px,1.25fr) minmax(130px,1.1fr) 92px;gap:.8rem;align-items:center}
.rl-item{display:grid;grid-template-columns:minmax(220px,1.05fr) minmax(0,2.4fr) 132px;gap:1rem;padding:.95rem 1rem;border-bottom:1px solid var(--line);align-items:center}
.rl-item:last-child{border-bottom:0}
.rl-item:hover{background:rgba(197,160,89,.05)}
.rl-prod{display:flex;align-items:center;gap:.8rem;min-width:0}
.rl-thumb{width:52px;height:52px;flex:0 0 52px;border-radius:6px;background:var(--husk);border:1px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center}
.rl-thumb img{width:100%;height:100%;object-fit:contain}
.rl-prod-txt{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.rl-name{font-family:var(--f-d);font-weight:800;font-size:.95rem;line-height:1.25;color:var(--ink);text-decoration:none}
a.rl-name:hover{color:var(--leaf);text-decoration:underline}
.rl-grade{font-family:var(--f-d);font-size:.72rem;font-weight:600;color:var(--brass-deep);letter-spacing:.02em}
.rl-prod-txt .r-sparkline{margin-top:.2rem}
.rl-packs{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.rl-pack{padding:.3rem 0;border-bottom:1px dashed var(--line)}
.rl-pack:last-child{border-bottom:0}
.rl-pk-label{font-family:var(--f-d);font-size:.84rem;font-weight:600;color:var(--ink)}
.rl-pk-rate b{font-family:var(--f-d);font-size:1.05rem;font-weight:800;color:var(--ink);font-variant-numeric:tabular-nums}
.rl-pk-rate small{font-family:var(--f-d);font-size:.7rem;color:var(--faint);margin-right:.2rem}
.rl-pk-per{font-family:var(--f-d);font-size:.78rem;color:var(--soft);font-variant-numeric:tabular-nums}
.rl-chg{font-family:var(--f-d);font-size:.78rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.rl-chg.up{color:#15803D}.rl-chg.down{color:#DC2626}.rl-chg.same{color:var(--faint);font-weight:600}
.rl-out .rl-pk-rate b,.rl-out .rl-pk-per{opacity:.55}
.rl-stock{font-style:normal;font-size:.66rem;font-weight:800;color:#DC2626;margin-left:.3rem;text-transform:uppercase;letter-spacing:.04em}
.rl-act{display:flex;flex-direction:column;gap:.4rem;align-items:stretch}
.rl-act .rates-btn-wa{justify-content:center}
.rl-rfq{font-family:var(--f-d);font-weight:700;font-size:.76rem;padding:.38rem .7rem;border-radius:3px;border:1px solid var(--line2);background:transparent;color:var(--ink);cursor:pointer}
.rl-rfq:hover{border-color:var(--ink)}
.rate-cat-group{margin-bottom:.4rem}
@media(max-width:980px){
  .rl-head{display:none}
  .rl-item{grid-template-columns:1fr;gap:.7rem;padding:1rem}
  .rl-pack{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) auto;row-gap:.1rem}
  .rl-pk-per{grid-column:1 / 3;grid-row:2}
  .rl-pk-chg{grid-row:1 / 3;grid-column:3;text-align:right}
  .rl-act{flex-direction:row}
  .rl-act > *{flex:1}
}
@media(max-width:520px){
  .rl-pack{grid-template-columns:1fr auto}
  .rl-pk-label{grid-column:1 / 3}
  .rl-pk-rate{grid-column:1;grid-row:2}
  .rl-pk-per{grid-column:1;grid-row:3}
  .rl-pk-chg{grid-column:2;grid-row:2 / 4;align-self:center}
}
[data-theme="dark"] .rl-gst{background:rgba(243,208,121,.12);border-color:rgba(243,208,121,.35);color:var(--brassl)}
[data-theme="dark"] .rl-chg.up{color:#4ADE80}
[data-theme="dark"] .rl-chg.down{color:#F87171}
[data-theme="dark"] .rl-rfq{color:var(--brassl);border-color:var(--line2)}
[data-theme="dark"] .rl-item:hover{background:rgba(223,183,88,.05)}
@media print{
  .rl-act,.rl-legend,.rl-thumb,.btn,.rates-badge .live-dot,#rates-empty{display:none!important}
  .rl-item,.rl-head{grid-template-columns:1.1fr 2.6fr!important;page-break-inside:avoid}
  .rl-table{border:1px solid #999!important}
  .rl-page{padding-top:0!important}
}

/* Product page: this week's rate for each packing */
.pd-rate-card{margin:1.1rem 0 1.3rem;background:var(--card);border:1px solid var(--line2);border-radius:8px;overflow:hidden;box-shadow:0 10px 26px -18px rgba(15,33,23,.35)}
.pdr-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.4rem 1rem;padding:.75rem 1rem;background:var(--husk);border-bottom:1px solid var(--line)}
.pdr-head b{display:inline-flex;align-items:center;gap:.45rem;font-family:var(--f-d);font-size:.84rem;font-weight:800;color:var(--ink)}
.pdr-head span{font-family:var(--f-d);font-size:.74rem;color:var(--soft)}
.pdr-packs{display:flex;flex-direction:column}
.pdr-pack{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1.15fr) auto;grid-template-areas:"label rate chg" "label per chg";column-gap:.9rem;row-gap:.05rem;align-items:center;text-align:left;width:100%;padding:.7rem 1rem;background:transparent;border:0;border-bottom:1px solid var(--line);border-left:3px solid transparent;cursor:pointer;font:inherit;color:inherit}
.pdr-pack:last-child{border-bottom:0}
.pdr-pack:hover{background:rgba(197,160,89,.07)}
.pdr-pack.on{background:rgba(197,160,89,.13);border-left-color:var(--brass)}
.pdr-label{grid-area:label;font-family:var(--f-d);font-size:.86rem;font-weight:700;color:var(--ink)}
.pdr-label em{font-style:normal;font-size:.66rem;font-weight:800;color:#DC2626;text-transform:uppercase}
.pdr-rate{grid-area:rate}
.pdr-rate b{font-family:var(--f-d);font-size:1.12rem;font-weight:800;font-variant-numeric:tabular-nums}
.pdr-rate small{font-family:var(--f-d);font-size:.7rem;color:var(--faint)}
.pdr-per{grid-area:per;font-family:var(--f-d);font-size:.76rem;color:var(--soft)}
.pdr-chg{grid-area:chg;text-align:right}
.pdr-pack.out .pdr-rate,.pdr-pack.out .pdr-per{opacity:.55}
.pdr-foot{margin:0;padding:.6rem 1rem;font-family:var(--f-d);font-size:.74rem;color:var(--faint);border-top:1px solid var(--line);background:var(--husk)}
.pdr-foot a{color:var(--leaf);font-weight:700;text-decoration:none}
.pdr-foot a:hover{text-decoration:underline}
@media(max-width:520px){
  .pdr-pack{grid-template-columns:1fr auto;grid-template-areas:"label label" "rate chg" "per chg"}
}

/* Packing as per request (below the map) */
.epd-request-card{display:flex;flex-direction:column;align-items:flex-start;gap:.4rem;background:rgba(255,255,255,.05);border:1px solid rgba(223,183,88,.35);border-radius:8px;padding:1.2rem 1.3rem;box-shadow:0 8px 24px rgba(0,0,0,.22)}
.epd-request-tag{font-family:var(--f-d);font-size:.66rem;font-weight:800;letter-spacing:.1em;color:#4ADE80}
.epd-request-card h4{color:#FFFFFF;font-family:var(--f-serif);font-size:1.18rem;line-height:1.25;margin:0}
.epd-request-card p{color:#C5D4C9;font-size:.88rem;line-height:1.5;margin:0 0 .5rem}
.epd-request-card .btn{padding:.55rem 1.15rem;font-size:.84rem}
#reach .export-pack-disclaimer{margin-top:1.4rem}

/* ═══════════════════════════════════════════════════════════
   RATE LIST MANAGER (ADMIN)
   ═══════════════════════════════════════════════════════════ */
.adm h1{font-size:clamp(1.6rem,3vw,2.2rem);margin:.2rem 0 .4rem}
.adm-card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:clamp(1.3rem,3.5vw,2.2rem);box-shadow:0 10px 30px -18px rgba(15,33,23,.3)}
.adm-login{max-width:460px;margin:1rem auto}
.adm-login p{color:var(--soft);font-size:1rem}
.adm-login form{display:flex;flex-direction:column;gap:.6rem;margin-top:1rem}
.adm-login label{font-family:var(--f-d);font-size:.74rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.adm-login input{height:46px;border:1px solid var(--line2);border-radius:5px;padding:0 .9rem;background:var(--paper);font-family:var(--f-d);font-size:1rem}
.adm-login input:focus{outline:none;border-color:var(--brass)}
.adm-err{font-family:var(--f-d);font-size:.85rem;color:#B91C1C;min-height:1.2em;margin:.2rem 0 0}
.adm-head{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1rem;padding-bottom:1.1rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line)}
.adm-head p{margin:0;color:var(--soft);font-family:var(--f-d);font-size:.9rem}
.adm-head-act{display:flex;gap:.5rem;flex-wrap:wrap}
.adm-market{display:inline-flex;flex-wrap:wrap;gap:4px;padding:4px;margin-bottom:1.1rem;background:var(--card);border:1px solid var(--line);border-radius:12px}
.adm-market button{display:flex;flex-direction:column;align-items:flex-start;gap:.1rem;border:0;background:none;border-radius:9px;padding:.55rem 1.15rem;font-family:var(--f-d);font-size:.95rem;font-weight:800;line-height:1.2;color:var(--soft);cursor:pointer;transition:all .2s ease}
.adm-market button small{font-size:.72rem;font-weight:600;opacity:.85}
.adm-market button:hover{color:var(--ink)}
.adm-market button.on{background:linear-gradient(135deg,var(--brassl),var(--brass));color:#07130B;box-shadow:0 2px 10px rgba(181,133,42,.35);cursor:default}
@media(min-width:861px){.adm-ex .adm-colhead,.adm-ex .adm-pack{grid-template-columns:minmax(150px,1.5fr) 110px 140px 88px 90px 30px}}
.adm-flash{font-family:var(--f-d);font-size:.88rem;font-weight:600;padding:.7rem 1rem;border-radius:6px;background:#EBF7EE;border:1px solid #A7E0B4;color:#1B6634;margin-bottom:1rem}
.adm-steps{display:grid;grid-template-columns:1.1fr 1.2fr 1fr;gap:1rem;margin-bottom:1.1rem}
.adm-step{display:flex;gap:.8rem;background:var(--card);border:1px solid var(--line);border-radius:10px;padding:1rem 1.1rem}
.adm-step > i{flex:0 0 30px;height:30px;border-radius:50%;background:var(--green);color:var(--brassl);font-style:normal;font-family:var(--f-d);font-weight:800;display:flex;align-items:center;justify-content:center}
.adm-step > div{min-width:0;flex:1}
.adm-step h4{font-family:var(--f-d);font-size:.95rem;font-weight:800;letter-spacing:-.01em;margin:.2rem 0 .35rem}
.adm-step p{font-size:.86rem;color:var(--soft);line-height:1.45;margin:0 0 .7rem}
.adm-upload{position:relative;overflow:hidden;cursor:pointer}
.adm-upload input{position:absolute;inset:0;opacity:0;cursor:pointer;font-size:0}
.adm-upload.busy{opacity:.7;pointer-events:none}
.adm-field{display:flex;flex-direction:column;gap:.25rem;font-family:var(--f-d);font-size:.72rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--soft);margin-bottom:.55rem}
.adm-field input,.adm-in{height:38px;border:1px solid var(--line2);border-radius:5px;padding:0 .65rem;background:var(--paper);font-family:var(--f-d);font-size:.9rem;color:var(--ink);text-transform:none;letter-spacing:normal;font-weight:500;min-width:0;width:100%;box-sizing:border-box}
.adm-field input:focus,.adm-in:focus{outline:none;border-color:var(--brass);box-shadow:0 0 0 3px rgba(197,160,89,.18)}
.adm-pub-row{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.admin-btn.save:disabled{opacity:.45;cursor:not-allowed}
.adm-link{background:none;border:0;padding:0;font-family:var(--f-d);font-size:.82rem;font-weight:700;color:var(--faint);text-decoration:underline;cursor:pointer}
.adm-link:disabled{opacity:.4;cursor:not-allowed}
.adm-report{border:1px solid #F1D49A;background:#FFFBEF;border-radius:8px;padding:.9rem 1.1rem;margin-bottom:1.1rem;font-family:var(--f-d);font-size:.86rem}
.adm-report-head{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}
.adm-report-x{background:none;border:0;font-size:1.3rem;line-height:1;cursor:pointer;color:var(--faint)}
.adm-report ul{margin:.5rem 0 0;padding-left:1.1rem;line-height:1.55}
.adm-report li.ok{color:#15803D}
.adm-report li.warn{color:#92400E}
.adm-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem 1rem;margin-bottom:.8rem}
.adm-tools input{flex:0 1 320px;height:40px;border:1px solid var(--line2);border-radius:5px;padding:0 .8rem;background:var(--card);font-family:var(--f-d);font-size:.9rem}
.adm-legend{font-family:var(--f-d);font-size:.78rem;color:var(--faint)}
.adm-colhead,.adm-pack{display:grid;grid-template-columns:minmax(150px,1.5fr) 110px 140px 96px 88px 90px 30px;gap:.6rem;align-items:center}
.adm-colhead{position:sticky;top:64px;z-index:5;padding:.55rem .9rem;background:var(--husk);border:1px solid var(--line);border-radius:8px 8px 0 0;font-family:var(--f-d);font-size:.66rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--soft)}
.adm-cat h3{font-family:var(--f-d);font-size:1.02rem;font-weight:800;margin:1.4rem 0 .5rem}
.adm-cat h3 small{font-size:.72rem;font-weight:600;color:var(--faint);margin-left:.4rem}
.adm-item{background:var(--card);border:1px solid var(--line);border-radius:8px;padding:.7rem .9rem;margin-bottom:.55rem}
.adm-item-head{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap;margin-bottom:.4rem}
.adm-item-head b{font-family:var(--f-d);font-size:.95rem;font-weight:800}
.adm-item-head .adm-grade{flex:0 1 260px;height:30px;font-size:.8rem}
.adm-custom{font-style:normal;font-family:var(--f-d);font-size:.66rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--brass-deep)}
.adm-rm-item{margin-left:auto;background:none;border:0;font-family:var(--f-d);font-size:.76rem;font-weight:700;color:#B91C1C;cursor:pointer;text-decoration:underline}
.adm-pack{padding:.35rem .25rem;border-radius:6px;border:1px solid transparent}
.adm-pack.changed{background:rgba(197,160,89,.1)}
.adm-pack.imported{border-color:rgba(21,128,61,.35)}
.adm-pack.fuzzy{border-color:#F59E0B;background:#FFF7E6}
.adm-pack .adm-price{font-weight:800;font-variant-numeric:tabular-nums;text-align:right}
.adm-last{font-family:var(--f-d);font-size:.84rem;color:var(--soft);font-variant-numeric:tabular-nums}
.adm-last small{font-size:.7rem;color:var(--faint)}
.adm-chk{display:inline-flex;align-items:center;gap:.3rem;font-family:var(--f-d);font-size:.78rem;color:var(--soft);cursor:pointer;white-space:nowrap}
.adm-chk input{width:16px;height:16px;accent-color:var(--leaf)}
.adm-d{font-family:var(--f-d);font-size:.78rem;font-weight:800;font-variant-numeric:tabular-nums}
.adm-d.up{color:#15803D}.adm-d.down{color:#DC2626}.adm-d.same{color:var(--faint);font-weight:600}.adm-d.new{color:var(--brass-deep)}
.adm-rm{width:28px;height:28px;border-radius:50%;border:1px solid var(--line2);background:transparent;color:var(--faint);cursor:pointer;font-size:1rem;line-height:1}
.adm-rm:hover{color:#B91C1C;border-color:#B91C1C}
.adm-addpack{margin-top:.3rem;background:none;border:0;padding:.2rem 0;font-family:var(--f-d);font-size:.78rem;font-weight:700;color:var(--leaf);cursor:pointer}
.adm-addline{margin-top:1.5rem;padding:1rem 1.1rem;border:1px dashed var(--line2);border-radius:8px;font-family:var(--f-d);font-size:.86rem}
.adm-addline span{color:var(--faint);font-size:.8rem}
.adm-addline-row{display:flex;gap:.6rem;flex-wrap:wrap;margin-top:.6rem}
.adm-addline-row .adm-in{flex:1 1 220px;width:auto}
.adm-foot{display:flex;justify-content:flex-end;margin-top:1.4rem}
.admin-toast.bad{background:#B91C1C}
@media(max-width:1060px){.adm-steps{grid-template-columns:1fr}}
@media(max-width:860px){
  .adm-colhead{display:none}
  .adm-pack{grid-template-columns:1fr 1fr;row-gap:.4rem;padding:.6rem .3rem;border-bottom:1px dashed var(--line);border-radius:0}
  .adm-pack .adm-label{grid-column:1 / -1}
  .adm-last::before{content:"Live: "}
  .adm-rm{justify-self:end}
  .adm-ex .adm-rm{grid-column:2}
}
[data-theme="dark"] .adm-flash{background:rgba(52,211,153,.1);border-color:rgba(52,211,153,.35);color:#6EE7B7}
[data-theme="dark"] .adm-report{background:rgba(243,208,121,.07);border-color:rgba(243,208,121,.3)}
[data-theme="dark"] .adm-report li.warn{color:var(--brassl)}
[data-theme="dark"] .adm-report li.ok{color:#6EE7B7}
[data-theme="dark"] .adm-pack.fuzzy{background:rgba(245,158,11,.12)}
[data-theme="dark"] .adm-step > i{background:var(--brass);color:#07130B}
[data-theme="dark"] .adm-d.up{color:#4ADE80}
[data-theme="dark"] .adm-d.down{color:#F87171}

/* Phones: product pack images swipe sideways so the name and rate card are reached in one screen */
@media(max-width:760px){
  .pd-image-stack{flex-direction:row;align-items:flex-start;overflow-x:auto;scroll-snap-type:x mandatory;gap:.8rem;padding-bottom:.5rem;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
  .pd-image-stack > *{flex:0 0 86%;scroll-snap-align:start;min-width:0}
  .pd-image-card-box img{max-height:46vh;object-fit:contain}
  .rl-act .rates-btn-wa span{display:inline}
}
/* Phones: the ticker label is reduced to its live dot so it never overlaps the moving text */
@media(max-width:680px){
  .mandi-ticker-label > span:not(.live-dot){display:none}
  .mandi-ticker-label{max-width:none;padding:0 .6rem}
}
/* The closed RFQ drawer sits off-screen; hide it fully so its shadow does not smudge the right edge of every page */
.rfq-drawer{visibility:hidden;transition:transform .3s cubic-bezier(.16,1,.3,1),visibility 0s linear .3s}
.rfq-drawer.open{visibility:visible;transition:transform .3s cubic-bezier(.16,1,.3,1),visibility 0s}
/* Admin entry point on the rate list page */
.rl-admin-link{display:inline-flex;align-items:center;gap:.35rem;align-self:center;font-family:var(--f-d);font-size:.8rem;font-weight:700;color:var(--faint);text-decoration:none;padding:.4rem .2rem}
.rl-admin-link:hover{color:var(--leaf);text-decoration:underline}
@media print{.rl-admin-link{display:none!important}}
/* ── Licence certificates in the compliance vault (real documents) ── */
.lb.lb-top{z-index:1100}
.vault-doc{display:grid;gap:1.1rem}
.vault-doc-top{display:flex;justify-content:space-between;align-items:center;gap:.6rem 1rem;flex-wrap:wrap}
.vault-doc-holder{font-size:.8rem;color:var(--soft)}
.vault-doc-holder b{color:var(--ink)}
.vault-doc-facts{display:grid;gap:0;background:var(--card);border:1px solid var(--line);border-radius:6px;overflow:hidden}
.vault-doc-facts>div{display:grid;grid-template-columns:minmax(110px,32%) 1fr;gap:.9rem;padding:.7rem 1rem;border-top:1px solid var(--line)}
.vault-doc-facts>div:first-child{border-top:0}
.vault-doc-facts span{font-family:var(--f-d);font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--faint);padding-top:.15rem}
.vault-doc-facts b{font-size:.9rem;font-weight:700;color:var(--ink);line-height:1.45;overflow-wrap:anywhere}
.vault-doc-facts>div:first-child b{font-family:var(--f-d);font-size:1.12rem;font-weight:900;color:var(--green);letter-spacing:.02em}
[data-theme="dark"] .vault-doc-facts>div:first-child b{color:var(--brassl)}
.vault-doc-pages{display:grid;gap:1rem}
.vault-doc-page{margin:0}
.vault-doc-page button{display:block;width:100%;padding:0;border:1px solid var(--line2);border-radius:4px;background:#fff;cursor:zoom-in;overflow:hidden;box-shadow:0 6px 20px -10px rgba(7,20,11,.35)}
.vault-doc-page img{display:block;width:100%;height:auto}
.vault-doc-page figcaption{margin-top:.4rem;font-size:.75rem;color:var(--faint);text-align:center}
.vault-doc-note{margin:0;font-size:.88rem;color:var(--soft)}
.vault-doc-actions{display:flex;flex-wrap:wrap;gap:.6rem}
.vault-doc-btn{display:inline-flex;align-items:center;gap:.4rem;padding:.6rem 1rem;border-radius:6px;background:var(--green);color:#fff;border:1px solid var(--green);font-family:var(--f-d);font-size:.82rem;font-weight:700;text-decoration:none;transition:background .18s,border-color .18s,color .18s}
.vault-doc-btn:hover{background:var(--leaf);border-color:var(--leaf);color:#fff}
.vault-doc-btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
.vault-doc-btn.ghost:hover{border-color:var(--brass);color:var(--brass-deep);background:transparent}
[data-theme="dark"] .vault-doc-btn{background:var(--brass);border-color:var(--brass);color:#07150C}
[data-theme="dark"] .vault-doc-btn:hover{background:var(--brassl);border-color:var(--brassl);color:#07150C}
[data-theme="dark"] .vault-doc-btn.ghost{background:transparent;color:var(--ink);border-color:var(--line2)}
[data-theme="dark"] .vault-doc-btn.ghost:hover{border-color:var(--brass);color:var(--brassl)}
.vault-doc-fine{margin:0;font-size:.78rem;color:var(--faint)}
@media(max-width:560px){.vault-doc-facts>div{grid-template-columns:1fr;gap:.2rem}}
/* Registrations tiles that open a certificate */
button.cert{font:inherit;text-align:left;cursor:pointer;width:100%}
.cert-doc em{font-style:normal;margin-top:.55rem;font-family:var(--f-d);font-size:.76rem;font-weight:700;color:var(--leaf)}
.cert-doc:hover em{text-decoration:underline}
/* Instagram and website QR codes in the contact panel */
.reach .reach-qr{display:block;margin-top:.4rem;padding-top:1.3rem;border-top:1px solid rgba(255,255,255,.1)}
.reach .reach-qr-row{display:flex;flex-wrap:wrap;gap:1.4rem}
.reach-qr figure{margin:0;display:flex;flex-direction:column;align-items:flex-start;gap:.55rem}
.reach .reach-qr figure a{display:block}
.reach-qr img{display:block;width:128px;height:128px;background:#fff;padding:7px;border-radius:10px;box-sizing:border-box}
.reach-qr img.qr-px{image-rendering:pixelated}
.reach-qr figcaption{display:grid;gap:.1rem}
.reach-qr figcaption b{font-family:var(--f-d);font-size:.8rem;font-weight:700;color:#fff}
.reach .reach-qr figcaption a{display:inline;font-family:var(--f-d);font-size:.82rem;color:var(--brassl);text-decoration:none;overflow-wrap:anywhere}
.reach .reach-qr figcaption a:hover{text-decoration:underline}
