/*
Theme Name: Mit Distro Store
Theme URI: https://mitdistro.store
Author: Mit Distro
Description: Storefront theme for Mit Distro Store — white/lime design matching the mitdistro.store line sheet.
Version: 4.3
Text Domain: herbal-distro
*/

.screen-reader-text{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* Age gate: hide the site behind the overlay until confirmed, no flash of
   content before the blocking inline script in <head> runs. */
html.hd-age-pending body{ overflow:hidden; }
html.hd-age-pending .site-nav,
html.hd-age-pending main,
html.hd-age-pending .site-footer,
html.hd-age-pending footer{ visibility:hidden; }

.hd-age-gate{ display:none; }
.hd-age-gate.is-visible{
  display:flex; align-items:center; justify-content:center;
  position:fixed; inset:0; z-index:9999; padding:1.5rem;
  background:var(--ink) center/cover no-repeat;
}
.hd-age-gate__card{
  background:var(--paper); border-radius:var(--radius); box-shadow:var(--shadow-lg);
  padding:2.4rem 2rem; max-width:26rem; width:100%; text-align:center;
}
.hd-age-gate__logo{ width:56px; height:56px; object-fit:contain; margin:0 auto 1.2rem; display:block; }
.hd-age-gate__card h2{ font-size:1.4rem; margin:0 0 .6rem; }
.hd-age-gate__card p{ color:var(--sub); font-size:.92rem; margin:0 0 1.6rem; }
.hd-age-gate__actions{ display:flex; flex-direction:column; gap:.7rem; }
.hd-age-gate__actions .btn{ width:100%; border:none; cursor:pointer; }
.hd-age-gate__blocked{ color:var(--rose-ink); background:var(--rose-bg); border-radius:var(--radius-sm); padding:.8rem 1rem; font-size:.85rem; font-weight:600; margin-top:1rem !important; }

:root{
  --ink:#181A17;
  --sub:#666F63;
  --sub-2:#8A9186;
  --line:#E5E8DF;
  --line-2:#EEF0E9;
  --paper:#FFFFFF;
  --bg:#FAFAF7;
  --bg-2:#F3F5EE;
  --lime:#8DBE2E;
  --lime-dark:#6F9924;
  --lime-darker:#557818;
  --lime-tint:#EEF6DD;
  --card:#FFFFFF;
  --card-2:#F3F4EF;
  --rose-bg:#F4E3D3;
  --rose-ink:#7A2E1E;
  --radius:16px;
  --radius-sm:10px;
  --maxw:1180px;
  --shadow-sm:0 1px 2px rgba(24,26,23,.04), 0 1px 1px rgba(24,26,23,.03);
  --shadow-md:0 8px 24px -8px rgba(24,26,23,.14), 0 2px 6px -2px rgba(24,26,23,.06);
  --shadow-lg:0 24px 48px -16px rgba(24,26,23,.22), 0 4px 12px -4px rgba(24,26,23,.08);
  --shadow-lime:0 10px 24px -10px rgba(109,153,36,.55);
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0; background:var(--bg); color:var(--ink);
  font-family:'Inter',system-ui,-apple-system,sans-serif;
  font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:inherit; }
h1,h2,h3,h4{ margin:0; font-weight:800; letter-spacing:-.025em; line-height:1.08; }
p{ margin:0 0 1em; }
.wrap{ max-width:var(--maxw); margin-inline:auto; padding-inline:clamp(1.1rem,4vw,2.5rem); position:relative; }
.eyebrow{ font-size:.76rem; font-weight:800; letter-spacing:.1em; text-transform:uppercase; color:var(--lime-darker); display:inline-flex; align-items:center; gap:.5rem; }
.eyebrow::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--lime); box-shadow:0 0 0 3px var(--lime-tint); }

/* ---------- buttons ---------- */
.btn, .woocommerce a.button, .woocommerce button.button, .woocommerce #respond input#submit,
.woocommerce input.button, .woocommerce-page .button, a.wp-block-button__link,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce input.button.alt,
.woocommerce #respond input#submit.alt, .woocommerce a.added_to_cart{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  font-size:.94rem; font-weight:700; padding:.9rem 1.8rem; line-height:1; white-space:nowrap;
  background:var(--ink) !important; color:#fff !important; border:1px solid var(--ink) !important;
  border-radius:999px; text-decoration:none; cursor:pointer;
  box-shadow:var(--shadow-md);
  transition:background .18s ease, transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.btn:hover, .woocommerce a.button:hover, .woocommerce button.button:hover,
.woocommerce input.button:hover, .woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover, .woocommerce input.button.alt:hover{
  background:#000 !important; border-color:#000 !important;
  transform:translateY(-2px); box-shadow:var(--shadow-lg);
}
.btn:active, .woocommerce a.button:active, .woocommerce button.button:active{ transform:translateY(0); }
.btn--outline{ background:transparent !important; color:var(--ink) !important; border-color:var(--line) !important; box-shadow:none !important; }
.btn--outline:hover{ background:var(--paper) !important; border-color:var(--ink) !important; transform:translateY(-2px); box-shadow:var(--shadow-md) !important; }
.btn--sm{ padding:.6rem 1.1rem !important; font-size:.85rem !important; }

/* ---------- nav ---------- */
.site-nav{
  position:sticky; top:0; z-index:40; background:rgba(255,255,255,.85);
  backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line); transition:box-shadow .25s ease, background .25s ease;
}
.site-nav.is-scrolled{ box-shadow:0 8px 24px -16px rgba(24,26,23,.25); background:rgba(255,255,255,.96); }
.site-nav__inner{ display:flex; align-items:center; justify-content:space-between; height:72px; gap:1rem; }
.brand{ display:flex; align-items:center; gap:.65rem; text-decoration:none; transition:opacity .15s; }
.brand:hover{ opacity:.85; }
.brand__logo{ width:36px; height:36px; object-fit:contain; border-radius:9px; box-shadow:var(--shadow-sm); }
.brand__name{ font-size:1.2rem; font-weight:800; letter-spacing:-.03em; color:var(--ink); }
.brand__name span{ color:var(--lime-dark); }
.nav-links{ display:flex; align-items:center; gap:1.5rem; list-style:none; margin:0; padding:0; }
.nav-links a:not(.btn){ font-size:.92rem; font-weight:600; text-decoration:none; color:var(--sub); position:relative; padding:.3rem 0; transition:color .15s; }
.nav-links a:not(.btn)::after{
  content:""; position:absolute; left:0; right:100%; bottom:-2px; height:2px; background:var(--lime);
  transition:right .2s ease;
}
.nav-links a:not(.btn):hover{ color:var(--ink); }
.nav-links a:not(.btn):hover::after{ right:0; }
.mode-pill{
  font-size:.7rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  padding:.4rem .8rem; border-radius:999px; background:var(--lime-tint); color:var(--lime-darker);
  border:1px solid rgba(109,153,36,.18);
}
.lang-switch{ display:flex; align-items:center; gap:.3rem; font-size:.8rem; font-weight:700; }
.lang-switch a{ color:var(--sub); text-decoration:none; padding:.2rem .4rem; border-radius:6px; transition:color .15s, background .15s; }
.lang-switch a:hover{ color:var(--ink); background:var(--bg-2); }
.lang-switch a.is-active{ color:var(--lime-darker); background:var(--lime-tint); }
.lang-switch .sep{ color:var(--line); }
@media (max-width:980px){ .nav-links li:has(.lang-switch){ display:none; } }
.cart-count{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:20px; height:20px; padding:0 5px; border-radius:999px;
  background:var(--ink); color:#fff; font-size:.68rem; font-weight:700; margin-left:.4rem;
}
@media (max-width:900px){ .nav-links li:not(.nav-links__cart):not(.nav-links__cta){ display:none; } }

/* ---------- hero ---------- */
.hero{ padding:clamp(3.5rem,7vw,6rem) 0 clamp(2.5rem,5vw,4rem); position:relative; overflow:hidden; }
.hero::before{
  content:""; position:absolute; top:-180px; right:-160px; width:520px; height:520px; border-radius:50%;
  background:radial-gradient(circle at 35% 35%, var(--lime), transparent 70%); opacity:.16; pointer-events:none;
  filter:blur(2px);
}
.hero__grid{ display:grid; grid-template-columns:1.1fr .9fr; gap:clamp(2rem,4vw,3.5rem); align-items:center; position:relative; z-index:1; }
@media (max-width:900px){ .hero__grid{ grid-template-columns:1fr; } }
.hero h1{ font-size:clamp(2.5rem,5.4vw,3.75rem); margin:1rem 0 0; }
.hero p.lede{ margin-top:1.2rem; max-width:48ch; color:var(--sub); font-size:1.1rem; }
.hero__cta{ display:flex; gap:.85rem; flex-wrap:wrap; margin-top:2rem; }
.hero__img{
  border-radius:20px; overflow:hidden; background:var(--paper);
  border:1px solid var(--line); aspect-ratio:4/3;
  display:flex; align-items:center; justify-content:center;
  box-shadow:var(--shadow-lg); position:relative;
}
.hero__img img{ width:100%; height:100%; object-fit:cover; }
.hero__img::after{
  content:"80mg standardised"; position:absolute; left:14px; bottom:14px;
  background:rgba(255,255,255,.92); backdrop-filter:blur(6px); color:var(--ink);
  font-size:.75rem; font-weight:800; letter-spacing:.02em; padding:.5rem .9rem;
  border-radius:999px; box-shadow:var(--shadow-md); border:1px solid var(--line);
}

/* ---------- badges strip ---------- */
.badges{ border-block:1px solid var(--line); background:var(--paper); position:relative; z-index:1; }
.badges__grid{ display:grid; grid-template-columns:repeat(4,1fr); }
@media (max-width:760px){ .badges__grid{ grid-template-columns:repeat(2,1fr); } }
.badge{ padding:1.5rem 1.2rem; text-align:center; border-right:1px solid var(--line); transition:background .2s; }
.badge:hover{ background:var(--bg-2); }
.badges__grid > .badge:last-child{ border-right:0; }
@media (max-width:760px){ .badge:nth-child(2n){ border-right:0; } .badge{ border-bottom:1px solid var(--line); } }
.badge b{ display:block; font-size:1.05rem; letter-spacing:-.01em; }
.badge span{ display:block; font-size:.82rem; color:var(--sub); margin-top:.3rem; }

/* ---------- sections ---------- */
.sec{ padding:clamp(3.5rem,7vw,5.5rem) 0; }
.sec--alt{ background:var(--paper); border-block:1px solid var(--line); }
.sec__head{ text-align:center; max-width:46ch; margin:0 auto 2.8rem; }
.sec__head h2{ font-size:clamp(1.9rem,3.6vw,2.6rem); }
.sec__head p{ margin-top:.8rem; color:var(--sub); font-size:1.02rem; }
.sec__more{ text-align:center; margin-top:1.6rem; }

/* ---------- how-it-works steps ---------- */
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:1.4rem; }
@media (max-width:820px){ .steps{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:520px){ .steps{ grid-template-columns:1fr; } }
.step{
  text-align:center; background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  padding:1.8rem 1.3rem; transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.step:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:transparent; }
.step__n{
  width:42px; height:42px; border-radius:50%; background:var(--lime); color:#0D1400;
  display:flex; align-items:center; justify-content:center; font-weight:800; margin:0 auto .9rem;
  box-shadow:var(--shadow-lime); font-size:1.05rem;
}
.step h4{ font-size:1.02rem; }
.step p{ margin:.5rem 0 0; color:var(--sub); font-size:.88rem; }

/* ---------- compliance ---------- */
.compliance-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:1.4rem; }
@media (max-width:820px){ .compliance-grid{ grid-template-columns:1fr; } }
.compliance-card{ background:var(--bg-2); border:1px solid var(--line); border-radius:var(--radius-sm); padding:1.4rem; }
.compliance-card h4{ font-size:1rem; }
.compliance-card p{ margin:.5rem 0 0; color:var(--sub); font-size:.87rem; }

.hd-banned-states{
  margin-top:1.4rem; background:var(--rose-bg); border:1px solid #f0c9c9; border-radius:var(--radius-sm);
  padding:1.4rem 1.6rem;
}
.hd-banned-states h4{ font-size:1rem; color:var(--rose-ink); margin:0 0 .5rem; }
.hd-banned-states p{ margin:.4rem 0 0; color:var(--ink); font-size:.87rem; }
.hd-banned-states__list{ font-weight:700; }
.hd-banned-states__note{ color:var(--sub); font-size:.8rem; }

/* ============================================================
   WOOCOMMERCE — product archive / shop grid
   ============================================================ */
.woocommerce ul.products{ display:grid !important; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)) !important; gap:1.4rem; list-style:none; padding:0; margin:0 0 2rem; }
/* WooCommerce's legacy clearfix pseudo-elements become real grid items once
   the container is display:grid, silently eating the first/last cell. Kill them. */
.woocommerce ul.products::before, .woocommerce ul.products::after{ content:none !important; display:none !important; }

.woocommerce ul.products li.product{
  display:flex !important; flex-direction:column; gap:.4rem;
  background:var(--paper); border:1px solid var(--line); border-radius:var(--radius);
  padding:1.3rem; text-align:left; float:none !important; width:auto !important; margin:0 !important;
  position:relative; transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.woocommerce ul.products li.product:hover{
  transform:translateY(-6px); box-shadow:var(--shadow-lg); border-color:transparent; z-index:2;
}
.woocommerce ul.products li.product img{
  border-radius:var(--radius-sm); aspect-ratio:16/11; object-fit:cover; margin-bottom:1rem; background:var(--card-2);
  transition:transform .35s ease;
}
/* 7FREE packaging is a tall blister-pack photo — show it in full rather
   than cropping it to the grid's usual 16:11 landscape ratio. */
.woocommerce ul.products li.product.post-107 img,
.woocommerce ul.products li.product.post-108 img,
.woocommerce ul.products li.product.post-109 img{
  object-fit:contain;
}
.woocommerce ul.products li.product:hover img{ transform:scale(1.03); }
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:1.08rem; font-weight:800; margin:0; color:var(--ink); letter-spacing:-.01em;
  /* Reserve consistent 2-line height so short and long titles don't leave
     wildly different amounts of space above the price/button. WooCommerce's
     own CSS sets display:flow-root here, which silently disables
     -webkit-line-clamp — !important + a hard max-height as a backstop. */
  min-height:2.6em; max-height:2.6em; line-height:1.3;
  display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.woocommerce ul.products li.product .price{ font-weight:800; color:var(--lime-darker); font-size:1rem; margin:0; }
/* Push the button to the bottom of every card, so buttons align across a row
   regardless of title length or the extra "standardised" badge on some cards. */
.woocommerce ul.products li.product .button{ margin-top:1rem; width:100%; white-space:nowrap; }
.woocommerce span.onsale{
  position:absolute; top:14px; right:14px; background:var(--lime); color:#0D1400; border-radius:999px;
  font-weight:800; font-size:.7rem; letter-spacing:.03em; padding:.35rem .7rem; box-shadow:var(--shadow-sm); z-index:1;
}
.hd-badge{
  display:inline-block; font-size:.66rem; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  color:var(--lime-darker); background:var(--lime-tint); border:1px solid rgba(109,153,36,.2);
  padding:.3rem .6rem; border-radius:999px; margin-bottom:.6rem;
}
.hd-badge--empty{ visibility:hidden; }
.hd-nfhc{
  font-size:.8rem; font-weight:700; color:var(--rose-ink); background:var(--rose-bg);
  border-radius:8px; padding:.5rem .8rem; margin:.8rem 0 1.4rem; display:inline-block;
  text-transform:uppercase; letter-spacing:.03em;
}

/* single product */
.woocommerce div.product{ background:var(--paper); border:1px solid var(--line); border-radius:20px; padding:clamp(1.4rem,3vw,2.2rem); box-shadow:var(--shadow-sm); }
.woocommerce div.product .product_title{ font-size:clamp(1.6rem,3vw,2.1rem); }
.woocommerce div.product p.price, .woocommerce div.product span.price{ color:var(--lime-darker); font-weight:800; font-size:1.5rem; }
.woocommerce div.product .woocommerce-product-details__short-description{ color:var(--sub); font-size:1rem; }
.woocommerce div.product form.cart .quantity input{ border:1px solid var(--line); border-radius:var(--radius-sm); padding:.7rem; }
.woocommerce .quantity select,
.woocommerce div.product form.cart .quantity select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  border:1px solid var(--line); border-radius:var(--radius-sm);
  background:var(--paper) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%23666F63" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') no-repeat right .9rem center;
  background-size:13px;
  padding:.75rem 2.4rem .75rem 1rem;
  font-family:inherit; font-size:.95rem; font-weight:600; color:var(--ink);
  cursor:pointer; min-width:9rem;
  transition:border-color .15s, box-shadow .15s;
}
.woocommerce .quantity select:hover{ border-color:var(--ink); }
.woocommerce .quantity select:focus{ outline:none; border-color:var(--lime); box-shadow:0 0 0 3px var(--lime-tint); }

/* Variation dropdown (weight tiers) styled to match the tablet-quantity select */
.woocommerce div.product .variations{ margin:0 0 1rem; }
.woocommerce div.product .variations table,
.woocommerce div.product .variations tbody,
.woocommerce div.product .variations tr{ display:block; width:100%; }
.woocommerce div.product .variations th.label,
.woocommerce div.product .variations td.value{ display:block; padding:0; border:none; }
.woocommerce div.product .variations th.label{
  font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  color:var(--sub); margin-bottom:.4rem;
}
.woocommerce div.product .variations td.value{ display:flex; align-items:center; gap:.8rem; }
.woocommerce div.product .variations select{
  appearance:none; -webkit-appearance:none; -moz-appearance:none;
  border:1px solid var(--line); border-radius:var(--radius-sm);
  background:var(--paper) url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="%23666F63" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><polyline points="6 9 12 15 18 9"></polyline></svg>') no-repeat right .9rem center;
  background-size:13px;
  padding:.75rem 2.4rem .75rem 1rem;
  font-family:inherit; font-size:.95rem; font-weight:600; color:var(--ink);
  cursor:pointer; min-width:9rem;
  transition:border-color .15s, box-shadow .15s;
}
.woocommerce div.product .variations select:hover{ border-color:var(--ink); }
.woocommerce div.product .variations select:focus{ outline:none; border-color:var(--lime); box-shadow:0 0 0 3px var(--lime-tint); }
.woocommerce div.product .variations td.value .reset_variations{
  font-size:.85rem; font-weight:600; color:var(--sub); text-decoration:underline;
}
.woocommerce div.product .variations td.value .reset_variations:hover{ color:var(--ink); }
.woocommerce div.product .woocommerce-variation-price{ margin:.6rem 0 1rem; }
.woocommerce div.product .woocommerce-variation-price .price{ font-size:1.5rem; font-weight:800; color:var(--ink); }

/* Contact form */
.hd-contact-form{ max-width:34rem; margin:2rem 0; }
.hd-contact-intro{ color:var(--sub); margin-bottom:1.6rem; max-width:42ch; }
.hd-form-row{ margin-bottom:1.1rem; display:flex; flex-direction:column; gap:.4rem; }
.hd-form-row label{ font-size:.8rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; color:var(--sub); }
.hd-form-row input, .hd-form-row textarea{
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:.75rem 1rem;
  font-family:inherit; font-size:.95rem; color:var(--ink); background:var(--paper);
  transition:border-color .15s, box-shadow .15s; resize:vertical;
}
.hd-form-row input:hover, .hd-form-row textarea:hover{ border-color:var(--ink); }
.hd-form-row input:focus, .hd-form-row textarea:focus{ outline:none; border-color:var(--lime); box-shadow:0 0 0 3px var(--lime-tint); }
.hd-contact-form .btn{ border:none; cursor:pointer; }
.hd-form-notice{ padding:.9rem 1.1rem; border-radius:var(--radius-sm); font-size:.9rem; font-weight:600; margin-bottom:1.4rem; }
.hd-form-notice--ok{ background:#eaf6ea; color:#1e6b2e; border:1px solid #bfe3c0; }
.hd-form-notice--err{ background:var(--rose-bg); color:var(--rose-ink); border:1px solid #f0c9c9; }
.woocommerce div.product div.images{ border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; background:var(--bg-2); }
.woocommerce div.product .woocommerce-tabs{ margin-top:2rem; border-top:1px solid var(--line); padding-top:1.5rem; }

/* empty cart block */
.wp-block-woocommerce-empty-cart-block h2.wp-block-heading{ margin-bottom:1.6rem; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator{ margin:1.6rem 0; }

/* cart / checkout tables */
.woocommerce table.shop_table{ border-collapse:separate; border-spacing:0; width:100%; border:1px solid var(--line); border-radius:var(--radius); overflow:hidden; box-shadow:var(--shadow-sm); }
.woocommerce table.shop_table th{ background:var(--bg-2); text-align:left; padding:1rem; font-size:.8rem; text-transform:uppercase; letter-spacing:.05em; color:var(--sub); font-weight:700; }
.woocommerce table.shop_table td{ padding:1rem; border-top:1px solid var(--line); }
.woocommerce-checkout form .form-row input, .woocommerce-checkout form .form-row select,
.woocommerce form .form-row textarea{
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:.75rem .9rem; background:var(--paper); width:100%;
  transition:border-color .15s, box-shadow .15s;
}
.woocommerce-checkout form .form-row input:focus, .woocommerce-checkout form .form-row select:focus,
.woocommerce form .form-row textarea:focus{ outline:none; border-color:var(--lime); box-shadow:0 0 0 3px var(--lime-tint); }
.woocommerce-checkout #payment{ background:var(--paper); border:1px solid var(--line); border-radius:var(--radius); padding:1.3rem; box-shadow:var(--shadow-sm); }
.woocommerce-checkout #payment ul.payment_methods{ list-style:none; padding:0; }
.woocommerce #content table.cart td.actions .coupon .input-text, .woocommerce table.cart td.actions .coupon .input-text{
  border:1px solid var(--line); border-radius:var(--radius-sm); padding:.6rem .8rem;
}

/* misc woo notices */
.woocommerce-message, .woocommerce-info{
  background:var(--lime-tint); border-top-color:var(--lime); color:var(--ink);
  border-radius:var(--radius-sm); padding:1rem 1.2rem 1rem 3.2rem; border:1px solid rgba(109,153,36,.18); box-shadow:var(--shadow-sm);
}

/* ---------- footer ---------- */
.site-footer{ padding:3rem 0 2.5rem; border-top:1px solid var(--line); margin-top:3rem; background:var(--paper); }
.site-footer__top{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:2rem; }
.site-footer__cols{ display:flex; gap:3rem; flex-wrap:wrap; }
.site-footer__col h5{ font-size:.76rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase; color:var(--sub-2); margin-bottom:.8rem; }
.site-footer__col a{ display:block; text-decoration:none; color:var(--ink); font-size:.92rem; padding:.28rem 0; transition:color .15s, transform .15s; }
.site-footer__col a:hover{ color:var(--lime-darker); transform:translateX(2px); }
.site-footer__bottom{ margin-top:2.4rem; padding-top:1.4rem; border-top:1px solid var(--line); display:flex; justify-content:space-between; gap:1rem; flex-wrap:wrap; font-size:.8rem; color:var(--sub); }
