/* Saflora — дизайн-система экосистемы «напрямую от производителей».
   Тёплая палитра, человеческая типографика (Forum для заголовков,
   Manrope для текста/интерфейса), акцент на доверии и понятном происхождении.
   Оператор площадки — ООО «Проарома». Вендоры — продавцы внутри каталога.
   Слой покупки — конверсионный. */
:root{
  --cream:#FBF6EC; --cream-2:#FFFDF8; --ink:#2E2621;
  --sage:#76876A; --terra:#B0543A; --terra-d:#97452F; --honey:#C2893B;
  --line:#EBE0CC; --hair:#DDCFB2; --muted:#7A6F62;
  --card-sh:0 1px 2px rgba(60,44,28,.04), 0 10px 26px rgba(60,44,28,.06);
  --card-sh-h:0 2px 6px rgba(60,44,28,.07), 0 18px 40px rgba(60,44,28,.12);
  --maxw:1140px; --r:14px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:"Manrope",system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  font-size:16.5px; line-height:1.62; -webkit-font-smoothing:antialiased;
  background-image:
    radial-gradient(1200px 420px at 50% -120px, rgba(176,84,58,.06), transparent 70%),
    radial-gradient(900px 380px at 100% 0, rgba(118,135,106,.06), transparent 70%);
  background-repeat:no-repeat;
}
.wrap{max-width:var(--maxw); margin:0 auto; padding:0 28px}
.roman{font-family:"Forum",Georgia,serif; font-weight:400; letter-spacing:.005em}
.label{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.18em; font-size:12px; font-weight:700; color:var(--terra)}
.label--ink{color:var(--muted)}
h1,h2,h3,h4{font-weight:400; margin:0; line-height:1.2; font-family:"Forum",Georgia,serif}
a{color:var(--terra); text-decoration:none}
a:hover{color:var(--terra-d)}
p{margin:0 0 16px}
.lat{font-family:"Manrope",sans-serif; font-style:italic; color:var(--honey); font-size:13.5px; letter-spacing:.01em; font-weight:500}
.neg{color:var(--terra)}
.muted{color:var(--muted)}

/* legacy corner-ticks retired — тёплый образ вместо лабораторной рамки */
.tick{display:none}

/* top bar */
.topbar{display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0 20px; border-bottom:1px solid var(--line)}
.brand{display:flex; flex-direction:column; gap:3px; border:0}
.brand .name{font-family:"Forum",serif; font-size:28px; color:var(--ink); line-height:1}
.brand .accession{font-family:"Manrope",sans-serif; letter-spacing:.06em; font-size:12px; color:var(--muted); font-weight:500}
.nav{display:flex; align-items:center; gap:24px; font-family:"Manrope",sans-serif; font-size:14px; font-weight:600}
.nav a{border:0; color:var(--muted)}
.nav a:hover{color:var(--terra)}
.cart-link{color:var(--ink)!important; display:inline-flex; align-items:center}
.cart-count{display:inline-block; min-width:20px; text-align:center; color:#fff; background:var(--terra); border-radius:11px; padding:1px 7px; font-size:12px; letter-spacing:0; margin-left:6px; font-weight:700}
.cart-count[data-empty="1"]{background:var(--hair); color:var(--muted)}

/* section heads */
.head{padding:36px 0 8px}
.head h1{font-size:clamp(32px,5vw,54px); letter-spacing:.005em}
.head .intro{font-size:19px; color:var(--muted); max-width:62ch; margin-top:14px}

/* hero (главная) */
.hero{margin-top:26px; padding:46px 44px; border-radius:22px;
  background:linear-gradient(135deg, #FBEFE0 0%, #F4F1E2 55%, #EDF0E4 100%);
  border:1px solid var(--line); box-shadow:var(--card-sh)}
.hero h1{font-size:clamp(34px,5.4vw,56px)}
.hero .intro{max-width:64ch}
  background:rgba(255,255,255,.7); border:1px solid var(--hair); border-radius:999px; padding:7px 14px}
@media(max-width:680px){.hero{padding:32px 22px}}
.rule{height:1px; background:var(--line); border:0; margin:0}

/* filter rail */
.controls{display:flex; flex-wrap:wrap; gap:14px 22px; align-items:flex-end; padding:24px 0; border-bottom:1px solid var(--line)}
.control{display:flex; flex-direction:column; gap:5px}
.control label{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:11px; font-weight:700; color:var(--muted)}
.control.search{flex:1 1 220px; min-width:200px}
.control.search input{width:100%}
select,input[type=text],input[type=tel],input[type=email],textarea{
  font-family:"Manrope",sans-serif; font-size:15px; color:var(--ink);
  background:var(--cream-2); border:1px solid var(--hair); border-radius:10px; padding:10px 12px; min-width:150px;
}
select:focus,input:focus,textarea:focus{outline:none; border-color:var(--sage); box-shadow:0 0 0 3px rgba(118,135,106,.15)}
.control.check{flex-direction:row; align-items:center; gap:8px; padding-bottom:9px}
.control.check input{accent-color:var(--terra); width:16px; height:16px}
.control.check label{letter-spacing:.01em; font-size:13.5px; color:var(--muted); text-transform:none; font-weight:600}
.count-line{font-family:"Manrope",sans-serif; letter-spacing:.02em; font-size:13.5px; color:var(--muted); padding:16px 0 0; font-weight:600}

/* shelf grid — тёплые карточки-плитки */
.shelf{display:grid; grid-template-columns:repeat(3,1fr); gap:22px; padding:22px 0 60px}
@media(max-width:900px){.shelf{grid-template-columns:repeat(2,1fr)}}
@media(max-width:560px){.shelf{grid-template-columns:1fr}}
.card{display:flex; flex-direction:column; padding:20px 20px 22px; background:var(--cream-2);
  border:1px solid var(--line); border-radius:var(--r); position:relative; min-height:360px;
  box-shadow:var(--card-sh); transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease}
.card:hover{transform:translateY(-3px); box-shadow:var(--card-sh-h); border-color:var(--hair)}
.card .plate{height:132px; display:flex; align-items:center; justify-content:center; margin-bottom:12px;
  background:linear-gradient(160deg,#FBF4E7,#F1F2E6); border-radius:10px}
.card .plate img{height:110px; width:auto; opacity:.9}
.card .plate-link{border:0}
.card .vend{display:none}
.card .origin{display:flex; align-items:center; gap:7px; font-family:"Manrope",sans-serif; font-size:12px;
  font-weight:600; color:var(--sage); margin-bottom:7px}
.card .origin .pin{color:var(--honey)}
.card .origin b{color:var(--ink); font-weight:700}
.card .origin .reg{color:var(--muted); font-weight:600}
.card h3{font-size:21px; margin-bottom:3px; line-height:1.15}
.card h3 a{color:var(--ink); border:0}
.card h3 a:hover{color:var(--terra)}
.card .lat{display:block; margin-bottom:8px}
.card .sgr-chip{display:inline-flex; align-items:center; gap:5px; font-family:"Manrope",sans-serif; font-size:11px;
  font-weight:700; color:var(--sage); background:rgba(118,135,106,.12); border-radius:999px; padding:3px 9px; margin-bottom:6px}
.card .sgr-chip.pending{color:var(--honey); background:rgba(194,137,59,.12)}
.card .spacer{flex:1}
.card .buy{display:flex; align-items:flex-end; justify-content:space-between; gap:12px; margin-top:14px}
.price{font-family:"Forum",serif; font-size:25px; color:var(--ink)}
.price .old{font-family:"Manrope",sans-serif; font-size:14px; color:var(--muted); text-decoration:line-through; margin-left:8px; font-weight:600}
.unit{font-family:"Manrope",sans-serif; font-size:12px; letter-spacing:.02em; color:var(--muted); font-weight:600}
.stock-out{color:var(--terra); font-family:"Manrope",sans-serif; font-size:12px; letter-spacing:.04em; text-transform:uppercase; font-weight:700}

/* buttons — conversion layer */
.btn{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:13px; font-weight:700;
  background:var(--terra); color:#fff; border:1px solid var(--terra); border-radius:10px;
  padding:11px 18px; cursor:pointer; transition:background .15s, transform .1s; display:inline-block; text-align:center}
.btn:hover{background:var(--terra-d); color:#fff}
.btn:active{transform:translateY(1px)}
.btn[disabled]{background:var(--hair); border-color:var(--hair); color:var(--muted); cursor:not-allowed}
.btn.ghost{background:transparent; color:var(--terra)}
.btn.ghost:hover{background:rgba(176,84,58,.07); color:var(--terra-d)}
.btn.wide{width:100%}
.btn.sage{background:var(--sage); border-color:var(--sage)}
.btn.sage:hover{background:#657556}

/* product page */
.product{display:grid; grid-template-columns:1.15fr .85fr; gap:52px; padding:34px 0 70px; align-items:start}
@media(max-width:820px){.product{grid-template-columns:1fr; gap:28px}}
.gallery{margin-bottom:22px}
.gallery-main{height:260px; display:flex; align-items:center; justify-content:center;
  background:linear-gradient(160deg,#FBF4E7,#F1F2E6); border:1px solid var(--line); border-radius:16px; cursor:zoom-in; overflow:hidden}
.gallery-main img{height:220px; max-width:92%; object-fit:contain}
.thumbs{display:flex; gap:10px; margin-top:12px; flex-wrap:wrap}
.thumb{width:56px; height:56px; padding:0; border:1px solid var(--hair); border-radius:10px; background:var(--cream-2);
  display:flex; align-items:center; justify-content:center; cursor:pointer; overflow:hidden;
  transition:border-color .15s ease, box-shadow .15s ease}
.thumb img{width:100%; height:100%; object-fit:cover}
.thumb:hover{border-color:var(--sage)}
.thumb.active{border-color:var(--terra); box-shadow:0 0 0 2px rgba(176,84,58,.15)}
.lightbox{position:fixed; inset:0; background:rgba(46,38,33,.86); display:flex; align-items:center; justify-content:center;
  opacity:0; pointer-events:none; transition:opacity .18s ease; z-index:50; padding:40px}
.lightbox.show{opacity:1; pointer-events:auto}
.lightbox img{max-width:min(90vw,900px); max-height:86vh; border-radius:12px; box-shadow:var(--card-sh-h); object-fit:contain}
.lightbox-close{position:absolute; top:22px; right:26px; width:40px; height:40px; border-radius:50%;
  border:1px solid rgba(255,255,255,.3); background:rgba(255,255,255,.08); color:#fff; font-size:22px; line-height:1; cursor:pointer}
.lightbox-close:hover{background:rgba(255,255,255,.18)}
body.lb-open{overflow:hidden}
.specimen h1{font-size:clamp(30px,4vw,46px)}
.specimen .lat{display:block; margin:8px 0 22px; font-size:15px}

/* Понятное происхождение — ядро позиционирования */
.origin-panel{background:linear-gradient(135deg,#FBEFE0,#F2F2E5); border:1px solid var(--hair);
  border-radius:16px; padding:22px 24px; margin:4px 0 26px; max-width:62ch}
.origin-panel .ptitle{display:flex; align-items:center; gap:9px; font-family:"Manrope",sans-serif;
  text-transform:uppercase; letter-spacing:.12em; font-size:12px; font-weight:800; color:var(--terra); margin-bottom:14px}
.origin-panel .ptitle::before{content:"❦"; color:var(--honey); font-size:16px}
.origin-panel .orow{display:grid; grid-template-columns:150px 1fr; gap:14px; padding:9px 0; border-top:1px solid rgba(221,207,178,.6); align-items:baseline}
.origin-panel .orow:first-of-type{border-top:0}
.origin-panel .orow dt{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:700; color:var(--muted)}
.origin-panel .orow dd{margin:0; font-size:16px; color:var(--ink)}
.origin-panel .seller-note{font-size:14px; color:var(--muted); margin:14px 0 0; line-height:1.5}
.origin-panel .doc-ok{color:var(--sage); font-weight:700}
.origin-panel .doc-pending{color:var(--honey); font-weight:700}

.record{max-width:62ch}
.record .row{display:grid; grid-template-columns:150px 1fr; gap:18px; padding:14px 0; border-top:1px solid var(--line); align-items:baseline}
.record .row:first-child{border-top:0}
.record dt{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:11px; font-weight:700; color:var(--muted)}
.record dd{margin:0; font-size:16.5px}
.specimen-note{font-style:italic; color:var(--muted); margin-top:24px; padding:14px 18px; background:var(--cream-2);
  border-left:3px solid var(--honey); border-radius:0 10px 10px 0; max-width:56ch}
.cert{font-family:"Manrope",sans-serif; font-size:13.5px; color:var(--muted); font-weight:600}
.cert .ok{color:var(--sage)}
.fillnote{font-family:"Manrope",sans-serif; font-size:11px; letter-spacing:.04em; color:var(--honey); text-transform:uppercase; font-weight:700}

.buypanel{position:sticky; top:24px; border:1px solid var(--hair); background:var(--cream-2); padding:26px 24px; border-radius:16px; box-shadow:var(--card-sh)}
.buypanel .price{font-size:34px; display:block; margin-bottom:2px}
.buypanel .unit{display:block; margin-bottom:18px}
.buypanel .qty{display:flex; align-items:center; gap:12px; margin:14px 0 18px}
.buypanel .qty button{width:36px; height:36px; border:1px solid var(--hair); background:var(--cream); font-size:18px; cursor:pointer; border-radius:9px; color:var(--ink)}
.buypanel .qty input{width:58px; text-align:center; min-width:0}
.vendor-badge{font-family:"Manrope",sans-serif; font-size:13.5px; color:var(--ink); background:rgba(118,135,106,.13); border:1px solid var(--hair); border-radius:10px; padding:11px 13px; margin-top:18px; line-height:1.45; font-weight:600}
.vendor-badge b{color:var(--sage); font-weight:800}
.ship-hint{font-family:"Manrope",sans-serif; font-size:12.5px; color:var(--muted); margin-top:8px; letter-spacing:.01em; font-weight:500}

/* cart + tables */
.linei{display:grid; grid-template-columns:1fr auto auto auto; gap:18px; align-items:center; padding:18px 0; border-top:1px solid var(--line)}
.linei:first-child{border-top:0}
.linei .t{font-family:"Forum",serif; font-size:20px}
.linei .t small{display:block; font-family:"Manrope",sans-serif; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--sage); font-weight:700}
.linei .qty{display:flex; align-items:center; gap:8px}
.linei .qty button{width:30px; height:30px; border:1px solid var(--hair); background:var(--cream-2); cursor:pointer; border-radius:8px; color:var(--ink)}
.linei .lt{font-family:"Forum",serif; font-size:20px; text-align:right; min-width:110px}
.linei .rm{border:0; background:none; color:var(--terra); cursor:pointer; font-family:"Manrope",sans-serif; font-size:12px; letter-spacing:.04em; text-transform:uppercase; font-weight:700}
.cart-total{display:flex; justify-content:space-between; align-items:baseline; padding:22px 0; border-top:2px solid var(--hair); font-family:"Forum",serif; font-size:26px}
.vendor-note{font-family:"Manrope",sans-serif; font-size:13px; letter-spacing:.01em; color:var(--muted); margin:6px 0 0; font-weight:500}

/* vendor-split preview */
.split-group{padding:18px 0; border-top:1px solid var(--line)}
.split-group:first-child{border-top:0}
.split-group h4{font-size:20px; margin-bottom:2px}
.split-group .vend{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:11px; color:var(--sage); font-weight:700}

/* form */
.formgrid{display:grid; grid-template-columns:1fr 1fr; gap:16px 20px; max-width:62ch; margin:12px 0 24px}
.formgrid .full{grid-column:1 / -1}
.formgrid label{display:block; font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:11px; color:var(--muted); margin-bottom:6px; font-weight:700}
.formgrid input,.formgrid textarea{width:100%}
@media(max-width:560px){.formgrid{grid-template-columns:1fr}}

/* status / tracking */
.suborder{padding:26px 0; border-top:1px solid var(--line)}
.suborder:first-child{border-top:0}
.suborder .top{display:flex; justify-content:space-between; align-items:baseline; gap:16px; flex-wrap:wrap}
.suborder h3{font-size:22px}
.pill{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.08em; font-size:12px; padding:4px 11px; border-radius:999px; border:1px solid var(--hair); color:var(--muted); white-space:nowrap; font-weight:700}
.pill.new,.pill.notified{color:var(--honey); border-color:var(--honey)}
.pill.accepted{color:var(--sage); border-color:var(--sage)}
.pill.shipped{color:var(--ink); border-color:var(--sage); background:rgba(118,135,106,.13)}
.pill.delivered{color:#fff; background:var(--sage); border-color:var(--sage)}
.pill.cancelled{color:#fff; background:var(--terra); border-color:var(--terra)}
.track{font-family:"Manrope",sans-serif; font-size:13px; letter-spacing:.01em; color:var(--muted); margin-top:8px; font-weight:500}
.track b{color:var(--ink)}
.timeline{display:flex; gap:0; margin:16px 0 4px; flex-wrap:wrap}
.timeline .st{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:11px; color:var(--hair); padding:4px 14px 4px 0; position:relative; font-weight:700}
.timeline .st.done{color:var(--sage)}
.timeline .st.cur{color:var(--terra)}

.notice{font-family:"Manrope",sans-serif; font-size:13.5px; letter-spacing:.01em; color:var(--muted); background:var(--cream-2); border:1px solid var(--hair); border-left:3px solid var(--honey); padding:12px 14px; border-radius:0 10px 10px 0; margin:16px 0; font-weight:500}
.empty{padding:60px 0; text-align:center; color:var(--muted)}
.toast{position:fixed; left:50%; bottom:30px; transform:translateX(-50%); background:var(--ink); color:#fff; font-family:"Manrope",sans-serif; letter-spacing:.02em; font-size:14px; padding:12px 22px; border-radius:12px; opacity:0; transition:opacity .25s; pointer-events:none; z-index:20; font-weight:600; box-shadow:var(--card-sh-h)}
.toast.show{opacity:1}
footer{padding:48px 0 90px; color:var(--muted)}
.colophon{font-family:"Manrope",sans-serif; letter-spacing:.02em; font-size:13px; color:var(--muted); margin-top:8px; font-weight:500}
.err{color:var(--terra)}

/* --- Слой Травника (карточка) --- */
.travnik{margin-top:24px; padding:18px 20px; background:rgba(118,135,106,.09); border:1px solid var(--hair); border-radius:14px; max-width:56ch}
.travnik p{font-family:"Manrope",sans-serif; font-size:15px; color:var(--ink); margin:8px 0 12px; line-height:1.55}
.travnik-link{font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:12px; font-weight:700; color:var(--terra); text-decoration:none; border-bottom:1px solid var(--terra); padding-bottom:2px}
.travnik-link:hover{color:var(--terra-d); border-color:var(--terra-d)}

/* --- Программа-сценарий (набор) --- */
.bundle{margin-top:20px; max-width:56ch}
.bundle ul{list-style:none; padding:0; margin:8px 0 0}
.bundle li{font-family:"Manrope",sans-serif; font-size:14px; color:var(--muted); padding:6px 0; border-bottom:1px dashed var(--line)}
.bundle li a{color:var(--sage); text-decoration:none; font-weight:600}
.bundle li a:hover{color:var(--terra)}
.badge-scenario{position:absolute; top:16px; left:16px; font-family:"Manrope",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:10px; font-weight:800; color:#fff; background:var(--sage); padding:4px 9px; border-radius:999px; z-index:2}

/* --- Слоты «уточняется» + подтверждение оплаты --- */
.cert.pending .ok{color:var(--honey)}
.ship-hint.pending{color:var(--honey); font-style:italic}
.notice.ok{border-left-color:var(--sage); color:var(--ink)}
.notice.err{border-left-color:var(--terra); color:var(--terra)}

/* ---- Сочетания (NARTSKY) ---- */
.combos{ padding:10px 0 40px; }
.combo-group{ font-family:Forum,serif; font-weight:400; font-size:22px; margin:26px 0 12px; }
.combo-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
@media(max-width:960px){ .combo-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:600px){ .combo-grid{ grid-template-columns:1fr; } }
.combo-card{ display:flex; flex-direction:column; gap:6px; padding:14px; border:1px solid var(--line, #d9d2c3); border-radius:6px; background:rgba(255,255,255,.4); }
.combo-card.hl{ outline:2px solid var(--lingon, #8a3b2f); }
.combo-card h4{ font-family:Forum,serif; font-weight:400; font-size:20px; margin:4px 0 0; }
.combo-card p{ margin:0; font-size:14px; line-height:1.4; }
.combo-pitch{ font-style:italic; }
.combo-names{ font-size:13px; color:var(--muted, #6b6558); }
.combo-pair{ display:flex; align-items:center; justify-content:center; gap:6px; height:120px; }
.combo-pair img{ height:110px; max-width:46%; width:auto; object-fit:contain; }
.combo-pair.n4 img{ height:60px; max-width:23%; }
.combo-pair .plus{ color:var(--muted, #6b6558); font-size:20px; }
.combo-card .spacer{ flex:1; }

/* ---- Витрина главной (homefix 2026-10-06) ---- */
.jump{display:flex; flex-wrap:wrap; gap:8px 10px; padding:18px 0 4px}
.jump a{font-family:"Manrope",sans-serif; font-size:13px; font-weight:700; color:var(--ink); background:var(--cream-2);
  border:1px solid var(--hair); border-radius:999px; padding:7px 15px}
.jump a:hover{border-color:var(--terra); color:var(--terra)}
.suppressed{display:none!important}
html{scroll-padding-top:12px}
.featured{padding:6px 0 0}
.featured .head{padding:28px 0 0}
.featured .head h2,.combos .head h2,.catalog-head h2{font-size:clamp(26px,3.6vw,38px)}
.featured .head .intro,.combos .head .intro{font-size:16.5px; margin-top:8px}
.catalog{padding-top:26px; margin-top:20px; border-top:1px solid var(--line)}
.catalog-head{padding:6px 0 0}
.shelf.compact{grid-template-columns:repeat(4,1fr); gap:18px; padding:18px 0 14px}
@media(max-width:1000px){.shelf.compact{grid-template-columns:repeat(3,1fr)}}
@media(max-width:760px){.shelf.compact{grid-template-columns:repeat(2,1fr); gap:12px}}
.card{min-height:0}
.card .plate{position:relative; height:176px; padding:8px; overflow:hidden}
.card .plate img{height:100%; width:100%; max-width:100%; object-fit:contain; opacity:1}
.card .plate.no-photo{flex-direction:column; gap:6px; background:linear-gradient(160deg,#F7EFDD,#EEF0E2); border:1px dashed var(--hair)}
.card .plate.no-photo img{height:84px; width:auto; opacity:.55}
.plate-note{font-family:"Manrope",sans-serif; font-size:11px; letter-spacing:.06em; text-transform:uppercase; color:var(--muted); font-weight:600}
.price-ask{font-family:"Manrope",sans-serif; font-size:13.5px; font-weight:600; color:var(--muted); line-height:1.3; display:block}
.card .buy .btn{padding:10px 14px; white-space:nowrap}
.shelf.compact .card{padding:14px 14px 16px}
.shelf.compact .card h3{font-size:18px}
.shelf.compact .card .buy{flex-wrap:wrap}
.shelf.compact .card .sgr-chip{align-self:flex-start}
.more-wrap{text-align:center; padding:0 0 70px}
.more-wrap .btn{min-width:240px}
@media(max-width:560px){
  .shelf{grid-template-columns:repeat(2,1fr); gap:12px}
  .shelf .card{padding:12px 12px 14px}
  .shelf .card .plate{height:132px}
  .shelf .card h3{font-size:17px}
  .shelf .card .origin{flex-wrap:wrap}
  .shelf .card .buy{flex-direction:column; align-items:stretch}
  .shelf .card .buy .btn{width:100%}
  .shelf .card .lat{font-size:12px}
}
/* сочетания: сетка по числу карточек в группе, без дыр */
.combo-grid.g1{grid-template-columns:1fr}
.combo-grid.g2{grid-template-columns:repeat(2,1fr)}
.combo-grid.g3{grid-template-columns:repeat(3,1fr)}
.combo-grid.g4{grid-template-columns:repeat(2,1fr)}
.combo-grid.g1 .combo-card{flex-direction:row; flex-wrap:wrap; align-items:center; column-gap:24px}
.combo-grid.g1 .combo-pair{flex:0 0 260px}
@media(max-width:960px){.combo-grid.g3{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.combo-grid.g2,.combo-grid.g3,.combo-grid.g4{grid-template-columns:1fr} .combo-grid.g1 .combo-card{flex-direction:column; align-items:stretch}}
.combo-card{background:var(--cream-2); border:1px solid var(--line); border-radius:var(--r); padding:16px; box-shadow:var(--card-sh)}
.combo-card.hl{outline:2px solid var(--terra)}
.combo-pair{height:132px}
.combo-pair img{height:120px; max-width:46%; width:auto; object-fit:contain}
.combos{padding-top:6px}
.combos .head{padding:28px 0 0}
.combo-group{font-size:22px; margin:24px 0 12px; color:var(--ink)}
.combo-card .btn{align-self:stretch}

/* мобильная шапка */
@media(max-width:640px){
  .wrap{padding:0 16px}
  .topbar{flex-direction:column; align-items:flex-start; gap:12px; padding:16px 0 14px}
  .brand .accession{font-size:11px}
  .nav{gap:16px; flex-wrap:wrap}
  .hero{padding:26px 18px; margin-top:16px}
  .controls{gap:12px}
  .control{flex:1 1 140px}
  .control select{min-width:0; width:100%}
}
.tile-cta{grid-column:span 3; display:flex; flex-direction:column; justify-content:center; gap:6px; padding:22px 26px;
  border-radius:var(--r); background:linear-gradient(135deg,#FBEFE0,#EDF0E4); border:1px solid var(--hair); color:var(--ink); font-size:15px}
.tile-cta b{font-size:26px; font-weight:400}
.tile-cta .go{color:var(--terra); font-weight:700; font-size:13px; letter-spacing:.06em; text-transform:uppercase; margin-top:4px}
.tile-cta:hover{border-color:var(--terra); color:var(--ink)}
@media(max-width:1000px){.tile-cta{grid-column:span 2}}
@media(max-width:760px){.tile-cta{grid-column:span 1; padding:14px} .tile-cta b{font-size:19px} .tile-cta span:not(.label):not(.go){display:none}}
.card .sgr-chip{align-self:flex-start}
.product>*{min-width:0}
@media(max-width:640px){
  .origin-panel .orow,.record .row{grid-template-columns:1fr; gap:2px}
  .origin-panel{padding:18px}
  .linei{grid-template-columns:1fr auto; gap:10px 14px}
  .linei .lt{text-align:left; min-width:0}
  .buypanel{position:static}
  .cart-total{font-size:22px}
}
@media(max-width:560px){.shelf .card .origin .pin{display:none}}

/* главный экран: экосистема + шесть принципов (компактно, каталог сразу ниже) */
.hero.eco{padding:0; margin-top:20px; overflow:hidden; background:#F7F1E4}
.hero.eco .hero-top{padding:34px 40px 30px; min-height:250px;
  background:
    linear-gradient(90deg, #F7F1E4 0%, #F7F1E4 34%, rgba(247,241,228,.82) 52%, rgba(247,241,228,0) 78%),
    url(img/altai-hills.jpg) right center/cover no-repeat}
.hero.eco h1{font-size:clamp(30px,3.9vw,44px); max-width:15ch; line-height:1.12; margin-top:8px}
.hero.eco .intro{font-size:16.5px; line-height:1.55; max-width:46ch; margin:12px 0 0; color:#5F554A}
.principles{list-style:none; margin:0; padding:20px 40px 24px; display:grid; grid-template-columns:repeat(3,1fr); gap:16px 28px;
  border-top:1px solid var(--line); background:var(--cream-2)}
.principles li{display:grid; grid-template-columns:34px 1fr; column-gap:12px; align-items:start}
.principles svg{grid-row:span 2; width:34px; height:34px; padding:6px; border-radius:50%; background:#EEF1E6;
  fill:none; stroke:var(--sage); stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}
.principles b{font-family:"Forum",Georgia,serif; font-weight:400; font-size:19px; line-height:1.2; color:var(--ink)}
.principles span{font-size:13.5px; line-height:1.45; color:var(--muted); margin-top:2px}
.hero.eco + .jump{padding-top:14px}
@media(max-width:900px){.principles{grid-template-columns:repeat(2,1fr)}}
@media(max-width:640px){
  .hero.eco{margin-top:12px; padding:0}
  .hero.eco .hero-top{min-height:0; padding:104px 18px 16px;
    background:
      linear-gradient(180deg, rgba(247,241,228,0) 40px, #F7F1E4 104px),
      url(img/altai-hills.jpg) 30% top/auto 120px no-repeat}
  .hero.eco h1{font-size:27px; max-width:none}
  .hero.eco .intro{font-size:14.5px; margin-top:8px}
  .principles{padding:14px 16px 16px; gap:12px 14px}
  .principles li{grid-template-columns:1fr; row-gap:2px}
  .principles svg{grid-row:auto; width:28px; height:28px; padding:5px}
  .principles b{font-size:16px}
  .principles span{font-size:12.5px; line-height:1.4}
}
