/*
Theme Name: Древний Цех
Theme URI: https://drevniy-tsekh.ru
Author: Древний Цех
Author URI: https://drevniy-tsekh.ru
Description: Тема в старинном стиле для магазина масел холодного отжима. Поддерживает CPT «масло», drag-and-drop корзину, форму заказа через Ozon.
Version: 2.0.0
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 8.0
License: GNU General Public License v2
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: drevniy-tsekh
Tags: e-commerce, vintage, russian, one-column, custom-menu
*/

/* ═══════════════════════════════════════════
   DESIGN TOKENS
═══════════════════════════════════════════ */
:root {
  --parch: #f5ead6;
  --parch-dark: #e8d5b0;
  --parch-deep: #d4b98a;
  --ink: #2c1f0e;
  --ink-mid: #4a3520;
  --ink-light: #7a5c3a;
  --gold: #a8742a;
  --gold-light: #c9942e;
  --rust: #8b3a1a;
  --sepia: #6b4c2a;
  --nav-h: 72px;
}

/* ═══════════════════════════════════════════
   RESET & BASE
═══════════════════════════════════════════ */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; scroll-padding-top: var(--nav-h); }
body {
  font-family: 'Cormorant Garamond', serif;
  background: var(--parch);
  color: var(--ink);
  overflow-x: hidden;
}

/* Grain texture overlay */
body::before {
  content: '';
  position: fixed; inset: 0;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='300' height='300'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='300' height='300' filter='url(%23n)' opacity='0.07'/%3E%3C/svg%3E");
  pointer-events: none; z-index: 9000; opacity: .3; mix-blend-mode: multiply;
}

/* ═══════════════════════════════════════════
   NAVBAR
═══════════════════════════════════════════ */
nav#site-nav {
  position: fixed; top: 0; left: 0; right: 0; z-index: 8000;
  height: var(--nav-h);
  background: rgba(44,31,14,0.97);
  backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: space-between;
  padding: 0 32px;
  border-bottom: 1px solid rgba(168,116,42,0.3);
  transition: box-shadow .3s;
}
nav#site-nav.scrolled { box-shadow: 0 4px 30px rgba(0,0,0,0.35); }

.nav-windmill { display: flex; align-items: center; gap: 12px; text-decoration: none; }
.windmill-wrap { width: 48px; height: 48px; position: relative; flex-shrink: 0; }

@keyframes blade-spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } }
.mill-rotor {
  transform-box: fill-box;
  transform-origin: center center;
  animation: blade-spin 7s linear infinite;
}

.nav-brand { font-family: 'hirmos-ieucs-regular', 'Playfair Display', serif; font-size: 1.3rem; color: #c9a87c; letter-spacing: .04em; }
.nav-brand em { display: none; }

.nav-wheat { display: flex; gap: 3px; align-items: flex-end; height: 36px; }
.nws { width: 2px; background: linear-gradient(to top, rgba(168,116,42,.3), var(--gold-light)); border-radius: 1px; transform-origin: bottom center; }
.nws:nth-child(1){height:22px;animation:sway 3.2s ease-in-out infinite;}
.nws:nth-child(2){height:30px;animation:sway 3.8s ease-in-out -1.2s infinite;}
.nws:nth-child(3){height:26px;animation:sway 2.9s ease-in-out -0.5s infinite;}

@keyframes sway { 0%,100%{transform:rotate(-5deg);} 50%{transform:rotate(5deg);} }

.nav-right { display: flex; align-items: center; gap: 24px; }
.nav-links { display: flex; gap: 24px; list-style: none; }
.nav-links a { color: var(--parch-deep); text-decoration: none; font-family: 'IM Fell English', serif; font-size: .78rem; letter-spacing: .2em; text-transform: uppercase; transition: color .3s; }
.nav-links a:hover { color: var(--gold-light); }

.cart-btn { cursor: pointer; background: none; border: 1.5px solid rgba(168,116,42,.5); padding: 8px 16px; color: var(--parch); font-family: 'IM Fell English', serif; font-size: .78rem; letter-spacing: .15em; text-transform: uppercase; transition: border-color .3s,color .3s; display: flex; align-items: center; gap: 8px; }
.cart-btn:hover { border-color: var(--gold-light); color: var(--gold-light); }
.cart-count { background: var(--gold); color: var(--ink); border-radius: 50%; width: 18px; height: 18px; font-size: .7rem; display: flex; align-items: center; justify-content: center; font-family: sans-serif; font-weight: 700; }

/* ═══════════════════════════════════════════
   HERO
═══════════════════════════════════════════ */
.hero {
  min-height: 100vh;
  padding: calc(var(--nav-h) + 60px) 24px 180px;
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  text-align: center; position: relative; overflow: hidden;
  background: radial-gradient(ellipse 70% 50% at 50% 35%, rgba(168,116,42,.13) 0%, transparent 70%), var(--parch);
}
.hero::before,.hero::after{content:'';position:absolute;border:1.5px solid rgba(168,116,42,.3);pointer-events:none;}
.hero::before{inset:88px 24px 24px;}
.hero::after{inset:96px 32px 32px;border-color:rgba(212,185,138,.25);}

.hero-stamp{font-family:'IM Fell English',serif;font-size:.72rem;letter-spacing:.38em;color:var(--gold);text-transform:uppercase;margin-bottom:20px;opacity:0;animation:fadeUp 1s ease .4s forwards;}
.hero-title{font-family:'Playfair Display',serif;font-size:clamp(3rem,9vw,6.5rem);font-weight:700;line-height:1;color:var(--ink);opacity:0;animation:fadeUp 1s ease .7s forwards;}
.hero-title em{font-style:italic;color:var(--gold);display:block;font-size:.56em;}
.hero-divider{display:flex;align-items:center;gap:16px;margin:28px auto;width:320px;max-width:90%;opacity:0;animation:fadeUp 1s ease 1s forwards;}
.hero-divider::before,.hero-divider::after{content:'';flex:1;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);}
.hero-sub{font-size:clamp(1rem,2.2vw,1.35rem);font-weight:300;color:var(--ink-mid);max-width:520px;line-height:1.75;font-style:italic;opacity:0;animation:fadeUp 1s ease 1.2s forwards;}
.hero-cta{margin-top:40px;display:flex;gap:14px;flex-wrap:wrap;justify-content:center;opacity:0;animation:fadeUp 1s ease 1.5s forwards;}

.hero-wheat-bar{position:absolute;bottom:0;left:0;right:0;height:180px;display:flex;justify-content:space-between;align-items:flex-end;padding:0 5%;pointer-events:none;opacity:0;animation:fadeIn 2s ease 2s forwards;}
.wheat-cluster{display:flex;gap:5px;align-items:flex-end;}
.ws-wrap{display:flex;flex-direction:column;align-items:center;}
.ws{width:2px;border-radius:1px;background:linear-gradient(to top,var(--parch-deep),var(--gold-light));transform-origin:bottom center;}
.ws-icon{animation:sway 3.5s ease-in-out infinite;}

.hero-seal{position:absolute;right:6%;top:50%;transform:translateY(-50%);width:100px;height:100px;opacity:0;animation:fadeIn 1.5s ease 2.2s forwards,rotateSeal 50s linear infinite;}
@keyframes rotateSeal{to{transform:translateY(-50%) rotate(360deg);}}

/* ═══════════════════════════════════════════
   BUTTONS
═══════════════════════════════════════════ */
.btn-primary{background:var(--ink);color:var(--parch);font-family:'IM Fell English',serif;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;padding:14px 36px;border:2px solid var(--ink);cursor:pointer;text-decoration:none;display:inline-block;transition:all .35s;position:relative;overflow:hidden;}
.btn-primary::after{content:'';position:absolute;inset:0;background:var(--gold);transform:translateX(-101%);transition:transform .35s;z-index:0;}
.btn-primary span{position:relative;z-index:1;}
.btn-primary:hover::after{transform:translateX(0);}
.btn-primary:hover{border-color:var(--gold);color:var(--ink);}
.btn-outline{background:transparent;color:var(--ink);font-family:'IM Fell English',serif;font-size:.85rem;letter-spacing:.2em;text-transform:uppercase;padding:14px 36px;border:2px solid var(--parch-deep);cursor:pointer;text-decoration:none;display:inline-block;transition:all .3s;}
.btn-outline:hover{border-color:var(--gold);color:var(--gold);}

/* ═══════════════════════════════════════════
   MARQUEE STRIP
═══════════════════════════════════════════ */
.strip{background:var(--ink);padding:14px 0;overflow:hidden;white-space:nowrap;}
.strip-inner{display:inline-block;animation:marquee 30s linear infinite;font-family:'IM Fell English',serif;font-size:.75rem;letter-spacing:.28em;text-transform:uppercase;color:var(--parch-deep);}
.si{margin:0 36px;}.sd{color:var(--gold);margin:0 8px;}
@keyframes marquee{from{transform:translateX(0);}to{transform:translateX(-50%);}}

/* ═══════════════════════════════════════════
   SECTION BASE
═══════════════════════════════════════════ */
section{padding:90px 24px;}
.section-inner{max-width:1140px;margin:0 auto;}
.section-label{font-family:'IM Fell English',serif;font-size:.7rem;letter-spacing:.4em;text-transform:uppercase;color:var(--gold);margin-bottom:14px;display:block;}
.section-title{font-family:'Playfair Display',serif;font-size:clamp(2rem,5vw,3.2rem);font-weight:600;line-height:1.15;color:var(--ink);margin-bottom:20px;}
.section-title em{font-style:italic;color:var(--gold);}
.ruled-line{width:70px;height:2px;background:linear-gradient(to right,var(--gold),transparent);margin-bottom:28px;}

/* ═══════════════════════════════════════════
   PRODUCTS SECTION
═══════════════════════════════════════════ */
.products{background:var(--ink);position:relative;overflow:hidden;}
.products::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 75% 20%,rgba(168,116,42,.14) 0%,transparent 60%);}
.products .section-title{color:var(--parch);}
.products .section-label{color:var(--gold-light);}
.products .ruled-line{background:linear-gradient(to right,var(--gold-light),transparent);}

.shop-layout{display:grid;grid-template-columns:1fr 300px;gap:28px;align-items:start;margin-top:40px;position:relative;z-index:1;}

/* ── Circle Thumbnails ── */
.products-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}

.product-thumb{background:transparent;border:none;padding:12px 8px;display:flex;flex-direction:column;align-items:center;text-align:center;cursor:grab;transition:transform .25s;position:relative;user-select:none;}
.product-thumb:hover{transform:translateY(-5px);}
.product-thumb.dragging{opacity:.4;cursor:grabbing;}

.thumb-circle{width:80px;height:80px;border-radius:50%;position:relative;flex-shrink:0;margin-bottom:9px;display:flex;align-items:center;justify-content:center;overflow:hidden;border:2px solid rgba(168,116,42,.4);box-shadow:0 4px 16px rgba(0,0,0,.35);transition:border-color .3s,box-shadow .3s,transform .25s;}
.product-thumb:hover .thumb-circle{border-color:var(--gold-light);box-shadow:0 6px 24px rgba(168,116,42,.45);transform:scale(1.06);}
.thumb-circle-bg{position:absolute;inset:0;border-radius:50%;}
.thumb-circle-emoji{font-size:1.9rem;position:relative;z-index:1;filter:drop-shadow(0 2px 4px rgba(0,0,0,.4));}
.thumb-circle::after{content:'';position:absolute;top:5px;left:10px;width:22px;height:14px;border-radius:50%;background:rgba(255,255,255,.2);transform:rotate(-30deg);pointer-events:none;}

.thumb-info-btn{position:absolute;top:6px;right:10px;width:20px;height:20px;border-radius:50%;background:rgba(168,116,42,.3);border:1.5px solid rgba(168,116,42,.6);color:var(--gold-light);font-family:'Playfair Display',serif;font-size:.8rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .22s;z-index:10;}
.thumb-info-btn:hover{background:var(--gold);color:var(--ink);border-color:var(--gold);transform:scale(1.2);}

.thumb-name{font-family:'Playfair Display',serif;font-size:.75rem;color:var(--parch);margin-bottom:2px;line-height:1.2;font-weight:600;}
.thumb-volume{font-size:.65rem;color:var(--parch-deep);font-style:italic;margin-bottom:4px;}
.thumb-price{font-family:'Playfair Display',serif;font-size:.88rem;color:var(--gold-light);font-weight:600;margin-bottom:5px;}
.thumb-tag{font-family:'IM Fell English',serif;font-size:.55rem;letter-spacing:.14em;text-transform:uppercase;color:var(--gold-light);padding:1px 6px;border:1px solid rgba(168,116,42,.4);background:rgba(168,116,42,.12);margin-bottom:6px;}
.drag-hint{font-size:.55rem;color:rgba(212,185,138,.35);letter-spacing:.06em;margin-top:3px;font-family:'IM Fell English',serif;}
.add-btn{margin-top:6px;width:100%;background:rgba(168,116,42,.18);border:1px solid rgba(168,116,42,.35);color:var(--gold-light);font-family:'IM Fell English',serif;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;padding:5px 6px;cursor:pointer;transition:all .22s;border-radius:2px;}
.add-btn:hover{background:rgba(168,116,42,.38);}

/* ── Cart Panel ── */
.cart-panel{position:sticky;top:calc(var(--nav-h) + 20px);background:rgba(245,234,214,.07);border:1.5px solid rgba(168,116,42,.35);padding:24px 20px;min-height:320px;transition:border-color .3s;}
.cart-panel.drag-over{border-color:var(--gold-light);background:rgba(168,116,42,.1);box-shadow:0 0 30px rgba(168,116,42,.2);}
.cart-title{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--parch);margin-bottom:4px;font-weight:600;}
.cart-sub{font-size:.8rem;color:var(--parch-deep);font-style:italic;margin-bottom:16px;}
.cart-drop-zone{min-height:80px;border:1px dashed rgba(168,116,42,.3);display:flex;align-items:center;justify-content:center;font-family:'IM Fell English',serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:rgba(212,185,138,.4);margin-bottom:16px;transition:all .3s;padding:16px;text-align:center;}
.cart-drop-zone.has-items{display:none;}
.cart-items{margin-bottom:16px;}
.cart-item{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid rgba(168,116,42,.15);}
.cart-item-icon{font-size:1.3rem;flex-shrink:0;}
.cart-item-info{flex:1;}
.cart-item-name{font-size:.88rem;color:var(--parch);font-family:'Playfair Display',serif;font-weight:600;}
.cart-item-price{font-size:.78rem;color:var(--gold-light);}
.cart-item-qty{display:flex;align-items:center;gap:6px;}
.qty-btn{width:22px;height:22px;background:rgba(168,116,42,.2);border:1px solid rgba(168,116,42,.4);color:var(--gold-light);cursor:pointer;font-size:.9rem;display:flex;align-items:center;justify-content:center;transition:background .2s;}
.qty-btn:hover{background:rgba(168,116,42,.4);}
.qty-num{font-size:.85rem;color:var(--parch);min-width:20px;text-align:center;}
.cart-divider{height:1px;background:linear-gradient(to right,transparent,rgba(168,116,42,.4),transparent);margin:12px 0;}
.cart-total-row{display:flex;justify-content:space-between;align-items:baseline;}
.cart-total-label{font-family:'IM Fell English',serif;font-size:.72rem;letter-spacing:.2em;text-transform:uppercase;color:var(--parch-deep);}
.cart-total-price{font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--gold-light);font-weight:600;}
.cart-order-btn{width:100%;margin-top:16px;background:var(--gold);color:var(--ink);font-family:'IM Fell English',serif;font-size:.82rem;letter-spacing:.2em;text-transform:uppercase;padding:14px;border:none;cursor:pointer;transition:background .3s;}
.cart-order-btn:hover{background:var(--gold-light);}
.cart-order-btn:disabled{background:rgba(168,116,42,.3);cursor:not-allowed;color:rgba(212,185,138,.5);}

/* Free shipping */
.free-ship-banner{display:flex;align-items:center;gap:10px;background:linear-gradient(135deg,rgba(168,116,42,.18),rgba(201,148,46,.1));border:1px solid rgba(168,116,42,.45);padding:10px 14px;margin-bottom:14px;animation:shimmer 3s ease-in-out infinite;}
@keyframes shimmer{0%,100%{border-color:rgba(168,116,42,.45);}50%{border-color:rgba(201,148,46,.85);box-shadow:0 0 12px rgba(168,116,42,.25);}}
.free-ship-icon{font-size:1.4rem;flex-shrink:0;}
.free-ship-text{font-family:'IM Fell English',serif;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;line-height:1.5;}
.free-ship-text strong{color:var(--gold-light);display:block;font-size:.82rem;}
.free-ship-text span{color:rgba(212,185,138,.7);}
.ship-progress-wrap{margin:10px 0 14px;}
.ship-progress-label{font-family:'IM Fell English',serif;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(212,185,138,.6);margin-bottom:6px;display:flex;justify-content:space-between;}
.ship-progress-label.done{color:var(--gold-light);}
.ship-bar-bg{height:4px;background:rgba(168,116,42,.15);border-radius:2px;overflow:hidden;}
.ship-bar-fill{height:100%;background:linear-gradient(to right,var(--gold),var(--gold-light));border-radius:2px;transition:width .5s ease;}
.ship-achieved{display:none;text-align:center;padding:8px;background:rgba(168,116,42,.15);border:1px solid rgba(168,116,42,.4);font-family:'IM Fell English',serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold-light);margin-bottom:10px;}
.ship-achieved.show{display:block;}

/* ── Product Detail Modal ── */
.pdetail-overlay{display:none;position:fixed;inset:0;z-index:9600;background:rgba(20,12,4,.88);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px;}
.pdetail-overlay.show{display:flex;}
.pdetail-modal{background:var(--parch);max-width:620px;width:100%;position:relative;max-height:92vh;overflow-y:auto;display:grid;grid-template-columns:200px 1fr;}
.pdetail-visual{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:32px 24px;position:relative;overflow:hidden;}
.pdetail-visual-bg{position:absolute;inset:0;opacity:.55;}
.pdetail-big-circle{width:130px;height:130px;border-radius:50%;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.2);box-shadow:0 8px 32px rgba(0,0,0,.3);overflow:hidden;margin-bottom:12px;}
.pdetail-big-circle-bg{position:absolute;inset:0;border-radius:50%;}
.pdetail-big-emoji{font-size:3.5rem;position:relative;z-index:1;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4));}
.pdetail-big-circle::after{content:'';position:absolute;top:10px;left:18px;width:36px;height:24px;border-radius:50%;background:rgba(255,255,255,.2);transform:rotate(-30deg);}
.pdetail-price-big{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--parch);font-weight:700;position:relative;z-index:1;}
.pdetail-vol{font-size:.8rem;color:rgba(245,234,214,.7);font-style:italic;position:relative;z-index:1;margin-top:2px;}
.pdetail-info{padding:28px 24px 28px 20px;background:var(--parch);display:flex;flex-direction:column;}
.pdetail-close{position:absolute;top:12px;right:14px;background:none;border:none;font-size:1.3rem;color:var(--ink-mid);cursor:pointer;transition:color .2s;}
.pdetail-close:hover{color:var(--ink);}
.pdetail-label{font-family:'IM Fell English',serif;font-size:.65rem;letter-spacing:.3em;text-transform:uppercase;color:var(--gold);margin-bottom:6px;}
.pdetail-name{font-family:'Playfair Display',serif;font-size:1.55rem;color:var(--ink);font-weight:700;line-height:1.2;margin-bottom:4px;}
.pdetail-tag{display:inline-block;margin-bottom:14px;font-family:'IM Fell English',serif;font-size:.65rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:3px 10px;border:1px solid rgba(168,116,42,.4);background:rgba(168,116,42,.08);}
.pdetail-divider{height:1px;background:linear-gradient(to right,var(--gold),transparent);margin:12px 0;}
.pdetail-desc{font-size:1rem;color:var(--ink-mid);line-height:1.8;margin-bottom:14px;font-style:italic;}
.pdetail-props{margin-bottom:16px;}
.pdetail-prop{display:flex;gap:8px;align-items:baseline;padding:5px 0;border-bottom:1px solid rgba(212,185,138,.4);font-size:.88rem;}
.pdetail-prop-key{font-family:'IM Fell English',serif;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sepia);min-width:90px;flex-shrink:0;}
.pdetail-prop-val{color:var(--ink-mid);}
.pdetail-actions{display:flex;gap:10px;margin-top:auto;padding-top:10px;}
.pdetail-add-btn{flex:1;background:var(--ink);color:var(--parch);font-family:'IM Fell English',serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;padding:13px;border:none;cursor:pointer;transition:background .3s;}
.pdetail-add-btn:hover{background:var(--gold);}
.pdetail-close-btn{background:transparent;color:var(--ink-mid);font-family:'IM Fell English',serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;padding:13px 16px;border:1.5px solid var(--parch-deep);cursor:pointer;transition:border-color .3s;}
.pdetail-close-btn:hover{border-color:var(--gold);}

/* ═══════════════════════════════════════════
   SINGLE PRODUCT (CPT) PAGE
═══════════════════════════════════════════ */
.single-product-hero{
  padding:calc(var(--nav-h) + 60px) 24px 60px;
  background:var(--parch);
}
.single-product-inner{
  max-width:900px;margin:0 auto;
  display:grid;grid-template-columns:280px 1fr;gap:60px;align-items:start;
}
.single-product-circle-wrap{display:flex;justify-content:center;align-items:center;padding:32px;}
.single-product-circle{
  width:200px;height:200px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:5rem;
  box-shadow:0 16px 48px rgba(0,0,0,.15);
  border:3px solid rgba(168,116,42,.4);
  position:relative;overflow:hidden;
}
.single-product-circle::after{content:'';position:absolute;top:14px;left:26px;width:52px;height:34px;border-radius:50%;background:rgba(255,255,255,.2);transform:rotate(-30deg);}
.single-product-info{}
.single-product-label{font-family:'IM Fell English',serif;font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:8px;display:block;}
.single-product-title{font-family:'Playfair Display',serif;font-size:2.4rem;font-weight:700;color:var(--ink);line-height:1.1;margin-bottom:8px;}
.single-product-tag{display:inline-block;margin-bottom:16px;font-family:'IM Fell English',serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);padding:4px 12px;border:1px solid rgba(168,116,42,.4);background:rgba(168,116,42,.08);}
.single-product-price{font-family:'Playfair Display',serif;font-size:2rem;color:var(--gold-light);font-weight:700;margin-bottom:4px;}
.single-product-volume{font-size:.95rem;color:var(--ink-light);font-style:italic;margin-bottom:24px;}
.single-product-divider{height:1px;background:linear-gradient(to right,var(--gold),transparent);margin:20px 0;}
.single-product-desc{font-size:1.1rem;line-height:1.85;color:var(--ink-mid);margin-bottom:24px;}
.single-product-props{margin-bottom:28px;border:1px solid var(--parch-deep);}
.single-product-prop{display:flex;padding:10px 16px;border-bottom:1px solid var(--parch-deep);}
.single-product-prop:last-child{border-bottom:none;}
.single-product-prop-key{font-family:'IM Fell English',serif;font-size:.72rem;letter-spacing:.15em;text-transform:uppercase;color:var(--sepia);min-width:130px;flex-shrink:0;}
.single-product-prop-val{font-size:.95rem;color:var(--ink-mid);}
.single-product-actions{display:flex;gap:12px;flex-wrap:wrap;}

/* ═══════════════════════════════════════════
   ABOUT, PROCESS, BENEFITS, TESTIMONIALS
═══════════════════════════════════════════ */
.about{background:var(--parch);}
.about-grid{display:grid;grid-template-columns:1fr 1fr;gap:72px;align-items:center;}
.about-text p{font-size:1.12rem;line-height:1.9;color:var(--ink-mid);margin-bottom:18px;}
.about-text p:first-of-type::first-letter{font-family:'Playfair Display',serif;font-size:4rem;font-weight:700;color:var(--gold);float:left;line-height:.75;margin:8px 10px 0 0;}
.about-quote{margin-top:28px;padding:24px 28px;border-left:3px solid var(--gold);background:rgba(168,116,42,.06);font-family:'Playfair Display',serif;font-style:italic;font-size:1.18rem;color:var(--sepia);line-height:1.7;}
.about-visual{display:flex;justify-content:center;}

.process{background:var(--parch-dark);}
.process-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin-top:52px;position:relative;}
.process-steps::before{content:'';position:absolute;top:35px;left:12%;right:12%;height:1px;background:linear-gradient(to right,transparent,var(--gold),transparent);}
.process-step{text-align:center;padding:0 16px;}
.process-num{width:70px;height:70px;border-radius:50%;background:var(--parch);border:2px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:0 auto 20px;font-family:'Playfair Display',serif;font-size:1.4rem;color:var(--gold);position:relative;z-index:1;}
.process-step-title{font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--ink);margin-bottom:10px;font-weight:600;}
.process-step-desc{font-size:.95rem;color:var(--ink-mid);line-height:1.7;}

.benefits{background:var(--parch);}
.benefits-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;margin-top:48px;}
.benefit-item{padding:32px 24px;border-top:2px solid var(--parch-deep);transition:border-color .3s;}
.benefit-item:hover{border-color:var(--gold);}
.benefit-item.free-ship-highlight{border-top:2px solid var(--gold) !important;background:linear-gradient(to bottom,rgba(168,116,42,.06),transparent);position:relative;overflow:hidden;}
.benefit-item.free-ship-highlight::after{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(to right,var(--gold),var(--gold-light),var(--gold));animation:shimmerLine 2.5s ease-in-out infinite;}
@keyframes shimmerLine{0%,100%{opacity:.6;}50%{opacity:1;}}
.ship-badge{display:inline-block;margin-top:10px;background:var(--gold);color:var(--ink);font-family:'IM Fell English',serif;font-size:.68rem;letter-spacing:.18em;text-transform:uppercase;padding:4px 12px;}
.benefit-icon{font-size:2.2rem;margin-bottom:16px;display:block;}
.benefit-title{font-family:'Playfair Display',serif;font-size:1.18rem;color:var(--ink);margin-bottom:10px;font-weight:600;}
.benefit-desc{font-size:.98rem;color:var(--ink-mid);line-height:1.75;}

.testimonials{background:linear-gradient(to bottom,var(--parch-dark),var(--parch));}
.testimonials-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:48px;}
.testimonial{padding:32px 28px;background:var(--parch);border:1px solid var(--parch-deep);position:relative;}
.testimonial::before{content:'\201C';font-family:'Playfair Display',serif;font-size:4.5rem;color:var(--gold);opacity:.2;position:absolute;top:10px;left:18px;line-height:1;}
.testimonial-text{font-style:italic;font-size:1.03rem;line-height:1.8;color:var(--ink-mid);margin-bottom:20px;padding-top:18px;}
.testimonial-author{font-family:'IM Fell English',serif;font-size:.75rem;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);}
.stars{color:var(--gold);font-size:.88rem;margin-bottom:8px;}

/* ═══════════════════════════════════════════
   ORDER SECTION
═══════════════════════════════════════════ */
.order-section{background:var(--ink);position:relative;overflow:hidden;}
.order-section::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse 60% 70% at 50% 50%,rgba(168,116,42,.15) 0%,transparent 70%);}
.order-section .section-inner{position:relative;z-index:1;}
.order-section .section-title{color:var(--parch);}
.order-section .section-label{color:var(--gold-light);}
.order-wrap{max-width:680px;margin:0 auto;}
.order-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:0;margin:32px 0 44px;position:relative;}
.order-steps::before{content:'';position:absolute;top:28px;left:10%;right:10%;height:1px;background:linear-gradient(to right,transparent,rgba(168,116,42,.5),transparent);}
.os{text-align:center;padding:0 8px;}
.os-num{width:56px;height:56px;border-radius:50%;background:rgba(168,116,42,.15);border:1.5px solid rgba(168,116,42,.5);display:flex;align-items:center;justify-content:center;font-family:'Playfair Display',serif;font-size:1.1rem;color:var(--gold-light);margin:0 auto 14px;position:relative;z-index:1;}
.os-title{font-family:'Playfair Display',serif;font-size:.85rem;color:var(--parch);font-weight:600;margin-bottom:6px;line-height:1.25;}
.os-desc{font-size:.75rem;color:var(--parch-deep);line-height:1.6;font-style:italic;}
.ozon-badge{display:flex;align-items:center;gap:12px;background:rgba(245,234,214,.06);border:1px solid rgba(168,116,42,.25);padding:16px 20px;margin-bottom:32px;}
.ozon-logo{font-family:'Playfair Display',serif;font-size:1.4rem;color:#005bff;font-weight:700;letter-spacing:-.02em;background:rgba(255,255,255,.12);padding:4px 12px;border-radius:4px;flex-shrink:0;}
.ozon-text{font-size:.88rem;color:var(--parch-deep);line-height:1.6;font-style:italic;}
.ozon-text strong{color:var(--parch);font-style:normal;}
.phone-form{background:rgba(245,234,214,.05);border:1px solid rgba(168,116,42,.3);padding:36px 40px;}
.phone-form-title{font-family:'Playfair Display',serif;font-size:1.5rem;color:var(--parch);margin-bottom:6px;font-weight:600;text-align:center;}
.phone-form-sub{font-size:.95rem;color:var(--parch-deep);font-style:italic;text-align:center;margin-bottom:28px;}
.form-row{display:flex;gap:12px;margin-bottom:16px;}
.form-input{flex:1;background:rgba(245,234,214,.08);border:1px solid rgba(168,116,42,.3);color:var(--parch);font-family:'Cormorant Garamond',serif;font-size:1.05rem;padding:14px 16px;outline:none;transition:border-color .3s;}
.form-input::placeholder{color:rgba(212,185,138,.45);}
.form-input:focus{border-color:var(--gold-light);}
.form-submit{width:100%;background:var(--gold);color:var(--ink);font-family:'IM Fell English',serif;font-size:.9rem;letter-spacing:.25em;text-transform:uppercase;padding:16px;border:none;cursor:pointer;transition:background .3s;margin-top:8px;}
.form-submit:hover{background:var(--gold-light);}
.form-note{text-align:center;margin-top:14px;font-size:.78rem;color:rgba(212,185,138,.5);font-style:italic;line-height:1.6;}

/* ═══════════════════════════════════════════
   ORDER MODAL
═══════════════════════════════════════════ */
.modal-overlay{display:none;position:fixed;inset:0;z-index:9500;background:rgba(20,12,4,.85);backdrop-filter:blur(4px);align-items:center;justify-content:center;padding:20px;}
.modal-overlay.show{display:flex;}
.modal{background:var(--parch);max-width:520px;width:100%;padding:44px 40px;position:relative;max-height:90vh;overflow-y:auto;}
.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.4rem;color:var(--ink-mid);cursor:pointer;}
.modal-title{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--ink);margin-bottom:6px;font-weight:700;}
.modal-sub{font-size:.95rem;color:var(--ink-mid);font-style:italic;margin-bottom:24px;}
.modal-cart-list{margin-bottom:20px;}
.mc-item{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--parch-deep);}
.mc-name{font-size:.95rem;color:var(--ink);font-family:'Playfair Display',serif;}
.mc-price{font-size:.9rem;color:var(--gold);}
.mc-total-row{display:flex;justify-content:space-between;font-family:'Playfair Display',serif;font-size:1.1rem;font-weight:600;color:var(--ink);margin:16px 0;}
.modal .form-input{background:rgba(245,234,214,.4);color:var(--ink);border-color:var(--parch-deep);}
.modal .form-input::placeholder{color:rgba(74,53,32,.4);}
.modal .form-submit{background:var(--ink);color:var(--parch);}
.modal .form-submit:hover{background:var(--gold);color:var(--ink);}
.modal-success{text-align:center;display:none;}
.modal-success.show{display:block;}
.success-icon{font-size:3.5rem;margin-bottom:16px;}
.success-title{font-family:'Playfair Display',serif;font-size:1.6rem;color:var(--ink);margin-bottom:12px;font-weight:700;}
.success-text{font-size:1rem;color:var(--ink-mid);line-height:1.75;}
.success-text strong{color:var(--gold);}

/* ═══════════════════════════════════════════
   FOOTER
═══════════════════════════════════════════ */
footer#site-footer{background:#1a100a;color:var(--parch-deep);padding:56px 24px 36px;text-align:center;}
.footer-logo{font-family:'Playfair Display',serif;font-size:1.7rem;color:var(--parch);margin-bottom:6px;}
.footer-sub{font-family:'IM Fell English',serif;font-size:.7rem;letter-spacing:.35em;text-transform:uppercase;color:var(--gold);margin-bottom:36px;}
.footer-links{display:flex;justify-content:center;gap:36px;margin-bottom:36px;flex-wrap:wrap;}
.footer-links a{color:var(--parch-deep);text-decoration:none;font-size:.88rem;font-family:'IM Fell English',serif;letter-spacing:.12em;text-transform:uppercase;transition:color .3s;}
.footer-links a:hover{color:var(--gold);}
.footer-copy{font-size:.78rem;color:rgba(212,185,138,.35);border-top:1px solid rgba(168,116,42,.12);padding-top:20px;}

/* ═══════════════════════════════════════════
   SCROLL REVEAL & ANIMATIONS
═══════════════════════════════════════════ */
.reveal{opacity:0;transform:translateY(36px);transition:opacity .8s ease,transform .8s ease;}
.reveal.visible{opacity:1;transform:none;}
.reveal-delay-1{transition-delay:.15s;}.reveal-delay-2{transition-delay:.3s;}.reveal-delay-3{transition-delay:.45s;}.reveal-delay-4{transition-delay:.6s;}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px);}to{opacity:1;transform:translateY(0);}}
@keyframes fadeIn{to{opacity:1;}}

/* ═══════════════════════════════════════════
   RESPONSIVE
═══════════════════════════════════════════ */
@media(max-width:960px){
  .shop-layout{grid-template-columns:1fr;}
  .cart-panel{position:relative;top:0;}
  .products-grid{grid-template-columns:repeat(4,1fr);}
  .about-grid{grid-template-columns:1fr;gap:40px;}
  .about-visual{display:none;}
  .process-steps{grid-template-columns:1fr 1fr;gap:36px;}
  .process-steps::before{display:none;}
  .benefits-grid{grid-template-columns:1fr 1fr;}
  .testimonials-grid{grid-template-columns:1fr;max-width:480px;margin-left:auto;margin-right:auto;}
  .order-steps{grid-template-columns:1fr 1fr;gap:24px;}
  .order-steps::before{display:none;}
  .hero-seal{display:none;}
  .nav-links{display:none;}
  .single-product-inner{grid-template-columns:1fr;gap:32px;}
}
@media(max-width:640px){
  .products-grid{grid-template-columns:repeat(3,1fr);}
  .benefits-grid{grid-template-columns:1fr;}
  .phone-form{padding:28px 20px;}
  .form-row{flex-direction:column;}
  .modal{padding:32px 24px;}
  .order-steps{grid-template-columns:1fr 1fr;}
  nav#site-nav{padding:0 16px;}
  .nav-brand{font-size:1.05rem;}
  .pdetail-modal{grid-template-columns:1fr;}
}
@media(max-width:420px){
  .products-grid{grid-template-columns:repeat(2,1fr);}
}

/* ══════════════════════════════════════

/* ══════════════════════════════════════
   ПРАВКИ v3.1 — все изменения
══════════════════════════════════════ */

/* ── Шрифт hirmos для бренда ── */
@font-face {
  font-family: 'hirmos-ieucs-regular';
  src: url('fonts/hirmos-ieucs-regular.woff2') format('woff2'),
       url('fonts/hirmos-ieucs-regular.woff')  format('woff'),
       url('fonts/hirmos-ieucs-regular.ttf')   format('truetype');
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* Название бренда в шапке */
.nav-brand {
  font-family: 'hirmos-ieucs-regular', 'Playfair Display', Georgia, serif;
  font-size: 1.25rem;
  color: #c9a87c; /* светло-коричневый */
  letter-spacing: .04em;
  line-height: 1;
}
/* Скрываем em если где-то осталась */
.nav-brand em { display: none !important; }

/* ── Убираем ВСЕ колосья ── */
.nav-wheat,
.hero-wheat-bar,
.wheat-cluster,
.ws-wrap,
.ws,
.ws-icon,
.nws {
  display: none !important;
}

/* ── Success overlay — строго скрыт по умолчанию ── */
.success-overlay,
#success-overlay {
  display: none !important;
}
.success-overlay.show,
#success-overlay.show {
  display: flex !important;
}

/* ── Карусель «О нас» ── */
.about-carousel {
  position: relative;
  width: 100%;
  max-width: 420px;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 12px 40px rgba(44,31,14,.18);
  aspect-ratio: 3/4;
  background: var(--parch-dark);
}
.about-carousel img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  position: absolute;
  top: 0; left: 0;
  opacity: 0;
  transition: opacity 1.2s ease;
  border-radius: 4px;
}
.about-carousel img.active {
  opacity: 1;
  position: relative; /* для высоты */
}

/* ── Корзина на мобильных — не выходит за край ── */
@media (max-width: 960px) {
  .shop-layout {
    grid-template-columns: 1fr;
    gap: 20px;
  }
  .cart-panel {
    position: relative;
    top: 0;
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    overflow-x: hidden;
  }
  .cart-items {
    max-height: 320px;
    overflow-y: auto;
    overflow-x: hidden;
  }
  .cart-item {
    flex-wrap: wrap;
    gap: 6px;
  }
  .cart-item-info {
    min-width: 0;
    flex: 1 1 120px;
  }
  .cart-item-name {
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    max-width: 150px;
  }
}
@media (max-width: 640px) {
  .cart-panel { padding: 16px 14px; }
  .free-ship-banner { padding: 8px 10px; }
  .free-ship-text { font-size: .65rem; }
  .phone-form { padding: 24px 16px; }
  .form-row { flex-direction: column; gap: 10px; }
  .form-input { width: 100%; }
  nav#site-nav { padding: 0 14px; }
  .nav-brand { font-size: 1.05rem; }
}

/* ── «От двух бутылок» — прогресс бар крупнее ── */
#ship-bottles-left,
.ship-bottles-left {
  font-size: .92rem !important;
  font-weight: 700;
  color: var(--gold-light) !important;
}
.ship-achieved {
  font-size: .9rem !important;
  padding: 12px 16px !important;
  letter-spacing: .08em !important;
}
.free-ship-text strong {
  font-size: .88rem !important;
}

/* ── Убираем старый ship-badge ── */
.ship-badge { display: none !important; }

/* ── Карусель скрыта на мобиле ── */
@media (max-width: 960px) {
  .about-carousel { max-width: 100%; }
}
