/* Hallmark · Алтън Тетевен прототип v1 · theme: custom (brand-locked) · genre: editorial/luxury · signature: № на ръка
   critique: едно действие на екран; злато само на действието и ръкописа; предметът носи страницата
   waive 67: главни разредени етикети, бутони, навигация — изрично решение на клиента (BRIEF.md: „етикети с главни и разредени букви“)
   waive 7b: чисто #000 за фона — изрично решение на клиента (BRIEF.md: „черен (#000)“)
   waive 62: подменюто „Магазин“ се отваря и без скрипт (:hover, :focus-within); връзките са и във footer-а
   waive 24b: 6/10/22px вътрешни отстояния в малки контроли — оптическо изравняване, не ритъм на страницата
   Стилове на публичния сайт. НЕ ползва Porto Admin, Bootstrap или нещо от /vendor.
   Цветове и шрифтове — само през tokens.css. */

/* ---------- Основа ---------- */
*, *::before, *::after { box-sizing: border-box; }
html, body { overflow-x: clip; }
html { -webkit-text-size-adjust: 100%; scroll-behavior: smooth; scroll-padding-top: 88px; color-scheme: dark; }
a, button, input, label, summary { touch-action: manipulation; -webkit-tap-highlight-color: transparent; }
.btn.is-busy { opacity: 0.75; cursor: progress; }
body {
  margin: 0; background: var(--night); color: var(--cream);
  font-family: var(--font-text); font-size: var(--fs-body); line-height: var(--lh-text); font-weight: 400;
  -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility;
}
img, svg, video { display: block; max-width: 100%; height: auto; }
picture { display: contents; }
a { color: inherit; text-decoration-thickness: 1px; text-underline-offset: 0.22em; }
button, input, select, textarea { font: inherit; color: inherit; }
button { cursor: pointer; }
:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
::selection { background: var(--gold); color: var(--on-gold); }
p { margin: 0; text-wrap: pretty; }
ul, ol { margin: 0; padding: 0; list-style: none; }

h1, h2 {
  font-family: var(--font-display); font-weight: 400; line-height: var(--lh-display);
  letter-spacing: 0.005em; margin: 0;
  overflow-wrap: break-word; min-width: 0; text-wrap: balance;
}
h1 { font-size: var(--fs-h1); text-transform: lowercase; }	/* визията е с малки букви; в HTML заглавието е с нормални главни (за търсачките и AI) */
h2 { font-size: var(--fs-h2); }
h3 { font-family: var(--font-text); font-size: var(--fs-h3); font-weight: 600; line-height: 1.3; margin: 0; letter-spacing: 0.01em; }

.label { font-family: var(--font-text); font-size: var(--fs-label); font-weight: 600; text-transform: uppercase; letter-spacing: var(--track-label); line-height: 1.4; }
.hand { font-family: var(--font-hand); font-weight: 400; color: var(--gold); line-height: 1; font-size: var(--fs-hand); }
.lead { font-size: var(--fs-lead); color: var(--cream-2); max-width: 40ch; }
.muted { color: var(--cream-3); }
.price { font-family: var(--font-text); font-weight: 600; font-size: var(--fs-price); line-height: 1; font-variant-numeric: tabular-nums; letter-spacing: -0.01em; }
.price small { font-size: 0.42em; font-weight: 500; color: var(--cream-3); letter-spacing: 0; margin-left: 0.5em; }
.sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; }
.skip { position: absolute; left: var(--edge-l); top: -60px; z-index: 100; background: var(--gold); color: var(--on-gold); padding: 10px 16px; border-radius: var(--r-pill); }
.skip:focus { top: 12px; }

/* Предложение, което чака клиента — видим маркер в прототипа */
.proposal { position: relative; }
.proposal-tag {
  display: inline-flex; align-items: center; gap: 6px; padding: 3px 10px; border-radius: var(--r-pill);
  background: var(--gold); color: var(--on-gold); font-size: 13px; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; vertical-align: middle;
}
.tbd { color: var(--gold); font-weight: 500; }  /* [скоби] — липсващ факт */

.wrap { width: 100%; max-width: calc(var(--container) + var(--edge-l) + var(--edge-r)); margin-inline: auto; padding-inline: var(--edge-l) var(--edge-r); }
.narrow { max-width: calc(var(--narrow) + var(--edge-l) + var(--edge-r)); }
.section { padding-block: var(--section) 0; position: relative; }
.section:last-of-type { padding-bottom: var(--section); }

/* ---------- Бутони: хапче. Злато = действието, контур = второто ---------- */
.btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 12px;
  min-height: var(--btn-h); padding: 0 28px; border-radius: var(--r-pill); border: 1px solid transparent;
  font-family: var(--font-text); font-size: 14px; font-weight: 700; text-transform: uppercase; letter-spacing: 0.14em;
  text-decoration: none; white-space: nowrap; cursor: pointer; user-select: none;
  transition: background-color var(--d-ui) var(--ease-out), color var(--d-ui) var(--ease-out), border-color var(--d-ui) var(--ease-out), transform var(--d-press) var(--ease-out);
}
.btn:active { transform: scale(0.97); }
.btn[disabled], .btn[aria-disabled="true"] { opacity: 0.45; cursor: not-allowed; transform: none; }
.btn--buy { background: var(--gold); color: var(--on-gold); }
.btn--buy:hover { background: var(--gold-hover); }
.btn--line { border-width: 1.5px; border-color: var(--edge-strong); color: var(--cream); background: transparent; }
.btn--line:hover { background: var(--cream); color: var(--night); border-color: var(--cream); }
.btn--sm { min-height: var(--btn-h-sm); padding: 0 20px; font-size: 13px; }
.btn--block { width: 100%; }
.btn .amount { font-variant-numeric: tabular-nums; letter-spacing: 0.04em; }
.btn.is-added { background: var(--cream); color: var(--night); }

.link {
  display: inline-flex; align-items: center; gap: 10px; min-height: var(--tap);
  font-size: var(--fs-label); font-weight: 600; text-transform: uppercase; letter-spacing: var(--track-label);
  text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 1px; text-underline-offset: 0.5em; color: var(--cream);
  transition: color var(--d-ui) var(--ease-out);
}
.link:hover { color: var(--gold); }

.chip {
  display: inline-flex; align-items: center; min-height: 44px; padding: 0 18px; border-radius: var(--r-pill);
  border: 1px solid var(--edge-strong); background: transparent; color: var(--cream);
  font-size: var(--fs-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; text-decoration: none; white-space: nowrap;
  transition: background-color var(--d-ui) var(--ease-out), color var(--d-ui) var(--ease-out), border-color var(--d-ui) var(--ease-out);
}
.chip:hover { border-color: var(--cream); }
.chip[aria-pressed="true"], .chip[aria-current="true"] { background: var(--cream); color: var(--night); border-color: var(--cream); }

/* ---------- Шевицата по левия ръб ---------- */
.shevitsa {
  position: absolute; top: 0; bottom: 0; left: clamp(8px, 2.6vw, 48px); width: clamp(90px, 9vw, 150px);
  background: url('../brand/shevitsa-tile-dark.svg') repeat-y top center / 100% auto;
  pointer-events: none; z-index: 0;
}
.page { position: relative; }
.page > *:not(.shevitsa) { position: relative; z-index: 1; }

/* ---------- Header: един ред, лого в центъра, златна линия ---------- */
.site-header { position: sticky; top: 0; z-index: 40; background: var(--night); transition: transform var(--d-ui) var(--ease-out); }
.site-header.is-hidden { transform: translateY(-100%); }
.site-header__row {
  display: grid; grid-template-columns: auto minmax(0, 1fr) auto minmax(0, 1fr) auto; align-items: center; column-gap: clamp(20px, 3vw, 48px);
  min-height: var(--header-h); padding-block: 0;
}
.site-header::after {
  content: ''; position: absolute; left: var(--gutter); right: var(--gutter); bottom: 0; height: 1px; /* taste-skill-ignore: златната линия под header-а е решение от мокъпа (BRIEF.md) */
  background: var(--gold); opacity: 0.55;
}
.nav { display: flex; gap: clamp(20px, 2.4vw, 40px); }
.nav--left { justify-content: flex-end; }
.nav a, .lang a {
  font-size: var(--fs-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.15em; text-decoration: none; white-space: nowrap;
  min-height: var(--tap); display: inline-flex; align-items: center; color: var(--cream);
  transition: color var(--d-ui) var(--ease-out);
}
.nav a:hover, .nav a[aria-current="page"] { color: var(--gold); }
.lang { display: flex; align-items: center; gap: 8px; color: var(--cream-3); }
.lang a[aria-current="true"] { color: var(--cream); }
.brand { display: block; justify-self: center; }
.brand img { width: clamp(104px, 9vw, 132px); height: auto; }
.icon-btn {
  position: relative; display: inline-flex; align-items: center; justify-content: center; width: var(--tap); height: var(--tap);
  border-radius: 50%; border: 1px solid var(--edge-strong); background: transparent; color: var(--cream); padding: 0;
  transition: border-color var(--d-ui) var(--ease-out), background-color var(--d-ui) var(--ease-out), transform var(--d-press) var(--ease-out);
}
.icon-btn:hover { border-color: var(--cream); }
.icon-btn:active { transform: scale(0.94); }
.cart-count {
  position: absolute; right: -4px; top: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px;
  background: var(--gold); color: var(--on-gold); font-size: 12px; font-weight: 700; display: grid; place-items: center; font-variant-numeric: tabular-nums;
}
.cart-count[data-n="0"] { display: none; }
.cart-count.bump { animation: bump 420ms var(--ease-out); }
@keyframes bump { 40% { transform: scale(1.35); } }
.burger { display: none; }

/* ---------- Hero: слайдер (по подразбиране) ---------- */
.hero { position: relative; overflow: hidden; }
.hero-slider { min-height: min(900px, calc(100svh - var(--header-h))); display: grid; }
.hero-slider__intro {
  position: absolute; z-index: 4; left: 0; right: 0; top: clamp(28px, 4vh, 48px); pointer-events: none;
}
.hero-slider__intro .wrap { display: flex; justify-content: space-between; align-items: flex-start; gap: var(--s-4); }
.hero-slider__intro h1 { font-size: var(--fs-h1-hero); line-height: 1; max-width: 16ch; pointer-events: auto; }
.hero-slider__intro p { max-width: 30ch; font-size: var(--fs-small); color: var(--cream-2); text-align: right; pointer-events: auto; }

.slides { position: relative; display: grid; }
.slide {
  grid-area: 1 / 1; position: relative; display: grid;
  min-height: min(900px, calc(100svh - var(--header-h))); padding-top: clamp(120px, 15vh, 170px); padding-bottom: clamp(36px, 6vh, 72px);
}
.js .slide { opacity: 0; visibility: hidden; transition: opacity var(--d-slide) var(--ease-io), visibility 0s linear var(--d-slide); }
.no-js .slide:not(:first-child) { display: none; }
.slide__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); align-items: end; height: 100%; }
.js .slide.is-active { opacity: 1; visibility: visible; transition: opacity var(--d-slide) var(--ease-io), visibility 0s; }
.slide__name {
  position: absolute; z-index: 1; left: calc(var(--gutter) + (100% - 2 * var(--gutter)) * 0.705); bottom: clamp(110px, 19vh, 190px); transform: translateX(-50%);
  font-size: var(--fs-giant); line-height: 0.8; white-space: nowrap; color: var(--cream); pointer-events: none;
}
@media (min-width: 1360px) { .slide__name { left: calc(50% + var(--container) * 0.205); } }
.slide__name--long { font-size: calc(var(--fs-giant) * 0.74); }
.slide__info { position: relative; z-index: 3; display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); align-content: end; padding-bottom: clamp(60px, 9vh, 96px); }
.slide__info .label { color: var(--gold); }
.slide__info .text { max-width: 36ch; color: var(--cream-2); font-size: var(--fs-small); }
.slide__info .text strong { color: var(--gold); font-weight: 600; }
.slide__buy { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); }
.slide__stage { position: relative; z-index: 2; height: 100%; display: grid; place-items: end center; }
.slide__stage::before {
  content: ''; position: absolute; inset: 8% 6% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
  z-index: -1;
}
.slide__img {
  height: min(78svh, 760px); width: auto; max-width: none; margin-bottom: calc(-1 * clamp(36px, 6vh, 72px));
  filter: drop-shadow(0 50px 50px var(--object-shadow)); /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
  transform: translateY(24px) scale(0.985); transition: transform calc(var(--d-slide) * 1.4) var(--ease-out);
}
.slide.is-active .slide__img { transform: none; }
.slide__img--box { height: min(66svh, 640px); }
.slide__img--wide { height: auto; width: min(44vw, 620px); }
.slide__note { position: absolute; z-index: 3; right: 6%; top: 18%; transform: rotate(-7deg); text-align: center; }
.slide__note .no { display: block; font-size: 0.9em; margin-top: 6px; color: var(--cream-2); }

.slider-ui {
  position: absolute; z-index: 5; left: 0; right: 0; bottom: clamp(20px, 3.4vh, 36px);
}
.slider-ui .wrap { display: flex; justify-content: space-between; align-items: center; gap: var(--s-3); }
.slide-names { display: flex; flex-wrap: wrap; gap: 4px 22px; }
.slide-names button {
  background: none; border: 0; padding: 0; min-height: var(--tap); color: var(--cream-3);
  font-size: var(--fs-label); font-weight: 600; text-transform: uppercase; letter-spacing: 0.12em; position: relative;
  transition: color var(--d-ui) var(--ease-out);
}
.slide-names button::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 8px; height: 2px; background: var(--gold);
  transform: scaleX(0); transform-origin: left; transition: transform var(--d-ui) var(--ease-out);
}
.slide-names button:hover { color: var(--cream); }
.slide-names button[aria-selected="true"] { color: var(--cream); }
.slide-names button[aria-selected="true"]::after { transform: scaleX(1); }
.slider-ctrl { display: flex; gap: 10px; }

/* Hero: бутилката пред името */
.hero-bottle { text-align: center; padding: clamp(40px, 7vh, 96px) 0 var(--s-6); }
.hero-bottle__title { font-family: var(--font-display); font-size: clamp(80px, 19vw, 300px); line-height: 0.8; }
.hero-bottle__img { height: min(82svh, 780px); width: auto; margin: calc(-1 * clamp(70px, 14vw, 230px)) auto 0; position: relative; z-index: 2; filter: drop-shadow(0 60px 60px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
.hero-bottle__note { position: absolute; z-index: 3; left: calc(50% + clamp(90px, 12vw, 180px)); top: 54%; transform: rotate(-6deg); }
.hero-bottle p.lead { margin: var(--s-4) auto 0; text-align: center; }
.hero-bottle .actions { display: flex; justify-content: center; gap: var(--s-2); flex-wrap: wrap; margin-top: var(--s-3); }

/* Hero: видео банер */
.hero-video { position: relative; min-height: min(860px, calc(100svh - var(--header-h))); display: grid; align-items: end; }
.hero-video__media { position: absolute; inset: 0; }
.hero-video__media img, .hero-video__media video { width: 100%; height: 100%; object-fit: cover; }
.hero-video::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 35%, var(--scrim) 100%); /* taste-skill-ignore: неутрален scrim под текст върху снимка */ }
.hero-video__body { position: relative; z-index: 2; padding-bottom: var(--s-7); text-align: center; }
.hero-video__title { font-family: var(--font-display); font-size: clamp(64px, 11vw, 170px); line-height: 0.86; }
.hero-video__body .actions { display: flex; justify-content: center; gap: var(--s-2); flex-wrap: wrap; margin-top: var(--s-4); }
.hero-video__tbd { position: absolute; z-index: 2; left: var(--edge-l); top: var(--s-4); }
.hero-video__pause { position: absolute; z-index: 3; right: var(--edge-r); bottom: var(--s-4); }

/* ---------- Нашите ракии: три равни бутилки ---------- */
.section-head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-4) var(--s-6); align-items: end; }
.section-head p { color: var(--cream-2); max-width: 42ch; justify-self: end; }
.lineup { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(16px, 3vw, 48px); margin-top: var(--s-7); }
.bottle-card { display: grid; justify-items: center; text-align: center; gap: var(--s-2); position: relative; }
.bottle-card__stage { --h: clamp(380px, 42vw, 600px); position: relative; width: 100%; height: var(--h); display: grid; place-items: end center; text-decoration: none; }
.bottle-card__stage::before {
  content: ''; position: absolute; inset: 14% 4% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
  opacity: 0; transition: opacity var(--d-reveal) var(--ease-out);
}
.bottle-card__stage img { height: var(--h); width: auto; max-width: none; filter: drop-shadow(0 40px 40px var(--object-shadow)); transition: transform 500ms var(--ease-out); } /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
.bottle-card:hover .bottle-card__stage img, .bottle-card:focus-within .bottle-card__stage img { transform: translateY(-14px); }
.bottle-card:hover .bottle-card__stage::before, .bottle-card:focus-within .bottle-card__stage::before { opacity: 1; }
.bottle-card__no { position: absolute; left: calc(50% + clamp(64px, 6vw, 96px)); top: 34%; transform: rotate(-8deg); font-size: clamp(26px, 2.2vw, 34px); }
.bottle-card h3 { font-size: clamp(22px, 2vw, 28px); text-transform: uppercase; letter-spacing: 0.12em; margin-top: var(--s-3); }
.bottle-card h3 a { text-decoration: none; }
.bottle-card h3 a::after { content: ''; position: absolute; inset: 0 0 120px; }   /* цялата бутилка води към продукта */
.bottle-card p { color: var(--cream-3); font-size: var(--fs-small); max-width: 30ch; }
.bottle-card .btn { position: relative; z-index: 2; margin-top: var(--s-1); }

/* ---------- Детайлите: един кадър, три дистанции (скрол сцена) ---------- */
.details { position: relative; }
.details__grid { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s-7); }
.details__steps { display: grid; }
.details__intro { padding-top: var(--s-4); min-height: 60svh; }
.details__intro .lead { margin-top: var(--s-4); }
.details__intro .actions { display: flex; gap: var(--s-2); flex-wrap: wrap; margin-top: var(--s-5); align-items: center; }
.detail-step { min-height: 62svh; display: grid; align-content: center; gap: var(--s-2); max-width: 36ch; }
.detail-step:last-child { min-height: 70svh; }
.detail-step .hand { font-size: clamp(40px, 4vw, 60px); }
.detail-step p { color: var(--cream-2); }
.details__stage { position: sticky; top: calc(var(--header-h) + 24px); height: calc(100svh - var(--header-h) - 48px); max-height: 860px; display: grid; place-items: center; }
.frame { position: relative; width: min(100%, 580px); aspect-ratio: 4 / 5; overflow: hidden; background: var(--night-1); }
.frame::before { content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 28%; background: var(--gold); opacity: 0.92; }
.frame img {
  position: absolute; left: 50%; top: 50%; height: 100%; width: auto; max-width: none;
  transform: translate(-50%, -50%) rotate(-12deg) scale(1.04);
  transition: transform 1100ms var(--ease-io); filter: drop-shadow(-24px 34px 40px var(--object-shadow)); /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
}
.frame[data-stage="1"] img { transform: translate(-50%, -50%) rotate(0deg) scale(2.1) translate(20%, -2%); }   /* шевицата */
.frame[data-stage="2"] img { transform: translate(-50%, -50%) rotate(0deg) scale(2.3) translate(-6%, -14%); }   /* етикетът и номерът */
.frame[data-stage="3"] img { transform: translate(-50%, -50%) rotate(0deg) scale(2.6) translate(0%, 42%); }    /* дървената тапа */
.details__stage { grid-template-rows: auto auto; align-content: center; gap: var(--s-3); }
.frame__caption { font-size: clamp(28px, 2.4vw, 38px); transform: rotate(-4deg); min-height: 1.2em; text-align: center; }

/* ---------- Подаръци ---------- */
.gifts-head { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-5); align-items: end; }
.gifts-head p { color: var(--cream-2); max-width: 40ch; }
.occasions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--s-5); }
.gift-grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: var(--s-3); margin-top: var(--s-4); }
.dispenser-card {
  position: relative; overflow: hidden; min-height: clamp(560px, 62vw, 820px); padding: clamp(24px, 3vw, 40px);
  background: var(--night-1); display: grid; align-content: end; isolation: isolate;
}
.dispenser-card::before { content: ''; position: absolute; inset: 0 0 30%; background: radial-gradient(70% 60% at 50% 45%, var(--wood-glow), transparent 70%); z-index: -1; } /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
.dispenser-card__img { position: absolute; left: 50%; top: 6%; width: 88%; transform: translateX(-50%); z-index: -1; filter: drop-shadow(0 40px 40px var(--object-shadow)); transition: transform 900ms var(--ease-out); } /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
.dispenser-card:hover .dispenser-card__img { transform: translateX(-50%) scale(1.025); }
.dispenser-card .hand { position: absolute; right: clamp(20px, 3vw, 40px); top: clamp(24px, 4vw, 56px); transform: rotate(-7deg); }
.dispenser-card .label { color: var(--gold); }
.dispenser-card h3 { font-size: clamp(30px, 3.4vw, 48px); text-transform: uppercase; letter-spacing: 0.06em; line-height: 1.05; margin-top: var(--s-1); }
.dispenser-card p { color: var(--cream-2); max-width: 38ch; margin-top: var(--s-2); }
.dispenser-card .buy-row { display: flex; align-items: center; gap: var(--s-3); flex-wrap: wrap; margin-top: var(--s-3); }
.box-list { display: grid; gap: var(--s-3); grid-template-rows: repeat(3, minmax(0, 1fr)); }
.box-row {
  display: grid; grid-template-columns: clamp(110px, 11vw, 150px) minmax(0, 1fr); gap: var(--s-3); align-items: center;
  padding: var(--s-3); background: var(--night-1); text-decoration: none; position: relative; overflow: hidden;
  transition: background-color var(--d-ui) var(--ease-out);
}
.box-row:hover { background: var(--night-2); }
.box-row img { height: clamp(170px, 16vw, 220px); width: auto; justify-self: center; transition: transform 700ms var(--ease-out); }
.box-row:hover img { transform: translateY(-6px) rotate(-2deg); }
.box-row .label { color: var(--gold); }
.box-row h3 { font-size: clamp(18px, 1.6vw, 22px); text-transform: uppercase; letter-spacing: 0.08em; margin: 6px 0; }
.box-row .row-foot { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); margin-top: var(--s-2); flex-wrap: wrap; }
.box-row .row-foot .price { font-size: 22px; }
.box-row h3 a { text-decoration: none; }
.box-row h3 a::after { content: ''; position: absolute; inset: 0; }
.box-row .btn { position: relative; z-index: 2; }
.perks { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-2) var(--s-5); margin-top: var(--s-5); color: var(--cream-2); }
.perks li { display: flex; align-items: center; gap: 12px; }
.perks li::before { content: ''; width: 8px; height: 8px; background: var(--gold); transform: rotate(45deg); flex: none; }
.corp { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); margin-top: var(--section); }
.corp__img { min-height: 440px; background: var(--paper); overflow: hidden; position: relative; }
.corp__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 70%; }
.corp__body { padding: clamp(28px, 4vw, 64px); display: grid; align-content: center; gap: var(--s-2); }
.corp__body h3 { font-size: clamp(28px, 3vw, 44px); text-transform: uppercase; letter-spacing: 0.05em; line-height: 1.05; }
.corp__body p { color: var(--cream-2); max-width: 44ch; }

/* ---------- Реколти ---------- */
.harvests { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); margin-top: var(--s-6); }
.harvest { position: relative; padding: clamp(28px, 3.4vw, 48px) 0 0; border-top: 1px solid var(--edge); }
.harvest--current { border-top-color: var(--gold); }
.harvest .hand { font-size: clamp(54px, 5.6vw, 84px); }
.harvest--past .hand { color: var(--cream-3); }
.harvest table { width: 100%; border-collapse: collapse; margin-top: var(--s-4); font-variant-numeric: tabular-nums; }
.harvest th, .harvest td { text-align: left; padding: 14px 0; border-bottom: 1px solid var(--edge); font-size: var(--fs-small); }
.harvest th { font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; font-size: var(--fs-label); }
.harvest td { text-align: right; color: var(--cream-2); }
.harvest--past th, .harvest--past td { color: var(--cream-3); }
.stamp {
  position: absolute; right: clamp(20px, 3vw, 40px); top: clamp(24px, 3vw, 40px); padding: 6px 14px; border: 2px solid var(--cream-3);
  color: var(--cream-3); font-size: 15px; font-weight: 700; letter-spacing: 0.16em; text-transform: uppercase; transform: rotate(8deg);
}
.harvest .actions { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-4); }
.statement { font-size: clamp(22px, 2.3vw, 34px); line-height: 1.3; font-weight: 500; max-width: 26ch; margin: var(--s-7) auto 0; text-align: center; text-wrap: balance; }
.statement .hand { font-size: 1.4em; display: inline-block; transform: rotate(-3deg); }

/* ---------- Тетевен: колаж + филм ---------- */
.collage { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); grid-template-rows: auto auto auto; gap: var(--s-3); margin-top: var(--s-6); align-items: start; }
.collage__main { grid-column: 2 / 10; grid-row: 1 / 3; }
.collage__main img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.collage__side { grid-column: 10 / 13; grid-row: 1; margin-top: -40px; }
.collage__side img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.collage__slot { grid-column: 1 / 4; grid-row: 3; margin-top: var(--s-3); }
.collage__text { grid-column: 5 / 13; grid-row: 3; padding-top: var(--s-4); display: grid; gap: var(--s-3); }
.collage__text p { color: var(--cream-2); max-width: 52ch; }
figure { margin: 0; }
figcaption { font-size: 13px; color: var(--cream-3); margin-top: 10px; }
.slot {
  display: grid; place-items: end start; text-align: left; padding: var(--s-2) var(--s-3); color: var(--on-photo);
  font-size: 13px; aspect-ratio: 4 / 3; background: var(--night-1) url('../img/placeholder-ridges-700.webp') center / cover;
  background-blend-mode: luminosity; box-shadow: inset 0 0 0 100vmax rgba(0, 0, 0, 0.45); /* taste-skill-ignore: приглушава временната снимка */
}
.film { position: relative; margin-top: var(--s-7); aspect-ratio: 16 / 9; overflow: hidden; background: var(--night-1); }
.film img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.15) brightness(0.55); transition: transform 1600ms var(--ease-out); }
.film__play {
  position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 96px; height: 96px; border-radius: 50%;
  border: 1px solid var(--cream); background: var(--scrim); color: var(--cream); display: grid; place-items: center;
  transition: background-color var(--d-ui) var(--ease-out), transform var(--d-press) var(--ease-out);
}
.film__play:hover { background: var(--gold); color: var(--on-gold); border-color: var(--gold); }
.film__play:active { transform: translate(-50%, -50%) scale(0.95); }
.film figcaption { position: absolute; left: var(--s-3); bottom: var(--s-3); margin: 0; color: var(--cream-2); }

/* ---------- Бюлетин с печат ---------- */
.newsletter { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-5); align-items: center; max-width: 820px; margin-inline: auto; }
.seal {
  width: 168px; height: 168px; border-radius: 50%; border: 2px solid var(--cream); display: grid; place-content: center; text-align: center; gap: 2px;
  transform: rotate(-8deg);
}
.seal::before, .seal::after { font-size: 13px; font-weight: 600; letter-spacing: 0.2em; text-transform: uppercase; }
.seal::before { content: 'реколта'; }
.seal::after { content: 'тетевен'; }
.seal .hand { font-size: 56px; }
.newsletter h2 { font-size: clamp(36px, 3.6vw, 56px); }
.newsletter p { color: var(--cream-2); margin-top: var(--s-2); max-width: 46ch; }
.inline-form { display: flex; gap: 10px; flex-wrap: wrap; margin-top: var(--s-3); }
.inline-form input { flex: 1 1 240px; }

/* ---------- Процесът ---------- */
.process { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--s-4) var(--s-3); margin-top: var(--s-6); counter-reset: step; }
.process li { display: grid; align-content: start; gap: 10px; }
.process .hand { font-size: 52px; }
.process h3 { font-size: var(--fs-label); text-transform: uppercase; letter-spacing: var(--track-label); }
.process p { color: var(--cream-2); font-size: var(--fs-small); }

/* ---------- Вазов ---------- */
.quote { position: relative; aspect-ratio: 16 / 9; overflow: hidden; margin-top: var(--s-2); }
.quote > img, .quote > picture > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) brightness(0.4); }
.quote__frame { position: absolute; inset: clamp(28px, 6vw, 80px) clamp(20px, 8vw, 110px); overflow: hidden; }
.quote__frame img { width: 100%; height: 100%; object-fit: cover; filter: sepia(0.3) brightness(0.42); transform: scale(1.06); transition: transform 2400ms var(--ease-out); }
.quote blockquote { position: absolute; inset: clamp(28px, 6vw, 80px) clamp(20px, 8vw, 110px); margin: 0; display: grid; align-content: center; gap: var(--s-3); padding: 0 clamp(20px, 6%, 80px); }
.quote blockquote p { font-size: clamp(20px, 2.4vw, 34px); line-height: 1.3; font-weight: 500; max-width: 34ch; text-wrap: balance; }
.quote blockquote footer { font-size: clamp(30px, 3vw, 44px); }

/* ---------- Къде да купя ---------- */
.find { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-6); align-items: start; }
.find ul { display: grid; gap: 4px; }
.find li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-2); padding: 20px 0; border-bottom: 1px solid var(--edge); }
.find li span:last-child { color: var(--cream-3); }

/* ---------- Въпроси ---------- */
.faq { margin-top: var(--s-5); display: grid; gap: 4px; }
.faq details { padding: 0; border-bottom: 1px solid var(--edge); }
.faq summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; gap: var(--s-3); align-items: center;
  padding: 22px 0; font-weight: 600; font-size: clamp(16px, 1.3vw, 19px); min-height: var(--tap);
}
.faq summary::-webkit-details-marker { display: none; }
.faq summary::after { content: '+'; color: var(--gold); font-size: 26px; font-weight: 400; line-height: 1; transition: transform var(--d-ui) var(--ease-out); }
.faq details[open] summary::after { transform: rotate(45deg); }
.faq details p { padding: 0 0 24px; color: var(--cream-2); max-width: 64ch; }

/* ---------- Footer: тъмносиво, името се връща ---------- */
.site-footer { background: var(--cellar); position: relative; z-index: 1; }
.site-footer__top { display: grid; grid-template-columns: minmax(0, 1.2fr) repeat(3, minmax(0, 1fr)); gap: var(--s-5); padding-block: var(--s-7) var(--s-6); }
.site-footer__brand img { width: 168px; }
.site-footer__brand p { color: var(--cream-2); margin-top: var(--s-3); max-width: 30ch; font-size: var(--fs-small); }
.site-footer nav, .site-footer address { display: grid; gap: 10px; align-content: start; font-style: normal; font-size: var(--fs-small); }
.site-footer nav .label, .site-footer address .label { margin-bottom: 6px; color: var(--cream); }
.site-footer a { color: var(--cream-2); text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; }
.site-footer a:hover { color: var(--gold); }
.site-footer__bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: var(--s-2); padding-block: var(--s-3) var(--s-5); color: var(--cream-3); font-size: 13px; }
.credits { font-size: 13px; color: var(--cream-3); padding-bottom: var(--s-4); max-width: 120ch; }
.credits a { min-height: 0; display: inline; text-decoration: underline; }

/* ---------- Полета на форми ---------- */
.field { display: grid; gap: 6px; }
.field > span, .field > label { font-size: var(--fs-small); color: var(--cream-2); }
.input, .field input, .field textarea, .field select {
  width: 100%; min-height: var(--btn-h); padding: 12px 16px; border-radius: var(--r-field);
  border: 1px solid var(--edge-strong); background: var(--night-2); color: var(--cream); font-size: 17px;
  transition: border-color var(--d-ui) var(--ease-out);
}
.input::placeholder, .field ::placeholder { color: var(--cream-3); }
.input:hover, .field input:hover, .field textarea:hover { border-color: var(--cream-2); }
.input:focus-visible, .field input:focus-visible, .field textarea:focus-visible { outline: none; border-color: var(--gold); box-shadow: 0 0 0 1px var(--gold); transition: none; } /* taste-skill-ignore: пръстен на фокуса в поле на форма */
.field [aria-invalid="true"] { border-color: var(--error); }
.err { color: var(--error-ink); font-size: 14px; }
.field .hint { color: var(--cream-3); font-size: 14px; }
.inline-form .input { border-radius: var(--r-pill); padding-inline: 22px; }

/* ---------- Количка: панел отстрани ---------- */
.drawer { position: fixed; inset: 0; z-index: 60; pointer-events: none; visibility: hidden; transition: visibility 0s linear var(--d-drawer); }
.drawer.is-open { visibility: visible; transition: none; }
.drawer__scrim { position: absolute; inset: 0; background: var(--scrim); opacity: 0; transition: opacity var(--d-drawer) var(--ease-out); }
.drawer__panel {
  position: absolute; top: 0; right: 0; bottom: 0; width: min(460px, 100%); background: var(--night-2); display: grid; grid-template-rows: auto minmax(0, 1fr) auto;
  transform: translateX(100%); transition: transform var(--d-drawer) var(--ease-drawer); box-shadow: -30px 0 60px var(--panel-shadow); /* taste-skill-ignore: количката плува над страницата */
}
.drawer.is-open { pointer-events: auto; }
.drawer.is-open .drawer__scrim { opacity: 1; }
.drawer.is-open .drawer__panel { transform: none; }
.drawer__head { display: flex; justify-content: space-between; align-items: center; padding: var(--s-3) var(--s-4); background: var(--night-1); }
.drawer__head h2 { font-size: 44px; }
.drawer__body { overflow-y: auto; padding: var(--s-3) var(--s-4); display: grid; align-content: start; gap: var(--s-3); overscroll-behavior: contain; }
.drawer__foot { padding: var(--s-3) var(--s-4) var(--s-4); background: var(--night-1); display: grid; gap: var(--s-2); }
.drawer__total { display: flex; justify-content: space-between; align-items: baseline; }
.drawer__total .price { font-size: 30px; }
.drawer__foot p { color: var(--cream-3); font-size: 14px; }
.line { display: grid; grid-template-columns: 76px minmax(0, 1fr); gap: var(--s-2); align-items: center; }
.line__img { height: 112px; display: grid; place-items: center; background: var(--night-1); }
.line__img img { height: 96px; width: auto; }
.line__top { display: flex; justify-content: space-between; gap: var(--s-2); align-items: baseline; }
.line__name { font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; font-size: 15px; text-decoration: none; }
.line__meta { color: var(--cream-3); font-size: 13px; }
.line__ctrl { display: flex; align-items: center; justify-content: space-between; gap: var(--s-2); margin-top: 10px; }
.qty { display: inline-flex; align-items: center; border: 1px solid var(--edge-strong); border-radius: var(--r-pill); height: 44px; }
.qty button { width: 44px; height: 42px; border: 0; background: none; color: var(--cream); font-size: 18px; border-radius: var(--r-pill); }
.qty button:hover { color: var(--gold); }
.qty output, .qty span { min-width: 28px; text-align: center; font-weight: 600; font-variant-numeric: tabular-nums; }
.qty--lg { height: var(--btn-h); }
.qty--lg button { width: 50px; height: calc(var(--btn-h) - 2px); }
.text-btn { background: none; border: 0; color: var(--cream-3); font-size: 13px; text-decoration: underline; padding: 8px 0; min-height: 36px; }
.text-btn:hover { color: var(--cream); }
.drawer__empty { text-align: center; padding: var(--s-6) 0; display: grid; gap: var(--s-3); justify-items: center; }
.undo { color: var(--cream-2); font-size: var(--fs-small); display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.undo .text-btn { color: var(--gold); font-size: var(--fs-small); }
.drawer__note { text-align: center; transform: rotate(-3deg); margin: var(--s-1) 0; }
.upsell { background: var(--night-1); padding: var(--s-2) var(--s-3); display: grid; gap: var(--s-2); }
.upsell .item { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; gap: var(--s-2); align-items: center; }
.upsell img { height: 64px; width: auto; justify-self: center; }

/* ---------- Мобилно меню ---------- */
.menu { position: fixed; inset: 0; z-index: 70; background: var(--night); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; padding: 0 var(--gutter);
  opacity: 0; visibility: hidden; transform: translateY(-12px); transition: opacity var(--d-ui) var(--ease-out), transform var(--d-ui) var(--ease-out), visibility 0s linear var(--d-ui); }
.menu.is-open { opacity: 1; visibility: visible; transform: none; transition: opacity var(--d-ui) var(--ease-out), transform var(--d-ui) var(--ease-out), visibility 0s; }
.menu__head { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; min-height: 80px; }
.menu__head .brand img { width: 104px; }
.menu nav { display: grid; align-content: center; gap: 4px; }
.menu nav a { font-size: clamp(26px, 8vw, 40px); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none; padding: 10px 0; }
.menu .hand { margin-top: var(--s-3); transform: rotate(-4deg); display: inline-block; }
.menu__foot { display: grid; gap: var(--s-2); padding-bottom: var(--s-4); }
.menu__foot .row { display: flex; justify-content: space-between; color: var(--cream-2); font-size: var(--fs-small); }

/* ---------- Age gate ---------- */
.agegate { position: fixed; inset: 0; z-index: 90; display: none; place-items: center; background: var(--night); padding: var(--gutter); overflow-y: auto; }
.agegate.is-open { display: grid; }
.agegate::before, .agegate::after { content: ''; position: absolute; top: 0; bottom: 0; width: clamp(60px, 9vw, 150px); background: url('../brand/shevitsa-tile-dark.svg') repeat-y top center / 100% auto; }
.agegate::before { left: clamp(8px, 2.6vw, 48px); }
.agegate::after { right: clamp(8px, 2.6vw, 48px); }
.agegate__box { position: relative; z-index: 1; max-width: 560px; text-align: center; display: grid; justify-items: center; gap: var(--s-3); animation: rise 900ms var(--ease-out) both; }
.agegate__box img { width: clamp(150px, 16vw, 210px); }
.agegate__box h2 { font-size: clamp(40px, 5vw, 68px); }
.agegate__box p { color: var(--cream-2); }
.agegate .actions { display: flex; gap: var(--s-2); flex-wrap: wrap; justify-content: center; }
.check { display: inline-flex; gap: 12px; align-items: center; cursor: pointer; color: var(--cream-2); min-height: var(--tap); }
.check input { width: 22px; height: 22px; margin: 0; accent-color: var(--gold); flex: none; }
.agegate__no { color: var(--gold); }
.agegate__foot { position: absolute; bottom: var(--s-4); left: 0; right: 0; text-align: center; color: var(--cream-3); font-size: 13px; }

/* ---------- Пътека ---------- */
.crumbs { padding-top: var(--s-3); }
.crumbs ol { display: flex; flex-wrap: wrap; gap: 6px 10px; font-size: 13px; color: var(--cream-3); }
.crumbs li + li::before { content: '/'; margin-right: 10px; color: var(--edge-strong); }
.crumbs a { text-decoration: none; min-height: 32px; display: inline-flex; align-items: center; }
.crumbs a:hover { color: var(--cream); }
.crumbs [aria-current] { color: var(--cream); }

/* ---------- Продукт ---------- */
.product { display: grid; grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; padding-top: var(--s-3); }
.product__stage {
  --h: max(520px, min(calc(100svh - var(--header-h) - 24px), 860px));
  position: sticky; top: calc(var(--header-h) + 8px); height: var(--h);
  display: grid; place-items: center; overflow: hidden;
}
.product__stage::before { content: ''; position: absolute; inset: 4%; background: radial-gradient(closest-side, var(--amber-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
.product__stage img { position: relative; height: calc(var(--h) * 0.92); width: auto; max-width: none; filter: drop-shadow(0 50px 50px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
.product__stage .hand { position: absolute; right: 3%; top: 16%; transform: rotate(-7deg); text-align: center; z-index: 2; }
.product__stage--paper { background: var(--paper); }
.product__stage--paper::before { display: none; }
.product__stage--paper img { mix-blend-mode: multiply; filter: none; position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 62%; transition: opacity var(--d-ui) var(--ease-out); }
.product__stage--paper .hand { color: var(--ink); }
.product__info { padding-top: clamp(16px, 4vh, 48px); padding-bottom: var(--s-7); display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); align-content: start; }
.product__info .label { color: var(--cream-2); }
.product__info h1 { font-size: clamp(64px, 8.6vw, 132px); }
.product__info .lead { max-width: 44ch; }
.product__price { display: flex; align-items: baseline; gap: var(--s-2); margin-top: var(--s-2); }
.product__price .price { font-size: clamp(36px, 3.6vw, 52px); }
.buybox { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-2); }
.buybox .row { display: flex; gap: var(--s-2); flex-wrap: wrap; }
.buybox .row .btn--buy { flex: 1 1 220px; }
.buybox .btn--line { width: 100%; }
.variants { display: flex; flex-wrap: wrap; gap: 10px; }
.facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3) var(--s-4); margin-top: var(--s-3); }
.facts dt { font-size: var(--fs-label); font-weight: 600; letter-spacing: var(--track-label); text-transform: uppercase; color: var(--cream-3); }
.facts dd { margin: 4px 0 0; font-size: 19px; font-weight: 500; }
.assure { display: grid; gap: 10px; color: var(--cream-2); font-size: var(--fs-small); }
.assure li { display: flex; gap: 12px; align-items: center; }
.assure li::before { content: ''; width: 8px; height: 8px; background: var(--gold); transform: rotate(45deg); flex: none; }
.review { background: var(--night-1); padding: var(--s-4); display: grid; gap: var(--s-2); }
.review p { font-size: 18px; line-height: 1.55; }
.review footer { color: var(--cream-3); font-size: 14px; }
.related { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); margin-top: var(--s-5); }
.related a { display: grid; grid-template-columns: 110px minmax(0, 1fr); gap: var(--s-2); align-items: center; padding: var(--s-2); background: var(--night-1); text-decoration: none; transition: background-color var(--d-ui) var(--ease-out); }
.related a:hover { background: var(--night-2); }
.related img { height: 170px; width: auto; justify-self: center; transition: transform 700ms var(--ease-out); }
.related a:hover img { transform: translateY(-6px); }
.related .name { font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; }
.related .price { font-size: 20px; margin-top: 8px; }
.sticky-buy { display: none; }

/* Хартиената глава (диспенсър) */
.paper { background: var(--paper); color: var(--ink); }
.paper .muted, .paper .lead { color: var(--ink-2); }

/* ---------- Подаръци (страница) ---------- */
.page-head { padding-top: var(--s-6); display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-5); align-items: end; }
.page-head p { color: var(--cream-2); max-width: 42ch; }
.filter-bar { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--s-5); align-items: center; }
.filter-bar .count { margin-left: auto; color: var(--cream-3); font-size: var(--fs-small); }
.shop-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: var(--s-3); margin-top: var(--s-4); }
.tile { grid-column: span 4; position: relative; background: var(--night-1); display: grid; grid-template-rows: minmax(0, 1fr) auto; min-height: 520px; overflow: hidden; }
.tile--wide { grid-column: span 8; }
.tile--half { grid-column: span 6; }
.tile[hidden] { display: none; }
.tile__img { --h: 340px; display: grid; place-items: end center; padding: var(--s-4) var(--s-3) 0; position: relative; }
.tile__img::before { content: ''; position: absolute; inset: 10% 6% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); opacity: 0.6; } /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
.tile__img img { position: relative; height: var(--h); width: auto; max-width: none; filter: drop-shadow(0 30px 30px var(--object-shadow)); transition: transform 700ms var(--ease-out); } /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
.tile--wide .tile__img { --h: 420px; }
.tile:hover .tile__img img { transform: translateY(-10px); }
.tile__body { padding: var(--s-3); display: grid; gap: 6px; }
.tile__body .label { color: var(--gold); }
.tile__body h3 { text-transform: uppercase; letter-spacing: 0.08em; }
.tile__body h3 a { text-decoration: none; }
.tile__body h3 a::after { content: ''; position: absolute; inset: 0; }
.tile__foot { display: flex; justify-content: space-between; align-items: center; gap: var(--s-2); margin-top: var(--s-1); }
.tile__foot .price { font-size: 22px; }
.tile__foot .btn { position: relative; z-index: 2; }
.tile__tags { color: var(--cream-3); font-size: 15px; }
.cardmaker { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-6); align-items: center; }
.cardmaker form { display: grid; gap: var(--s-3); }

/* Картичката — живото нещо */
.giftcard {
  position: relative; aspect-ratio: 7 / 5; background: var(--paper); color: var(--ink); padding: clamp(22px, 3vw, 40px);
  display: grid; grid-template-rows: auto minmax(0, 1fr) auto; transform: rotate(-2.5deg);
}
.giftcard::before { content: ''; position: absolute; top: 0; bottom: 0; left: 0; width: 34px; background: url('../brand/shevitsa-tile-gold.svg') repeat-y top center / 100% auto; opacity: 0.85; }
.giftcard__top { display: flex; justify-content: space-between; min-height: 18px; padding-left: 28px; font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ink-2); }
.giftcard__msg { font-family: var(--font-hand); font-size: clamp(28px, 3.1vw, 46px); line-height: 1.15; padding-left: 28px; align-self: center; overflow-wrap: anywhere; color: var(--ink); }
.giftcard__msg.is-empty { color: var(--ink-2); opacity: 0.55; }
.giftcard__top::before { content: 'Алтън Тетевен'; }
.giftcard__top::after { content: 'реколта II'; }
.giftcard__foot { padding-left: 28px; display: flex; justify-content: space-between; align-items: end; gap: var(--s-2); }
.giftcard__foot .hand { color: var(--ink); font-size: clamp(22px, 2vw, 30px); }
.giftcard__foot .sign { font-family: var(--font-hand); font-size: clamp(22px, 2.2vw, 32px); color: var(--ink-2); }

/* ---------- Плащане (една страница) ---------- */
.checkout-header { background: var(--night-1); }
.checkout-header .row { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; min-height: 80px; }
.checkout-header .brand img { width: 110px; }
.checkout-header .secure { justify-self: end; color: var(--cream-3); font-size: 14px; display: inline-flex; gap: 8px; align-items: center; }
.checkout { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: clamp(32px, 5vw, 80px); align-items: start; padding-block: var(--s-5) var(--s-8); }
.checkout h1 { font-size: clamp(48px, 5.6vw, 84px); }
.checkout form { display: grid; gap: var(--s-6); margin-top: var(--s-4); }
.checkout fieldset { border: 0; margin: 0; padding: 0; display: grid; gap: var(--s-2); min-width: 0; }
.checkout legend { padding: 0; margin-bottom: var(--s-2); font-size: 15px; font-weight: 700; letter-spacing: var(--track-label); text-transform: uppercase; display: flex; gap: 12px; align-items: baseline; }
.checkout legend .hand { font-size: 34px; }
.two { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-2); }
.choice {
  position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--s-2); align-items: center;
  min-height: 68px; padding: 14px 18px; border-radius: var(--r-field); border: 1px solid var(--edge-strong); background: transparent; cursor: pointer;
  transition: border-color var(--d-ui) var(--ease-out), background-color var(--d-ui) var(--ease-out);
}
.choice:hover { border-color: var(--cream-2); }
.choice input { position: absolute; opacity: 0; pointer-events: none; }
.choice .radio { position: relative; width: 20px; height: 20px; border-radius: 50%; border: 1.5px solid var(--edge-strong); transition: border-color var(--d-press) var(--ease-out); }
.choice .radio::after { content: ''; position: absolute; inset: 3px; border-radius: 50%; background: var(--gold); opacity: 0; transform: scale(0.5); transition: transform var(--d-press) var(--ease-out), opacity var(--d-press) var(--ease-out); }
.choice:has(input:checked) { border-color: var(--gold); background: var(--night-2); box-shadow: inset 0 0 0 1px var(--gold); } /* taste-skill-ignore: избран вариант в поле на форма */
.choice:has(input:checked) .radio { border-color: var(--gold); }
.choice:has(input:checked) .radio::after { opacity: 1; transform: scale(1); }
.choice:has(input:focus-visible) { outline: 2px solid var(--gold); outline-offset: 3px; }
.choice__name { font-weight: 600; display: block; }
.choice__note { color: var(--cream-3); font-size: 14px; display: block; }
.choice__aside { color: var(--cream-2); font-size: 14px; text-align: right; }
.choice--soon { border-style: dashed; cursor: not-allowed; color: var(--cream-3); }
.choice--soon .choice__name { color: var(--cream-2); }
.choice--soon:hover { border-color: var(--edge-strong); }
.choice-group { display: grid; gap: 10px; }
.cond { display: grid; gap: var(--s-2); }
.cond[hidden] { display: none; }
.suggest { display: grid; gap: 4px; margin-top: 6px; }
.suggest button { text-align: left; background: var(--night-2); border: 1px solid var(--edge); border-radius: var(--r-field); padding: 12px 14px; color: var(--cream); min-height: var(--tap); }
.suggest button:hover, .suggest button[aria-selected="true"] { border-color: var(--gold); }
.switch { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-2); align-items: center; padding: 16px 18px; border-radius: var(--r-field); border: 1px solid var(--edge-strong); cursor: pointer; }
.switch:has(input:checked) { border-color: var(--gold); background: var(--night-2); }
.switch input { position: absolute; opacity: 0; pointer-events: none; }
.switch:has(input:focus-visible) { outline: 2px solid var(--gold); outline-offset: 3px; }
.switch__track { width: 48px; height: 28px; border-radius: 14px; background: var(--edge-strong); position: relative; transition: background-color var(--d-ui) var(--ease-out); }
.switch__track::after { content: ''; position: absolute; left: 4px; top: 4px; width: 20px; height: 20px; border-radius: 50%; background: var(--cream); transition: transform var(--d-ui) var(--ease-out); }
.switch:has(input:checked) .switch__track { background: var(--gold); }
.switch:has(input:checked) .switch__track::after { transform: translateX(20px); background: var(--night); }
.consent { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 12px; align-items: start; font-size: var(--fs-small); line-height: 1.5; cursor: pointer; }
.consent input { width: 22px; height: 22px; margin: 2px 0 0; accent-color: var(--gold); }
.consent a { color: var(--gold); }
.summary { position: sticky; top: 24px; background: var(--night-1); padding: var(--s-4); display: grid; gap: var(--s-3); }
.summary h2 { font-size: 40px; }
.summary .lines { display: grid; gap: var(--s-2); }
.summary .line__img { height: 88px; }
.summary .line__img img { height: 76px; }
.totals { display: grid; gap: 10px; padding-top: var(--s-3); font-variant-numeric: tabular-nums; }
.totals div { display: flex; justify-content: space-between; gap: var(--s-2); color: var(--cream-2); }
.totals .grand { color: var(--cream); align-items: baseline; }
.totals .grand .price { font-size: 34px; }
.pay-btn { font-size: 14px; }
.reassure { color: var(--cream-3); font-size: 14px; text-align: center; }
.mobile-summary { display: none; }

/* ---------- Потвърждение ---------- */
.done { min-height: calc(100svh - 80px); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--s-6); align-items: center; padding-block: var(--s-6); }
.done__stage { --h: min(78svh, 760px); position: relative; display: grid; place-items: center; height: var(--h); }
.done__stage::before { content: ''; position: absolute; inset: 6%; background: radial-gradient(closest-side, var(--amber-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
.done__stage img { position: relative; height: var(--h); width: auto; max-width: none; filter: drop-shadow(0 50px 50px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
.done__no { position: absolute; right: 4%; top: 46%; transform: rotate(-8deg); text-align: center; }
.done__no .hand { font-size: clamp(44px, 4.4vw, 68px); }
.done h1 { font-size: clamp(56px, 7.4vw, 116px); }
.done .lead { margin-top: var(--s-3); }
.next-steps { display: grid; gap: var(--s-2); margin-top: var(--s-5); }
.next-steps li { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: var(--s-2); align-items: baseline; }
.next-steps .hand { font-size: 38px; }
.order-box { margin-top: var(--s-5); background: var(--night-1); padding: var(--s-3) var(--s-4); display: grid; gap: 8px; font-size: var(--fs-small); }
.order-box div { display: flex; justify-content: space-between; gap: var(--s-2); }
.order-box span:first-child { color: var(--cream-3); }

/* ---------- Появяване при скрол (съдържанието е видимо и без JS) ---------- */
.js [data-reveal] { opacity: 0; transform: translateY(20px); transition: opacity var(--d-reveal) var(--ease-out), transform var(--d-reveal) var(--ease-out); transition-delay: calc(var(--i, 0) * 80ms); }
.js [data-reveal].is-in { opacity: 1; transform: none; }
@keyframes rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }

/* Hover движенията — само с мишка; на допир не „залепват“ */
@media (hover: none), (pointer: coarse) {
  .bottle-card:hover .bottle-card__stage img, .box-row:hover img, .tile:hover .tile__img img, .related a:hover img,
  .dispenser-card:hover .dispenser-card__img { transform: none; }
  .dispenser-card:hover .dispenser-card__img { transform: translateX(-50%); }
}

/* ---------- Таблет ---------- */
@media (max-width: 1100px) {
  .nav, .lang { display: none; }
  .burger { display: inline-flex; }
  .site-header__row { grid-template-columns: auto minmax(0, 1fr) auto; }
  .site-header__row .brand { grid-column: 2; }
  .process { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .site-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tile, .tile--wide, .tile--half { grid-column: span 6; }
  .related { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 900px) {
  :root { --header-h: 76px; }
  .shevitsa { width: 64px; left: 0; opacity: 0.8; }
  .section-head, .gifts-head, .page-head, .find, .cardmaker { grid-template-columns: minmax(0, 1fr); }
  .section-head p { justify-self: start; }
  .hero-slider__intro { top: 20px; }
  .hero-slider__intro p { display: none; }
  .slide { padding-top: 72px; }
  .slide__grid { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(0, 1fr) auto; align-items: stretch; }
  .slide__stage { grid-row: 1; min-height: 52svh; }
  .slide__img { height: min(54svh, 520px); margin-bottom: 0; }
  .slide__img--box { height: min(46svh, 440px); }
  .slide__img--wide { width: min(80vw, 460px); }
  .slide__name { left: 50%; right: auto; bottom: auto; top: 108px; transform: translateX(-50%); text-align: center; font-size: clamp(60px, 19vw, 150px); }
  .slide__name--long { font-size: clamp(40px, 12.4vw, 96px); }
  .slide__info { grid-row: 2; padding-bottom: 96px; gap: var(--s-2); }
  .slide__note { right: 0; top: 34%; font-size: 26px; }
  .slider-ui .wrap { flex-direction: column; align-items: stretch; }
  .slide-names { gap: 0 18px; }
  .slide-names::-webkit-scrollbar { display: none; }
  .slide-names button { scroll-snap-align: center; white-space: nowrap; }
  .slider-ctrl { display: none; }
  .lineup { grid-template-columns: minmax(0, 1fr); gap: var(--s-7); }
  .bottle-card__stage { --h: 480px; }
  .details__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .details__stage { top: calc(var(--header-h) + 8px); height: 52svh; z-index: 2; background: var(--night); }
  .frame { width: min(76vw, 360px); }
  .details__steps { position: relative; z-index: 3; }
  .details__intro { min-height: 0; padding-bottom: var(--s-5); order: -1; }
  .detail-step { min-height: 60svh; background: var(--night); padding: var(--s-5) 0; }
  .gift-grid, .harvests, .corp, .product, .checkout, .done { grid-template-columns: minmax(0, 1fr); }
  .box-list { grid-template-rows: none; }
  .dispenser-card { min-height: 640px; }
  .collage { grid-template-columns: repeat(6, minmax(0, 1fr)); }
  .collage__main { grid-column: 1 / 7; grid-row: 1; }
  .collage__side { grid-column: 3 / 7; grid-row: 2; margin-top: -60px; }
  .collage__slot { grid-column: 1 / 4; grid-row: 2; margin-top: var(--s-3); }
  .collage__text { grid-column: 1 / 7; grid-row: 3; }
  .newsletter { grid-template-columns: minmax(0, 1fr); }
  .seal { width: 132px; height: 132px; }
  .quote { aspect-ratio: 3 / 4; }
  .quote__frame, .quote blockquote { inset: 22px 18px; }
  .product__stage { --h: max(340px, 46svh); position: relative; top: 0; min-height: 0; }
  .product__info { padding-bottom: var(--s-5); }
  .summary { position: relative; top: 0; order: -1; }
  .checkout .summary { display: none; }
  .mobile-summary { display: block; background: var(--night-1); margin-inline: calc(-1 * var(--gutter)); }
  .mobile-summary summary { list-style: none; display: flex; justify-content: space-between; align-items: center; padding: 16px var(--gutter); cursor: pointer; font-weight: 600; min-height: 56px; }
  .mobile-summary summary::-webkit-details-marker { display: none; }
  .mobile-summary .inner { padding: 0 var(--gutter) var(--s-3); display: grid; gap: var(--s-2); }
  .done__stage { --h: 48svh; order: -1; }
  .sticky-buy {
    display: flex; position: fixed; left: 0; right: 0; bottom: 0; z-index: 30; gap: 12px; align-items: center; justify-content: space-between;
    padding: 12px var(--gutter) calc(12px + env(safe-area-inset-bottom)); background: var(--night-2);
    transform: translateY(110%); transition: transform var(--d-ui) var(--ease-out);
  }
  .sticky-buy.is-shown { transform: none; }
  .sticky-buy .price { font-size: 22px; }
  .shop-grid { grid-template-columns: minmax(0, 1fr); }
  .tile, .tile--wide, .tile--half { grid-column: 1 / -1; min-height: 480px; }
  .tile__img, .tile--wide .tile__img { --h: 300px; }
  .site-footer__top { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
}
@media (max-width: 560px) {
  .hide-sm { display: none; }
  :root { --fs-body: 16px; }
  .process { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .two { grid-template-columns: minmax(0, 1fr); }
  .facts { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
  .box-row { grid-template-columns: 96px minmax(0, 1fr); padding: var(--s-2); }
  .box-row img { height: 150px; }
  .harvest table th, .harvest table td { font-size: 14px; }
  .btn { padding: 0 20px; }
  .drawer__head h2 { font-size: 38px; }
  .filter-bar .count { display: none; }
}

/* ---------- Без движение ---------- */
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: 1ms !important; animation-iteration-count: 1 !important; }
  .js [data-reveal] { opacity: 1; transform: none; transition: none; }
  .slide, .slide.is-active { transition: none; }
  .slide__img, .bottle-card__stage img, .box-row img, .tile__img img, .related img, .film img, .quote__frame img { transition: none; transform: none; }
  .dispenser-card__img { transition: none; transform: translateX(-50%); }
  .slide.is-active .slide__img { transform: none; }
  .frame img { transition: none; }
  .drawer__panel, .drawer__scrim, .menu, .site-header, .sticky-buy { transition-duration: 1ms; }
  .btn:active, .icon-btn:active { transform: none; }
  /* Сцената „Детайлите“ става три статични кадъра */
  .details__stage { display: none; }
  .details__grid { grid-template-columns: minmax(0, 1fr); }
  .details__steps { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5) var(--s-4); }
  .details__intro { grid-column: 1 / -1; min-height: 0; padding-bottom: var(--s-3); }
  .detail-step, .detail-step:last-child { min-height: 0; align-content: start; background: none; padding: 0; }
  .detail-step .frame-static { display: block; width: 100%; }
}
.frame-static { display: none; width: min(100%, 360px); aspect-ratio: 4 / 5; overflow: hidden; background: var(--night-1); margin-top: var(--s-3); position: relative; }
.frame-static img { position: absolute; left: 50%; top: 50%; height: 100%; width: auto; max-width: none; transform: translate(-50%, -50%) scale(2.2); }

/* ---------- Отблизо (продукт): детайли от бутилката ---------- */
.closeup { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 3fr) minmax(0, 4fr); gap: var(--s-3); margin-top: var(--s-5); align-items: end; }
.closeup figure { position: relative; overflow: hidden; background: var(--night-1); }
.closeup .c1 { aspect-ratio: 4 / 5; }
.closeup .c2 { aspect-ratio: 3 / 5; }
.closeup .c3 { aspect-ratio: 1 / 1; }
.closeup figure img { position: absolute; left: 50%; top: 50%; height: 100%; width: auto; max-width: none; }
.closeup .c1 img { transform: translate(-50%, -50%) scale(2.1) translate(20%, -2%); }
.closeup .c2 img { transform: translate(-50%, -50%) scale(2.6) translate(0%, 42%); }
.closeup .c3 img, .closeup .closeup--photo img { height: 100%; width: 100%; object-fit: cover; left: 0; top: 0; transform: none !important; }
.closeup figcaption { position: absolute; left: 0; right: 0; bottom: 0; margin: 0; padding: 40px 16px 14px; background: linear-gradient(transparent, var(--scrim)); color: var(--cream); font-size: 14px; } /* taste-skill-ignore: неутрален scrim под надпис върху снимка */
@media (max-width: 900px) and (prefers-reduced-motion: reduce) { .details__steps { grid-template-columns: minmax(0, 1fr); } }
@media (max-width: 900px) { .closeup { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); } .closeup .c3 { grid-column: 1 / -1; aspect-ratio: 16 / 10; } }

/* =====================================================================
   Отделни страници — всяка със своя композиция
   ===================================================================== */
.more { margin-top: var(--s-6); display: flex; justify-content: center; }

/* ---------- Начало: „врати“ към страниците — голямо име, изречение, снимка ---------- */
.rooms { display: grid; gap: 4px; }
.room a {
  position: relative; display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 5fr) 180px; gap: var(--s-4); align-items: center;
  min-height: 168px; padding: var(--s-3) var(--s-4); background: var(--night-1); text-decoration: none; overflow: hidden;
  transition: background-color var(--d-ui) var(--ease-out);
}
.room a:hover { background: var(--night-2); }
.room__name { font-size: clamp(48px, 6.4vw, 104px); }
.room__text { color: var(--cream-2); font-size: var(--fs-lead); max-width: 34ch; }
.room__img { display: block; height: 140px; overflow: hidden; }
.room__img img { width: 100%; height: 100%; object-fit: cover; transition: transform 700ms var(--ease-out); }
.room__img--bottle img { object-fit: contain; }
.room a:hover .room__img img { transform: scale(1.06); }

/* ---------- Продукти: рафт от редуващи се редове ---------- */
.jump { display: flex; flex-wrap: wrap; gap: 10px; margin-top: var(--s-4); }
.shelf__row { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(32px, 6vw, 96px); align-items: center; padding-block: var(--s-5); }
.shelf__row + .shelf__row { margin-top: var(--s-6); }
.shelf__row--flip .shelf__stage { order: 2; }
.shelf__stage { --h: clamp(420px, 48vw, 680px); position: relative; height: var(--h); display: grid; place-items: end center; }
.shelf__stage::before { content: ''; position: absolute; inset: 6% 8% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
.shelf__stage img { position: relative; height: var(--h); width: auto; max-width: none; filter: drop-shadow(0 50px 50px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет върху пода — част от фотографията */
.shelf__stage .hand { position: absolute; right: 12%; top: 30%; transform: rotate(-8deg); }
.shelf__info { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); align-content: center; }
.shelf__info h2 { font-size: clamp(52px, 5.8vw, 92px); overflow-wrap: normal; }
.shelf__buy { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); margin-top: var(--s-1); }
.box-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); margin-top: var(--s-6); }
.box-col { display: grid; gap: 8px; align-content: start; }
.box-col__img { display: grid; place-items: end center; height: 380px; background: var(--night-1); padding-top: var(--s-4); }
.box-col__img img { height: 340px; width: auto; max-width: none; transition: transform 700ms var(--ease-out); }
.box-col:hover .box-col__img img { transform: translateY(-8px); }
.box-col h3 { text-transform: uppercase; letter-spacing: 0.08em; margin-top: var(--s-2); }
.box-col h3 a { text-decoration: none; }
.box-col__foot { display: flex; justify-content: space-between; align-items: center; gap: var(--s-2); margin-top: var(--s-1); }
.box-col__foot .price { font-size: 24px; }
.paper-band { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); background: var(--paper); color: var(--ink); }
.paper-band__img { min-height: 480px; position: relative; overflow: hidden; }
.paper-band__img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 65%; mix-blend-mode: multiply; }
.paper-band__body { padding: clamp(28px, 5vw, 80px); display: grid; align-content: center; gap: var(--s-3); }
.paper-band__body p { color: var(--ink-2); max-width: 44ch; }
.paper-band__body .hand { color: var(--ink); transform: rotate(-3deg); transform-origin: left; }
.paper-band .tbd { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); }

/* ---------- Реколти: хартиена страница, тефтер ---------- */
.paper-page { background: var(--paper); color: var(--ink); padding-bottom: var(--section); }
.paper-page .crumbs ol, .paper-page .crumbs a { color: var(--ink-2); }
.paper-page .crumbs [aria-current] { color: var(--ink); }
.paper-page .page-head p, .paper-page .lead, .paper-page .muted { color: var(--ink-2); }
.paper-page .hand { color: var(--ink); }
.paper-page .tbd { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); text-decoration-thickness: 2px; }
.paper-page .btn--line { border-color: var(--ink); color: var(--ink); }
.paper-page .btn--line:hover { background: var(--ink); color: var(--paper); }
.paper-page .input { background: transparent; border-color: var(--edge-ink); color: var(--ink); }
.paper-page .input::placeholder { color: var(--ink-2); }
.paper-page .seal { border-color: var(--ink); }
.paper-page .newsletter p { color: var(--ink-2); }
.paper-page :focus-visible { outline-color: var(--ink); }
.ledger__book { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 0; margin-top: var(--s-2); }
.ledger__page { position: relative; padding: clamp(28px, 4vw, 64px); background: var(--paper-2); }
.ledger__page + .ledger__page { background: var(--paper-3); }
.ledger__page h2 { font-family: var(--font-hand); font-size: clamp(56px, 6vw, 96px); line-height: 1; }
.ledger__date { font-weight: 600; margin-top: 8px; color: var(--ink-2); }
.ledger table { width: 100%; border-collapse: collapse; margin-top: var(--s-5); font-variant-numeric: tabular-nums; }
.ledger th, .ledger td { text-align: left; padding: 16px 0; border-bottom: 1px solid var(--edge-ink); font-size: 17px; }
.ledger thead th { font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--ink-2); }
.ledger td:nth-child(2) { text-align: right; padding-right: var(--s-4); font-weight: 600; }
.ledger td.hand { font-size: 26px; color: var(--ink); }
.ledger tfoot th, .ledger tfoot td { border-bottom: 0; font-weight: 700; }
.ledger .actions { margin-top: var(--s-5); }
.stamp--ink { border-color: var(--ink-2); color: var(--ink-2); }
.numbering__grid { display: grid; grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); gap: var(--s-6); align-items: center; }
.numbering__no { font-size: clamp(120px, 18vw, 280px); line-height: 0.9; transform: rotate(-6deg); }
.numbering h2 { font-size: clamp(48px, 5vw, 80px); }
.numbering .lead { margin-top: var(--s-3); }

/* ---------- Историята: редакторски редове + времева линия ---------- */
.story-hero { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-5); align-items: end; padding-top: var(--s-5); }
.story-hero h1 { font-size: clamp(72px, 11vw, 184px); }
.story-hero__img { --h: clamp(360px, 40vw, 560px); height: var(--h); display: grid; place-items: end center; position: relative; }
.story-hero__img::before { content: ''; position: absolute; inset: 8% 4% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
.story-hero__img img { position: relative; height: var(--h); width: auto; max-width: none; }
.editorial__row { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 7fr); gap: var(--s-5); padding-block: var(--s-6); }
.editorial__row + .editorial__row { padding-top: 0; }
.editorial__label { font-size: clamp(22px, 2vw, 30px); font-weight: 600; color: var(--gold); }
.editorial__row > div { display: grid; gap: var(--s-3); font-size: var(--fs-lead); max-width: 62ch; }
.timeline { display: grid; gap: var(--s-5); margin-top: var(--s-6); max-width: 980px; }
.timeline__step { display: grid; grid-template-columns: clamp(80px, 10vw, 150px) minmax(0, 1fr); gap: var(--s-4); align-items: start; }
.timeline__step:nth-child(even) { margin-left: clamp(0px, 12vw, 200px); }
.timeline__no { font-size: clamp(72px, 9vw, 140px); }
.timeline h3 { font-size: clamp(22px, 2.2vw, 30px); text-transform: uppercase; letter-spacing: 0.08em; padding-top: 0.6em; }
.timeline p { color: var(--cream-2); font-size: var(--fs-lead); margin-top: 8px; max-width: 46ch; }

/* ---------- Тетевен: снимка на цял екран ---------- */
.photo-hero { position: relative; min-height: min(86svh, 820px); display: grid; align-items: end; overflow: hidden; }
.photo-hero__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.photo-hero::after { content: ''; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 30%, var(--scrim) 100%); } /* taste-skill-ignore: неутрален scrim под текст върху снимка */
.photo-hero__body { position: relative; z-index: 2; padding-bottom: var(--s-7); }
.photo-hero__body h1 { font-size: clamp(88px, 16vw, 260px); margin-top: var(--s-3); }
.photo-hero__body .lead { color: var(--cream); margin-top: var(--s-2); }
.photo-hero .crumbs { padding-top: 0; }
.photo-hero .crumbs ol, .photo-hero .crumbs a { color: var(--cream-2); }
.town { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-6); align-items: center; }
.town__text { display: grid; gap: var(--s-3); font-size: var(--fs-lead); }
.town__text p { max-width: 58ch; color: var(--cream-2); }
.town__img img { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; }

/* ---------- Контакти: визитка върху снимка ---------- */
.visit { position: relative; min-height: min(84svh, 780px); display: grid; overflow: hidden; }
.visit__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: brightness(0.75); }
.visit__wrap { position: relative; z-index: 2; display: grid; justify-items: end; align-items: start; padding-top: var(--s-6); padding-bottom: var(--s-6); }
.visit__card { width: min(420px, 100%); background: var(--paper); color: var(--ink); padding: var(--s-4); display: grid; gap: var(--s-3); }
.visit__card h1 { font-size: clamp(48px, 5vw, 72px); color: var(--ink); }
.visit__card address { font-style: normal; display: grid; gap: var(--s-2); font-size: 17px; }
.visit__name { font-weight: 700; }
.visit__rows { display: grid; gap: 10px; margin: 0; }
.visit__rows div { display: flex; justify-content: space-between; gap: var(--s-2); border-top: 1px solid var(--edge-ink); padding-top: 10px; }
.visit__rows dt { color: var(--ink-2); font-size: 15px; }
.visit__rows dd { margin: 0; text-align: right; font-weight: 600; font-variant-numeric: tabular-nums; }
.visit__rows a { color: var(--ink); }
.visit__card .tbd { color: var(--ink); text-decoration: underline; text-decoration-color: var(--gold); }
.visit__card :focus-visible { outline-color: var(--ink); }
.contact-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: var(--s-6); align-items: start; }
.contact-form { display: grid; gap: var(--s-3); background: var(--night-1); padding: clamp(24px, 3vw, 40px); }
.contact-form__h { font-size: clamp(40px, 4vw, 60px); }
.contact-form .btn { justify-self: start; }

@media (max-width: 900px) {
  .room a { grid-template-columns: minmax(0, 1fr) 96px; padding: var(--s-3); gap: var(--s-2); }
  .room__text { grid-column: 1; grid-row: 2; font-size: var(--fs-small); }
  .room__img { grid-column: 2; grid-row: 1 / 3; height: 120px; }
  .shelf__row, .box-cols, .paper-band, .ledger__book, .numbering__grid, .story-hero, .editorial__row, .town, .contact-grid { grid-template-columns: minmax(0, 1fr); }
  .shelf__row--flip .shelf__stage { order: 0; }
  .shelf__stage { --h: 440px; }
  .box-col__img { height: 320px; } .box-col__img img { height: 280px; }
  .paper-band__img { min-height: 380px; }
  .story-hero__img { --h: 380px; }
  .editorial__row { gap: var(--s-2); padding-block: var(--s-4); }
  .timeline__step:nth-child(even) { margin-left: 0; }
  .visit { min-height: 0; }
  .visit__wrap { justify-items: stretch; padding-top: 42svh; }
}

/* ---------- Подменю „Магазин“ (desktop) ---------- */
.nav { align-items: center; }
.has-sub { position: relative; display: inline-flex; align-items: center; gap: 2px; }
.has-sub.is-current > a { color: var(--gold); }
.sub-toggle { width: 28px; height: var(--tap); display: inline-grid; place-items: center; background: none; border: 0; color: var(--cream-2); padding: 0; transition: transform var(--d-ui) var(--ease-out); }
.sub-toggle[aria-expanded="true"] { transform: rotate(180deg); }
.sub {
  position: absolute; left: -20px; top: 100%; z-index: 50; min-width: 220px; padding: 10px; background: var(--night-2);
  box-shadow: 0 20px 40px var(--panel-shadow); /* taste-skill-ignore: подменюто плува над страницата */
  opacity: 0; visibility: hidden; transform: translateY(-6px); transform-origin: top left;
  transition: opacity var(--d-ui) var(--ease-out), transform var(--d-ui) var(--ease-out), visibility 0s linear var(--d-ui);
}
.has-sub:hover .sub, .has-sub:focus-within .sub, .has-sub.is-open .sub { opacity: 1; visibility: visible; transform: none; transition: opacity var(--d-ui) var(--ease-out), transform var(--d-ui) var(--ease-out), visibility 0s; }
.sub a { display: flex; min-height: var(--tap); padding: 0 12px; width: 100%; }
.sub a:hover { background: var(--night-1); }

/* ---------- Мобилно меню: дърво ---------- */
.menu__tree { display: grid; gap: 2px; }
.menu__tree > li > a { display: block; font-size: clamp(24px, 7vw, 36px); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; text-decoration: none; padding: 8px 0; }
.menu__tree ul { display: grid; padding: 0 0 8px 20px; border-left: 2px solid var(--gold); margin-left: 4px; }
.menu__tree ul a { display: block; font-size: 19px; font-weight: 500; text-decoration: none; padding: 8px 0; color: var(--cream-2); }
.menu nav { overflow-y: auto; }

/* ---------- Магазин: три врати + ценова листа ---------- */
.shop-cats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-3); }
.shop-cat a { --card: clamp(520px, 50vw, 680px); position: relative; display: grid; grid-template-rows: minmax(0, 1fr) auto auto; align-content: end; min-height: var(--card); padding: var(--s-4); background: var(--night-1); text-decoration: none; overflow: hidden; transition: background-color var(--d-ui) var(--ease-out); }
.shop-cat a:hover { background: var(--night-2); }
.shop-cat__img { position: relative; display: grid; place-items: end center; height: calc(var(--card) * 0.58); margin-bottom: var(--s-3); }
.shop-cat__img::before { content: ''; position: absolute; inset: 8% 10% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката — без нея черният етикет на Отлежала изчезва в черния фон */
.shop-cat__img img { position: relative; height: calc(var(--card) * 0.58); width: auto; max-width: 100%; object-fit: contain; transition: transform 700ms var(--ease-out); }
.shop-cat a:hover .shop-cat__img img { transform: translateY(-10px); }
.shop-cat h2 { font-size: clamp(48px, 5vw, 80px); position: relative; }
.shop-cat p { color: var(--cream-2); position: relative; margin-top: var(--s-1); max-width: 30ch; }
.shop-cat--paper a { background: var(--paper); color: var(--ink); }
.shop-cat--paper a:hover { background: var(--paper-2); }
.shop-cat--paper p { color: var(--ink-2); }
.shop-cat--paper .shop-cat__img::before { display: none; }
.shop-cat--paper :focus-visible, .shop-cat--paper a:focus-visible { outline-color: var(--gold); }
.pricelist { width: 100%; border-collapse: collapse; margin-top: var(--s-5); font-variant-numeric: tabular-nums; }
.pricelist th, .pricelist td { text-align: left; padding: 16px 12px 16px 0; border-bottom: 1px solid var(--edge); vertical-align: middle; }
.pricelist thead th { font-size: 13px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--cream-3); }
.pricelist tbody th { font-weight: 600; font-size: 18px; }
.pricelist tbody th a { text-decoration: none; }
.pricelist tbody th a:hover { color: var(--gold); }
.pricelist td { color: var(--cream-2); }
.pricelist .num { text-align: right; font-weight: 600; color: var(--cream); white-space: nowrap; }
.pricelist td:last-child { text-align: right; width: 1%; padding-right: 0; }

/* ---------- За нас ---------- */
.about-cta { display: grid; justify-items: center; text-align: center; gap: var(--s-3); padding: clamp(40px, 6vw, 96px) var(--s-3); background: var(--night-1); }
.about-cta p { color: var(--cream-2); }
.about-cta .actions { display: flex; gap: var(--s-2); flex-wrap: wrap; justify-content: center; }

/* ---------- Блог: водеща статия + списък ---------- */
.post-meta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; font-size: 14px; color: var(--cream-3); }
.post-lead { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--s-6); align-items: center; }
.post-lead__img { --h: clamp(380px, 40vw, 560px); height: var(--h); display: grid; place-items: end center; background: var(--night-1); overflow: hidden; }
.post-lead__img img { height: calc(var(--h) * 0.9); width: auto; max-width: none; transition: transform 700ms var(--ease-out); }
.post-lead:hover .post-lead__img img { transform: translateY(-8px); }
.post-lead h2 { font-size: clamp(48px, 5.6vw, 88px); margin-top: var(--s-2); }
.post-lead h2 a { text-decoration: none; }
.post-lead .lead { margin-top: var(--s-2); }
.post-lead .link { margin-top: var(--s-3); }
.post-list { display: grid; gap: 4px; margin-top: var(--s-7); }
.post-row a { display: grid; grid-template-columns: 160px minmax(0, 1fr); gap: var(--s-4); align-items: center; padding: var(--s-2); background: var(--night-1); text-decoration: none; transition: background-color var(--d-ui) var(--ease-out); }
.post-row a:hover { background: var(--night-2); }
.post-row__img { display: grid; place-items: center; height: 140px; overflow: hidden; }
.post-row__img img { height: 100%; width: 100%; object-fit: contain; }
.post-row__body { display: grid; gap: 6px; }
.post-row h3 { font-size: clamp(20px, 2vw, 28px); text-transform: uppercase; letter-spacing: 0.06em; }

/* ---------- Статия (шаблон) ---------- */
.article__head { padding-top: var(--s-5); display: grid; gap: var(--s-2); }
.article__head h1 { font-size: clamp(52px, 6.4vw, 104px); }
.article__fig { margin-top: var(--s-5); }
.article__fig img { width: 100%; height: clamp(320px, 42vw, 560px); object-fit: contain; background: var(--night-1); }
.article__body { display: grid; gap: var(--s-3); margin-top: var(--s-6); font-size: var(--fs-lead); }
.article__body h2 { font-size: clamp(36px, 3.6vw, 56px); margin-top: var(--s-4); }
.article__quote { margin: var(--s-3) 0; padding-left: var(--s-4); border-left: 3px solid var(--gold); font-size: clamp(22px, 2.2vw, 30px); font-weight: 500; }
.article__cta { display: flex; flex-wrap: wrap; gap: var(--s-3); align-items: center; margin-top: var(--s-6); padding-top: var(--s-4); }

@media (max-width: 900px) {
  .shop-cats, .post-lead { grid-template-columns: minmax(0, 1fr); }
  .shop-cat a { --card: 460px; }
  .post-row a { grid-template-columns: 96px minmax(0, 1fr); gap: var(--s-2); }
  .post-row__img { height: 96px; }
  .pricelist thead { display: none; }
  .pricelist tr { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 12px; padding: 14px 0; border-bottom: 1px solid var(--edge); }
  .pricelist th, .pricelist td { border: 0; padding: 0; }
  .pricelist td:nth-child(2) { grid-column: 1; font-size: 14px; }
  .pricelist .num { grid-column: 2; grid-row: 1; }
  .pricelist td:last-child { grid-column: 2; grid-row: 2; width: auto; }
}
@media (max-width: 560px) {
  .ledger th, .ledger td { font-size: 15px; padding: 12px 0; }
  .ledger td:nth-child(2) { padding-right: 12px; }
  .ledger td.hand { font-size: 20px; white-space: nowrap; }
  .ledger__page .stamp { position: static; display: inline-block; margin-top: 12px; transform: rotate(-3deg); }
}

/* =====================================================================
   v2 по мокъпа: header без фон, шевица с motion, слайдер, редица, акцент, колаж
   ===================================================================== */

/* ---------- Header: прозрачен, линия, която избледнява към краищата; плаваща лента при скрол нагоре ---------- */
.header-slot { position: relative; z-index: 40; height: var(--header-h); }
.site-header { position: absolute; top: 0; left: 0; right: 0; background: transparent; transition: none; }
.site-header::after {
  left: 50%; right: auto; width: min(var(--container), calc(100% - var(--edge-l) - var(--edge-r))); transform: translateX(-50%); opacity: 1;
  background: linear-gradient(90deg, transparent, var(--gold-line) 30%, var(--gold-line) 70%, transparent); /* taste-skill-ignore: линията под header-а от мокъпа — избледнява към краищата */
}
.site-header__row { padding-top: 22px; }
.site-header.is-floating { position: fixed; background: var(--night-veil); transform: translateY(-100%); transition: transform var(--d-ui) var(--ease-out); }
.site-header.is-floating.is-shown { transform: none; }
.site-header.is-floating .site-header__row { min-height: 76px; padding-top: 0; }
.site-header.is-floating .brand img { width: 104px; }
:root { --header-h: 168px; }
.site-header__util { display: flex; justify-content: space-between; align-items: center; padding-top: 16px; }
.site-header__util .icon-btn { width: 40px; height: 40px; }
.site-header__row { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); padding-top: 0; min-height: 104px; column-gap: clamp(28px, 4vw, 64px); }
.site-header .brand img { width: clamp(150px, 12.5vw, 184px); }
.nav { gap: clamp(24px, 3vw, 48px); }
.site-header.is-floating .site-header__util { position: absolute; top: 0; right: 0; left: 0; height: 76px; padding-top: 0; pointer-events: none; }
.site-header.is-floating .site-header__util > * { pointer-events: auto; }
.site-header.is-floating .lang { visibility: hidden; }

/* ---------- Шевицата: изтъкава се при отваряне, светлина при скрол ---------- */
.shevitsa { left: clamp(10px, 3.8vw, 55px); width: clamp(77px, 8.75vw, 126px); background: none; overflow: hidden; }
.shevitsa__dark { position: absolute; inset: 0; background: url('../brand/shevitsa-tile-dark.svg') repeat-y top center / 100% auto; }
.shev-glow { position: fixed; z-index: 0; top: 0; left: clamp(10px, 3.8vw, 55px); width: clamp(77px, 8.75vw, 126px); height: 100vh; pointer-events: none; opacity: 0; overflow: hidden; }
.shev-glow__band {
  position: absolute; left: 0; right: 0; top: 0; height: 56vh; overflow: hidden; will-change: transform;
  -webkit-mask-image: linear-gradient(180deg, transparent, #000 42%, #000 58%, transparent); mask-image: linear-gradient(180deg, transparent, #000 42%, #000 58%, transparent);
}
.shev-glow__tile { position: absolute; left: 0; right: 0; top: 0; height: calc(56vh + 400px); background: url('../brand/shevitsa-tile-gold.svg') repeat-y top center / 100% auto; will-change: transform; }
.page > .shev-glow { position: fixed; }
@media (max-width: 760px) {
  .shevitsa { width: 40px; left: 0; opacity: 0.7; }
  .shev-glow { display: none; }
}

/* ---------- h1 на началото ---------- */
.home-title { text-align: center; font-size: clamp(26px, 2.6vw, 38px); padding: var(--s-4) var(--gutter) 0; color: var(--cream); }

/* ---------- Филмът в началото (както при JD) ---------- */
.film-top__wrap { padding-top: var(--s-3); }
.film--top { aspect-ratio: 21 / 9; }
.film--top { margin-top: 0; }

/* ---------- Hero слайдер (по мокъпа) ---------- */
.hs { position: relative; overflow: hidden; background: var(--night); transition: background-color 1200ms var(--ease-io); margin-top: var(--s-5); }
.hs[data-tone="warm"] { background: var(--night-warm); }
.hs[data-tone="cool"] { background: var(--night-cool); }
.hs[data-tone="wood"] { background: var(--night-wood); }
.hs__slides { display: grid; }
.hs__slide { grid-area: 1 / 1; }
.js .hs__slide { visibility: hidden; transition: visibility 0s linear 900ms; }
.js .hs__slide.is-active { visibility: visible; transition: none; }
.no-js .hs__slide:not(:first-child) { display: none; }
.hs__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: 40px; min-height: min(820px, 92svh); padding-bottom: 90px; }
.hs__name { font-size: clamp(64px, 7.8vw, 112px); line-height: 0.82; white-space: pre-line; margin-top: 16px; }
.hs__label { color: var(--gold); }
.hs__desc { margin-top: 24px; max-width: 36ch; color: var(--cream-2); font-size: var(--fs-small); }
.hs__buy { display: flex; align-items: center; gap: 18px; margin-top: 30px; flex-wrap: wrap; }
.hs__price { font-size: clamp(34px, 3vw, 44px); }
.hs__stage { position: relative; height: min(760px, 84svh); display: grid; place-items: center; }
.hs__stage::before { content: ''; position: absolute; inset: 6% 2%; background: radial-gradient(closest-side, var(--hs-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката от мокъпа */
.hs__img { position: relative; width: auto; max-width: 100%; height: min(740px, 80svh); filter: drop-shadow(0 50px 50px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет */
.hs__stage--box .hs__img { height: min(640px, 70svh); }
.hs__stage--wide .hs__img { height: auto; width: min(560px, 100%); }
.hs__note { position: absolute; right: 2%; top: 22%; font-size: clamp(32px, 2.8vw, 40px); transform: rotate(-7deg); }
/* влизане на слайда: текстът на стъпки, бутилката изплува */
.js .hs__label, .js .hs__name, .js .hs__desc, .js .hs__buy, .js .hs__note { opacity: 0; transform: translateY(18px); transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out); }
.js .hs__img { opacity: 0; transform: translateY(40px) scale(0.96); transition: opacity 600ms var(--ease-out), transform 600ms var(--ease-out); }
.js .hs__stage::before { opacity: 0; transition: opacity 900ms var(--ease-out); }
.js .is-active .hs__label, .js .is-active .hs__name, .js .is-active .hs__desc, .js .is-active .hs__buy, .js .is-active .hs__note { opacity: 1; transform: none; transition-duration: 900ms; }
.js .is-active .hs__name { transition-delay: 120ms; } .js .is-active .hs__desc { transition-delay: 240ms; } .js .is-active .hs__buy { transition-delay: 340ms; } .js .is-active .hs__note { transition-delay: 700ms; }
.js .is-active .hs__img { opacity: 1; transform: none; transition: opacity 1200ms var(--ease-out) 100ms, transform 1600ms var(--ease-out) 100ms; }
.js .is-active .hs__stage::before { opacity: 1; transition-delay: 200ms; }
.hs__ui { position: absolute; left: 0; right: 0; bottom: 36px; max-width: calc(var(--container) + var(--edge-l) + var(--edge-r)); display: flex; align-items: center; justify-content: space-between; gap: var(--s-3); }
.hs__dots { display: flex; gap: 10px; }
.hs__dots button { width: 44px; height: 44px; padding: 0; border: 0; background: none; display: grid; align-items: center; }
.hs__bar { position: relative; display: block; height: 4px; border-radius: 2px; background: var(--edge-strong); overflow: hidden; transform: scaleX(0.45); transform-origin: left center; transition: transform var(--d-ui) var(--ease-out); }
.hs__dots button:hover .hs__bar { background: var(--cream-3); }
.hs__dots [aria-selected="true"] .hs__bar { transform: none; }
.hs__bar::after { content: ''; position: absolute; inset: 0; background: var(--gold); transform: scaleX(0); transform-origin: left center; }
.hs__dots [aria-selected="true"] .hs__bar::after { transform: scaleX(1); }
.hs.is-ticking .hs__dots [aria-selected="true"] .hs__bar::after { animation: hs-fill 6s linear both; }
@keyframes hs-fill { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.hs__ctrl { display: flex; align-items: center; gap: 12px; }
.hs__count { color: var(--cream-2); margin-right: 6px; font-variant-numeric: tabular-nums; }
.hs__count b { color: var(--cream); font-weight: 700; }

/* ---------- Нашите ракии: редица като при JD — бутилката в центъра, другите встрани ---------- */
.col960 { max-width: calc(960px + var(--edge-l) + var(--edge-r)); }
.lineup2 h2 { font-size: clamp(48px, 5vw, 72px); }
.lineup2 .link { margin-top: 6px; }
.lu { margin-top: var(--s-6); }
.lu__stage { position: relative; height: clamp(440px, 42vw, 580px); max-width: 1000px; margin: 0 auto; }
.lu__item { position: absolute; bottom: 0; left: 50%; height: clamp(420px, 40vw, 560px); transform-origin: 50% 100%; transition: transform 1000ms var(--ease-io), opacity 1000ms var(--ease-io), filter 1000ms var(--ease-io); }
.lu__item img { height: 100%; width: auto; max-width: none; filter: drop-shadow(0 40px 40px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет */
.lu__item[data-pos="center"] { transform: translateX(-50%); z-index: 2; }
.lu__item[data-pos="left"] { transform: translateX(calc(-50% - min(300px, 30vw))) scale(0.75); opacity: 0.45; z-index: 1; }
.lu__item[data-pos="right"] { transform: translateX(calc(-50% + min(300px, 30vw))) scale(0.75); opacity: 0.45; z-index: 1; }
.lu__item[data-pos="left"]:hover, .lu__item[data-pos="right"]:hover { opacity: 0.75; }
.no-js .lu__stage { display: flex; justify-content: center; align-items: flex-end; gap: 56px; }
.no-js .lu__item { position: static; transform: none; opacity: 1; }
.lu__foot { position: relative; text-align: center; padding-top: 28px; }
.lu__cards { display: grid; }
.lu__card { grid-area: 1 / 1; display: grid; justify-items: center; gap: 8px; }
.js .lu__card { opacity: 0; visibility: hidden; transform: translateY(10px); transition: opacity 500ms var(--ease-out), transform 500ms var(--ease-out), visibility 0s linear 500ms; }
.js .lu__card.is-active { opacity: 1; visibility: visible; transform: none; transition: opacity 700ms var(--ease-out) 250ms, transform 700ms var(--ease-out) 250ms; }
.lu__card h3 { font-size: clamp(28px, 2.6vw, 40px); text-transform: uppercase; letter-spacing: 0.1em; }
.lu__card p { color: var(--cream-2); max-width: 34ch; font-size: var(--fs-small); }
.lu__buy { display: flex; align-items: center; gap: var(--s-3); margin-top: 12px; flex-wrap: wrap; justify-content: center; }
.lu__ctrl { position: absolute; right: var(--edge-r); top: 40px; display: flex; gap: 8px; }

/* ---------- Акцент Отлежала (по мокъпа) — бутилката се завърта със скрола ---------- */
.ft__grid { display: grid; grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr); gap: 32px; align-items: center; }
.ft__label { color: var(--cream-2); }
.ft h2 { font-size: clamp(64px, 6.4vw, 92px); margin-top: 18px; }
.ft__text { margin-top: 24px; max-width: 34ch; color: var(--cream-2); }
.ft .btn { margin-top: 30px; }
.ft__box { position: relative; height: clamp(520px, 50vw, 700px); overflow: hidden; background: var(--night-1); --p: 0.5; }
.ft__bar { position: absolute; left: 0; top: 0; bottom: 0; width: 26%; background: var(--gold); opacity: 0.9; transform: translateY(calc((0.5 - var(--p)) * 40px)) scaleY(1.1); }
.ft__img { position: absolute; left: 50%; top: 50%; height: 108%; width: auto; max-width: none; transform: translate(-50%, -48%) rotate(calc(-22deg + var(--p) * 16deg)); filter: drop-shadow(-30px 40px 50px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет */
.ft__note { position: absolute; right: 8%; bottom: 10%; transform: rotate(-6deg); }

/* ---------- Колаж Тетевен (по мокъпа) — парчетата се движат с различна скорост ---------- */
.cl { position: relative; height: 640px; --p: 0.5; }
.cl__main { position: absolute; left: 12%; top: 40px; width: 64%; height: 400px; overflow: hidden; transform: translateY(calc((0.5 - var(--p)) * 30px)); }
.cl__main img { width: 100%; height: 100%; object-fit: cover; }
.cl__kazani { position: absolute; right: 4%; top: 0; width: 22%; height: 170px; overflow: hidden; transform: translateY(calc((0.5 - var(--p)) * -60px)); }
.cl__kazani img { width: 100%; height: 100%; object-fit: cover; }
.cl__plum { position: absolute; left: 0; top: 330px; width: 24%; height: 180px; overflow: hidden; transform: translateY(calc((0.5 - var(--p)) * 70px)); }
.cl__plum img { width: 100%; height: 100%; object-fit: cover; }
.cl__text { position: absolute; left: 28%; top: 470px; }
.cl__text h2 { font-size: clamp(40px, 4vw, 56px); line-height: 0.9; }
.cl__text .btn { margin-top: 20px; }

/* ---------- Мобилно ---------- */
@media (max-width: 900px) {
  :root { --header-h: 84px; }
  .site-header__row { padding-top: 10px; }
  .hs__grid { grid-template-columns: minmax(0, 1fr); min-height: 0; padding-top: 24px; padding-bottom: 110px; gap: 8px; }
  .hs__stage { order: -1; height: 460px; }
  .hs__img { height: 440px; }
  .hs__stage--box .hs__img { height: 380px; }
  .hs__name { font-size: clamp(56px, 15vw, 96px); }
  .hs__ui { bottom: 24px; }
  .hs__count { display: none; }
  .hs__dots { gap: 2px; }
  .hs__dots button { width: 36px; }
  .lu__item[data-pos="left"] { transform: translateX(calc(-50% - 30vw)) scale(0.7); }
  .lu__item[data-pos="right"] { transform: translateX(calc(-50% + 30vw)) scale(0.7); }
  .lu__ctrl { position: static; justify-content: center; margin-top: var(--s-3); }
  .ft__grid { grid-template-columns: minmax(0, 1fr); }
  .ft__box { height: 480px; order: -1; }
  .cl { height: auto; display: grid; gap: 12px; }
  .cl > * { position: static; width: 100%; height: auto; transform: none; }
  .cl__main img { aspect-ratio: 4 / 3; }
  .cl__kazani { aspect-ratio: 16 / 9; }
  .cl__plum { height: 220px; }
  .cl__text { padding-top: var(--s-3); }
}
@media (prefers-reduced-motion: reduce) {
  .js .hs__label, .js .hs__name, .js .hs__desc, .js .hs__buy, .js .hs__note, .js .hs__img, .js .hs__stage::before { transition: none; transform: none; }
  .js .hs__slide:not(.is-active) .hs__img { opacity: 0; }
  .lu__item, .lu__card { transition: none !important; }
  .hs.is-ticking .hs__dots [aria-selected="true"] .hs__bar::after { animation: none; }
  .shev-glow { display: none; }
  .ft__box, .cl { --p: 0.5 !important; }
}
.page > .header-slot { z-index: 40; }
.page > .shev-glow { z-index: 0; }

[hidden] { display: none !important; }
.hs, .hs[data-tone] { background: transparent; }   /* шевицата минава непрекъснато зад слайдера */
.hs__name--long { font-size: clamp(56px, 6vw, 88px); }
@media (max-width: 900px) { .hs__name--long { font-size: clamp(44px, 12vw, 72px); } }
.col960 .harvest .hand { font-size: clamp(46px, 4.4vw, 64px); white-space: nowrap; }
@media (max-width: 560px) {
  .hs__dots button { width: 26px; }
  .hs__ctrl { gap: 6px; }
  .hs__ctrl .icon-btn { width: 40px; height: 40px; }
  .lu__item[data-pos="left"] { transform: translateX(calc(-50% - 34vw)) scale(0.6); }
  .lu__item[data-pos="right"] { transform: translateX(calc(-50% + 34vw)) scale(0.6); }
}

.shevitsa__dark { will-change: transform; }
@media (prefers-reduced-motion: reduce) { .shevitsa__dark { transform: none !important; } }

/* ---------- Тема: лого, превключвател, текст върху снимки ---------- */
.logo--on-light { display: none; }
:root[data-theme="light"] .logo--on-dark { display: none; }
:root[data-theme="light"] .logo--on-light { display: block; }
.header-tools { margin-left: auto;  display: flex; gap: 10px; align-items: center; }
.theme-btn .ico-moon { display: none; }
:root[data-theme="light"] .theme-btn .ico-sun { display: none; }
:root[data-theme="light"] .theme-btn .ico-moon { display: block; }
.menu__foot .theme-btn { width: 40px; height: 40px; }
/* текстът върху снимки остава светъл и в светлата тема */
.photo-hero__body, .photo-hero__body h1, .photo-hero__body .lead, .photo-hero .crumbs a, .photo-hero .crumbs ol, .photo-hero .crumbs [aria-current],
.hero-video__body, .hero-video__title, .hero-video__body .lead, .film figcaption, .film__play, .quote blockquote, .quote blockquote p, .closeup figcaption { color: var(--on-photo); }
.film__play { border-color: var(--on-photo); }
:root[data-theme="light"] .hero-video__body .hand, :root[data-theme="light"] .quote blockquote footer { color: #e2b779; }  /* злато върху тъмна снимка */
/* шевицата в светлата тема — златна и по-тиха */
:root[data-theme="light"] .shevitsa__dark { background-image: url('../brand/shevitsa-tile-gold.svg'); opacity: 0.3; }
:root[data-theme="light"] .shev-glow { mix-blend-mode: multiply; }
:root[data-theme="light"] .site-footer { border-top: 1px solid var(--edge); }

/* ---------- Реколти — тъмна страница, тефтер в тонове на нощта ---------- */
.ledger-page .ledger__page { background: var(--night-1); color: var(--cream); }
.ledger-page .ledger__page + .ledger__page { background: var(--night-2); box-shadow: inset 0 0 0 1px var(--gold); } /* taste-skill-ignore: текущата реколта е отбелязана със златна рамка */
.ledger-page .ledger__page h2 { color: var(--cream); }
.ledger-page .ledger__page--open h2 { color: var(--gold); }
.ledger-page .ledger__date { color: var(--cream-3); }
.ledger-page .ledger th, .ledger-page .ledger td { border-bottom-color: var(--edge); }
.ledger-page .ledger thead th { color: var(--cream-3); }
.ledger-page .ledger td.hand { color: var(--gold); }
.ledger-page .stamp--ink { border-color: var(--cream-3); color: var(--cream-3); }
.ledger-page .numbering__no { color: var(--gold); }
.ledger-page .ledger__page:first-child h2, .ledger-page .ledger__page:first-child td, .ledger-page .ledger__page:first-child th { color: var(--cream-3); }

/* =====================================================================
   Вътрешни страници по модела на JD „Our Story“
   ===================================================================== */
.btn--wide { width: 100%; max-width: 470px; min-height: 56px; }
.chap__eyebrow { color: var(--gold); letter-spacing: 0.18em; }
.chap__p { font-size: clamp(18px, 1.55vw, 22px); line-height: 1.5; color: var(--cream-2); max-width: 40ch; }

/* ---------- Начало на страница със снимка: заглавието стъпва на ръба ---------- */
.ph { position: relative; min-height: min(86svh, 820px); display: grid; align-items: end; margin-top: calc(-1 * var(--header-h)); padding-top: var(--header-h); overflow: hidden; }
.ph__media { position: absolute; inset: 0 0 14% 0; overflow: hidden;
  -webkit-mask-image: linear-gradient(180deg, #000 55%, transparent 100%); mask-image: linear-gradient(180deg, #000 55%, transparent 100%); }
.ph__img { width: 100%; height: 100%; object-fit: cover; filter: grayscale(1) contrast(1.1) brightness(0.55); transform: scale(1.06); transition: transform 2400ms var(--ease-out); }
.ph.is-in .ph__img, .no-js .ph__img { transform: none; }
.ph__body { position: relative; z-index: 2; padding-bottom: var(--s-6); }
.ph__crumbs { padding-top: 0; margin-bottom: var(--s-3); }
.ph__crumbs ol, .ph__crumbs a { color: var(--cream-2); }
.ph__title { font-size: clamp(84px, 12vw, 190px); line-height: 0.8; color: var(--cream); }
.ph__lead { margin-top: var(--s-4); max-width: 40ch; font-size: clamp(18px, 1.55vw, 22px); line-height: 1.5; color: var(--cream-2); }
:root[data-theme="light"] .ph__img { filter: grayscale(1) contrast(0.9) brightness(1.15); opacity: 0.55; }

/* ---------- Начало на страница на магазина: предметите пред огромното име ---------- */
.pho { padding-top: var(--s-3); }
.pho__stage { position: relative; height: clamp(440px, 46vw, 660px); margin-top: var(--s-3); overflow: hidden; }
.pho__title { position: absolute; left: 0; right: 0; top: 4%; text-align: center; font-size: clamp(96px, 19vw, 300px); line-height: 0.8; color: var(--cream); white-space: nowrap; }
.pho__objs { position: absolute; left: 0; right: 0; bottom: 0; display: flex; justify-content: center; align-items: flex-end; gap: clamp(8px, 2vw, 32px); }
.pho__obj { display: block; position: relative; }
.pho__obj img { height: auto; width: auto; max-width: none; filter: drop-shadow(0 40px 40px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет */
.pho__obj--bottle img { height: clamp(260px, 26vw, 400px); }
.pho__obj--hero img { height: clamp(340px, 36vw, 540px); }
.pho__obj--box img { height: clamp(240px, 24vw, 360px); }
.pho__obj--wide img { height: auto; width: clamp(240px, 26vw, 400px); }
.pho__lead { margin-top: var(--s-4); text-align: center; font-size: clamp(18px, 1.55vw, 22px); line-height: 1.5; color: var(--cream-2); max-width: calc(46ch + var(--edge-l) + var(--edge-r)); }
.js .pho__obj { opacity: 0; transform: translateY(60px); transition: opacity 1100ms var(--ease-out), transform 1400ms var(--ease-out); }
.js .pho.is-in .pho__obj { opacity: 1; transform: none; }
.js .pho.is-in .pho__obj:nth-child(2) { transition-delay: 120ms; } .js .pho.is-in .pho__obj:nth-child(3) { transition-delay: 240ms; }
.js .pho.is-in .pho__obj:nth-child(4) { transition-delay: 360ms; } .js .pho.is-in .pho__obj:nth-child(5) { transition-delay: 480ms; }

/* ---------- Глави: ленти на цял екран (JD „Our Story“ / „Our History“) ---------- */
.band { position: relative; min-height: clamp(560px, 58vw, 820px); display: grid; align-items: center; overflow: hidden; isolation: isolate; }
.band__media { position: absolute; inset: 0; z-index: -1; }
.band__media img { width: 100%; height: 100%; object-fit: cover; filter: saturate(0.7) brightness(0.62); }
.band__media::after { content: ''; position: absolute; inset: 0; /* taste-skill-ignore: снимката потъва в нощта към текста и към съседните ленти — като при JD */
  background: linear-gradient(90deg, var(--night) 0%, color-mix(in srgb, var(--night) 78%, transparent) 34%, transparent 70%),
              linear-gradient(180deg, var(--night) 0%, transparent 22%, transparent 78%, var(--night) 100%); }
.band--right .band__media::after { background: linear-gradient(270deg, var(--night) 0%, color-mix(in srgb, var(--night) 78%, transparent) 34%, transparent 70%),
              linear-gradient(180deg, var(--night) 0%, transparent 22%, transparent 78%, var(--night) 100%); }
.band__body { position: relative; width: 100%; padding-block: var(--s-7); }
.band__text { max-width: 560px; display: grid; gap: var(--s-2); justify-items: start; }
.band--right .band__body .band__text { margin-left: auto; }
.band__eyebrow { color: var(--gold); letter-spacing: 0.18em; }
.band__text h2 { font-size: clamp(52px, 5.6vw, 88px); line-height: 0.9; }
.band__p { font-size: clamp(18px, 1.55vw, 22px); line-height: 1.55; color: var(--cream-2); max-width: 40ch; }
.band__text .btn { margin-top: var(--s-3); }
.band__tag { position: absolute; right: var(--edge-r); bottom: var(--s-4); margin: 0; font-size: 13px; color: var(--on-photo); opacity: 0.8; }
/* изрязан предмет срещу текста, върху светлина */
.band--object { min-height: 0; padding-block: clamp(72px, 8vw, 128px); }
.band__grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: center; gap: clamp(32px, 5vw, 96px); }
.band__obj { --h: clamp(420px, 44vw, 660px); height: var(--h); display: grid; place-items: center; background: radial-gradient(closest-side, var(--amber-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката */
.band__obj img { height: var(--h); width: auto; max-width: 100%; object-fit: contain; filter: drop-shadow(0 40px 40px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет */
.band__obj img[src*="plum"] { filter: none; height: calc(var(--h) * 0.86); }
.band--object:not(.band--right) .band__obj { order: 2; }
.band--object .band__tag { color: var(--cream-3); }
:root[data-theme="light"] .band__media img { filter: grayscale(0.35) brightness(1.08); opacity: 0.62; }
:root[data-theme="light"] .band__tag { color: var(--cream-3); }

/* ---------- Центрирана времева линия ---------- */
.tlc__title { text-align: center; }
.tlc__list { display: grid; justify-items: center; margin-top: var(--s-6); }
.tlc__item { display: grid; justify-items: center; text-align: center; gap: 10px; max-width: 46ch; }
.tlc__item + .tlc__item::before { content: ''; display: block; width: 1px; height: 140px; background: var(--gold-line); margin: var(--s-5) 0 var(--s-4); } /* taste-skill-ignore: тънката вертикална линия на времевата линия — като „Our History“ */
.tlc__no { font-size: clamp(64px, 6vw, 96px); line-height: 1; }
.tlc__item h3 { font-size: clamp(22px, 2vw, 28px); text-transform: uppercase; letter-spacing: 0.1em; }
.tlc__item p { font-size: clamp(18px, 1.5vw, 21px); line-height: 1.5; color: var(--cream-2); }

/* ---------- Релса с предмети (без кутии) ---------- */
.rail__head { display: flex; justify-content: space-between; align-items: baseline; gap: var(--s-3); flex-wrap: wrap; }
.rail__list { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: var(--s-5) var(--s-4); margin-top: var(--s-6); }
.rail__item { display: grid; justify-items: center; text-align: center; gap: 8px; }
.rail__img { height: 360px; width: 100%; display: grid; place-items: end center; position: relative; }
.rail__img::before { content: ''; position: absolute; inset: 14% 10% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); opacity: 0; transition: opacity 700ms var(--ease-out); } /* taste-skill-ignore: светлината зад бутилката */
.rail__img img { position: relative; height: 340px; width: auto; max-width: none; filter: drop-shadow(0 30px 30px var(--object-shadow)); transition: transform 700ms var(--ease-out); } /* taste-skill-ignore: сянката на изрязания предмет */
.rail__item:hover .rail__img img { transform: translateY(-10px); }
.rail__item:hover .rail__img::before { opacity: 1; }
.rail__item h3 { font-size: clamp(18px, 1.5vw, 22px); text-transform: uppercase; letter-spacing: 0.1em; margin-top: var(--s-2); }
.rail__item h3 a { text-decoration: none; }
.rail__item p { color: var(--cream-3); font-size: var(--fs-small); }
.rail__buy { display: flex; gap: var(--s-2); align-items: center; justify-content: center; margin-top: 6px; }
.rail__buy .price { font-size: 22px; }

/* ---------- Магазин: три врати без кутии ---------- */
.doors { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); }
.door a { display: grid; justify-items: center; text-align: center; gap: var(--s-2); text-decoration: none; }
.door__img { --h: clamp(300px, 28vw, 420px); height: var(--h); width: 100%; display: grid; place-items: end center; position: relative; }
.door__img::before { content: ''; position: absolute; inset: 10% 6% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката */
.door__img img { position: relative; height: calc(var(--h) * 0.92); width: auto; max-width: none; transition: transform 700ms var(--ease-out); filter: drop-shadow(0 30px 30px var(--object-shadow)); } /* taste-skill-ignore: сянката на изрязания предмет */
.door a:hover .door__img img { transform: translateY(-10px); }
.door h2 { font-size: clamp(52px, 5vw, 80px); margin-top: var(--s-2); }
.door p { color: var(--cream-2); max-width: 30ch; }
.door .link { margin-top: var(--s-1); }
.triad { display: flex; flex-wrap: wrap; gap: 8px 28px; color: var(--cream-3); font-size: var(--fs-label); font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; }

/* ---------- Подаръци: предмети върху фона, табове вместо хапчета ---------- */
.tabs { display: flex; flex-wrap: wrap; gap: 6px 28px; align-items: center; justify-content: center; }
.tab { background: none; border: 0; padding: 0; min-height: var(--tap); color: var(--cream-3); font-size: var(--fs-label); font-weight: 600; letter-spacing: 0.14em; text-transform: uppercase; position: relative; }
.tab::after { content: ''; position: absolute; left: 0; right: 0; bottom: 8px; height: 2px; background: var(--gold); transform: scaleX(0); transition: transform var(--d-ui) var(--ease-out); }
.tab:hover, .tab[aria-pressed="true"] { color: var(--cream); }
.tab[aria-pressed="true"]::after { transform: scaleX(1); }
.tabs .count { width: 100%; text-align: center; color: var(--cream-3); font-size: var(--fs-small); }
.gifts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-7) var(--s-4); margin-top: var(--s-6); }
.gift { display: grid; justify-items: center; text-align: center; gap: 6px; }
.gift__img { height: 380px; width: 100%; display: grid; place-items: end center; position: relative; margin-bottom: var(--s-2); }
.gift__img::before { content: ''; position: absolute; inset: 14% 8% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); } /* taste-skill-ignore: светлината зад бутилката */
.gift__img img { position: relative; max-height: 360px; max-width: 100%; width: auto; height: auto; filter: drop-shadow(0 30px 30px var(--object-shadow)); transition: transform 700ms var(--ease-out); } /* taste-skill-ignore: сянката на изрязания предмет */
.gift:hover .gift__img img { transform: translateY(-10px); }
.gift h3 { font-size: clamp(20px, 1.6vw, 24px); text-transform: uppercase; letter-spacing: 0.1em; }
.gift h3 a { text-decoration: none; }
.gift__meta { color: var(--cream-2); }
.gift__tags { color: var(--cream-3); font-size: var(--fs-small); }

/* ---------- Контакти: адресът с едър текст ---------- */
.addr__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-5); font-style: normal; }
.addr__big { font-size: clamp(20px, 1.8vw, 26px); line-height: 1.4; margin-top: 8px; }
.addr__big a { text-decoration: none; }
.addr__big a:hover { color: var(--gold); }
.contact-form { background: none; padding: 0; }

/* ---------- Дегустация върху снимка (продукт) ---------- */
.taste { position: relative; min-height: 560px; display: grid; align-items: center; overflow: hidden; margin-top: var(--section); }
.taste__img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; filter: grayscale(0.5) brightness(0.5); }
.taste__wrap { position: relative; z-index: 2; display: grid; justify-items: end; }
.taste__panel { width: min(440px, 100%); padding: var(--s-5); background: var(--scrim); color: var(--on-photo); }
.taste__panel dl { display: grid; gap: var(--s-4); margin: 0; }
.taste__panel dt { font-size: clamp(26px, 2.4vw, 34px); font-weight: 600; text-transform: uppercase; letter-spacing: 0.1em; }
.taste__panel dd { margin: 4px 0 0; }
.taste__panel .tbd { color: #e2b779; }
.taste__panel p { margin-top: var(--s-3); }

/* ---------- Затварящият блок ---------- */
.closing + .closing { padding-top: var(--s-7); }

@media (max-width: 900px) {
  .ph { min-height: 72svh; }
  .ph__media { inset: 0 0 20% 0; }
  .band { min-height: 0; align-items: end; }
  .band__media { inset: 0 0 auto 0; height: 62vw; min-height: 300px; }
  .band__media::after, .band--right .band__media::after { background: linear-gradient(0deg, var(--night) 0%, transparent 45%), linear-gradient(180deg, var(--night) 0%, transparent 20%); }
  .band__body { padding-top: max(300px, 52vw); padding-bottom: var(--s-6); }
  .band--right .band__body .band__text { margin-left: 0; }
  .band__tag { top: var(--s-3); bottom: auto; }
  .band__grid { grid-template-columns: minmax(0, 1fr); }
  .band--object:not(.band--right) .band__obj { order: 0; }
  .band__obj { --h: 380px; }
  .doors, .gifts, .addr__grid { grid-template-columns: minmax(0, 1fr); }
  .pho__title { font-size: 24vw; top: 2%; }
  .pho__obj--box, .pho__objs .pho__obj:nth-child(4), .pho__objs .pho__obj:nth-child(5) { }
  .pho__objs { gap: 0; }
  .pho__obj--bottle img { height: 240px; } .pho__obj--hero img { height: 300px; } .pho__obj--box img { height: 220px; } .pho__obj--wide img { width: 220px; }
  .taste__wrap { justify-items: stretch; }
  .tlc__item + .tlc__item::before { height: 64px; }
}
@media (max-width: 560px) {
  .pho__objs .pho__obj:nth-child(4), .pho__objs .pho__obj:nth-child(5) { display: none; }
  .pho__stage { height: 380px; }
}
@media (prefers-reduced-motion: reduce) {
  .js .pho__obj { opacity: 1; transform: none; transition: none; }
  .ph__img { transform: none; transition: none; }
}

/* ---------- Header на таблет и телефон: бургер, лого, инструменти в един ред ---------- */
@media (max-width: 1100px) {
  :root { --header-h: 92px; }
  .site-header__util { position: absolute; top: 0; left: 0; right: 0; height: var(--header-h); padding-top: 0; pointer-events: none; justify-content: flex-end; }
  .site-header__util > * { pointer-events: auto; }
  .site-header__row { grid-template-columns: auto minmax(0, 1fr) auto; min-height: var(--header-h); padding-top: 0; }
  .site-header .brand img { width: 124px; }
}
@media (max-width: 900px) {
  :root { --header-h: 80px; }
  .site-header .brand img { width: 104px; }
}

/* ---------- Началото: подаръците като релса с предмети (без кутии) ---------- */
.rail__list--gifts { margin-top: var(--s-6); grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rail__more { margin-top: var(--s-5); text-align: center; }
@media (max-width: 900px) {
  .rail__list--gifts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5) var(--s-2); }
  .rail__list--gifts .rail__img { height: 260px; }
  .rail__list--gifts .rail__img img { height: 240px; max-width: 100%; object-fit: contain; }
  .rail__list--gifts .rail__buy { flex-wrap: wrap; }
  .film--top { aspect-ratio: 16 / 9; }
}
@media (max-width: 560px) {
  .rail__list--gifts { grid-template-columns: minmax(0, 1fr); }
  .rail__list--gifts .rail__img { height: 320px; }
  .rail__list--gifts .rail__img img { height: 300px; }
}

/* ---------- Цитатът на Вазов: на цял екран, снимка в снимката (JD „Every day we make it“) ---------- */
.quote { margin-inline: calc(50% - 50vw); aspect-ratio: auto; height: clamp(520px, 50vw, 760px); }
.quote__frame, .quote blockquote { inset: 11% var(--edge-r) 11% var(--edge-l); }
.rail__list--gifts .rail__item h3 { font-size: clamp(16px, 1.25vw, 19px); letter-spacing: 0.06em; }
@media (max-width: 900px) { .quote { height: auto; aspect-ratio: 3 / 4; } .quote__frame, .quote blockquote { inset: 22px max(18px, 6vw); } }
/* казаните: медните колони да остават в кадър */
.band__media img[src*="kazani"] { object-position: 50% 15%; }

/* ---------- Рамката на телефон: шевицата е 40px вляво — текстът започва вдясно от нея ---------- */

/* ---------- Имената се мащабират по колоната си: еднословните имена не се чупят, нищо не излиза от рамката ----------
   „традиционна“ на Kramola е ~5,3em широка → 18cqi се събира в колоната с малък запас */
.product__info, .hs__text, .shelf__info { container-type: inline-size; }
.product__info h1 { font-size: min(clamp(64px, 8.6vw, 132px), 18cqi); overflow-wrap: normal; }
.hs__name, .hs__name--long { font-size: min(clamp(56px, 7.8vw, 112px), 18cqi); overflow-wrap: normal; }
.shelf__info h2 { font-size: min(clamp(52px, 5.8vw, 92px), 18cqi); }
/* релсата с подаръци: предметът никога не е по-широк от колоната си */
.rail__list--gifts .rail__img img { max-width: 100%; object-fit: contain; }
/* предметите пред името в магазина: стоят в рамката и се свиват заедно */
.pho__objs { left: var(--edge-l); right: var(--edge-r); }
.pho__obj { flex: 0 1 auto; min-width: 0; display: flex; justify-content: center; }
.pho__obj img { max-width: 100%; object-fit: contain; }
@media (max-width: 900px) {
  .hs__name, .hs__name--long { font-size: min(clamp(44px, 12vw, 96px), 18cqi); }
}
/* заглавието на страницата се мащабира по рамката — „реколтите“ се събира и на телефон */
.ph__body { container-type: inline-size; }
.ph__title { font-size: min(clamp(84px, 12vw, 190px), 21cqi); overflow-wrap: normal; }
/* етикетът [снимка: …] стои на дясната линия на рамката и при широк екран */
.band__tag { right: max(var(--edge-r), calc((100% - var(--container)) / 2)); }
/* подаръците: 4 в ред само когато има място */
@media (max-width: 1200px) and (min-width: 901px) { .rail__list--gifts { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* обобщението в плащането: дългото име се пренася, цената не излиза */
.line__top > :first-child { min-width: 0; }
.line__top > :last-child { flex-shrink: 0; }
/* тефтерът на телефон: по-тесни полета, заглавията на колоните не се сливат */
@media (max-width: 760px) {
  .ledger__page { padding-inline: 16px; }
  .ledger thead th { letter-spacing: 0.06em; font-size: 11px; padding-right: 8px; }
  .ledger td, .ledger th { padding-right: 8px; }
}

/* =====================================================================
   Всички продукти: стандартна решетка (като сегашния сайт), в рамката
   ===================================================================== */
.pg-page { padding-top: var(--s-4); }
.pg__head { display: grid; gap: var(--s-3); justify-items: center; text-align: center; }
.pg__head h1 { font-size: clamp(52px, 6vw, 96px); }
.pg { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-6) clamp(16px, 2.4vw, 32px); margin-top: var(--s-6); }
.pg__item { display: grid; grid-template-rows: auto auto auto auto 1fr; justify-items: center; text-align: center; gap: 6px; }
.pg__item[hidden] { display: none; }
.pg__img { --h: clamp(280px, 26vw, 380px); position: relative; width: 100%; height: var(--h); display: grid; place-items: end center; background: var(--night-1); overflow: hidden; margin-bottom: var(--s-2); }
.pg__img::before { content: ''; position: absolute; inset: 12% 14% 0; background: radial-gradient(closest-side, var(--amber-glow), transparent); opacity: 0.7; } /* taste-skill-ignore: светлината зад бутилката */
.pg__img img { position: relative; height: calc(var(--h) * 0.86); width: auto; max-width: 92%; object-fit: contain; filter: drop-shadow(0 24px 24px var(--object-shadow)); transition: transform 700ms var(--ease-out); } /* taste-skill-ignore: сянката на изрязания предмет */
.pg__img--photo::before { display: none; }
.pg__img--photo img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: 50% 18%; filter: none; }
@media (hover: hover) { .pg__item:hover .pg__img img { transform: translateY(-8px); } .pg__item:hover .pg__img--photo img { transform: scale(1.03); } }
.pg__name { font-family: var(--font-text); font-size: clamp(16px, 1.25vw, 19px); font-weight: 600; text-transform: uppercase; letter-spacing: 0.08em; line-height: 1.3; }
.pg__name a { text-decoration: none; }
.pg__meta { color: var(--cream-3); font-size: 14px; }
.pg__price .price { font-size: 20px; }
.pg__bgn { color: var(--cream-3); font-size: 14px; }
.pg__buy { align-self: end; margin-top: 6px; }
@media (max-width: 1100px) { .pg { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .pg { gap: var(--s-5) 12px; } .pg__img { --h: 230px; } .pg__name { font-size: 14px; letter-spacing: 0.05em; } .pg__buy .btn { padding: 0 14px; } }
/* снимка на тениска в продукта: главата и логото в кадър */
.product__stage--paper .product__photo { object-position: 50% 22%; }
.chip--size { min-width: 56px; justify-content: center; }

/* =====================================================================
   Телефон и таблет: header като при JD — бургер, лого, количка; темата и езикът са в менюто
   ===================================================================== */
@media (max-width: 1100px) {
  .site-header .theme-btn { display: none; }
  .site-header .icon-btn { border-color: transparent; }
  .site-header .icon-btn svg { width: 22px; height: 22px; }
}
/* мобилното меню: по-малки и по-спокойни точки (бяха 27px, удебелени) */
.menu__tree > li > a { font-size: 20px; font-weight: 500; letter-spacing: 0.12em; padding: 11px 0; }
.menu__tree ul a { font-size: 15px; letter-spacing: 0.08em; text-transform: uppercase; padding: 10px 0; }
.menu__tree ul { padding-left: 16px; border-left-width: 1px; margin-block: 2px 8px; }
.menu__head .icon-btn { border-color: transparent; }
.menu__foot { gap: var(--s-2); border-top: 1px solid var(--edge); padding-top: var(--s-3); }
/* мобилното меню: списъкът започва отгоре и се скролва, нищо не се реже */
.menu nav { align-content: start; padding-top: var(--s-3); }
@media (max-width: 560px) { .pg__head .tabs { gap: 4px 20px; } }

/* ---------- Телефон: съдържанието застъпва шевицата, а тя е по-бледа (фон, не рамка) ---------- */
@media (max-width: 760px) {
  .shevitsa { opacity: 0.32; }
  :root[data-theme="light"] .shevitsa__dark { opacity: 0.18; }
}
/* ---------- Мобилното меню се събира на един екран, без скрол ---------- */
.menu nav { overflow: visible; align-content: center; padding-top: 0; }
.menu__tree > li > a { font-size: clamp(17px, 2.6svh, 20px); padding: clamp(5px, 1.3svh, 11px) 0; }
.menu__tree ul { margin-block: 0 clamp(2px, 0.8svh, 8px); }
.menu__tree ul a { padding: clamp(4px, 1svh, 10px) 0; }
.menu__head { min-height: clamp(60px, 9svh, 80px); }
.menu__foot { display: flex; align-items: center; gap: var(--s-3); padding-block: var(--s-2) var(--s-3); border-top: 1px solid var(--edge); }
.menu__tel { margin-right: auto; color: var(--cream-2); font-size: var(--fs-small); min-height: var(--tap); display: inline-flex; align-items: center; }
.menu__foot .lang { display: flex; }
.menu__foot .theme-btn { width: var(--tap); height: var(--tap); border-color: transparent; }
/* телефон: еднакви полета от двете страни, съдържанието минава върху бледата шевица */
@media (max-width: 760px) { :root { --edge-l: var(--gutter); --edge-r: var(--gutter); } }

/* ---------- Галерия (секция „Галерия“ от админа) + увеличаване ---------- */
.gal__head { display: flex; flex-wrap: wrap; align-items: end; justify-content: space-between; gap: var(--s-2); margin-bottom: var(--s-4); }
.gal__label { color: var(--gold); width: 100%; margin: 0; }
.gal__head h2 { margin: 0; }
.gal__grid { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-flow: dense; gap: var(--s-2); }
.gal__item { min-width: 0; }
.gal__item figure { margin: 0; height: 100%; display: flex; flex-direction: column; gap: 8px; }
.gal__open { display: block; width: 100%; padding: 0; border: 0; background: var(--night-2, #111); cursor: zoom-in; overflow: hidden; aspect-ratio: 4 / 3; flex: 1; position: relative; }
.gal__open img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 900ms var(--ease-out); }
.gal__open:hover img, .gal__open:focus-visible img { transform: scale(1.04); }
.gal__open:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.gal__cap { font-size: 14px; color: var(--cream-3); line-height: 1.45; }
.gal__cap:empty { display: none; }
/* телефон: 2 колони, първата снимка е на цял ред; ако последната остане сама — също на цял ред */
.gal__grid > .gal__item:first-child, .gal__grid > .gal__item:last-child:nth-child(2n) { grid-column: span 2; }
.gal__grid > .gal__item:first-child .gal__open, .gal__grid > .gal__item:last-child:nth-child(2n) .gal__open { aspect-ratio: 16 / 9; }
/* компютър: 3 колони, първата е голяма (2×2); последният ред винаги се допълва */
@media (min-width: 760px) {
  .gal__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .gal__grid > .gal__item:last-child:nth-child(2n) { grid-column: auto; }
  .gal__grid > .gal__item:last-child:nth-child(2n) .gal__open { aspect-ratio: 4 / 3; }
  .gal__grid > .gal__item:first-child { grid-column: span 2; grid-row: span 2; }
  .gal__grid > .gal__item:first-child .gal__open { aspect-ratio: auto; min-height: 100%; }
  .gal__grid > .gal__item:last-child:nth-child(3n+1):not(:first-child) { grid-column: span 3; }
  .gal__grid > .gal__item:last-child:nth-child(3n+1):not(:first-child) .gal__open { aspect-ratio: 21 / 8; }
  .gal__grid > .gal__item:last-child:nth-child(3n+2):not(:nth-child(2)) { grid-column: span 2; }
  .gal__grid > .gal__item:last-child:nth-child(3n+2):not(:nth-child(2)) .gal__open { aspect-ratio: 16 / 7; }
}
/* лента: хоризонтално, с плъзгане */
.gal--rail .gal__grid { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: var(--s-2); padding-bottom: var(--s-2); scrollbar-width: thin; }
.gal--rail .gal__item { flex: 0 0 min(78vw, 420px); scroll-snap-align: start; }
.gal--rail .gal__item:first-child, .gal--rail .gal__item:last-child { grid-column: auto; grid-row: auto; }
.gal--rail .gal__item .gal__open { aspect-ratio: 3 / 4 !important; min-height: 0 !important; }
.gal--rail .gal__open { aspect-ratio: 3 / 4; }
@media (prefers-reduced-motion: reduce) { .gal__open img { transition: none; } }

.lb { position: fixed; inset: 0; z-index: 1000; background: rgb(8, 6, 4); color: var(--cream); display: grid; grid-template-rows: auto minmax(0, 1fr) auto; padding: calc(env(safe-area-inset-top, 0px) + 12px) max(12px, env(safe-area-inset-right, 0px)) calc(env(safe-area-inset-bottom, 0px) + 12px) max(12px, env(safe-area-inset-left, 0px)); }
.lb[hidden] { display: none; }
.lb__bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.lb__count { font-size: 14px; letter-spacing: 0.08em; color: var(--cream-3); font-variant-numeric: tabular-nums; }
.lb__stage { position: relative; display: grid; place-items: center; min-height: 0; touch-action: pan-y; }
.lb__stage img { max-width: 100%; max-height: calc(100vh - 150px); max-height: calc(100dvh - 150px); width: auto; height: auto; object-fit: contain; user-select: none; }
.lb__nav { position: absolute; top: 50%; transform: translateY(-50%); }
.lb__nav--prev { left: 0; } .lb__nav--next { right: 0; }
.lb__cap { text-align: center; font-size: 15px; color: var(--cream-2); min-height: 1.5em; padding-top: 10px; }
.lb .icon-btn { background: rgba(0, 0, 0, 0.45); }
body.lb-open { overflow: hidden; }

/* ---------- Бисквитки: банер (Уеб сайт → Анализи; логиката е в site.js, AN) ---------- */
.ck { position: fixed; z-index: 80; left: max(16px, env(safe-area-inset-left, 0px)); right: max(16px, env(safe-area-inset-right, 0px)); bottom: calc(16px + env(safe-area-inset-bottom, 0px));
  max-width: 720px; margin: 0 auto; max-height: calc(100svh - 32px); overflow-y: auto; background: var(--night-2); color: var(--cream); border: 1px solid var(--gold-line); border-radius: 4px; padding: 20px 22px; box-shadow: 0 10px 30px var(--panel-shadow); }
.ck[hidden] { display: none; }
.ck__t { color: var(--gold); margin: 0 0 8px; }
.ck p { font-size: 14px; line-height: 1.6; color: var(--cream-2); margin: 0 0 14px; }
.ck a { color: var(--gold); text-decoration: underline; text-underline-offset: 3px; }
.ck__btns { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }
.ck__btns[hidden], .ck__opts[hidden] { display: none; }
.ck__opts { border-top: 1px solid var(--gold-line); margin: 0 0 14px; }
.ck__opt { display: flex; gap: 12px; align-items: flex-start; padding: 12px 0; border-bottom: 1px solid var(--gold-line); }
.ck__opt b { display: block; font-size: 14px; font-weight: 600; color: var(--cream); }
.ck__opt span { font-size: 13px; color: var(--cream-3); line-height: 1.5; }
.ck__sw { margin-left: auto; flex: none; width: 46px; height: 26px; border-radius: 13px; border: 1px solid var(--gold); background: transparent; position: relative; cursor: pointer; padding: 0; }
.ck__sw::after { content: ''; position: absolute; top: 3px; left: 3px; width: 18px; height: 18px; border-radius: 50%; background: var(--cream-3); transition: transform .15s; }
.ck__sw[aria-checked="true"] { background: var(--gold); }
.ck__sw[aria-checked="true"]::after { transform: translateX(20px); background: var(--night); }
.ck__sw[aria-disabled="true"] { opacity: .55; cursor: not-allowed; }
.ck__sw:focus-visible, .link-btn:focus-visible { outline: 2px solid var(--cream); outline-offset: 2px; }
.link-btn { background: none; border: 0; padding: 4px 2px; font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 3px; cursor: pointer; text-align: left; }
.ck .link-btn { color: var(--cream); font-size: 13px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; min-height: 44px; }
@media (prefers-reduced-motion: reduce) { .ck__sw::after { transition: none; } }
.site-footer .link-btn { color: var(--cream-2); text-decoration: none; min-height: 32px; font-size: var(--fs-small); padding: 0; }
.site-footer .link-btn:hover { color: var(--gold); }

/* ---------- Таблица в текст на страница (напр. „Бисквитки“, WStat::cookies) ---------- */
.article__body .table-wrap { overflow-x: auto; margin-block: var(--s-4, 24px); -webkit-overflow-scrolling: touch; }
.article__body table { width: 100%; min-width: 620px; border-collapse: collapse; font-size: var(--fs-small); }
.article__body th, .article__body td { text-align: left; vertical-align: top; padding: 10px 12px 10px 0; border-bottom: 1px solid var(--edge); }
.article__body th { color: var(--cream); font-weight: 600; border-bottom-color: var(--gold-line); }
.article__body td { color: var(--cream-2); }
.article__body td code { color: var(--cream); font-size: .95em; overflow-wrap: anywhere; }
.article__body td small { color: var(--cream-3); }
