:root{
  --bg:#f6f4ef;
  --card:#ffffff;
  --text:#1f2a21;
  --muted:#6d756e;
  --accent:#2f6b3a;
  --accent-soft:#e6efe8;
  --brown:#7a4f2a;
  --border:#e5e2da;
  --radius:16px;
  --container:1280px;
  --shadow:0 10px 30px rgba(0,0,0,.06);
  --header-h:88px;
  --header-h-mobile:128px;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial;
  background:var(--bg);
  color:var(--text);
  overflow-x:hidden;
  padding-top:var(--header-h);
}

a{color:inherit;text-decoration:none}
.container{max-width:var(--container);margin:0 auto;padding:0 20px}
.muted{color:var(--muted)}
.link{color:var(--accent);font-weight:800}
.link:hover{text-decoration:underline}

/* HEADER */
.header{
  background:#fff;
  border-bottom:1px solid var(--border);
  position:fixed;
  top:0;
  left:0;
  right:0;
  z-index:200;
  height:var(--header-h);
  overflow:hidden;
  transform:translateY(0);
  opacity:1;
  visibility:visible;
}

.header__inner{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:0;
  min-width:0;
}

.brand{
  display:flex;
  align-items:center;
  min-width:0;
  flex:0 1 auto;
}

.brand__logo{
  display:block;
  width:auto !important;
  height:250px !important;
  max-height:none !important;
  max-width:none !important;
  object-fit:contain;
  transform:none !important;
  position:relative;
  top:16px;
}

.nav{
  display:flex;
  gap:22px;
  align-items:center;
}

.nav__link{
  font-weight:800;
  color:var(--muted);
  padding:10px 10px;
  border-radius:12px;
  line-height:1;
}

.nav__link:hover{
  color:var(--accent);
  background:rgba(47,107,58,.06);
}

.nav__link.is-active{
  color:var(--accent);
  background:rgba(47,107,58,.10);
}

.actions{
  display:flex;
  gap:12px;
  align-items:center;
  min-width:0;
  flex:0 0 auto;
}

.iconBtn{
  position:relative;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  transition:.18s ease;
  flex:0 0 auto;
}
.iconBtn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}

.badge{
  position:absolute;
  top:-6px;
  right:-6px;
  min-width:20px;
  height:20px;
  padding:0 6px;
  border-radius:999px;
  background:var(--accent);
  color:#fff;
  font-size:12px;
  font-weight:900;
  display:flex;
  align-items:center;
  justify-content:center;
  border:2px solid #fff;
}

.flash{
  background:none;
  border-bottom:none;
}
.flash__inner{
  padding:10px 20px;
  font-weight:900;
  color:var(--accent);
}

/* Force header to stay visible on desktop even if JS tries to hide it */
@media (min-width:641px){
  .header,
  .header.is-hidden,
  .header.header--hidden,
  .header.hide,
  .header.hide-on-scroll,
  .header[style*="translateY"],
  .header[style*="transform"]{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    transform:translateY(0) !important;
    opacity:1 !important;
    visibility:visible !important;
    pointer-events:auto !important;
  }
}

/* BUTTONS */
.btn__label{display:inline}
.btn__label--short{display:none}

.btn{
  color:var(--text);
  -webkit-text-fill-color:var(--text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  white-space:nowrap;
  padding:11px 16px;
  border-radius:12px;
  font-weight:900;
  border:1px solid var(--border);
  background:#fff;
  transition:.18s ease;
}
.btn:hover{transform:translateY(-1px);box-shadow:var(--shadow)}
.btn--primary{
  background:var(--accent);
  border-color:rgba(47,107,58,.30);
  color:#fff;
  -webkit-text-fill-color:#fff;
}
.btn--primary:hover{background:#24582f}
.btn--ghost{background:transparent}
.btn--small{padding:9px 12px;border-radius:10px;min-width:64px}
.btn--big{padding:14px 16px;border-radius:16px;font-size:16px}
.btn--cta{
  border-radius:14px;
  padding-left:16px;
  padding-right:16px;
}
.btn--full{width:100%;justify-content:center}

/* MOBILE MENU */
.navToggle{
  display:none;
  width:44px;
  height:44px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  font-size:18px;
  line-height:1;
  transition:.18s ease;
  flex:0 0 auto;
}
.navToggle:hover{transform:translateY(-1px);box-shadow:var(--shadow)}

.mobileNav{
  position:fixed;
  inset:0;
  z-index:300;
  display:none;
}
.mobileNav.is-open{display:block}
.mobileNav__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.35);
}
.mobileNav__panel{
  position:absolute;
  top:0;
  right:0;
  width:min(340px,92vw);
  height:100%;
  background:#fff;
  border-left:1px solid var(--border);
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:14px;
  overflow-y:auto;
}
.mobileNav__top{
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.mobileNav__close{
  width:40px;
  height:40px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  font-size:16px;
}
.mobileNav__links{display:flex;flex-direction:column;gap:6px}
.mobileNav__link{
  padding:12px 12px;
  border-radius:14px;
  font-weight:800;
  color:var(--text);
  border:1px solid transparent;
}
.mobileNav__link:hover{background:rgba(47,107,58,.06)}
.mobileNav__link.is-active{background:rgba(47,107,58,.10);color:var(--accent)}
.mobileNav__sectionTitle{
  margin:12px 0 4px;
  padding:10px 12px 0;
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
}
.mobileNav__cta{
  margin-top:auto;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.noScroll{overflow:hidden}

/* HERO */
.hero{padding:64px 0 24px}
.hero__grid{
  display:grid;
  grid-template-columns:1.15fr .85fr;
  gap:28px;
  align-items:start;
  min-width:0;
}
.hero__copy,
.hero__media{min-width:0}

.pill{
  display:inline-flex;
  align-items:center;
  padding:9px 14px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  font-weight:950;
  font-size:14px;
  border:1px solid rgba(0,0,0,.10);
}

h1{
  font-size:52px;
  line-height:1.05;
  margin:18px 0 12px;
  letter-spacing:-.6px;
}
.lead{
  font-size:18px;
  line-height:1.6;
  color:var(--muted);
  max-width:60ch;
}
.cta{
  margin-top:20px;
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.trustbar{
  margin-top:22px;
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:12px;
}
.trustbar__item{
  background:#fff;
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.03);
}
.trustbar__top{font-weight:950}
.trustbar__bottom{
  color:var(--muted);
  margin-top:2px;
  font-weight:800;
  font-size:13px;
}

/* GENERIC */
.card{
  background:var(--card);
  border-radius:var(--radius);
  padding:18px;
  box-shadow:var(--shadow);
  border:1px solid var(--border);
  max-width:100%;
  min-width:0;
}

.note{
  background:rgba(47,107,58,.06);
  border:1px solid rgba(47,107,58,.16);
  border-radius:var(--radius);
  padding:16px;
}

.form{display:grid;gap:10px;max-width:560px}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.formRow{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.textarea{
  border-radius:12px;
  border:1px solid var(--border);
  padding:12px;
  font-weight:850;
  background:#fff;
  color:var(--text);
  resize:vertical;
}

.input,.select{
  height:42px;
  border-radius:12px;
  border:1px solid var(--border);
  padding:0 12px;
  font-weight:850;
  background:#fff;
  color:var(--text);
}
.input{min-width:240px}

.price{font-size:22px;font-weight:950}

.media{
  border-radius:14px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#fff;
}
.media img{
  display:block;
  width:100%;
  height:auto;
}

.hero__media{
  padding:16px;
  align-self:start;
  max-width:100%;
}
.hero__media .media{
  aspect-ratio:4 / 3;
}
.hero__media .media img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.media__caption{padding:12px 6px 0}
.media__title{font-weight:950;font-size:18px;margin:6px 0 2px}
.media__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:10px;
  gap:12px;
}

/* SECTIONS */
.section{padding:54px 0}
.section--alt{
  background:rgba(47,107,58,.04);
  border-top:1px solid var(--border);
  border-bottom:1px solid var(--border);
}
.section__head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:16px;
  margin-bottom:18px;
}
.section__head h2{margin:0;font-size:28px}

/* LAYOUTS */
.grid4{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}

.split{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.story h2{margin:0 0 10px}
.bullets{display:grid;gap:12px;margin-top:16px}
.bullet{display:grid;gap:3px}
.bullet strong{font-weight:950}

.quote__stars{font-weight:950;letter-spacing:1px;color:var(--accent)}
.quote__text{margin-top:10px;font-weight:900;line-height:1.45}
.quote__meta{margin-top:10px;font-weight:800}

/* PRODUCT GRID */
.product{
  background:#fff;
  border:1px solid var(--border);
  border-radius:16px;
  overflow:hidden;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
  transition:.18s ease;
  max-width:100%;
}
.product:hover{transform:translateY(-3px)}
/* === PRODUCT IMAGE FIX + PREMIUM EFFECTS === */
.product__media{
  position:relative;
  aspect-ratio: 4 / 3; /* controls height cleanly */
  overflow:hidden;
  background:#f3f3f3;
}

/* Image behaviour */
.product__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transition:transform .35s ease, filter .35s ease;
}

/* subtle zoom on hover */
.product:hover .product__media img{
  transform:scale(1.06);
}

/* slight dark overlay for depth */
.product__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(0,0,0,.15), transparent 60%);
  opacity:.6;
  transition:opacity .3s ease;
}

/* fade overlay on hover */
.product:hover .product__media::after{
  opacity:.3;
}
.product__tag{
  position:absolute;
  top:12px;
  left:12px;
  background:#fff;
  border:1px solid var(--border);
  padding:6px 10px;
  border-radius:999px;
  font-weight:950;
  font-size:12px;
  color:var(--text);
}
.product__body{padding:14px}
.product__name{font-weight:950;margin-bottom:6px}
.product__desc{
  color:var(--muted);
  font-weight:800;
  font-size:13px;
  line-height:1.35;
}
.product__row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin-top:12px;
}
.product__row form{flex:0 0 auto}
.product__price{font-weight:950}
.product__placeholder{
  width:100%;
  height:180px;
  border-radius:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:900;
  color:rgba(0,0,0,.55);
  background:linear-gradient(135deg,rgba(0,0,0,.06),rgba(0,0,0,.02));
}

/* CTA / FOOTER */
.ctaBar{padding:34px 0 54px}
.ctaBar__inner{
  background:#fff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:var(--shadow);
  padding:22px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.ctaBar__inner h2{margin:0 0 6px;font-size:26px}
.ctaBar__inner p{margin:0}
.ctaBar__actions{display:flex;gap:12px}

.footer{
  background:#fff;
  border-top:1px solid var(--border);
  padding:40px 0 20px;
}
.footer__inner{
  display:flex;
  justify-content:space-between;
  gap:18px;
  flex-wrap:wrap;
}
.footer__title{font-weight:950;margin-bottom:8px}
.footer__links{display:flex;gap:16px;flex-wrap:wrap}
.footer__links a{color:var(--muted);font-weight:900}
.footer__links a:hover{color:var(--accent)}
.footer__bottom{
  margin-top:22px;
  padding-top:14px;
  border-top:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  color:var(--muted);
  font-weight:800;
  font-size:14px;
}

/* SHOP */
.shopHero{padding:44px 0 12px}
.shopHero__inner{
  display:grid;
  grid-template-columns:1.1fr .9fr;
  gap:18px;
  align-items:start;
  min-width:0;
}
.shopHero__card{padding:16px}
.shopHero__line{font-weight:850;margin:8px 0}
.shopHero__line strong{color:var(--accent)}

.shopFilters{padding:16px}
.shopFilters__row{
  display:flex;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
  align-items:center;
  min-width:0;
}
.shopFilters__cats{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.12);
  background:#fff;
  font-weight:900;
  color:var(--muted);
  cursor:pointer;
  user-select:none;
}
.chip:hover{color:var(--accent);border-color:rgba(47,107,58,.25)}
.chip--active{
  background:var(--accent-soft);
  color:var(--accent);
  border-color:rgba(47,107,58,.25);
}
.chip input{width:16px;height:16px;margin-right:6px}
.shopFilters__controls{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  align-items:center;
}
.shopFilters__meta{margin-top:12px;font-weight:800}
.shopGrid{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:16px;
  min-width:0;
}

/* CART / CHECKOUT */
.pageHead{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  margin-bottom:18px;
}
.alert{
  border:1px solid rgba(47,107,58,.22);
  background:rgba(47,107,58,.08);
  padding:12px 14px;
  border-radius:14px;
  margin:14px 0;
  font-weight:700;
}
.alert--danger{
  border-color:rgba(160,40,40,.25);
  background:rgba(160,40,40,.08);
}

.cartLayout{
  display:grid;
  grid-template-columns:1.6fr .9fr;
  gap:16px;
  align-items:start;
}
.cartCard{padding:16px}
.cartTable{display:flex;flex-direction:column;gap:10px}
.cartRow{
  display:grid;
  grid-template-columns:1.6fr .55fr .6fr .6fr .35fr;
  gap:12px;
  align-items:center;
  padding:12px 0;
  border-top:1px solid var(--border);
}
.cartRow--head{
  border-top:0;
  padding-top:0;
  font-size:13px;
  color:var(--muted);
  font-weight:800;
}
.cartProd{display:flex;gap:12px;align-items:center}
.cartThumb{
  width:44px;
  height:44px;
  border-radius:14px;
  background:linear-gradient(135deg,rgba(47,107,58,.12),rgba(47,107,58,.04));
  border:1px solid rgba(47,107,58,.12);
}
.cartName{font-weight:900}
.qty{
  width:74px;
  padding:10px 10px;
  border-radius:12px;
  border:1px solid var(--border);
  background:#fff;
  font-weight:800;
  text-align:center;
}
.right{text-align:right}
.center{text-align:center}
.inline{display:inline}
.danger{color:#b3261e}
.small{font-size:13px}
.cartActions{
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:flex-start;
  margin-top:14px;
}
.cartSummary{padding:16px;position:sticky;top:110px}
.summaryLine{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 0;
}
.divider{height:1px;background:var(--border);margin:6px 0}
.summaryLine--total{font-size:18px;font-weight:900}
.cartEmpty{
  display:flex;
  gap:14px;
  align-items:center;
  padding:18px;
}
.cartEmpty__icon{
  width:54px;
  height:54px;
  border-radius:18px;
  background:rgba(47,107,58,.10);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:24px;
}

.authLayout{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:start}
.authCard{padding:16px}

.checkoutLayout{
  display:grid;
  grid-template-columns:1.2fr .8fr;
  gap:16px;
  align-items:start;
  min-width:0;
}
.productPage{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  align-items:start;
  min-width:0;
}
.productPage__price{font-size:28px;font-weight:1000;margin-top:4px}
.productPage__buyRow{
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
}

/* ADMIN */
.adminLayout{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:18px;
  align-items:start;
}

.adminNav{
  position:sticky;
  top:calc(var(--header-h) + 16px);
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px;
  border-radius:16px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  min-width:0;
  z-index:30;
}
.adminNav__title{
  font-weight:900;
  margin-bottom:6px;
}
.adminNav__sep{
  height:1px;
  background:rgba(0,0,0,.08);
  margin:6px 0;
  flex:0 0 auto;
}
.adminNav a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 12px;
  border-radius:12px;
  text-decoration:none;
  color:inherit;
  border:1px solid rgba(0,0,0,.06);
  background:#fff;
  font-weight:800;
  white-space:nowrap;
  transition:.18s ease;
}
.adminNav a:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow);
  border-color:rgba(47,107,58,.18);
}
.adminNav a.is-active{
  color:var(--accent);
  background:rgba(47,107,58,.10);
  border-color:rgba(47,107,58,.35);
}
.adminNav__back{color:var(--muted)}

.adminMain h1{margin-top:0}
.adminHeaderRow{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:14px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.adminKpis{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  margin-top:14px;
}
.adminKpi__value{font-size:28px;font-weight:1000;margin-top:6px}

.tableWrap{
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  border-radius:16px;
}
.table{
  width:100%;
  border-collapse:collapse;
  table-layout:fixed;
}
.table th,.table td{
  text-align:left;
  padding:12px 10px;
  border-bottom:1px solid rgba(0,0,0,.06);
  white-space:normal;
  word-break:break-word;
  vertical-align:middle;
}
.table th{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(0,0,0,.55);
}

.adminRowForm{display:contents}
.adminList{display:grid;gap:12px}
.adminItem{
  display:grid;
  grid-template-columns:minmax(220px,1.6fr) 130px 110px 130px 170px 120px;
  gap:12px;
  align-items:center;
  padding:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fff;
}
.adminItem__head{
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.06em;
  color:rgba(0,0,0,.55);
  font-weight:900;
}
.adminItem__title{font-weight:950}
.adminItem__meta{font-size:13px;color:var(--muted);margin-top:4px}
.stackActions{display:flex;flex-direction:column;gap:8px}
.tightInput{min-width:0;width:100%}
.label{display:block;margin:0 0 6px;font-weight:850}
.checkRow{display:flex;gap:8px;align-items:center;margin:8px 0}
.chipGrid{display:flex;flex-wrap:wrap;gap:8px}
.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.settingsGrid .card{padding:18px}
.textarea.input{height:auto;min-width:0;padding:12px}
.fileHelp{font-size:13px;color:var(--muted);margin-top:6px}
.previewImg{
  max-width:220px;
  border-radius:14px;
  border:1px solid var(--border);
  display:block;
  margin-top:10px;
}
.adminInlineForm{margin:0}
.adminToggle{display:inline-flex;align-items:center;gap:8px}
.adminDetailGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}
.orderItems{display:flex;flex-direction:column;gap:10px}
.orderItem{
  display:flex;
  justify-content:space-between;
  gap:10px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#fff;
}
.toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:12px 0 16px;
}
.pager{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* MISC */
.toast{
  position:fixed;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  background:rgba(19,23,20,.92);
  color:#fff;
  padding:12px 14px;
  border-radius:14px;
  box-shadow:0 12px 30px rgba(0,0,0,.25);
  z-index:9999;
  font-weight:800;
  opacity:0;
  pointer-events:none;
  transition:.18s ease;
}
.toast.is-show{opacity:1;transform:translateX(-50%) translateY(-4px)}

.list{display:flex;flex-direction:column;gap:10px}
.listItem{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--border);
  border-radius:14px;
  background:rgba(255,255,255,.75);
  transition:.18s ease;
  text-decoration:none;
  color:inherit;
}
.listItem:hover{transform:translateY(-1px);box-shadow:0 12px 24px rgba(0,0,0,.07)}

.radioCardRow{display:flex;gap:12px;flex-wrap:wrap}
.radioCard{
  flex:1;
  min-width:220px;
  display:flex;
  gap:10px;
  align-items:flex-start;
  padding:12px;
  border:1px solid rgba(0,0,0,.12);
  border-radius:14px;
  background:#fff;
  cursor:pointer;
}
.radioCard input{margin-top:4px}
.radioCard:has(input:checked){border-color:rgba(0,0,0,.35)}
.radioCard input:disabled + div{opacity:.55}

main,.adminMain,.card,.tableWrap,
.hero__grid,.hero__copy,.hero__media,.shopHero__inner,.shopFilters__row,.shopGrid,.productPage,.checkoutLayout{
  min-width:0;
}

/* RESPONSIVE */
@media (max-width:1200px){
  .adminItem{grid-template-columns:minmax(180px,1.4fr) 110px 90px 120px 150px 100px}
}

@media (max-width:980px){
  .hero__grid{grid-template-columns:1fr}
  h1{font-size:40px}
  .grid4{grid-template-columns:1fr 1fr}
  .grid3{grid-template-columns:1fr}
  .split{grid-template-columns:1fr}
  .grid2{grid-template-columns:1fr}
  .cartLayout{grid-template-columns:1fr}
  .cartSummary{position:relative;top:auto}
  .authLayout{grid-template-columns:1fr}
  .formRow{grid-template-columns:1fr}
  .shopHero__inner{grid-template-columns:1fr}
  .shopGrid{grid-template-columns:repeat(2,1fr)}
  .checkoutLayout{grid-template-columns:1fr}
  .productPage{grid-template-columns:1fr}
  .settingsGrid{grid-template-columns:1fr}
  .adminDetailGrid{grid-template-columns:1fr}
  .adminLayout{grid-template-columns:1fr}
  .adminKpis{grid-template-columns:1fr}
}

@media (max-width:920px){
  .adminNav{
    display:none;
  }
}

@media (max-width:860px){
  .adminItem,
  .adminItem.adminItem--delivery{
    grid-template-columns:1fr 1fr;
  }
  .adminItem__head{display:none}
}

@media (max-width:640px){
  body{
    padding-top:116px;
  }

  .header{
    height:116px;
  }

  .header__inner{
    gap:8px;
    padding:0 10px;
    justify-content:flex-start;
  }

  .nav{display:none}

  .navToggle{
    display:flex;
    align-items:center;
    justify-content:center;
    flex:0 0 42px;
  }

  .brand{
    flex:1 1 auto;
    min-width:0;
    max-width:calc(100% - 210px);
    overflow:visible;
    margin-left:-8px;
  }

  .brand__logo{
    height:325px !important;
    width:auto !important;
    max-width:270px !important;
    max-height:none !important;
    object-fit:contain;
    transform:none !important;
    position:relative;
    top:14px;
    left:-30px;
  }

  .actions{
    gap:8px;
    margin-left:auto;
    flex:0 0 auto;
    align-items:center;
  }

  .actions .btn--ghost{
    display:none;
  }

  .btn{
    padding:10px 12px;
    border-radius:12px;
    font-size:14px;
  }

  .actions .btn--cta{
    min-height:42px;
    padding:0 14px;
    border-radius:14px;
    font-size:13px;
    min-width:128px;
    flex:0 0 auto;
  }

  .actions .btn--cta .btn__label--full{
    display:inline;
  }

  .actions .btn--cta .btn__label--short{
    display:none;
  }

  .iconBtn,
  .navToggle{
    width:42px;
    height:42px;
    border-radius:14px;
    flex:0 0 auto;
  }

  .hero{padding:36px 0 18px}
  .hero__media .media{aspect-ratio:1 / 1}
  .trustbar{grid-template-columns:1fr}
  .grid4{grid-template-columns:1fr}
  .shopGrid{grid-template-columns:1fr}
  .input{min-width:100%}
  .form__row{grid-template-columns:1fr}
  .pageHead{flex-direction:column;align-items:flex-start}

  .cartRow{
    grid-template-columns:1fr .55fr .6fr .6fr;
  }
  .cartRow > div:last-child{
    grid-column:1 / -1;
    text-align:left;
  }
  .right{text-align:left}
  .center{text-align:left}
  .qty{width:100%}

  .tableWrap{
    overflow-x:auto;
    overflow-y:hidden;
    -webkit-overflow-scrolling:touch;
  }

  .table{
    min-width:760px;
    table-layout:auto;
  }

  .table th,
  .table td{
    white-space:nowrap;
    word-break:normal;
    vertical-align:middle;
  }

  .toolbar{
    align-items:flex-start;
  }

  .mobileNav__cta{
    margin-top:12px;
  }
}

@media (max-width:520px){
  .adminItem,
  .adminItem.adminItem--delivery{
    grid-template-columns:1fr;
  }
}

@media (max-width:420px){
  .btn__label--full{display:none}
  .btn__label--short{display:inline}

  body{
    padding-top:112px;
  }

  .header{
    height:112px;
  }

  .header__inner{
    padding:0 8px;
    gap:6px;
  }

  .brand{
    max-width:calc(100% - 192px);
    margin-left:-10px;
  }

  .brand__logo{
    height:280px !important;
    width:auto !important;
    max-width:225px !important;
    max-height:none !important;
    object-fit:contain;
    transform:none !important;
    position:relative;
    top:12px;
    left:-20px;
  }

  .actions{
    gap:6px;
  }

  .actions .btn--cta{
    min-width:116px;
    min-height:40px;
    padding:0 12px;
    font-size:13px;
  }

  .iconBtn,
  .navToggle{
    width:40px;
    height:40px;
  }

  .btn--cta{
    padding-left:10px;
    padding-right:10px;
  }
}

/* ===== Admin nav mobile drawer ===== */
.mobileNav__form{
  margin:0;
  width:100%;
}

.mobileNav__cta .btn{
  width:100%;
}

.mobileNav__cta .btn--ghost{
  color:var(--text);
}

@media (max-width:920px){
  .adminNav{
    display:none;
  }
}

/* ===== Order status badges ===== */
.adminFilterTabs{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.orderStatusBadge{
  border-width:1px;
}

.orderStatusBadge--pending{
  background:#fff4db;
  color:#9a6700;
  border-color:#f0cf7a;
}

.orderStatusBadge--paid{
  background:#e6f1ff;
  color:#1557b0;
  border-color:#9ec2ff;
}

.orderStatusBadge--packing{
  background:#f1e8ff;
  color:#6f42c1;
  border-color:#c9aff7;
}

.orderStatusBadge--dispatched{
  background:#e7f7ec;
  color:#1f7a39;
  border-color:#9fd6ad;
}

.orderStatusBadge--cancelled{
  background:#fdeaea;
  color:#b42318;
  border-color:#f5b5b5;
}

.orderStatusBadge--refunded{
  background:#eef1f4;
  color:#475467;
  border-color:#c8d0d9;
}

.orderStatusBadge--default{
  background:var(--accent-soft);
  color:var(--accent);
  border-color:rgba(0,0,0,.10);
}

.orderArchiveBadge{
  background:#111827;
  color:#fff;
  border-color:#111827;
}

.pill.orderStatusBadge{
  border:1px solid transparent !important;
  font-weight:900;
}

.pill.orderStatusBadge.orderStatusBadge--pending{
  background:#fdeaea !important;
  color:#b42318 !important;
  border-color:#f5b5b5 !important;
}

.pill.orderStatusBadge.orderStatusBadge--paid{
  background:#e8f1ff !important;
  color:#175cd3 !important;
  border-color:#a7c5ff !important;
}

.pill.orderStatusBadge.orderStatusBadge--packing{
  background:#fff7d6 !important;
  color:#946200 !important;
  border-color:#efd36a !important;
}

.pill.orderStatusBadge.orderStatusBadge--dispatched{
  background:#e7f7ec !important;
  color:#1f7a39 !important;
  border-color:#9fd6ad !important;
}

.pill.orderStatusBadge.orderStatusBadge--cancelled{
  background:#f3f4f6 !important;
  color:#4b5563 !important;
  border-color:#d1d5db !important;
}

.pill.orderStatusBadge.orderStatusBadge--refunded{
  background:#eef2ff !important;
  color:#4338ca !important;
  border-color:#c7d2fe !important;
}

.pill.orderArchiveBadge{
  background:#111827 !important;
  color:#fff !important;
  border-color:#111827 !important;
}

@media (max-width:640px){
  .adminFilterTabs .btn{
    width:100%;
  }
}

.btn--ghost{
  color:var(--text);
  -webkit-text-fill-color:var(--text);
}

.product__priceWrap{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.product__price--sale,
.productPage__price--sale{
  color:#b42318;
}

.product__priceOld{
  font-size:13px;
  font-weight:900;
  color:var(--muted);
  text-decoration:line-through;
}

.product__tag--sale{
  background:#fdeaea;
  border-color:#f5b5b5;
  color:#b42318;
}

/* Home page sale styling */
.heroDealTag{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:#b42318;
  color:#fff;
  font-weight:1000;
  font-size:13px;
  letter-spacing:.04em;
  text-transform:uppercase;
  box-shadow:0 10px 24px rgba(180,35,24,.22);
}

.heroFeaturedTag{
  display:inline-flex;
  align-items:center;
  padding:8px 14px;
  border-radius:999px;
  background:var(--accent-soft);
  color:var(--accent);
  font-weight:950;
  font-size:13px;
  border:1px solid rgba(0,0,0,.10);
}

.heroPriceWrap,
.product__priceWrap{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.heroPrice--sale,
.product__price--sale{
  color:#b42318;
}

.heroPriceOld,
.product__priceOld{
  font-size:13px;
  font-weight:900;
  color:var(--muted);
  text-decoration:line-through;
}

.product__tag--sale{
  background:#b42318;
  color:#fff;
  border-color:#b42318;
  box-shadow:0 10px 20px rgba(180,35,24,.18);
}

.cartThumb{overflow:hidden;display:flex;align-items:center;justify-content:center;background:#f6f4ef}
.cartThumb img{width:100%;height:100%;object-fit:cover;display:block}
.cartThumb__placeholder{font-size:11px;color:var(--muted);padding:8px;text-align:center;line-height:1.2}
.promoRowActions{display:flex;flex-wrap:wrap;gap:8px}
.promoInlineForm{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.promoInlineForm .input{min-width:180px}
.promoBoxActions{display:flex;gap:10px;flex-wrap:wrap}


.promoBox{
  margin:12px 0 8px;
  padding:14px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#faf8f3;
}
.promoBox__title{
  margin:0 0 10px;
  font-size:16px;
  font-weight:900;
}
.promoBox .label{margin-top:10px}
.promoBox .label:first-of-type{margin-top:0}
input[type="date"],
input[type="datetime-local"]{
  min-width:0;
}

.productRichText{color:var(--text); line-height:1.7}
.productRichText p{margin:0 0 12px}
.productRichText ul,.productRichText ol{margin:0 0 14px 20px; padding:0}
.productRichText li{margin:0 0 6px}
.productPage--improved{grid-template-columns:minmax(320px,.9fr) minmax(0,1.1fr); gap:24px}
.productPage__media--tighter{padding:12px; position:sticky; top:110px}
.productPage__buyRow--stacked{align-items:flex-start}
.variantModal{position:fixed; inset:0; z-index:1000}
.variantModal__backdrop{position:absolute; inset:0; background:rgba(15,23,42,.55)}
.variantModal__dialog{position:relative; max-width:980px; margin:5vh auto; padding:20px; max-height:90vh; overflow:auto}
.variantModal__head{display:flex; justify-content:space-between; gap:14px; align-items:flex-start; margin-bottom:16px}
.variantGrid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px}
.variantCard{display:block; border:1px solid var(--border); border-radius:18px; overflow:hidden; cursor:pointer; background:#fff}
.variantCard input{position:absolute; opacity:0; pointer-events:none}
.variantCard__media{aspect-ratio:4/3; background:#f6f7f6}
.variantCard__media img{width:100%; height:100%; object-fit:cover; display:block}
.variantCard__body{padding:14px}
.variantCard__title{font-weight:950; margin-bottom:6px}
.variantCard__price{font-weight:950; margin-top:10px}
.variantCard:has(input:checked){border-color:rgba(47,107,58,.45); box-shadow:0 0 0 3px rgba(47,107,58,.10)}
@media (max-width: 980px){.variantGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.productPage__media--tighter{position:static}}
@media (max-width: 640px){.variantGrid{grid-template-columns:1fr}.variantModal__dialog{margin:0; min-height:100vh; border-radius:0}.productPage--improved{gap:16px}}

.formRow--2{grid-template-columns:1fr 1fr}
.formRow--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.variantAdminCard{padding:14px; margin-bottom:10px; border:1px dashed var(--border)}
.previewImg--small{max-width:180px}
.product__metaLine{margin-top:10px; font-size:13px; font-weight:900; color:var(--accent)}
.productBuyCard{max-width:680px}

@media (max-width:900px){
  .formRow--2,
  .formRow--3{grid-template-columns:1fr}
}

/* --- Product page mobile + quick-add cleanup --- */
.productPageSection{
  padding-top:28px;
}

.productPage--clean{
  grid-template-columns:minmax(0, 1.02fr) minmax(360px, .98fr);
  gap:24px;
  align-items:start;
}

.productPage__mediaCard{
  padding:12px;
  overflow:hidden;
}

.productPage__mainImage{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:16px;
}

.productPage__body--clean{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.productPage__title{
  margin:12px 0 0;
  font-size:clamp(34px, 4.4vw, 54px);
  line-height:1.02;
}

.productPage__description{
  font-size:17px;
}

.productBuyCard--clean{
  max-width:none;
  padding:18px;
}

.productPage__buyHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.productPage__eyebrow{
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.06em;
  font-size:12px;
}

.productPage__helper,
.productPage__stockState{
  margin-top:8px;
}

.productPage__singleAdd{
  margin:0;
  flex:0 0 auto;
}

.productPage__singleAddBtn{
  min-width:220px;
}

.productOptions{
  margin-top:16px;
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:14px;
}

.productOptionCardForm{
  margin:0;
}

.productOptionCard{
  width:100%;
  display:grid;
  grid-template-columns:110px minmax(0, 1fr);
  gap:14px;
  align-items:center;
  text-align:left;
  padding:12px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#fff;
  color:var(--text);
  cursor:pointer;
  transition:.18s ease;
}
.productOptionCard:hover{
  transform:translateY(-1px);
  box-shadow:var(--shadow);
  border-color:rgba(47,107,58,.28);
}
.productOptionCard:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.productOptionCard__mediaWrap{
  display:block;
  width:100%;
}

.productOptionCard__media,
.productOptionCard__placeholder{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  border-radius:14px;
  object-fit:cover;
}

.productOptionCard__body{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:6px;
}

.productOptionCard__title{
  font-size:18px;
  font-weight:950;
  line-height:1.15;
}

.productOptionCard__desc{
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}

.productOptionCard__footer{
  margin-top:2px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex-wrap:wrap;
}

.productOptionCard__price{
  font-weight:950;
  font-size:16px;
}

.productOptionCard__cta{
  color:var(--accent);
  font-size:13px;
  font-weight:900;
}

.productPage__actionsRow{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

@media (max-width: 980px){
  .productPage--clean{
    grid-template-columns:1fr;
    gap:18px;
  }

  .productPage__media--tighter{
    position:static !important;
    top:auto !important;
  }

  .productOptions{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  .productPageSection{
    padding-top:16px;
  }

  .productPage__title{
    font-size:clamp(30px, 9vw, 40px);
  }

  .productPage__description{
    font-size:16px;
  }

  .productBuyCard--clean{
    padding:16px;
    border-radius:18px;
  }

  .productPage__buyHeader{
    flex-direction:column;
    align-items:flex-start;
  }

  .productPage__singleAdd,
  .productPage__singleAddBtn,
  .productPage__actionsRow .btn{
    width:100%;
  }

  .productOptionCard{
    grid-template-columns:84px minmax(0, 1fr);
    gap:12px;
    padding:12px;
  }

  .productOptionCard__title{
    font-size:17px;
  }

  .productOptionCard__desc{
    font-size:13px;
  }

  .productPage__actionsRow{
    flex-direction:column;
  }
}

/* --- Product page popup + mobile repair overrides --- */
.productPageSection{
  padding-top:20px;
}

.productPage--clean{
  grid-template-columns:minmax(0,1.02fr) minmax(320px,.98fr);
  gap:24px;
  align-items:start;
}

.productPage__mediaCard,
.productPage__body--clean,
.productBuyCard--clean,
.variantModal__dialog,
.variantCard,
.variantCard__body,
.variantCard__footer{
  min-width:0;
}

.productPage__mediaCard{
  padding:12px;
  overflow:hidden;
}

.productPage__mainImage{
  display:block;
  width:100%;
  height:auto;
  aspect-ratio:4 / 3;
  object-fit:cover;
  border-radius:16px;
}

.productPage__body--clean{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.productPage__title{
  margin:12px 0 0;
  font-size:clamp(34px,4.4vw,54px);
  line-height:1.02;
  word-break:break-word;
}

.productPage__description{
  font-size:17px;
}

.productBuyCard--clean{
  max-width:none;
  padding:18px;
}

.productPage__buyHeader{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
}

.productPage__helper,
.productPage__stockState{
  margin-top:8px;
}

.productPage__singleAdd{
  margin:0;
  flex:0 0 auto;
}

.productPage__singleAddBtn{
  min-width:220px;
}

.productPage__actionsRow{
  margin-top:16px;
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.variantModal{
  position:fixed;
  inset:0;
  z-index:1000;
}

.variantModal__backdrop{
  position:absolute;
  inset:0;
  background:rgba(15,23,42,.55);
}

.variantModal__dialog{
  position:relative;
  max-width:980px;
  margin:5vh auto;
  padding:20px;
  max-height:90vh;
  overflow:auto;
}

.variantModal__title{
  margin:0;
  font-size:clamp(26px,3vw,34px);
}

.variantModal__copy{
  margin:6px 0 0;
}

.variantModal__head{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
  margin-bottom:16px;
}

.variantGrid--tapToAdd{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}

.variantQuickForm{
  margin:0;
  min-width:0;
}

.variantCard--button{
  width:100%;
  display:flex;
  flex-direction:column;
  align-items:stretch;
  text-align:left;
  padding:0;
  border:1px solid var(--border);
  border-radius:18px;
  overflow:hidden;
  cursor:pointer;
  background:#fff;
  color:var(--text);
  transition:.18s ease;
}

.variantCard--button:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow);
  border-color:rgba(47,107,58,.28);
}

.variantCard--button:disabled{
  opacity:.55;
  cursor:not-allowed;
}

.variantCard__media{
  display:block;
  aspect-ratio:4 / 3;
  background:#f6f7f6;
}

.variantCard__media img,
.variantCard__placeholder{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.variantCard__body{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:14px;
}

.variantCard__title{
  font-weight:950;
  font-size:18px;
  line-height:1.15;
}

.variantCard__desc{
  line-height:1.45;
}

.variantCard__footer{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  margin-top:4px;
}

.variantCard__price{
  font-weight:950;
}

.variantCard__tap{
  color:var(--accent);
  font-size:13px;
  font-weight:900;
}

/* --- Product editor option card cleanup --- */
.productEditorSection--variants .productEditorSection__head{
  align-items:center;
}

.productEditorActionBtn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(47,107,58,.18);
  background:#fff;
  color:var(--accent);
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.05);
}

.productEditorActionBtn__icon{
  width:24px;
  height:24px;
  border-radius:999px;
  background:rgba(47,107,58,.10);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:16px;
  line-height:1;
}

.variantEditorList{
  display:grid;
  gap:14px;
}

.variantEditorCard{
  border:1px solid rgba(47,107,58,.10);
  border-radius:22px;
  padding:16px;
  background:linear-gradient(180deg, rgba(255,255,255,.96), rgba(249,247,242,.95));
  box-shadow:0 8px 22px rgba(15,23,42,.04);
}

.variantEditorCard__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}

.variantEditorCard__titleWrap{
  display:flex;
  align-items:center;
  gap:10px;
  min-width:0;
}

.variantEditorCard__index{
  width:34px;
  height:34px;
  border-radius:999px;
  background:rgba(47,107,58,.10);
  color:var(--accent);
  font-weight:950;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.variantEditorCard__heading{
  font-weight:950;
  line-height:1.1;
}

.variantEditorRemove{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:var(--muted);
  font-weight:900;
  cursor:pointer;
}

.variantEditorRemove:hover{
  color:#8a2e2e;
  border-color:rgba(138,46,46,.20);
}

.variantEditorGrid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  align-items:start;
}

.variantEditorField--sort .input,
.variantEditorField--price .input{
  text-align:left;
}

.variantEditorField--desc .textarea{
  min-height:106px;
}

.uploadField__meta{
  flex:1 1 180px;
}

.variantEditorPreview{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:10px;
}

.variantEditorPreview__img{
  width:64px;
  height:64px;
  object-fit:cover;
  border-radius:16px;
  border:1px solid var(--border);
  background:#fff;
}

.variantEditorPreview__meta{
  font-size:13px;
  color:var(--muted);
  font-weight:700;
}

.uploadField--option .uploadField__label{
  padding:8px 12px 8px 8px;
}

.uploadField--option .uploadField__icon{
  width:28px;
  height:28px;
  font-size:18px;
}

@media (max-width: 980px){
  .productPage--clean{
    grid-template-columns:1fr;
    gap:18px;
  }

  .productPage__media--tighter{
    position:static !important;
    top:auto !important;
  }

  .variantGrid--tapToAdd{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .variantEditorGrid{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width: 640px){
  .productPageSection{
    padding-top:16px;
  }

  .productPage--clean{
    grid-template-columns:1fr !important;
  }

  .productPage__title{
    font-size:clamp(30px,9vw,40px);
  }

  .productPage__description{
    font-size:16px;
  }

  .productBuyCard--clean{
    padding:16px;
    border-radius:18px;
  }

  .productPage__buyHeader{
    flex-direction:column;
    align-items:flex-start;
  }

  .productPage__singleAdd,
  .productPage__singleAddBtn,
  .productPage__actionsRow .btn{
    width:100%;
  }

  .productPage__actionsRow{
    flex-direction:column;
  }

  .variantModal__dialog{
    margin:0;
    min-height:100vh;
    border-radius:0;
    padding:16px;
  }

  .variantGrid--tapToAdd,
  .variantEditorGrid{
    grid-template-columns:1fr;
  }

  .variantCard__title{
    font-size:17px;
  }

  .variantEditorCard{
    padding:14px;
  }

  .variantEditorCard__head{
    align-items:flex-start;
  }

  .variantEditorRemove,
  .productEditorActionBtn{
    width:100%;
    justify-content:center;
  }

  .uploadField{
    align-items:flex-start;
  }
}

/* --- Product editor tidy-up --- */
.adminHeaderRow--productEditor{
  align-items:center;
  gap:14px;
}

.btn--pill{
  border-radius:999px;
}

.productEditorShell{
  border-radius:28px;
  border:1px solid rgba(20,34,20,.08);
  background:linear-gradient(180deg,#ffffff 0%, #fbfaf7 100%);
  box-shadow:0 18px 40px rgba(15,23,42,.06);
  overflow:hidden;
}

.productEditorForm{
  display:grid;
  gap:0;
  width:100%;
  max-width:none;
}

.productEditorShell,
.productEditorSection,
.productEditorGrid,
.variantEditorCard,
.variantEditorGrid{
  min-width:0;
}

.productEditorSection .input,
.productEditorSection .select,
.productEditorSection .textarea{
  width:100%;
  max-width:100%;
  min-width:0;
  box-sizing:border-box;
}

.productEditorSection{
  padding:22px;
  border-bottom:1px solid rgba(20,34,20,.08);
}

.productEditorSection:last-of-type{
  border-bottom:none;
}

.productEditorSection__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:16px;
}

.productEditorSection__head h3{
  margin:0;
  font-size:clamp(20px,2vw,24px);
  line-height:1.1;
}

.productEditorGrid{
  display:grid;
  gap:14px;
}

.productEditorGrid--1{grid-template-columns:minmax(0,1fr)}
.productEditorGrid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.productEditorGrid--tight{gap:12px}
.productEditorGrid__span2{grid-column:span 2}

.fileHelp{
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:48px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(47,107,58,.06);
  color:var(--accent);
  font-weight:800;
}

.productEditorPricingToggle{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-bottom:16px;
}

.togglePill{
  position:relative;
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px;
  border-radius:999px;
  border:1px solid rgba(20,34,20,.10);
  background:#fff;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
}

.togglePill input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}

.togglePill span{
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:0 16px;
  border-radius:999px;
  font-weight:900;
  color:var(--muted);
  transition:.18s ease;
}

.togglePill input:checked + span{
  background:var(--accent);
  color:#fff;
  box-shadow:0 10px 22px rgba(47,107,58,.22);
}

.productEditorFlags{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.checkRow{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(20,34,20,.08);
  background:#fff;
  font-weight:800;
}

.checkRow input{
  width:18px;
  height:18px;
  accent-color:var(--accent);
}

.uploadField{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
}

.uploadField__input{
  position:absolute;
  width:1px;
  height:1px;
  opacity:0;
  pointer-events:none;
}

.uploadField__label{
  display:inline-flex;
  align-items:center;
  gap:10px;
  min-height:44px;
  padding:8px 14px 8px 8px;
  border-radius:999px;
  border:1px solid rgba(47,107,58,.16);
  background:#fff;
  color:var(--accent);
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(15,23,42,.05);
  transition:.18s ease;
}

.uploadField__label:hover{
  transform:translateY(-1px);
  border-color:rgba(47,107,58,.28);
}

.uploadField__icon{
  width:30px;
  height:30px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(47,107,58,.10);
  font-size:16px;
  line-height:1;
}

.uploadField__meta{
  font-size:13px;
  color:var(--muted);
  font-weight:700;
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.previewImg{
  display:block;
  width:100%;
  max-width:240px;
  margin-top:14px;
  border-radius:20px;
  border:1px solid rgba(20,34,20,.08);
  box-shadow:0 12px 26px rgba(15,23,42,.07);
}

.chipGrid{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
}

.chip{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:10px 14px;
  border-radius:999px;
  border:1px solid rgba(20,34,20,.10);
  background:#fff;
  font-weight:800;
}

.chip input{
  width:18px;
  height:18px;
  accent-color:var(--accent);
}

.productEditorSection--variants .productEditorSection__head{
  align-items:center;
}

.productEditorActionBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:46px;
  padding:10px 16px;
  border-radius:999px;
  border:1px solid rgba(47,107,58,.18);
  background:#fff;
  color:var(--accent);
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 20px rgba(15,23,42,.05);
  transition:.18s ease;
}

.productEditorActionBtn:hover,
.variantEditorRemove:hover,
.productEditorActions .btn:hover{
  transform:translateY(-1px);
}

.productEditorActionBtn__icon{
  width:28px;
  height:28px;
  border-radius:999px;
  background:rgba(47,107,58,.10);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:18px;
  line-height:1;
}

.variantEditorList{
  display:grid;
  gap:16px;
}

.variantEditorCard{
  border:1px solid rgba(47,107,58,.10);
  border-radius:24px;
  padding:18px;
  background:linear-gradient(180deg,#ffffff 0%, #faf8f2 100%);
  box-shadow:0 12px 26px rgba(15,23,42,.05);
}

.variantEditorCard__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:16px;
}

.variantEditorCard__titleWrap{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}

.variantEditorCard__index{
  width:36px;
  height:36px;
  border-radius:999px;
  background:rgba(47,107,58,.10);
  color:var(--accent);
  font-weight:950;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.variantEditorCard__heading{
  font-weight:950;
  line-height:1.1;
  font-size:18px;
}

.variantEditorRemove{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:42px;
  padding:9px 14px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.08);
  background:#fff;
  color:var(--muted);
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 18px rgba(15,23,42,.04);
  transition:.18s ease;
}

.variantEditorRemove__icon{
  width:24px;
  height:24px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(138,46,46,.08);
  color:#8a2e2e;
  font-size:18px;
  line-height:1;
}

.variantEditorGrid{
  display:grid;
  grid-template-columns:minmax(0,1.45fr) minmax(180px,.85fr) minmax(120px,.45fr);
  gap:14px;
  align-items:start;
}

.variantEditorField{min-width:0}
.variantEditorField--name{grid-column:1}
.variantEditorField--price{grid-column:2}
.variantEditorField--sort{grid-column:3}
.variantEditorField--photo{grid-column:1}
.variantEditorField--desc{grid-column:2 / 4}

.variantEditorField--sort .input,
.variantEditorField--price .input{
  text-align:left;
}

.variantEditorField--desc .textarea{
  min-height:106px;
}

.uploadField__meta{
  flex:1 1 180px;
}

.variantEditorPreview{
  display:flex;
  align-items:center;
  gap:10px;
  margin-top:12px;
}

.variantEditorPreview__img{
  width:68px;
  height:68px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid var(--border);
  background:#fff;
}

.variantEditorPreview__meta{
  font-size:13px;
  color:var(--muted);
  font-weight:700;
}

.productEditorActions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  padding:22px;
}

.productEditorActions .btn{
  min-height:48px;
  padding-inline:18px;
  font-weight:900;
  box-shadow:0 10px 20px rgba(15,23,42,.05);
}

@media (max-width: 980px){
  .productEditorGrid--3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .variantEditorGrid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .variantEditorField--name,
  .variantEditorField--price,
  .variantEditorField--sort,
  .variantEditorField--photo,
  .variantEditorField--desc{grid-column:auto}
}

@media (max-width: 640px){
  .productEditorSection,
  .productEditorActions{padding:16px}
  .productEditorSection__head,
  .variantEditorCard__head,
  .adminHeaderRow--productEditor{flex-direction:column; align-items:stretch}
  .productEditorGrid--3,
  .variantEditorGrid{grid-template-columns:1fr}
  .productEditorGrid__span2,
  .variantEditorField--desc{grid-column:auto}
  .productEditorActionBtn,
  .variantEditorRemove,
  .productEditorActions .btn,
  .uploadField__label{width:100%; justify-content:center}
  .uploadField{align-items:stretch}
  .uploadField__meta{white-space:normal}
  .checkRow,
  .chip{width:100%; justify-content:flex-start}
}

/* Home card rich preview patch */
.homeHeroCard,
.homeGridCard{
  position:relative;
  overflow:hidden;
}

.homeCardExcerptWrap{
  position:relative;
  margin-bottom:2px;
}

.homeCardExcerptWrap::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:1.8em;
  background:linear-gradient(
    to bottom,
    rgba(247,246,242,0),
    rgba(247,246,242,.92) 68%,
    rgba(247,246,242,1)
  );
  pointer-events:none;
}

.homeCardExcerpt{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  overflow:hidden;
  -webkit-line-clamp:3;
  line-height:1.58;
  max-height:4.8em;
}

.homeCardExcerpt--hero{
  -webkit-line-clamp:3;
  max-height:4.8em;
}

.homeCardActions{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
}

.homeCardButtonRow{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  position:relative;
  z-index:3;
}

.homeCardToggle{
  border-color:rgba(47,107,58,.18);
  background:rgba(255,255,255,.9);
}

.homeCardPanel{
  position:absolute;
  inset:auto 16px 16px 16px;
  z-index:5;
  background:rgba(255,255,255,.98);
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 18px 48px rgba(0,0,0,.16);
  padding:16px 16px 14px;
  max-height:min(62vh,420px);
  overflow:auto;
}

.homeCardPanel[hidden]{
  display:none !important;
}

.homeCardPanel__close{
  position:absolute;
  top:10px;
  right:10px;
  width:34px;
  height:34px;
  border-radius:999px;
  border:1px solid var(--border);
  background:#fff;
  font-size:22px;
  line-height:1;
  cursor:pointer;
}

.homeCardPanel__eyebrow{
  font-size:12px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--accent);
  margin-bottom:8px;
}

.homeCardPanel__title{
  font-size:28px;
  line-height:1.02;
  font-weight:1000;
  margin:0 40px 10px 0;
}

.homeCardPanel__content{
  color:var(--text);
}

.homeCardPanel__content p{
  margin:0 0 10px;
}

.homeCardPanel__content ul{
  margin:0 0 12px 18px;
  padding:0;
}

.homeCardPanel__content li{
  margin:0 0 6px;
}

.homeCardPanel__footer{
  display:flex;
  justify-content:flex-end;
  margin-top:14px;
}

.homeGridCard .product__body{
  position:relative;
  z-index:2;
}

.homeGridCard .product__desc{
  margin-bottom:10px;
}

.homeGridCard .product__row{
  position:relative;
  z-index:3;
}

.homeGridCard .homeCardExcerpt,
.homeHeroCard .homeCardExcerpt--hero{
  min-height:4.8em;
}

@media (min-width: 900px){
  .homeHeroCard.has-details:hover .homeCardPanel:not([hidden]){
    display:block;
  }
}

@media (max-width: 900px){
  .homeCardActions{
    align-items:stretch;
    flex-direction:column;
  }

  .homeCardButtonRow{
    width:100%;
    justify-content:flex-end;
  }

  .homeCardButtonRow .btn{
    flex:0 0 auto;
  }
}

@media (max-width: 640px){
  .homeCardExcerptWrap::after{
    height:1.55em;
  }

  .homeCardExcerpt,
  .homeCardExcerpt--hero{
    -webkit-line-clamp:3;
    max-height:4.8em;
  }

  .homeGridCard .homeCardExcerpt,
  .homeHeroCard .homeCardExcerpt--hero{
    min-height:4.8em;
  }

  .homeCardPanel{
    inset:auto 10px 10px 10px;
    padding:14px;
    max-height:70vh;
  }

  .homeCardPanel__title{
    font-size:22px;
  }
}

/* Home rich text preview refinements */
.homeCardExcerpt--rich{
  display:block;
  overflow:hidden;
}
.homeCardExcerpt--rich p{
  display:inline;
  margin:0;
}
.homeCardExcerpt--rich br{
  content:"";
}
.homeCardExcerpt--rich .homePreviewBullet{
  font-weight:900;
  color:var(--accent);
}
.homeCardExcerpt--rich strong{
  font-weight:900;
  color:var(--text);
}
.homeCardExcerpt--rich em{
  font-style:italic;
}
.homeCardExcerpt--rich ul,
.homeCardExcerpt--rich ol{
  display:block;
  margin:0;
  padding:0;
}
.homeCardExcerpt--rich li{
  display:inline;
  margin:0;
}
.homeCardExcerpt--hero.homeCardExcerpt--rich{
  line-height:1.58;
}
.homeGridCard .homeCardExcerpt--rich{
  line-height:1.54;
}
@media (max-width: 640px){
  .homeCardExcerpt--hero.homeCardExcerpt--rich{
    line-height:1.54;
  }
}


.productBuyStack{
  display:flex;
  flex-direction:column;
  gap:20px;
}

.productWeightCard{
  width:100%;
  max-width:520px;
  display:flex;
  flex-direction:column;
  gap:16px;
}

.weightSummaryRow{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}

.weightSummaryPill{
  border:1px solid var(--border);
  background:linear-gradient(180deg,#fff 0%, #f8f6f1 100%);
  border-radius:16px;
  padding:14px 16px;
  box-shadow:0 8px 24px rgba(0,0,0,.04);
}

.weightSummaryPill__label{
  display:block;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:4px;
}

.weightSummaryPill strong{
  display:block;
  font-size:28px;
  line-height:1.05;
  font-weight:1000;
}

.weightSummaryPill--price strong{
  color:var(--accent);
}

.fancyWeightSlider{
  position:relative;
  padding:6px 0 2px;
}

.fancyWeightSlider__input,
.variantWeightMini__range{
  -webkit-appearance:none;
  appearance:none;
  width:100%;
  height:14px;
  border-radius:999px;
  outline:none;
  background:
    linear-gradient(90deg,var(--accent) 0,var(--accent) var(--range-fill,0%), #dfe6dc var(--range-fill,0%), #dfe6dc 100%);
  box-shadow:inset 0 1px 2px rgba(0,0,0,.08);
}

.fancyWeightSlider__input::-webkit-slider-thumb,
.variantWeightMini__range::-webkit-slider-thumb{
  -webkit-appearance:none;
  appearance:none;
  width:28px;
  height:28px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--accent);
  box-shadow:0 6px 20px rgba(0,0,0,.16);
  cursor:pointer;
}

.fancyWeightSlider__input::-moz-range-thumb,
.variantWeightMini__range::-moz-range-thumb{
  width:28px;
  height:28px;
  border-radius:50%;
  background:#fff;
  border:3px solid var(--accent);
  box-shadow:0 6px 20px rgba(0,0,0,.16);
  cursor:pointer;
}

.fancyWeightSlider__input::-webkit-slider-runnable-track,
.variantWeightMini__range::-webkit-slider-runnable-track{
  height:14px;
  border-radius:999px;
  background:transparent;
}

.fancyWeightSlider__input::-moz-range-track,
.variantWeightMini__range::-moz-range-track{
  height:14px;
  border-radius:999px;
  background:transparent;
}

.weightSliderScale{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
  font-weight:800;
  color:var(--muted);
}

.weightSliderHint{
  font-size:14px;
  color:var(--muted);
  margin-top:-6px;
}

.variantCard__footer--stacked{
  display:flex;
  flex-direction:column;
  gap:12px;
  align-items:stretch;
}

.variantWeightMini{
  display:flex;
  flex-direction:column;
  gap:10px;
  padding:12px;
  border:1px solid var(--border);
  border-radius:14px;
  background:#faf8f3;
}

.variantWeightMini__summary{
  display:flex;
  justify-content:space-between;
  gap:12px;
  align-items:center;
  font-weight:900;
}

.variantWeightMini__qty{
  font-size:18px;
}

.variantWeightMini__total{
  font-size:18px;
  color:var(--accent);
}

.variantWeightMini__scale{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:12px;
  color:var(--muted);
  font-weight:700;
}

.productPricingModePanels{
  display:grid;
  gap:16px;
  margin-top:16px;
}

.productPricingPanel[hidden]{
  display:none !important;
}

.productPricingPanel{
  padding:18px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#faf8f3;
}

.productPricingPanel__title{
  margin:0 0 12px;
  font-size:15px;
  font-weight:900;
}

.productPricingPanel__hint{
  font-size:13px;
  color:var(--muted);
  margin-top:8px;
}

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


/* --- Weight slider: reliability + mobile polish fixes --- */
.fancyWeightSlider__input,
.variantWeightMini__range{
  display:block;
  touch-action:pan-y;
}

@supports (-webkit-touch-callout: none){
  .fancyWeightSlider__input,
  .variantWeightMini__range{
    -webkit-appearance:none;
    appearance:none;
  }
}

@media (max-width: 640px){
  .productWeightCard{
    max-width:none;
    gap:14px;
  }

  .weightSummaryRow{
    grid-template-columns:1fr;
    gap:10px;
  }

  .weightSummaryPill{
    padding:12px 14px;
    border-radius:14px;
  }

  .weightSummaryPill strong{
    font-size:22px;
  }

  .fancyWeightSlider{
    padding:8px 1px 4px;
  }

  .fancyWeightSlider__input,
  .variantWeightMini__range{
    height:16px;
  }

  .fancyWeightSlider__input::-webkit-slider-thumb,
  .variantWeightMini__range::-webkit-slider-thumb{
    width:30px;
    height:30px;
    margin-top:-7px;
  }

  .fancyWeightSlider__input::-moz-range-thumb,
  .variantWeightMini__range::-moz-range-thumb{
    width:30px;
    height:30px;
  }

  .weightSliderScale,
  .weightSliderHint,
  .variantWeightMini__scale{
    font-size:13px;
  }

  .weightSliderHint{
    line-height:1.45;
  }

  .product__metaLine{
    line-height:1.45;
  }

  .productPage__actionsRow{
    gap:8px;
  }
}

@media (max-width: 420px){
  .weightSummaryPill strong{
    font-size:20px;
  }

  .productPage__title{
    font-size:clamp(28px, 10vw, 36px);
  }
}
