/* ============================================================
   DeliFideli — stylesheet rebuilt from the official design system
   (Delifideli Website (mobile).html). Single typeface: Jost.
   Mobile-first; scales up to tablet/desktop.
   ============================================================ */

/* ---------- Jost — self-hosted webfont (Latin + Cyrillic) ---------- */
@font-face { font-family:'Jost'; font-style:normal; font-weight:300; font-display:swap;
  src:url('../fonts/jost-latin-300.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../fonts/jost-latin-400.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fonts/jost-latin-500.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:600; font-display:swap;
  src:url('../fonts/jost-latin-600.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../fonts/jost-latin-700.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:900; font-display:swap;
  src:url('../fonts/jost-latin-900.woff2') format('woff2');
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:300; font-display:swap;
  src:url('../fonts/jost-cyrillic-300.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:400; font-display:swap;
  src:url('../fonts/jost-cyrillic-400.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:500; font-display:swap;
  src:url('../fonts/jost-cyrillic-500.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:600; font-display:swap;
  src:url('../fonts/jost-cyrillic-600.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:700; font-display:swap;
  src:url('../fonts/jost-cyrillic-700.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }
@font-face { font-family:'Jost'; font-style:normal; font-weight:900; font-display:swap;
  src:url('../fonts/jost-cyrillic-900.woff2') format('woff2'); unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116; }

/* ---------- Design tokens ---------- */
:root {
  --wine-900:#4A1B28; --wine-700:#6C2A3C; --wine-500:#8A4054; --wine-100:#EBDCE1;
  --petrol-900:#1E3B47; --petrol-700:#2E5565; --petrol-500:#4A7484; --petrol-100:#DCE6EA;
  --cream:#F8F1E7; --cream-2:#F1EADF; --gold:#C8AB7E; --gold-dark:#A8895C; --cocoa:#3A2A22;
  --ink:#353535; --ink-soft:#595959; --gray:#959595; --line:#E2E2E2;
  --surface:#FFFFFF; --bg-soft:#F1F1F1; --black:#000; --white:#fff;
  --link:#FFAA0D; --link-hover:#EA510C;
  --font-sans:'Jost',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;
  --fs-display:64px; --fs-h1:40px; --fs-h2:30px; --fs-h3:22px; --fs-h4:18px; --fs-h5:16px;
  --fs-body-lg:20px; --fs-body:18px; --fs-body-sm:16px; --fs-caption:13px; --fs-label:11px;
  --space-2:8px; --space-3:12px; --space-4:16px; --space-5:20px; --space-6:24px;
  --space-8:32px; --space-10:40px; --space-12:48px; --space-16:64px; --space-20:80px; --space-24:96px;
  --radius-sm:6px; --radius-md:10px; --radius-lg:16px; --radius-xl:24px; --radius-pill:999px;
  --shadow-sm:0 1px 3px rgba(58,42,34,.10);
  --shadow-md:0 6px 20px rgba(58,42,34,.12);
  --shadow-lg:0 18px 48px rgba(58,42,34,.18);
  --shadow-wine:0 14px 40px rgba(108,42,60,.28);
  --container-max:1200px; --gutter:24px;
  --ease-standard:cubic-bezier(.4,0,.2,1); --ease-out:cubic-bezier(.16,1,.3,1);
  --dur-fast:140ms; --dur-base:240ms; --dur-slow:420ms;
}

/* ---------- Reset / base ---------- */
*,*::before,*::after { box-sizing:border-box; }
* { margin:0; padding:0; }
html { scroll-behavior:smooth; }
html,body { overflow-x:hidden; }
body {
  font-family:var(--font-sans); font-size:var(--fs-body); line-height:1.55;
  color:var(--ink); background:var(--cream);
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
img { max-width:100%; display:block; }
a { color:inherit; text-decoration:none; }
button { font-family:inherit; }

h1,h2,h3,h4,h5 { font-family:var(--font-sans); color:var(--ink); line-height:1.2; letter-spacing:1px; text-wrap:balance; }
h1 { font-size:var(--fs-h1); font-weight:900; line-height:1.2; }
h2 { font-size:var(--fs-h2); font-weight:900; }
h3 { font-size:var(--fs-h3); font-weight:700; }
p  { text-wrap:pretty; }

/* ---------- Layout helpers ---------- */
.container { width:100%; max-width:var(--container-max); margin:0 auto; padding:0 var(--gutter); }
.section { padding:44px 0; }
.section--wine { background:var(--wine-700); color:var(--cream); }
.section--cream2 { background:var(--cream-2); }
.section--pad { padding:40px 0; }

/* ---------- Section heading ---------- */
.section-head { display:flex; flex-direction:column; gap:12px; max-width:720px; }
.section-head.center { align-items:center; text-align:center; margin-inline:auto; }
.overline {
  font-size:var(--fs-label); font-weight:600; letter-spacing:2px;
  text-transform:uppercase; color:var(--gold-dark);
}
.section--wine .overline { color:var(--gold); }
.section-head h1,.section-head h2 { margin:0; font-weight:900; font-size:var(--fs-h2); letter-spacing:1px; line-height:1.2; color:var(--ink); }
.section--wine .section-head h1,.section--wine .section-head h2 { color:var(--cream); }
.section-head .rule { width:56px; height:2px; background:var(--gold); opacity:.85; }
.section-head .intro { margin:0; font-size:var(--fs-body); line-height:1.55; color:var(--ink-soft); }
.section--wine .section-head .intro { color:rgba(248,241,231,.85); }

/* ---------- Buttons ---------- */
.btn {
  display:inline-flex; align-items:center; justify-content:center; gap:10px;
  height:54px; min-width:145px; padding:0 30px; cursor:pointer;
  font-family:var(--font-sans); font-size:16px; font-weight:600; letter-spacing:2px; line-height:1;
  border:2px solid transparent; border-radius:var(--radius-md); box-sizing:border-box;
  transition:background var(--dur-base) var(--ease-standard),color var(--dur-base) var(--ease-standard),border-color var(--dur-base) var(--ease-standard);
}
.btn--sm { height:44px; font-size:14px; padding:0 20px; min-width:60px; }
.btn--lg { height:60px; font-size:18px; padding:0 40px; min-width:160px; }
.btn--block { width:100%; }
.btn--primary { background:var(--petrol-700); color:#fff; border-color:var(--petrol-700); }
.btn--primary:hover { background:var(--petrol-900); border-color:var(--petrol-900); }
.btn--wine { background:var(--wine-700); color:var(--cream); border-color:var(--wine-700); }
.btn--wine:hover { background:var(--wine-900); border-color:var(--wine-900); }
.btn--gold { background:var(--gold); color:var(--wine-700); border-color:var(--gold); }
.btn--gold:hover { background:var(--gold-dark); border-color:var(--gold-dark); }
.btn--outline { background:transparent; color:var(--petrol-700); border-color:var(--petrol-700); }
.btn--outline:hover { background:var(--petrol-700); color:#fff; }
.btn--on-wine { background:transparent; color:var(--cream); border-color:var(--cream); }
.btn--on-wine:hover { background:var(--cream); color:var(--wine-700); }

/* ---------- Badge ---------- */
.badge {
  display:inline-flex; align-items:center; gap:6px; padding:6px 14px;
  font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase;
  line-height:1; border-radius:var(--radius-pill); white-space:nowrap; border:1.5px solid transparent;
}
.badge--sm { padding:4px 10px; font-size:10px; }
.badge--wine { background:var(--wine-700); color:var(--cream); }
.badge--petrol { background:var(--petrol-700); color:#fff; }
.badge--gold { background:var(--gold); color:var(--wine-700); }
.badge--cream { background:var(--cream); color:var(--wine-700); }
.badge--outline { background:transparent; color:var(--wine-700); border-color:var(--wine-700); }

/* ---------- Card ---------- */
.card { border-radius:var(--radius-lg); padding:24px; border:1px solid transparent; }
.card--light { background:var(--surface); color:var(--ink); border-color:var(--line); box-shadow:var(--shadow-md); }
.card--cream { background:var(--cream); color:var(--ink); }
.card--wine { background:var(--wine-700); color:var(--cream); }
.card--petrol { background:var(--petrol-700); color:#fff; }

/* ---------- Product card ---------- */
.product-card {
  display:block; border-radius:var(--radius-md); overflow:hidden;
  background:var(--surface); box-shadow:var(--shadow-sm);
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out);
}
.product-card:hover { transform:translateY(-4px); box-shadow:var(--shadow-lg); }
.product-card__media { position:relative; aspect-ratio:1/1; overflow:hidden; background:var(--bg-soft); }
.product-card__media img { width:100%; height:100%; object-fit:cover; transition:transform var(--dur-slow) var(--ease-out); }
.product-card:hover .product-card__media img { transform:scale(1.05); }
.product-card__badge { position:absolute; top:12px; left:12px; }
.product-card__bar { padding:14px 18px; text-align:center; background:var(--petrol-700); color:#fff; }
.product-card__bar--wine { background:var(--wine-700); color:var(--cream); }
.product-card__bar--gold { background:var(--gold); color:var(--wine-700); }
.product-card__title { font-size:16px; font-weight:600; letter-spacing:.3px; line-height:1.3; }
.product-card__caption { font-size:12px; font-weight:400; opacity:.82; margin-top:4px; letter-spacing:.3px; }

.product-grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.product-grid.is-spaced { margin:28px 0 24px; }

/* ---------- Form fields ---------- */
.field { display:flex; flex-direction:column; gap:7px; }
.field label { font-size:11px; font-weight:600; letter-spacing:1.5px; text-transform:uppercase; color:var(--ink-soft); }
.field label .req { color:var(--wine-700); }
.field input,.field textarea {
  width:100%; box-sizing:border-box; font-family:var(--font-sans); font-size:16px; color:var(--ink);
  background:var(--surface); border:2px solid var(--ink); border-radius:var(--radius-md); outline:none;
  transition:border-color var(--dur-fast) var(--ease-standard);
}
.field input { min-height:54px; padding:0 18px; }
.field textarea { padding:14px 18px; line-height:1.5; resize:vertical; }
.field input:focus,.field textarea:focus { border-color:var(--petrol-700); }
.field select {
  width:100%; box-sizing:border-box; min-height:54px; padding:0 18px;
  font-family:var(--font-sans); font-size:16px; color:var(--ink);
  background:var(--surface); border:2px solid var(--ink); border-radius:var(--radius-md);
  outline:none; cursor:pointer; transition:border-color var(--dur-fast) var(--ease-standard);
}
.field select:focus { border-color:var(--petrol-700); }
.hp { position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ============================================================
   Contact page (rebuilt to match the live "Контакти" page)
   ============================================================ */
/* Petrol intro band: heading + vertical rule + intro */
.contact-band { background:var(--petrol-700); color:var(--cream); padding:34px 0; }
.contact-band__inner { display:flex; flex-direction:column; gap:16px; align-items:flex-start; }
.contact-band h1 { color:var(--cream); margin:0; font-size:30px; line-height:1.1; }
.contact-band__rule { display:none; }
.contact-band p { margin:0; color:rgba(248,241,231,.92); font-size:16px; line-height:1.5; max-width:560px; }
@media (min-width:900px) {
  .contact-band { padding:42px 0; }
  .contact-band__inner { flex-direction:row; align-items:center; gap:30px; }
  .contact-band h1 { flex:0 0 auto; max-width:44%; font-size:40px; }
  .contact-band__rule { display:block; align-self:stretch; width:2px; background:rgba(248,241,231,.45); }
}

/* Two-column: form left, contact info right */
.contact-grid { display:grid; grid-template-columns:1fr; gap:44px; }
@media (min-width:900px) { .contact-grid { grid-template-columns:1.15fr 1fr; gap:64px; } }
.contact-col h2 { font-size:26px; margin:0 0 16px; color:var(--ink); }
.form-lead { margin:0 0 22px; }
.form-lead strong { display:block; font-size:18px; font-weight:700; color:var(--ink); line-height:1.4; margin-bottom:8px; }
.form-lead span { color:var(--ink-soft); font-size:16px; line-height:1.5; }

/* Plain placeholder-only form */
.contact-form { display:flex; flex-direction:column; gap:16px; }
.contact-form input,.contact-form textarea,.contact-form select {
  width:100%; box-sizing:border-box; font-family:var(--font-sans); font-size:16px; color:var(--ink);
  background:var(--surface); border:1.5px solid #CDC6BB; border-radius:8px; outline:none;
  transition:border-color var(--dur-fast) var(--ease-standard);
}
.contact-form input,.contact-form select { height:52px; padding:0 16px; }
.contact-form select { cursor:pointer; }
.contact-form textarea { padding:14px 16px; line-height:1.5; resize:vertical; }
.contact-form input:focus,.contact-form textarea:focus,.contact-form select:focus { border-color:var(--petrol-700); }
.contact-form .btn { align-self:flex-start; margin-top:4px; }

/* Dark contact-info cards with circular outline icons */
.contact-info-lead { margin:0 0 24px; font-size:16px; line-height:1.55; color:var(--ink-soft); }
.contact-info-cards { display:flex; flex-direction:column; gap:20px; }
.contact-info-card {
  background:#141210; color:var(--cream); border-radius:12px; padding:34px 22px;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:20px; min-height:150px;
}
.contact-info-card__icon {
  width:56px; height:56px; border-radius:50%; border:2px solid rgba(248,241,231,.85);
  display:flex; align-items:center; justify-content:center; color:var(--cream); flex:none;
}
.contact-info-card__icon svg { width:24px; height:24px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.contact-info-card__text { font-size:18px; font-weight:500; line-height:1.5; }

/* Testimonials with large quote marks */
.testimonials { display:grid; grid-template-columns:1fr; gap:34px; margin-top:32px; }
@media (min-width:900px) { .testimonials { grid-template-columns:repeat(3,1fr); gap:40px; } }
.testimonial__mark { font-family:Georgia,'Times New Roman',serif; font-weight:700; font-size:60px; line-height:.8; color:var(--petrol-700); }
.testimonial__quote { margin:10px 0 0; font-size:15px; line-height:1.65; color:var(--ink-soft); }
.testimonial__author { margin-top:16px; font-size:14px; font-weight:600; color:var(--petrol-700); }

/* Google map */
.contact-map { line-height:0; }
.contact-map iframe { width:100%; height:420px; border:0; display:block; }

/* ============================================================
   About page (rebuilt to match the live "За нас" page)
   ============================================================ */
/* Ценности — centered text with a floated image (mirrors the live page) */
.values { max-width:920px; margin:28px auto 0; text-align:center; }
.values p { color:var(--ink-soft); line-height:1.7; margin:0 0 1.1em; font-size:16px; }
.values p strong { color:var(--ink); font-weight:600; }
.values__img { float:left; width:300px; max-width:42%; margin:4px 30px 16px 0; border-radius:var(--radius-lg); box-shadow:var(--shadow-md); }
.values::after { content:""; display:block; clear:both; }
@media (max-width:600px) { .values__img { float:none; width:100%; max-width:100%; margin:0 auto 20px; } }

.advantages { display:grid; grid-template-columns:1fr; gap:24px; margin-top:32px; }
@media (min-width:640px) { .advantages { grid-template-columns:1fr 1fr; } }
@media (min-width:900px) { .advantages { grid-template-columns:repeat(4,1fr); } }
.advantage { display:flex; gap:12px; align-items:flex-start; }
.advantage__check { width:28px; height:28px; border-radius:50%; border:2px solid var(--petrol-700); background:transparent; color:var(--petrol-700); display:flex; align-items:center; justify-content:center; flex:none; }
.advantage__check svg { width:15px; height:15px; fill:none; stroke:currentColor; stroke-width:3; stroke-linecap:round; stroke-linejoin:round; }
.advantage__text { font-size:15px; line-height:1.5; color:var(--ink); }

.cta-dark { background:#141210; color:var(--cream); }
.cta-dark .container { text-align:center; max-width:860px; }
.cta-dark p { color:rgba(248,241,231,.92); font-size:18px; line-height:1.6; margin:0 0 14px; }
.cta-dark p strong { color:var(--gold); font-weight:700; }
.cta-dark .cta-dark__note { font-size:16px; color:rgba(248,241,231,.8); }

/* ---------- Header ---------- */
.site-header {
  background:var(--wine-700); position:sticky; top:0; z-index:40;
  display:flex; align-items:center; justify-content:space-between;
  height:66px; padding:0 18px;
}
.site-header .logo { display:flex; align-items:center; color:var(--cream); }
.site-header .logo svg { height:30px; width:auto; }
.nav__desktop { display:none; }
.nav__toggle { background:none; border:none; cursor:pointer; padding:8px; display:flex; flex-direction:column; gap:5px; }
.nav__toggle span { width:24px; height:2.5px; background:var(--cream); border-radius:2px; }

.nav__scrim { position:fixed; inset:0; z-index:50; background:rgba(0,0,0,.5); opacity:0; pointer-events:none; transition:opacity .25s; }
.nav__drawer {
  position:fixed; top:0; right:0; bottom:0; width:78%; max-width:320px; z-index:60;
  background:var(--wine-900); color:var(--cream); transform:translateX(100%);
  transition:transform .28s var(--ease-out); display:flex; flex-direction:column;
  padding:22px 26px; box-shadow:-12px 0 40px rgba(0,0,0,.35);
}
body.nav-open .nav__scrim { opacity:1; pointer-events:auto; }
body.nav-open .nav__drawer { transform:translateX(0); }
.nav__drawer-top { display:flex; justify-content:space-between; align-items:center; margin-bottom:28px; }
.nav__drawer-top .logo svg { height:26px; width:auto; color:var(--cream); }
.nav__close { background:none; border:none; color:var(--cream); font-size:26px; cursor:pointer; line-height:1; }
.nav__links { display:flex; flex-direction:column; gap:2px; }
.nav__links a { padding:14px 0; font-size:18px; font-weight:500; color:var(--cream); border-bottom:1px solid rgba(248,241,231,.15); }
.nav__links a.is-active { color:var(--gold); }
.nav__drawer .btn { margin-top:24px; }
.nav__contact { margin-top:auto; font-size:14px; opacity:.85; line-height:1.7; }

/* ---------- Hero (home) ---------- */
.hero { position:relative; min-height:560px; display:flex; align-items:flex-end; overflow:hidden; background:var(--petrol-700); }
.hero__img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:42% 100%; }
.hero__scrim { position:absolute; inset:0; background:linear-gradient(180deg,rgba(30,59,71,.15) 0%,rgba(30,59,71,.35) 45%,rgba(30,59,71,.88) 100%); }
.hero__inner { position:relative; padding:0 24px 40px; max-width:var(--container-max); margin:0 auto; width:100%; }
.hero__eyebrow { font-size:13px; font-weight:600; letter-spacing:3px; color:#fff; text-transform:uppercase; }
.hero__title { font-size:54px; font-weight:900; letter-spacing:.5px; color:var(--cream); margin:6px 0 4px; line-height:1; }
.hero__tagline { font-size:22px; font-weight:700; color:var(--gold); margin-bottom:18px; }
.hero__text { font-size:17px; color:var(--cream); line-height:1.5; margin-bottom:22px; max-width:560px; }
.hero__cta { display:flex; flex-direction:column; gap:12px; }

/* ---------- Stats band ---------- */
.stats { display:grid; grid-template-columns:1fr 1fr; gap:26px; text-align:center; color:var(--cream); }
.stats__big { font-size:34px; font-weight:900; color:var(--gold); }
.stats__small { font-size:14px; opacity:.9; margin-top:4px; }

/* ---------- Filter chips (products) ---------- */
.filters { display:flex; gap:8px; margin-bottom:22px; overflow-x:auto; padding-bottom:4px; -webkit-overflow-scrolling:touch; flex-wrap:wrap; }
.filter-chip {
  flex:none; cursor:pointer; font-family:var(--font-sans); font-size:12px; font-weight:600;
  letter-spacing:1px; text-transform:uppercase; padding:9px 16px; border-radius:999px;
  border:2px solid var(--wine-700); background:transparent; color:var(--wine-700); transition:all .2s;
}
.filter-chip.is-active { background:var(--wine-700); color:var(--cream); }
.is-hidden { display:none !important; }

/* ---------- Seasonal promo + CTA cards ---------- */
.promo { margin-top:18px; }
.promo strong { font-size:16px; }
.promo p { opacity:.92; margin:6px 0 0; font-size:14px; line-height:1.5; }
.cta-card { text-align:center; }
.cta-card h3 { color:var(--cream); font-size:22px; margin:0; }
.cta-card p { color:rgba(248,241,231,.88); margin:10px 0 18px; font-size:15px; line-height:1.5; }

/* ---------- Seasonal group header ---------- */
.group-head { display:flex; justify-content:space-between; align-items:flex-start; gap:12px; margin-bottom:18px; }
.group-head .badge { flex:none; margin-top:4px; }

/* ---------- Contact info cards ---------- */
.info-stack { display:flex; flex-direction:column; gap:14px; }
.info-card__label { font-size:11px; font-weight:600; letter-spacing:2px; text-transform:uppercase; color:var(--gold-dark); }
.info-card__value { font-size:18px; font-weight:600; color:var(--wine-700); margin-top:6px; }

/* form banners */
.banner { border-radius:var(--radius-md); padding:14px 18px; font-size:15px; margin-bottom:18px; }
.banner--ok { background:var(--petrol-100); color:var(--petrol-900); border:1px solid var(--petrol-500); }
.banner--err { background:#F7E2DE; color:#7A2A1A; border:1px solid #C0392B; }

/* about page */
.lead-on-wine { font-size:18px; font-weight:500; color:var(--cream); line-height:1.5; margin-top:18px; max-width:720px; }
.about-photo { width:100%; border-radius:var(--radius-lg); box-shadow:var(--shadow-md); margin-bottom:24px; }
.about-body { font-size:17px; line-height:1.6; color:var(--ink-soft); margin-top:16px; max-width:720px; }
.adv-list { display:flex; flex-direction:column; gap:14px; margin-top:24px; }
.mt-28 { margin-top:28px; }

/* advantages list (about) */
.adv { display:flex; gap:16px; align-items:flex-start; }
.adv__num { font-size:26px; font-weight:900; color:var(--gold); line-height:1; flex:none; }
.adv__text { font-size:16px; line-height:1.45; color:var(--ink); }

/* contacts: form + info layout */
.contact-wrap { display:flex; flex-direction:column; gap:24px; }
.hours__title { font-size:16px; font-weight:600; }
.hours__time { font-size:15px; opacity:.9; margin-top:6px; }

/* ---------- Footer ---------- */
.site-footer { background:var(--wine-700); color:var(--cream); padding:40px 24px 32px; text-align:center; }
.site-footer .logo svg { height:44px; width:auto; margin:0 auto; color:var(--cream); }
.site-footer__links { display:flex; flex-direction:column; gap:12px; margin:26px 0; }
.site-footer__links a { color:rgba(248,241,231,.88); font-size:16px; }
.site-footer__social { display:flex; gap:14px; justify-content:center; margin-bottom:26px; }
.site-footer__social a { width:40px; height:40px; border-radius:50%; border:1.5px solid rgba(255,255,255,.6); display:inline-flex; align-items:center; justify-content:center; color:#fff; }
.site-footer__social svg { width:18px; height:18px; fill:currentColor; }
.site-footer__meta { border-top:1px solid rgba(255,255,255,.22); padding-top:22px; font-size:15px; line-height:1.9; color:rgba(248,241,231,.92); }

.flow > * + * { margin-top:1em; }

/* ============================================================
   Responsive — scale the mobile-first design up
   ============================================================ */
@media (min-width:640px) {
  .product-grid { grid-template-columns:repeat(3,1fr); gap:18px; }
  .hero__cta { flex-direction:row; }
  .hero__cta .btn { min-width:200px; }
  .stats { grid-template-columns:repeat(4,1fr); }
}
@media (min-width:900px) {
  :root { --fs-h2:36px; }
  .section { padding:64px 0; }
  .hero { min-height:640px; }
  .hero__title { font-size:72px; }
  .product-grid { grid-template-columns:repeat(4,1fr); }
  .testimonials { grid-template-columns:repeat(3,1fr); }
  .nav__toggle { display:none; }
  .nav__desktop { display:flex; align-items:center; gap:28px; }
  .nav__desktop a { font-size:15px; font-weight:500; color:var(--cream); letter-spacing:.5px; }
  .nav__desktop a:hover,.nav__desktop a.is-active { color:var(--gold); }
  .nav__desktop .btn { height:44px; min-width:auto; }
  .site-header { padding:0 var(--gutter); }
  .site-footer__links { flex-direction:row; justify-content:center; gap:28px; }
  .contact-wrap { flex-direction:row; align-items:flex-start; }
  .contact-wrap > .card { flex:1.4; }
  .contact-wrap > .info-stack { flex:1; }
  .nav__drawer,.nav__scrim { display:none; }
}
