/* =========================================================
   Сладкарници „Роза“ — основен стилов файл
   ========================================================= */

:root{
  /* ==== Bordeaux / Rose Dust — PRIMARY бранд цвят (заедно с Vanilla и
     Chocolate Ganache долу). Rose Dust НЕ е малък accent — има значимо
     визуално присъствие: panel/section фонове, CTA, selected states,
     hover, brand surfaces. Bordeaux (по-тъмните --rose-9xx/7xx) остава
     за heading текст и логото. ==== */
  --rose-950:#3a1c22;   /* bordeaux, най-тъмен — footer, topbar, текст на тъмно */
  --rose-900:#5c2530;   /* bordeaux deep — headings hover, dark accents */
  --rose-800:#7c3247;
  --rose-700:#96394f;   /* bordeaux — лого, заглавия, CTA, selected states */
  --rose-600:#a8455c;
  --rose-500:#bc5b6f;
  --rose-300:#e9bcc4;
  --rose-200:#f3d8db;
  --rose-100:#faeaec;
  --rose-dust-700:#9c5568; /* rose dust — вторичен акцент, фини UI елементи */
  --rose-dust-500:#b97690;
  --rose-dust-300:#dcaebc;
  --maroon-900:#4a2028; /* точен цвят на topbar/footer от test.veriga-roza.com — по-тъмен и по-червен от rose-950 */
  --rose-mauve:#a45f70; /* product finder лента + сезонен promo банер — измерено от live сайта */

  /* ==== Vanilla / Warm Ivory — PRIMARY цвят: доминиращ светъл фон,
     основният неутрален UI повърхностен цвят (карти/инпути/dropdown-и
     ползват --vanilla-deep вместо Powder) ==== */
  --vanilla:#fdfaf3;
  --vanilla-deep:#f8f1e3;
  --vanilla-blush:#fdf7f3; /* светло, между ванилия и нежна пудра (28.09) */ --vanilla-blush-old:#fcf8f6; /* точна стойност от test-roza.almateastudio.com (rgb(252,248,246)) — почти неутрален крем, не розов */
  --blush-50:#fdfaf3;   /* alias, запазен за съвместимост */
  --blush-100:#f8f1e3;
  --cream:#fffdf8;

  /* ==== Powder / Light Powder Pink — остава в палитрата, но НИКОГА като
     основа/фон на "прозорци" (карти, панели, dropdown-и, инпути — виж
     --vanilla-deep за тях). Позволено само за малки декоративни детайли:
     badge-и, тънки backdrop градиенти, романтични/сезонни щрихи (виж
     "Момент" страницата). ==== */
  --surface:#f8e8e2;     /* powder — само декоративен акцент, не window фон */
  --surface-2:#f2dad4;   /* powder hover — фини tonal hover states */
  --surface-3:#ebcbc8;
  --mega-rail-bg:#f4ebe3;     /* мега меню, лява колона — измерено от test.veriga-roza.com */
  --mega-rail-active:#e6cec9; /* мега меню, активен/hover ред */

  /* ==== Champagne Gold — задължителен детайл, но ВИНАГИ нежно светло
     злато (--gold-500 или по-светло), никога тъмно (--gold-600) и
     никога плътни площи — само деликатни линии/сепаратори/икони/labels ==== */
  --gold-600:#ad9268;
  --gold-500:#c2a97e;
  --gold-300:#ddc79c;
  --gold-100:#f0e6d2;

  /* ==== Chocolate Ganache — PRIMARY цвят: основен текст, борders, тъмни
     секции (footer/topbar), premium contrast, шоколадова категория ==== */
  --ink-900:#4a3222;  /* = ganache-700, основен текст навсякъде вместо черно */
  --ink-700:#5a4536;
  --ink-500:#8a7565;
  --ink-300:#bcaa9c;
  --ganache-700:#4a3222;  /* акцент за категория Шоколад и бонбони */
  --ganache-500:#6b4a34;

  /* ==== Milky Mint — САМО за Gelato и детски торти, никъде другаде ==== */
  --mint-600:#8fb9a8;
  --mint-300:#c7e2d6;
  --mint-100:#e6f3ee;

  /* ==== Единна UI система — radius / border / hover transition ====
     Рамките навсякъде в сайта са в плътен Chocolate Ganache и минимално
     заоблени (почти правоъгълни), преминават към Champagne Gold при hover. */
  --border-width: 1px;
  --border-color-default: var(--ganache-700); /* Chocolate Ganache — плътен */
  --border-color-hover: var(--gold-500);       /* Champagne Gold */
  --transition-ui: 200ms ease;

  --border-rose: var(--border-width) solid var(--border-color-default);
  --border-rose-soft: 1px solid rgba(74,50,34,.12);

  --white:#ffffff;

  --font-script: 'Playfair Display', 'Georgia', serif;
  --font-serif: 'Playfair Display', 'Georgia', serif;
  --font-sans: 'Nunito Sans', system-ui, sans-serif; /* основен текст — Nunito Sans (03.11); заглавия, хедър и мега менюто — Playfair */
  --font-accent: 'Cormorant Garamond', 'Georgia', serif; /* акцент: „1 бр.“, „Разгледайте“, „Поръчайте“ (03.11) */

  --shadow-sm: 0 2px 8px rgba(60,25,35,.05);
  --shadow-md: 0 8px 22px rgba(60,25,35,.08);
  --shadow-lg: 0 16px 38px rgba(60,25,35,.11);

  --radius-control: 2px;  /* инпути / бутони — почти правоъгълни, минимално заобляне */
  --radius-card: 3px;     /* карти / dropdown панели / finder контейнер — минимално заобляне */

  --radius-sm: var(--radius-control);
  --radius-md: var(--radius-card);
  --radius-lg: var(--radius-card);
  --radius-round: var(--radius-control);

  --container: 1240px;
  --header-h: 131px; /* topbar + header-row-v2, несвит (неscrolled) — за calc(100vh - ...) в Hero */
}

*,*::before,*::after{ box-sizing:border-box; }
/* Глобален safety-net: author правила с "display:X" имат същата
   специфичност като UA правилото [hidden]{display:none} и печелят
   по CSS origin, дори когато са дефинирани преди тук — открито при
   .rose-panel (панелът оставаше видим въпреки hidden атрибута).
   С !important тук гарантираме, че hidden атрибутът винаги печели,
   независимо какви display правила се добавят другаде в бъдеще. */
[hidden]{ display:none !important; }
html{ scroll-behavior:smooth; font-size:100%; } /* Nunito Sans — нормален размер (03.11) */
body{
  margin:0;
  font-family:var(--font-sans);
  color:var(--ink-900);
  background:var(--blush-50);
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{ max-width:100%; display:block; }
.icon{ width:20px; height:20px; flex:none; }
.photo-cover{ width:100%; height:100%; object-fit:cover; display:block; transition:transform .6s ease; }
.ken-burns{ animation:kenburns 16s ease-in-out infinite alternate; }
@keyframes kenburns{ from{ transform:scale(1); } to{ transform:scale(1.08); } }
a{ color:inherit; text-decoration:none; transition:color var(--transition-ui); }
ul{ list-style:none; margin:0; padding:0; }
h1,h2,h3,h4{ font-family:var(--font-serif); margin:0 0 .5em; color:var(--rose-900); font-weight:600; }
p{ margin:0 0 1em; line-height:1.7; color:var(--ink-500); }
button{ font-family:inherit; cursor:pointer; transition:color var(--transition-ui), border-color var(--transition-ui), background-color var(--transition-ui); }
input,select,textarea{ font-family:inherit; color:inherit; }
.script{ font-family:var(--font-script); color:var(--gold-500); font-weight:600; font-style:italic; }

.container{ max-width:var(--container); margin:0 auto; padding:0 24px; }
.section{ padding:72px 0; }
.section-tight{ padding:40px 0; }

/* Нежен контур между секциите — важи навсякъде по подразбиране;
   секции със собствена специфична рамка (finder-section, features)
   я запазват, защото клас-селектор бие този element-based. */
main > section + section{ border-top:var(--border-rose-soft); }

.eyebrow{
  display:inline-flex; align-items:center; gap:8px;
  font-size:.78rem; letter-spacing:.14em; text-transform:uppercase;
  color:var(--rose-600); font-weight:600; margin-bottom:14px;
}
.eyebrow::before{ content:""; width:22px; height:1px; background:var(--gold-500); }

.section-head{ max-width:640px; margin-bottom:40px; }
.section-head.center{ margin-left:auto; margin-right:auto; text-align:center; }
.section-head h2{ font-size:2rem; }
@media (max-width:600px){ .section-head h2{ font-size:1.7rem; } }

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  padding:14px 30px; border-radius:var(--radius-control);
  font-size:.86rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase;
  border:var(--border-width) solid transparent; transition:var(--transition-ui); white-space:nowrap;
}
.btn-primary{ background:transparent; color:var(--rose-dust-700); box-shadow:none; border:var(--border-width) solid var(--rose-dust-700); }
.btn-primary:hover{ background:var(--rose-dust-700); color:var(--vanilla); transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.btn-outline{ background:transparent; border-color:var(--rose-700); color:var(--rose-700); }
@media (max-width:480px){
  /* Дълги CTA надписи не бива да принуждават хоризонтален page scroll
     на тесни мобилни екрани — бутоните остават центрирани, само им
     позволяваме да пренесат текста на втори ред вместо да преливат. */
  .btn{ white-space:normal; text-align:center; }
}
.btn-outline:hover{ background:var(--rose-700); color:var(--vanilla); }
.btn-ghost{ background:var(--vanilla-deep); color:var(--rose-700); box-shadow:var(--shadow-sm); border:var(--border-rose); }
.btn-ghost:hover{ background:var(--surface-2); border-color:var(--border-color-hover); }
/* Gold остава fine-accent, не голяма плътна площ — outline вместо solid fill. */
.btn-gold{ background:transparent; color:var(--gold-500); border:var(--border-width) solid var(--gold-500); }
.btn-gold:hover{ background:var(--gold-500); color:var(--rose-950); }
.btn-sm{ padding:10px 20px; font-size:.76rem; }
.btn-block{ width:100%; }
.btn[disabled]{ opacity:.5; cursor:not-allowed; }
.btn-icon{
  width:44px; height:44px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:var(--vanilla-deep); box-shadow:var(--shadow-sm); border:var(--border-rose); flex:none; color:var(--rose-700);
  transition:var(--transition-ui);
}
.btn-icon:hover{ background:var(--surface-2); border-color:var(--border-color-hover); color:var(--gold-500); }

.link-arrow{ color:var(--rose-700); font-weight:600; font-size:.85rem; display:inline-flex; align-items:center; gap:6px; transition:var(--transition-ui); }
.link-arrow svg{ transition:var(--transition-ui); width:14px; height:14px; }
.link-arrow:hover{ color:var(--gold-500); }
.link-arrow:hover svg{ transform:translateX(4px); }

/* =========================================================
   Информационни панели — 3 основни варианта, редувани из сайта
   според композицията на страницата (никога еднакъв panel color
   навсякъде): Rose Dust / Vanilla / Chocolate Ganache.
   ========================================================= */
.panel-rose, .panel-vanilla, .panel-ganache{
  border-radius:var(--radius-lg); padding:32px;
}
.panel-rose h1, .panel-rose h2, .panel-rose h3, .panel-rose h4,
.panel-ganache h1, .panel-ganache h2, .panel-ganache h3, .panel-ganache h4{ color:var(--vanilla-deep); }
.panel-rose p, .panel-rose li, .panel-rose span,
.panel-ganache p, .panel-ganache li, .panel-ganache span{ color:var(--vanilla-deep); }

.panel-rose{ background:var(--rose-dust-700); border:1px solid var(--gold-500); }
.panel-rose strong, .panel-rose .panel-highlight{ color:var(--gold-300); }
.panel-rose a:not(.btn){ color:var(--gold-300); }
.panel-rose .eyebrow{ color:var(--gold-300); }
.panel-rose .eyebrow::before{ background:var(--gold-300); }

.panel-vanilla{ background:var(--vanilla); border:var(--border-rose); color:var(--ganache-700); }
.panel-vanilla h1, .panel-vanilla h2, .panel-vanilla h3, .panel-vanilla h4{ color:var(--rose-900); }
.panel-vanilla p, .panel-vanilla li{ color:var(--ganache-700); }
.panel-vanilla strong, .panel-vanilla .panel-highlight{ color:var(--rose-dust-700); }

.panel-ganache{ background:var(--ganache-700); border:1px solid var(--gold-500); }
.panel-ganache strong, .panel-ganache .panel-highlight{ color:var(--gold-300); }
.panel-ganache a:not(.btn){ color:var(--gold-300); }
.panel-ganache .eyebrow{ color:var(--gold-300); }
.panel-ganache .eyebrow::before{ background:var(--gold-300); }

/* Бутони вътре в тъмни панели — обръщат се към Vanilla, за да четат
   добре върху Rose Dust / Ganache фон. */
.panel-rose .btn-primary, .panel-ganache .btn-primary{ border-color:var(--vanilla); color:var(--vanilla-deep); }
.panel-rose .btn-primary:hover, .panel-ganache .btn-primary:hover{ background:var(--vanilla); color:var(--ink-900); }
.panel-rose .btn-outline, .panel-ganache .btn-outline{ border-color:var(--vanilla); color:var(--vanilla-deep); }
.panel-rose .btn-outline:hover, .panel-ganache .btn-outline:hover{ background:var(--vanilla); color:var(--ink-900); }

/* Collections (началната страница) — снимкови карти с тъмен долен
   scrim за текст, точно копирани от test-roza.almateastudio.com. */
.accent-rose{ color:var(--rose-700); }
.collections-teaser-list{
  display:grid; grid-auto-flow:column; grid-auto-columns:minmax(260px, 1fr);
  gap:14px; overflow-x:auto; scroll-snap-type:x proximity; padding-bottom:2px;
}
.collection-card{
  position:relative; display:block; height:430px; overflow:hidden; scroll-snap-align:start;
  background:var(--ink-900); border:1px solid var(--ink-900); border-radius:var(--radius-control);
}
.collection-card-media{ position:absolute; inset:0; }
.collection-card-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(rgba(31,18,15,.04) 24%, rgba(31,18,15,.84) 100%);
}
.collection-card-content{
  position:absolute; left:0; right:0; bottom:0; display:flex; flex-direction:column;
  padding:24px 22px 22px; color:var(--cream);
}
.collection-card-content h3{ color:var(--cream); font-size:1.25rem; margin-bottom:6px; }
.collection-card-content p{ color:rgba(255,255,255,.9); font-size:.78rem; margin-bottom:8px; }
.collection-card-items{ color:var(--gold-100); font-size:.69rem; line-height:1.5; }
.collections-seasonal-strip{
  display:flex; align-items:baseline; gap:10px; flex-wrap:wrap; margin-top:14px;
  padding:16px 22px; background:var(--rose-mauve); border:1px solid var(--rose-700); border-radius:var(--radius-control);
}
.collections-seasonal-strip strong{ color:var(--gold-300); font-size:1rem; }
.collections-seasonal-strip span{ color:var(--vanilla-deep); font-size:.86rem; }

/* ---------- Topbar ---------- */
.topbar{
  background:var(--maroon-900); color:rgba(255,255,255,.72); font-size:.72rem;
  letter-spacing:.02em;
}
.topbar-row{ display:grid; grid-template-columns:1fr auto 1fr; align-items:center; padding-top:6px; padding-bottom:6px; gap:16px; }
.topbar a{ color:rgba(255,255,255,.72); }
.topbar a:hover{ color:var(--gold-300); }
.topbar-left{ display:flex; align-items:center; gap:14px; }
.topbar-left a, .topbar-left span{ display:inline-flex; align-items:center; gap:6px; }
.topbar-left svg, .topbar-right svg{ width:12px; height:12px; color:var(--gold-500); }
.topbar-sep{ width:1px; height:11px; background:rgba(255,255,255,.2); }
.topbar-center{ text-align:center; font-family:var(--font-serif); font-style:italic; color:var(--gold-300); white-space:nowrap; }
.topbar-right{ display:flex; align-items:center; gap:18px; justify-content:flex-end; }
.topbar-social{ display:flex; gap:10px; }
.topbar-social svg{ width:13px; height:13px; color:var(--gold-500); }
@media (max-width:640px){ .topbar-left span:not(:first-child), .topbar-sep{ display:none; } .topbar-center{ display:none; } .topbar-row{ grid-template-columns:1fr auto; } }

/* ---------- Header (компактен, светъл, premium) ---------- */
#site-header{ position:sticky; top:0; z-index:200; }
/* Хедърът се вмъква от JS — докато го няма, пазим мястото му (иначе съдържанието под него «скача» и CLS се вдига). */
#site-header:empty{ min-height:130px; background:var(--vanilla-blush); }
@media (max-width:860px){ #site-header:empty{ min-height:106px; } }
@media (max-width:600px){ #site-header:empty{ min-height:109px; } }
/* Филтърът под hero-то се строи от JS — пазим мястото му (иначе секциите под него «скачат» и CLS се вдига). */
#finder-section:empty{ min-height:91px; }
@media (max-width:860px){ #finder-section:empty{ min-height:402px; } }
@media (max-width:600px){ #finder-section:empty{ min-height:409px; } }
.topbar{ overflow:hidden; }

.site-header-bar{
  background:var(--vanilla-blush); border-bottom:1px solid rgba(150,57,79,.1);
}
.header-row-v2{
  display:flex; align-items:center; gap:28px; padding-top:14px; padding-bottom:14px; transition:padding .2s ease;
  position:relative;
}
#site-header.scrolled .header-row-v2{ padding-top:9px; padding-bottom:9px; box-shadow:var(--shadow-sm); }

.logo-v2{ display:flex; flex-direction:column; align-items:center; gap:2px; flex:none; }
.logo-v2-img{ height:56px; width:auto; object-fit:contain; flex:none; transition:height .2s ease; }
#site-header.scrolled .logo-v2-img{ height:44px; }
.logo-v2-tag{ font-family:var(--font-serif); font-style:italic; font-size:.7rem; color:var(--gold-500); white-space:nowrap; }
#site-header.scrolled .logo-v2-tag{ display:none; }

.main-nav{ display:flex; align-items:center; flex:1; }
.main-nav > ul{ display:flex; gap:22px; width:100%; justify-content:center; }
.main-nav a{ font-size:.85rem; font-weight:400; letter-spacing:.01em; color:var(--ink-700); position:relative; padding:8px 0; display:inline-block; white-space:nowrap; }
.main-nav a::after{ content:""; position:absolute; left:0; right:0; bottom:2px; height:1px; background:var(--gold-500); transform:scaleX(0); transform-origin:left; transition:transform .25s ease; }
.main-nav a:hover{ color:var(--rose-700); }
.main-nav a:hover::after, .main-nav .active > a::after{ transform:scaleX(1); }
.main-nav .active > a{ color:var(--rose-700); font-weight:500; }
/* Главното меню (02.11): по-тъмно шоколадово и по-плътно за по-лесно четене на Playfair */
.main-nav > ul > li > a{ color:var(--ink-900); font-weight:500; }
.main-nav > ul > li > a:hover{ color:var(--rose-700); }
.main-nav > ul > li.active > a{ color:var(--rose-700); font-weight:600; }
/* Мега менюто — същото тъмно шоколадово и плътност като главното меню */
.main-nav .mega ul a, .main-nav .mega .mega-fam, .main-nav .loc-group a{ color:var(--ink-900); font-weight:500; }
.main-nav .mega ul a:hover, .main-nav .mega .mega-fam:hover, .main-nav .mega .mega-fam.active, .main-nav .loc-group a:hover{ color:var(--rose-700); }
.main-nav .mega-panel-blurb, .main-nav .mega-narrow-blurb{ color:var(--ink-700); }
.main-nav li.has-drop{ position:relative; }

.mega{
  position:absolute; top:100%; left:0; right:auto; transform:translateY(8px); overflow:hidden;
  background:var(--vanilla); box-shadow:var(--shadow-lg); border-radius:var(--radius-card);
  border:1px solid rgba(45,26,23,.78); border-top:1px solid var(--gold-300);
  opacity:0; visibility:hidden; transition:var(--transition-ui); z-index:50;
}
.mega::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:3px;
  background:linear-gradient(90deg, var(--gold-300) 0%, var(--gold-300) 22%, var(--mega-rail-active) 22%, var(--mega-rail-active) 64%, var(--rose-700) 64%, var(--rose-700) 100%);
}
.main-nav li.has-drop:hover .mega, .main-nav li.has-drop:focus-within .mega{ opacity:1; visibility:visible; transform:translateY(0); }
.mega-narrow{ width:240px; padding:18px; }
.mega h4{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-500); margin-bottom:10px; font-family:var(--font-sans); font-weight:700; }
.mega ul li{ margin-bottom:5px; }
.mega ul a{ display:block; font-weight:400; font-size:.85rem; color:var(--ink-700); padding:6px 8px; border-radius:var(--radius-sm); }
.mega ul a:hover{ color:var(--rose-700); background:var(--vanilla-deep); }
.mega-narrow-cta{ display:inline-flex; margin-top:10px; padding-top:12px; border-top:var(--border-rose-soft); width:100%; font-size:.8rem; }
.mega-narrow-blurb{ font-size:.78rem; color:var(--ink-500); margin-bottom:12px; padding-bottom:12px; border-bottom:var(--border-rose-soft); }

/* Продуктово мега меню — two-pane, progressive disclosure */
.mega-wide .mega{ width:660px; }

.mega-v2-body{ display:flex; min-height:290px; }
.mega-v2-left{ width:210px; flex:none; padding:14px 0; background:var(--mega-rail-bg); border-right:var(--border-rose-soft); display:flex; flex-direction:column; }
.mega-fam{
  display:flex; align-items:center; gap:11px; padding:10px 20px; background:none; border:none; text-align:left;
  font-size:.84rem; color:var(--ink-700); border-left:2px solid transparent; transition:var(--transition-ui);
  text-decoration:none;
}
.mega-fam svg{ width:17px; height:17px; color:var(--rose-dust-700); flex:none; transition:var(--transition-ui); }
.mega-fam.active, .mega-fam:hover{ background:var(--mega-rail-active); color:var(--rose-700); border-left-color:var(--rose-700); }
.mega-fam.active svg, .mega-fam:hover svg{ color:var(--rose-700); }
.mega-v2-right{ flex:1; padding:22px 26px; }
.mega-panel{ display:none; }
.mega-panel.active{ display:block; animation:megaFade .18s ease; }
@keyframes megaFade{ from{ opacity:0; transform:translateY(4px);} to{ opacity:1; transform:translateY(0);} }
.mega-panel h4{ color:var(--rose-700); margin-bottom:6px; }
.mega-panel-blurb{ font-size:.8rem; color:var(--ink-500); margin-bottom:16px; max-width:360px; }
.mega-panel ul{ display:grid; grid-template-columns:1fr 1fr; gap:2px 20px; }
.mega-panel-extra{ margin-top:10px; padding-top:10px; border-top:1px dashed var(--rose-300); }
.mega-panel-cta{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; margin-top:16px; padding-top:14px; border-top:var(--border-rose-soft); }
.mega-panel-cta .link-arrow, .mega-panel-extra .link-arrow{ font-size:.87rem; }
.mega-v2-footer{ border-top:1px solid var(--gold-300); padding:12px 26px; display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap; }
.mega-v2-footer .link-arrow{ font-size:.8rem; }
.mega-v2-footer svg{ width:15px; height:15px; }

/* "Още от Роза" мега меню — чист списък в 2 колони, без изображение.
   Центрирано под тригера (вместо left:0 по подразбиране), за да не
   изтича извън viewport-а нито вляво, нито вдясно. */
.mega-more .mega{ width:460px; left:50%; right:auto; transform:translate(-50%, 8px); }
.main-nav li.has-drop.mega-more:hover .mega, .main-nav li.has-drop.mega-more:focus-within .mega{ transform:translate(-50%, 0); }
.mega-more-body{ display:flex; }
.mega-more-list{
  flex:1; min-width:0; display:grid; grid-template-columns:1fr 1fr; gap:2px 22px; padding:16px; align-content:start;
}
/* .main-nav a{white-space:nowrap; display:inline-block} има по-висока
   специфичност от .mega-more-item (то самото е <a>), затова тук трябва
   изрично да пренапишем display/white-space със скоуп .main-nav —
   иначе описанието наследява nowrap и прелива в съседната колона. */
.main-nav .mega-more-item{
  display:flex; align-items:flex-start; gap:11px; padding:12px; border-radius:var(--radius-sm);
  border-left:2px solid transparent; transition:var(--transition-ui); min-width:0; white-space:normal;
}
.mega-more-item:hover{ background:var(--mega-rail-active); border-left-color:var(--gold-300); }
.mega-more-ic{ flex:none; width:30px; height:30px; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--mega-rail-bg); color:var(--rose-dust-700); }
.mega-more-item:hover .mega-more-ic{ background:var(--vanilla); color:var(--rose-700); }
.mega-more-ic svg{ width:15px; height:15px; }
.mega-more-txt{ display:flex; flex-direction:column; gap:3px; min-width:0; }
.mega-more-txt strong{ font-family:var(--font-serif); font-size:.92rem; font-weight:600; color:var(--rose-700); }
.mega-more-txt small{ font-family:var(--font-sans); font-size:.74rem; color:var(--ink-500); line-height:1.4; }
@media (max-width:1080px){ .mega-more .mega{ width:400px; } }

/* "Обекти" мега меню — групирано: кафе-сладкарници "Роза" отделно от
   бутиците за шоколад "Шоколат". Умишлено без икони/снимки — чист,
   премиум списък с фини разделители и минимално движение при hover. */
.mega-locations-panel{ width:270px; box-shadow:var(--shadow-md); }
.mega-locations{ padding:20px 22px; }
.loc-group{ margin-bottom:18px; }
.loc-group:last-of-type{ margin-bottom:0; }
.loc-group-label{
  position:relative; display:block; font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
  color:var(--rose-700); margin-bottom:14px; padding-bottom:8px;
}
/* Тънка златна линия под label-а — умишлено само за span варианта.
   .loc-group-link е <a>, затова .main-nav a::after (hover underline на
   главното меню) печели по специфичност и я потиска (scaleX(0)) — така
   "Кафе-сладкарници" остава без линия, точно както на референтния сайт. */
.loc-group-label::after{
  content:""; position:absolute; left:0; bottom:0; width:34px; height:1px; background:var(--gold-300);
}
.loc-group-link{ color:var(--ink-900); transition:var(--transition-ui); }
.main-nav .loc-group-link::after{ display:block; width:34px; background:var(--mega-rail-active); transform:none; transition:none; }
.loc-group-link:hover{ color:var(--rose-700); }
.loc-group ul{ display:flex; flex-direction:column; }
.loc-group li{ margin:0; }
.main-nav .loc-group a{
  display:flex; align-items:center; padding:7px 4px;
  color:var(--ganache-700); font-size:.87rem; border-radius:var(--radius-sm); transition:var(--transition-ui);
  white-space:normal;
}
.main-nav .loc-group a:hover{ color:var(--rose-700); }
.loc-divider{ height:1px; background:var(--border-color-default); margin:4px 22px 12px; }
.loc-actions{ display:flex; flex-direction:column; padding:0 22px 18px; }
.main-nav .loc-action{
  position:relative; display:block; font-size:.87rem; font-weight:600; color:var(--ganache-700); padding:6px 0 12px;
  transition:var(--transition-ui); white-space:normal;
}
.main-nav .loc-action::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold-300); }
.main-nav .loc-action:hover{ color:var(--gold-500); }
@media (max-width:1080px){ .mega-locations-panel{ width:250px; } }

.header-actions-v2{ display:flex; align-items:center; gap:8px; flex:none; }
.header-search{ position:relative; display:flex; align-items:center; }
.search-panel{
  position:absolute; top:calc(100% + 12px); right:-6px; width:280px; z-index:60;
  background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-card); box-shadow:var(--shadow-lg);
  padding:16px; opacity:0; visibility:hidden; transform:translateY(6px); transition:var(--transition-ui);
}
.header-search.open .search-panel{ opacity:1; visibility:visible; transform:translateY(0); }
.search-panel-label{ display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-500); font-weight:700; margin-bottom:10px; }
.search-panel form{ display:flex; align-items:center; gap:8px; border:var(--border-width) solid var(--border-color-default); border-radius:var(--radius-control); background:var(--vanilla-deep); transition:var(--transition-ui); padding:4px 4px 4px 14px; }
.search-panel form:focus-within{ border-color:var(--border-color-hover); }
.search-panel input{ flex:1; border:none; background:transparent; padding:8px 0; font-size:.86rem; color:var(--ink-900); min-width:0; }
.search-panel input:focus{ outline:none; }
.search-panel button{ width:34px; height:34px; border-radius:50%; border:none; background:var(--rose-700); color:var(--vanilla); display:flex; align-items:center; justify-content:center; flex:none; }
.search-panel button:hover{ background:var(--rose-800); }
.search-panel button svg{ width:15px; height:15px; }
.header-lang{ position:relative; display:flex; align-items:center; }
.lang-pill{
  width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  border:var(--border-width) solid rgba(45,26,23,.76); background:transparent; color:var(--ink-700);
  transition:var(--transition-ui);
}
.lang-pill:hover{ border-color:var(--border-color-hover); color:var(--gold-500); }
.lang-pill svg{ width:17px; height:17px; transition:var(--transition-ui); }
.lang-panel{
  position:absolute; top:calc(100% + 12px); right:-6px; width:170px; z-index:60;
  background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-card); box-shadow:var(--shadow-lg);
  padding:8px; opacity:0; visibility:hidden; transform:translateY(6px); transition:var(--transition-ui);
  display:flex; flex-direction:column; gap:2px;
}
.header-lang.open .lang-panel{ opacity:1; visibility:visible; transform:translateY(0); }
.lang-opt{
  display:flex; align-items:center; gap:10px; width:100%; text-align:left; padding:9px 10px; border-radius:var(--radius-sm);
  border:none; background:transparent; color:var(--ink-700); font-size:.84rem; font-weight:500;
}
.lang-opt:hover{ background:var(--surface-2); }
.lang-opt.active{ background:var(--rose-dust-300); color:var(--rose-900); font-weight:600; }
.lang-flag{ font-size:1rem; }
.header-icon-btn{
  width:42px; height:42px; border-radius:50%; display:inline-flex; align-items:center; justify-content:center;
  background:transparent; border:var(--border-width) solid rgba(45,26,23,.76); color:var(--ink-700); flex:none;
  transition:var(--transition-ui);
}
.header-icon-btn svg{ width:17px; height:17px; }
.header-icon-btn:hover{ border-color:var(--border-color-hover); color:var(--gold-500); }
.cart-btn, .wishlist-btn{ position:relative; }
.cart-count{
  position:absolute; top:-4px; right:-4px; background:var(--rose-700); color:var(--vanilla);
  font-size:.6rem; font-weight:700; min-width:16px; height:16px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; padding:0 4px;
}
.burger{ display:none; }

@media (max-width:1180px){
  .main-nav > ul{ gap:14px; }
  .main-nav a{ font-size:.8rem; }
}

/* ---------- Hero (пълен екран слайдшоу) ---------- */
.hero-full{ position:relative; width:100%; height:min(720px, calc(100vh - var(--header-h))); min-height:520px; overflow:hidden; }
.hero-slides{ position:absolute; inset:0; }
.hero-slide{ position:absolute; inset:0; display:block; opacity:0; pointer-events:none; transition:opacity 1.1s ease; cursor:pointer; }
.hero-slide.active{ opacity:1; pointer-events:auto; }
.hero-photo{ position:absolute; inset:0; overflow:hidden; background:var(--rose-950); }
.hero-photo-bg{
  position:absolute; inset:0; background-size:cover; background-position:center;
  filter:blur(50px) brightness(.55) saturate(1.15); transform:scale(1.25);
}
.hero-photo-fg{ position:relative; z-index:1; width:100%; height:100%; object-fit:contain; }
.hero-scrim{
  position:absolute; inset:0; z-index:1; pointer-events:none;
  /* Двупластов градиент, измерен точно от test.veriga-roza.com (::after върху
     .roza-hero-slides + .roza-hero-slide) — един самостоятелен слой не
     възпроизвежда правилно нито цвета, нито дълбочината на затъмняване. */
  background:
    linear-gradient(90deg, rgba(33,17,15,.72) 0%, rgba(33,17,15,.52) 28%, rgba(33,17,15,.12) 55%, rgba(33,17,15,0) 76%),
    linear-gradient(90deg, rgba(74,32,40,.76) 0%, rgba(74,32,40,.58) 38%, rgba(74,32,40,.24) 68%, rgba(74,32,40,.14) 100%);
}
.hero-overlay{ position:relative; z-index:2; height:100%; display:flex; align-items:center; pointer-events:none; }
.hero-text-wrap{
  pointer-events:auto; padding-left:min(8vw,110px); padding-right:24px; max-width:600px;
}
.hero-overlay .eyebrow{ color:var(--gold-300); }
.hero-overlay .eyebrow::before{ display:none; }
.hero-overlay h1{ color:var(--cream); font-size:clamp(2.2rem,4.6vw,3.2rem); line-height:1.14; margin-bottom:20px; max-width:600px; }
.hero-overlay h1 .script{ color:inherit; font-style:normal; font-weight:inherit; font-family:inherit; }
.hero-overlay p{ color:rgba(255,250,245,.82); font-size:1.05rem; max-width:460px; margin-bottom:28px; }
/* CTA-то седи в нормалния поток на hero-text-wrap, под параграфа —
   тънка светло ванилова рамка + текст, не плътен fill. */
.hero-cta-wrap{ pointer-events:auto; }
.btn-hero-order{
  background:rgba(74,32,40,.18); color:var(--vanilla); border:var(--border-width) solid var(--gold-300);
  border-radius:var(--radius-control); padding:13px 25px;
}
.btn-hero-order:hover{ background:var(--vanilla); color:var(--rose-900); transform:translateY(-2px); box-shadow:var(--shadow-sm); }
.hero-dots{ position:absolute; bottom:24px; right:30px; display:flex; gap:8px; z-index:5; }
.hero-dots button{ width:9px; height:9px; border-radius:50%; border:1px solid rgba(255,255,255,.6); background:transparent; padding:0; transition:var(--transition-ui); }
.hero-dots button.active{ background:var(--gold-300); border-color:var(--gold-300); width:22px; border-radius:5px; }
.hero-arrows{ position:absolute; inset:0; z-index:4; display:flex; align-items:center; justify-content:space-between; padding:0 26px; pointer-events:none; }
.hero-arrows button{
  pointer-events:all; width:32px; height:32px; border-radius:50%;
  background:rgba(74,32,40,.22); border-color:rgba(255,255,255,.72); color:var(--cream);
}
.hero-arrows button:hover{ border-color:var(--gold-300); color:var(--gold-300); background:rgba(74,32,40,.4); }

/* ---------- Product Finder (плътна, плоска лента, edge-to-edge) ---------- */
.finder-section{ position:relative; background:var(--rose-mauve); border-top:1px solid var(--gold-300); border-bottom:1px solid var(--rose-700); }
.finder-card{ max-width:var(--container); margin:0 auto; padding:12px 10px; }
.finder-row{ display:flex; align-items:stretch; gap:0; }
.finder-submit{
  flex:none; height:40px; align-self:center; margin:0 8px 0 16px;
  background:transparent; border:1px solid rgba(253,250,243,.72); color:var(--cream);
  text-transform:uppercase; font-size:.77rem; letter-spacing:.04em; font-weight:700; border-radius:var(--radius-control);
  padding:0 20px;
  transition:var(--transition-ui);
}
.finder-submit:hover{ background:rgba(255,255,255,.14); border-color:var(--cream); }
.finder-submit svg{ width:15px; height:15px; }
@media (max-width:860px){
  .finder-card{ padding:12px 14px; }
  .finder-row{ flex-direction:column; align-items:stretch; }
  .finder-row .filter-dd{ border-right:none; border-bottom:1px solid rgba(253,250,243,.22); }
  .finder-submit{ width:100%; margin:14px 0 0; }
}

/* ---------- Feature icons row ---------- */
.features{ background:var(--mega-rail-bg); border-top:1px solid rgba(221,199,156,.8); border-bottom:1px solid rgba(45,26,23,.12); }
.features .container{ display:flex; justify-content:space-between; padding:20px 24px; gap:20px; flex-wrap:wrap; }
.feature{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:10px; flex:1; min-width:130px; }
.feature svg{ width:17px; height:17px; color:var(--ink-900); }
.feature span{ font-size:.8rem; font-weight:500; color:var(--ink-900); line-height:1.3; }

/* ---------- Craftsmanship ("Вкусът започва от майсторството.") — full-bleed media вляво ---------- */
.craftsmanship-section{ background:var(--mega-rail-bg); overflow:hidden; }
.craftsmanship-grid{ display:grid; grid-template-columns:1fr 1fr; align-items:stretch; max-width:none; margin:0; padding:0; }
.craftsmanship-media{ position:relative; min-height:420px; }
.craftsmanship-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.craftsmanship-copy{ display:flex; flex-direction:column; justify-content:center; padding:64px min(100px, 8vw); }
.craftsmanship-copy h2{ color:var(--rose-700); }
.craftsmanship-copy h2 .accent-gold{ color:var(--gold-300); }
.craftsmanship-copy p{ color:var(--ink-900); max-width:520px; margin-bottom:14px; }
.craftsmanship-links{ display:flex; gap:24px; flex-wrap:wrap; margin-top:10px; }
.craftsmanship-links a{ color:var(--rose-700); font-weight:700; }
.craftsmanship-links a:hover{ color:var(--rose-900); }
@media (max-width:900px){
  .craftsmanship-grid{ grid-template-columns:1fr; }
  .craftsmanship-media{ min-height:320px; }
  .craftsmanship-copy{ padding:40px 24px; }
}

/* ---------- Reusable slider section head + fine arrows ---------- */
.slider-section-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; margin-bottom:26px; flex-wrap:wrap; }
.slider-nav{ display:flex; gap:8px; }
.slider-arrow{
  width:36px; height:36px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:transparent; border:var(--border-width) solid var(--ink-900); color:var(--ink-900); flex:none; transition:var(--transition-ui);
}
.slider-arrow svg{ width:15px; height:15px; }
.slider-arrow:hover{ border-color:var(--gold-300); color:var(--gold-500); }

/* ---------- Editorial category slider (ecard) ---------- */
.cat-slider-wrap{ position:relative; }
.cat-slider{
  display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x proximity; padding:6px 4px 24px;
  cursor:grab; user-select:none; scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.cat-slider.dragging{ cursor:grabbing; scroll-snap-type:none; }
.cat-slider::-webkit-scrollbar{ display:none; }
.ecard{
  position:relative; flex:0 0 260px; height:400px; border-radius:var(--radius-card); overflow:hidden;
  scroll-snap-align:start; box-shadow:var(--shadow-sm); border:var(--border-width) solid var(--border-color-default); transition:var(--transition-ui);
  display:block;
}
.ecard:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--ecard-accent, var(--border-color-hover)); }
.ecard-media{ position:absolute; inset:0; }
.ecard:hover .ecard-media .photo-cover{ transform:scale(1.06); }
.ecard::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(20,10,12,.94) 0%, rgba(20,10,12,.8) 32%, rgba(20,10,12,.22) 58%, transparent 80%); }
.ecard-body{ position:absolute; left:0; right:0; bottom:0; padding:22px; z-index:2; color:var(--vanilla-deep); }
.ecard-body h3{ color:var(--ecard-accent, var(--rose-dust-300)); font-size:1.1rem; margin-bottom:6px; }
.ecard-body p{
  color:var(--vanilla-deep); opacity:.85; font-size:.78rem; margin-bottom:12px; display:-webkit-box;
  -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.ecard-cta{
  display:inline-flex; align-items:center; gap:6px; font-size:.76rem; font-weight:600;
  color:var(--gold-300); text-transform:uppercase; letter-spacing:.06em;
}
.ecard-cta svg{ width:13px; height:13px; transition:var(--transition-ui); }
.ecard:hover .ecard-cta svg{ transform:translateX(4px); }
@media (max-width:900px){ .ecard{ flex-basis:300px; height:380px; } }
@media (max-width:600px){ .ecard{ flex-basis:232px; height:350px; } .cat-slider{ gap:16px; } }
@media (max-width:420px){ .ecard{ flex-basis:190px; height:320px; } }

/* ---------- Промо банер (рекламен слот) ---------- */
.promo-banner{
  display:flex; align-items:stretch; background:var(--vanilla); border:var(--border-width) solid var(--border-color-default);
  border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition-ui);
}
.promo-banner:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--pb-accent, var(--border-color-hover)); }
.promo-banner-media{ flex:0 0 46%; position:relative; min-height:300px; }
.promo-banner:hover .promo-banner-media .photo-cover{ transform:scale(1.05); }
.promo-banner-body{ flex:1; padding:36px 56px; display:flex; flex-direction:column; justify-content:center; gap:10px; }
.promo-banner-body .eyebrow{ color:var(--pb-accent, var(--gold-500)); margin-bottom:2px; }
.promo-banner-body .eyebrow::before{ background:var(--pb-accent, var(--gold-500)); }
.promo-banner-body h3{ font-size:clamp(1.3rem,3vw,2.1rem); margin-bottom:6px; max-width:520px; }
.promo-banner-body p{ font-size:.96rem; max-width:520px; margin-bottom:18px; line-height:1.65; }
.promo-banner-body .btn{ align-self:flex-start; }
@media (max-width:700px){
  .promo-banner{ flex-direction:column; }
  .promo-banner-media{ flex:none; height:180px; }
  .promo-banner-body{ padding:22px 22px 26px; }
}

/* ---------- Банер слайдър (няколко кампании, автоматична смяна) ---------- */
.banner-slider{ position:relative; }
.banner-slider-track{ position:relative; min-height:340px; }
.banner-slider .promo-banner{
  position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .6s ease; transform:none;
}
.banner-slider .promo-banner.active{ opacity:1; pointer-events:auto; }
.banner-slider .promo-banner:hover{ transform:none; }
.banner-dots{ display:flex; justify-content:center; gap:8px; margin-top:16px; }
.banner-dots button{ width:8px; height:8px; border-radius:50%; border:1px solid var(--ganache-500); background:transparent; padding:0; transition:var(--transition-ui); }
.banner-dots button.active{ background:var(--gold-500); border-color:var(--gold-500); width:20px; border-radius:5px; }
@media (max-width:700px){ .banner-slider-track{ min-height:500px; } }

/* ---------- Eyebrow вариант (Rose 700 + dusty-pink линия) — Колекции, Роза в действие ---------- */
.eyebrow-rose{ color:var(--rose-700); }
.eyebrow-rose::before{ background:var(--mega-rail-active); }

/* ---------- Персонализирана поръчка banner ("Твоят повод. Нашето майсторство.") ---------- */
.personal-banner-inner{
  position:relative; overflow:hidden; border-radius:var(--radius-card); border:1px solid var(--gold-300);
  padding:44px 48px; color:var(--cream);
}
.personal-banner-inner .personal-banner-media{ position:absolute; inset:0; z-index:0; }
.personal-banner-inner .personal-banner-media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(100deg, rgba(33,17,15,.94), rgba(45,26,23,.82));
}
.personal-banner-body{ position:relative; z-index:1; max-width:640px; }
.personal-banner-body .eyebrow{ color:var(--gold-300); }
.personal-banner-body .eyebrow::before{ background:var(--gold-300); }
.personal-banner-body h2{ color:var(--cream); margin-bottom:10px; }
.personal-banner-body p{ color:rgba(255,255,255,.82); margin-bottom:0; }
.personal-banner-actions{ position:relative; z-index:1; display:flex; gap:14px; flex-wrap:wrap; margin-top:24px; }
.personal-banner-actions .btn{ background:var(--gold-300); border-color:var(--gold-300); color:var(--ink-900); }
.personal-banner-actions .btn:hover{ background:var(--gold-500); border-color:var(--gold-500); }
.personal-banner-actions .btn-outline{ background:transparent; border-color:var(--gold-300); color:var(--cream); }
.personal-banner-actions .btn-outline:hover{ background:var(--gold-300); color:var(--ink-900); }
@media (max-width:640px){ .personal-banner-inner{ padding:30px 22px; } }

/* ---------- Роза в действие — bento галерия ---------- */
.action-section{ background:var(--mega-rail-bg); }
.action-section .section-head h2{ color:var(--rose-700); }
.action-section .section-head p{ color:var(--ink-500); }
.action-gallery{ display:grid; grid-template-columns:repeat(12, 1fr); grid-auto-rows:215px; gap:14px; margin-bottom:34px; }
.action-card{ position:relative; display:block; overflow:hidden; border-radius:var(--radius-control); grid-column:span 4; }
.action-card:nth-child(1){ grid-column:span 7; grid-row:span 2; }
.action-card:nth-child(2), .action-card:nth-child(3){ grid-column:span 5; }
.action-card img{ width:100%; height:100%; object-fit:cover; display:block; }
.action-overlay{
  position:absolute; inset:0; display:flex; flex-direction:column; justify-content:flex-end; gap:4px;
  padding:42px 18px 17px; background:linear-gradient(rgba(31,18,15,0) 28%, rgba(31,18,15,.78) 100%);
}
.action-overlay small{ font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.07em; color:var(--gold-100); }
.action-overlay strong{ font-family:var(--font-serif); font-size:1.05rem; font-weight:500; color:var(--cream); }
.action-cta{ text-align:center; }
@media (max-width:860px){
  .action-gallery{ grid-template-columns:1fr; grid-auto-rows:260px; }
  .action-card, .action-card:nth-child(1), .action-card:nth-child(2), .action-card:nth-child(3){ grid-column:1; grid-row:auto; }
}

/* ---------- Craft section ---------- */
.craft{ position:relative; background:var(--rose-900); color:var(--vanilla); overflow:hidden; }
.craft-grid{ display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:50px; }
.craft-grid > *{ min-width:0; }
.craft-media{ border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:5/4; border:1px solid rgba(255,255,255,.12); }
.craft-copy .eyebrow{ color:var(--gold-300); }
.craft-copy .eyebrow::before{ background:var(--gold-300); }
.craft-copy h2{ color:var(--vanilla); }
.craft-copy p{ color:rgba(255,255,255,.72); max-width:460px; }
.craft-rose{ position:absolute; right:-40px; bottom:-40px; width:260px; opacity:.14; }

/* ---------- Occasions ---------- */
.occasions{ background:var(--blush-100); }
.occ-head{ display:flex; justify-content:space-between; align-items:flex-end; gap:20px; flex-wrap:wrap; margin-bottom:34px; }
.occ-head h2{ font-size:clamp(1.6rem,3vw,2.2rem); }
.occ-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.occ-card{ background:var(--vanilla-deep); border-radius:var(--radius-card); border:var(--border-rose); padding:30px 22px; text-align:center; box-shadow:var(--shadow-sm); transition:var(--transition-ui); }
.occ-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--border-color-hover); }
.occ-card svg{ width:38px; height:38px; color:var(--rose-700); margin:0 auto 16px; transition:var(--transition-ui); }
.occ-card:hover svg{ color:var(--gold-500); }
.occ-card h4{ font-size:1rem; margin-bottom:6px; }
.occ-card p{ font-size:.82rem; margin:0; }

/* ---------- Персонализирана поръчка (два пътя) ---------- */
.custom-order-grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.custom-order-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:4px; padding:36px 32px;
  background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-card);
  box-shadow:var(--shadow-sm); transition:var(--transition-ui);
}
.custom-order-card:hover{ border-color:var(--border-color-hover); box-shadow:var(--shadow-md); transform:translateY(-3px); }
.custom-order-ic{
  width:48px; height:48px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  background:var(--vanilla); color:var(--rose-700); flex:none; margin-bottom:12px; transition:var(--transition-ui);
}
.custom-order-ic svg{ width:22px; height:22px; }
.custom-order-card:hover .custom-order-ic{ color:var(--gold-500); }
.custom-order-card h3{ font-size:1.15rem; margin:0; }
.custom-order-card p{ font-size:.88rem; margin:0 0 10px; }
.custom-order-card .link-arrow{ margin-top:auto; }
@media (max-width:700px){ .custom-order-grid{ grid-template-columns:1fr; } }

/* ---------- Отзиви (статична 3-колонна решетка, не marquee — виж
   test-roza.almateastudio.com: .testimonial-card:nth-child(n+4) е скрит) ---------- */
.testimonials-section{ background:var(--vanilla); }
.testimonials-section h2{ color:var(--rose-700); }
.testimonials-trust-line{
  display:inline-flex; align-items:center; gap:6px; margin-top:10px; font-size:.86rem; font-weight:600;
  color:var(--ink-700); transition:var(--transition-ui);
}
.testimonials-trust-line:hover{ color:var(--rose-dust-700); }
.testimonials-trust-stars{ color:var(--gold-500); letter-spacing:1px; }

.testimonial-marquee{ margin-top:16px; }
.testimonial-track{ display:grid; grid-template-columns:repeat(3, 1fr); gap:16px; }
@media (max-width:860px){ .testimonial-track{ grid-template-columns:1fr; } }

.testimonial-card{
  display:flex; flex-direction:column; align-items:flex-start; gap:8px; min-height:260px; padding:30px;
  background:var(--mega-rail-bg); border:1px solid rgba(45,26,23,.72); border-radius:var(--radius-card);
  transition:var(--transition-ui);
}
.testimonial-card:hover{ background:var(--rose-mauve); border-color:var(--gold-300); }
.testimonial-quote-ic{ color:var(--gold-300); }
.testimonial-quote-ic svg{ width:26px; height:26px; }
.testimonial-stars{ color:var(--gold-300); letter-spacing:2px; font-size:.85rem; }
.testimonial-card p{ font-size:1rem; line-height:1.62; color:var(--ink-900); margin:0; }
.testimonial-author{ display:flex; flex-direction:column; margin-top:auto; padding-top:8px; }
.testimonial-author strong{ font-family:var(--font-serif); font-size:.92rem; color:var(--rose-700); }
.testimonial-author span{ font-size:.72rem; color:rgba(45,26,23,.7); }

/* ---------- Product grid & cards ---------- */
.toolbar{ display:flex; justify-content:space-between; align-items:center; gap:16px; flex-wrap:wrap; margin-bottom:8px; }
.result-count{ font-size:.85rem; color:var(--ink-500); }
.sort-select{ padding:10px 16px; border-radius:var(--radius-round); border:var(--border-rose); background:var(--vanilla-deep); font-size:.82rem; color:var(--ink-700); }

.product-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }

/* ---------- Product card (premium: photo + rose-dust info footer) ---------- */
.product-card{
  background:var(--vanilla); border-radius:var(--radius-card); border:var(--border-width) solid var(--rose-700);
  overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition-ui); display:flex; flex-direction:column;
}
.product-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--border-color-hover); }
.product-card .thumb{ position:relative; aspect-ratio:4/3; background:var(--vanilla); overflow:hidden; }
.product-card .thumb > a{ display:block; width:100%; height:100%; }
.product-card .thumb .photo-cover{ object-fit:contain; }

.p-badges{ position:absolute; top:12px; left:12px; z-index:2; display:flex; flex-direction:column; gap:6px; align-items:flex-start; }
.p-badge{
  background:rgba(253,250,243,.92); border:1px solid var(--gold-500); color:var(--gold-500);
  font-size:.6rem; text-transform:uppercase; letter-spacing:.08em; font-weight:700;
  padding:4px 9px; border-radius:var(--radius-round); line-height:1.4;
}
.p-badge--sale{ border-color:var(--gold-500); color:var(--gold-500); }

.fav-btn{
  position:absolute; top:10px; right:10px; z-index:2; width:30px; height:30px;
  background:rgba(253,250,243,.88); border:var(--border-width) solid var(--border-color-default); box-shadow:none;
  transition:var(--transition-ui);
}
.fav-btn:hover{ border-color:var(--border-color-hover); }
.fav-btn svg{ width:15px; height:15px; stroke:var(--rose-700); stroke-width:1.6; transition:var(--transition-ui); }
.fav-btn:hover svg{ stroke:var(--gold-500); }
.fav-btn.active svg{ fill:var(--rose-700); }
.product-card .quick-add{
  position:absolute; right:10px; bottom:10px; opacity:0; transform:translateY(6px); transition:var(--transition-ui); z-index:2;
  width:34px; height:34px; background:rgba(253,250,243,.92); border:var(--border-width) solid var(--border-color-default);
}
.product-card .quick-add svg{ width:15px; height:15px; }
.product-card:hover .quick-add{ opacity:1; transform:translateY(0); }
.product-card:hover .thumb .photo-cover{ transform:scale(1.05); }

.product-card .info{
  background:var(--rose-dust-700); color:var(--vanilla-deep); padding:18px 18px 19px;
  display:flex; flex-direction:column; gap:6px; flex:1;
}
.product-card .cat-label{ font-size:.62rem; text-transform:uppercase; letter-spacing:.1em; color:rgba(255,255,255,.65); font-weight:600; font-family:var(--font-sans); }
.product-card h3{
  font-family:var(--font-serif); font-size:1rem; line-height:1.32; margin:0; font-weight:600;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.product-card h3 a{ color:var(--vanilla-deep); }
.product-card h3 a:hover{ color:var(--gold-300); }
.product-card .meta{ font-size:.72rem; color:rgba(255,255,255,.6); font-family:var(--font-sans); }
.product-card .price-row{
  margin-top:auto; padding-top:10px; border-top:1px solid rgba(255,255,255,.16);
  display:flex; align-items:center; justify-content:space-between;
}
.product-card .price{ font-family:var(--font-serif); color:var(--gold-300); font-weight:700; font-size:1.1rem; }
.product-card .price-old{ font-family:var(--font-sans); font-size:.74rem; color:rgba(255,255,255,.5); text-decoration:line-through; margin-right:6px; }
.product-card .link-arrow{ color:var(--vanilla-deep); font-size:.76rem; }
.product-card .link-arrow:hover{ color:var(--gold-300); }
.product-card .link-arrow:hover svg{ transform:translateX(4px); }

/* ---------- Product slider (начална страница) ---------- */
.prod-slider-wrap{ position:relative; }
.prod-slider{
  display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x proximity; padding:6px 4px 24px;
  cursor:grab; user-select:none; scrollbar-width:none; -webkit-overflow-scrolling:touch;
}
.prod-slider.dragging{ cursor:grabbing; scroll-snap-type:none; }
.prod-slider::-webkit-scrollbar{ display:none; }
.prod-slider .product-card{ flex:0 0 270px; scroll-snap-align:start; }
@media (max-width:900px){ .prod-slider .product-card{ flex-basis:230px; } }
@media (max-width:520px){ .prod-slider .product-card{ flex-basis:210px; } .prod-slider{ gap:16px; } }

/* ---------- Category page layout ---------- */
.page-hero{ padding:44px 0 30px; background:var(--blush-100); }
.breadcrumbs{ font-size:.78rem; color:var(--ink-500); margin-bottom:14px; }
.breadcrumbs a:hover{ color:var(--gold-500); }
.breadcrumbs span{ margin:0 6px; color:var(--ink-300); }
.page-hero h1{ font-size:clamp(1.8rem,3.4vw,2.6rem); margin-bottom:8px; }
.page-hero p{ max-width:640px; margin:0; }

/* Категорийна accent ивица (rose/dust/mint) под заглавието — вижда се
   и извън началния слайдър, напр. Gelato/Детски получават mint щрих. */
/* Mint "свежест" щрих извън Gelato/Детски — само тук, спорадично. */
.freshness-note{ display:flex; align-items:center; gap:8px; }
.freshness-note svg{ width:16px; height:16px; color:var(--mint-600); flex:none; }

.cat-title-accent{ position:relative; display:inline-block; padding-bottom:10px; }

/* Hub изглед на категория (напр. "Торти") — снимкови карти на
   подкатегориите + Finder отгоре, вместо директен продуктов списък. */
.cat-hub-finder{ margin-bottom:40px; }
.cat-hub-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:24px; }
@media (max-width:640px){
  .cat-hub-grid{ grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:16px; }
}
.cat-title-accent::after{ content:""; position:absolute; left:0; bottom:0; width:64px; height:3px; border-radius:2px; background:var(--cat-accent, var(--rose-dust-500)); }

/* Тематики/колекции — снимкови карти между филтъра и продуктовия
   списък на листова категорийна страница (RozaCollections). */
.cat-collections-strip{ margin:36px 0; }
.cat-collections-head{ margin-bottom:20px; }
.cat-collections-head .eyebrow::before{ display:inline-block; }
.cat-collections-head h3{ font-size:clamp(1.15rem,2vw,1.4rem); }
.cat-collections-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:20px; }
.cat-collections-grid .ecard{ height:300px; }
@media (max-width:640px){
  .cat-collections-grid{ grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); gap:14px; }
  .cat-collections-grid .ecard{ height:260px; }
}

/* =========================================================
   Product Category Page — MASTER TEMPLATE (reusable за всички 8
   основни категории; тази итерация е приложена само към "Торти").
   ========================================================= */

/* ---------- 01 Compact Category Hero — ~300-360px, editorial снимка,
   много по-компактен от Homepage hero и от .locations-hero. ---------- */
.cat-hero{ position:relative; background:var(--vanilla-deep); overflow:hidden; }
.cat-hero-media{ position:relative; height:300px; }
.cat-hero-media .photo-cover,
.cat-hero-media .cine-slide{ filter:brightness(.62) saturate(1.05); }
.cat-hero-scrim{ position:absolute; inset:0; background:linear-gradient(0deg, rgba(58,28,34,.78) 0%, rgba(58,28,34,.28) 55%, rgba(58,28,34,.15) 100%); }
.cat-hero-copy{ position:absolute; left:0; right:0; bottom:0; padding:26px 0 22px; color:var(--vanilla); }
.cat-hero-copy .breadcrumbs{ color:rgba(255,255,255,.7); margin-bottom:10px; }
.cat-hero-copy .breadcrumbs a{ color:rgba(255,255,255,.85); }
.cat-hero-copy .breadcrumbs span{ color:rgba(255,255,255,.45); }
.cat-hero-copy .eyebrow{ color:var(--gold-300); }
.cat-hero-copy .eyebrow::before{ background:var(--gold-300); }
.cat-hero-copy h1{ color:var(--vanilla); font-size:clamp(1.7rem,3.2vw,2.3rem); margin-bottom:6px; }
.cat-hero-copy p{ max-width:560px; color:rgba(255,255,255,.82); font-size:.94rem; margin:0; }
@media (max-width:640px){ .cat-hero-media{ height:260px; } }

/* ---------- 02 Quick Category Filter — леко застъпва долния край на
   Hero-то, като Quick Finder на началната страница, но в light/Vanilla
   визия (не тъмно стъкло): фин Ganache border, Gold hover. ---------- */
.quick-filter-wrap{ position:relative; z-index:5; margin-top:-30px; margin-bottom:36px; padding:0 24px; }
.quick-filter-card{
  max-width:var(--container); margin:0 auto; background:var(--vanilla);
  border:var(--border-rose); border-radius:var(--radius-card); box-shadow:var(--shadow-md); padding:6px 10px;
}
.quick-filter-card .filter-dd{ border-right:1px solid var(--surface-3); }
.quick-filter-card .filter-dd-label{ color:var(--ink-300); }
.quick-filter-card .filter-dd-trigger{ color:var(--ink-900); }
.quick-filter-card .filter-dd-trigger svg{ color:var(--ink-300); }
.quick-filter-card .filter-dd:hover{ background:var(--surface-2); }
.quick-filter-card .filter-dd:hover .filter-dd-trigger,
.quick-filter-card .filter-dd.open .filter-dd-trigger{ color:var(--gold-500); }
.quick-filter-card .filter-dd.open{ background:var(--surface-2); }
.quick-filter-submit{
  flex:none; height:40px; align-self:center; margin:0 6px 0 14px;
  background:var(--rose-900); border:1px solid var(--rose-900); color:var(--vanilla);
  text-transform:uppercase; font-size:.76rem; letter-spacing:.08em; font-weight:600; border-radius:var(--radius-control);
  transition:var(--transition-ui);
}
.quick-filter-submit:hover{ background:var(--gold-500); border-color:var(--gold-500); color:var(--ink-900); }
@media (max-width:860px){
  .quick-filter-wrap{ padding:0 16px; margin-top:-22px; }
  .quick-filter-card{ padding:10px 12px; }
  .quick-filter-card .finder-row{ flex-direction:column; align-items:stretch; }
  .quick-filter-card .filter-dd{ border-right:none; border-bottom:1px solid var(--surface-3); }
  .quick-filter-submit{ width:100%; margin:12px 0 0; }
}

/* ---------- 04 Relevant Collections — editorial/storytelling карта,
   визуално различна от функционалните Category/Discovery cards. ---------- */
.collections-master-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:22px; }
.collection-card{
  position:relative; display:block; height:340px; border-radius:var(--radius-card); overflow:hidden;
  border:var(--border-rose); box-shadow:var(--shadow-sm); transition:var(--transition-ui);
}
.collection-card:hover{ border-color:var(--gold-500); box-shadow:var(--shadow-md); }
.collection-card .photo-cover{ transition:transform 900ms ease; }
.collection-card:hover .photo-cover{ transform:scale(1.03); }
.collection-card-scrim{ position:absolute; inset:0; background:linear-gradient(180deg, rgba(58,28,34,0) 40%, rgba(58,28,34,.82) 100%); }
.collection-card-body{ position:absolute; left:0; right:0; bottom:0; padding:26px 24px; }
.collection-card-body .eyebrow{ color:var(--gold-300); }
.collection-card-body .eyebrow::before{ background:var(--gold-300); }
.collection-card-body h3{ color:var(--vanilla); font-size:1.3rem; margin-bottom:8px; }
.collection-card-body p{ color:rgba(255,255,255,.82); font-style:italic; font-size:.88rem; margin-bottom:12px; max-width:320px; }
.collection-card-body .link-arrow{ color:var(--gold-300); }
@media (max-width:640px){ .collection-card{ height:280px; } }

/* ---------- 06 All Products — active filter chips + load more ---------- */
.active-filters{ display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-bottom:16px; }
.active-filter-chip{
  display:inline-flex; align-items:center; gap:6px; background:var(--vanilla-deep);
  border:var(--border-rose); border-radius:var(--radius-control); padding:6px 8px 6px 14px; font-size:.78rem; color:var(--ink-700);
}
.active-filter-chip button{ background:none; border:none; color:var(--ink-300); font-size:1rem; line-height:1; padding:2px; cursor:pointer; }
.active-filter-chip button:hover{ color:var(--rose-700); }
.clear-filters-btn{ background:none; border:none; font-size:.78rem; color:var(--rose-700); text-decoration:underline; cursor:pointer; padding:6px 4px; }
.load-more-wrap{ text-align:center; margin-top:34px; }
.load-more-count{ display:block; font-size:.78rem; color:var(--ink-300); margin-top:10px; }

/* ---------- 06 No results ---------- */
.no-results-box{ text-align:center; max-width:480px; margin:20px auto; padding:34px 24px; }
.no-results-box h3{ margin-bottom:8px; }
.no-results-box p{ color:var(--ink-500); margin-bottom:18px; }

.cat-layout{ display:grid; grid-template-columns:250px 1fr; gap:40px; align-items:start; }
.cat-sidebar{ background:var(--vanilla-deep); border-radius:var(--radius-md); border:var(--border-rose); padding:22px; box-shadow:var(--shadow-sm); position:sticky; top:90px; }
.cat-sidebar h4{ font-size:.76rem; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-500); margin-bottom:12px; }
.cat-sidebar ul{ display:flex; flex-direction:column; gap:2px; }
.cat-sidebar a{ display:block; padding:8px 10px; border-radius:var(--radius-control); font-size:.86rem; color:var(--ink-700); }
.cat-sidebar a:hover{ background:var(--surface-2); color:var(--rose-700); }
.cat-sidebar li.active > a{ background:var(--rose-700); color:var(--vanilla); font-weight:600; }
.cat-sidebar .sub-list{ margin-left:10px; padding-left:8px; border-left:1px solid var(--surface-3); margin-top:2px; margin-bottom:6px; }
/* ---------- Филтърна лента (луксозна, rose-dust стъклена) ---------- */
.filter-bar{
  display:flex; align-items:stretch; gap:0; background:rgba(156,85,104,.9);
  backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px);
  border:1px solid rgba(255,255,255,.18); border-radius:var(--radius-md);
  margin-bottom:10px; overflow:visible; flex-wrap:wrap; box-shadow:var(--shadow-md);
}
.filter-dd{ position:relative; flex:1; min-width:150px; border-right:1px solid rgba(253,250,243,.22); }
.filter-dd-label{ display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.07em; color:rgba(253,250,243,.72); padding:12px 18px 0; }
.filter-dd-trigger{
  width:100%; display:flex; align-items:center; justify-content:space-between; gap:8px;
  background:none; border:none; color:var(--cream); font-size:.93rem; font-weight:700;
  padding:4px 18px 12px; text-align:left; cursor:pointer;
}
.filter-dd-trigger svg{ width:14px; height:14px; color:rgba(253,250,243,.72); flex:none; transition:var(--transition-ui); }
.filter-dd.open .filter-dd-trigger svg{ transform:rotate(180deg); }
.filter-dd:hover{ background:rgba(255,255,255,.06); }
.filter-dd.is-disabled{ opacity:.4; }
.filter-dd.is-disabled:hover{ background:none; }
.filter-dd.is-disabled .filter-dd-trigger{ cursor:not-allowed; }
.filter-dd-menu{
  position:absolute; top:100%; left:0; min-width:100%; width:max-content; max-width:280px;
  background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-card); box-shadow:var(--shadow-lg);
  padding:6px; z-index:60; opacity:0; visibility:hidden; transform:translateY(6px); transition:var(--transition-ui);
}
.filter-dd.open .filter-dd-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.filter-dd-menu button{
  display:block; width:100%; text-align:left; background:none; border:none; padding:9px 12px;
  font-size:.85rem; color:var(--ink-700); border-radius:var(--radius-sm);
}
.filter-dd-menu button:hover{ background:var(--surface-2); }
.filter-dd-menu button.selected{ background:var(--rose-dust-700); color:var(--vanilla); }
.filter-search{ display:flex; align-items:center; flex:1.2; min-width:220px; }
.filter-search input{
  flex:1; background:none; border:none; color:var(--cream); font-size:.9rem; padding:0 18px; height:100%;
}
.filter-search input::placeholder{ color:rgba(255,255,255,.55); }
.filter-search button{
  display:flex; align-items:center; gap:8px; background:transparent; color:var(--cream); border:1px solid rgba(255,255,255,.55);
  padding:0 24px; height:40px; margin:8px; font-weight:600; font-size:.78rem; letter-spacing:.08em; text-transform:uppercase;
  align-self:center; border-radius:var(--radius-control); transition:var(--transition-ui);
}
.filter-search button:hover{ background:rgba(255,255,255,.14); border-color:var(--cream); }
.filter-search button svg{ width:15px; height:15px; }
@media (max-width:960px){
  .filter-dd{ min-width:auto; flex:1 1 45%; }
  .filter-search{ flex:1 1 100%; order:99; }
}

.subcat-strip{ display:flex; gap:14px; overflow-x:auto; padding-bottom:6px; margin-bottom:8px; }
.subcat-chip{ flex:none; display:flex; align-items:center; gap:10px; background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-control); padding:8px 18px 8px 8px; box-shadow:var(--shadow-sm); font-size:.82rem; font-weight:600; color:var(--ink-700); transition:var(--transition-ui); }
.subcat-chip:hover{ border-color:var(--border-color-hover); }
.subcat-chip .dot{ width:34px; height:34px; border-radius:50%; overflow:hidden; flex:none; }
.subcat-chip.active{ background:var(--rose-700); color:var(--vanilla); border-color:var(--rose-800); }
.empty-note{ background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-md); padding:40px; text-align:center; color:var(--ink-500); box-shadow:var(--shadow-sm); }

/* ---------- Product detail ---------- */
.product-detail{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:flex-start; }
.pd-gallery{ position:sticky; top:90px; }
.pd-main-img{ border-radius:var(--radius-lg); border:var(--border-rose); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:1/1; margin-bottom:16px; background:var(--vanilla); }
.pd-main-img .photo-cover{ object-fit:contain; }
.pd-thumbs{ display:flex; gap:12px; }
.pd-thumbs .t{ width:70px; height:70px; border-radius:var(--radius-control); overflow:hidden; border:2px solid var(--surface-3); cursor:pointer; transition:var(--transition-ui); background:var(--vanilla); }
.pd-thumbs .t .photo-cover{ object-fit:contain; }
.pd-thumbs .t:hover{ border-color:var(--border-color-hover); }
.pd-thumbs .t.active{ border-color:var(--rose-700); }

.pd-info .cat-label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-500); font-weight:700; }
.pd-info h1{ font-size:clamp(1.5rem,3vw,2rem); margin:8px 0 14px; }
.pd-ref{ font-size:.78rem; color:var(--ink-300); margin-bottom:16px; }
.pd-price{ font-family:var(--font-serif); font-size:2rem; color:var(--rose-700); font-weight:700; margin-bottom:6px; }
.pd-price small{ font-size:.9rem; color:var(--ink-500); font-family:var(--font-sans); font-weight:400; }
.pd-price .price-old{ font-family:var(--font-sans); font-size:1.1rem; font-weight:400; color:var(--ink-300); text-decoration:line-through; margin-right:8px; }
.pd-desc{ margin:18px 0 26px; }
.char-count{ font-size:.72rem; color:var(--ink-300); text-align:right; margin-top:4px; }
.helper-text{ font-size:.76rem; color:var(--ink-300); margin-top:6px; }
.pd-prep-note{ display:flex; align-items:center; gap:8px; font-size:.8rem; color:var(--rose-dust-700); margin-bottom:18px; }
.pd-prep-note svg{ width:15px; height:15px; flex:none; }
#pd-order-summary.info-card{ margin-bottom:18px; }
#pd-order-summary .row{ font-size:.82rem; }

.field-group{ margin-bottom:22px; }
.time-range-row{ display:flex; align-items:center; gap:10px; }
.time-range-row select{ flex:1; }
.time-range-sep{ color:var(--ink-300); font-weight:600; }
.field-group > label{ display:block; font-size:.8rem; font-weight:700; letter-spacing:.03em; color:var(--ink-700); margin-bottom:10px; text-transform:uppercase; }
.pill-group{ display:flex; flex-wrap:wrap; gap:10px; }
.opt-optional{ font-weight:400; text-transform:none; letter-spacing:0; color:var(--ink-300); }
.field-group.opt-missing > label{ color:var(--rose-700); }
.field-group.opt-missing .pill{ border-color:var(--rose-700); }
.pill{ padding:9px 16px; border-radius:var(--radius-control); border:var(--border-rose); background:var(--vanilla-deep); font-size:.82rem; color:var(--ink-700); transition:var(--transition-ui); }
.pill:hover{ border-color:var(--border-color-hover); }
.pill.selected{ background:var(--rose-700); border-color:var(--rose-800); color:var(--vanilla); }
.pill .add{ opacity:.75; font-size:.74rem; margin-left:4px; }
.flavor-combo-options{ flex-basis:100%; display:flex; flex-wrap:wrap; gap:8px 18px; margin-top:12px; padding-top:12px; border-top:1px dashed var(--border-color-hover); }
.flavor-combo-options[hidden]{ display:none; }
.flavor-combo-option{ display:flex; align-items:center; gap:6px; font-size:.82rem; color:var(--ink-700); cursor:pointer; }
.flavor-combo-option input{ width:auto; }
.input, .textarea, .date-input{
  width:100%; padding:13px 16px; border:var(--border-rose); border-radius:var(--radius-control); background:var(--vanilla-deep);
  font-size:.9rem; color:var(--ink-900); transition:var(--transition-ui);
}
.input:focus, .textarea:focus, .date-input:focus{ outline:none; border-color:var(--border-color-hover); }
.textarea{ resize:vertical; min-height:80px; }
.pd-actions{ display:flex; gap:14px; align-items:center; margin-top:26px; flex-wrap:wrap; }
.qty-box{ display:flex; align-items:center; border:var(--border-rose); border-radius:var(--radius-round); overflow:hidden; }
.qty-box button{ width:40px; height:48px; border:none; background:var(--vanilla-deep); font-size:1.1rem; color:var(--rose-700); }
.qty-box button:hover{ background:var(--surface-2); }
.qty-box input{ width:40px; text-align:center; border:none; background:var(--vanilla-deep); font-size:.95rem; color:var(--ink-900); }
/* полето за количество се разпъва на цялата височина — иначе над и под него прозираше светъл фон (02.11) */
.qty-box{ background:var(--vanilla-deep); }
.qty-box input{ align-self:stretch; height:auto; min-height:0; margin:0; padding:0; box-shadow:none; }
#pd-qty-box:not(.qty-kg) input:not(.qty-wide){ width:58px; } /* „10 бр.“ се събира */
.pd-note{ font-size:.78rem; color:var(--ink-300); margin-top:14px; }
.trust-row{ display:flex; gap:22px; margin-top:30px; padding-top:26px; border-top:var(--border-rose-soft); flex-wrap:wrap; }
.trust-row .t-item{ display:flex; gap:10px; align-items:flex-start; font-size:.78rem; color:var(--ink-500); max-width:200px; }
.trust-row svg{ width:22px; height:22px; color:var(--rose-700); flex:none; }

.pd-tabs{ margin-top:64px; }
.tab-heads{ display:flex; gap:10px; border-bottom:var(--border-rose-soft); margin-bottom:24px; }
.tab-heads button{ background:none; border:none; padding:12px 22px; font-weight:600; color:var(--ink-500); border-bottom:2px solid transparent; }
.tab-heads button.active{ color:var(--rose-700); border-color:var(--rose-700); }
.tab-panel{ display:none; }
.tab-panel.active{ display:block; }

.related-strip{ margin-top:70px; }

/* ---------- Cinematic crossfade carousel (js/cinematic-gallery.js) ---------- */
.cine-gallery{ position:relative; overflow:hidden; background:var(--rose-950); }
.cine-slide{
  position:absolute; inset:0; background-size:cover; background-position:center;
  opacity:0; transition:opacity 1000ms ease;
}
.cine-slide.active{ opacity:1; z-index:1; }
.cine-zoom .cine-slide{ transform:scale(1); transition:opacity 1000ms ease, transform 6500ms ease-out; }
.cine-zoom .cine-slide.active{ transform:scale(1.03); }
.cine-dots{ position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:7px; z-index:2; }
.cine-dot{ width:5px; height:5px; border-radius:50%; border:1px solid var(--vanilla); background:rgba(253,250,243,.4); padding:0; transition:var(--transition-ui); }
.cine-dot:hover{ background:var(--rose-dust-300); border-color:var(--rose-dust-300); }
.cine-dot.active{ background:var(--rose-dust-500); border-color:var(--rose-dust-500); width:16px; border-radius:3px; }
@media (prefers-reduced-motion: reduce){
  .cine-slide{ transition:opacity 400ms ease !important; transform:none !important; }
}

/* ---------- "Обекти" — Editorial Split Hero (контейнирано "прозорче", не edge-to-edge) ---------- */
.locations-hero{ background:linear-gradient(135deg, var(--vanilla) 0%, var(--vanilla-deep) 100%); padding:52px 0; overflow:hidden; }
.locations-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; align-items:start; gap:52px; }
.locations-hero-copy h1{ font-size:clamp(1.9rem,3.2vw,2.6rem); margin-bottom:14px; }
.locations-hero-copy .eyebrow{ color:var(--rose-dust-700); }
.locations-hero-copy .eyebrow::before{ background:var(--rose-dust-500); }
.locations-hero-copy p{ max-width:440px; font-size:.98rem; }
.locations-hero-actions{ display:flex; gap:14px; flex-wrap:wrap; margin-top:10px; }
.locations-hero-photo-wrap{ position:relative; width:100%; aspect-ratio:5/4; max-width:100%; }
.locations-hero-photo{
  position:absolute; inset:0; z-index:1; border-radius:var(--radius-card); overflow:hidden;
  border:1px solid var(--rose-dust-500); box-shadow:var(--shadow-lg);
}
@media (max-width:960px){
  .locations-hero-grid{ grid-template-columns:1fr; }
  .locations-hero-photo-wrap{ order:-1; max-width:440px; margin:0 auto; }
  .locations-hero-copy{ text-align:left; }
}

/* ---------- Store cards (обекти) — с mini-gallery hover ---------- */
.store-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:26px; }
.store-card{ background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition-ui); }
.store-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--rose-dust-500); }
.store-media{ aspect-ratio:16/9; position:relative; overflow:hidden; }
.store-media-strip{ display:flex; width:100%; height:100%; overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; }
.store-media-strip::-webkit-scrollbar{ display:none; }
.store-media-strip img{ flex:none; width:100%; height:100%; object-fit:cover; scroll-snap-align:start; }
@media (min-width:769px){
  /* На desktop показваме само корицата + hover crossfade към интериор — без swipe лента. */
  .store-media-strip{ overflow:hidden; }
  .store-media-strip img{ position:absolute; inset:0; opacity:0; transition:opacity 500ms ease; }
  .store-media-strip img:first-child{ opacity:1; }
  .store-card:hover .store-media-strip img:first-child{ opacity:0; }
  .store-card:hover .store-media-strip img:nth-child(2){ opacity:1; }
}
.store-body{ padding:22px 24px 24px; }
.store-body h3{ font-size:1.06rem; letter-spacing:-.005em; margin-bottom:3px; }
.store-type{ font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.1em; color:var(--gold-500); margin-bottom:16px; }
.store-body ul{ display:flex; flex-direction:column; gap:9px; margin:0 0 20px; padding-top:14px; border-top:1px solid rgba(74,50,34,.1); }
.store-body li{ font-size:.82rem; color:var(--ink-500); display:flex; gap:9px; align-items:flex-start; }
.store-body ul svg{ width:13px; height:13px; color:var(--ink-500); flex:none; margin-top:2px; opacity:.85; }
.store-card .link-arrow{ font-size:.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--ganache-700); }
.store-card .link-arrow:hover{ color:var(--gold-500); }
.store-card .link-arrow svg{ width:12px; height:12px; }
.store-map{ border-radius:var(--radius-sm); border:var(--border-rose); overflow:hidden; aspect-ratio:16/9; margin-bottom:16px; }
.store-map iframe{ width:100%; height:100%; border:none; display:block; filter:saturate(.85); }

/* ---------- Страница на конкретен обект (location.html) ---------- */
.location-hero-section{ padding:32px 0 0; }
.location-hero{
  position:relative; aspect-ratio:16/8; max-height:420px; border-radius:var(--radius-card);
  overflow:hidden; border:1px solid var(--rose-dust-300); box-shadow:var(--shadow-lg);
}
.location-info-section{ padding:40px 0 0; }
.location-info-head{
  display:flex; flex-wrap:wrap; justify-content:space-between; align-items:flex-end; gap:24px;
  margin-bottom:28px; padding-bottom:28px; border-bottom:var(--border-rose-soft);
}
.location-info-head h1{ margin-bottom:2px; }
.location-info-section .eyebrow{ color:var(--rose-dust-700); }
.location-info-section .eyebrow::before{ background:var(--rose-dust-500); }
.location-info-facts{ display:flex; flex-wrap:wrap; gap:28px; margin:0 0 28px; }
.location-info-fact{ display:flex; gap:10px; align-items:flex-start; font-size:.9rem; color:var(--ink-700); }
.location-info-fact svg{ width:17px; height:17px; color:var(--rose-dust-700); flex:none; margin-top:2px; }
.location-info-actions{ display:flex; gap:14px; flex-wrap:wrap; }

.location-atmosphere{ padding:48px 0 60px; }
.location-atmosphere-grid{ display:grid; grid-template-columns:1.6fr 1fr; grid-template-rows:1fr 1fr; gap:14px; height:360px; }
.la-big{ grid-row:1/3; border-radius:var(--radius-card); overflow:hidden; border:1px solid var(--rose-dust-300); }
.la-small{ border-radius:var(--radius-card); overflow:hidden; border:1px solid var(--rose-dust-300); }
.location-atmosphere-grid img{ width:100%; height:100%; object-fit:cover; }
.location-atmosphere-more{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin-top:14px; }
.la-more{ aspect-ratio:3/2; border-radius:var(--radius-card); overflow:hidden; border:1px solid var(--rose-dust-300); }
.la-more img{ width:100%; height:100%; object-fit:cover; display:block; }
@media (max-width:860px){ .location-atmosphere-more{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:860px){
  .location-atmosphere-grid{ grid-template-columns:1fr; grid-template-rows:auto; height:auto; gap:14px; }
  .la-big{ grid-row:auto; aspect-ratio:4/3; }
  .la-small{ aspect-ratio:16/9; }
}

/* Шоколат — по-силно, но все още фино присъствие на Chocolate Ganache */
.location-page--boutique .location-info-section .eyebrow{ color:var(--ganache-700); }
.location-page--boutique .location-info-section .eyebrow::before{ background:var(--ganache-700); }
.location-page--boutique .location-info-actions .btn-primary{ border:var(--border-width) solid var(--ganache-700); color:var(--ganache-700); }
.location-page--boutique .location-info-actions .btn-primary:hover{ background:var(--ganache-700); }

/* ---------- About page ---------- */
.about-hero{ display:grid; grid-template-columns:1fr 1fr; gap:50px; align-items:center; }
.about-media{ border-radius:var(--radius-card); border:var(--border-rose); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:4/5; }
.stat-row{ display:grid; grid-template-columns:repeat(4,1fr); gap:20px; text-align:center; margin-top:50px; }
.stat-row .num{ font-family:var(--font-serif); font-size:2.4rem; color:var(--rose-700); font-weight:700; }
.stat-row .lbl{ font-size:.8rem; color:var(--ink-500); }
.values-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; }
.value-card{ background:var(--vanilla-deep); border:var(--border-rose); padding:28px 22px; border-radius:var(--radius-md); box-shadow:var(--shadow-sm); min-width:0; overflow-wrap:break-word; }
.career-meta{ display:flex; align-items:center; gap:6px; font-size:.74rem; color:var(--ink-300); margin-bottom:10px; }
.career-meta svg{ width:13px; height:13px; flex:none; }
.value-card svg{ width:32px; height:32px; color:var(--rose-700); margin-bottom:14px; }
.value-card h4{ font-size:1rem; }
.value-card p{ font-size:.85rem; margin:0; }
/* Редуваме Vanilla / Rose Dust панели в решетката, вместо еднакъв цвят навсякъде. */
.values-grid .value-card:nth-child(even){ background:var(--rose-dust-700); border:1px solid var(--gold-500); }
.values-grid .value-card:nth-child(even) svg{ color:var(--vanilla-deep); }
.values-grid .value-card:nth-child(even) h4,
.values-grid .value-card:nth-child(even) p{ color:var(--vanilla-deep); }

/* ---------- Contact / order forms ---------- */
.form-layout{ display:grid; grid-template-columns:1fr 1fr; gap:50px; }
.info-card{ background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-md); padding:28px; box-shadow:var(--shadow-sm); margin-bottom:18px; }
.info-card h4{ font-size:.95rem; margin-bottom:12px; }
.info-card .row{ display:flex; gap:12px; align-items:flex-start; font-size:.87rem; color:var(--ink-500); margin-bottom:10px; }
.info-card svg{ width:18px; height:18px; color:var(--rose-700); flex:none; margin-top:2px; }
.contact-form{ background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-lg); padding:34px; box-shadow:var(--shadow-sm); }
.form-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.form-group{ margin-bottom:18px; }
.form-group label{ display:block; font-size:.78rem; font-weight:700; color:var(--ink-700); margin-bottom:8px; text-transform:uppercase; letter-spacing:.03em; }
.map-embed{ border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-sm); aspect-ratio:16/8; margin-top:20px;}
.file-drop{
  display:flex; align-items:center; justify-content:center; gap:10px; padding:20px; text-align:center;
  border:1px dashed var(--rose-300); border-radius:var(--radius-card); background:var(--surface-2);
  cursor:pointer; color:var(--ink-500); font-size:.85rem; transition:var(--transition-ui);
}
.file-drop:hover{ border-color:var(--border-color-hover); background:var(--surface-3); }
.file-drop svg{ width:20px; height:20px; color:var(--rose-700); flex:none; }
.file-list{ display:flex; flex-direction:column; gap:6px; margin-top:10px; }
.file-chip{ display:flex; align-items:center; gap:8px; padding:8px 12px; background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-sm); font-size:.8rem; color:var(--ink-700); }
.file-chip svg{ width:14px; height:14px; color:var(--rose-dust-700); flex:none; }
/* Rose Dust panel — потвърждение е "важно съдържание", не неутрална нотка. */
.success-box{ display:none; background:var(--rose-dust-700); border:1px solid var(--gold-500); color:var(--vanilla-deep); padding:18px 22px; border-radius:var(--radius-md); margin-bottom:20px; font-size:.9rem; font-weight:600;}
.success-box.show{ display:block; }

.account-form-wrap{ max-width:460px; margin:0 auto; }
.form-error-msg{ display:none; background:rgba(196,90,90,.12); border:1px solid #c45a5a; color:#c45a5a; font-size:.85rem; padding:10px 14px; border-radius:var(--radius-control,8px); margin-bottom:16px; }
.form-error-msg.show{ display:block; }

.acct-danger-btn{ color:#a12626; border-color:#a12626; }
.acct-danger-btn:hover{ background:#fde0e0; }
.acct-danger-solid{ background:#a12626; color:#fff; border:1px solid #a12626; }
.acct-danger-solid:hover{ background:#8a1f1f; }
.acct-danger-box{ background:#fde9e9; border:1px solid #e06060; border-radius:var(--radius-md); padding:12px 16px; margin-bottom:14px; font-size:.84rem; color:#5c1a1a; }
.acct-danger-box p{ margin:0 0 6px; }
.acct-danger-box p:last-child{ margin-bottom:0; }
.acct-field-note{ margin:6px 0 0; font-size:.78rem; color:var(--ink-300); }
.acct-resend{ font-size:.84rem; margin:0 0 14px; color:var(--ink-700); }
.acct-resend a{ text-decoration:underline; color:var(--rose-700); }
.acct-resend span{ display:block; margin-top:4px; color:var(--ink-300); }
.acct-forgot-link{ text-align:center; margin:14px 0 0; font-size:.86rem; }
.acct-forgot-link a{ text-decoration:underline; color:var(--rose-700); }
.acct-verify{ background:#fff3d6; border:1px solid #e0a82e; border-radius:var(--radius-md); padding:12px 16px; margin-bottom:18px; font-size:.84rem; color:#5c3b00; }
.acct-verify p{ margin:0 0 10px; }
.acct-verify-msg{ margin-left:10px; font-size:.8rem; }
.acct-orders-empty{ font-size:.88rem; color:var(--ink-300); margin:0; }
.acct-order{ background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-md); margin-bottom:10px; font-size:.86rem; }
.acct-order summary{ display:flex; flex-wrap:wrap; align-items:center; gap:6px 14px; padding:14px 18px; cursor:pointer; list-style:none; }
.acct-order summary::-webkit-details-marker{ display:none; }
.acct-order-no{ font-weight:700; font-size:.94rem; }
.acct-order-date{ color:var(--ink-300); }
.acct-order-total{ margin-left:auto; font-weight:700; }
.acct-order-status{ font-size:.68rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:3px 10px; border-radius:var(--radius-round); border:1px solid transparent; }
.acct-order-status--new{ background:#fff3d6; color:#8a5a00; border-color:#e0a82e; }
.acct-order-status--confirmed{ background:#e0edff; color:#1d4f9c; border-color:#5b93e0; }
.acct-order-status--preparing{ background:#ffe6d2; color:#a04a0a; border-color:#ec8b3c; }
.acct-order-status--ready{ background:#d9f3ee; color:#0d6a5c; border-color:#3cb8a2; }
.acct-order-status--completed{ background:#d6f0d8; color:#1f6b2c; border-color:#4caf5b; }
.acct-order-status--cancelled{ background:#fde0e0; color:#a12626; border-color:#e06060; }
.acct-order-body{ padding:0 18px 16px; border-top:var(--border-rose-soft); }
.acct-order-items{ width:100%; border-collapse:collapse; margin:12px 0; }
.acct-order-items td{ padding:6px 0; vertical-align:top; border-bottom:1px solid rgba(0,0,0,.05); }
.acct-order-items td:not(:first-child){ padding-left:12px; text-align:right; }
.acct-order-sub{ font-size:.76rem; color:var(--ink-300); }
.acct-order-meta{ line-height:1.7; color:var(--ink-700); }
.acct-order-count{ margin-top:6px; font-weight:700; }
.acct-address-card{ background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-md); padding:16px 18px; margin-bottom:12px; font-size:.86rem; color:var(--ink-700); line-height:1.6; }
.acct-address-card-head{ display:flex; align-items:center; gap:10px; margin-bottom:4px; font-size:.94rem; font-weight:700; }
.acct-address-badge{ font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:3px 9px; border-radius:var(--radius-round); background:rgba(129,178,154,.15); color:var(--mint-600); border:1px solid var(--mint-600); }
.acct-address-card-actions{ display:flex; gap:16px; margin-top:10px; }
.acct-address-card-actions button{ background:none; border:none; padding:0; font-size:.82rem; text-decoration:underline; cursor:pointer; color:var(--rose-700); }

/* ---------- News ---------- */
.news-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.news-card{ background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-sm); transition:var(--transition-ui); }
.news-card:hover{ box-shadow:var(--shadow-md); transform:translateY(-3px); border-color:var(--border-color-hover); }
.news-media{ aspect-ratio:16/10; }
.news-body{ padding:20px 22px 24px; }
.news-meta{ font-size:.72rem; color:var(--gold-500); text-transform:uppercase; letter-spacing:.06em; margin-bottom:8px; font-weight:700; }
.news-body h3{ font-size:1.05rem; margin-bottom:10px; }
.news-body p{ font-size:.85rem; }
.news-article h1{ font-size:clamp(1.7rem,3.4vw,2.5rem); }
.news-article-media{ border-radius:var(--radius-lg); border:var(--border-rose); overflow:hidden; box-shadow:var(--shadow-md); aspect-ratio:16/8; margin:24px 0 34px; }
.news-article-body{ max-width:760px; margin:0 auto; }
.news-article-body p{ font-size:1.02rem; color:var(--ink-700); }

/* ---------- Cart page ---------- */
.cart-table{ width:100%; border-collapse:collapse; background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-md); overflow:hidden; box-shadow:var(--shadow-sm); }
.cart-table th{ text-align:left; font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-300); padding:16px 18px; border-bottom:var(--border-rose-soft); }
.cart-table td{ padding:16px 18px; border-bottom:var(--border-rose-soft); font-size:.88rem; vertical-align:middle; }
.cart-item-row{ display:flex; gap:14px; align-items:center; }
.cart-item-row .thumb{ width:64px; height:64px; border-radius:var(--radius-control); overflow:hidden; flex:none; border:1px solid var(--surface-3); background:var(--vanilla); }
.cart-item-row .thumb .photo-cover{ object-fit:contain; }
.cart-item-row .name{ font-weight:600; font-size:.9rem; }
.cart-item-row .opt{ font-size:.76rem; color:var(--ink-300); }
.remove-btn{ background:none; border:none; color:var(--ink-300); font-size:1.1rem; }
.remove-btn:hover{ color:var(--rose-700); }
.cart-summary{ background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-md); padding:26px; box-shadow:var(--shadow-sm); }
.summary-zone{ margin-bottom:16px; }
.summary-zone label{ display:block; font-size:.72rem; font-weight:700; letter-spacing:.03em; text-transform:uppercase; color:var(--ink-700); margin-bottom:8px; }
.summary-promo{ display:flex; gap:8px; margin-bottom:6px; }
.summary-promo .input{ flex:1; }
.summary-promo-msg{ display:none; font-size:.78rem; margin:0 0 12px; }
.summary-promo-msg.show{ display:block; }
.summary-promo-msg.error{ color:var(--rose-700); }
.summary-promo-msg.success{ color:var(--mint-600); }
.promo-applied{
  display:flex; align-items:center; justify-content:space-between; gap:10px; padding:9px 12px; margin-bottom:16px;
  background:var(--surface-2); border:1px solid var(--gold-500); border-radius:var(--radius-control); font-size:.8rem; color:var(--ganache-700); font-weight:600;
}
.promo-applied button{ background:none; border:none; color:var(--ink-500); display:flex; padding:2px; flex:none; }
.promo-applied button:hover{ color:var(--rose-700); }
.promo-applied button svg{ width:13px; height:13px; }
.summary-row{ display:flex; justify-content:space-between; font-size:.9rem; color:var(--ink-500); margin-bottom:12px; }
.summary-row.discount{ color:var(--rose-700); font-weight:600; }
.summary-row.total{ font-size:1.15rem; color:var(--ink-900); font-weight:700; border-top:var(--border-rose-soft); padding-top:14px; margin-top:14px; }
.cart-empty{ text-align:center; padding:70px 20px; }
.cart-empty svg{ width:70px; height:70px; color:var(--rose-200); margin:0 auto 20px; }
.cart-page-layout{ display:grid; grid-template-columns:1fr 340px; gap:40px; align-items:start; }
@media (max-width:900px){ .cart-page-layout{ grid-template-columns:1fr; } }

/* ---------- Fulfillment block (Section 4-12, ORDER заданието) ---------- */
.checkout-auth{ background:var(--surface-2); border-radius:var(--radius-md); padding:14px 16px; margin-bottom:16px; font-size:.86rem; }
.checkout-auth p{ margin:0 0 8px; }
.checkout-auth p:last-child{ margin-bottom:0; }
.checkout-auth a:not(.btn){ text-decoration:underline; }
.checkout-auth-actions{ display:flex; flex-wrap:wrap; gap:10px; margin:10px 0; }
.checkout-auth-note{ font-size:.78rem; color:var(--ink-300); }
.fulfillment-block{ padding-bottom:22px; border-bottom:var(--border-rose-soft); margin-bottom:22px; }
.fulfillment-block .form-group{ margin-bottom:14px; }
.fulfillment-block .form-group:last-child{ margin-bottom:0; }
.fulfillment-block .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.fulfillment-block #time-slot-pills .pill{ font-size:.76rem; padding:7px 12px; }
.zone-result{ display:flex; align-items:flex-start; gap:8px; font-size:.78rem; padding:10px 12px; border-radius:var(--radius-control); margin-top:10px; }
.zone-result svg{ width:14px; height:14px; flex:none; margin-top:1px; }
.zone-result.ok{ background:var(--surface-2); border:1px solid var(--mint-600); color:var(--ganache-700); }
.zone-result.warn{ background:var(--surface-2); border:1px solid var(--gold-500); color:var(--ganache-700); }
.zone-result a{ color:var(--rose-700); text-decoration:underline; }
.order-recap{ background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-control); padding:14px 16px; margin-top:16px; font-size:.8rem; color:var(--ink-500); }
.order-recap .row{ margin-bottom:6px; }
.order-recap .row:last-child{ margin-bottom:0; }

/* =========================================================
   ADMIN.HTML — лека, но реално функционална admin симулация
   (Section 13-23 от ORDER заданието). Без header/mega menu на
   клиентския сайт — вътрешен инструмент, не публична страница.
   ========================================================= */
.admin-topbar{ background:var(--rose-950); color:var(--vanilla); padding:14px 0; }
.admin-topbar-row{ display:flex; align-items:center; justify-content:space-between; }
.admin-topbar a{ color:var(--gold-300); font-size:.85rem; }
.admin-preview-banner{ background:var(--gold-500); color:var(--ink-900); text-align:center; padding:8px 16px; font-size:.82rem; font-weight:600; }
.admin-preview-banner button{ background:none; border:none; text-decoration:underline; font-weight:700; margin-left:8px; cursor:pointer; color:var(--ink-900); }
.admin-tabs{ display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; border-bottom:var(--border-rose-soft); padding-bottom:16px; }
.admin-tabs button{ padding:9px 16px; border-radius:var(--radius-control); border:var(--border-rose); background:var(--vanilla-deep); font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-500); }
.admin-tabs button.active{ background:var(--rose-700); border-color:var(--rose-800); color:var(--vanilla); }
.admin-panel{ display:none; }
.admin-panel.active{ display:block; }
.admin-group{ margin-bottom:36px; }
.admin-group h3{ font-size:1.05rem; margin-bottom:4px; }
.admin-group-note{ font-size:.82rem; color:var(--ink-300); margin-bottom:16px; }
.admin-row{
  display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;
  background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-md); padding:14px 18px; margin-bottom:10px;
}
.admin-row-main{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.admin-row-name{ font-weight:600; font-size:.92rem; }
.admin-row-sub{ font-size:.76rem; color:var(--ink-300); }
.admin-status{ font-size:.72rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em; padding:4px 10px; border-radius:var(--radius-round); border:1px solid transparent; }
.admin-status--active{ background:rgba(129,178,154,.15); color:var(--mint-600); border-color:var(--mint-600); }
.admin-status--hidden{ background:var(--surface-2); color:var(--ink-300); border-color:var(--surface-3); }
.admin-status--scheduled{ background:rgba(194,169,126,.15); color:var(--gold-500); border-color:var(--gold-500); }
.admin-status--expired{ background:var(--surface-2); color:var(--ink-300); border-color:var(--surface-3); }
/* Статуси на поръчки и плащания — всеки със свой цвят */
.admin-status--os-new{ background:#fff3d6; color:#8a5a00; border-color:#e0a82e; }
.admin-status--os-confirmed{ background:#e0edff; color:#1d4f9c; border-color:#5b93e0; }
.admin-status--os-preparing{ background:#ffe6d2; color:#a04a0a; border-color:#ec8b3c; }
.admin-status--os-ready{ background:#d9f3ee; color:#0d6a5c; border-color:#3cb8a2; }
.admin-status--os-completed{ background:#d6f0d8; color:#1f6b2c; border-color:#4caf5b; }
.admin-status--os-cancelled{ background:#fde0e0; color:#a12626; border-color:#e06060; }
.admin-status--pay-pending{ background:#fff3d6; color:#8a5a00; border-color:#e0a82e; }
.admin-status--pay-paid{ background:#d6f0d8; color:#1f6b2c; border-color:#4caf5b; }
.admin-status--pay-failed, .admin-status--pay-cancelled{ background:#fde0e0; color:#a12626; border-color:#e06060; }
.admin-row-actions{ display:flex; gap:8px; flex-wrap:wrap; }
.admin-row-actions .btn{ padding:8px 14px; font-size:.72rem; }
.admin-schedule-form{ flex-basis:100%; display:grid; grid-template-columns:1fr 1fr auto auto; gap:10px; align-items:end; margin-top:12px; padding-top:12px; border-top:var(--border-rose-soft); }
.admin-schedule-form label{ display:block; font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-300); margin-bottom:6px; }
.admin-schedule-form input{ width:100%; padding:8px 10px; border:var(--border-rose); border-radius:var(--radius-control); background:var(--vanilla); font-size:.82rem; }
.admin-table{ width:100%; border-collapse:collapse; font-size:.82rem; }
.admin-table th{ text-align:left; font-size:.68rem; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-300); padding:8px 12px; border-bottom:var(--border-rose); }
.admin-table td{ padding:10px 12px; border-bottom:1px solid var(--surface-3); vertical-align:top; }
@media (max-width:720px){
  .admin-schedule-form{ grid-template-columns:1fr 1fr; }
  .admin-table{ display:block; overflow-x:auto; }
}

/* ---------- Каталози ---------- */
.catalog-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:28px; }
.catalog-card{ display:flex; flex-direction:column; }
.catalog-cover{
  position:relative; aspect-ratio:3/4; border-radius:var(--radius-card); overflow:hidden; box-shadow:var(--shadow-md);
  display:block; margin-bottom:16px; border:6px solid var(--vanilla-deep); transition:var(--transition-ui);
}
.catalog-cover:hover{ box-shadow:var(--shadow-lg); transform:translateY(-3px); }
.catalog-cover::after{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(30,15,18,.85) 0%, rgba(30,15,18,.1) 50%, transparent 70%); }
.catalog-cover::before{ content:""; position:absolute; left:0; top:0; bottom:0; width:10px; background:rgba(0,0,0,.18); z-index:2; box-shadow:2px 0 6px rgba(0,0,0,.15) inset; }
.catalog-ribbon{ position:absolute; top:16px; right:-34px; background:var(--rose-700); color:var(--vanilla); font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; padding:5px 40px; transform:rotate(40deg); z-index:3; box-shadow:var(--shadow-sm); }
.catalog-cover-title{ position:absolute; left:20px; right:20px; bottom:20px; z-index:2; color:var(--vanilla); }
.catalog-cover-title .script{ font-size:1.6rem; color:var(--gold-300); display:block; }
.catalog-cover-title h3{ color:var(--vanilla); font-size:1.15rem; margin:2px 0 0; }
.catalog-meta p{ font-size:.85rem; margin-bottom:6px; }
.catalog-meta .meta{ display:block; font-size:.74rem; color:var(--ink-300); margin-bottom:12px; }

/* ---------- Онлайн каталог (флипбук) ---------- */
.flipbook-wrap{ display:flex; align-items:center; gap:18px; }
.flipbook{ flex:1; perspective:2000px; }
.book{
  position:relative; background:var(--vanilla-deep); border-radius:var(--radius-card); box-shadow:var(--shadow-md);
  display:grid; grid-template-columns:1fr 1fr; min-height:540px; overflow:hidden; transform-style:preserve-3d;
  border:var(--border-rose);
}
.book-page{ padding:44px 40px; position:relative; overflow:hidden; }
.book-page.left{ border-right:var(--border-rose-soft); }
.book-spine{ position:absolute; left:50%; top:0; bottom:0; width:16px; margin-left:-8px; background:linear-gradient(to right, rgba(0,0,0,.08), transparent 40%, transparent 60%, rgba(0,0,0,.08)); pointer-events:none; z-index:3; }
.flip-nav{
  width:48px; height:48px; border-radius:var(--radius-control); border:var(--border-rose); background:transparent; box-shadow:none;
  display:flex; align-items:center; justify-content:center; color:var(--rose-700); flex:none; transition:var(--transition-ui);
}
.flip-nav:hover{ border-color:var(--border-color-hover); color:var(--gold-500); }
.flip-nav:disabled{ opacity:.35; cursor:not-allowed; }
.flipbook-footer{ display:flex; justify-content:space-between; align-items:center; margin-top:18px; font-size:.82rem; color:var(--ink-500); }

@keyframes flipOutNext{ from{ transform:rotateY(0deg) scale(1); opacity:1; } to{ transform:rotateY(-14deg) scale(.96); opacity:.35; } }
@keyframes flipInNext{ from{ transform:rotateY(14deg) scale(.96); opacity:.35; } to{ transform:rotateY(0deg) scale(1); opacity:1; } }
@keyframes flipOutPrev{ from{ transform:rotateY(0deg) scale(1); opacity:1; } to{ transform:rotateY(14deg) scale(.96); opacity:.35; } }
@keyframes flipInPrev{ from{ transform:rotateY(-14deg) scale(.96); opacity:.35; } to{ transform:rotateY(0deg) scale(1); opacity:1; } }
.flip-out-next{ animation:flipOutNext .26s ease forwards; }
.flip-in-next{ animation:flipInNext .32s ease forwards; }
.flip-out-prev{ animation:flipOutPrev .26s ease forwards; }
.flip-in-prev{ animation:flipInPrev .32s ease forwards; }

.book-cover{ position:relative; margin:-44px -40px; height:calc(100% + 88px); }
.book-cover img{ width:100%; height:100%; object-fit:cover; }
.book-cover-overlay{ position:absolute; inset:0; background:linear-gradient(to top, rgba(30,15,18,.8), rgba(30,15,18,.1) 55%); display:flex; flex-direction:column; justify-content:flex-end; padding:30px; }
.book-cover-overlay .script{ font-size:2.2rem; color:var(--gold-300); }
.book-cover-overlay h2{ color:var(--vanilla); margin:0; }

.book-intro{ display:flex; flex-direction:column; justify-content:center; height:100%; }
.book-intro .meta{ font-size:.8rem; color:var(--ink-300); }
.book-hint{ margin-top:24px; display:inline-flex; align-items:center; gap:8px; color:var(--rose-600); font-weight:600; font-size:.85rem; }
.book-hint svg{ width:16px; height:16px; }

.catalog-product{ display:flex; flex-direction:column; height:100%; }
.catalog-product-img{ aspect-ratio:1/1; border-radius:var(--radius-sm); border:1px solid var(--surface-3); overflow:hidden; margin-bottom:16px; background:var(--vanilla); }
.catalog-product-img .photo-cover{ object-fit:contain; }
.catalog-product-img img{ width:100%; height:100%; object-fit:cover; }
.catalog-product .cat-label{ font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; color:var(--gold-500); font-weight:700; }
.catalog-product h3{ font-size:1rem; margin:6px 0 4px; }
.catalog-product .meta{ font-size:.76rem; color:var(--ink-300); }
.catalog-product .price{ font-family:var(--font-serif); color:var(--rose-700); font-weight:700; font-size:1.3rem; margin:8px 0 14px; }
.catalog-product .btn{ align-self:flex-start; margin-top:auto; }

.book-empty{ display:flex; flex-direction:column; align-items:center; justify-content:center; height:100%; text-align:center; color:var(--ink-300); gap:14px; }
.book-empty svg{ width:40px; height:40px; }

.book-cta{ display:flex; flex-direction:column; align-items:flex-start; justify-content:center; height:100%; }
.book-cta .script{ font-size:2rem; color:var(--gold-500); }
.book-cta h3{ margin-bottom:20px; }

@media (max-width:860px){
  .book{ grid-template-columns:1fr; min-height:auto; }
  .book-page.left{ border-right:none; border-bottom:var(--border-rose-soft); }
  .book-spine{ display:none; }
  .book-cover{ height:280px; }
  .flipbook-wrap{ flex-direction:column; }
  .flip-nav{ order:2; }
}


/* ---------- Footer (premium, компактен) ---------- */
/* Topbar/footer точен цвят от test-roza.almateastudio.com: --maroon-900. */
.site-footer{ background:var(--maroon-900); color:var(--cream); padding:52px 0 0; }
.footer-top{ display:flex; align-items:baseline; gap:24px; flex-wrap:wrap; padding-bottom:34px; margin-bottom:34px; }
.logo{ display:flex; align-items:center; gap:12px; }
.logo-plate{
  display:flex; align-items:center; justify-content:center; flex:none;
  background:var(--vanilla); border-radius:var(--radius-md); padding:8px 14px; box-shadow:var(--shadow-sm);
}
.logo-img{ height:44px; width:auto; object-fit:contain; flex:none; }
.logo-text{ line-height:1.15; display:flex; flex-direction:column; }
.logo-text .slogan{ font-family:var(--font-serif); font-style:italic; font-size:.74rem; white-space:nowrap; color:rgba(255,255,255,.65); }
.footer-tagline{ color:rgba(255,255,255,.55); font-size:.85rem; max-width:440px; margin:0; }

.footer-grid-v2{ display:grid; grid-template-columns:.9fr 1.05fr 1.05fr 1.15fr 1.05fr; gap:28px; }
.footer-newsletter{ display:flex; flex-wrap:wrap; gap:20px 40px; align-items:flex-start; justify-content:space-between; margin-top:34px; padding-top:28px; border-top:1px solid rgba(255,255,255,.12); }
.footer-newsletter-text h4{ margin:0 0 6px; font-size:.95rem; }
.footer-newsletter-text p{ margin:0; font-size:.85rem; color:rgba(252,248,244,.7); }
.footer-newsletter-fields{ flex:1 1 380px; max-width:520px; }
.footer-newsletter-row{ display:flex; gap:8px; }
.footer-newsletter-row input{ flex:1; min-width:0; padding:11px 14px; border-radius:8px; border:1px solid rgba(255,255,255,.25); background:rgba(255,255,255,.08); color:#fff; font:inherit; font-size:.9rem; }
.footer-newsletter-row input::placeholder{ color:rgba(252,248,244,.55); }
.footer-newsletter-row button{ padding:11px 18px; border-radius:8px; border:0; background:var(--gold-300); color:#3a2a2e; font:inherit; font-weight:700; font-size:.88rem; cursor:pointer; white-space:nowrap; }
.footer-newsletter-row button:disabled{ opacity:.6; cursor:default; }
.footer-newsletter-consent{ display:flex; gap:8px; align-items:flex-start; margin-top:10px; font-size:.76rem; line-height:1.4; color:rgba(252,248,244,.65); }
.footer-newsletter-consent input{ margin-top:2px; flex:none; accent-color:var(--gold-300); }
.footer-newsletter-msg{ margin-top:8px; font-size:.82rem; min-height:1em; }
.footer-newsletter-msg.ok{ color:#b9e6c3; }
.footer-newsletter-msg.err{ color:#ffb4b4; }
@media (max-width:600px){ .footer-newsletter-row{ flex-direction:column; } }
.footer-col h4{
  color:var(--vanilla); font-size:.76rem; text-transform:uppercase; letter-spacing:.1em; margin-bottom:18px;
  font-family:var(--font-sans); font-weight:700; display:flex; align-items:center; justify-content:space-between; gap:8px;
}
.footer-col h4 .accordion-chevron{ display:none; width:14px; height:14px; flex:none; transition:transform .2s ease; }
.footer-col ul{ display:flex; flex-direction:column; gap:10px; }
.footer-col a{ font-size:.85rem; color:rgba(252,248,244,.82); }
.footer-col a:hover{ color:var(--gold-300); }
.footer-contact-list a{ display:inline-flex; align-items:center; gap:8px; }
.footer-contact-list svg{ width:13px; height:13px; flex:none; color:var(--gold-300); }
.social-row{ display:flex; gap:10px; margin-top:18px; }
.social-row a{ width:36px; height:36px; border-radius:50%; background:rgba(255,255,255,.06); border:1px solid rgba(194,169,126,.35); color:var(--gold-500); display:flex; align-items:center; justify-content:center; }
.social-row a:hover{ background:var(--gold-500); border-color:var(--gold-500); color:var(--rose-950); }
.social-row svg{ width:15px; height:15px; }

/* ---------- Mobile accordion footer ---------- */
@media (max-width:600px){
  .footer-col{ border-bottom:1px solid rgba(255,255,255,.1); }
  .footer-col h4{ cursor:pointer; padding:14px 0; margin-bottom:0; }
  .footer-col h4 .accordion-chevron{ display:block; }
  .footer-col.open h4 .accordion-chevron{ transform:rotate(180deg); }
  .footer-col ul{ max-height:0; overflow:hidden; gap:0; transition:max-height .25s ease; }
  .footer-col.open ul{ max-height:320px; padding-bottom:16px; }
  .footer-col ul li{ padding:5px 0; }
  .footer-contact-col .social-row{ max-height:0; overflow:hidden; margin-top:0; transition:max-height .25s ease, margin-top .25s ease; }
  .footer-contact-col.open .social-row{ max-height:60px; margin-top:14px; }
}

/* ---------- Bottom credit bar (отделна, много фина лента) ---------- */
.credit-bar{ background:var(--vanilla); border-top:1px solid var(--surface-3); }
.credit-bar-inner{
  display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:16px;
  padding:14px 24px; font-size:.76rem; color:var(--ganache-700);
}
.credit-bar-inner a{ color:var(--ganache-700); font-weight:600; text-decoration:underline; text-decoration-color:transparent; transition:var(--transition-ui); }
.credit-bar-inner a:hover{ color:var(--gold-500); text-decoration-color:var(--gold-500); }
.credit-bar-legal{ display:flex; gap:16px; flex-wrap:wrap; }
.credit-bar-legal a{ font-weight:400; color:var(--ink-500); }
.credit-bar-legal a:hover{ color:var(--rose-700); text-decoration-color:var(--rose-700); }
@media (max-width:640px){ .credit-bar-inner{ flex-direction:column; align-items:flex-start; gap:6px; text-align:left; } }

/* ---------- Misc ---------- */
.divider-rose{ display:flex; align-items:center; justify-content:center; gap:14px; margin:0 0 20px; color:var(--gold-500); }
.divider-rose::before, .divider-rose::after{ content:""; height:1px; width:60px; background:var(--border-color-default); }
.toast{
  position:fixed; bottom:26px; right:26px; background:var(--rose-900); color:var(--vanilla); padding:16px 22px;
  border-radius:var(--radius-md); box-shadow:var(--shadow-lg); font-size:.86rem; z-index:999; display:flex; gap:12px; align-items:center;
  transform:translateY(140%); transition:.35s ease; border:1px solid rgba(255,255,255,.1);
}
.toast.show{ transform:translateY(0); }
.toast svg{ width:20px; height:20px; color:var(--gold-300); flex:none; }

/* ---------- Responsive ---------- */
@media (max-width:1080px){
  .cat-layout{ grid-template-columns:1fr; }
  .cat-sidebar{ position:static; }
  .craft-grid{ grid-template-columns:1fr; }
  .about-hero{ grid-template-columns:1fr; }
  .form-layout{ grid-template-columns:1fr; }
  .product-detail{ grid-template-columns:1fr; }
  .pd-gallery{ position:static; }
}
@media (max-width:860px){
  .hero-full{ height:64vh; }
  .hero-overlay h1{ font-size:clamp(1.9rem,6.4vw,2.6rem); }
  .hero-cta-wrap .btn{ padding:10px 18px; font-size:.76rem; }
  .header-row-v2{ padding-top:10px; padding-bottom:10px; gap:10px; }
  .logo-v2-tag{ display:none; }
  .header-search{ display:none; }
  .header-lang{ display:none; }
  .main-nav{ position:fixed; inset:0 0 0 30%; background:var(--vanilla); flex-direction:column; align-items:flex-start; padding:90px 24px 24px; transform:translateX(100%); transition:.3s; z-index:150; overflow-y:auto;}
  .main-nav.open{ transform:translateX(0); box-shadow:var(--shadow-lg); }
  .main-nav > ul{ flex-direction:column; gap:4px; width:100%; justify-content:flex-start; }
  .main-nav > ul > li{ width:100%; border-bottom:var(--border-rose-soft); }
  .main-nav a{ display:block; padding:14px 4px; color:var(--ink-700); }
  .main-nav a:hover{ color:var(--rose-700); }
  .mega{ position:static; transform:none; opacity:1; visibility:visible; box-shadow:none; border:none; width:auto !important; padding:0 0 10px 14px; display:none; }
  .main-nav li.has-drop.open .mega{ display:block; }
  .mega-v2-body{ flex-direction:column; min-height:auto; }
  .mega-v2-left{ width:100%; flex-direction:row; flex-wrap:wrap; border-right:none; padding:6px 0; }
  .mega-fam{ padding:8px 10px; border-left:none; border-radius:var(--radius-sm); }
  .mega-v2-right{ padding:10px 0; }
  .mega-panel ul{ grid-template-columns:1fr; }
  .mega-v2-footer{ padding:10px 0; border-top:none; }
  .mega-more .mega{ width:auto !important; }
  .mega-more-list{ grid-template-columns:1fr; padding:6px 0; }
  .burger{ display:flex; }
  .occ-grid{ grid-template-columns:repeat(2,1fr); }
  .values-grid{ grid-template-columns:repeat(2,1fr); }
  .stat-row{ grid-template-columns:repeat(2,1fr); gap:30px; }
  .footer-grid-v2{ grid-template-columns:1fr 1fr; }
  .store-grid{ grid-template-columns:1fr; }
  .news-grid{ grid-template-columns:1fr 1fr; }
}
@media (max-width:600px){
  .hero-full{ height:56vh; }
  .hero-overlay p{ display:none; }
  .product-grid{ grid-template-columns:repeat(2,1fr); }
  .footer-grid-v2{ grid-template-columns:1fr; }
  .footer-top{ flex-direction:column; align-items:flex-start; gap:12px; }
  .news-grid{ grid-template-columns:1fr; }
  .form-row{ grid-template-columns:1fr; }
  .occ-grid{ grid-template-columns:1fr 1fr; }
  .features .container{ justify-content:center; }
  .feature{ min-width:44%; }
}

.burger{ width:38px; height:38px; border-radius:50%; border:var(--border-width) solid var(--border-color-default); background:transparent; align-items:center; justify-content:center; z-index:160; flex:none; transition:var(--transition-ui); }
.burger:hover{ border-color:var(--border-color-hover); }
.burger span, .burger span::before, .burger span::after{ content:""; display:block; width:15px; height:1px; background:var(--rose-700); position:relative; transition:var(--transition-ui); }
.burger span::before{ position:absolute; top:-5px; }
.burger span::after{ position:absolute; top:5px; }
.nav-overlay{ display:none; position:fixed; inset:0; background:rgba(30,15,18,.4); z-index:140; }

/* =========================================================
   Страница: Споделете своя сладък момент (spodeli-sladak-moment.html)
   UGC кампания — снимка от клиент срещу еднократна отстъпка.
   ========================================================= */
.moment-hero{ background:linear-gradient(135deg, var(--vanilla) 0%, var(--surface) 100%); padding:60px 0 68px; overflow:hidden; }
.moment-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; }
.moment-hero-copy h1{ font-size:clamp(2rem,3.6vw,2.9rem); line-height:1.16; margin-bottom:16px; }
.moment-hero-tagline{ font-family:var(--font-serif); font-style:italic; color:var(--rose-dust-700); font-size:1.15rem; margin-bottom:18px; }
.moment-hero-copy p:not(.moment-hero-tagline){ font-size:1rem; max-width:480px; }
.moment-cta-row{ display:flex; align-items:center; gap:18px; flex-wrap:wrap; margin-top:8px; }
.moment-gift-badge{
  display:inline-flex; align-items:center; gap:8px; padding:9px 16px; border-radius:var(--radius-round);
  background:var(--surface); border:1px solid var(--gold-500); color:var(--ganache-700); font-size:.8rem; font-weight:600;
}
.moment-gift-badge svg{ width:16px; height:16px; color:var(--gold-500); flex:none; }
.moment-hero-photo-wrap{ position:relative; }
.moment-hero-photo-wrap::before{
  content:""; position:absolute; inset:16px -16px -16px 16px; border:1px solid var(--gold-500); border-radius:var(--radius-card); z-index:0;
}
.moment-hero-photo{ position:relative; z-index:1; aspect-ratio:4/5; border-radius:var(--radius-card); overflow:hidden; border:var(--border-rose); box-shadow:var(--shadow-lg); }
.moment-hero-photo img{ width:100%; height:100%; object-fit:cover; }

.moment-steps-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }

.moment-emotional{
  text-align:center; font-family:var(--font-serif); font-style:italic; font-weight:500; color:var(--rose-900);
  font-size:clamp(1.25rem,2.2vw,1.55rem); line-height:1.7; max-width:760px; margin:0 auto 26px;
}

.moment-photo-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(96px,1fr)); gap:10px; margin-top:14px; }
.moment-photo-thumb{ position:relative; aspect-ratio:1; border-radius:var(--radius-control); overflow:hidden; border:var(--border-rose); background:var(--vanilla-deep); }
.moment-photo-thumb img{ width:100%; height:100%; object-fit:cover; }
.moment-photo-remove{
  position:absolute; top:4px; right:4px; width:22px; height:22px; border-radius:50%; border:none;
  background:rgba(58,28,34,.72); color:var(--vanilla); display:flex; align-items:center; justify-content:center; padding:0;
}
.moment-photo-remove svg{ width:11px; height:11px; }
.moment-photo-remove:hover{ background:var(--rose-700); }
.file-drop.dragover{ border-color:var(--border-color-hover); background:var(--surface-2); }
.moment-field-hint{ font-size:.76rem; color:var(--ink-500); margin-top:8px; text-transform:none; letter-spacing:normal; font-weight:400; }
.moment-error{ display:none; color:var(--rose-700); font-size:.78rem; font-weight:600; margin-top:8px; }
.moment-error.show{ display:block; }

.moment-consent{ display:flex; align-items:flex-start; gap:10px; font-size:.8rem; color:var(--ink-700); line-height:1.55; margin-bottom:16px; }
.moment-consent input[type="checkbox"]{ accent-color:var(--rose-700); width:17px; height:17px; flex:none; margin-top:2px; }
.moment-consent a{ color:var(--rose-700); text-decoration:underline; }
.moment-consent-optional{ color:var(--ink-500); font-weight:400; }
.moment-hp{ position:absolute; left:-9999px; width:1px; height:1px; overflow:hidden; }

.moment-terms{ border:var(--border-rose); border-radius:var(--radius-card); background:var(--vanilla-deep); padding:2px 22px; margin-top:36px; }
.moment-terms summary{
  cursor:pointer; padding:16px 0; font-weight:700; color:var(--rose-900); display:flex; justify-content:space-between;
  align-items:center; list-style:none; gap:14px;
}
.moment-terms summary::-webkit-details-marker{ display:none; }
.moment-terms summary svg{ width:16px; height:16px; flex:none; color:var(--gold-500); transition:transform .2s ease; }
.moment-terms[open] summary svg{ transform:rotate(180deg); }
.moment-terms ul{ padding:0 0 18px; margin:0; }
.moment-terms li{ position:relative; padding-left:18px; margin-bottom:10px; font-size:.86rem; color:var(--ink-700); line-height:1.55; }
.moment-terms li::before{ content:""; position:absolute; left:0; top:9px; width:6px; height:6px; border-radius:50%; background:var(--gold-500); }

.moment-confirm{ text-align:center; padding:56px 30px; }
.moment-confirm-icon{
  width:64px; height:64px; border-radius:50%; background:var(--rose-100); color:var(--rose-700);
  display:flex; align-items:center; justify-content:center; margin:0 auto 22px; padding:14px;
}
.moment-confirm-icon svg{ width:100%; height:100%; }
.moment-confirm h3{ font-size:1.4rem; margin-bottom:10px; }
.moment-confirm p{ max-width:440px; margin-left:auto; margin-right:auto; }

.moment-gallery-layout{ display:grid; grid-template-columns:1fr 300px; gap:32px; align-items:start; }
.moment-gallery-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.moment-gallery-card{ aspect-ratio:4/5; border-radius:var(--radius-card); overflow:hidden; border:var(--border-rose); box-shadow:var(--shadow-sm); transition:var(--transition-ui); }
.moment-gallery-card:hover{ border-color:var(--border-color-hover); box-shadow:var(--shadow-md); transform:translateY(-3px); }
.moment-gallery-card img{ width:100%; height:100%; object-fit:cover; }
.moment-gallery-note{ text-align:center; font-size:.85rem; color:var(--ink-500); margin-top:22px; }

.moment-promo-card{
  background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-card); overflow:hidden;
  box-shadow:var(--shadow-md); position:sticky; top:24px;
}
.moment-promo-photo{ aspect-ratio:4/5; overflow:hidden; }
.moment-promo-photo img{ width:100%; height:100%; object-fit:cover; }
.moment-promo-body{ padding:22px; }
.moment-promo-body .eyebrow{ font-size:.66rem; }
.moment-promo-body h3{ font-size:1.25rem; margin-bottom:8px; line-height:1.25; }
.moment-promo-body > p{ font-size:.84rem; margin-bottom:16px; }
.moment-promo-badge{
  display:block; text-align:center; padding:9px 12px; margin-bottom:16px; border-radius:var(--radius-control);
  border:1px solid var(--gold-500); background:var(--surface); color:var(--ganache-700); font-size:.78rem; font-weight:700;
}

/* =========================================================
   Страница: Галерия (gallery.html) — снимки на клиенти.
   ========================================================= */
/* Ganache panel — тъмен контраст за CTA лентата, редуващ се с Rose Dust
   панелите другаде на страницата (Section "Не еднакъв panel color"). */
.gallery-cta-band{
  display:flex; align-items:center; justify-content:space-between; gap:24px; flex-wrap:wrap;
  background:var(--ganache-700); border:1px solid var(--gold-500); border-radius:var(--radius-card); padding:26px 30px; margin-bottom:44px;
}
.gallery-cta-band-text{ min-width:0; }
.gallery-cta-band-text h3{ font-size:1.15rem; margin-bottom:4px; color:var(--vanilla-deep); }
.gallery-cta-band-text p{ margin:0; font-size:.86rem; color:var(--vanilla-deep); opacity:.85; }
.gallery-cta-band .btn-primary{ border-color:var(--vanilla); color:var(--vanilla-deep); }
.gallery-cta-band .btn-primary:hover{ background:var(--vanilla); color:var(--ink-900); }
.gallery-cta-band-actions{ display:flex; align-items:center; gap:16px; flex-wrap:wrap; flex:none; }
.gallery-page .moment-gallery-grid{ grid-template-columns:repeat(4,1fr); gap:20px; }
@media (max-width:1080px){
  .gallery-page .moment-gallery-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:640px){
  .gallery-cta-band{ flex-direction:column; align-items:flex-start; flex-wrap:nowrap; }
  .gallery-cta-band-text, .gallery-cta-band-actions{ width:100%; }
  .gallery-page .moment-gallery-grid{ grid-template-columns:repeat(2,1fr); gap:12px; }
}

@media (max-width:1080px){
  .moment-hero-grid{ grid-template-columns:1fr; }
  .moment-hero-photo-wrap{ order:-1; max-width:420px; margin:0 auto; }
  .moment-gallery-layout{ grid-template-columns:1fr; }
  .moment-promo-card{ position:static; order:-1; max-width:360px; margin:0 auto 8px; }
  .moment-gallery-grid{ grid-template-columns:repeat(3,1fr); }
}
@media (max-width:760px){
  .moment-steps-grid{ grid-template-columns:1fr; }
}
@media (max-width:600px){
  .moment-hero{ padding:40px 0 48px; }
  .moment-cta-row{ flex-direction:column; align-items:stretch; }
  .moment-cta-row .btn{ text-align:center; }
  .moment-photo-grid{ grid-template-columns:repeat(auto-fill,minmax(78px,1fr)); }
  .moment-gallery-grid{ grid-template-columns:1fr 1fr; gap:12px; }
  .moment-terms{ padding:2px 16px; }
}
.nav-overlay.show{ display:block; }

/* =========================================================
   Анкета "Вашето мнение" (vasheto-mnenie.html) + споделен
   стил за отзиви/рекламации — топла, лека визия, не като
   стандартна admin форма (Section 15 от заданието).
   ========================================================= */
.survey-hero{ padding:56px 0 28px; text-align:center; }
.survey-hero .eyebrow{ justify-content:center; }
.survey-hero .eyebrow::before{ display:none; }
.survey-hero h1{ font-size:clamp(1.9rem,3.4vw,2.6rem); margin-bottom:14px; }
.survey-hero p{ max-width:560px; margin:0 auto; color:var(--ink-700); line-height:1.7; }
.survey-hero p + p{ margin-top:10px; }

.survey-shell{
  max-width:620px; margin:0 auto 72px; background:var(--vanilla); border:var(--border-rose);
  border-radius:var(--radius-lg); padding:40px 44px; box-shadow:var(--shadow-sm);
}
.survey-intro-card{ text-align:center; }
.survey-intro-card .survey-icon{ width:56px; height:56px; margin:0 auto 20px; color:var(--rose-dust-700); }
.survey-intro-card .btn{ margin-top:22px; }

.survey-progress{ height:4px; border-radius:2px; background:var(--vanilla-deep); overflow:hidden; margin-bottom:10px; }
.survey-progress-bar{ height:100%; background:var(--rose-dust-700); border-radius:2px; transition:width .35s ease; }
.survey-step-count{ font-size:.74rem; letter-spacing:.08em; text-transform:uppercase; color:var(--ink-500); margin-bottom:28px; }
.survey-question h2{ font-size:clamp(1.25rem,2.4vw,1.55rem); line-height:1.35; margin-bottom:8px; }
.survey-hint{ font-size:.82rem; color:var(--ink-500); font-style:italic; margin-bottom:20px; }
.survey-answer{ margin-top:22px; }

.survey-pills{ display:flex; flex-wrap:wrap; gap:10px; }
.survey-pill{
  padding:13px 20px; border-radius:var(--radius-control); border:var(--border-rose); background:var(--vanilla-deep);
  font-size:.86rem; color:var(--ink-700); transition:var(--transition-ui); cursor:pointer;
}
.survey-pill:hover{ border-color:var(--border-color-hover); }
.survey-pill.selected{ background:var(--rose-dust-700); border:var(--border-width) solid var(--rose-dust-700); color:var(--vanilla); }
.survey-pill--wide{ display:block; width:100%; text-align:center; margin-top:14px; }
input.survey-other{ margin-top:14px; }

.survey-scale{ display:flex; flex-wrap:wrap; gap:10px; }
.survey-scale-btn{
  width:48px; height:48px; border-radius:50%; border:var(--border-rose); background:var(--vanilla-deep);
  font-size:.92rem; font-weight:700; color:var(--ink-700); transition:var(--transition-ui); cursor:pointer; flex:none;
}
.survey-scale-btn:hover{ border-color:var(--border-color-hover); }
.survey-scale-btn.selected{ background:var(--rose-dust-700); border-color:var(--rose-dust-700); color:var(--vanilla); }
.survey-scale--nps .survey-scale-btn{ width:42px; height:42px; font-size:.82rem; }
.survey-scale-labels{ display:flex; justify-content:space-between; font-size:.72rem; color:var(--ink-500); margin-top:8px; }

.survey-secondary-label{ display:block; font-size:.78rem; font-weight:700; color:var(--ink-700); margin:18px 0 8px; text-transform:uppercase; letter-spacing:.03em; }
.survey-error{ min-height:1.2em; font-size:.8rem; color:var(--rose-700); margin-top:16px; }
.survey-nav{ display:flex; justify-content:space-between; align-items:center; gap:14px; margin-top:8px; }

.survey-thankyou{ text-align:center; }
.survey-thankyou .survey-icon{ width:56px; height:56px; margin:0 auto 20px; color:var(--gold-500); }
.survey-thankyou h2{ font-size:clamp(1.5rem,2.8vw,1.9rem); margin-bottom:14px; }
.survey-thankyou p{ color:var(--ink-700); line-height:1.7; max-width:460px; margin:0 auto 24px; }
.survey-thankyou .survey-thankyou-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }

@media (max-width:640px){
  .survey-shell{ padding:28px 22px; border-radius:var(--radius-md); margin:0 16px 48px; }
  .survey-nav{ flex-direction:column-reverse; align-items:stretch; }
  .survey-nav .btn{ width:100%; }
  .survey-scale-btn{ width:42px; height:42px; }
}

/* =========================================================
   Продуктови отзиви (product.html reviews tab + review.html
   форма) — Section 9-12 от заданието.
   ========================================================= */
.pd-rating{
  display:inline-flex; align-items:center; gap:8px; margin:2px 0 14px; cursor:pointer;
  font-size:.86rem; color:var(--ink-700); background:none; border:none; padding:0;
}
.pd-rating:hover{ color:var(--rose-dust-700); }
.pd-rating .stars{ color:var(--gold-500); letter-spacing:1px; font-size:1rem; }
.pd-rating .rc-count{ color:var(--ink-500); text-decoration:underline; text-underline-offset:3px; }

.reviews-summary{ text-align:center; max-width:480px; margin:0 auto 36px; }
.reviews-summary .eyebrow{ justify-content:center; }
.reviews-summary .eyebrow::before{ display:none; }
.reviews-summary h3{ font-size:clamp(1.3rem,2.4vw,1.6rem); margin-bottom:14px; }
.reviews-summary-score{ display:flex; align-items:baseline; justify-content:center; gap:8px; margin-bottom:20px; }
.reviews-summary-score .stars-big{ color:var(--gold-500); font-size:1.5rem; letter-spacing:2px; }
.reviews-summary-score strong{ font-size:1.4rem; color:var(--ink-900); }
.reviews-summary-score .rc-count{ color:var(--ink-500); font-size:.88rem; }

.reviews-list{ display:grid; grid-template-columns:repeat(2,1fr); gap:18px; max-width:920px; margin:0 auto; }
.review-card{ background:var(--vanilla); border:var(--border-rose); border-radius:var(--radius-card); padding:22px 24px; }
.review-card-head{ display:flex; justify-content:space-between; align-items:flex-start; gap:10px; margin-bottom:6px; }
.review-card-name{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; font-weight:700; font-size:.9rem; color:var(--ink-900); }
.review-verified-badge{
  display:inline-flex; align-items:center; gap:4px; font-size:.66rem; font-weight:700; text-transform:uppercase; letter-spacing:.04em;
  color:var(--rose-dust-700); background:var(--vanilla-deep); border:1px solid var(--rose-dust-300); border-radius:999px; padding:3px 9px;
}
.review-card-date{ font-size:.76rem; color:var(--ink-500); flex:none; }
.review-card-stars{ color:var(--gold-500); letter-spacing:1px; margin-bottom:10px; }
.review-card-text{ font-size:.88rem; line-height:1.65; color:var(--ink-700); margin-bottom:0; }
.review-card-photo{ width:100%; max-width:220px; border-radius:var(--radius-control); margin-top:14px; display:block; object-fit:cover; }
.review-card-reply{ margin-top:12px; padding:10px 14px; background:var(--surface-2); border-radius:var(--radius-md); font-size:.86rem; }
.review-card-reply p{ margin:4px 0 0; }
.review-card-product{
  display:inline-block; margin-top:14px; font-size:.76rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  color:var(--rose-dust-700); border-top:1px solid var(--border-color-default); padding-top:12px; width:100%;
}
.review-card-product:hover{ color:var(--gold-500); }
.reviews-empty{ text-align:center; color:var(--ink-500); font-size:.9rem; }

/* ---------- otzivi-klienti.html: showcase страница ---------- */
/* Rose Dust panel — водещата статистика на страницата, заслужава
   значимо присъствие вместо неутрална карта. */
.reviews-page-summary{
  text-align:center; max-width:520px; margin:0 auto 48px; background:var(--rose-dust-700); border:1px solid var(--gold-500);
  border-radius:var(--radius-lg); padding:36px 40px; box-shadow:var(--shadow-sm);
}
.reviews-page-summary .stars-big{ color:var(--gold-300); font-size:1.9rem; letter-spacing:3px; display:block; margin-bottom:10px; }
.reviews-page-summary strong{ font-size:1.7rem; color:var(--vanilla-deep); }
.reviews-page-summary .rc-count{ color:var(--vanilla-deep); opacity:.85; font-size:.92rem; }
.reviews-filter-row{ display:flex; justify-content:center; gap:10px; flex-wrap:wrap; margin-bottom:36px; }
.reviews-load-more{ display:flex; justify-content:center; margin-top:36px; }

@media (max-width:760px){
  .reviews-list{ grid-template-columns:1fr; }
}

/* ---------- review.html: форма за отзив ---------- */
.review-product-head{
  display:flex; align-items:center; gap:16px; max-width:620px; margin:0 auto 32px; background:var(--vanilla-deep);
  border:var(--border-rose); border-radius:var(--radius-lg); padding:16px 20px;
}
.review-product-head img{ width:64px; height:64px; object-fit:cover; border-radius:var(--radius-control); flex:none; }
.review-product-head .rp-label{ font-size:.72rem; text-transform:uppercase; letter-spacing:.06em; color:var(--ink-500); margin-bottom:2px; }
.review-product-head .rp-name{ font-size:1.02rem; font-weight:700; color:var(--ink-900); }

.review-star-picker{ display:flex; gap:8px; }
.review-star-picker button{
  width:42px; height:42px; border-radius:50%; border:var(--border-rose); background:var(--vanilla-deep); font-size:1.1rem;
  color:var(--gold-500); cursor:pointer; transition:var(--transition-ui);
}
.review-star-picker button:hover{ border-color:var(--border-color-hover); }
.review-star-picker button.selected{ background:var(--gold-500); border-color:var(--gold-500); color:var(--vanilla); }

.review-consent-box{
  display:flex; gap:12px; align-items:flex-start; background:var(--vanilla-deep); border:var(--border-rose);
  border-radius:var(--radius-md); padding:16px 18px; margin:26px 0; font-size:.82rem; color:var(--ink-700); line-height:1.55;
}
.review-consent-box input{ margin-top:3px; flex:none; width:16px; height:16px; accent-color:var(--rose-dust-700); }

.review-lowrating-box{
  text-align:center; max-width:480px; margin:0 auto; background:var(--vanilla-deep); border:var(--border-rose);
  border-radius:var(--radius-lg); padding:32px 30px;
}
.review-lowrating-box p{ color:var(--ink-700); line-height:1.7; margin-bottom:22px; }
.review-lowrating-actions{ display:flex; gap:14px; justify-content:center; flex-wrap:wrap; }
.review-followup-form{ max-width:420px; margin:22px auto 0; text-align:left; }

@media (max-width:640px){
  .review-star-picker button{ width:38px; height:38px; }
  .review-product-head{ margin:0 16px 28px; }
}

/* =========================================================
   Kiosk mode (Section 14) — начален екран за таблети в обектите
   (kiosk.html) + плаващ бутон "Начало" на всяка ?kiosk=1 страница.
   ========================================================= */
.kiosk-home-btn{
  position:fixed; right:22px; bottom:22px; z-index:900; display:inline-flex; align-items:center; gap:8px;
  padding:14px 22px; border-radius:999px; background:var(--rose-900); color:var(--vanilla-deep);
  font-size:.86rem; font-weight:700; letter-spacing:.03em; box-shadow:0 8px 24px rgba(58,28,34,.35);
  transition:var(--transition-ui);
}
.kiosk-home-btn:hover{ background:var(--rose-950); transform:translateY(-2px); }

.kiosk-page{ background:var(--vanilla-deep); min-height:100vh; display:flex; flex-direction:column; }
.kiosk-topbar{ display:flex; align-items:center; justify-content:center; padding:36px 24px 8px; text-align:center; }
.kiosk-topbar .kiosk-logo{ font-family:var(--font-display); font-size:1.6rem; color:var(--rose-900); letter-spacing:.02em; }
.kiosk-topbar .kiosk-tagline{ display:block; font-size:.86rem; color:var(--ink-500); margin-top:4px; }
.kiosk-grid{
  flex:1; display:grid; grid-template-columns:repeat(3,1fr); gap:22px; max-width:1200px; margin:28px auto 40px; padding:0 24px;
}
.kiosk-tile{
  position:relative; border-radius:var(--radius-lg); overflow:hidden; min-height:260px; display:flex; align-items:flex-end;
  box-shadow:var(--shadow-sm); transition:transform var(--transition-ui);
}
.kiosk-tile:hover, .kiosk-tile:active{ transform:translateY(-3px); }
.kiosk-tile img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kiosk-tile::before{
  content:""; position:absolute; inset:0; background:linear-gradient(180deg, rgba(58,28,34,0) 30%, rgba(58,28,34,.82) 100%);
}
.kiosk-tile-body{ position:relative; padding:26px 24px; color:var(--vanilla); width:100%; }
.kiosk-tile-body .kt-icon{ font-size:1.7rem; margin-bottom:8px; display:block; }
.kiosk-tile-body h3{ font-size:1.2rem; color:var(--vanilla); margin-bottom:4px; }
.kiosk-tile-body p{ font-size:.82rem; color:rgba(253,250,243,.85); margin:0; }
.kiosk-tile.kiosk-tile--accent .kiosk-tile-body{ background:none; }
.kiosk-footer-note{ text-align:center; padding:0 24px 32px; font-size:.78rem; color:var(--ink-500); }

@media (max-width:960px){
  .kiosk-grid{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:640px){
  .kiosk-grid{ grid-template-columns:1fr; }
  .kiosk-tile{ min-height:200px; }
  .kiosk-home-btn{ right:14px; bottom:14px; padding:12px 18px; }
}

/* =========================================================
   Admin — product manager (SQL-backed) + login screen
   ========================================================= */
.admin-login-wrap{ min-height:calc(100vh - 60px); display:flex; align-items:center; justify-content:center; padding:40px 20px; }
.admin-login-card{ width:100%; max-width:360px; background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-control); padding:32px 28px; box-shadow:var(--shadow-sm); }
.admin-login-card h1{ font-size:1.3rem; margin-bottom:6px; }
.admin-login-card p{ font-size:.82rem; color:var(--ink-300); margin-bottom:22px; }
.admin-login-card label{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-300); margin-bottom:6px; }
.admin-login-card input{ width:100%; padding:10px 12px; border:var(--border-rose); border-radius:var(--radius-control); background:var(--vanilla); font-size:.9rem; margin-bottom:16px; }
.admin-login-error{ background:rgba(196,90,90,.12); border:1px solid #c45a5a; color:#c45a5a; font-size:.8rem; padding:8px 12px; border-radius:var(--radius-control); margin-bottom:16px; display:none; }

.admin-toolbar{ display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap; margin-bottom:18px; }
.admin-toolbar-user{ font-size:.78rem; color:var(--ink-300); }
.admin-toolbar-user button{ background:none; border:none; text-decoration:underline; cursor:pointer; color:var(--rose-700); font-size:.78rem; margin-left:10px; }

.admin-product-thumb{ width:44px; height:44px; border-radius:8px; object-fit:cover; background:var(--surface-2); vertical-align:middle; }
.admin-table td.nowrap{ white-space:nowrap; }
.admin-table tr.admin-row-new td{ background:rgba(194,169,126,.08); font-weight:600; }

.admin-drag-handle{ width:28px; text-align:center; cursor:grab; color:var(--ink-300); font-size:1rem; user-select:none; }
.admin-table tr[draggable="true"]{ transition:background-color .12s; }
.admin-table tr.dragging{ opacity:.4; background:var(--surface-2); }
.admin-table tr.drag-over-top td{ box-shadow:inset 0 2px 0 0 var(--rose-700); }
.admin-table tr.drag-over-bottom td{ box-shadow:inset 0 -2px 0 0 var(--rose-700); }

.admin-modal-backdrop{ position:fixed; inset:0; background:rgba(30,14,17,.55); display:flex; align-items:flex-start; justify-content:center; padding:40px 16px; overflow-y:auto; z-index:200; }
.admin-modal-backdrop[hidden]{ display:none; }
.admin-modal{ width:100%; max-width:720px; background:var(--vanilla-deep); border-radius:var(--radius-control); border:var(--border-rose); padding:28px; box-shadow:var(--shadow-sm); }
.admin-toast{ position:fixed; top:18px; right:18px; z-index:300; max-width:340px; padding:12px 16px; background:var(--vanilla-deep); border:1px solid var(--gold, #c9a45c); border-left-width:4px; border-radius:var(--radius-control); font-size:.88rem; pointer-events:none; display:flex; flex-direction:column; gap:2px; }
.admin-toast[hidden]{ display:none; }
.admin-toast.is-in{ animation:adminToastIn .18s ease-out; }
@keyframes adminToastIn{ from{ opacity:0; transform:translateY(-8px); } to{ opacity:1; transform:none; } }
.admin-price-edit{ display:flex; align-items:center; gap:6px; margin:2px 0; font-size:.82rem; }
.admin-price-edit span{ min-width:44px; color:var(--ink-300); }
.admin-price-input{ width:86px; padding:4px 6px; font:inherit; border:var(--border-rose-soft); border-radius:6px; background:#fff; }
.admin-price-input:focus{ outline:2px solid var(--rose, #b5495b); outline-offset:0; }
.admin-modal--wide{ max-width:920px; }
.admin-modal h2{ font-size:1.15rem; margin-bottom:18px; }
.admin-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px 16px; }
.admin-form-grid .span-2{ grid-column:1 / -1; }
.admin-form-grid label{ display:block; font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; color:var(--ink-300); margin-bottom:6px; }
.admin-form-grid input[type="text"], .admin-form-grid input[type="number"], .admin-form-grid input[type="password"], .admin-form-grid input[type="email"], .admin-form-grid select, .admin-form-grid textarea{
  width:100%; padding:9px 11px; border:var(--border-rose); border-radius:var(--radius-control); background:var(--vanilla); font-size:.86rem;
}
.admin-form-grid textarea{ min-height:70px; resize:vertical; }
.admin-checkbox-row{ display:flex; align-items:center; gap:8px; font-size:.82rem; padding:9px 0; }
.admin-checkbox-row input{ width:auto; }
.admin-checkbox-grid{ display:grid; grid-template-columns:1fr 1fr; gap:4px 16px; }
.admin-attr-checklist{
  display:grid; grid-template-columns:1fr 1fr; gap:2px 16px; max-height:220px; overflow-y:auto;
  border:var(--border-rose); border-radius:var(--radius-control); padding:10px 12px; background:var(--vanilla);
}
.admin-attr-checklist label{ display:flex; align-items:center; gap:8px; font-size:.82rem; padding:5px 0; text-transform:none; color:var(--ink-700); }
.admin-attr-checklist input{ width:auto; }
.admin-attr-row{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.admin-attr-row .admin-attr-name{ flex:1; min-width:0; }
.admin-attr-row .admin-attr-combo{ font-size:.72rem; color:var(--ink-400); white-space:nowrap; gap:4px; }
.admin-attr-row .admin-attr-combo input:disabled{ cursor:not-allowed; opacity:.4; }
.admin-sizes-list{ display:flex; flex-direction:column; gap:8px; margin-bottom:8px; }
.admin-sizes-row{ display:grid; grid-template-columns:1fr 1fr 1fr auto; gap:8px; align-items:center; }
.admin-option-row{ display:grid; grid-template-columns:minmax(90px,.8fr) 2fr minmax(90px,.8fr) auto auto; gap:8px; align-items:center; margin-bottom:6px; }
.admin-option-row .admin-checkbox-row{ margin:0; white-space:nowrap; font-size:.82rem; }
.admin-options-add{ display:flex; flex-wrap:wrap; gap:8px; margin-top:6px; }
@media (max-width:760px){ .admin-option-row{ grid-template-columns:1fr 1fr; } .admin-option-row .pf-opt-choices{ grid-column:1 / -1; } }
.admin-sizes-row input[readonly]{ background:var(--surface-2); color:var(--ink-300); cursor:default; }
.admin-images-list{ display:flex; flex-wrap:wrap; gap:10px; margin-bottom:10px; }
.admin-image-item{ position:relative; width:80px; height:80px; }
.admin-image-item img{ width:100%; height:100%; object-fit:cover; border-radius:8px; border:var(--border-rose); }
.admin-image-item button{ position:absolute; top:-6px; right:-6px; width:20px; height:20px; border-radius:50%; background:#c45a5a; color:#fff; border:none; font-size:.7rem; line-height:1; cursor:pointer; }
.admin-modal-actions{ display:flex; justify-content:flex-end; gap:10px; margin-top:22px; padding-top:18px; border-top:var(--border-rose-soft); }
.admin-form-error{ background:rgba(196,90,90,.12); border:1px solid #c45a5a; color:#c45a5a; font-size:.8rem; padding:8px 12px; border-radius:var(--radius-control); margin-bottom:14px; display:none; }
@media (max-width:640px){
  .admin-form-grid{ grid-template-columns:1fr; }
  .admin-checkbox-grid{ grid-template-columns:1fr; }
}

/* =========================================================
   Admin — PrestaShop-style shell: left sidebar + collapse toggle
   ========================================================= */
.ps-shell{ display:flex; min-height:100vh; background:#f2f4f7; font-family:var(--font-sans); }
.ps-shell h1, .ps-shell h2, .ps-shell h3, .ps-shell h4{ font-family:var(--font-sans); color:#2d3a4f; }

.ps-sidebar{
  width:230px; flex-shrink:0; background:#1f2937; color:#c9d3e0; display:flex; flex-direction:column;
  transition:width .18s ease; position:sticky; top:0; height:100vh; overflow-x:hidden; z-index:50;
}
.ps-sidebar-top{ display:flex; align-items:center; justify-content:space-between; padding:16px 14px; border-bottom:1px solid rgba(255,255,255,.08); min-height:60px; }
.ps-sidebar-brand{ display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; overflow:hidden; }
.ps-sidebar-logo{ font-size:1.3rem; flex-shrink:0; }
.ps-sidebar-brand-text{ font-weight:700; font-size:.92rem; white-space:nowrap; }
.ps-sidebar-toggle{
  background:rgba(255,255,255,.08); border:none; color:#c9d3e0; width:26px; height:26px; border-radius:6px;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; font-size:.9rem; line-height:1;
}
.ps-sidebar-toggle:hover{ background:rgba(255,255,255,.18); color:#fff; }

.ps-sidebar-nav{ display:flex; flex-direction:column; padding:10px 8px; gap:2px; flex:1; overflow-y:auto; }
.ps-sidebar-nav button{
  display:flex; align-items:center; gap:12px; background:none; border:none; color:#c9d3e0; text-align:left;
  padding:11px 12px; border-radius:8px; font-size:.84rem; font-weight:600; white-space:nowrap; overflow:hidden;
  position:relative;
}
.ps-sidebar-nav button:hover{ background:rgba(255,255,255,.08); color:#fff; }
.ps-sidebar-nav button.active{ background:var(--gold-500); color:#2a1c10; }
.ps-nav-icon{ font-size:1.05rem; flex-shrink:0; width:20px; text-align:center; }
.ps-nav-label{ overflow:hidden; text-overflow:ellipsis; }
.ps-nav-badge{
  margin-left:auto; flex-shrink:0; background:#c0392b; color:#fff; font-size:.68rem; font-weight:800;
  line-height:1; padding:3px 7px; border-radius:999px;
}
.ps-shell.ps-collapsed .ps-nav-badge{
  position:absolute; top:4px; right:4px; margin-left:0; padding:1px 5px; font-size:.6rem;
}

.ps-sidebar-bottom{ padding:10px 8px 16px; border-top:1px solid rgba(255,255,255,.08); }
.ps-sidebar-exit{
  display:flex; align-items:center; gap:12px; padding:11px 12px; border-radius:8px; color:#c9d3e0;
  text-decoration:none; font-size:.84rem; font-weight:600; white-space:nowrap; overflow:hidden;
}
.ps-sidebar-exit:hover{ background:rgba(255,255,255,.08); color:#fff; }

/* collapsed state — icon rail only */
.ps-shell.ps-collapsed .ps-sidebar{ width:64px; }
.ps-shell.ps-collapsed .ps-sidebar-brand-text,
.ps-shell.ps-collapsed .ps-nav-label{ display:none; }
.ps-shell.ps-collapsed .ps-sidebar-top{ justify-content:center; padding:16px 8px; }
.ps-shell.ps-collapsed .ps-sidebar-toggle{ display:none; }
.ps-shell.ps-collapsed .ps-sidebar:hover .ps-sidebar-toggle{ display:flex; position:absolute; right:6px; top:17px; }
.ps-shell.ps-collapsed .ps-sidebar-nav button,
.ps-shell.ps-collapsed .ps-sidebar-exit{ justify-content:center; padding:11px 0; }
.ps-shell.ps-collapsed .ps-toggle-icon{ transform:rotate(180deg); }

.ps-main-col{ flex:1; min-width:0; display:flex; flex-direction:column; }
.ps-topbar{
  display:flex; align-items:center; gap:14px; background:#fff; border-bottom:1px solid #e3e7ee;
  padding:14px 24px; position:sticky; top:0; z-index:40;
}
.ps-topbar-title{ font-size:.92rem; color:#2d3a4f; }
.ps-mobile-toggle{ display:none; background:none; border:none; font-size:1.2rem; color:#2d3a4f; padding:4px; }
.ps-topbar-user{ margin-left:auto; font-size:.8rem; color:var(--ink-300); }
.ps-topbar-user button{ background:none; border:none; text-decoration:underline; cursor:pointer; color:var(--rose-700); font-size:.8rem; margin-left:10px; }

.ps-content{ padding:28px 28px 90px; max-width:1180px; }

/* collapsible nav group ("Каталог") inside the sidebar */
.ps-nav-group{ display:flex; flex-direction:column; }
.ps-nav-group-toggle{
  display:flex; align-items:center; gap:12px; background:none; border:none; color:#c9d3e0; text-align:left;
  padding:11px 12px; border-radius:8px; font-size:.84rem; font-weight:600; white-space:nowrap; overflow:hidden;
}
.ps-nav-group-toggle:hover{ background:rgba(255,255,255,.08); color:#fff; }
.ps-nav-chevron{ margin-left:auto; font-size:.7rem; transition:transform .15s ease; flex-shrink:0; }
.ps-nav-group--collapsed .ps-nav-chevron{ transform:rotate(-90deg); }
.ps-nav-group-items{ display:flex; flex-direction:column; gap:2px; }
.ps-nav-group-items button{ padding-left:34px; }
.ps-nav-group--collapsed .ps-nav-group-items{ display:none; }

.ps-shell.ps-collapsed .ps-nav-group-toggle .ps-nav-chevron{ display:none; }
.ps-shell.ps-collapsed .ps-nav-group-items button{ padding-left:0; justify-content:center; }
.ps-shell.ps-collapsed .ps-nav-group-items{ display:flex !important; }

@media (max-width:900px){
  .ps-sidebar{ position:fixed; left:0; top:0; width:230px; transform:translateX(-100%); box-shadow:var(--shadow-sm); }
  .ps-shell.ps-mobile-open .ps-sidebar{ transform:translateX(0); }
  .ps-shell.ps-collapsed .ps-sidebar{ width:230px; }
  .ps-shell.ps-collapsed .ps-sidebar-brand-text, .ps-shell.ps-collapsed .ps-nav-label{ display:inline; }
  .ps-shell.ps-collapsed .ps-sidebar-nav button, .ps-shell.ps-collapsed .ps-sidebar-exit{ justify-content:flex-start; padding:11px 12px; }
  .ps-sidebar-toggle{ display:none; }
  .ps-mobile-toggle{ display:block; }
  .ps-content{ padding:20px 16px 90px; }
  .ps-topbar{ padding:12px 16px; }
}


/* ---------- Admin dashboard ---------- */
.dash-grid{ display:grid; grid-template-columns:repeat(auto-fill,minmax(190px,1fr)); gap:14px; }
.dash-card{ background:var(--vanilla-deep); border:var(--border-rose); border-radius:var(--radius-control); padding:16px 18px; }
.dash-card--link{ cursor:pointer; transition:box-shadow .15s ease, transform .15s ease; }
.dash-card--link:hover, .dash-card--link:focus-visible{ box-shadow:0 4px 14px rgba(0,0,0,.12); transform:translateY(-1px); outline:none; }
.dash-card-label{ font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--ink-300); margin-bottom:6px; }
.dash-card-value{ font-size:1.55rem; font-weight:700; color:var(--ink-900); line-height:1.15; }
.dash-card-sub{ font-size:.76rem; color:var(--ink-300); margin-top:4px; }
.dash-card--alert{ border-color:#c45a5a; }
.dash-card--alert .dash-card-value{ color:#c45a5a; }
.dash-cols{ display:grid; grid-template-columns:2fr 1fr; gap:20px; }
@media (max-width:900px){ .dash-cols{ grid-template-columns:1fr; } }
.dash-bars{ display:flex; align-items:flex-end; gap:10px; height:170px; padding-top:10px; }
.dash-bar{ flex:1; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; height:100%; font-size:.7rem; color:var(--ink-300); }
.dash-bar-fill{ width:100%; max-width:38px; background:var(--rose-700); border-radius:6px 6px 0 0; min-height:2px; }
.dash-bar-count{ font-weight:700; color:var(--ink-700); margin-bottom:4px; font-size:.78rem; }
.dash-status{ list-style:none; margin:0; padding:0; font-size:.84rem; }
.dash-status li{ display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid var(--surface-3); }
.dash-status li:last-child{ border-bottom:none; }
.dash-ok{ color:var(--mint-600); font-weight:700; }
.dash-off{ color:var(--ink-300); }

/* ---- Additive (SEO/a11y): единствен h1 на страница ---- */
.cat-hero-copy h2.cat-hero-title{ color:var(--vanilla); font-size:clamp(1.7rem,3.2vw,2.3rem); margin-bottom:6px; }
.kiosk-topbar h1.kiosk-logo{ margin:0; font-weight:600; }
/* ---- Additive: правни страници и 404 ---- */
.legal-notice{ background:#fff4d6; border:1px solid var(--gold-500); color:#6b4a00; padding:12px 16px; border-radius:var(--radius-md); font-size:.9rem; font-weight:600; margin-bottom:26px; }
.legal-body{ max-width:820px; }
.legal-body h2{ font-size:1.35rem; margin-top:34px; }
.legal-body h3{ font-size:1.05rem; margin-top:22px; }
.legal-body p, .legal-body li{ line-height:1.65; }
.legal-body ul, .legal-body ol{ padding-left:22px; margin:0 0 16px; }
.legal-body li{ margin-bottom:6px; }
.legal-body table{ width:100%; border-collapse:collapse; font-size:.88rem; margin:12px 0 20px; }
.legal-body th, .legal-body td{ text-align:left; padding:9px 10px; border-bottom:1px solid var(--blush-200, #f0d9dc); vertical-align:top; }
.legal-body th{ font-weight:700; color:var(--rose-900); }
.legal-placeholder{ background:#ffe9a8; padding:0 5px; border-radius:4px; font-weight:700; }
.legal-toc{ display:flex; flex-wrap:wrap; gap:8px 14px; font-size:.85rem; margin-bottom:10px; }
.nf-wrap{ text-align:center; max-width:640px; margin:0 auto; padding:40px 0 20px; }
.nf-code{ font-family:var(--font-serif); font-size:clamp(4rem,12vw,7rem); line-height:1; color:var(--rose-700); font-weight:600; }
.nf-actions{ display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-top:24px; }
@media (max-width:640px){ .legal-body table{ display:block; overflow-x:auto; } }

/* =========================================================
   Дизайн корекции (27.09.2026)
   ========================================================= */

/* Страницата никога не бива да е по-широка от екрана. `body{overflow-x:hidden}` не спира
   хоризонталното преливане в мобилните браузъри: страницата става по-широка от екрана
   и менюто (position:fixed) се позиционира спрямо нея, излизайки вдясно. `clip` не
   създава скрол контейнер, затова sticky хедърът продължава да работи. */
html, body{ overflow-x:clip; }
@supports not (overflow:clip){ html, body{ overflow-x:hidden; } }

/* 1–2. Любими и количка на продуктовите карти: перфектни кръгове, полупрозрачни, винаги видими */
.product-card .fav-btn,
.product-card .quick-add{
  width:36px; height:36px; padding:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  /* „стъкълце“ в светъл rose dust: матово стъкло с размиване и бял кант — без сив оттенък върху тъмни снимки */
  background:linear-gradient(145deg, rgba(246,224,230,.78), rgba(220,174,188,.55)); /* светъл rose dust */
  -webkit-backdrop-filter:blur(10px) saturate(1.6); backdrop-filter:blur(10px) saturate(1.6);
  border:1px solid rgba(255,255,255,.75);
  box-shadow:none;
}
.product-card .fav-btn:hover,
.product-card .quick-add:hover{ background:linear-gradient(145deg, rgba(248,230,235,.9), rgba(220,174,188,.7)); border-color:#fff; }
.product-card .quick-add{ opacity:1; transform:none; }
.product-card:hover .quick-add{ transform:none; }
.product-card .fav-btn svg,
.product-card .quick-add svg{ width:16px; height:16px; }
.product-card .quick-add svg{ stroke:var(--rose-700); }

/* 4. Мобилно меню: панел ~72% от ширината, закотвен вдясно, изцяло видим */
@media (max-width:860px){
  .main-nav{
    inset:0 0 0 auto; left:auto; right:0;
    width:min(72vw, 360px); max-width:100%;
    padding:84px 22px 24px;
    transform:translateX(100%);
    /* visibility се скрива СЛЕД плъзгането навън, за да остане анимацията при затваряне */
    transition:transform .3s ease, visibility 0s linear .3s;
    visibility:hidden;
  }
  .main-nav.open{ transform:translateX(0); visibility:visible; transition:transform .3s ease, visibility 0s; }
  .main-nav > ul > li > a{ white-space:normal; font-size:.95rem; }
}

/* 5. Горна лента на телефон: номерът на един ред; имейлът и „Обекти“ се скриват */
.topbar-left a{ white-space:nowrap; }
@media (max-width:640px){
  .topbar-left a[href^="mailto:"],
  .topbar-left .topbar-sep,
  .topbar-right > a{ display:none; }
  .topbar-row{ grid-template-columns:1fr auto; gap:10px; }
  .topbar-left{ min-width:0; }
}

/* 3. „Разгледай →“ е по-дълго от „Виж“: цената не се пренася, а на тясна карта линкът минава на нов ред */
.product-card .price-row{ flex-wrap:wrap; row-gap:6px; column-gap:10px; }
.product-card .price{ white-space:nowrap; }
.product-card .link-arrow{ white-space:nowrap; }

/* 6. Филтърна лента: полето за търсене се смалява, вместо да изтласква лентата навън.
   input има вградена минимална ширина (~200px), затова min-width:0 е задължително. */
.filter-search{ min-width:300px; flex:1.2 1 300px; }
.filter-search input{ min-width:0; width:100%; flex:1 1 auto; }
.filter-search button{ flex:none; padding:0 18px; }
@media (max-width:960px){
  .filter-search{ min-width:0; flex:1 1 100%; }
}
@media (max-width:420px){
  .filter-search input{ padding:0 12px; }
  .filter-search button{ padding:0 12px; margin:8px 6px; letter-spacing:.04em; }
}

/* 7. Мега меню „Продукти“: винаги 2 равни колони; дългите имена се пренасят,
   вместо да разширяват колоната и да избутват втората извън рамката */
.mega-panel ul{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
.main-nav .mega-panel ul a{ white-space:normal; overflow-wrap:break-word; display:block; }
@media (max-width:860px){
  /* в мобилния панел: 2 колони, щом има поне ~2×125px (таблет), иначе 1 (тесен телефон) */
  .mega-panel ul{ grid-template-columns:repeat(auto-fill, minmax(min(100%, 125px), 1fr)); column-gap:12px; }
}

/* Тесни телефони: по-малки кръгчета и етикет, който не опира в сърчицето */
@media (max-width:440px){
  .product-card .fav-btn,
  .product-card .quick-add{ width:30px; height:30px; }
  .product-card .fav-btn{ top:6px; right:6px; }
  .product-card .quick-add{ right:6px; bottom:6px; }
  .product-card .fav-btn svg,
  .product-card .quick-add svg{ width:14px; height:14px; }
  .p-badges{ top:8px; left:8px; max-width:calc(100% - 50px); }
  .p-badge{ font-size:.54rem; padding:3px 7px; max-width:100%; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
}

/* =========================================================
   Единен вид на всички филтърни ленти (27.09.2026):
   розова плътна лента, светъл текст, бутон с контур,
   нежен златен контур горе И долу.
   ========================================================= */
.finder-section,
.cat-hub-finder,
.quick-filter-card,
.filter-bar{
  background:var(--rose-mauve);
  /* --gold-500: достатъчно контраст и над тъмна снимка, и над кремавия фон на страницата */
  border:0; border-top:1px solid var(--gold-500); border-bottom:1px solid var(--gold-500);
  border-radius:0; box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none;
}

/* Бързият филтър в категориите: лента под снимката, като на началната страница */
.quick-filter-wrap{ margin-top:0; padding:0; }
.quick-filter-card{ max-width:none; padding:12px 10px; }
.quick-filter-card .finder-row{ max-width:var(--container); margin:0 auto; }
.quick-filter-card .filter-dd{ border-right:1px solid rgba(253,250,243,.22); }
.quick-filter-card .filter-dd-label{ color:rgba(253,250,243,.72); }
.quick-filter-card .filter-dd-trigger{ color:var(--cream); }
.quick-filter-card .filter-dd-trigger svg{ color:rgba(253,250,243,.72); }
.quick-filter-card .filter-dd:hover,
.quick-filter-card .filter-dd.open{ background:rgba(255,255,255,.06); }
.quick-filter-card .filter-dd:hover .filter-dd-trigger,
.quick-filter-card .filter-dd.open .filter-dd-trigger{ color:var(--cream); }
.quick-filter-submit{
  background:transparent; border:1px solid rgba(253,250,243,.72); color:var(--cream);
  padding:0 20px; letter-spacing:.04em; font-weight:700;
}
.quick-filter-submit:hover{ background:rgba(255,255,255,.14); border-color:var(--cream); color:var(--cream); }
.quick-filter-submit svg{ width:15px; height:15px; }

/* Търсачката в каталога и лентата над продуктите — същите цветове на текста */
.cat-hub-finder .filter-dd-label,
.filter-bar .filter-dd-label{ color:rgba(253,250,243,.72); }
.cat-hub-finder .filter-dd-trigger,
.filter-bar .filter-dd-trigger{ color:var(--cream); }

@media (max-width:860px){
  .quick-filter-wrap{ padding:0; margin-top:0; }
  .quick-filter-card{ padding:10px 14px; }
  .quick-filter-card .filter-dd{ border-right:none; border-bottom:1px solid rgba(253,250,243,.22); }
}

/* Стойностите в падащите полета остават на един ред (при тясно поле — с „…“) */
.filter-dd{ min-width:0; }
.filter-dd-value{ min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.filter-bar .filter-dd{ flex:1 1 140px; }
.filter-bar .filter-dd-label,
.filter-bar .filter-dd-trigger{ padding-left:14px; padding-right:14px; }
@media (max-width:960px){
  /* десните полета (2 на ред) отварят менюто си надясно-наляво, за да не излиза от лентата */
  .filter-bar .filter-dd:nth-child(even) .filter-dd-menu{ left:auto; right:0; }
}

/* =========================================================
   Карти на категории (.ecard) — нов вид (27.09.2026):
   хоризонтална снимка, мек тъмен преход само долу, бяло serif
   заглавие, тънка светла линия и златно „РАЗГЛЕДАЙ →“.
   Важи навсякъде: каталог, категории, колекции, B2B.
   ========================================================= */
.ecard{
  height:auto; aspect-ratio:420 / 330;
  border:1px solid rgba(45,26,23,.35); border-radius:var(--radius-card);
  box-shadow:none; background:var(--ink-900);
}
.ecard:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); border-color:var(--gold-500); }
.ecard::after{
  background:linear-gradient(to top, rgba(28,14,16,.82) 0%, rgba(28,14,16,.55) 30%, rgba(28,14,16,.12) 58%, transparent 75%);
}
.ecard-body{ padding:0 32px 26px; }
.ecard-body h3{
  color:var(--vanilla); font-size:clamp(1.15rem, 1.8vw, 1.6rem); line-height:1.2; margin:0 0 18px;
  text-shadow:0 1px 12px rgba(0,0,0,.35);
}
.ecard-body p{ display:none; }
.ecard-cta{
  display:flex; width:100%; align-items:center; gap:10px;
  padding-top:18px; border-top:1px solid rgba(253,250,243,.32);
  font-size:.8rem; font-weight:700; letter-spacing:.14em; color:var(--gold-300);
}
.ecard-cta svg{ width:14px; height:14px; }

/* Мрежи от карти: 4 на ред на компютър */
.cat-hub-grid,
.cat-collections-grid{ grid-template-columns:repeat(4, minmax(0, 1fr)); gap:36px; }
.cat-hub-grid .ecard,
.cat-collections-grid .ecard{ height:auto; }

/* Хоризонтални плъзгачи (B2B и др.) */
.cat-slider .ecard{ flex:0 0 340px; height:auto; }

/* Лаптоп / малък десктоп */
@media (max-width:1180px){
  .cat-hub-grid, .cat-collections-grid{ gap:24px; }
  .ecard-body{ padding:0 24px 22px; }
}
/* Таблет: 2 на ред */
@media (max-width:960px){
  .cat-hub-grid, .cat-collections-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:20px; }
  .ecard-body h3{ font-size:1.35rem; margin-bottom:14px; }
  .ecard-cta{ padding-top:14px; }
  .cat-slider .ecard{ flex-basis:300px; }
}
/* Телефон: 2 на ред, по-висока карта и по-компактен текст */
@media (max-width:600px){
  .cat-hub-grid, .cat-collections-grid{ gap:12px; }
  .cat-hub-grid .ecard,
  .cat-collections-grid .ecard{ aspect-ratio:4 / 5; }
  .ecard-body{ padding:0 14px 14px; }
  .ecard-body h3{ font-size:1.05rem; margin-bottom:10px; }
  .ecard-cta{ padding-top:10px; font-size:.66rem; letter-spacing:.1em; gap:6px; }
  .ecard-cta svg{ width:12px; height:12px; }
  .cat-slider .ecard{ flex-basis:78%; }
}
/* Много тесен телефон: една карта на ред */
@media (max-width:340px){
  .cat-hub-grid, .cat-collections-grid{ grid-template-columns:1fr; }
  .cat-hub-grid .ecard,
  .cat-collections-grid .ecard{ aspect-ratio:420 / 330; }
}

/* Началната страница: по-видим златен контур под филтъра (на всички филтърни ленти за еднаквост) */
.finder-section,
.cat-hub-finder,
.quick-filter-card,
.filter-bar{ border-bottom:2px solid var(--gold-500); }

/* Слайдер: разлистване с пръст/мишка без да пречи на вертикалния скрол */
.hero-full{ touch-action:pan-y; -webkit-user-select:none; user-select:none; }
.hero-full img{ -webkit-user-drag:none; user-drag:none; }
.hero-arrows[hidden], .hero-dots[hidden]{ display:none !important; }

/* Карти на колекции: три цвята — бяло заглавие, златно описание (в средата),
   мек розов долен ред. Лека сянка за четимост върху светли снимки. */
.collection-card-content h3,
.collection-card-body h3{ color:var(--vanilla); }
.collection-card-content p,
.collection-card-body p{ color:var(--gold-300); }
.collection-card-items{ color:var(--rose-dust-300); }
.collection-card-body .eyebrow,
.collection-card-body .link-arrow{ color:var(--rose-dust-300); }
.collection-card-body .eyebrow::before{ background:var(--rose-dust-300); }
.collection-card-content h3, .collection-card-content p, .collection-card-items,
.collection-card-body h3, .collection-card-body p, .collection-card-body .link-arrow{
  text-shadow:0 1px 8px rgba(20,10,12,.45);
}

/* Банер „Персонализирана поръчка“: тъмен преход отляво (под текста),
   който става напълно прозрачен вдясно, за да се вижда тортата. */
.personal-banner-inner .personal-banner-media .photo-cover{ object-position:62% 40%; }
.personal-banner-inner .personal-banner-media::after{
  background:linear-gradient(90deg,
    rgba(33,17,15,.94) 0%, rgba(33,17,15,.86) 32%, rgba(33,17,15,.5) 55%,
    rgba(33,17,15,.12) 75%, rgba(33,17,15,0) 90%);
}
/* Таблет: текстът заема повече от ширината — преходът стига по-надясно */
@media (max-width:960px){
  .personal-banner-inner .personal-banner-media .photo-cover{ object-position:70% 40%; }
  .personal-banner-inner .personal-banner-media::after{
    background:linear-gradient(90deg,
      rgba(33,17,15,.94) 0%, rgba(33,17,15,.84) 45%, rgba(33,17,15,.4) 72%, rgba(33,17,15,0) 100%);
  }
}
/* Телефон: текстът е на цялата ширина — тъмно отгоре/вляво, тортата прозира долу вдясно */
@media (max-width:640px){
  .personal-banner-inner .personal-banner-media .photo-cover{ object-position:75% 35%; }
  .personal-banner-inner .personal-banner-media::after{
    background:linear-gradient(160deg,
      rgba(33,17,15,.93) 0%, rgba(33,17,15,.85) 45%, rgba(33,17,15,.55) 75%, rgba(33,17,15,.25) 100%);
  }
}

/* Снимката заема дясната част на банера, за да се вижда цялата торта;
   лявата част е плътно тъмна под текста и плавно преминава в снимката. */
.personal-banner-inner{ background:rgb(33,17,15); }
.personal-banner-inner .personal-banner-media{ left:auto; right:0; width:62%; }
.personal-banner-inner .personal-banner-media .photo-cover{ object-position:50% 45%; }
.personal-banner-inner .personal-banner-media::after{
  background:linear-gradient(90deg,
    rgba(33,17,15,1) 0%, rgba(33,17,15,.72) 22%, rgba(33,17,15,.3) 48%, rgba(33,17,15,0) 72%);
}
@media (max-width:960px){
  .personal-banner-inner .personal-banner-media{ width:75%; }
  .personal-banner-inner .personal-banner-media::after{
    background:linear-gradient(90deg,
      rgba(33,17,15,1) 0%, rgba(33,17,15,.85) 30%, rgba(33,17,15,.4) 62%, rgba(33,17,15,0) 90%);
  }
}
@media (max-width:640px){
  .personal-banner-inner .personal-banner-media{ width:100%; }
  .personal-banner-inner .personal-banner-media .photo-cover{ object-position:60% 40%; }
  .personal-banner-inner .personal-banner-media::after{
    background:linear-gradient(160deg,
      rgba(33,17,15,.94) 0%, rgba(33,17,15,.86) 45%, rgba(33,17,15,.55) 75%, rgba(33,17,15,.25) 100%);
  }
}
@media (min-width:641px) and (max-width:960px){
  /* текстът остава върху тъмната половина, тортата — вдясно */
  .personal-banner-body{ max-width:58%; }
  .personal-banner-inner .personal-banner-media{ width:60%; }
  .personal-banner-inner .personal-banner-media::after{
    background:linear-gradient(90deg, rgba(33,17,15,1) 0%, rgba(33,17,15,.7) 25%, rgba(33,17,15,.25) 55%, rgba(33,17,15,0) 80%);
  }
}


/* Надписи над заглавия (.eyebrow): без тиренце и без икона — само текстът. */
.eyebrow::before{ content:none !important; display:none !important; }

/* Футър: „Бюлетин“ в стила на другите заглавия във футъра (светло върху бордо) */
.footer-newsletter-text h4{
  color:var(--vanilla); font-family:var(--font-sans); font-size:.76rem; font-weight:700;
  text-transform:uppercase; letter-spacing:.1em; margin-bottom:10px;
}

/* =========================================================
   Страница „Контакти“ — нов вид (27.09.2026)
   ========================================================= */
:root{
  --milk-cocoa-100:#f4ece2;  /* мляко с какао — светло */
  --milk-cocoa-200:#eadcc9;
  --milk-cocoa-400:#c9ad8c;
  --milk-cocoa-700:#7a5a44;  /* какао — текст/икони */
}

/* Горна част: по-малко заглавие и преход в цвят мляко с какао */
.page-hero--cocoa{
  background:linear-gradient(180deg, var(--milk-cocoa-200) 0%, var(--milk-cocoa-100) 55%, var(--vanilla) 100%);
  border-bottom:1px solid rgba(122,90,68,.14);
}
.page-hero--cocoa h1{ font-size:clamp(1.6rem, 2.6vw, 2.15rem); margin-bottom:6px; }
.page-hero--cocoa p{ color:var(--ink-500); }

/* Карти: светъл фон, тънка тъмна рамка, златна горна линия и трицветна лента долу */
.contact-card{
  position:relative; overflow:hidden;
  background:var(--vanilla); border:1px solid rgba(45,26,23,.78); border-top:1px solid var(--gold-300);
  border-radius:var(--radius-card); box-shadow:var(--shadow-sm);
  padding:30px 34px 34px;
}
.contact-card::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:4px;
  background:linear-gradient(90deg, var(--gold-300) 0%, var(--gold-300) 22%, var(--mega-rail-active) 22%, var(--mega-rail-active) 64%, var(--rose-700) 64%, var(--rose-700) 100%);
}
.info-card.contact-card{ margin-bottom:24px; }
.contact-card h4{ font-family:var(--font-serif); font-size:1.12rem; color:var(--rose-950); margin-bottom:16px; }
.contact-card .row{ font-size:.95rem; color:var(--ink-500); margin-bottom:12px; }
.contact-card .row a{ color:inherit; }

/* Списък с обекти: име, отдолу телефон, разделени с пунктир */
.store-list{ display:flex; flex-direction:column; }
.store-item{ padding:12px 0; border-bottom:1px dashed var(--rose-300); }
.store-item:first-child{ padding-top:0; }
.store-item:last-child{ border-bottom:0; padding-bottom:0; }
.store-name{ font-size:.95rem; color:var(--ink-700); }
.store-phone{ display:inline-flex; align-items:center; gap:10px; margin-top:6px; color:var(--rose-700); font-size:1rem; }
.store-phone svg{ width:16px; height:16px; color:var(--rose-700); flex:none; }
.store-phone:hover{ color:var(--rose-900); }
.contact-all-stores{ display:inline-block; margin-top:22px; font-size:.9rem; }

/* Формата: блъш фон, същите рамки */
.contact-form.contact-card{ background:var(--blush-100); border-radius:var(--radius-card); padding:34px 44px 40px; }
.contact-form.contact-card label{ letter-spacing:.06em; }
.contact-form .input, .contact-form .textarea{ background:var(--vanilla); }

/* Бутон с контур в бордо */
.btn-outline-rose{
  background:transparent; color:var(--rose-700); border:1px solid var(--rose-700);
  text-transform:uppercase; letter-spacing:.1em; font-weight:600; padding:14px 22px;
}
.btn-outline-rose:hover{ background:var(--rose-700); color:var(--vanilla); }

/* Поле за снимки: мляко с какао */
.file-drop--cocoa{
  background:var(--milk-cocoa-100); border:1px dashed var(--milk-cocoa-400); color:var(--milk-cocoa-700);
  text-transform:uppercase; letter-spacing:.06em; font-weight:600; font-size:.82rem; padding:22px 16px;
}
.file-drop--cocoa svg{ color:var(--milk-cocoa-700); }
.file-drop--cocoa:hover,
.file-drop--cocoa.dragover{ background:var(--milk-cocoa-200); border-color:var(--milk-cocoa-700); }
.file-drop--cocoa.is-full{ opacity:.55; cursor:not-allowed; }

/* Прикачени снимки: мини-прегледи с бутон ×, до 6 */
.photo-thumbs{ display:grid; grid-template-columns:repeat(auto-fill, minmax(84px, 1fr)); gap:10px; margin-top:12px; }
.photo-thumbs:empty{ display:none; }
.photo-thumb{
  position:relative; aspect-ratio:1; border-radius:var(--radius-sm); overflow:hidden;
  border:1px solid var(--milk-cocoa-400); background:var(--milk-cocoa-100);
}
.photo-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.photo-thumb-remove{
  position:absolute; top:4px; right:4px; width:24px; height:24px; border-radius:50%; border:0; padding:0;
  background:rgba(58,28,34,.72); color:#fff; font-size:16px; line-height:24px; cursor:pointer;
}
.photo-thumb-remove:hover{ background:var(--rose-700); }
.photo-thumb--loading{
  display:flex; align-items:center; justify-content:center; font-size:.72rem; color:var(--milk-cocoa-700);
  border-style:dashed;
}

/* Таблет и телефон */
@media (max-width:960px){
  .form-layout{ gap:28px; }
  .contact-card{ padding:26px 26px 30px; }
  .contact-form.contact-card{ padding:28px 26px 32px; }
}
@media (max-width:600px){
  .contact-card{ padding:22px 18px 26px; }
  .contact-form.contact-card{ padding:22px 18px 28px; }
  .contact-card .row, .store-name{ font-size:.9rem; }
  .contact-form .form-row{ grid-template-columns:1fr; }
  .photo-thumbs{ grid-template-columns:repeat(3, 1fr); }
}

/* ---------- Контакти v2: по-шоколадов и по-нисък горен панел ---------- */
:root{
  --cocoa-900:#3b2419;   /* тъмен шоколад */
  --cocoa-800:#4f3122;
  --cocoa-700:#6a4430;   /* тъмно мляко с какао */
  --cocoa-500:#8f6649;
}
.page-hero--cocoa{
  padding:26px 0 22px;
  background:linear-gradient(120deg, var(--cocoa-900) 0%, var(--cocoa-800) 45%, var(--cocoa-700) 100%);
  border-bottom:1px solid var(--gold-500);
}
.page-hero--cocoa .breadcrumbs{ color:rgba(253,250,243,.62); margin-bottom:8px; }
.page-hero--cocoa .breadcrumbs a{ color:rgba(253,250,243,.8); }
.page-hero--cocoa .breadcrumbs a:hover{ color:var(--gold-300); }
.page-hero--cocoa .breadcrumbs span{ color:rgba(253,250,243,.4); }
.page-hero--cocoa h1{ color:var(--vanilla); font-size:clamp(1.5rem, 2.4vw, 1.95rem); margin-bottom:4px; }
.page-hero--cocoa p{ color:var(--rose-dust-300); font-size:.95rem; }

/* „Виж всички обекти“ — самостоятелен бутон под картите */
.contact-all-stores{
  display:inline-flex; align-items:center; gap:8px; margin-top:4px;
  background:transparent; color:var(--rose-700); border:1px solid var(--gold-500);
  padding:12px 22px; font-size:.82rem; font-weight:700; letter-spacing:.08em; text-transform:uppercase;
}
.contact-all-stores:hover{ background:var(--cocoa-700); border-color:var(--cocoa-700); color:var(--vanilla); }

/* ---------- Формата: тъмно мляко с какао + ванилия + светъл роуз дъст, златни контури ---------- */
.contact-form.contact-card{
  background:linear-gradient(160deg, var(--cocoa-700) 0%, var(--cocoa-800) 100%);
  border:1px solid var(--gold-500); color:var(--vanilla);
  box-shadow:0 18px 40px rgba(59,36,25,.22);
}
.contact-form.contact-card::before{
  /* втори, вътрешен златен контур */
  content:""; position:absolute; inset:8px; border:1px solid rgba(221,199,156,.35); border-radius:calc(var(--radius-card) - 2px); pointer-events:none;
}
.contact-form.contact-card::after{
  background:linear-gradient(90deg, var(--gold-300) 0%, var(--gold-300) 22%, var(--rose-dust-300) 22%, var(--rose-dust-300) 64%, var(--gold-500) 64%, var(--gold-500) 100%);
}
.contact-form.contact-card .form-group label{ color:var(--rose-dust-300); letter-spacing:.1em; }
.contact-form.contact-card .input,
.contact-form.contact-card .textarea{
  background:var(--vanilla); color:var(--ink-900);
  border:1px solid var(--gold-300); border-radius:var(--radius-control);
}
.contact-form.contact-card .input::placeholder,
.contact-form.contact-card .textarea::placeholder{ color:#9b8577; }
.contact-form.contact-card .input:focus,
.contact-form.contact-card .textarea:focus{ outline:none; border-color:var(--rose-dust-300); box-shadow:0 0 0 3px rgba(220,174,188,.35); }

/* Снимки: светла ванилия с пунктирен златен контур */
.contact-form.contact-card .file-drop--cocoa{
  background:rgba(253,250,243,.08); border:1px dashed var(--gold-300); color:var(--vanilla);
}
.contact-form.contact-card .file-drop--cocoa svg{ color:var(--gold-300); }
.contact-form.contact-card .file-drop--cocoa:hover,
.contact-form.contact-card .file-drop--cocoa.dragover{ background:rgba(253,250,243,.16); border-color:var(--rose-dust-300); }
.contact-form.contact-card .photo-thumb{ border-color:var(--gold-300); background:rgba(253,250,243,.1); }
.contact-form.contact-card .photo-thumb--loading{ color:var(--vanilla); }

/* Бутон: светъл роуз дъст с тъмен текст, златен при посочване */
.contact-form.contact-card .btn-outline-rose{
  background:var(--rose-dust-300); color:var(--cocoa-900); border:1px solid var(--rose-dust-300);
  font-weight:700;
}
.contact-form.contact-card .btn-outline-rose:hover{ background:var(--gold-300); border-color:var(--gold-300); color:var(--cocoa-900); }

/* Съобщения върху тъмния фон */
.contact-form.contact-card .form-error-msg{ background:rgba(253,250,243,.92); }
.contact-form.contact-card .success-box{ background:var(--rose-dust-300); color:var(--cocoa-900); border-color:var(--gold-300); }

@media (max-width:600px){
  .page-hero--cocoa{ padding:20px 0 18px; }
  .contact-form.contact-card::before{ inset:6px; }
  .contact-all-stores{ width:100%; justify-content:center; }
}
/* етикетите във формата — малко по-светъл роуз дъст за четимост върху какаото (контраст ≥ 5:1) */
.contact-form.contact-card .form-group label{ color:#e6bfca; }

/* ---------- Контакти v3: светло, млечно мляко с какао, което прелива в прозрачност ---------- */
.page-hero--cocoa{
  padding:26px 0 24px;
  background:linear-gradient(180deg, #e6d7c3 0%, #eee3d5 45%, rgba(244,236,226,.55) 75%, rgba(253,250,243,0) 100%);
  border-bottom:0;
}
.page-hero--cocoa .breadcrumbs{ color:#7d6c64; }
.page-hero--cocoa .breadcrumbs a{ color:#6b5048; }
.page-hero--cocoa .breadcrumbs a:hover{ color:var(--rose-700); }
.page-hero--cocoa .breadcrumbs span{ color:#b3a296; }
.page-hero--cocoa h1{ color:var(--rose-900); }
.page-hero--cocoa p{ color:#6b5048; }

/* ---------- Формата: светли пастелни тонове (пудра + мляко), тънки златни контури ---------- */
.contact-form.contact-card{
  background:linear-gradient(160deg, #f8eaee 0%, #f6ede4 55%, #fbf5ee 100%);
  border:1px solid var(--gold-300); color:var(--ink-700);
  box-shadow:0 14px 34px rgba(156,85,104,.10);
}
.contact-form.contact-card::before{ border-color:rgba(194,169,126,.35); }
.contact-form.contact-card::after{
  background:linear-gradient(90deg, var(--gold-300) 0%, var(--gold-300) 22%, #ecc9d3 22%, #ecc9d3 64%, #d9c3a8 64%, #d9c3a8 100%);
}
.contact-form.contact-card .form-group label{ color:#8e4a5c; letter-spacing:.1em; }
.contact-form.contact-card .input,
.contact-form.contact-card .textarea{
  background:#fffdf9; color:var(--ink-900); border:1px solid #e3d2c0;
}
.contact-form.contact-card .input::placeholder,
.contact-form.contact-card .textarea::placeholder{ color:#7d6c64; }
.contact-form.contact-card .input:focus,
.contact-form.contact-card .textarea:focus{ border-color:#d7a9b6; box-shadow:0 0 0 3px rgba(236,201,211,.55); }

.contact-form.contact-card .file-drop--cocoa{ background:#f3e7da; border:1px dashed #d9c3a8; color:#7a5a44; }
.contact-form.contact-card .file-drop--cocoa svg{ color:#a8845f; }
.contact-form.contact-card .file-drop--cocoa:hover,
.contact-form.contact-card .file-drop--cocoa.dragover{ background:#efdfcd; border-color:#c9ad8c; }
.contact-form.contact-card .photo-thumb{ border-color:#e3d2c0; background:#f3e7da; }
.contact-form.contact-card .photo-thumb--loading{ color:#7a5a44; }

.contact-form.contact-card .btn-outline-rose{
  background:#ecc9d3; color:var(--rose-900); border:1px solid #e2b7c3; font-weight:700;
}
.contact-form.contact-card .btn-outline-rose:hover{ background:var(--gold-300); border-color:var(--gold-300); color:var(--rose-950); }
.contact-form.contact-card .form-error-msg{ background:#fff5f5; }
.contact-form.contact-card .success-box{ background:#ecc9d3; color:var(--rose-950); border-color:var(--gold-300); }

/* бутонът „Виж всички обекти“ — в същата пастелна гама */
.contact-all-stores{ color:var(--rose-700); border-color:#d9c3a8; background:#fbf5ee; }
.contact-all-stores:hover{ background:#ecc9d3; border-color:#e2b7c3; color:var(--rose-900); }
/* Контакти: без сянка под картите и формата */
.contact-card, .contact-form.contact-card, .info-card.contact-card{ box-shadow:none; }

/* ---------- Контакти v4: формата — спокоен, равен пудрено-бежов вид (по снимка на клиента) ---------- */
.contact-form.contact-card{
  background:#f5ede8;
  border:1px solid rgba(45,26,23,.78); border-top:1px solid var(--gold-300);
  color:var(--ink-700);
}
.contact-form.contact-card::before{ content:none; }
.contact-form.contact-card::after{
  background:linear-gradient(90deg, var(--gold-300) 0%, var(--gold-300) 22%, var(--mega-rail-active) 22%, var(--mega-rail-active) 64%, var(--rose-700) 64%, var(--rose-700) 100%);
}
.contact-form.contact-card .form-group label{ color:#8d6b5b; letter-spacing:.06em; }
.contact-form.contact-card .input,
.contact-form.contact-card .textarea{
  background:#fdfaf3; color:var(--ink-900); border:1px solid #dcc5ba; border-radius:var(--radius-control);
}
.contact-form.contact-card .input::placeholder,
.contact-form.contact-card .textarea::placeholder{ color:#8a7a72; }
.contact-form.contact-card .input:focus,
.contact-form.contact-card .textarea:focus{ border-color:#c9a898; box-shadow:0 0 0 3px rgba(220,197,186,.45); }

.contact-form.contact-card .file-drop--cocoa{ background:#efe4db; border:1px dashed #dcc5ba; color:#8d6b5b; }
.contact-form.contact-card .file-drop--cocoa svg{ color:#8d6b5b; }
.contact-form.contact-card .file-drop--cocoa:hover,
.contact-form.contact-card .file-drop--cocoa.dragover{ background:#eadccf; border-color:#c9a898; }
.contact-form.contact-card .photo-thumb{ border-color:#dcc5ba; background:#efe4db; }
.contact-form.contact-card .photo-thumb--loading{ color:#8d6b5b; }

.contact-form.contact-card .btn-outline-rose{
  background:transparent; color:var(--rose-700); border:1px solid var(--rose-700); font-weight:600;
}
.contact-form.contact-card .btn-outline-rose:hover{ background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); }
.contact-form.contact-card .success-box{ background:var(--rose-dust-700); color:var(--vanilla-deep); border-color:var(--gold-500); }


/* =====================================================================
   Страница „За нас“ — пренесена от дизайна „Роза 3“ (about.html), 27.09.2026
   ===================================================================== */
/* =====================================================================
   TOKENS ported from the live WP theme (roza2.css) for the editorial
   "За нас / mega-menu" language used below — exact values copied from
   theme/roza-base/assets/css/roza2.css so colors match 1:1.
   ===================================================================== */
:root{
  --mega-line:rgba(45,26,23,.78);
  --mega-bar:linear-gradient(90deg, var(--gold-300) 0%, var(--gold-300) 22%, var(--mega-rail-active) 22%, var(--mega-rail-active) 64%, var(--rose-700) 64%, var(--rose-700) 100%);
  --accent-word:#a9814f;          /* caramel-gold on light surfaces */
  --accent-word-on-dark:#e6c98f;  /* champagne on photos / dark bands */

  --clay-700:#8d6b5b;
  --clay-500:#bc9988;
  --clay-300:#dcc5ba;
  --clay-200:#eadbd3;
  --clay-100:#f5ede8;
  --peach-100:var(--clay-100);
  --peach-200:var(--clay-200);

  --latte-600:#b8916a;
  --latte-500:#cdaa82;
  --latte-300:#e3cba8;
  --latte-100:#f2e4d1;
}
/* Accent word — italic script highlight inside headings (theme picks
   accent-on-light/dark via JS; every use below sits on a light/vanilla
   surface, so we hardcode the light variant). */
.accent{ font-family:var(--font-script); font-style:italic; font-weight:500; letter-spacing:.012em; color:var(--accent-word); }


/* =====================================================================
   ABOUT PAGE (За нас) — about.html — ported from page-za-nas.php /
   roza2.css: editorial, airy, vanilla base, burgundy headings, rose-dust
   details, milk-cocoa (clay) panels, mint only on the quality ticks.
   ===================================================================== */
.ab-section{ padding:88px 0; }
.ab-lead{ font-size:1.08rem; line-height:1.78; color:var(--ink-700); max-width:54ch; margin:0 0 8px; }
.ab-head{ text-align:center; max-width:640px; margin:0 auto; }
.ab-head h2, .ab h2{ line-height:1.12; }
.ab h2{ font-size:clamp(2rem, 3.6vw, 2.9rem); margin:6px 0 18px; }
.ab-cta{ display:flex; flex-wrap:wrap; gap:14px; margin-top:30px; }
.ab-cta--center{ justify-content:center; }
.ab-note{ margin:6px 0 0; font-size:.78rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); }

/* framed photos: hairline, gold top line, offset rose outline behind */
.ab-frame{
  position:relative; overflow:hidden; aspect-ratio:4 / 5; background:var(--mega-rail-bg);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.ab-frame--tall{ aspect-ratio:4 / 4.6; }
.ab-frame img, .ab-mosaic img, .ab-city-photo img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .8s ease; }
.ab-frame:hover img, .ab-city-photo:hover img{ transform:scale(1.035); }
.ab-media, .ab-hero-media{ position:relative; isolation:isolate; }
.ab-media::before, .ab-hero-media::before{
  content:""; position:absolute; inset:18px -16px -18px 16px; z-index:-1; pointer-events:none;
  border:1px solid var(--rose-300); border-radius:var(--radius-card);
}

/* line-art ornaments */
.ab-art{ position:absolute; pointer-events:none; color:var(--rose-dust-300); }
.ab-art svg{ display:block; width:100%; height:100%; stroke-width:.7; }
.ab-art--hero{ width:64px; height:64px; right:-18px; top:-22px; color:var(--gold-500); }
.ab-art--candles{ width:118px; height:118px; left:-30px; bottom:-26px; color:var(--rose-dust-500); background:var(--vanilla); border-radius:50%; padding:14px; border:1px solid var(--rose-300); }
.ab-art--muffin{ width:96px; height:96px; right:-22px; bottom:-22px; background:var(--vanilla); border-radius:50%; padding:20px; border:1px solid var(--rose-300); color:var(--rose-dust-500); }

/* 1 · hero */
.ab-hero{ background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%); padding:26px 0 0; }
.ab-hero .breadcrumbs{ margin-bottom:0; }
.ab-hero-grid{ display:grid; grid-template-columns:1.02fr .98fr; gap:64px; align-items:center; padding:30px 0 84px; }
.ab-hero h1{ font-size:clamp(2.9rem, 6vw, 4.8rem); line-height:1.02; margin:12px 0 22px; }
.ab-hero-media{ max-width:470px; width:100%; justify-self:end; }
.ab-seal{
  position:absolute; left:-30px; bottom:38px; width:112px; height:112px; border-radius:50%;
  display:flex; flex-direction:column; align-items:center; justify-content:center; text-align:center; gap:1px;
  background:var(--vanilla); border:1px solid var(--gold-300); color:var(--rose-700);
}
.ab-seal span{ font-size:.6rem; letter-spacing:.16em; text-transform:uppercase; color:var(--ink-500); }
.ab-seal strong{ font-family:var(--font-serif); font-size:1.6rem; line-height:1; font-weight:600; color:var(--rose-900); }

/* 2 · history */
.ab-history-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; }
.ab-chapters{ position:relative; margin-top:26px; padding-left:36px; }
.ab-chapters::before{ content:""; position:absolute; left:7px; top:8px; bottom:14px; width:1px; background:linear-gradient(var(--gold-300), var(--rose-300)); }
.ab-chapter{ position:relative; padding-bottom:26px; }
.ab-chapter::before{
  content:""; position:absolute; left:-36px; top:9px; width:15px; height:15px; border-radius:50%;
  background:var(--vanilla); border:1.5px solid var(--rose-700);
}
.ab-chapter-label{ font-family:var(--font-script); font-style:italic; font-weight:500; font-size:1.7rem; line-height:1.15; color:var(--accent-word); margin-bottom:6px; }
.ab-chapter p{ margin:0; color:var(--ink-700); line-height:1.78; max-width:52ch; }

/* 3 · numbers */
.ab-stats{ background:var(--peach-100); border-top:1px solid var(--gold-300); border-bottom:1px solid var(--rose-300); padding:64px 0; }
.ab-stat-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:20px; }
.ab-stat, .ab-value{
  position:relative; overflow:hidden; background:var(--vanilla); text-align:center;
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
  transition:var(--transition-ui);
}
.ab-stat::after, .ab-value::after, .ab-biz::after, .ab-behind::after, .ab-finale-card::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar);
}
.ab-stat{ padding:32px 18px 30px; }
.ab-stat:hover, .ab-value:hover{ background:var(--mega-rail-bg); box-shadow:inset 2px 0 0 var(--rose-700) !important; }
.ab-stat-ic{ display:inline-flex; align-items:center; justify-content:center; width:50px; height:50px; margin-bottom:14px; border-radius:50%; border:1px solid var(--rose-300); color:var(--rose-700); }
.ab-stat-ic svg{ width:22px; height:22px; }
.ab-stat-num{ font-family:var(--font-serif); font-weight:600; font-size:clamp(2.5rem, 4vw, 3.3rem); line-height:1; color:var(--rose-900); }
.ab-stat-num small{ font-size:.55em; margin-left:2px; color:var(--accent-word); font-style:italic; }
.ab-stat-label{ margin-top:10px; font-size:.86rem; color:var(--ink-500); }

/* 4 · values */
.ab-values-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; margin-top:46px; }
.ab-value{ padding:36px 26px 34px; }
.ab-value-ic{ display:inline-flex; align-items:center; justify-content:center; width:64px; height:64px; border-radius:50%; background:var(--peach-100); border:1px solid var(--rose-300); color:var(--rose-700); }
.ab-value-ic svg{ width:28px; height:28px; stroke-width:1.15; }
.ab-value h3{ font-size:1.22rem; margin:18px 0 8px; color:var(--rose-900); }
.ab-value p{ margin:0; font-size:.93rem; line-height:1.72; color:var(--ink-500); }

/* 5 · behind the display (milk-cocoa panel) */
.ab-behind-wrap{ padding-top:24px; }
.ab-behind{
  position:relative; overflow:hidden; display:grid; grid-template-columns:1.05fr .95fr; gap:56px; align-items:center; padding:52px;
  background:var(--latte-100); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.ab-mosaic{ display:grid; grid-template-columns:1.35fr 1fr; grid-template-rows:1fr 1fr; gap:12px; aspect-ratio:1 / .92; }
.ab-mosaic > div{ overflow:hidden; border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card); background:var(--mega-rail-bg); }
.ab-mosaic-main{ grid-row:1 / 3; }
.ab-behind-copy .btn{ margin-top:22px; }

/* 6 · production */
.ab-prod-grid{ display:grid; grid-template-columns:.95fr 1.05fr; gap:72px; align-items:center; }
.ab-badges{ list-style:none; margin:26px 0 0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.ab-badge{
  display:flex; align-items:center; gap:12px; padding:13px 16px; font-size:.92rem; font-weight:600; color:var(--ink-900);
  background:var(--vanilla); border:1px solid rgba(74,50,34,.2); border-left:2px solid transparent; border-radius:var(--radius-card); transition:var(--transition-ui);
}
.ab-badge:hover{ background:var(--mega-rail-active); border-left-color:var(--rose-700); color:var(--rose-700); }
.ab-badge i{ display:inline-flex; align-items:center; justify-content:center; flex:none; width:26px; height:26px; border-radius:50%; background:var(--mint-100); border:1px solid var(--mint-300); color:#5f8f7c; }
.ab-badge i svg{ width:13px; height:13px; stroke-width:2; }

/* 7 · part of Burgas */
.ab-city{ background:var(--peach-100); border-top:1px solid var(--gold-300); border-bottom:1px solid var(--rose-300); }
.ab-city-grid{ display:grid; grid-template-columns:.9fr 1.1fr; gap:64px; align-items:center; }
.ab-city-photos{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.ab-city-photo{ overflow:hidden; aspect-ratio:4 / 3; background:var(--mega-rail-bg); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card); }
.ab-city-photo:nth-child(even){ transform:translateY(18px); }

/* 8 · business */
.ab-biz{
  position:relative; overflow:hidden; display:grid; grid-template-columns:1fr 1.05fr;
  background:var(--vanilla); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.ab-biz-copy{ padding:52px 52px 56px; }
.ab-biz-rail{
  list-style:none; margin:0; padding:40px 44px 44px; display:grid; grid-template-columns:1fr 1fr; gap:8px 16px; align-content:center;
  background:var(--mega-rail-bg); border-left:var(--border-rose-soft);
}
.ab-biz-rail li{
  display:flex; align-items:center; gap:12px; padding:13px 14px; font-size:.92rem; font-weight:600; color:var(--ink-900);
  border-left:2px solid transparent; transition:var(--transition-ui);
}
.ab-biz-rail li svg{ width:18px; height:18px; color:var(--rose-dust-700); flex:none; transition:var(--transition-ui); }
.ab-biz-rail li:hover{ background:var(--mega-rail-active); border-left-color:var(--rose-700); color:var(--rose-700); }
.ab-biz-rail li:hover svg{ color:var(--rose-700); }

/* 9 · finale */
.ab-finale{ padding:24px 0 110px; }
.ab-finale-card{
  position:relative; overflow:hidden; text-align:center; padding:72px 40px 76px;
  background:
    radial-gradient(520px 220px at 12% 0%, var(--peach-100), transparent 70%),
    radial-gradient(520px 240px at 100% 100%, var(--peach-100), transparent 70%),
    var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.ab-finale-candles{ width:84px; height:84px; margin:0 auto 10px; color:var(--rose-dust-500); }
.ab-finale-candles svg{ width:100%; height:100%; }
.ab-finale-card h2{ font-size:clamp(2.6rem, 5.4vw, 4.2rem); margin:0 0 16px; }
.ab-finale-card .ab-lead{ margin:0 auto 6px; }
.ab-sign{ margin:18px 0 0; font-family:var(--font-script); font-style:italic; font-size:1.7rem; color:var(--accent-word); }
.ab-art--fl, .ab-art--fr{ width:150px; height:150px; opacity:.55; }
.ab-art--fl{ left:34px; bottom:26px; }
.ab-art--fr{ right:34px; bottom:26px; }

@media (max-width:1000px){
  .ab-section{ padding:64px 0; }
  .ab-hero-grid, .ab-history-grid, .ab-prod-grid, .ab-city-grid{ grid-template-columns:1fr; gap:48px; }
  .ab-hero-grid{ padding-bottom:64px; }
  .ab-hero-media{ justify-self:start; max-width:520px; margin:0 16px 0 0; }
  .ab-behind{ grid-template-columns:1fr; padding:32px 24px; gap:36px; }
  .ab-biz{ grid-template-columns:1fr; }
  .ab-biz-rail{ border-left:none; border-top:var(--border-rose-soft); }
  .ab-stat-grid, .ab-values-grid{ grid-template-columns:repeat(2, 1fr); }
  .ab-art--fl, .ab-art--fr{ display:none; }
}
@media (max-width:560px){
  .ab-stat-grid, .ab-values-grid, .ab-badges, .ab-biz-rail{ grid-template-columns:1fr; }
  .ab-biz-copy{ padding:34px 24px 38px; }
  .ab-biz-rail{ padding:24px 20px 28px; }
  .ab-finale-card{ padding:52px 22px 56px; }
  .ab-city-photo:nth-child(even){ transform:none; }
}
.ab{ overflow-x:clip; }


/* „За нас“ · Историята на цеха — хоризонтална линия с 5 етапа (компютър), вертикална на телефон */
.ab-workshop{ background:var(--latte-100); border-top:1px solid var(--gold-300); border-bottom:1px solid var(--rose-300); }
.ab-workshop .ab-lead{ margin:0 auto; }
.ab-timeline{
  list-style:none; margin:48px 0 0; padding:0; position:relative;
  display:grid; grid-template-columns:repeat(5, minmax(0,1fr)); gap:24px;
}
.ab-timeline::before{
  /* линията, която свързва етапите */
  content:""; position:absolute; left:8%; right:8%; top:28px; height:1px; background:var(--gold-300);
}
.ab-step{ position:relative; text-align:center; }
.ab-step-ic{
  position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center;
  width:56px; height:56px; border-radius:50%; background:var(--vanilla);
  border:1px solid var(--gold-300); color:var(--rose-dust-700); margin-bottom:16px;
}
.ab-step-ic svg{ width:24px; height:24px; stroke-width:1.1; }
.ab-step-label{
  font-family:var(--font-script); font-style:italic; font-size:1.05rem; color:var(--accent-word); margin-bottom:6px;
}
.ab-step h3{ font-size:1.08rem; color:var(--rose-900); margin:0 0 8px; }
.ab-step p{ font-size:.9rem; line-height:1.65; color:var(--ink-700); margin:0 auto; max-width:30ch; }

/* таблет: 2 реда (3 + 2), без хоризонталната линия */
@media (max-width:1000px){
  .ab-timeline{ grid-template-columns:repeat(6, minmax(0,1fr)); gap:32px 20px; }
  .ab-timeline::before{ display:none; }
  .ab-step{ grid-column:span 2; }
  .ab-step:nth-child(4){ grid-column:2 / span 2; }
}
/* телефон: вертикална линия вляво */
@media (max-width:560px){
  .ab-timeline{ display:block; margin-top:32px; }
  .ab-timeline::before{ display:block; left:27px; right:auto; top:8px; bottom:8px; width:1px; height:auto; }
  .ab-step{ text-align:left; padding:0 0 28px 76px; min-height:56px; }
  .ab-step:last-child{ padding-bottom:0; }
  .ab-step-ic{ position:absolute; left:0; top:0; margin:0; }
  .ab-step p{ margin:0; max-width:none; }
}


/* ===== „Вашето мнение“ — пренесено от дизайна „Роза 3“ (27.09.2026) ===== */
/* =====================================================================
   SURVEY PAGE (Вашето мнение) — vasheto-mnenie.html — same editorial
   language as „За нас“: shared page header, milk-cocoa question panel
   with the mega-menu hairline / gold top line / tri-colour base bar,
   square answer tiles.
   ===================================================================== */
.sv{ overflow-x:clip; }
.sv h1, .sv h2, .sv h3{ line-height:1.12; }

/* hero */
.sv-hero{ background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%); padding:26px 0 0; text-align:left; }
.sv-hero .breadcrumbs{ margin-bottom:0; justify-content:flex-start; }
.sv-hero-grid{ display:grid; grid-template-columns:1.25fr .75fr; gap:56px; align-items:center; padding:30px 0 72px; }
.sv-hero h1{ font-size:clamp(2.3rem, 4.8vw, 3.8rem); line-height:1.04; margin:12px 0 20px; max-width:15ch; }
.sv-hero .eyebrow{ justify-content:flex-start; }
.sv-lead{ font-family:var(--font-serif); font-size:clamp(1.25rem, 2vw, 1.55rem); line-height:1.4; color:var(--rose-900); margin:0 0 12px; max-width:none; }
.sv-sub{ font-size:1.05rem; line-height:1.78; color:var(--ink-700); max-width:52ch; margin:0; }
.sv-hero-art{ position:relative; justify-self:center; width:min(260px, 100%); aspect-ratio:1; }
.sv-hero-disc{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; border-radius:50%;
  background:var(--vanilla); border:1px solid var(--gold-300); color:var(--rose-dust-500);
}
.sv-hero-disc::before{ content:""; position:absolute; inset:14px; border-radius:50%; border:1px solid var(--rose-300); }
.sv-hero-disc svg{ width:58%; height:58%; stroke-width:.8; }
.sv-hero-spark{ position:absolute; right:-6px; top:8px; width:46px; height:46px; color:var(--gold-500); }
.sv-hero-spark svg{ width:100%; height:100%; stroke-width:.8; }

/* main: question panel + aside */
.sv-main{ padding:56px 0 100px; }
.sv-layout{ display:grid; grid-template-columns:1.4fr .6fr; gap:36px; align-items:start; }

.sv-card{
  position:relative; overflow:hidden; background:var(--latte-100);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.sv-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.sv-shell{ padding:48px 52px 56px; min-height:380px; }

.sv-intro, .sv-thanks{ text-align:center; max-width:470px; margin:0 auto; padding:14px 0 6px; }
.sv-intro-ic{
  display:inline-flex; align-items:center; justify-content:center; width:68px; height:68px; margin-bottom:18px;
  border-radius:50%; background:var(--vanilla); border:1px solid var(--rose-300); color:var(--rose-700);
}
.sv-intro-ic svg{ width:28px; height:28px; stroke-width:1.2; }
.sv .sv-intro h2, .sv .sv-thanks h2{ font-size:clamp(1.9rem, 3.2vw, 2.5rem); margin:0 0 14px; }
.sv-intro p, .sv-thanks p{ color:var(--ink-700); line-height:1.75; margin:0 auto 26px; }
.sv-thanks-actions{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; }

/* survey engine (steps) inside the panel */
.sv-shell .survey-progress{ height:3px; border-radius:0; background:var(--mega-rail-active); margin-bottom:12px; }
.sv-shell .survey-progress-bar{ border-radius:0; background:var(--rose-700); }
.sv-shell .survey-step-count{ margin-bottom:30px; font-size:.72rem; letter-spacing:.14em; color:var(--rose-dust-700); }
.sv-shell .survey-question h2{ font-size:clamp(1.4rem, 2.6vw, 1.85rem); line-height:1.25; margin:0 0 8px; color:var(--rose-900); }
.sv-shell .survey-hint{ margin-bottom:6px; color:var(--ink-500); }
.sv-shell .survey-answer{ margin-top:26px; }

.sv-shell .survey-pills{ gap:10px; }
.sv-shell .survey-pill{
  padding:13px 20px; font-size:.92rem; color:var(--ink-900);
  background:var(--vanilla); border:1px solid rgba(74,50,34,.2); border-left:2px solid transparent; border-radius:var(--radius-card);
}
.sv-shell .survey-pill:hover{ background:var(--mega-rail-active); border-left-color:var(--rose-700); border-color:rgba(74,50,34,.2); color:var(--rose-700); }
.sv-shell .survey-pill.selected{ background:var(--rose-700); border-color:var(--rose-700); border-left-color:var(--gold-300); color:var(--vanilla); }
.sv-shell .survey-pill--wide{ margin-top:16px; }

.sv-shell .survey-scale{ gap:10px; }
.sv-shell .survey-scale-btn{
  width:54px; height:54px; border-radius:var(--radius-card); font-family:var(--font-serif); font-size:1.15rem; font-weight:600; color:var(--rose-900);
  background:var(--vanilla); border:1px solid rgba(74,50,34,.2);
}
.sv-shell .survey-scale-btn:hover{ background:var(--mega-rail-active); border-color:var(--rose-700); color:var(--rose-700); }
.sv-shell .survey-scale-btn.selected{ background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); }
.sv-shell .survey-scale--nps .survey-scale-btn{ width:46px; height:46px; font-size:1rem; }
.sv-shell .survey-scale-labels{ font-size:.78rem; margin-top:10px; }
.sv-shell .survey-secondary-label{ color:var(--rose-dust-700); letter-spacing:.1em; }
.sv-shell .input, .sv-shell .textarea{ background:var(--vanilla); border:1px solid rgba(74,50,34,.2); border-radius:var(--radius-card); }
.sv-shell .survey-error{ min-height:1.3em; font-size:.86rem; color:var(--rose-700); }
.sv-shell .survey-nav{ margin-top:16px; padding-top:22px; border-top:1px dashed var(--rose-300); }

/* aside */
.sv-aside{
  position:relative; overflow:hidden; padding:34px 28px 32px; background:var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.sv-aside h3{ font-size:1.3rem; margin:0 0 14px; color:var(--rose-900); }
.sv-points{ list-style:none; margin:0; padding:0; }
.sv-points li{
  display:flex; align-items:flex-start; gap:14px; padding:14px 12px; margin:0 -12px;
  border-left:2px solid transparent; transition:var(--transition-ui);
}
.sv-points li + li{ border-top:1px dashed var(--rose-300); }
.sv-points li:hover{ background:var(--mega-rail-bg); border-left-color:var(--rose-700); }
.sv-points i{
  display:inline-flex; align-items:center; justify-content:center; flex:none; width:40px; height:40px;
  border-radius:50%; background:var(--peach-100); border:1px solid var(--rose-300); color:var(--rose-700);
}
.sv-points i svg{ width:18px; height:18px; }
.sv-points b{ display:block; font-size:.95rem; color:var(--ink-900); margin-bottom:2px; }
.sv-points span{ display:block; font-size:.86rem; line-height:1.6; color:var(--ink-500); }
.sv-sign{ margin:20px 0 0; padding-top:18px; border-top:1px solid var(--rose-300); font-family:var(--font-script); font-style:italic; font-size:1.45rem; line-height:1.3; color:var(--accent-word); }

@media (max-width:1000px){
  .sv-hero-grid{ grid-template-columns:1fr; gap:36px; padding-bottom:56px; }
  .sv-hero-art{ display:none; }
  .sv-layout{ grid-template-columns:1fr; gap:28px; }
  .sv-main{ padding:40px 0 72px; }
  .sv-shell{ padding:38px 30px 44px; }
}
@media (max-width:560px){
  .sv-shell{ padding:30px 20px 36px; min-height:0; }
  .sv-shell .survey-scale-btn{ width:calc((100% - 40px) / 5); height:50px; }
  .sv-shell .survey-scale--nps .survey-scale-btn{ width:calc((100% - 50px) / 6); height:44px; }
  .sv-shell .survey-nav{ flex-direction:column-reverse; align-items:stretch; }
  .sv-shell .survey-nav .btn{ width:100%; }
  .sv-aside{ padding:28px 20px; }
}



/* ===== „Отзиви от клиенти“ — пренесено от дизайна „Роза 3“ (27.09.2026), с истинските отзиви ===== */
/* =====================================================================
   REVIEWS PAGE (Отзиви от клиенти) — otzivi-klienti.html — shared page
   header, score panel, one featured quote on milk-cocoa, hairline
   review cards with the mega-menu hover, closing invitation panel.
   ===================================================================== */
.rv{ overflow-x:clip; }
.rv h1, .rv h2{ line-height:1.12; }

.rv-hero{ background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%); padding:26px 0 0; text-align:left; }
.rv-hero .breadcrumbs{ margin-bottom:0; justify-content:flex-start; }
.rv-hero .eyebrow{ justify-content:flex-start; }
.rv-hero-grid{ display:grid; grid-template-columns:1.2fr .8fr; gap:56px; align-items:center; padding:30px 0 72px; }
.rv-hero h1{ font-size:clamp(2.3rem, 4.8vw, 3.8rem); line-height:1.04; margin:12px 0 20px; max-width:16ch; }
.rv-lead{ font-size:1.08rem; line-height:1.78; color:var(--ink-700); max-width:46ch; margin:0; }

.rv-stars{
  display:inline-block; font-size:1.05rem; letter-spacing:3px; line-height:1;
  background:linear-gradient(90deg, var(--gold-500) var(--pct, 100%), var(--rose-300) var(--pct, 100%));
  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;
}

.rv-score{
  position:relative; overflow:hidden; text-align:center; padding:34px 30px 30px; max-width:380px; width:100%; justify-self:end;
  background:var(--vanilla); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.rv-score::after, .rv-feature::after, .rv-cta::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.rv-score-num{ font-family:var(--font-serif); font-weight:600; font-size:clamp(3.4rem, 6vw, 4.6rem); line-height:1; color:var(--rose-900); }
.rv-score-num small{ font-size:.3em; margin-left:6px; color:var(--accent-word); font-style:italic; font-weight:500; }
.rv-score .rv-stars{ margin-top:12px; font-size:1.35rem; }
.rv-score-count{ margin:14px 0 0; font-weight:700; color:var(--ink-900); }
.rv-score-sub{ margin:2px 0 14px; font-size:.86rem; color:var(--ink-500); }
.rv-score .link-arrow{ display:inline-flex; }

.rv-main{ padding:56px 0 100px; }

/* featured quote */
.rv-feature{
  position:relative; overflow:hidden; margin:0 0 22px; padding:52px 40px 58px; text-align:center;
  background:var(--latte-100); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.rv-quote-ic{ display:inline-flex; align-items:center; justify-content:center; width:56px; height:56px; margin-bottom:14px; border-radius:50%; background:var(--vanilla); border:1px solid var(--rose-300); color:var(--rose-700); }
.rv-quote-ic svg{ width:22px; height:22px; }
.rv-feature .rv-stars{ display:block; width:max-content; margin:0 auto 16px; font-size:1.2rem; }
.rv-feature blockquote{
  margin:0 auto; max-width:30ch; font-family:var(--font-script); font-style:italic; font-weight:500;
  font-size:clamp(1.6rem, 3.2vw, 2.4rem); line-height:1.3; color:var(--rose-900);
}
.rv-feature figcaption{ margin-top:20px; display:flex; flex-direction:column; gap:2px; }
.rv-feature figcaption strong{ font-family:var(--font-serif); font-size:1rem; color:var(--rose-700); }
.rv-feature figcaption span{ font-size:.8rem; letter-spacing:.06em; text-transform:uppercase; color:var(--ink-500); }

/* review cards */
.rv-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); gap:18px; }
.rv-card{
  display:flex; flex-direction:column; gap:14px; padding:26px 24px 22px;
  background:var(--vanilla); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-left:2px solid transparent; border-radius:var(--radius-card);
  transition:var(--transition-ui);
}
.rv-card:hover{ background:var(--mega-rail-bg); border-left-color:var(--rose-700); }
.rv-card-top{ display:flex; align-items:center; justify-content:space-between; gap:12px; }
.rv-avatar{ display:inline-flex; align-items:center; justify-content:center; width:40px; height:40px; border-radius:50%; background:var(--peach-100); border:1px solid var(--rose-300); color:var(--rose-700); font-family:var(--font-serif); font-weight:600; }
.rv-avatar svg{ width:16px; height:16px; }
.rv-card p{ margin:0; font-size:1rem; line-height:1.7; color:var(--ink-900); }
.rv-author{ margin-top:auto; padding-top:12px; border-top:1px dashed var(--rose-300); display:flex; flex-direction:column; gap:1px; }
.rv-author strong{ font-family:var(--font-serif); font-size:.94rem; color:var(--rose-700); }
.rv-author span{ font-size:.76rem; color:var(--ink-500); }

/* closing invitation */
.rv-cta{
  position:relative; overflow:hidden; margin-top:56px; padding:44px 48px 48px;
  display:flex; align-items:center; justify-content:space-between; gap:32px; flex-wrap:wrap;
  background:
    radial-gradient(520px 220px at 0% 0%, var(--peach-100), transparent 70%),
    var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.rv-cta-copy{ max-width:52ch; }
.rv .rv-cta h2{ font-size:clamp(1.6rem, 2.8vw, 2.2rem); margin:0 0 8px; }
.rv-cta p{ margin:0; color:var(--ink-700); line-height:1.7; }
.rv-cta-actions{ display:flex; flex-wrap:wrap; gap:14px; }

@media (max-width:1000px){
  .rv-hero-grid{ grid-template-columns:1fr; gap:32px; padding-bottom:56px; }
  .rv-score{ justify-self:start; max-width:none; }
  .rv-main{ padding:40px 0 72px; }
}
@media (max-width:560px){
  .rv-feature{ padding:38px 22px 44px; }
  .rv-cta{ padding:32px 22px 38px; }
  .rv-cta-actions .btn{ width:100%; justify-content:center; }
}


/* допълнения за истинските отзиви (снимка, отговор, филтри, празно състояние) */
.rv-filters{ display:flex; flex-wrap:wrap; gap:10px; margin:0 0 22px; }
.rv-filters .pill{ background:var(--vanilla); border:1px solid rgba(74,50,34,.2); border-radius:var(--radius-card); color:var(--ink-900); }
.rv-filters .pill:hover{ background:var(--mega-rail-active); border-color:var(--rose-700); color:var(--rose-700); }
.rv-filters .pill.selected{ background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); }
.rv-card-photo{ width:100%; aspect-ratio:4 / 3; object-fit:cover; border-radius:var(--radius-card); border:1px solid var(--rose-300); }
.rv-card-reply{ padding:12px 14px; background:var(--latte-100); border-left:2px solid var(--gold-300); border-radius:var(--radius-sm); font-size:.88rem; }
.rv-card-reply strong{ display:block; color:var(--rose-700); font-size:.82rem; margin-bottom:4px; }
.rv-card-reply p{ font-size:.9rem !important; }
.rv-verified{ display:inline-block; margin-left:6px; padding:1px 8px; font-family:var(--font-sans); font-size:.68rem; font-weight:600; color:var(--rose-dust-700); border:1px solid var(--rose-300); border-radius:999px; vertical-align:middle; }
.rv-author a{ color:var(--rose-700); }
.rv .reviews-load-more{ margin-top:26px; justify-content:center; }
.rv .reviews-empty{ grid-column:1 / -1; text-align:center; color:var(--ink-500); padding:30px 0; }


/* ===== „Рекламации и обратна връзка“ — стил от дизайна „Роза 3“, само за тази страница (.rk) (27.09.2026) ===== */
/* =====================================================================
   Ported from the live theme's roza2.css (loads last, authoritative on
   conflicts) for the Обекти / Галерия / Рекламации / Контакти refresh —
   values below are the FINAL effective cascade (base rule + every later
   correction merged), checked across the whole file, not just the first
   match of each class.
   ===================================================================== */

/* Shared page header + breadcrumbs (page-hero is used by several other
   pages too — cart/order/careers/wishlist/events/catalogs/category/
   reservation — this only refines colors/spacing to match the live site,
   no structural change, so it's safe to update at the shared selector). */
.rk .page-hero{ padding:28px 0 14px; background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%); border-top:1px solid rgba(74,50,34,.07); }
.rk .page-hero h1{ font-family:var(--font-serif); font-weight:700; color:var(--rose-900); font-size:clamp(2.1rem,4vw,3rem); line-height:1.1; letter-spacing:.005em; margin:0 0 8px; }
.rk .page-hero p{ max-width:640px; margin:0; }
.rk .page-hero .breadcrumbs{ display:flex; align-items:center; flex-wrap:wrap; font-size:.95rem; color:var(--ink-500); margin-bottom:8px; }
.rk .page-hero .breadcrumbs a{ color:var(--ink-500); transition:var(--transition-ui); }
.rk .page-hero .breadcrumbs a:hover{ color:var(--rose-700); }
.rk .page-hero .breadcrumbs > span:not(.crumb-current){ font-size:0; margin:0 12px; display:inline-flex; align-items:center; }
.rk .page-hero .breadcrumbs > span:not(.crumb-current)::before{
  content:""; display:block; width:7px; height:7px; box-sizing:border-box;
  border-top:1.6px solid var(--rose-dust-500); border-right:1.6px solid var(--rose-dust-500); transform:rotate(45deg);
}
.rk .page-hero .breadcrumbs .crumb-current{ margin:0; color:var(--rose-700); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }


/* "framed surfaces" family — info-card/store-card get the hairline + gold
   top edge + thin tri-colour bottom bar shared with product-card (already
   ported). Kept additive: existing background/padding/margin/hover-lift
   box-shadow behavior on these two classes is untouched. */
.rk .info-card, .rk .store-card{
  position:relative; overflow:hidden;
  background:var(--vanilla); border:1px solid var(--mega-line); border-top-color:var(--gold-300);
}
.rk .info-card::after, .rk .store-card::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3;
  background:var(--mega-bar);
}
.rk .store-card:hover{ border-color:var(--mega-line); border-top-color:var(--gold-300); }
.rk .info-card .link-arrow{ display:inline-flex; margin-top:10px; }


/* Contact / reklamatsii form panel — final live treatment is a milk-cocoa
   ("clay") panel, not the plain vanilla framed-surface used by info-card. */
.rk .contact-form{
  position:relative; overflow:hidden; background:var(--clay-100);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300);
}
.rk .contact-form::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.rk .contact-form label{ color:var(--clay-700); }
.rk .contact-form .input, .rk .contact-form .textarea, .rk .contact-form select.input{
  background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card);
}
.rk .contact-form .input:focus, .rk .contact-form .textarea:focus{ outline:none; border-color:var(--clay-700); }


/* Confirmation banner after a form is sent: clay panel, burgundy left edge. */
.rk .success-box{
  background:var(--clay-100); border:1px solid var(--clay-300); border-left:3px solid var(--rose-700);
  color:var(--rose-900); border-radius:var(--radius-card);
}


/* Contacts: the left info-card column and the form panel end on the same line. */
.rk .form-layout{ align-items:stretch; }
.rk .form-layout > div:first-child{ display:flex; flex-direction:column; }
.rk .form-layout > div:first-child .info-card:last-child{ flex:1; margin-bottom:0; }

/* пилюли за „Предпочитан начин за контакт“ и полето за снимки — в стила на анкетата */
.rk .pill-group{ display:flex; flex-wrap:wrap; gap:10px; }
.rk .pill-group .pill{ background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card); color:var(--ink-900); }
.rk .pill-group .pill:hover{ background:var(--mega-rail-active); border-color:var(--rose-700); color:var(--rose-700); }
.rk .pill-group .pill.selected{ background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); }
.rk .file-drop{ background:var(--vanilla); border:1px dashed var(--clay-300); border-radius:var(--radius-card); color:var(--clay-700); }
.rk .file-drop:hover, .rk .file-drop.dragover{ background:var(--mega-rail-bg); border-color:var(--clay-700); }
.rk .file-drop svg{ color:var(--clay-700); }
.rk .contact-form .btn-primary{ background:transparent; color:var(--rose-700); border:1px solid var(--rose-700); }
.rk .contact-form .btn-primary:hover{ background:var(--rose-700); color:var(--vanilla); }
.rk .info-card, .rk .contact-form{ box-shadow:none; }
@media (max-width:560px){
  .rk .page-hero h1{ font-size:1.9rem; }
}


/* ===== „Галерия“ — стил от дизайна „Роза 3“, само за тази страница (.gallery-page) (28.09.2026) ===== */
.gallery-page .page-hero{ padding:28px 0 14px; background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%); border-top:1px solid rgba(74,50,34,.07); }
.gallery-page .page-hero h1{ font-family:var(--font-serif); font-weight:700; color:var(--rose-900); font-size:clamp(2.1rem,4vw,3rem); line-height:1.1; letter-spacing:.005em; margin:0 0 8px; }
.gallery-page .page-hero p{ max-width:640px; margin:0; }
.gallery-page .page-hero .breadcrumbs{ display:flex; align-items:center; flex-wrap:wrap; font-size:.95rem; color:var(--ink-500); margin-bottom:8px; }
.gallery-page .page-hero .breadcrumbs a{ color:var(--ink-500); transition:var(--transition-ui); }
.gallery-page .page-hero .breadcrumbs a:hover{ color:var(--rose-700); }
.gallery-page .page-hero .breadcrumbs > span:not(.crumb-current){ font-size:0; margin:0 12px; display:inline-flex; align-items:center; }
.gallery-page .page-hero .breadcrumbs > span:not(.crumb-current)::before{
  content:""; display:block; width:7px; height:7px; box-sizing:border-box;
  border-top:1.6px solid var(--rose-dust-500); border-right:1.6px solid var(--rose-dust-500); transform:rotate(45deg);
}
.gallery-page .page-hero .breadcrumbs .crumb-current{ margin:0; color:var(--rose-700); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.gallery-page .gallery-cta-band{
  position:relative; overflow:hidden; background:var(--clay-100);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300);
}
.gallery-page .gallery-cta-band::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.gallery-page .gallery-cta-band .gallery-cta-band-text h3{ color:var(--rose-900); font-size:1.3rem; }
.gallery-page .gallery-cta-band .gallery-cta-band-text p{ color:var(--ink-700); opacity:1; font-size:.92rem; }
.gallery-page .gallery-cta-band .btn-primary{ border-color:var(--rose-700); color:var(--rose-700); }
.gallery-page .gallery-cta-band .btn-primary:hover{ background:var(--rose-700); color:var(--vanilla); }
.gallery-page .gallery-cta-band{ padding:30px 34px 34px; margin-bottom:40px; }
.gallery-page .gallery-cta-band .moment-gift-badge{ background:var(--vanilla); border-color:var(--gold-300); color:var(--clay-700); }
.gallery-page .moment-gallery-card{
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); box-shadow:none;
}
.gallery-page .moment-gallery-card:hover{ border-color:var(--mega-line); border-top-color:var(--gold-300); box-shadow:var(--shadow-sm); }
@media (max-width:560px){
  .gallery-page .gallery-cta-band{ padding:24px 20px 28px; }
  .gallery-page .gallery-cta-band .btn{ width:100%; justify-content:center; }
  .gallery-page .page-hero h1{ font-size:1.9rem; }
}


/* ===== „Роза в действие“ (Събития, Публикация, Кариери) — стил от дизайна „Роза 3“, само за тези страници (.ra) (28.09.2026) ===== */
.ra .page-hero{ padding:28px 0 14px; background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%); border-top:1px solid rgba(74,50,34,.07); }
.ra .page-hero h1{ font-family:var(--font-serif); font-weight:700; color:var(--rose-900); font-size:clamp(2.1rem,4vw,3rem); line-height:1.1; letter-spacing:.005em; margin:0 0 8px; }
.ra .page-hero p{ max-width:640px; margin:0; }
.ra .page-hero .breadcrumbs{ display:flex; align-items:center; flex-wrap:wrap; font-size:.95rem; color:var(--ink-500); margin-bottom:8px; }
.ra .page-hero .breadcrumbs a{ color:var(--ink-500); transition:var(--transition-ui); }
.ra .page-hero .breadcrumbs a:hover{ color:var(--rose-700); }
.ra .page-hero .breadcrumbs > span:not(.crumb-current){ font-size:0; margin:0 12px; display:inline-flex; align-items:center; }
.ra .page-hero .breadcrumbs > span:not(.crumb-current)::before{
  content:""; display:block; width:7px; height:7px; box-sizing:border-box;
  border-top:1.6px solid var(--rose-dust-500); border-right:1.6px solid var(--rose-dust-500); transform:rotate(45deg);
}
.ra .page-hero .breadcrumbs .crumb-current{ margin:0; color:var(--rose-700); text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.ra .subcat-chip{ flex:none; display:flex; align-items:center; gap:10px; background:var(--vanilla); border:1px solid var(--mega-line); border-left:2px solid transparent; border-radius:var(--radius-control); padding:8px 18px 8px 8px; font-size:.82rem; font-weight:600; color:var(--ink-700); transition:var(--transition-ui); }
.ra .subcat-chip .dot{ width:34px; height:34px; border-radius:50%; overflow:hidden; flex:none; }
.ra .subcat-chip:hover, .ra .subcat-chip.active{ background:var(--mega-rail-active); color:var(--rose-700); border-color:var(--mega-line); border-left-color:var(--rose-700); }
.ra .empty-note{
  position:relative; background:var(--vanilla); border:1px solid var(--mega-line); border-top-color:var(--gold-300);
  border-radius:var(--radius-md); padding:40px; text-align:center; color:var(--ink-500); overflow:hidden;
}
.ra .empty-note::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.ra .form-group input, .ra .form-group select, .ra .form-group textarea{
  background:var(--vanilla); border:1px solid rgba(74,50,34,.35); border-radius:var(--radius-control);
  transition:var(--transition-ui);
}
.ra .form-group input:focus, .ra .form-group select:focus, .ra .form-group textarea:focus{
  outline:none; border-color:var(--rose-700); box-shadow:0 0 0 3px var(--mega-rail-active);
}
.ra .value-card{
  position:relative; background:var(--vanilla-deep); padding:28px 22px; border-radius:var(--radius-md);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); overflow:hidden; min-width:0; overflow-wrap:break-word;
}
.ra .value-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.ra .news-card{
  position:relative; background:var(--vanilla); border:1px solid var(--mega-line); border-top-color:var(--gold-300);
  border-radius:var(--radius-card); overflow:hidden; transition:var(--transition-ui);
}
.ra .news-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.ra .news-card:hover{ border-color:var(--mega-line); border-top-color:var(--gold-300); }
.ra .info-card::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3;
  background:var(--mega-bar);
}
.ra .info-card .link-arrow{ display:inline-flex; margin-top:10px; }
.ra .contact-form::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.ra .contact-form label{ color:var(--clay-700); }
.ra .contact-form .input, .ra .contact-form .textarea, .ra .contact-form select.input{
  background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card);
}
.ra .contact-form .input:focus, .ra .contact-form .textarea:focus{ outline:none; border-color:var(--clay-700); }
.ra .success-box{
  background:var(--clay-100); border:1px solid var(--clay-300); border-left:3px solid var(--rose-700);
  color:var(--rose-900); border-radius:var(--radius-card);
}
.ra .form-layout{ align-items:stretch; }
.ra .form-layout > div:first-child{ display:flex; flex-direction:column; }
.ra .form-layout > div:first-child .info-card:last-child{ flex:1; margin-bottom:0; }
.ra .news-card, .ra .value-card, .ra .info-card, .ra .contact-form, .ra .empty-note{ box-shadow:none; }
.ra .news-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.ra .contact-form .btn-primary{ background:transparent; color:var(--rose-700); border:1px solid var(--rose-700); }
.ra .contact-form .btn-primary:hover{ background:var(--rose-700); color:var(--vanilla); }
.ra .contact-form .file-drop{ background:var(--vanilla); border:1px dashed var(--clay-300); color:var(--clay-700); }
.ra .contact-form .file-drop:hover{ background:var(--mega-rail-bg); border-color:var(--clay-700); }
@media (max-width:560px){ .ra .page-hero h1{ font-size:1.9rem; } }

/* ===== „Обекти“ — стил от дизайна „Роза 3“, само за тази страница (.lc) (28.09.2026) ===== */
.lc .locations-hero{
  padding:28px 0 56px; border-top:1px solid rgba(74,50,34,.07);
  background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%);
}
.lc .locations-hero-grid{ align-items:center; }
.lc .locations-hero-copy .breadcrumbs{ display:flex; align-items:center; flex-wrap:wrap; font-size:.95rem; color:var(--ink-500); margin-bottom:22px; }
.lc .locations-hero-copy .breadcrumbs a{ color:var(--ink-500); }
.lc .locations-hero-copy .breadcrumbs a:hover{ color:var(--rose-700); }
.lc .locations-hero-copy .breadcrumbs > span{ font-size:0; margin:0 12px; display:inline-flex; align-items:center; }
.lc .locations-hero-copy .breadcrumbs > span::before{
  content:""; display:block; width:7px; height:7px; box-sizing:border-box;
  border-top:1.6px solid var(--rose-dust-500); border-right:1.6px solid var(--rose-dust-500); transform:rotate(45deg);
}
.lc .locations-hero-copy .eyebrow{ color:var(--rose-dust-700); }
.lc .locations-hero-copy h1{ font-family:var(--font-serif); font-weight:700; color:var(--rose-900); font-size:clamp(2.1rem,4vw,3rem); line-height:1.1; margin:10px 0 14px; }
.lc .locations-hero-copy p{ font-size:1.05rem; line-height:1.7; color:var(--ink-700); }
.lc .locations-hero-actions{ margin-top:24px; }
.lc .locations-hero-photo{ border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card); }

/* групите обекти */
.lc #store-groups{ padding-top:24px; }
.lc .lc-group-head{ margin-bottom:22px; }
.lc .lc-group-head h2{ font-size:1.35rem; color:var(--rose-700); }
.lc .lc-group{ margin-bottom:48px; }
.lc .lc-group:last-child{ margin-bottom:0; }

/* карти на обектите: тънка рамка, златна горна линия, трицветна лента */
.lc .store-card{
  position:relative; overflow:hidden; background:var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); box-shadow:none;
}
.lc .store-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.lc .store-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-sm); border-color:var(--mega-line); border-top-color:var(--gold-300); }
.lc .store-media{ display:block; }
.lc .store-body h3 a{ color:inherit; }
.lc .store-body h3 a:hover{ color:var(--rose-700); }
.lc .store-body li a{ color:var(--rose-700); }
.lc .store-links{ display:flex; flex-wrap:wrap; gap:10px 22px; align-items:center; }
.lc .store-links .link-arrow{ font-size:.74rem; font-weight:600; text-transform:uppercase; letter-spacing:.06em; color:var(--ganache-700); }
.lc .store-links .link-arrow:hover{ color:var(--gold-500); }
.lc .store-links .store-nav svg{ width:13px; height:13px; }

/* „Доставка до адрес“ — рамкирана карта в същия стил */
.lc .lc-delivery{
  position:relative; overflow:hidden; max-width:820px; margin:0 auto;
  background:var(--clay-100); border:1px solid var(--mega-line); border-top-color:var(--gold-300); box-shadow:none;
}
.lc .lc-delivery::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.lc .lc-delivery h4{ font-family:var(--font-serif); font-size:1.15rem; color:var(--rose-900); }
.lc .lc-delivery .link-arrow{ display:inline-flex; margin-top:8px; }

@media (max-width:600px){
  .lc .store-grid{ grid-template-columns:1fr; }
  .lc .locations-hero{ padding-bottom:36px; }
  .lc .locations-hero-actions .btn{ flex:1 1 100%; justify-content:center; }
}



/* ===== „За бизнеса“ (B2B подстраници) — пренесено от дизайна „Роза 3“ (28.09.2026) ===== */
.bz{ --latte-50:#f8f1e6; overflow-x:clip; }
.bz h1, .bz h2, .bz h3{ line-height:1.14; }
.bz h2{ font-size:clamp(1.9rem, 3.2vw, 2.7rem); margin:6px 0 16px; }
.bz-lead{ max-width:52ch; margin:0 0 8px; font-size:1.06rem; line-height:1.78; color:var(--ink-700); }
.bz-head{ max-width:660px; margin:0 auto 46px; text-align:center; }
.bz-head .eyebrow{ justify-content:center; }
.bz-head .eyebrow::before{ display:none; }

.bz-photo{
  position:relative; overflow:hidden; background:var(--mega-rail-bg);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.bz-photo img{ display:block; width:100%; height:100%; object-fit:cover; transition:transform .9s ease; }
.bz-photo:hover img{ transform:scale(1.03); }

/* hero */
.bz-hero{ background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%); padding:26px 0 0; text-align:left; }
.bz-hero .breadcrumbs{ margin-bottom:0; }
.bz-hero .eyebrow{ justify-content:flex-start; }
.bz-hero-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:60px; align-items:center; padding:26px 0 76px; }
.bz-hero h1{ max-width:21ch; margin:12px 0 20px; font-size:clamp(2rem, 3.7vw, 3rem); line-height:1.12; }
.bz-cta-row{ display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.bz-hero-media{ position:relative; isolation:isolate; }
.bz-hero-media::before{ content:""; position:absolute; inset:16px -14px -16px 14px; z-index:-1; pointer-events:none; border:1px solid var(--rose-300); border-radius:var(--radius-card); }
.bz-photo--hero{ aspect-ratio:5 / 4; }
.bz-art{ position:absolute; right:-18px; top:-30px; width:70px; height:70px; pointer-events:none; color:var(--gold-500); }
.bz-art svg{ display:block; width:100%; height:100%; stroke-width:.9; }

/* how we help — one hairline row */
.bz-help{ padding:88px 0 32px; }
.bz-help-row{ display:grid; grid-template-columns:repeat(3, 1fr); border-top:1px solid var(--gold-300); border-bottom:1px solid var(--rose-300); }
.bz-help-item{ position:relative; padding:40px 36px 42px; transition:var(--transition-ui); }
.bz-help-item + .bz-help-item::before{ content:""; position:absolute; left:0; top:20%; bottom:20%; width:1px; background:var(--rose-300); }
.bz-help-item:hover{ background:var(--peach-100); }
.bz-num{ display:block; font-family:var(--font-script); font-style:italic; font-weight:500; font-size:1.7rem; line-height:1; color:var(--accent-word); }
.bz-help-item h3{ margin:14px 0 8px; font-size:1.3rem; color:var(--rose-900); }
.bz-help-item p{ margin:0; max-width:34ch; font-size:.96rem; line-height:1.72; color:var(--ink-500); }

/* solutions (existing photo slider) */
.bz-solutions{ padding:72px 0 88px; }
.bz-solutions .section-head h2{ font-size:clamp(1.9rem, 3.2vw, 2.7rem); }

/* B2B solution cards: warmer, lighter burgundy veil; vanilla title, champagne link;
   hairline + gold top line + the mega-menu base bar (home-page .ecard stays as is). */
.bz .ecard{ border:1px solid var(--mega-line); border-top-color:var(--gold-300); }
.bz .ecard:hover{ transform:none; border-color:var(--mega-line); border-top-color:var(--gold-300); }
/* This block was stuck on the FIRST of four sequential roza2.css revisions
   ("v1" warm-burgundy veil, 22px padded body) — three more overrides later
   in the same file (near its end, combined with the generic
   `:where(body:not(.home)) .ecard*` rules) replace the veil with a deep
   chocolate fade and swap the padded/bordered info plate for a flush,
   transparent bottom band. This is the final (v4), cascade-correct state. */
.bz .ecard::after{
  background:linear-gradient(to top, rgba(44,26,19,.88) 0%, rgba(44,26,19,.72) 24%, rgba(44,26,19,.34) 46%, rgba(44,26,19,.08) 62%, rgba(44,26,19,0) 74%);
}
.bz .ecard::before{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; z-index:3; pointer-events:none; background:var(--mega-bar); }
.bz .ecard-body{
  left:0; right:0; bottom:3px; height:96px; padding:14px 22px 16px;
  display:flex; flex-direction:column; justify-content:space-between;
  background:none; border:none; border-radius:0;
}
.bz .ecard-body p{ display:none; }
.bz .ecard-body h3{ color:var(--vanilla); font-size:1.15rem; font-weight:600; letter-spacing:.005em; line-height:1.22; margin:0; }
.bz .ecard-cta{
  color:var(--accent-word-on-dark); margin-top:auto; align-self:stretch; padding-top:9px;
  border-top:1px solid rgba(230,201,143,.5); font-size:.72rem; letter-spacing:.12em; font-weight:700;
}

/* concept panel on light latte */
.bz-panel{ background:var(--latte-50); border-top:1px solid var(--gold-300); border-bottom:1px solid var(--mega-line); padding:92px 0; }
.bz-panel-grid{ display:grid; grid-template-columns:1.05fr .95fr; gap:72px; align-items:center; }
.bz-panel-grid.is-solo{ grid-template-columns:1fr; max-width:760px; margin:0 auto; text-align:center; }
.bz-panel-grid.is-solo .eyebrow{ justify-content:center; }
.bz-panel-grid.is-solo .bz-lead{ margin-left:auto; margin-right:auto; }
.bz-panel-copy .btn{ margin-top:26px; }
.bz-ticks{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:1fr 1fr; gap:0 28px; }
.bz-ticks li{ display:flex; align-items:center; gap:12px; padding:15px 0; border-bottom:1px solid var(--rose-300); font-size:.95rem; font-weight:600; color:var(--ink-900); }
.bz-ticks li:nth-child(-n+2){ border-top:1px solid var(--rose-300); }
.bz-ticks i{ display:inline-flex; align-items:center; justify-content:center; flex:none; width:26px; height:26px; border-radius:50%; background:var(--mint-100); border:1px solid var(--mint-300); color:#5f8f7c; }
.bz-ticks i svg{ width:13px; height:13px; stroke-width:2; }

/* why Roza — small line-art blocks, no frames */
.bz-why{ padding:96px 0 40px; }
.bz-why-grid{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:40px; }
.bz-why-item{ text-align:center; }
.bz-why-ic{ display:inline-flex; align-items:center; justify-content:center; width:88px; height:88px; border-radius:50%; background:var(--peach-100); color:var(--rose-700); transition:var(--transition-ui); }
.bz-why-ic svg{ width:36px; height:36px; stroke-width:1.05; }
.bz-why-item:hover .bz-why-ic{ background:var(--mega-rail-active); }
.bz-why-item h3{ margin:20px 0 8px; font-size:1.25rem; color:var(--rose-900); }
.bz-why-item h3::after{ content:""; display:block; width:28px; height:1px; margin:12px auto 0; background:var(--gold-300); }
.bz-why-item p{ max-width:26ch; margin:0 auto; font-size:.95rem; line-height:1.7; color:var(--ink-500); }

/* process — numbered steps on a hairline */
.bz-process{ padding:72px 0 96px; }
.bz-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5, 1fr); gap:0 18px; counter-reset:none; }
.bz-step{ position:relative; text-align:center; padding:0 6px; }
.bz-step + .bz-step::before{ content:""; position:absolute; top:22px; right:calc(50% + 30px); width:calc(100% - 44px); height:1px; background:linear-gradient(90deg, var(--rose-300), var(--gold-300)); }
.bz-step-n{
  position:relative; z-index:1; display:inline-flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%;
  background:var(--vanilla); border:1px solid var(--rose-700); color:var(--rose-900); font-family:var(--font-serif); font-size:1.05rem; font-weight:600;
}
.bz-step p{ margin:14px auto 0; max-width:18ch; font-size:.93rem; line-height:1.55; color:var(--ink-700); }

/* closing band */
.bz-cta{ padding:0 0 88px; }
.bz-cta-inner{
  text-align:center; padding:60px 40px 64px; border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
  background:radial-gradient(560px 220px at 0% 0%, var(--peach-200), transparent 70%), var(--peach-100);
}
.bz-cta-inner h2{ max-width:26ch; margin:0 auto 24px; font-size:clamp(1.6rem, 2.8vw, 2.3rem); line-height:1.25; }

/* inquiry */
.bz-inquiry{ padding:0 0 110px; }
.bz-inquiry-grid{ display:grid; grid-template-columns:.8fr 1.2fr; gap:64px; align-items:start; }
.bz-contact{ list-style:none; margin:24px 0 0; padding:0; }
.bz-contact li{ display:flex; align-items:center; gap:12px; padding:12px 0; border-top:1px solid var(--rose-300); font-size:.95rem; color:var(--ink-700); }
.bz-contact li:last-child{ border-bottom:1px solid var(--rose-300); }
.bz-contact svg{ width:18px; height:18px; flex:none; color:var(--rose-dust-700); }
.bz-contact a{ color:var(--rose-700); font-weight:600; }
.bz-contact a:hover{ color:var(--rose-900); text-decoration:underline; text-underline-offset:4px; }
/* Final live state (PALETTE v3 block, near end of roza2.css — the same
   revision that turns .contact-form into a clay panel below): the B2B
   inquiry form panel was stuck on the earlier latte-100/rose-dust-700
   "v1" colours; the live theme repaints it in the milk-cocoa "clay"
   palette shared with .contact-form (background, label colour and the
   input border-color all change; the focus state is new). */
.bz-form{
  position:relative; overflow:hidden; padding:40px 44px 46px; background:var(--clay-100);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.bz-form::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.bz-form .input, .bz-form .textarea{ background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card); }
.bz-form label{ color:var(--clay-700); }
.bz-form .input:focus, .bz-form .textarea:focus{ outline:none; border-color:var(--clay-700); }

@media (max-width:1000px){
  .bz-hero-grid, .bz-panel-grid, .bz-inquiry-grid{ grid-template-columns:1fr; gap:44px; }
  .bz-hero-grid{ padding-bottom:64px; }
  .bz-hero-media{ margin-right:14px; }
  .bz-help{ padding-top:64px; }
  .bz-help-row{ grid-template-columns:1fr; }
  .bz-help-item + .bz-help-item{ border-top:1px solid var(--rose-300); }
  .bz-help-item + .bz-help-item::before{ display:none; }
  .bz-panel{ padding:68px 0; }
  .bz-why{ padding-top:72px; }
  .bz-steps{ grid-template-columns:1fr; gap:26px; }
  .bz-step{ display:flex; align-items:center; gap:18px; text-align:left; padding:0; }
  .bz-step p{ margin:0; max-width:none; }
  .bz-step + .bz-step::before{ top:auto; bottom:calc(100% + 2px); right:auto; left:21px; width:1px; height:26px; background:linear-gradient(var(--gold-300), var(--rose-300)); }
  .bz-form{ padding:32px 24px 38px; }
}
@media (max-width:560px){
  .bz-ticks{ grid-template-columns:1fr; }
  .bz-ticks li:nth-child(2){ border-top:0; }
  .bz-cta-inner{ padding:44px 22px 48px; }
  .bz-cta-row .btn, .bz-cta-inner .btn{ width:100%; justify-content:center; }
}

/* истинската B2B форма вътре в панела от дизайна */
.bz .bz-form .contact-form, .bz #b2b-inquiry-mount > form{ background:transparent; border:0; box-shadow:none; padding:0; }

/* ===== „За бизнеса“ (основна страница b2b.html) — форма и карти от дизайна „Роза 3“, само тук (.bzm) (28.09.2026) ===== */
.bzm .info-card{
  position:relative; overflow:hidden; background:var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); box-shadow:none;
}
.bzm .info-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.bzm .contact-form{
  position:relative; overflow:hidden; background:var(--clay-100);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); box-shadow:none;
}
.bzm .contact-form::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.bzm .contact-form label{ color:var(--clay-700); }
.bzm .contact-form .input, .bzm .contact-form .textarea, .bzm .contact-form select.input{
  background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card);
}
.bzm .contact-form .input:focus, .bzm .contact-form .textarea:focus{ outline:none; border-color:var(--clay-700); }
.bzm .contact-form .pill-group .pill{ background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card); color:var(--ink-900); }
.bzm .contact-form .pill-group .pill:hover{ background:var(--mega-rail-active); border-color:var(--rose-700); color:var(--rose-700); }
.bzm .contact-form .pill-group .pill.selected{ background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); }
.bzm .contact-form .file-drop{ background:var(--vanilla); border:1px dashed var(--clay-300); color:var(--clay-700); }
.bzm .contact-form .btn-primary{ background:transparent; color:var(--rose-700); border:1px solid var(--rose-700); }
.bzm .contact-form .btn-primary:hover{ background:var(--rose-700); color:var(--vanilla); }
.bzm .success-box{ background:var(--clay-100); border:1px solid var(--clay-300); border-left:3px solid var(--rose-700); color:var(--rose-900); border-radius:var(--radius-card); }
.bzm .form-layout{ align-items:stretch; }
.bzm .locations-hero-copy .breadcrumbs > span{ font-size:0; margin:0 12px; display:inline-flex; align-items:center; }
.bzm .locations-hero-copy .breadcrumbs > span::before{
  content:""; display:block; width:7px; height:7px; box-sizing:border-box;
  border-top:1.6px solid var(--rose-dust-500); border-right:1.6px solid var(--rose-dust-500); transform:rotate(45deg);
}

/* =========================================================
   Продуктови карти — рамка, снимка и цветове от дизайна „Роза 3“ (28.09.2026).
   Навсякъде в сайта. Кръгчетата (любими/количка) и „Разгледай →“ остават
   както са настроени по-горе.
   ========================================================= */
.product-card{
  position:relative; background:var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); overflow:hidden;
}
.product-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.product-card:hover{ border-color:var(--mega-line); border-top-color:var(--gold-300); box-shadow:var(--shadow-sm); transform:translateY(-3px); }
.product-card .thumb{ aspect-ratio:1 / 1; }
.product-card .thumb .photo-cover{ width:100%; height:100%; object-fit:cover; }
.product-card .info{ background:var(--rose-mauve); }
.product-card .cat-label{ color:rgba(253,250,243,.72); }
.product-card .meta{ color:rgba(253,250,243,.6); }
.product-card .price-row{ border-top:1px solid rgba(253,250,243,.22); }
.product-card .price-old{ color:rgba(253,250,243,.55); }
/* сватбени торти: ванилия → злато */
.product-card[data-accent="wedding"] .info{ background:linear-gradient(160deg, var(--vanilla) 0%, var(--gold-100) 100%); color:var(--rose-900); }
.product-card[data-accent="wedding"] .cat-label{ color:var(--gold-600); }
.product-card[data-accent="wedding"] h3 a{ color:var(--rose-900); }
.product-card[data-accent="wedding"] h3 a:hover{ color:var(--rose-700); }
.product-card[data-accent="wedding"] .meta{ color:var(--ink-500); }
.product-card[data-accent="wedding"] .price-row{ border-top:1px solid var(--gold-300); }
.product-card[data-accent="wedding"] .price{ color:var(--rose-700); }
.product-card[data-accent="wedding"] .link-arrow{ color:var(--gold-600); }
.product-card[data-accent="wedding"] .link-arrow:hover{ color:var(--rose-700); }
/* детски торти: пудра → мента */
.product-card[data-accent="kids"] .info{ background:linear-gradient(160deg, var(--rose-100) 0%, var(--mint-100) 100%); color:var(--rose-950); }
.product-card[data-accent="kids"] .cat-label{ color:rgba(58,28,34,.55); }
.product-card[data-accent="kids"] h3 a{ color:var(--rose-950); }
.product-card[data-accent="kids"] h3 a:hover{ color:var(--rose-700); }
.product-card[data-accent="kids"] .meta{ color:rgba(58,28,34,.5); }
.product-card[data-accent="kids"] .price-row{ border-top:1px solid rgba(58,28,34,.14); }
.product-card[data-accent="kids"] .price{ color:var(--rose-900); }
.product-card[data-accent="kids"] .link-arrow{ color:#4f7d6b; font-weight:600; }
.product-card[data-accent="kids"] .link-arrow:hover{ color:var(--rose-900); }

/* =========================================================
   Общ дизайн „Роза 3“ за останалите страници (.dz): количка, любими, профил,
   поръчка, резервация, кетъринг, каталози, сподели момент, отзив,
   правни страници, 404, категории и продукт (28.09.2026).
   ========================================================= */
/* горна част + пътечка със стрелкички */
.dz .page-hero{ padding:28px 0 18px; background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 72%, var(--clay-100) 100%); border-top:1px solid rgba(74,50,34,.07); }
.dz .page-hero h1{ font-family:var(--font-serif); font-weight:700; color:var(--rose-900); font-size:clamp(2.1rem,4vw,3rem); line-height:1.1; letter-spacing:.005em; margin:0 0 8px; }
.dz .page-hero p{ color:var(--ink-700); }
.dz .breadcrumbs{ display:flex; align-items:center; flex-wrap:wrap; font-size:.95rem; color:var(--ink-500); }
.dz .breadcrumbs a{ color:var(--ink-500); transition:var(--transition-ui); }
.dz .breadcrumbs a:hover{ color:var(--rose-700); }
.dz .breadcrumbs > span{ font-size:0; margin:0 12px; display:inline-flex; align-items:center; }
.dz .breadcrumbs > span::before{
  content:""; display:block; width:7px; height:7px; box-sizing:border-box;
  border-top:1.6px solid var(--rose-dust-500); border-right:1.6px solid var(--rose-dust-500); transform:rotate(45deg);
}
/* рамкирани повърхности: тънка рамка, златна горна линия, трицветна лента */
.dz .info-card, .dz .value-card, .dz .occ-card, .dz .empty-note{
  position:relative; overflow:hidden; background:var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); box-shadow:none;
}
.dz .info-card::after, .dz .value-card::after, .dz .occ-card::after, .dz .empty-note::after{
  content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar);
}
.dz .occ-card:hover, .dz .value-card:hover{ border-color:var(--mega-line); border-top-color:var(--gold-300); transform:translateY(-3px); box-shadow:var(--shadow-sm); }
.dz .info-card .link-arrow{ display:inline-flex; margin-top:10px; }
/* форми: пудрено-беж панел, полета във ванилия, пилюли и поле за файлове в същата гама */
.dz .contact-form{
  position:relative; overflow:hidden; background:var(--clay-100);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); box-shadow:none;
}
.dz .contact-form::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; z-index:3; background:var(--mega-bar); }
.dz .contact-form label{ color:var(--clay-700); }
.dz .contact-form .input, .dz .contact-form .textarea, .dz .contact-form select.input,
.dz .form-group input, .dz .form-group select, .dz .form-group textarea{
  background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card);
}
.dz .contact-form .input:focus, .dz .contact-form .textarea:focus,
.dz .form-group input:focus, .dz .form-group select:focus, .dz .form-group textarea:focus{
  outline:none; border-color:var(--clay-700); box-shadow:0 0 0 3px var(--mega-rail-active);
}
.dz .pill-group .pill{ background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card); color:var(--ink-900); }
.dz .pill-group .pill:hover{ background:var(--mega-rail-active); border-color:var(--rose-700); color:var(--rose-700); }
.dz .pill-group .pill.selected{ background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); }
.dz .file-drop{ background:var(--vanilla); border:1px dashed var(--clay-300); border-radius:var(--radius-card); color:var(--clay-700); }
.dz .file-drop:hover, .dz .file-drop.dragover{ background:var(--mega-rail-bg); border-color:var(--clay-700); }
.dz .file-drop svg{ color:var(--clay-700); }
.dz .contact-form .btn-primary{ background:transparent; color:var(--rose-700); border:1px solid var(--rose-700); }
.dz .contact-form .btn-primary:hover{ background:var(--rose-700); color:var(--vanilla); }
.dz .success-box{ background:var(--clay-100); border:1px solid var(--clay-300); border-left:3px solid var(--rose-700); color:var(--rose-900); border-radius:var(--radius-card); }
.dz .form-layout{ align-items:stretch; }
/* покана „Сподели своя момент“ — светъл панел, както в Галерия */
.dz .gallery-cta-band{ position:relative; overflow:hidden; background:var(--clay-100); border:1px solid var(--mega-line); border-top-color:var(--gold-300); }
.dz .gallery-cta-band::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.dz .gallery-cta-band .gallery-cta-band-text h3{ color:var(--rose-900); font-size:1.3rem; }
.dz .gallery-cta-band .gallery-cta-band-text p{ color:var(--ink-700); opacity:1; }
.dz .gallery-cta-band .btn-primary{ border-color:var(--rose-700); color:var(--rose-700); }
.dz .gallery-cta-band .btn-primary:hover{ background:var(--rose-700); color:var(--vanilla); }
@media (max-width:560px){ .dz .page-hero h1{ font-size:1.9rem; } }
/* по-тъмни нюанси за четимост (контраст ≥ 4,5:1) */
.product-card[data-accent="wedding"] .cat-label,
.product-card[data-accent="wedding"] .link-arrow{ color:#735a33; }
.product-card[data-accent="kids"] .link-arrow{ color:#3f6a59; }

/* Тегло към размерите на тортите */
.pill .pill-weight{ font-size:.8em; opacity:.75; font-weight:400; }

/* =========================================================
   Order wizard modal (product.html "ПОРЪЧАЙ →") — same "framed surface"
   language as the rest of the recently-updated pages (mega-line border +
   gold-300 top, clay-100 sub-panels, rose-100/rose-500 selected state
   already used by the cart's fulfilment pills) rather than a bespoke look.
   ========================================================= */
.roza-wizard-overlay{
  position:fixed; inset:0; background:rgba(45,26,23,.55); z-index:300;
  display:flex; align-items:center; justify-content:center; padding:24px;
}
.roza-wizard-overlay[hidden]{ display:none; }
.roza-wizard-modal{
  width:100%; max-width:560px; max-height:88vh; display:flex; flex-direction:column;
  background:var(--vanilla); border-radius:var(--radius-card);
  border:1px solid var(--mega-line); border-top:1px solid var(--gold-300);
  box-shadow:var(--shadow-lg); overflow:hidden;
}
.roza-wizard-head{
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  padding:16px 20px; border-bottom:var(--border-rose-soft);
}
.roza-wizard-back, .roza-wizard-close{ background:none; border:none; font-size:1.3rem; line-height:1; color:var(--ink-500); padding:2px 4px; }
.roza-wizard-back:hover, .roza-wizard-close:hover{ color:var(--rose-700); }
.roza-wizard-step-label{ font-size:.74rem; letter-spacing:.06em; color:var(--ink-500); font-weight:600; text-transform:uppercase; }
.roza-wizard-progress{ height:3px; background:var(--rose-100); }
.roza-wizard-progress-bar{ height:100%; background:var(--gold-500); transition:width .25s ease; }
.roza-wizard-body{ padding:22px 20px; overflow-y:auto; flex:1; }
.roza-wizard-title{ font-family:var(--font-serif); font-size:1.25rem; color:var(--rose-900); margin:0 0 16px; }
.roza-wizard-loading, .roza-wizard-error{ text-align:center; color:var(--ink-500); }
.roza-wizard-error{ color:var(--rose-700); }
.roza-wizard-footer{
  display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:16px 20px; border-top:1px solid var(--gold-300); background:var(--clay-100);
}
.roza-wizard-total{ display:flex; flex-direction:column; line-height:1.2; }
.roza-wizard-total-label{ font-size:.66rem; letter-spacing:.08em; color:var(--ink-500); text-transform:uppercase; }
.roza-wizard-total-value{ font-family:var(--font-serif); font-size:1.3rem; color:var(--rose-700); font-weight:700; }
.roza-wizard-continue{ min-width:160px; }
.roza-wizard-continue:disabled{ opacity:.45; cursor:not-allowed; }

.roza-wizard-cards{ display:grid; grid-template-columns:repeat(auto-fill, minmax(110px, 1fr)); gap:12px; }
.roza-wizard-cards--wide{ grid-template-columns:1fr; }
.roza-wizard-card{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center;
  padding:14px 10px; border-radius:var(--radius-control); border:var(--border-rose); background:var(--vanilla-deep);
  transition:var(--transition-ui); cursor:pointer;
}
.roza-wizard-card:hover{ border-color:var(--gold-500); }
.roza-wizard-card.selected{ border-color:var(--rose-500); background:var(--rose-100); }
.roza-wizard-card strong{ font-size:.92rem; color:var(--ink-900); }
.roza-wizard-card span{ font-size:.8rem; color:var(--rose-700); font-weight:600; }
.roza-wizard-card small{ font-size:.7rem; color:var(--ink-500); }
.roza-wizard-card--wide{ flex-direction:row; justify-content:flex-start; text-align:left; padding:16px; font-weight:600; color:var(--ink-900); }
.roza-wizard-card--slot{ padding:14px 8px; }

.roza-wizard-sublist{ margin-top:14px; display:flex; flex-direction:column; gap:8px; }
.roza-wizard-subrow{
  display:flex; align-items:center; justify-content:space-between; gap:10px;
  padding:12px 14px; border-radius:var(--radius-control); border:var(--border-rose); background:var(--vanilla-deep);
  cursor:pointer; transition:var(--transition-ui);
}
.roza-wizard-subrow.selected, .roza-wizard-subrow:has(input:checked){ border-color:var(--rose-500); background:var(--rose-100); }
.roza-wizard-subrow input{ margin-right:10px; }

.roza-wizard-field{ margin-bottom:20px; }
.roza-wizard-toggle{ display:flex; gap:10px; margin:8px 0; }
.roza-wizard-chip{
  padding:9px 18px; border-radius:var(--radius-control); border:var(--border-rose); background:var(--vanilla-deep);
  font-size:.84rem; color:var(--ink-700); transition:var(--transition-ui); cursor:pointer;
}
.roza-wizard-chip.selected{ border-color:var(--rose-500); background:var(--rose-100); color:var(--rose-900); font-weight:600; }

.roza-wizard-review-table{ width:100%; border-collapse:collapse; margin-bottom:14px; }
.roza-wizard-review-table td{ padding:6px 0; font-size:.86rem; border-bottom:1px solid var(--rose-100); }
.roza-wizard-review-table td:first-child{ color:var(--ink-500); width:45%; }
.roza-wizard-review-table td:last-child{ text-align:right; color:var(--ink-900); font-weight:600; }
.roza-wizard-review-total{ text-align:right; font-family:var(--font-serif); font-size:1.15rem; color:var(--rose-900); margin-bottom:16px; }
.roza-wizard-edit-links{ display:flex; flex-wrap:wrap; gap:8px; }
.roza-btn-mini{
  font-size:.74rem; font-weight:700; text-transform:uppercase; letter-spacing:.03em;
  color:var(--rose-700); border-bottom:1px solid var(--rose-700); padding-bottom:1px; white-space:nowrap;
  background:none; border-left:none; border-right:none; border-top:none; border-radius:0; cursor:pointer;
}
.roza-btn-mini:hover{ color:var(--gold-500); border-color:var(--gold-500); }
.roza-wizard-success{ text-align:center; padding:20px 0; }
.roza-wizard-success h2{ margin-bottom:14px; }

@media (max-width:600px){
  .roza-wizard-overlay{ padding:0; }
  .roza-wizard-modal{ max-width:none; width:100%; height:100%; max-height:none; border-radius:0; }
}

/* Поръчка стъпка по стъпка — допълнения за живия сайт */
.roza-wizard-product{ font-size:.72rem; letter-spacing:.08em; text-transform:uppercase; color:var(--gold-700, #735a33); font-weight:700; margin:0 0 4px; }
.roza-wizard-label{ display:block; font-size:.84rem; font-weight:600; color:var(--ink-700); margin:0 0 8px; }
.roza-wizard-note{ font-size:.8rem; color:var(--ink-500); margin:12px 0 0; line-height:1.5; }
.roza-wizard-error:empty{ display:none; }
.roza-wizard-error{ margin:14px 0 0; font-size:.82rem; }
.roza-wizard-date{ max-width:260px; }
.roza-wizard-card s{ color:var(--ink-500); font-weight:400; margin-right:4px; }
.roza-wizard-subrow > span{ display:flex; align-items:flex-start; gap:4px; }
.roza-wizard-subrow small{ color:var(--ink-500); }
.roza-wizard-sublist .form-group{ margin:0; }
.roza-wizard-continue.is-incomplete{ opacity:.55; }
.roza-wizard-success-actions{ display:flex; flex-wrap:wrap; gap:10px; justify-content:center; margin-top:18px; }
.roza-wizard-close, .roza-wizard-back{ min-width:40px; min-height:40px; cursor:pointer; }

.pd-portions-note{ font-size:.86rem; color:var(--ink-500); margin:-4px 0 10px; }
.pd-simple-panel{ margin:18px 0 6px; }
.pd-simple-row{ display:flex; gap:10px; align-items:stretch; }
.pd-open-wizard{ flex:1; min-height:52px; font-size:.95rem; letter-spacing:.06em; }
.pd-simple-row .fav-btn{ width:52px; height:52px; flex:none; }
.pd-simple-panel .pd-note{ margin-top:10px; }

@media (max-width:900px){
  .roza-wizard-modal{ max-width:620px; }
}
@media (max-width:600px){
  .roza-wizard-body{ padding:18px 16px; }
  .roza-wizard-head, .roza-wizard-footer{ padding:12px 16px; }
  .roza-wizard-footer{ padding-bottom:calc(12px + env(safe-area-inset-bottom)); }
  .roza-wizard-continue{ min-width:0; flex:1; }
  .roza-wizard-cards{ grid-template-columns:repeat(2, 1fr); gap:10px; }
  .roza-wizard-cards--wide{ grid-template-columns:1fr; }
  .roza-wizard-date{ max-width:none; }
  .roza-wizard-success-actions .btn{ width:100%; }
}

/* Админ → Срокове и часове */
.admin-subtitle{ font-family:var(--font-serif); font-size:1rem; color:var(--ink-900); margin:26px 0 10px; }
.admin-field-help{ font-size:.74rem; color:var(--ink-300); margin:6px 0 0; }
.admin-day-chip{ display:inline-flex; align-items:center; gap:3px; margin-right:8px; font-size:.78rem; white-space:nowrap; }
#or-dates input, #or-slots input[type="text"], #or-slots select{ width:100%; min-width:110px; }
@media (max-width:760px){
  [data-panel="order-rules"] .admin-table{ display:block; overflow-x:auto; }
  [data-panel="order-rules"] .admin-form-grid{ grid-template-columns:1fr; }
}

/* Любими без вход — прозорец „Влезте в профила си“ (стил като стъпките за поръчка) */
.fav-login-modal{ max-width:420px; text-align:center; }
.fav-login-modal p{ color:var(--ink-500); font-size:.9rem; line-height:1.55; }
.fav-login-icon{ display:flex; justify-content:center; margin-bottom:6px; color:var(--rose-700); }
.fav-login-icon svg{ width:34px; height:34px; }
@media (max-width:600px){
  .fav-login-overlay{ padding:16px; align-items:center; }
  .fav-login-overlay .fav-login-modal{ height:auto; border-radius:var(--radius-card); }
}

/* Условия за поръчка и срокове (генерирани от правилата в базата) */
.order-terms{ margin:14px 0 4px; border:1px solid var(--mega-line); border-top:1px solid var(--gold-300); border-radius:var(--radius-control); background:var(--clay-100); }
.order-terms > summary{ cursor:pointer; list-style:none; padding:12px 16px; font-size:.84rem; font-weight:700; color:var(--rose-900); display:flex; justify-content:space-between; align-items:center; gap:10px; }
.order-terms > summary::-webkit-details-marker{ display:none; }
.order-terms > summary::after{ content:"+"; font-size:1.1rem; color:var(--gold-500); line-height:1; }
.order-terms[open] > summary::after{ content:"–"; }
.order-terms-body{ padding:0 16px 14px; font-size:.82rem; color:var(--ink-700); line-height:1.55; }
.order-terms-list, .order-terms-examples{ margin:0; padding-left:18px; }
.order-terms-list li, .order-terms-examples li{ margin:4px 0; }
.order-terms-ex-title{ margin:10px 0 2px; font-weight:700; color:var(--ink-900); }
.order-terms--wizard{ margin-top:16px; }

/* =========================================================
   Количка — визия от „Роза 3“ (cart v7): ванилова карта за продуктите,
   тънки линии вместо кутии, мека „мляко с какао“ панел за обобщението,
   бордо само за заглавия, цени и основния бутон. Функциите са непроменени.
   ========================================================= */
.cart-page .section{ padding-top:34px; }
.cart-page .cart-page-layout{ grid-template-columns:minmax(0,1.35fr) minmax(0,1fr); gap:30px; align-items:start; }
.cart-page .cart-main-panel{
  position:relative; padding:24px 28px 26px; background:var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.cart-page .cart-main-panel::after,
.cart-page .cart-summary::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.cart-page .cart-panel-title{
  margin:0 0 6px; padding:0 0 12px; border-bottom:1px solid var(--gold-300);
  font-family:var(--font-serif); font-size:1.3rem; font-weight:600; color:var(--rose-900);
}
.cart-page .cart-card{ display:grid; grid-template-columns:120px minmax(0,1fr); column-gap:24px; padding:20px 0; border-bottom:1px solid var(--rose-300); }
.cart-page .cart-card:last-child{ border-bottom:none; }
.cart-page .cart-card-media{ display:block; aspect-ratio:1; overflow:hidden; border:1px solid var(--rose-300); border-radius:var(--radius-card); background:var(--vanilla-deep); }
.cart-page .cart-card-media .photo-cover{ object-fit:cover; }
.cart-page .cart-card-body{ min-width:0; }
.cart-page .cart-card-head{ display:flex; justify-content:space-between; align-items:baseline; gap:14px; }
.cart-page .cart-card-title{ margin:0; font-family:var(--font-serif); font-size:1.15rem; line-height:1.25; }
.cart-page .cart-card-title a{ color:var(--rose-900); }
.cart-page .cart-card-title a:hover{ color:var(--rose-700); }
.cart-page .cart-card-price{ flex:none; font-family:var(--font-serif); font-size:1.15rem; font-weight:600; color:var(--rose-700); }
.cart-page .cart-card-meta{ margin:12px 0 0; border-top:1px solid var(--gold-300); }
.cart-page .cart-meta-row{ display:grid; grid-template-columns:116px minmax(0,1fr); column-gap:10px; align-items:baseline; padding:9px 0; border-bottom:1px solid var(--rose-300); }
.cart-page .cart-meta-row dt{ font-size:.66rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--ink-500); }
.cart-page .cart-meta-row dd{ margin:0; min-width:0; overflow-wrap:break-word; font-size:.92rem; line-height:1.4; color:var(--ink-900); }
.cart-page .cart-card-side{ display:flex; align-items:center; flex-wrap:wrap; gap:14px 22px; margin-top:14px; }
.cart-page .cart-card-side .qty-box{ border:1px solid var(--rose-300); background:transparent; border-radius:var(--radius-card); }
.cart-page .cart-card-side .qty-box button:hover{ background:var(--peach-100); }
.cart-page .cart-card-unit{ font-size:.8rem; color:var(--ink-500); }
.cart-page .cart-card-link{ background:none; border:none; padding:0; cursor:pointer; font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--rose-700); }
.cart-page .cart-card-link:hover{ color:var(--rose-900); text-decoration:underline; text-underline-offset:4px; }
.cart-page .cart-trust-row{ display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:18px; padding:14px 4px 0; border-top:1px solid var(--rose-300); }
.cart-page .cart-trust-row span{ font-size:.8rem; font-weight:500; color:var(--ink-500); }
.cart-page .cart-trust-row span::before{ content:"✓"; margin-right:6px; color:var(--rose-dust-700); }

/* обобщение: една мека панел „мляко с какао“ */
.cart-page .cart-summary{
  position:relative; padding:22px 26px 26px; background:var(--clay-100); box-shadow:none;
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.cart-page .cart-summary h3{ font-family:var(--font-serif); font-size:1.2rem; font-weight:600; color:var(--rose-900); padding-bottom:10px; border-bottom:1px solid var(--gold-300); }
.cart-page .fulfillment-block{ border-bottom:1px solid var(--clay-200); }
.cart-page .fulfillment-block label{ color:var(--clay-700); }
.cart-page .summary-promo{ padding:12px 0 14px; border-top:1px solid var(--clay-200); }
.cart-page .summary-promo .input{ background:var(--vanilla); border:1px solid var(--clay-300); border-radius:var(--radius-card); }
.cart-page .summary-promo .btn-outline{ border-color:var(--rose-700); color:var(--rose-700); border-radius:var(--radius-card); }
.cart-page .summary-promo .btn-outline:hover{ background:var(--rose-700); color:var(--vanilla); }
.cart-page .summary-row{ margin:0; padding:9px 0; border-bottom:1px solid var(--clay-200); font-size:.92rem; color:var(--ink-700); }
.cart-page .summary-row.total{ border-bottom:none; border-top:1px solid var(--mega-line); margin-top:4px; padding:12px 0 6px; align-items:baseline; }
.cart-page .summary-row.total span:first-child{ font-family:var(--font-serif); font-size:1.15rem; font-weight:600; color:var(--rose-900); }
.cart-page .summary-row.total span:last-child{ font-family:var(--font-serif); font-size:1.75rem; font-weight:600; color:var(--rose-700); }
.cart-page .order-recap{ background:var(--vanilla); border:1px solid var(--clay-200); border-radius:var(--radius-card); }
.cart-page #checkout-btn{ min-height:54px; border-radius:var(--radius-card); letter-spacing:.1em; background:var(--rose-700); border-color:var(--rose-700); }
.cart-page #checkout-btn:hover{ background:var(--rose-900); border-color:var(--rose-900); }

/* празна количка */
.cart-page .cart-empty{
  max-width:560px; margin:10px auto 40px; padding:40px 28px 34px; text-align:center;
  background:var(--clay-100); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.cart-page .cart-empty h2{ font-family:var(--font-serif); color:var(--rose-900); font-size:1.4rem; }
.cart-page .cart-empty svg{ color:var(--clay-500); }

@media (max-width:1000px){
  .cart-page .cart-page-layout{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .cart-page .cart-main-panel{ padding:18px 16px 22px; }
  .cart-page .cart-card{ grid-template-columns:88px minmax(0,1fr); column-gap:14px; }
  .cart-page .cart-card-head{ flex-direction:column; gap:4px; }
  .cart-page .cart-meta-row{ grid-template-columns:minmax(0,1fr); row-gap:1px; }
  .cart-page .cart-summary{ padding:20px 18px 24px; }
  .cart-page .fulfillment-block .form-row{ grid-template-columns:1fr; }
}

/* Количка v2 — стъпки, получаване, препоръки, опаковка; страница „Данни и плащане“ */
.cart-steps{ list-style:none; display:flex; align-items:center; gap:12px; margin:0 0 26px; padding:0; flex-wrap:wrap; }
.cart-step{ display:inline-flex; align-items:center; gap:8px; font-size:.86rem; color:var(--ink-500); }
.cart-step-num{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; border:1px solid var(--rose-300); font-size:.8rem; font-weight:700; color:var(--ink-500); }
.cart-step.is-active{ color:var(--rose-900); font-weight:600; }
.cart-step.is-active .cart-step-num{ background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); }
.cart-step.is-done .cart-step-num{ border-color:var(--rose-700); color:var(--rose-700); }
.cart-step-sep{ flex:0 1 48px; min-width:18px; height:1px; background:var(--rose-300); }
.cart-page .required{ color:var(--rose-700); }
.cart-page .optional{ font-weight:400; color:var(--ink-500); text-transform:none; letter-spacing:0; }
.cart-page .cart-card-link{ background:none; border:none; padding:0; cursor:pointer; font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--rose-700); }
.cart-page .cart-subtitle{ margin:0 0 14px; padding-bottom:10px; border-bottom:1px solid var(--gold-300); font-family:var(--font-serif); font-size:1.15rem; font-weight:600; color:var(--rose-900); }
.cart-page .cart-fulfil{ margin-top:22px; padding-top:4px; border-bottom:none; margin-bottom:0; padding-bottom:0; }
.cart-page .cart-upsell{ margin-top:22px; padding-top:18px; border-top:1px solid var(--rose-300); }
.cart-page .cart-upsell-title{ margin:0 0 12px; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rose-700); }
.cart-page .cart-upsell-grid{ display:grid; grid-template-columns:repeat(4, minmax(0,1fr)); gap:12px; }
.cart-page .cart-upsell-link{ display:flex; align-items:center; gap:12px; padding:10px 12px; min-height:80px; background:var(--vanilla); border:1px solid var(--rose-300); border-radius:var(--radius-card); transition:var(--transition-ui); }
.cart-page .cart-upsell-link:hover{ background:var(--peach-100); }
.cart-page .cart-upsell-media{ width:56px; height:56px; flex:none; border-radius:3px; overflow:hidden; display:block; }
.cart-page .cart-upsell-media > *{ width:100%; height:100%; }
.cart-page .cart-upsell-name{ font-family:var(--font-serif); font-size:.95rem; line-height:1.25; color:var(--rose-900); }
.cart-page .cart-giftwrap{ display:flex; align-items:center; gap:10px; margin:0; padding:12px 0 14px; border-top:1px solid var(--clay-200); font-size:.9rem; font-weight:600; color:var(--rose-900); cursor:pointer; }
.cart-page .cart-giftwrap input, .cart-page .checkout-check input{ width:18px; height:18px; flex:none; accent-color:var(--rose-700); }
.cart-page .cart-giftwrap-price{ font-weight:400; color:var(--ink-500); }
.cart-page #to-checkout-btn{ min-height:54px; display:flex; align-items:center; justify-content:center; margin-top:18px; border-radius:var(--radius-card); letter-spacing:.08em; }
.cart-page .cart-summary .cart-trust-row{ margin-top:16px; }

.checkout-page .checkout-layout{ grid-template-columns:minmax(0,1.3fr) minmax(0,1fr); }
.checkout-page .checkout-details .form-row{ display:grid; grid-template-columns:1fr 1fr; gap:0 18px; }
.checkout-page .checkout-details label{ display:block; margin:0 0 7px; font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--clay-700); }
.checkout-page .checkout-details .form-group{ margin-bottom:16px; }
.checkout-page .checkout-option{ margin-top:6px; padding-top:14px; border-top:1px solid var(--rose-300); }
.cart-page .checkout-check{ display:flex; align-items:flex-start; gap:10px; margin:0 0 14px; font-size:.9rem !important; font-weight:600 !important; letter-spacing:0 !important; text-transform:none !important; color:var(--ink-700) !important; cursor:pointer; }
.checkout-page .checkout-auth{ margin-bottom:16px; }
.checkout-page .checkout-fulfil{ display:flex; flex-wrap:wrap; gap:2px 10px; align-items:baseline; padding:10px 0; border-bottom:1px solid var(--clay-200); font-size:.86rem; color:var(--ink-700); }
.checkout-page .checkout-fulfil .cart-card-link{ margin-left:auto; }
.checkout-page .checkout-items{ list-style:none; margin:0 0 6px; padding:0; }
.checkout-page .checkout-items li{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 12px; padding:10px 0; border-bottom:1px solid var(--clay-200); font-size:.88rem; color:var(--ink-900); }
.checkout-page .checkout-item-line{ min-width:0; overflow-wrap:break-word; }
.checkout-page .checkout-item-price{ font-weight:700; color:var(--rose-700); white-space:nowrap; }
.checkout-page .checkout-item-actions{ grid-column:1 / -1; display:flex; gap:16px; }
.checkout-page .checkout-payment{ margin-top:16px; padding-top:12px; border-top:1px solid var(--clay-200); }
.checkout-page .checkout-label{ margin:0 0 8px; font-size:.7rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--ink-500); }
.checkout-page .checkout-terms{ margin-top:16px; font-weight:500 !important; }
.checkout-page .checkout-terms a{ color:var(--rose-700); text-decoration:underline; }
.checkout-page .checkout-done{
  max-width:620px; margin:0 auto 40px; padding:40px 30px 34px; text-align:center; position:relative;
  background:var(--clay-100); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.checkout-page .checkout-done h2{ font-family:var(--font-serif); color:var(--rose-900); }
.checkout-page .checkout-done-note{ color:var(--ink-500); font-size:.9rem; }
.checkout-page .checkout-done-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:18px; }

@media (max-width:1000px){
  .cart-page .cart-upsell-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
  .checkout-page .checkout-layout{ grid-template-columns:1fr; }
}
@media (max-width:640px){
  .cart-steps{ gap:8px; }
  .cart-step{ font-size:.76rem; }
  .cart-step-sep{ flex-basis:14px; }
  .checkout-page .checkout-details .form-row{ grid-template-columns:1fr; }
  .cart-page .cart-upsell-link{ min-height:64px; padding:8px 10px; }
  .cart-page .cart-upsell-media{ width:44px; height:44px; }
}
/* препоръки: гъвкава мрежа, за да не се прелива текстът в по-тясна колона */
.cart-page .cart-upsell-grid{ grid-template-columns:repeat(auto-fit, minmax(170px, 1fr)); }
.cart-page .cart-upsell-name{ font-size:.9rem; min-width:0; overflow-wrap:break-word; }
.cart-page .cart-upsell-link{ min-width:0; }
.cart-page #checkout-btn, .cart-page #checkout-btn:hover{ color:var(--vanilla); }

/* Количка v3 — поле за количество без ивици, получаване като информация, подробно обобщение */
.cart-page .qty-box{ display:inline-flex; align-items:stretch; height:44px; overflow:hidden; background:var(--vanilla); }
.cart-page .qty-box button{ background:transparent; border:0; width:40px; color:var(--rose-700); font-size:1.1rem; cursor:pointer; }
.cart-page .qty-box input{ width:42px; height:100%; margin:0; padding:0; border:0; border-left:1px solid var(--rose-300); border-right:1px solid var(--rose-300); background:transparent; text-align:center; font-size:.95rem; color:var(--ink-900); box-shadow:none; }
.cart-page .cart-edit-mini{ display:inline-flex; align-items:center; gap:6px; background:none; border:0; padding:4px 0; cursor:pointer; font-size:.72rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--rose-700); }
.cart-page .cart-edit-mini:hover{ color:var(--rose-900); }
.cart-page .cart-edit-mini svg{ flex:none; }
.cart-page .cart-fulfil-info{ margin-top:24px; }
.cart-page .cart-fulfil-head{ display:flex; justify-content:space-between; align-items:center; gap:12px; border-bottom:1px solid var(--gold-300); margin-bottom:0; }
.cart-page .cart-fulfil-head .cart-subtitle{ border:0; margin:0; padding-bottom:10px; }
.cart-page .cart-fulfil-info .cart-card-meta{ border-top:0; margin-top:0; }
.cart-page .cart-fulfil-empty{ margin:12px 0; color:var(--ink-500); font-size:.9rem; }
.cart-page .summary-lines{ list-style:none; margin:0; padding:4px 0 0; }
.cart-page .summary-lines li{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2px 12px; padding:10px 0; border-bottom:1px solid var(--clay-200); }
.cart-page .summary-line-name{ font-weight:700; color:var(--ink-900); font-size:.9rem; }
.cart-page .summary-line-price{ font-weight:700; color:var(--rose-700); font-size:.9rem; white-space:nowrap; }
.cart-page .summary-line-details{ grid-column:1 / -1; font-size:.8rem; color:var(--ink-500); line-height:1.45; overflow-wrap:break-word; }
.cart-page .summary-fulfil, .checkout-page .checkout-extras{ padding:8px 0 10px; border-bottom:1px solid var(--clay-200); }
.cart-page .summary-fulfil > div, .checkout-page .checkout-extras > div{ display:grid; grid-template-columns:118px minmax(0,1fr); gap:10px; padding:4px 0; font-size:.84rem; }
.cart-page .summary-fulfil span, .checkout-page .checkout-extras span{ color:var(--ink-500); }
.cart-page .summary-fulfil strong, .checkout-page .checkout-extras strong{ font-weight:600; color:var(--ink-900); overflow-wrap:break-word; }
.checkout-page .checkout-extras .cart-card-link{ display:inline-block; margin-top:4px; }
.cart-page .summary-options{ padding:6px 0 8px; border-top:1px solid var(--clay-200); }
.cart-page .cart-option{ display:flex; align-items:center; gap:10px; padding:8px 0; font-size:.9rem; font-weight:600; color:var(--rose-900); cursor:pointer; }
.cart-page .cart-option input{ width:18px; height:18px; flex:none; accent-color:var(--rose-700); }
.cart-page .cart-option-note{ font-weight:400; color:var(--ink-500); }
.cart-page .invoice-panel{ margin:4px 0 8px; padding:14px 14px 4px; background:var(--vanilla); border:1px solid var(--clay-200); border-radius:var(--radius-card); animation:invoiceDrop .2s ease; }
.cart-page .invoice-panel label{ display:block; margin:0 0 6px; font-size:.68rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; color:var(--clay-700); }
.cart-page .invoice-panel .form-group{ margin-bottom:12px; }
@keyframes invoiceDrop{ from{ opacity:0; transform:translateY(-6px); } to{ opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce){ .cart-page .invoice-panel{ animation:none; } }
.cart-page #checkout-btn, .cart-page #checkout-btn:hover, .cart-page #to-checkout-btn{ color:var(--vanilla) !important; background:var(--rose-700); border-color:var(--rose-700); }
.cart-page #to-checkout-btn:hover{ background:var(--rose-900); border-color:var(--rose-900); }

/* Продуктова страница — сърце „Любими“ горе вдясно върху снимката */
.pd-main-wrap{ position:relative; }
.pd-main-wrap .pd-main-fav{
  top:16px; right:16px; width:44px; height:44px; padding:0; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  background:linear-gradient(145deg, rgba(246,224,230,.78), rgba(220,174,188,.55)); /* светъл rose dust */
  -webkit-backdrop-filter:blur(10px) saturate(1.6); backdrop-filter:blur(10px) saturate(1.6);
  border:1px solid rgba(255,255,255,.75); cursor:pointer;
}
.pd-main-wrap .pd-main-fav:hover{ background:linear-gradient(145deg, rgba(248,230,235,.9), rgba(220,174,188,.7)); border-color:#fff; }
.pd-main-wrap .pd-main-fav svg{ width:19px; height:19px; }
@media (max-width:640px){ .pd-main-wrap .pd-main-fav{ top:12px; right:12px; width:40px; height:40px; } }

/* =========================================================
   Екран „Поръчката е приета“ (checkout.html стъпка 3 и payment-return.html)
   ========================================================= */
.order-confirmation{ max-width:720px; margin:0 auto 50px; }
.oc-card{
  position:relative; padding:36px 36px 30px; text-align:center;
  background:var(--vanilla); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.oc-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; background:var(--mega-bar); pointer-events:none; }
.oc-icon{ display:flex; justify-content:center; color:var(--rose-700); margin-bottom:10px; animation:ocPop .45s ease-out both; }
@keyframes ocPop{ from{ transform:scale(.6); opacity:0; } to{ transform:none; opacity:1; } }
@media (prefers-reduced-motion: reduce){ .oc-icon{ animation:none; } }
.oc-eyebrow{ margin:0 0 6px; font-size:.72rem; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-700, #735a33); }
.oc-title{ margin:0 0 8px; font-family:var(--font-serif); font-size:clamp(1.6rem,3vw,2.1rem); color:var(--rose-900); }
.oc-lead{ margin:0 auto 22px; max-width:480px; color:var(--ink-700); font-size:1rem; }
.oc-next{ text-align:left; max-width:520px; margin:0 auto 24px; padding:16px 20px 16px 38px; background:var(--clay-100); border:1px solid var(--clay-200); border-radius:var(--radius-card); font-size:.9rem; line-height:1.55; color:var(--ink-700); }
.oc-next li{ margin:4px 0; }
.oc-next strong{ color:var(--rose-900); }
.oc-bank, .oc-details{ text-align:left; margin:0 auto 22px; max-width:520px; }
.oc-bank{ padding:16px 20px; border:1px solid var(--gold-300); border-radius:var(--radius-card); background:var(--vanilla-deep); }
.oc-subtitle{ margin:0 0 8px; padding-bottom:8px; border-bottom:1px solid var(--gold-300); font-family:var(--font-serif); font-size:1.1rem; font-weight:600; color:var(--rose-900); }
.oc-row{ display:grid; grid-template-columns:130px minmax(0,1fr); gap:10px; padding:6px 0; font-size:.88rem; border-bottom:1px solid var(--clay-200); }
.oc-row span{ color:var(--ink-500); }
.oc-row strong{ font-weight:600; color:var(--ink-900); overflow-wrap:break-word; }
.oc-note{ margin:8px 0 0; font-size:.82rem; color:var(--ink-500); }
.oc-items{ list-style:none; margin:0 0 6px; padding:0; }
.oc-items li{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px solid var(--clay-200); font-size:.9rem; }
.oc-items li small{ display:block; font-size:.78rem; color:var(--ink-500); margin-top:2px; }
.oc-items li strong{ color:var(--rose-700); white-space:nowrap; }
.oc-totals{ margin-top:8px; }
.oc-totals .oc-row strong{ text-align:right; }
.oc-row.oc-total{ border-bottom:0; border-top:1px solid var(--mega-line); margin-top:4px; padding-top:10px; align-items:baseline; }
.oc-row.oc-total span{ font-family:var(--font-serif); font-size:1.1rem; color:var(--rose-900); }
.oc-row.oc-total strong{ font-family:var(--font-serif); font-size:1.6rem; color:var(--rose-700); }
.oc-actions{ display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:6px; }
.oc-help{ margin:18px 0 0; font-size:.84rem; color:var(--ink-500); }
.oc-help a{ color:var(--rose-700); font-weight:600; }
@media (max-width:640px){
  .oc-card{ padding:26px 16px 24px; }
  .oc-row{ grid-template-columns:1fr; gap:1px; }
  .oc-totals .oc-row strong{ text-align:left; }
  .oc-actions .btn{ width:100%; }
}

/* =========================================================
   Вход в админа — визия „Роза 3“
   ========================================================= */
.admin-login-page{ background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 55%, var(--clay-100) 100%); min-height:100vh; }
.admin-login-page .admin-topbar{ background:var(--rose-950); }
.admin-login-page .admin-login-card{
  position:relative; max-width:400px; padding:34px 32px 34px; text-align:center;
  background:var(--vanilla); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card); box-shadow:none;
}
.admin-login-page .admin-login-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; background:var(--mega-bar); pointer-events:none; }
.admin-login-logo{ display:block; width:140px; height:auto; margin:0 auto 14px; }
.admin-login-eyebrow{ margin:0 0 4px !important; font-size:.7rem !important; font-weight:700; letter-spacing:.14em; text-transform:uppercase; color:#735a33 !important; }
.admin-login-page .admin-login-card h1{ font-family:var(--font-serif); font-size:1.7rem; color:var(--rose-900); margin:0 0 6px; }
.admin-login-page .admin-login-card p{ color:var(--ink-500); font-size:.86rem; }
.admin-login-page .admin-login-card form{ text-align:left; }
.admin-login-page .admin-login-card label{ font-size:.7rem; font-weight:700; letter-spacing:.09em; color:var(--clay-700); }
.admin-login-page .admin-login-card input{ min-height:46px; border:1px solid var(--clay-300); border-radius:var(--radius-card); background:var(--vanilla); }
.admin-login-page .admin-login-card input:focus{ outline:none; border-color:var(--rose-700); box-shadow:0 0 0 3px var(--mega-rail-active); }
.admin-login-page .admin-login-card .btn-primary{ min-height:50px; background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); border-radius:var(--radius-card); letter-spacing:.08em; }
.admin-login-page .admin-login-card .btn-primary:hover{ background:var(--rose-900); border-color:var(--rose-900); }
@media (max-width:480px){ .admin-login-page .admin-login-card{ padding:28px 18px; } }

/* =========================================================
   Киоск (таблет в обекта) — визия „Роза 3“
   ========================================================= */
.kiosk-page{ background:linear-gradient(180deg, var(--vanilla) 0%, var(--vanilla) 45%, var(--clay-100) 100%); }
.kiosk-topbar{ padding:34px 24px 14px; }
.kiosk-topbar h1.kiosk-logo{ line-height:0; }
.kiosk-topbar .kiosk-logo img{ width:190px; height:auto; }
.kiosk-topbar .kiosk-tagline{ margin-top:12px; font-family:var(--font-serif); font-style:italic; font-size:1.05rem; color:var(--rose-700); }
.kiosk-tile{ border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card); box-shadow:none; }
.kiosk-tile::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; background:var(--mega-bar); z-index:2; pointer-events:none; }
.kiosk-tile::before{ background:linear-gradient(to top, rgba(44,26,19,.88) 0%, rgba(44,26,19,.62) 34%, rgba(44,26,19,.12) 70%, rgba(44,26,19,0) 100%); }
.kiosk-tile-body h3{ font-family:var(--font-serif); font-weight:600; font-size:1.3rem; }
.kiosk-tile-body p{ padding-top:8px; border-top:1px solid rgba(230,201,143,.5); }
.kiosk-footer-note{ color:var(--ink-500); }

/* =========================================================
   Промо банер на началната (напр. Gaming Hub by Роза) — ненатрапчив,
   хоризонтален, в езика на мега-менюто: тънка рамка, златна горна линия,
   цветна ивица долу. На телефон снимката е отгоре с ограничена височина.
   ========================================================= */
.home-promos .container{ display:grid; gap:18px; }
.home-promo{
  position:relative; display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr); min-height:250px; overflow:hidden;
  background:linear-gradient(120deg, #1f1417 0%, #2b1b1f 55%, #3a1c22 100%); color:var(--vanilla);
  border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
}
.home-promo::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; background:var(--mega-bar); pointer-events:none; z-index:2; }
.home-promo-media{ grid-column:2; grid-row:1; position:relative; min-height:250px; }
.home-promo-media img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; display:block; }
.home-promo-media::before{ content:""; position:absolute; inset:0; z-index:1; background:linear-gradient(90deg, #2b1b1f 0%, rgba(43,27,31,.55) 22%, rgba(43,27,31,0) 55%); pointer-events:none; }
.home-promo-body{ grid-column:1; grid-row:1; position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:30px 34px 32px; }
.home-promo-eyebrow{ margin:0 0 8px; font-size:.7rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-300); }
.home-promo-title{ margin:0 0 10px; font-family:var(--font-serif); font-size:clamp(1.5rem,2.6vw,2rem); font-weight:600; line-height:1.15; color:var(--vanilla); }
.home-promo-text{ margin:0 0 18px; max-width:460px; font-size:.95rem; line-height:1.6; color:rgba(253,250,243,.82); }
.home-promo-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 20px; }
.home-promo .btn-primary{ background:var(--vanilla); border-color:var(--vanilla); color:var(--rose-900); }
.home-promo .btn-primary:hover{ background:var(--gold-300); border-color:var(--gold-300); color:var(--rose-950); }
.home-promo-link{ font-size:.78rem; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-300); border-bottom:1px solid rgba(221,199,156,.6); padding-bottom:2px; }
.home-promo-link:hover{ color:var(--vanilla); border-color:var(--vanilla); }
@media (max-width:820px){
  .home-promo{ grid-template-columns:1fr; min-height:0; }
  .home-promo-media{ grid-column:1; grid-row:1; min-height:0; height:210px; }
  .home-promo-media::before{ background:linear-gradient(to top, #2b1b1f 0%, rgba(43,27,31,.35) 35%, rgba(43,27,31,0) 70%); }
  .home-promo-body{ grid-row:2; padding:18px 18px 24px; }
  .home-promo-text{ font-size:.9rem; }
}
.hp-image-row{ display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.hp-image-row img{ width:160px; height:100px; object-fit:cover; border:1px solid var(--clay-300); border-radius:3px; }

/* =========================================================
   Одит за телефон/таблет (2026-09-28)
   ========================================================= */
/* Каталози: 4 → 3 → 2 колони */
@media (max-width:1080px){ .catalog-grid{ grid-template-columns:repeat(3,1fr); gap:22px; } }
@media (max-width:760px){ .catalog-grid{ grid-template-columns:repeat(2,1fr); gap:16px; } }
/* Мега менюто никога не излиза извън екрана (таблет) */
.mega-wide .mega{ max-width:calc(100vw - 32px); }
/* Продуктови карти в един ред: имената заемат еднаква височина (2 реда), за да са подравнени „порции“ и цената */
.product-card h3{ min-height:calc(1.32em * 2); }
.product-card .price-row{ gap:8px; }
.product-card .price-row .link-arrow{ white-space:nowrap; }
@media (max-width:600px){
  .product-grid{ gap:14px; }
  .product-card .info{ padding:14px 12px 15px; }
  .product-card h3{ font-size:.92rem; }
  .product-card .price{ font-size:1rem; }
}
/* Таблица „Подробности“ на продукта — на телефон етикетът не заема половината ширина */
@media (max-width:600px){
  .tab-panel .cart-table td:first-child{ width:auto !important; }
  .tab-panel .cart-table td{ padding:10px 12px; font-size:.84rem; }
}
/* Дълги думи/адреси не разтягат колоните */
.cart-card-meta dd, .summary-line-details, .store-card, .info-card{ overflow-wrap:break-word; }
img, video{ max-width:100%; }

/* =========================================================
   Заглавна лента: светло, между ванилия и нежна пудра (28.09)
   ========================================================= */
.site-header-bar{ background:var(--vanilla-blush); border-bottom:1px solid rgba(194,169,126,.25); }
@media (max-width:860px){
  .main-nav{ background:var(--vanilla-blush); }
}
/* Лявата колона на мега менюто: иконка + текст с отстояние (общото .main-nav a надделяваше) */
.main-nav .mega .mega-fam{ display:flex; align-items:center; gap:11px; padding:10px 20px; white-space:normal; }
.main-nav .mega .mega-fam svg{ flex:none; }
.main-nav .mega .mega-fam::after{ display:none; }

/* Gaming Hub банер — без градиенти (по желание на клиента) */
.home-promo{ background:#2b1b1f; }
.home-promo-media::before{ display:none; }

/* Модален прозорец „Благодарим за Вашата поръчка!“ */
.oc-modal-overlay{ position:fixed; inset:0; z-index:400; display:flex; align-items:flex-start; justify-content:center; padding:32px 16px; overflow-y:auto; background:rgba(45,26,23,.55); }
.oc-modal{ position:relative; width:100%; max-width:640px; margin:auto 0; }
.oc-modal .oc-card{ box-shadow:var(--shadow-lg); }
.oc-modal-close{ position:absolute; top:10px; right:12px; z-index:5; width:40px; height:40px; border:0; background:none; font-size:1.6rem; line-height:1; color:var(--ink-500); cursor:pointer; }
.oc-modal-close:hover, .oc-modal-close:focus-visible{ color:var(--rose-700); }
.oc-kind{ display:inline-block; margin:0 0 16px; padding:4px 12px; border-radius:20px; background:var(--clay-100); border:1px solid var(--clay-200); font-size:.78rem; font-weight:700; letter-spacing:.04em; color:var(--rose-900); }
@media (max-width:600px){ .oc-modal-overlay{ padding:12px 10px; } }
.checkout-page .checkout-hint{ margin:6px 0 0; font-size:.8rem; color:var(--ink-500); }
/* Киоск: логото центрирано над поздрава */
.kiosk-topbar > div{ text-align:center; }
.kiosk-topbar .kiosk-logo img{ display:block; margin:0 auto; }

/* Карти на колекции („Открийте по повод“): лек тъмен преход отдолу; светъл текст в три цвята (30.09) */
.collection-card-media::after,
.collection-card-scrim{
  background:linear-gradient(180deg,
    rgba(31,18,15,0) 30%, rgba(31,18,15,.12) 48%, rgba(31,18,15,.3) 64%, rgba(31,18,15,.48) 82%, rgba(31,18,15,.58) 100%);
}
.collection-card-content h3, .collection-card-body h3{ color:var(--vanilla); }
.collection-card-content p, .collection-card-body p{ color:var(--gold-300); }
.collection-card-items{ color:var(--rose-dust-300); }
.collection-card-content h3, .collection-card-content p, .collection-card-items,
.collection-card-body h3, .collection-card-body p, .collection-card-body .link-arrow, .collection-card-body .eyebrow{
  text-shadow:0 1px 10px rgba(20,10,12,.55), 0 0 2px rgba(20,10,12,.35);
}

.collection-card .collection-card-body .link-arrow, .collection-card .collection-card-body .eyebrow{ color:var(--rose-dust-300); }
/* „Добавете към празника“: четим текст на розовите карти */
.values-grid .value-card:nth-child(even) .link-arrow{ color:var(--gold-300); }
.values-grid .value-card:nth-child(even) .link-arrow:hover{ color:var(--vanilla); }

/* Продуктова галерия: стрелки отстрани на голямата снимка */
.pd-gallery-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:44px; height:44px; padding:0;
  display:flex; align-items:center; justify-content:center; border-radius:50%; cursor:pointer;
  background:rgba(253,250,243,.7); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  border:1px solid rgba(92,52,36,.45); color:var(--rose-700); transition:var(--transition-ui);
}
.pd-gallery-arrow:hover, .pd-gallery-arrow:focus-visible{ background:rgba(253,250,243,.92); border-color:rgba(92,52,36,.75); outline:none; }
.pd-gallery-arrow svg{ width:20px; height:20px; }
.pd-gallery-prev{ left:16px; }
.pd-gallery-next{ right:16px; }
@media (max-width:640px){
  .pd-gallery-arrow{ width:38px; height:38px; }
  .pd-gallery-prev{ left:10px; } .pd-gallery-next{ right:10px; }
}
/* Карти на колекции: долният ред („Разгледай колекцията“ / поводите) във ванилия */
.collection-card .collection-card-body .link-arrow, .collection-card-items{ color:var(--vanilla); }

/* =========================================================
   Филтърната лента в категориите — едно към едно като търсачката на началната (30.09):
   на цялата ширина на екрана, съдържанието подравнено с контейнера,
   същите отстъпи, бутон „Търси“ и подредба на телефон. Полетата остават.
   ========================================================= */
.filter-bar{
  margin-left:calc(50% - 50vw); margin-right:calc(50% - 50vw);
  padding:12px max(10px, calc(50vw - var(--container) / 2 + 10px));
  flex-wrap:nowrap;
}
.filter-bar .filter-dd{ border-right:1px solid rgba(253,250,243,.22); }
.filter-bar .filter-dd-label{ padding:12px 18px 0; }
.filter-bar .filter-dd-trigger{ padding:4px 18px 12px; }
.filter-bar .filter-search button{
  height:40px; margin:0 8px 0 16px; padding:0 20px;
  border:1px solid rgba(253,250,243,.72); font-size:.77rem; letter-spacing:.04em; font-weight:700;
}
.filter-bar .filter-search button:hover{ background:rgba(255,255,255,.14); border-color:var(--cream); }
@media (max-width:1100px) and (min-width:861px){
  .filter-bar{ flex-wrap:wrap; }
  .filter-bar .filter-search{ flex:1 1 100%; border-top:1px solid rgba(253,250,243,.22); }
}
@media (max-width:860px){
  .filter-bar{ flex-direction:column; flex-wrap:nowrap; align-items:stretch; padding:12px 14px; }
  .filter-bar .filter-dd{ border-right:none; border-bottom:1px solid rgba(253,250,243,.22); flex:none; }
  .filter-bar .filter-dd:nth-child(even) .filter-dd-menu{ left:0; right:auto; }
  .filter-bar .filter-search{ flex:none; min-width:0; flex-wrap:wrap; }
  .filter-bar .filter-search input{ height:44px; padding:0 18px; }
  .filter-bar .filter-search button{ width:100%; justify-content:center; margin:14px 0 0; }
}

/* =========================================================
   Карти на колекции — една и съща карта навсякъде (начало, „Торти“,
   категориите), 1:1 с картите на „Торти“ (30.09). Заглавията започват
   на една и съща височина, „Разгледай колекцията“ е на една линия.
   ========================================================= */
.collections-master-grid,
.cat-collections-grid{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:22px; }
.collections-teaser-list{ grid-auto-columns:minmax(260px, 1fr); gap:22px; }
.collection-card,
.collections-teaser-list .collection-card{
  position:relative; display:block; height:420px; overflow:hidden; scroll-snap-align:start;
  background:var(--ink-900); border:var(--border-rose); border-radius:var(--radius-card); box-shadow:var(--shadow-sm);
}
.collection-card .ecard-media{ position:absolute; inset:0; }
.collection-card-body{
  position:absolute; left:0; right:0; top:46%; bottom:0;
  display:flex; flex-direction:column; padding:0 24px 26px;
}
.collection-card-body h3{
  font-size:1.2rem; line-height:1.25; margin:0 0 10px; min-height:0;
  overflow-wrap:break-word;
}
.collection-card-body p{
  font-size:.86rem; line-height:1.6; margin:0; max-width:none;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
}
.collection-card-body .link-arrow{ margin-top:auto; padding-top:12px; }
@media (max-width:1100px){
  .collections-master-grid, .cat-collections-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:18px; }
}
@media (max-width:640px){
  .collections-master-grid, .cat-collections-grid{ grid-template-columns:1fr; gap:14px; }
  .collection-card, .collections-teaser-list .collection-card{ height:360px; }
  .collection-card-body{ top:44%; padding:0 20px 22px; }
}
/* „Торти“: простата заглавна част като „Сладки и печива“ — същото разстояние до търсачката (30.09) */


/* =========================================================
   Търсачката в категориите (Торти, Сладки и печива, листовите категории, Продукти) (30.09):
   залепена за заглавната част без бяло поле, на цялата ширина на екрана,
   със златна линия отгоре и отдолу.
   ========================================================= */
#page-hero-section{ margin-bottom:0; }
#cat-hub-section, #cat-products-section{ border-top:0; }
#cat-master-section .quick-filter-wrap{ margin-top:0; }
/* Лентите са извън .container (category.html) — полетата започват на същото място като на началната */
.cat-hub-finder{ margin:0 0 40px; padding:0; }
.filter-bar{ margin:0 0 10px; padding:12px max(10px, calc((100% - var(--container)) / 2 + 10px)); }
.quick-filter-card{ padding:12px 0; }
.quick-filter-card .finder-row{ max-width:var(--container); padding:0 10px; box-sizing:border-box; }
.finder-section,
.cat-hub-finder,
.quick-filter-card,
.filter-bar{ border-top:2px solid var(--gold-500); border-bottom:2px solid var(--gold-500); }
@media (max-width:860px){ .filter-bar{ padding:12px 14px; } .quick-filter-card .finder-row{ padding:0 14px; } }

/* Стандартни торти: всички размери с цените им на картата (30.09) — същият шрифт и цвят на цената */
.product-card .price-row:has(.price-sizes){ align-items:flex-end; }
.product-card .price-sizes{ display:flex; flex-direction:column; gap:2px; font-size:.98rem; line-height:1.35; white-space:normal; }
.product-card .price-size{ white-space:nowrap; }
.product-card .price-sizes .price-old{ margin-right:4px; }
@media (max-width:640px){
  .product-card .price-sizes{ font-size:.8rem; }
  .product-card .price-size{ white-space:normal; }
}

/* Продуктова страница: всички размери с цените им (30.09) — шрифтът и цветът на цената са същите */
.pd-price-sizes{ display:flex; flex-direction:column; gap:2px; font-size:1.45rem; line-height:1.35; }
.pd-price-size small{ font-size:.85rem; }
.pd-price-sizes .price-old{ font-size:.95rem; }
.pd-price .pd-price-hint{ display:block; margin-top:6px; font-size:.85rem; }
@media (max-width:640px){ .pd-price-sizes{ font-size:1.2rem; } }
/* Цените по размери — подравнени в колони (порции | — | цена | тегло), цените в златно (30.09) */
.pd-price-sizes{ display:grid; grid-template-columns:auto auto auto 1fr; column-gap:12px; row-gap:2px; align-items:baseline; justify-content:start; }
.pd-price-size, .product-card .price-size{ display:contents; }
.pd-price-sizes .ps-portions{ text-align:left; color:var(--rose-900); }
.pd-price-sizes .ps-amount{ text-align:right; color:var(--gold-600); }
.pd-price-sizes .ps-dash{ color:var(--gold-600); }
.pd-price-sizes .ps-weight{ font-size:.85rem; color:var(--ink-500); font-family:var(--font-sans); font-weight:400; }
.product-card .price-sizes{ display:grid; grid-template-columns:auto auto auto; column-gap:8px; row-gap:2px; align-items:baseline; justify-content:start; }
.product-card .price-sizes .ps-portions{ text-align:left; }
.product-card .price-sizes .ps-amount{ text-align:right; white-space:nowrap; }
@media (max-width:640px){ .product-card .price-sizes{ column-gap:5px; } }

/* Слайдшоу на страницата на обекта: стрелки + плъзгане (30.09), в стила на стрелките в продуктовата галерия */
.cine-has-controls{ touch-action:pan-y; -webkit-user-select:none; user-select:none; cursor:grab; }
.cine-has-controls:active{ cursor:grabbing; }
.cine-has-controls:focus-visible{ outline:2px solid var(--gold-500); outline-offset:2px; }
.cine-has-controls .cine-slide{ transition-duration:1200ms; }
.cine-arrow{
  position:absolute; top:50%; transform:translateY(-50%); z-index:3; width:44px; height:44px; padding:0;
  display:flex; align-items:center; justify-content:center; border-radius:50%; cursor:pointer;
  background:rgba(253,250,243,.7); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px);
  border:1px solid rgba(92,52,36,.45); color:var(--rose-700); transition:var(--transition-ui);
}
.cine-arrow:hover, .cine-arrow:focus-visible{ background:rgba(253,250,243,.92); border-color:rgba(92,52,36,.75); outline:none; }
.cine-arrow svg{ width:20px; height:20px; }
.cine-prev{ left:16px; }
.cine-next{ right:16px; }
@media (max-width:640px){
  .cine-arrow{ width:38px; height:38px; }
  .cine-prev{ left:10px; } .cine-next{ right:10px; }
}

/* Собствени hero снимки (админ → „Hero снимки“, 30.09): композирани за банер — запълват кадъра */
.hero-photo--own .hero-photo-fg{ object-fit:cover; }

/* „Сподели сладък момент“: цитатът на три реда на компютър (03.10) */
@media (min-width:1100px){ .moment-emotional{ max-width:880px; } }

/* Админ → „Сладки моменти“ (03.10): миниатюри на снимките; точка-известие на свита група в менюто */
.mo-photos{ display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:10px; margin-top:12px; }
.mo-photo{ display:flex; flex-direction:column; gap:6px; font-size:.82rem; }
.mo-photo img{ width:100%; aspect-ratio:1; object-fit:cover; border-radius:6px; border:1px solid rgba(92,52,36,.2); display:block; background:#f4ece6; }
.mo-photo span{ display:flex; align-items:center; gap:6px; }
.ps-nav-group-dot{ width:8px; height:8px; border-radius:50%; background:#c0392b; margin-left:auto; flex-shrink:0; }
.ps-nav-group-dot + .ps-nav-chevron{ margin-left:6px; }
/* „Сподели сладък момент“: текстът в горната част започва горе, до снимката (03.10) */
.moment-hero-grid{ align-items:start; }

/* Вход с Google в профила (03.10) */
.acct-google{ margin-top:18px; }
.acct-or{ display:flex; align-items:center; gap:12px; color:var(--ink-300); font-size:.82rem; margin-bottom:14px; }
.acct-or::before, .acct-or::after{ content:""; flex:1; height:1px; background:rgba(92,52,36,.18); }
.acct-google-btn{ display:flex; justify-content:center; min-height:44px; }

/* =========================================================
   Заглавната част на всички обикновени страници — като „Контакти“ (03.10):
   същите размери на навигацията, заглавието и описанието; градиентът е обърнат —
   отгоре светло (мляко), надолу преминава в млечно какао.
   Отделните „големи“ заглавни части (За нас, Обекти, За бизнеса, Отзиви, Вашето мнение) не се променят.
   ========================================================= */
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero){
  padding:26px 0 24px !important;
  background:linear-gradient(180deg, rgba(253,250,243,0) 0%, rgba(244,236,226,.55) 25%, #eee3d5 55%, #e6d7c3 100%);
  border-top:0; border-bottom:0;
}
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero) .breadcrumbs{ font-size:.78rem; margin-bottom:8px; }
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero) h1{
  font-size:clamp(1.5rem, 2.4vw, 1.95rem); line-height:1.15; margin:0 0 4px;
}
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero) p{ font-size:.95rem; }
@media (max-width:600px){
  main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero){ padding:20px 0 18px !important; }
}

/* =========================================================
   Карти на колекции (03.10): заглавие + цитат горе вляво върху полупрозрачно
   „стъкълце“; „Разгледай колекцията“ долу вдясно с анимация — сменя цвета
   и се подчертава като менюто, стрелката се отмества.
   ========================================================= */
.collection-card-body{
  top:0; bottom:0; padding:18px 18px 22px;
  display:flex; flex-direction:column; align-items:flex-start;
}
.collection-card-glass{
  max-width:100%; padding:14px 16px 12px; border-radius:10px;
  background:rgba(31,18,15,.26);
  -webkit-backdrop-filter:blur(8px) saturate(1.1); backdrop-filter:blur(8px) saturate(1.1);
  border:1px solid rgba(253,250,243,.22);
  box-shadow:0 6px 18px rgba(20,10,12,.12);
}
.collection-card-glass h3{ margin:0 0 6px; }
.collection-card-glass p{ margin:0; -webkit-line-clamp:3; }
.collection-card-body .link-arrow,
.collection-card .collection-card-body .link-arrow{
  margin-top:auto; align-self:flex-end; position:relative; padding:4px 0 6px;
  color:var(--vanilla); transition:color .25s ease;
}
.collection-card-body .link-arrow::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px; background:var(--gold-300);
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.collection-card:hover .collection-card-body .link-arrow,
.collection-card:focus-visible .collection-card-body .link-arrow{ color:var(--gold-300); }
.collection-card:hover .collection-card-body .link-arrow::after,
.collection-card:focus-visible .collection-card-body .link-arrow::after{ transform:scaleX(1); }
.collection-card:hover .collection-card-body .link-arrow svg{ transform:translateX(4px); }
/* по-лек тъмен преход само отдолу, за да се чете „Разгледай колекцията“ */
.collection-card-scrim{
  background:linear-gradient(180deg, rgba(31,18,15,0) 55%, rgba(31,18,15,.18) 75%, rgba(31,18,15,.5) 100%);
}
@media (max-width:640px){
  .collection-card-body{ top:0; padding:14px 14px 18px; }
}
/* „Сподели сладък момент“: снимката горе е наравно с текста до нея — същата височина (03.10) */
@media (max-width:1080px){ .moment-hero-photo{ aspect-ratio:3/2; } .moment-hero-photo-wrap{ max-width:560px; } }
@media (min-width:1081px){
  .moment-hero-grid{ align-items:stretch; }
  .moment-hero-photo-wrap{ display:flex; }
  .moment-hero-photo{ aspect-ratio:auto; flex:1; min-height:100%; }
  .moment-hero-photo img{ object-position:62% 55%; }
}

/* „Роза в действие“: етикет „Очаквайте скоро“ горе вдясно (03.10) */
.action-soon{
  position:absolute; top:14px; right:14px; z-index:3;
  padding:7px 14px; border-radius:999px;
  background:var(--gold-300); color:var(--rose-900);
  font-size:.72rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  box-shadow:0 4px 14px rgba(20,10,12,.28); border:1px solid rgba(253,250,243,.6);
}
@media (max-width:640px){ .action-soon{ top:10px; right:10px; padding:5px 11px; font-size:.66rem; } }

/* „Известете ме“ за работилници / детски ателиета / събития (03.10) */
.notify-modal{ max-width:520px; }
.notify-modal .roza-wizard-body{ text-align:left; }
.notify-status{
  display:inline-block; margin-bottom:10px; padding:5px 12px; border-radius:999px;
  background:var(--gold-300); color:var(--rose-900); font-size:.7rem; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
}
.notify-form{ margin:16px 0 4px; }
.notify-row{ display:flex; gap:8px; }
.notify-row .input{ flex:1; min-width:0; }
.notify-consent{ display:flex; gap:8px; align-items:flex-start; margin-top:10px; font-size:.8rem; color:var(--ink-500); line-height:1.45; cursor:pointer; }
.notify-consent input{ margin-top:3px; flex-shrink:0; }
.notify-msg{ margin:10px 0 0; font-size:.86rem; min-height:1em; }
.notify-msg.is-error{ color:#b3261e; }
.notify-msg.is-ok{ color:var(--rose-900); font-weight:600; }
@media (max-width:480px){ .notify-row{ flex-direction:column; } }

/* Карти на колекции (03.10, по-късно): без „стъкълце“ — четимост като картите „Роза в действие“:
   тъмен преход отгоре (под текста) и отдолу (под „Разгледай колекцията“). */
.collection-card-glass{
  padding:0; border:0; border-radius:0; background:none; box-shadow:none;
  -webkit-backdrop-filter:none; backdrop-filter:none;
}
.collection-card-scrim,
.collection-card-media::after{
  background:
    linear-gradient(180deg, rgba(31,18,15,.78) 0%, rgba(31,18,15,.5) 24%, rgba(31,18,15,0) 48%),
    linear-gradient(180deg, rgba(31,18,15,0) 62%, rgba(31,18,15,.72) 100%);
}
.collection-card-body{ padding:22px 20px 20px; }
.collection-card-glass h3{ color:var(--cream); }
.collection-card-glass p{ color:var(--gold-100); }
.collection-card-glass h3, .collection-card-glass p, .collection-card-body .link-arrow{ text-shadow:0 1px 8px rgba(20,10,12,.45); }

/* =========================================================
   Филтри-раздели (03.10): „Още от Роза“ (events.html), филтрите на
   „Отзиви от клиенти“ и „Вход / Регистрация“ в профила — в стила на
   главното меню: текст без кутийки, при посочване и за избрания —
   бордо цвят и златна линия отдолу, която се изтегля. Тънка линия
   под целия ред ги свързва като раздели.
   ========================================================= */
.subcat-strip,
.rv-filters,
#acct-tabs{
  display:flex; flex-wrap:wrap; gap:4px 26px; align-items:flex-end;
  border-bottom:1px solid rgba(92,52,36,.16); padding-bottom:0; margin-bottom:8px; overflow:visible;
}
#acct-tabs{ justify-content:center; }
.subcat-strip .subcat-chip, .ra .subcat-strip .subcat-chip,
.rv-filters .pill,
#acct-tabs .pill{
  position:relative; display:inline-flex; align-items:center;
  background:none; border:0; border-radius:0; box-shadow:none;
  padding:10px 0 12px; margin-bottom:-1px;
  font-family:var(--font-sans); font-size:.86rem; font-weight:600; letter-spacing:.01em;
  color:var(--ink-500); cursor:pointer; transition:color .25s ease;
}
.subcat-strip .subcat-chip::after,
.rv-filters .pill::after,
#acct-tabs .pill::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px; background:var(--gold-500);
  transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
.subcat-strip .subcat-chip:hover, .rv-filters .pill:hover, #acct-tabs .pill:hover,
.subcat-strip .subcat-chip:focus-visible, .rv-filters .pill:focus-visible, #acct-tabs .pill:focus-visible{ color:var(--rose-700); background:none; border-color:transparent; outline:none; }
.subcat-strip .subcat-chip:hover::after, .rv-filters .pill:hover::after, #acct-tabs .pill:hover::after,
.subcat-strip .subcat-chip:focus-visible::after, .rv-filters .pill:focus-visible::after, #acct-tabs .pill:focus-visible::after{ transform:scaleX(1); }
.subcat-strip .subcat-chip.active, .ra .subcat-strip .subcat-chip.active,
.rv-filters .pill.selected,
#acct-tabs .pill.selected{ color:var(--rose-700); background:none; border-color:transparent; }
.subcat-strip .subcat-chip.active::after, .rv-filters .pill.selected::after, #acct-tabs .pill.selected::after{ transform:scaleX(1); background:var(--rose-700); }
@media (max-width:640px){
  .subcat-strip, .rv-filters{ flex-wrap:nowrap; overflow-x:auto; -webkit-overflow-scrolling:touch; scrollbar-width:none; gap:0 22px; }
  .subcat-strip::-webkit-scrollbar, .rv-filters::-webkit-scrollbar{ display:none; }
  .subcat-strip .subcat-chip, .rv-filters .pill{ white-space:nowrap; flex:none; }
}

/* Заглавната част на обикновените страници (03.10, вариант „В“): едва доловим преход
   нежна пудра → мляко, тънка светла линия отдолу. Заглавието — сегашният заглавен шрифт
   (Playfair Display), еднакъв размер и цвят на всички страници и категории. */
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero){
  background:linear-gradient(180deg, #f6e8e4 0%, var(--vanilla) 100%);
  border-bottom:1px solid #e9d9cf;
}
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero) h1{
  font-family:var(--font-serif); font-weight:700; color:var(--rose-900); letter-spacing:.005em;
}
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero) p{ color:#6b5048; }
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero) .breadcrumbs,
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero) .breadcrumbs a{ color:#7d6c64; }
main .page-hero:not(.ab-hero):not(.locations-hero):not(.bz-hero):not(.rv-hero):not(.sv-hero) .breadcrumbs a:hover{ color:var(--rose-700); }
/* Снимки на сладкари — при изрязване в карта фокусът е горе, за да се виждат лицата (03.10) */
img[src*="sladkarka-razvalva-testo"], img[src*="sladkar-ukrasyava-shokoladova"], img[src*="glaven-dekorator"], img[src*="dekoratorka-ukrasyava"]{ object-position:50% 15%; }

/* =========================================================
   Отзиви на началната (03.10): по-малки карти в движеща се лента.
   Върви сама, спира при посочване, стрелки за ръчно превъртане,
   избледняване в краищата. Цветове от сайта: мляко, пудра, злато, бордо.
   ========================================================= */
.testimonial-marquee{
  position:relative; overflow:hidden; margin-top:22px; padding:6px 0 10px;
  -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
          mask-image:linear-gradient(90deg, transparent 0, #000 7%, #000 93%, transparent 100%);
}
.testimonial-track{ display:flex; gap:16px; width:max-content; grid-template-columns:none; }
.testimonial-marquee.is-moving .testimonial-track{ animation:roza-marquee var(--marquee-dur, 40s) linear infinite; }
.testimonial-marquee.is-moving:hover .testimonial-track,
.testimonial-marquee.is-moving:focus-within .testimonial-track{ animation-play-state:paused; }
.testimonial-marquee.is-manual .testimonial-track{ animation:none; transition:transform .6s ease; }
.testimonial-marquee.is-static{ overflow-x:auto; -webkit-mask-image:none; mask-image:none; }
@keyframes roza-marquee{ from{ transform:translateX(0); } to{ transform:translateX(-50%); } }
.testimonial-card{
  flex:none; width:300px; min-height:0; gap:10px; padding:18px 20px 16px;
  background:#fbf3ef; border:1px solid rgba(150,57,79,.14); border-radius:var(--radius-card);
  box-shadow:0 1px 0 rgba(92,52,36,.04); color:inherit; text-decoration:none;
  transition:transform .25s ease, border-color .25s ease, box-shadow .25s ease, background .25s ease;
}
.testimonial-card:hover, .testimonial-card:focus-visible{
  background:#fdf7f3; border-color:var(--gold-500); transform:translateY(-3px);
  box-shadow:0 10px 24px rgba(92,37,48,.10); outline:none;
}
.testimonial-head{ display:flex; align-items:center; justify-content:space-between; width:100%; }
.testimonial-stars{ color:var(--gold-500); letter-spacing:2px; font-size:.82rem; }
.testimonial-src{ font-size:.68rem; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:#7d6c64; }
.testimonial-card p{ font-family:var(--font-serif); font-style:italic; font-size:.98rem; line-height:1.5; color:var(--rose-900); margin:0; }
.testimonial-author{ margin-top:auto; padding-top:4px; font-size:.76rem; font-weight:600; color:#7d6c64; }
.testimonial-nav{ display:flex; justify-content:center; gap:10px; margin-top:14px; }
.testimonial-marquee.is-static + .testimonial-nav{ display:none; }
@media (max-width:640px){ .testimonial-card{ width:250px; padding:16px; } .testimonial-card p{ font-size:.92rem; } }
/* Hero: описанието на два реда (03.10) */
.hero-overlay p[data-i18n="hero_desc"]{ white-space:pre-line; max-width:520px; }

/* Колекции (03.10): ясно пояснение под поетичното име + страница на колекцията */
.collection-card-sub{
  display:block; margin:0 0 8px; font-family:var(--font-sans); font-size:.86rem; font-weight:700;
  letter-spacing:.01em; color:var(--vanilla); text-shadow:0 1px 8px rgba(20,10,12,.5);
}
.col-subtitle{ font-weight:700; color:var(--rose-700) !important; margin:2px 0 4px !important; }
.col-intro{ font-family:var(--font-serif); font-style:italic; }
.col-occasions{ grid-template-columns:repeat(auto-fill, minmax(240px, 1fr)); }
.col-empty{ text-align:center; padding:28px 18px; }
.col-empty-actions{ display:flex; gap:10px; justify-content:center; flex-wrap:wrap; margin-top:14px; }

/* =========================================================
   Банер „Торти по Ваша идея“ (03.10): неподвижен текст и бутони вляво,
   вдясно се сменя само снимката (плавно, ~6 сек.). Цялата торта в кадър
   (contain върху тъмния фон на банера). Около 420–450 px височина на
   компютър; на телефон снимката е над текста.
   ========================================================= */
.custom-slides-banner{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.1fr); align-items:stretch; padding:0; min-height:430px; }
.custom-slides-banner .personal-banner-copy{ position:relative; z-index:2; display:flex; flex-direction:column; justify-content:center; padding:44px 8px 40px 48px; }
.custom-slides-banner .personal-banner-media{ position:relative; inset:auto; width:auto; grid-column:2; grid-row:1; min-height:430px; }
.custom-slides-banner .personal-banner-copy{ grid-column:1; grid-row:1; }
.custom-slides-banner .personal-banner-media::after{
  z-index:2; background:linear-gradient(90deg, rgba(33,17,15,1) 0%, rgba(33,17,15,.55) 10%, rgba(33,17,15,0) 26%);
}
.custom-slide{ position:absolute; inset:0; margin:0; opacity:0; transition:opacity 1.4s ease; }
.custom-slide.active{ opacity:1; z-index:1; }
.custom-slide img{ width:100%; height:100%; object-fit:contain; display:block; }
.custom-slides-dots{ display:flex; gap:8px; margin-top:22px; }
.custom-slides-dots button{ width:8px; height:8px; padding:0; border-radius:50%; border:1px solid var(--gold-300); background:transparent; cursor:pointer; transition:var(--transition-ui); }
.custom-slides-dots button.active{ background:var(--gold-300); width:22px; border-radius:4px; }
@media (max-width:960px){
  .custom-slides-banner{ grid-template-columns:1fr 1fr; min-height:400px; }
  .custom-slides-banner .personal-banner-copy{ padding:34px 6px 32px 30px; }
  .custom-slides-banner .personal-banner-body{ max-width:none; }
  .custom-slides-banner .personal-banner-media{ width:auto; min-height:400px; }
}
@media (max-width:640px){
  .custom-slides-banner{ grid-template-columns:1fr; min-height:0; }
  .custom-slides-banner .personal-banner-media{ grid-column:1; grid-row:1; min-height:0; height:280px; width:auto; }
  .custom-slides-banner .personal-banner-media::after{ background:linear-gradient(180deg, rgba(33,17,15,0) 70%, rgba(33,17,15,1) 100%); }
  .custom-slides-banner .personal-banner-copy{ grid-row:2; padding:22px 22px 28px; }
}
/* „Персонализирана поръчка“ (03.10, корекция): снимката изпълва целия банер,
   по-светъл и по-плавен преход отляво под текста. */
@media (min-width:641px){
  .custom-slides-banner .personal-banner-media{ position:absolute; inset:0; grid-column:auto; grid-row:auto; width:auto; min-height:0; }
  .custom-slides-banner .personal-banner-copy{ grid-column:1; grid-row:1; }
  .custom-slide img{ object-fit:cover; }
  .custom-slides-banner .personal-banner-media::after{
    background:linear-gradient(90deg,
      rgba(33,17,15,.74) 0%, rgba(33,17,15,.62) 18%, rgba(33,17,15,.44) 34%,
      rgba(33,17,15,.24) 50%, rgba(33,17,15,.08) 64%, rgba(33,17,15,0) 76%);
  }
  .custom-slides-banner .personal-banner-body h2,
  .custom-slides-banner .personal-banner-body p,
  .custom-slides-banner .personal-banner-body .eyebrow{ text-shadow:0 1px 12px rgba(20,10,12,.55); }
}
@media (max-width:640px){
  .custom-slide img{ object-fit:cover; }
  .custom-slides-banner .personal-banner-media::after{ background:linear-gradient(180deg, rgba(33,17,15,0) 75%, rgba(33,17,15,.6) 100%); }
}
/* Карти на колекции: цитатът (златният текст) — долу, над „Разгледайте колекцията“, за да не закрива лицата (03.10) */
.collection-card-body .collection-card-quote{
  margin:auto 0 0; max-width:none; color:var(--gold-300); font-style:italic; font-size:.86rem; line-height:1.5;
  text-shadow:0 1px 8px rgba(20,10,12,.55);
}
.collection-card-body .collection-card-quote + .link-arrow,
.collection-card .collection-card-body .collection-card-quote + .link-arrow{ margin-top:8px; }
.collection-card-scrim,
.collection-card-media::after{
  background:
    linear-gradient(180deg, rgba(31,18,15,.72) 0%, rgba(31,18,15,.42) 18%, rgba(31,18,15,0) 34%),
    linear-gradient(180deg, rgba(31,18,15,0) 55%, rgba(31,18,15,.45) 75%, rgba(31,18,15,.78) 100%);
}
/* Пояснението под името на колекцията — винаги на един ред; размерът следва ширината на картата (03.10) */
.collection-card{ container-type:inline-size; }
.collection-card .collection-card-sub{
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  font-size:clamp(.64rem, 4.2cqi, .86rem); letter-spacing:0;
}
/* „Персонализирана поръчка“ (03.10, обърнат): текстът и бутоните вдясно, снимката (тортата) — вляво;
   малко по-тъмен, плавен преход отдясно под текста. */
@media (min-width:641px){
  .custom-slides-banner .personal-banner-copy{ grid-column:2; padding:44px 48px 40px 8px; }
  .custom-slides-banner .personal-banner-media::after{
    background:linear-gradient(270deg,
      rgba(33,17,15,.86) 0%, rgba(33,17,15,.76) 20%, rgba(33,17,15,.56) 36%,
      rgba(33,17,15,.32) 52%, rgba(33,17,15,.12) 66%, rgba(33,17,15,0) 78%);
  }
}
@media (min-width:641px) and (max-width:960px){
  .custom-slides-banner .personal-banner-copy{ padding:34px 30px 32px 6px; }
}
/* ВРЕМЕННО (03.10): снимките в „Персонализирана поръчка“ са огледално обърнати, за да е тортата вляво,
   докато дойдат новите снимки — тогава махнете това правило. */
.custom-slide img{ transform:scaleX(-1); }

/* =========================================================
   Място за актуални предложения (03.10): слайдшоу до 3 банера (Gaming Hub е първият).
   Височина ~340 px на компютър; снимка, текст и бутони се сменят заедно с плавно
   преливане; стрелки, точки и пауза под банера. Без градиенти (по желание за Gaming Hub).
   ========================================================= */
.promo-slider{ position:relative; }
.promo-slides{ position:relative; display:grid; }
.promo-slides > .home-promo{ grid-area:1 / 1; min-height:340px; opacity:0; visibility:hidden; transition:opacity 1s ease, visibility 0s linear 1s; }
.promo-slides > .home-promo.is-active{ opacity:1; visibility:visible; transition:opacity 1s ease, visibility 0s; z-index:1; }
.promo-slides .home-promo-media{ min-height:340px; }
.promo-slides .home-promo-body{ padding:34px 40px 36px; }
.promo-controls{ display:flex; align-items:center; justify-content:center; gap:10px; margin-top:12px; }
.promo-btn{
  width:34px; height:34px; padding:0; display:inline-flex; align-items:center; justify-content:center;
  border:1px solid rgba(92,52,36,.3); border-radius:50%; background:transparent; color:var(--rose-700); cursor:pointer; transition:var(--transition-ui);
}
.promo-btn:hover, .promo-btn:focus-visible{ border-color:var(--rose-700); background:rgba(150,57,79,.06); outline:none; }
.promo-btn svg{ width:16px; height:16px; }
.promo-dots{ display:flex; gap:8px; margin:0 6px; }
.promo-dots button{ width:8px; height:8px; padding:0; border-radius:50%; border:1px solid var(--rose-700); background:transparent; cursor:pointer; transition:var(--transition-ui); }
.promo-dots button.active{ background:var(--rose-700); width:22px; border-radius:4px; }
.promo-pause-ic{ width:10px; height:12px; border-left:3px solid currentColor; border-right:3px solid currentColor; }
.promo-slider.is-paused .promo-pause-ic{ width:0; height:0; border-style:solid; border-width:6px 0 6px 10px; border-color:transparent transparent transparent currentColor; border-right:0; margin-left:3px; }
@media (max-width:860px){
  .promo-slides > .home-promo{ min-height:0; }
  .promo-slides .home-promo-media{ min-height:0; height:220px; }
  .promo-slides .home-promo-body{ padding:20px 18px 24px; }
}

/* „Роза в действие“ (03.10): вляво голямата „Зад витрината“ и под нея двете предстоящи
   (Работилници, Детски ателиета); вдясно една под друга — Вашите моменти, Събития, Участия и отличия. */
@media (min-width:861px){
  .action-gallery{
    grid-template-columns:minmax(0, 3.5fr) minmax(0, 3.5fr) minmax(0, 5fr);
    grid-template-areas:"big big mom" "big big ev" "ws kids rec";
  }
  .action-gallery .action-card, .action-gallery .action-card:nth-child(n){ grid-column:auto; grid-row:auto; }
  .action-gallery .action-card[data-area="big"]{ grid-area:big; }
  .action-gallery .action-card[data-area="ws"]{ grid-area:ws; }
  .action-gallery .action-card[data-area="kids"]{ grid-area:kids; }
  .action-gallery .action-card[data-area="mom"]{ grid-area:mom; }
  .action-gallery .action-card[data-area="ev"]{ grid-area:ev; }
  .action-gallery .action-card[data-area="rec"]{ grid-area:rec; }
}

/* Начална страница (03.10): по-наситено злато за акцентната дума върху светъл фон (контраст ≈ 4.6:1) */
.craftsmanship-copy h2 .accent-gold{ color:#8c6c3a; }
/* Златни разделителни ленти между отделните теми на началната страница */
.home-main > :is(section, div):not(.hero-full):not(.finder-section) + :is(section, div):not([hidden]){
  position:relative;
}
.home-main > :is(section, div):not(.hero-full):not(.finder-section) + :is(section, div):not([hidden])::before{
  content:""; position:absolute; top:0; left:50%; transform:translateX(-50%); z-index:3;
  width:min(var(--container), calc(100% - 32px)); height:1px;
  background:linear-gradient(90deg, rgba(194,169,126,0) 0%, var(--gold-500) 18%, var(--gold-300) 50%, var(--gold-500) 82%, rgba(194,169,126,0) 100%);
}
/* „Персонализирана поръчка“ (03.10): текстът подравнен вдясно и по-компактен */
@media (min-width:641px){
  .custom-slides-banner .personal-banner-copy{ align-items:flex-end; text-align:right; padding-right:44px; }
  .custom-slides-banner .personal-banner-body{ max-width:470px; margin-left:auto; }
  .custom-slides-banner .personal-banner-body .eyebrow{ font-size:.72rem; margin-bottom:6px; }
  .custom-slides-banner .personal-banner-body .eyebrow::before{ display:none; }
  .custom-slides-banner .personal-banner-body h2{ font-size:clamp(1.35rem, 2.1vw, 1.75rem); margin-bottom:8px; }
  .custom-slides-banner .personal-banner-body p{ font-size:.9rem; line-height:1.55; }
  .custom-slides-banner .personal-banner-actions{ justify-content:flex-end; gap:10px; margin-top:16px; }
  .custom-slides-banner .personal-banner-actions .btn{ padding:10px 18px; font-size:.78rem; }
  .custom-slides-banner .custom-slides-dots{ justify-content:flex-end; margin-top:14px; }
}

/* Заглавна част на категориите (03.10): линейни илюстрации (прозрачни) според основната категория —
   една или няколко една до друга, малко навътре от десния край. */
#page-hero-section.has-illus{ position:relative; overflow:hidden; }
#page-hero-section .hero-illus{
  position:absolute; pointer-events:none; top:14px; bottom:14px;
  right:calc(max(16px, (100% - var(--container)) / 2 + 24px) + clamp(24px, 7vw, 140px));
  display:flex; align-items:center; gap:clamp(12px, 2vw, 28px);
}
#page-hero-section .hero-illus img{ height:100%; width:auto; max-width:230px; object-fit:contain; }
#page-hero-section .hero-illus img:nth-child(2){ height:78%; }
#page-hero-section .hero-illus img:nth-child(3){ height:64%; }
#page-hero-section.has-illus .container > *{ position:relative; z-index:1; max-width:calc(100% - 340px); }
#page-hero-section.has-illus[data-illus-count="2"] .container > *{ max-width:calc(100% - 520px); }
#page-hero-section.has-illus[data-illus-count="3"] .container > *{ max-width:calc(100% - 660px); }
@media (max-width:1100px){
  #page-hero-section .hero-illus img:nth-child(n+3){ display:none; }
  #page-hero-section.has-illus[data-illus-count="3"] .container > *{ max-width:calc(100% - 520px); }
}
@media (max-width:760px){
  #page-hero-section .hero-illus{ top:auto; bottom:6px; height:80px; right:16px; opacity:.55; }
  #page-hero-section .hero-illus img:nth-child(n+2){ display:none; }
  #page-hero-section.has-illus .container > *{ max-width:none !important; }
}

/* Празна колекция — по-тесен, центриран текст */
.col-empty p{ max-width:660px; margin-left:auto; margin-right:auto; text-wrap:balance; }

/* Кетъринг (03.10): текстът в заглавната част е горе, снимката се вижда цялата (3:2) */
.catering-hero{ align-items:start; }
.catering-hero > div:first-child{ padding-top:4px; }
.catering-hero .about-media{ aspect-ratio:3/2; }
/* Пакети — „Очаквайте скоро“ в стила на ценовите карти */
.catering-soon-grid{ grid-template-columns:repeat(2, minmax(0,1fr)) !important; max-width:820px; margin:0 auto; }
.pkg-soon{ font-family:var(--font-serif); color:var(--rose-700); font-size:1.15rem; font-weight:700; margin:8px 0 16px; }
@media (max-width:700px){ .catering-soon-grid{ grid-template-columns:1fr !important; } }

/* Тъмните (четни) карти във .values-grid — целият текст светъл, за да се чете (03.10) */
.values-grid .value-card:nth-child(even),
.values-grid .value-card:nth-child(even) li,
.values-grid .value-card:nth-child(even) span,
.values-grid .value-card:nth-child(even) div{ color:var(--vanilla-deep) !important; }
.values-grid .value-card:nth-child(even) .btn-outline{ color:var(--vanilla-deep); border-color:var(--gold-300); }
.values-grid .value-card:nth-child(even) .btn-outline:hover{ background:var(--gold-300); color:var(--rose-900); }

/* „Отзиви“ — същата движеща се лента като на началната (03.10) */
.rv-marquee{ margin-bottom:48px; }

/* „За нас“ (03.10): текстът в заглавната част е вдигнат горе, на линия с горния край на снимката */
.ab-hero-grid{ align-items:start; padding-top:18px; }
.ab-hero-copy .eyebrow{ margin-top:0; }
.catering-soon-grid .value-card{ box-shadow:none; }

/* Пробата „лате“ на Контакти е премахната (08.10) — Контакти е с общата заглавна част (вариант „В“) */
/* Цитатът на „Споделете сладък момент“ — леко събран (03.10) */
.moment-emotional{ line-height:1.5; }

/* ---------- Кариери (03.10) — в стила на „За нас“ ---------- */
.cr-hero .ab-hero-grid{ align-items:start; padding-top:18px; }
.cr .ab-section + .ab-section{ border-top:1px solid var(--gold-300); }
.cr-positions{ background:var(--vanilla-deep); }
.cr-pos-grid{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; margin-top:46px; }
.cr-pos{
  position:relative; display:flex; flex-direction:column; gap:10px; min-width:0;
  background:var(--vanilla); border:1px solid var(--mega-line); border-top:2px solid var(--gold-300);
  border-radius:var(--radius-card); padding:30px 26px 26px;
}
.cr-pos-type{ align-self:flex-start; font-size:.68rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--rose-700); border:1px solid var(--rose-300); border-radius:999px; padding:5px 12px; }
.cr-pos h3{ font-family:var(--font-serif); font-size:1.3rem; color:var(--rose-900); margin:4px 0 0; }
.cr-pos-meta{ display:flex; gap:8px; align-items:flex-start; font-size:.84rem; color:var(--ink-500); margin:0; }
.cr-pos-meta svg{ width:16px; height:16px; flex:none; margin-top:2px; color:var(--rose-700); }
.cr-pos p{ font-size:.93rem; line-height:1.7; color:var(--ink-700); margin:0; }
.cr-pos .link-arrow{ margin-top:auto; padding-top:8px; }
.cr .ab-value{ text-align:center; }
@media (max-width:980px){ .cr-pos-grid{ grid-template-columns:1fr; } }
@media (max-width:760px){ .cr .ab-values-grid{ grid-template-columns:1fr 1fr; } }
@media (max-width:480px){ .cr .ab-values-grid{ grid-template-columns:1fr; } }

/* Обекти (03.10): по-малки карти — 3 в ред на компютър, 2 на таблет */
.lc .store-grid{ grid-template-columns:repeat(3, minmax(0,1fr)); gap:22px; }
@media (max-width:1100px){ .lc .store-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); } }
@media (max-width:600px){ .lc .store-grid{ grid-template-columns:1fr; } }
.lc .store-media{ aspect-ratio:3/2; }
/* Обекти — без празното поле между заглавната част и картите */
.lc #store-groups-section{ padding-top:36px; }
/* Лога вместо снимка (напр. „Шоколат“) — показват се цели, на техния фон */
img[src*="-logo-burgas"]{ object-fit:contain !important; background:#f6f0e9; padding:6% 10%; box-sizing:border-box; }

/* Страница на обект (04.10): информацията горе вляво, снимките вдясно до нея */
.location-top{ padding:26px 0 0; }
.location-top .breadcrumbs{ margin-bottom:18px; }
.location-top-grid{ display:grid; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr); gap:48px; align-items:start; }
.location-top .location-info-section{ padding:0; }
.location-top .location-info-section h1{ margin:6px 0 22px; padding-bottom:22px; border-bottom:var(--border-rose-soft); }
.location-top .location-info-facts{ flex-direction:column; gap:14px; margin:0 0 28px; }
.location-top .location-hero{ aspect-ratio:4/3; max-height:none; width:100%; }
@media (max-width:900px){
  .location-top-grid{ grid-template-columns:1fr; gap:28px; }
  .location-top .location-hero{ aspect-ratio:16/10; }
}

/* Падащо меню „Обекти“ (04.10) — по-компактно, за да не излиза под екрана */
.main-nav .mega-locations{ padding:14px 18px 10px; }
.main-nav .mega-locations .loc-group{ margin-bottom:10px; }
.main-nav .mega-locations .loc-group-label{ margin-bottom:6px; padding-bottom:5px; font-size:.66rem; }
.main-nav .mega-locations .loc-group a{ padding:4px 4px; font-size:.85rem; line-height:1.35; min-height:0; }
.main-nav .mega-locations .loc-group-label.loc-group-link{ padding:0 0 5px; }
.main-nav .loc-divider{ margin:2px 18px 6px; }
.main-nav .loc-actions{ padding:0 18px 12px; }
.main-nav .loc-action{ padding:4px 0 8px; }
.mega-locations-panel{ max-height:calc(100vh - 120px); overflow-y:auto; }

/* Телефон (04.10): илюстрацията в категориите горе вдясно, без да застъпва текста */
@media (max-width:760px){
  #page-hero-section .hero-illus{ top:12px; bottom:auto; height:64px; right:14px; opacity:.75; }
  #page-hero-section.has-illus .container > *:not(.breadcrumbs){ padding-right:76px; }
}
/* Телефон: печатът („от 1991“, „екип 60+“) остава изцяло в екрана */
@media (max-width:600px){
  .ab-seal{ left:10px; bottom:14px; width:92px; height:92px; }
  .ab-seal strong{ font-size:1.35rem; }
}
/* Страница на обект: снимката започва най-горе, навигацията (breadcrumbs) е в лявата колона */
.location-top{ padding-top:22px; }
.location-top .location-info-section .breadcrumbs{ margin:0 0 16px; }

/* ---------- За бизнеса (04.10) — в стила на „За нас“ / „Кариери“, без анимации ---------- */
.bz2-hero .ab-hero-grid{ align-items:start; padding-top:18px; padding-bottom:56px; }
.bz2 .ab-hero h1{ font-size:clamp(2.4rem, 4.6vw, 3.8rem); }
.bz2 .ab-section{ padding:64px 0; }
.bz2 .ab-section + .ab-section, .bz2 #bz2-sections > .ab-section:first-child{ border-top:1px solid var(--gold-300); }
.bz2 h2{ font-size:clamp(1.55rem, 2.6vw, 2.1rem); }
.bz2 .ab-head p{ color:var(--ink-500); margin-top:10px; }
/* бърза навигация */
.bz2-tabs{ position:sticky; top:var(--header-h, 0px); z-index:20; background:var(--vanilla); border-top:1px solid var(--gold-300); border-bottom:1px solid var(--gold-300); }
.bz2-tabs .container{ display:flex; gap:6px 28px; overflow-x:auto; scrollbar-width:none; }
.bz2-tabs .container::-webkit-scrollbar{ display:none; }
.bz2-tabs a{ flex:none; padding:14px 0 12px; font-size:.82rem; font-weight:600; letter-spacing:.04em; color:var(--ganache-700); border-bottom:2px solid transparent; white-space:nowrap; }
.bz2-tabs a:hover{ color:var(--rose-700); }
.bz2-tabs a.active{ color:var(--rose-900); border-bottom-color:var(--gold-500); }
/* карти „накратко“ */
.bz2-dir{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; color:inherit; border:1px solid var(--mega-line); border-top:2px solid var(--gold-300); border-radius:var(--radius-card); background:var(--vanilla); transition:border-color .2s ease; }
.bz2-dir:hover{ border-color:var(--gold-300); }
.bz2-dir .link-arrow{ margin-top:auto; padding-top:12px; }
/* секции по направление */
.bz2-dir-sec.is-alt{ background:var(--vanilla-deep); }
.bz2-dir-grid2{ display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:56px; align-items:center; }
.bz2-dir-sec.is-alt .ab-media{ order:2; }
.bz2-frame{ aspect-ratio:4/3; }
.bz2-dir-copy p{ color:var(--ink-700); line-height:1.75; }
.bz2-checks{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:8px 20px; margin:16px 0 18px; padding:0; list-style:none; }
.bz2-checks li{ display:flex; gap:8px; align-items:flex-start; font-size:.9rem; color:var(--ink-700); }
.bz2-checks svg{ width:15px; height:15px; flex:none; margin-top:3px; color:var(--gold-500); }
.bz2-checks a{ color:var(--rose-700); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--gold-300); }
.bz2-note{ font-size:.88rem; padding:10px 14px; border-left:2px solid var(--gold-300); background:var(--milk-cocoa-100); color:var(--milk-cocoa-700) !important; margin:0 0 6px; }
.bz2 .ab-cta{ margin-top:22px; }
/* производство и каталог */
.bz2-more-grid{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px; max-width:960px; margin:0 auto; }
.bz2-more-card{ display:flex; flex-direction:column; gap:8px; padding:30px 28px; background:var(--vanilla); border:1px solid var(--mega-line); border-top:2px solid var(--gold-300); border-radius:var(--radius-card); }
.bz2-more-card h3{ font-family:var(--font-serif); font-size:1.25rem; color:var(--rose-900); margin:8px 0 0; }
.bz2-more-card p{ font-size:.92rem; color:var(--ink-500); margin:0; }
.bz2-more-card .link-arrow{ margin-top:auto; padding-top:8px; }
.bz2-more-card .link-arrow span svg{ width:12px; height:12px; }
@media (max-width:980px){
  .bz2-dir-grid2{ grid-template-columns:1fr; gap:28px; }
  .bz2-dir-sec.is-alt .ab-media{ order:0; }
  .bz2 .ab-values-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
}
@media (max-width:600px){
  .bz2 .ab-section{ padding:44px 0; }
  .bz2-checks, .bz2-more-grid, .bz2 .ab-values-grid{ grid-template-columns:1fr; }
}
/* котвите от бързата навигация спират под хедъра и лентата */
.bz2 [id]{ scroll-margin-top:150px; }
/* Печатът остава в екрана и на таблет; на телефон обзорът е компактен (бързата навигация е горе) */
@media (max-width:1000px){ .ab-seal{ left:10px; } }
@media (max-width:600px){
  .bz2-overview .ab-values-grid{ gap:10px; }
  .bz2-dir{ flex-direction:row; text-align:left; align-items:center; gap:14px; padding:14px 16px; }
  .bz2-dir .ab-value-ic{ width:44px; height:44px; flex:none; }
  .bz2-dir .ab-value-ic svg{ width:20px; height:20px; }
  .bz2-dir h3{ margin:0; font-size:1.02rem; }
  .bz2-dir p, .bz2-dir .link-arrow{ display:none; }
}
/* Бързата навигация на „За бизнеса“ стои на място (не се движи със скрола) */
.bz2-tabs{ position:static; }

/* Бизнес запитване (04.10): по-спокойни бутони за избор — светли, тънка рамка; избраният е в „мляко с какао“ */
.pill-group[id^="b2bf"] .pill{
  background:var(--vanilla); border:1px solid var(--mega-line); color:var(--ganache-700);
  font-size:.84rem; padding:8px 15px; box-shadow:none;
}
.pill-group[id^="b2bf"] .pill:hover{ border-color:var(--gold-300); background:var(--vanilla); }
.pill-group[id^="b2bf"] .pill.selected{
  background:var(--milk-cocoa-200); border-color:var(--milk-cocoa-400); color:var(--milk-cocoa-700); font-weight:600;
}

/* Акцентните думи навсякъде в курсив — като .accent (04.10) */
.accent-gold, .accent-rose{ font-family:var(--font-script); font-style:italic; font-weight:500; letter-spacing:.012em; }
/* Вход — „Запомни ме“ */
.acct-remember{ display:flex; align-items:center; gap:9px; margin:-4px 0 16px; font-size:.86rem; color:var(--ink-700); cursor:pointer; }
.acct-remember input{ width:16px; height:16px; accent-color:var(--rose-700); margin:0; }

/* ---------- Всички форми за запитване във визията на „Контакти“ (04.10) ----------
   Поръчка, Продукт (запитване), Кариери, Резервация, Кетъринг, За бизнеса (+ подстраниците),
   „Споделете сладък момент“, Рекламации. Акцентът „мляко с какао“ е по-тъмен. */
.contact-form.contact-card .file-drop--cocoa{ background:#e4d3c2; border:1px dashed #b99a7b; color:#6e5140; font-weight:600; }
.contact-form.contact-card .file-drop--cocoa svg{ color:#6e5140; }
.contact-form.contact-card .file-drop--cocoa:hover,
.contact-form.contact-card .file-drop--cocoa.dragover{ background:#d9c4ae; border-color:#8f6e52; }
.contact-form.contact-card .btn-primary{ background:transparent; color:var(--rose-700); border:1px solid var(--rose-700); font-weight:600; }
.contact-form.contact-card .btn-primary:hover{ background:var(--rose-700); border-color:var(--rose-700); color:var(--vanilla); }
.contact-form.contact-card .select, .contact-form.contact-card select.input{ background-color:#fdfaf3; border:1px solid #dcc5ba; }
/* Под формите за запитване — кратко пояснение за данните и връзка към „Поверителност“ */
.form-privacy-note{ margin:12px 0 0; font-size:.8rem; line-height:1.55; color:#8d6b5b; text-align:center; }
.form-privacy-note a{ color:var(--rose-700); text-decoration:underline; text-underline-offset:2px; text-decoration-color:var(--gold-300); }
.form-privacy-note a:hover{ color:var(--rose-900); }

/* Контакти (04.10): обектите — удебелено име-връзка към страницата им, вдясно „Карта ↗“ */
.store-item-top{ display:flex; justify-content:space-between; align-items:flex-start; gap:14px; }
a.store-name{ font-weight:700; color:var(--rose-950); text-decoration:none; }
a.store-name:hover{ color:var(--rose-700); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--gold-300); }
.store-maps{ flex:none; display:inline-flex; align-items:center; gap:5px; font-size:.8rem; font-weight:600; color:#8d6b5b; white-space:nowrap; margin-top:2px; }
.store-maps svg{ width:14px; height:14px; color:#8d6b5b; }
.store-maps:hover, .store-maps:hover svg{ color:var(--rose-700); }
.contact-maps-link{ display:inline-block; margin-top:4px; font-size:.86rem; font-weight:600; color:var(--rose-700); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--gold-300); }
.contact-maps-link:hover{ color:var(--rose-900); }

/* „Вашето мнение“ (04.10): по-ниска уводна част — анкетата се вижда по-рано */
.sv-hero-grid{ padding:14px 0 36px; gap:40px; }
.sv-hero h1{ font-size:clamp(2rem, 3.8vw, 3rem); margin:8px 0 14px; }
.sv-hero-art{ width:min(180px, 100%); }
.sv-hero .sv-lead{ margin-bottom:6px; }
@media (max-width:760px){ .sv-hero-art{ display:none; } .sv-hero-grid{ padding-bottom:24px; } }
/* Скала 1–5: поясненията стоят точно под първия и последния бутон */
.survey-scale-wrap{ display:inline-flex; flex-direction:column; max-width:100%; }
.survey-scale-wrap.is-nps{ display:flex; }
.survey-scale-wrap .survey-scale-labels{ gap:16px; }
.survey-scale-wrap + .survey-pill--wide{ display:block; margin-top:14px; }

/* ---------- Отзиви (04.10): ясни източници — Google и оценки в сайта ---------- */
.rv-hero-grid{ grid-template-columns:1fr; padding:20px 0 44px; }
.rv-hero-copy{ max-width:720px; }
.rv-block{ margin-bottom:56px; }
.rv-block-head h2{ font-size:clamp(1.5rem, 2.6vw, 2rem); margin:6px 0 8px; }
.rv-block-head p{ color:var(--ink-500); margin:0; max-width:62ch; }
.rv-block > .rv-block-head{ margin-bottom:18px; }
.rv-products-head{ display:grid; grid-template-columns:minmax(0,1fr) 300px; gap:32px; align-items:center; margin-bottom:22px; padding-top:44px; border-top:1px solid var(--gold-300); }
.rv-products-head .rv-score{ margin:0; }
.rv-marquee{ margin-bottom:0; }
.testimonial-marquee.is-reading{ overflow-x:auto; scroll-snap-type:x mandatory; scrollbar-width:none; padding-bottom:4px; }
.testimonial-marquee.is-reading::-webkit-scrollbar{ display:none; }
.testimonial-marquee.is-reading .testimonial-card{ scroll-snap-align:start; }
.testimonial-marquee.is-reading + .testimonial-nav{ display:flex; }
.testimonial-date{ display:block; font-size:.76rem; color:var(--ink-500); margin-top:2px; }
/* филтри: падащ списък с оценки + отметка */
.rv-filters{ display:flex; flex-wrap:wrap; align-items:center; gap:12px 22px; margin:0 0 20px; }
.rv-filters[hidden]{ display:none; }
.rv-filter-select select{ min-width:190px; padding:9px 12px; background:var(--vanilla); border:1px solid var(--mega-line); }
.rv-filter-check{ display:inline-flex; align-items:center; gap:8px; font-size:.9rem; color:var(--ink-700); cursor:pointer; }
.rv-filter-check input{ width:16px; height:16px; accent-color:var(--rose-700); }
/* продуктови карти: 2 колони на компютър, 1 на телефон */
.rv-grid{ grid-template-columns:repeat(2, minmax(0,1fr)); }
.rv-card-top{ display:flex; align-items:center; gap:12px; }
.rv-card-who{ display:flex; flex-direction:column; gap:2px; min-width:0; }
.rv-card-who strong{ color:var(--rose-950); font-size:.95rem; }
.rv-card-rating{ display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.rv-card .rv-author{ margin-top:10px; font-size:.82rem; color:var(--ink-500); }
/* две отделни действия */
.rv-actions{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:22px; padding-top:44px; border-top:1px solid var(--gold-300); }
.rv-action{ display:flex; flex-direction:column; gap:8px; padding:28px; background:var(--vanilla); border:1px solid var(--mega-line); border-top:2px solid var(--gold-300); border-radius:var(--radius-card); }
.rv-action h3{ font-family:var(--font-serif); font-size:1.3rem; color:var(--rose-900); margin:2px 0 0; }
.rv-action p{ margin:0 0 6px; color:var(--ink-700); font-size:.93rem; line-height:1.65; }
.rv-action > .btn{ align-self:flex-start; margin-top:auto; }
.rv-review-pick{ display:flex; gap:10px; flex-wrap:wrap; margin-top:auto; }
.rv-review-pick select{ flex:1 1 220px; min-width:0; background:var(--vanilla); border:1px solid var(--mega-line); padding:10px 12px; }
@media (max-width:860px){
  .rv-grid, .rv-actions{ grid-template-columns:1fr; }
  .rv-products-head{ grid-template-columns:1fr; gap:18px; }
}
.sr-only{ position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }

/* ---------- Рекламации (04.10) ---------- */
/* лявата колона следва съдържанието — без разтегната празна карта */
.rk .form-layout{ align-items:start; }
.rk .form-layout > div:first-child .info-card:last-child{ flex:none; }
/* задължителни полета */
.req{ color:var(--rose-700); font-weight:700; margin-left:2px; }
.req[hidden]{ display:none; }
.form-req-note{ font-size:.82rem; color:#8d6b5b; margin:0 0 16px; }
/* дата дд/мм/гггг с бутон за календар */
.date-dmy{ position:relative; }
.date-dmy .input{ padding-right:46px; }
.date-dmy-btn{ position:absolute; right:6px; top:50%; transform:translateY(-50%); width:34px; height:34px; display:inline-flex; align-items:center; justify-content:center; background:transparent; border:0; color:#8d6b5b; cursor:pointer; border-radius:var(--radius-control); }
.date-dmy-btn:hover{ color:var(--rose-700); background:rgba(141,107,91,.08); }
.date-dmy-btn svg{ width:18px; height:18px; }
.date-dmy-native{ position:absolute; right:0; bottom:0; width:1px; height:1px; opacity:0; pointer-events:none; border:0; padding:0; }

/* ---------- Галерия (04.10): без примерни снимки; покана + QR; „Условия“ към −10% ---------- */
.gal-intro{ display:grid; grid-template-columns:minmax(0,1fr) auto; gap:36px; align-items:center; margin:0 0 30px; }
.gal-intro[hidden], .gal-soon[hidden], #full-gallery[hidden]{ display:none; }
.gal-intro h2{ font-size:clamp(1.6rem, 2.8vw, 2.2rem); margin:0 0 10px; }
.gal-intro p{ color:var(--ink-700); line-height:1.75; max-width:62ch; margin:0 0 18px; }
.gal-soon{ text-align:center; font-family:var(--font-serif); font-style:italic; font-size:1.2rem; color:var(--rose-900); margin:6px 0 26px; }
#full-gallery{ margin-bottom:40px; }
.gal-qr{ margin:0; display:flex; flex-direction:column; align-items:center; gap:10px; }
.gal-qr-card{ display:block; width:150px; padding:10px; background:#faf7ef; border:1px solid #e6d6b4; border-radius:14px; box-shadow:0 6px 18px rgba(118,49,70,.08); transition:transform .2s ease, box-shadow .2s ease; }
.gal-qr-card:hover{ transform:translateY(-2px); box-shadow:0 10px 24px rgba(118,49,70,.12); }
.gal-qr svg{ display:block; width:100%; height:auto; }
.gal-qr figcaption{ font-family:var(--font-serif); font-style:italic; font-size:.95rem; color:var(--rose-900); text-align:center; }
.gallery-page .gallery-cta-band .gal-qr-slot:empty{ display:none; }
.gallery-page .gallery-cta-band .gal-qr-card{ width:124px; padding:8px; }
/* „Условия“ */
.gal-terms-link{ background:none; border:0; padding:0; font:inherit; font-size:.84rem; font-weight:600; color:var(--rose-700); text-decoration:underline; text-underline-offset:3px; text-decoration-color:var(--gold-300); cursor:pointer; }
.gal-terms-link:hover{ color:var(--rose-900); }
.gal-terms{ flex:1 1 100%; margin-top:4px; padding:16px 18px; background:var(--vanilla); border:1px solid var(--mega-line); border-left:2px solid var(--gold-300); border-radius:var(--radius-card); }
.gal-terms[hidden]{ display:none; }
.gal-terms h4{ font-family:var(--font-serif); font-size:1rem; color:var(--rose-900); margin:0 0 8px; }
.gal-terms ul{ margin:0; padding-left:18px; display:flex; flex-direction:column; gap:5px; font-size:.86rem; color:var(--ink-700); }
@media (max-width:700px){
  .gal-intro{ grid-template-columns:1fr; gap:20px; }
  .gal-intro .gal-qr{ align-items:flex-start; }
}
/* Галерия: поканата винаги е горе, с по-голям QR отстрани; „Условия“ под −10% */
.gal-intro{ grid-template-columns:minmax(0,1fr) auto; gap:48px; padding:6px 0 34px; margin-bottom:30px; border-bottom:1px solid var(--gold-300); }
.gal-intro .gal-qr-card{ width:210px; padding:12px; }
.gal-gift{ display:flex; flex-direction:column; align-items:flex-start; gap:6px; }
.gal-gift .gal-terms-link{ margin-left:4px; font-size:.8rem; }
@media (max-width:700px){ .gal-intro .gal-qr-card{ width:180px; } .gal-intro{ gap:24px; } }
/* Галерия: една покана — рамкирана карта като банера, снимките след нея */
.gallery-page .gal-intro{ position:relative; overflow:hidden; padding:34px 38px; margin:0 0 40px; background:var(--clay-100); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card); border-bottom:1px solid var(--mega-line); }
.gallery-page .gal-intro::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.gal-intro-actions{ display:flex; flex-wrap:wrap; align-items:center; gap:14px 22px; }
.gallery-page .gal-intro .moment-gift-badge{ background:var(--vanilla); border-color:var(--gold-300); color:var(--clay-700); }
.gallery-page .gal-intro .btn-primary{ background:transparent; border:1px solid var(--rose-700); color:var(--rose-700); }
.gallery-page .gal-intro .btn-primary:hover{ background:var(--rose-700); color:var(--vanilla); }
.gal-intro .gal-terms{ margin-top:16px; }
.gal-soon{ margin:0 0 22px; }
@media (max-width:700px){ .gallery-page .gal-intro{ padding:24px 20px 28px; } }
/* Галерия (04.10, вариант 3): поканата без рамка, текстът горе; QR без сянка, по-близо до текста; банерът −10% над снимките */
.gallery-page .gal-intro{ background:none; border:0; padding:0 0 30px; margin:0 0 30px; border-bottom:1px solid var(--gold-300); border-radius:0; overflow:visible;
  display:grid; grid-template-columns:minmax(0,640px) auto; justify-content:start; gap:56px; align-items:start; }
.gallery-page .gal-intro::after{ content:none; }
.gal-intro h2{ margin-top:0; }
.gal-intro .gal-qr-card, .gal-qr-card:hover{ box-shadow:none; transform:none; }
.gal-soon{ margin:0 0 22px; }
#full-gallery{ margin-top:0; }
@media (max-width:760px){ .gallery-page .gal-intro{ grid-template-columns:1fr; gap:24px; } }
.gallery-page main > .section{ padding-top:34px; }
/* Галерия (04.10, вариант 4): покана + банер в една горна част, златната линия е под банера; QR малко по-надясно */
.gal-top{ padding-bottom:34px; margin-bottom:30px; border-bottom:1px solid var(--gold-300); }
.gallery-page .gal-intro{ border-bottom:0; padding-bottom:0; margin-bottom:28px; gap:110px; }
.gallery-page .gal-top .gallery-cta-band{ margin-bottom:0; }
@media (max-width:1000px){ .gallery-page .gal-intro{ gap:48px; } }
@media (max-width:760px){ .gallery-page .gal-intro{ gap:24px; } }
/* Галерия (04.10, вариант 5): банерът е под текста в лявата колона, QR вдясно до двете — без широка лента */
.gallery-page .gal-intro{ grid-template-columns:minmax(0,600px) auto; gap:90px; align-items:center; margin-bottom:0; }
.gal-intro-copy > p{ margin-bottom:0; }
.gallery-page .gal-intro-copy .gallery-cta-band{ display:flex; flex-direction:column; align-items:flex-start; gap:14px; margin:24px 0 0; padding:24px 26px 28px; }
.gallery-page .gal-intro-copy .gallery-cta-band-text h3{ font-size:1.15rem; margin:0 0 4px; }
.gallery-page .gal-intro-copy .gallery-cta-band-actions{ display:block; }
.gal-intro-copy .gal-gift{ flex-direction:row; align-items:center; flex-wrap:wrap; gap:6px 14px; }
.gal-band-btn{ margin-top:2px; }
.gal-intro-copy .gal-terms{ margin-top:4px; width:100%; }
.gal-intro .gal-qr-slot{ align-self:center; }
@media (max-width:1000px){ .gallery-page .gal-intro{ gap:44px; } }
@media (max-width:760px){ .gallery-page .gal-intro{ grid-template-columns:1fr; gap:24px; } .gal-band-btn{ width:100%; justify-content:center; } }

/* ---------- Галерия (04.10, вариант 6): една балансирана карта — покана вляво, QR вдясно ---------- */
.gal-card{
  position:relative; overflow:hidden; display:grid; grid-template-columns:minmax(0,1fr) 280px; align-items:stretch;
  background:var(--clay-100); border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-card);
  margin:0 0 30px;
}
.gal-card::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; pointer-events:none; background:var(--mega-bar); }
.gal-card-main{ padding:36px 44px 40px; display:flex; flex-direction:column; align-items:flex-start; gap:16px; }
.gal-card-main h2{ font-size:clamp(1.6rem, 2.6vw, 2.1rem); margin:0; }
.gal-card-main > p{ margin:0; color:var(--ink-700); line-height:1.75; max-width:60ch; }
.gal-card .gal-gift{ display:flex; flex-direction:row; flex-wrap:wrap; align-items:center; gap:6px 14px; }
.gal-card .moment-gift-badge{ background:var(--vanilla); border-color:var(--gold-300); color:var(--clay-700); }
.gal-card .gal-terms{ margin:0; width:100%; }
.gal-card-btn{ margin-top:4px; background:transparent !important; border:1px solid var(--rose-700) !important; color:var(--rose-700) !important; }
.gal-card-btn:hover{ background:var(--rose-700) !important; color:var(--vanilla) !important; }
.gal-card-qr{ display:flex; align-items:center; justify-content:center; padding:30px 24px 36px; border-left:1px solid var(--gold-300); background:rgba(253,250,243,.55); }
.gal-card-qr .gal-qr-card{ width:180px; padding:10px; box-shadow:none; }
.gal-card-qr .gal-qr-card:hover{ transform:none; box-shadow:none; }
.gal-card-qr figcaption{ font-size:.9rem; }
@media (max-width:820px){
  .gal-card{ grid-template-columns:1fr; }
  .gal-card-main{ padding:26px 22px 24px; }
  .gal-card-qr{ border-left:0; border-top:1px solid var(--gold-300); padding:22px 22px 30px; }
  .gal-card-btn{ width:100%; justify-content:center; }
}

/* „Споделете сладък момент“ (04.10): QR за споделяне от телефона в началото; без примерни снимки */
.moment-qr{ margin-top:22px; }
.moment-qr:empty{ display:none; }
.gal-qr.moment-qr-fig{ flex-direction:row; align-items:center; gap:18px; }
.moment-qr-fig .gal-qr-card{ width:118px; padding:8px; box-shadow:none; }
.moment-qr-fig .gal-qr-card:hover{ transform:none; box-shadow:none; }
.moment-qr-fig figcaption{ text-align:left; font-size:.98rem; line-height:1.45; }
@media (max-width:760px){ .moment-qr{ display:none; } }
.moment-gallery-grid[hidden]{ display:none !important; }
/* „Споделете сладък момент“: QR кодът вдясно от текста — в празното поле до абзаца */
@media (min-width:761px){
  .moment-hero-copy{ display:grid; grid-template-columns:minmax(0,480px) auto; column-gap:32px; align-items:start; }
  .moment-hero-copy > .eyebrow, .moment-hero-copy > h1, .moment-hero-copy > .moment-hero-tagline{ grid-column:1 / -1; }
  .moment-hero-copy > p:not(.moment-hero-tagline){ grid-column:1; grid-row:4; }
  .moment-hero-copy > .moment-cta-row{ grid-column:1 / -1; grid-row:5; }
  .moment-hero-copy > .moment-qr{ grid-column:2; grid-row:4; margin-top:4px; }
  .moment-qr .gal-qr.moment-qr-fig{ flex-direction:column; align-items:center; gap:8px; }
  .moment-qr-fig .gal-qr-card{ width:128px; }
  .moment-qr-fig figcaption{ text-align:center; font-size:.85rem; max-width:150px; }
}
/* QR — по-надолу (до абзаца и бутоните) и по-голям */
@media (min-width:761px){
  .moment-hero-copy > .moment-cta-row{ grid-column:1; }
  .moment-hero-copy > .moment-qr{ grid-row:4 / span 2; align-self:center; margin-top:28px; }
  .moment-qr-fig .gal-qr-card{ width:172px; padding:10px; }
  .moment-qr-fig figcaption{ max-width:190px; font-size:.9rem; }
}
/* QR и в картата „Споделете своя сладък момент“ */
.moment-promo-qr{ margin-top:18px; padding-top:16px; border-top:1px solid var(--gold-300); }
.moment-promo-qr:empty{ display:none; }
.gal-qr.moment-promo-qr-fig{ flex-direction:row; align-items:center; justify-content:center; gap:14px; }
.moment-promo-qr-fig .gal-qr-card{ width:116px; padding:7px; box-shadow:none; }
.moment-promo-qr-fig .gal-qr-card:hover{ transform:none; box-shadow:none; }
.moment-promo-qr-fig figcaption{ text-align:left; font-size:.88rem; }
@media (max-width:760px){ .moment-promo-qr{ display:none; } }
/* „Изберете от устройството си“ — изнесено под полето за снимки, води към QR кода горе */
.moment-device-link{ display:flex; align-items:center; gap:14px; margin-top:12px; padding:14px 18px; background:var(--vanilla); border:1px solid var(--gold-300); border-radius:var(--radius-card); color:var(--ink-700); text-decoration:none; transition:border-color .2s ease, background .2s ease; }
.moment-device-link:hover{ border-color:var(--rose-700); background:#fffdf8; }
.moment-device-ic{ flex:none; display:inline-flex; align-items:center; justify-content:center; width:42px; height:42px; border-radius:50%; background:var(--milk-cocoa-200); color:#6e5140; }
.moment-device-ic svg{ width:22px; height:22px; }
.moment-device-link b{ display:block; color:var(--rose-700); font-size:.95rem; letter-spacing:.02em; }
.moment-device-link small{ display:block; font-size:.84rem; color:#8d6b5b; margin-top:2px; }
@media (max-width:760px){ .moment-device-link{ display:none; } }
/* кратко открояване на QR кода след натискане */
@keyframes roza-qr-glow{ 0%{ box-shadow:0 0 0 0 rgba(150,57,79,.45); } 100%{ box-shadow:0 0 0 18px rgba(150,57,79,0); } }
.moment-qr.is-highlight .gal-qr-card{ animation:roza-qr-glow 1.2s ease-out 2; }
/* QR в картата — центриран: кодът отгоре, надписът под него */
.gal-qr.moment-promo-qr-fig{ flex-direction:column; align-items:center; gap:8px; }
.moment-promo-qr-fig figcaption{ text-align:center; }

/* ---------- Търсачката в хедъра (04.10) — във визията на менютата и картите ---------- */
.search-panel{
  width:340px; padding:20px 22px 18px; background:var(--vanilla);
  border:1px solid var(--mega-line); border-top:2px solid var(--gold-300); border-radius:var(--radius-card);
  box-shadow:0 14px 34px rgba(58,28,34,.10);
}
.search-panel-label{ font-size:.7rem; letter-spacing:.14em; color:var(--rose-700); margin-bottom:12px; }
.search-panel form{
  gap:10px; padding:0 0 0 2px; background:transparent; border:0; border-bottom:1px solid var(--gold-300); border-radius:0;
}
.search-panel form:focus-within{ border-bottom-color:var(--rose-700); }
.search-panel input{ padding:10px 0; font-size:.95rem; color:var(--rose-950); }
.search-panel input::placeholder{ color:#a08a7e; font-style:italic; }
.search-panel button{ width:36px; height:36px; background:transparent; color:var(--rose-700); border:1px solid var(--rose-700); margin-bottom:6px; transition:var(--transition-ui); }
.search-panel button:hover{ background:var(--rose-700); color:var(--vanilla); }
.search-panel-quick{ display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:14px; }
.search-panel-quick:empty{ display:none; }
.main-nav .search-panel-quick a, .search-panel-quick a{ font-size:.8rem; color:var(--ganache-700); text-decoration:none; border-bottom:1px solid transparent; padding-bottom:1px; }
.search-panel-quick a:hover{ color:var(--rose-700); border-bottom-color:var(--gold-300); }
/* Формите: полетата в един ред са подравнени отдолу (и при етикет на два реда) */
.contact-form .form-row{ align-items:end; }
.form-field-hint{ font-size:.8rem; color:#8d6b5b; margin:8px 0 0; }
/* „Роза в действие“ (04.10): по-високи карти */
.action-gallery{ grid-auto-rows:270px; }
@media (max-width:860px){ .action-gallery{ grid-auto-rows:300px; } }
/* „Очаквайте скоро“ (04.10): горе вляво и малко по-малък */
.action-soon{ left:14px; right:auto; top:14px; padding:5px 11px; font-size:.64rem; letter-spacing:.07em; }
@media (max-width:640px){ .action-soon{ left:10px; right:auto; top:10px; padding:4px 9px; font-size:.6rem; } }

/* =====================================================================
   Без сенки в целия сайт (04.10) — по желание на клиента.
   Махат се всички сенки под елементите (бутони, карти, менюта, панели,
   плаващите бутони „Начало“ и асистента). Остават само рамките за фокус
   на полетата (достъпност) и сенките под текста върху снимки (четимост).
   Админ панелът (body.admin-page) не е засегнат.
   ===================================================================== */
body:not(.admin-page){ --shadow-sm:none; --shadow-md:none; --shadow-lg:none; }
body:not(.admin-page), body:not(.admin-page) *, body:not(.admin-page) *::before, body:not(.admin-page) *::after{ box-shadow:none !important; }
/* рамка при фокус на полетата във формите — за достъпност (не е сянка) */
.input:focus, .textarea:focus, select.input:focus, .contact-form.contact-card .input:focus, .contact-form.contact-card .textarea:focus{ outline:2px solid rgba(201,168,152,.55) !important; outline-offset:1px; }
/* открояване на QR кода (вместо сянка) */
@keyframes roza-qr-outline{ 0%{ outline-color:rgba(150,57,79,.7); outline-offset:2px; } 100%{ outline-color:rgba(150,57,79,0); outline-offset:14px; } }
.moment-qr.is-highlight .gal-qr-card{ outline:2px solid rgba(150,57,79,0); animation:roza-qr-outline 1.2s ease-out 2; }
/* Торти „Цена по запитване“ */
.price-on-request{ font-family:var(--font-serif); font-style:italic; color:var(--rose-700); font-weight:600; }

/* ---------- Продукт: увеличение на снимката (05.10) ---------- */
.pd-main-wrap{ position:relative; }
.pd-main-img{ cursor:zoom-in; }
.pd-main-img img{ transition:transform .18s ease-out; will-change:transform; }
.pd-zoom-btn{
  position:absolute; left:12px; bottom:28px; z-index:3; width:40px; height:40px; border-radius:50%;
  display:inline-flex; align-items:center; justify-content:center; cursor:pointer;
  background:var(--vanilla); border:1px solid var(--gold-300); color:var(--rose-700);
}
.pd-zoom-btn:hover{ background:var(--rose-700); color:var(--vanilla); border-color:var(--rose-700); }
.pd-zoom-btn svg{ width:19px; height:19px; }
.pd-lightbox{ position:fixed; inset:0; z-index:2000; background:rgba(253,250,243,.97); display:grid; grid-template-columns:64px minmax(0,1fr) 64px; grid-template-rows:1fr auto; align-items:center; padding:20px 12px; }
.pd-lightbox[hidden]{ display:none; }
body.pd-lb-open{ overflow:hidden; }
.pd-lb-stage{ grid-column:2; grid-row:1; height:100%; display:flex; align-items:center; justify-content:center; overflow:hidden; touch-action:pinch-zoom; }
.pd-lb-img{ max-width:100%; max-height:calc(100vh - 90px); object-fit:contain; cursor:zoom-in; transition:transform .2s ease-out; }
.pd-lightbox.is-zoomed .pd-lb-img{ cursor:zoom-out; transition:transform .2s ease-out, transform-origin 0s; }
.pd-lb-close{ position:absolute; top:14px; right:14px; width:44px; height:44px; border-radius:50%; border:1px solid var(--gold-300); background:var(--vanilla); color:var(--rose-900); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; z-index:2; }
.pd-lb-close svg{ width:20px; height:20px; }
.pd-lb-nav{ grid-row:1; width:46px; height:46px; justify-self:center; border-radius:50%; border:1px solid var(--gold-300); background:var(--vanilla); color:var(--rose-700); display:inline-flex; align-items:center; justify-content:center; cursor:pointer; }
.pd-lb-nav[hidden]{ visibility:hidden; display:inline-flex; }
.pd-lb-prev{ grid-column:1; } .pd-lb-next{ grid-column:3; }
.pd-lb-nav:hover, .pd-lb-close:hover{ background:var(--rose-700); color:var(--vanilla); border-color:var(--rose-700); }
.pd-lb-hint{ grid-column:1 / -1; grid-row:2; text-align:center; font-size:.82rem; color:#8d6b5b; margin:8px 0 0; }
.pd-lb-count{ margin-left:8px; font-weight:600; }
@media (max-width:640px){ .pd-lightbox{ grid-template-columns:44px minmax(0,1fr) 44px; padding:56px 4px 16px; } .pd-lb-nav{ width:38px; height:38px; } }

/* Профил — „Поръчайте отново“ (06.10) */
.acct-order-again{ margin-top:14px; padding-top:12px; border-top:1px dashed var(--mega-line); }
.acct-reorder-note{ margin:0 0 16px; padding:16px 18px; background:var(--vanilla); border:1px solid var(--mega-line); border-left:3px solid var(--gold-300); border-radius:var(--radius-card); }
.acct-reorder-note p{ margin:0 0 8px; font-size:.92rem; color:var(--ink-700); }
/* Продукт — „Може да се изпрати с куриер“ */
.pd-courier-note svg{ color:var(--rose-700); }
/* Поръчка — снимка за торта с картинка */
.roza-wizard-hint{ font-size:.86rem; color:#8d6b5b; margin:0 0 12px; }
.roza-wizard-photo-drop{ cursor:pointer; }
.roza-wizard-photo-preview:empty{ display:none; }
.roza-wizard-photo-preview{ margin-top:12px; }
.roza-wizard-photo-preview img{ display:block; max-width:220px; max-height:220px; object-fit:contain; border:1px solid var(--mega-line); border-radius:var(--radius-card); background:var(--vanilla); }

/* ---------- Банер най-горе в категорията (06.10) — персонализирана поръчка ---------- */
.cat-top-banner-section{ padding-top:22px; padding-bottom:6px; }
.cat-top-banner{
  position:relative; overflow:hidden; display:flex; align-items:center; justify-content:space-between; gap:20px 36px; flex-wrap:wrap;
  padding:24px 32px 28px; background:var(--clay-100);
  border:1px solid var(--mega-line); border-top:2px solid var(--gold-300); border-radius:var(--radius-card);
}
.cat-top-banner::after{ content:""; position:absolute; left:0; bottom:0; width:100%; height:3px; background:var(--mega-bar); pointer-events:none; }
.cat-top-banner-copy{ flex:1 1 420px; min-width:0; }
.cat-top-banner-copy h2{ font-size:clamp(1.3rem, 2.2vw, 1.7rem); margin:4px 0 8px; color:var(--rose-900); }
.cat-top-banner-copy p{ margin:0 0 4px; color:var(--ink-700); font-size:.95rem; line-height:1.6; }
.cat-top-banner-copy p + p{ font-size:.88rem; color:#6e5140; }
.cat-top-banner-btn{ flex:none; background:transparent !important; border:1px solid var(--rose-700) !important; color:var(--rose-700) !important; }
.cat-top-banner-btn:hover{ background:var(--rose-700) !important; color:var(--vanilla) !important; }
@media (max-width:640px){ .cat-top-banner{ padding:20px 18px 24px; } .cat-top-banner-btn{ width:100%; justify-content:center; } }

/* Меню „Продукти“: подзаглавие на група (напр. „Празнични торти“) */
.mega-group-label{ margin:16px 0 6px; padding:12px 0 6px; border-top:1px solid var(--gold-300); font-size:.7rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--rose-700); }
.roza-wizard-photo-specs{ margin:0 0 14px; padding:12px 14px 12px 30px; background:var(--clay-100); border:1px solid var(--mega-line); border-left:2px solid var(--gold-300); border-radius:var(--radius-card); font-size:.88rem; color:var(--ink-700); display:flex; flex-direction:column; gap:4px; }

/* Профил — „Запазени поводи“ (06.10) */
.acct-occ-intro{ font-size:.9rem; color:var(--ink-500); margin:0 0 16px; }
.acct-occ-hint{ font-size:.8rem; color:#8d6b5b; margin:6px 0 0; }
.acct-occ-card.is-off{ opacity:.65; }

/* Количество в килограми („1,5 кг“) — по-широко поле */
.qty-box input.qty-wide, #pd-qty-box.qty-kg input{ width:68px; }

/* Проследяване на поръчка (poruchka.html) */
.trk{ max-width:720px; margin:0 auto; display:grid; gap:18px; }
.trk-loading{ text-align:center; color:var(--ink-500); }
.trk-card{ background:var(--cream); border:1px solid var(--gold-300); border-top:2px solid var(--gold-500); border-radius:var(--radius-card); padding:24px 26px; }
.trk-empty{ text-align:center; }
.trk-hello{ margin:0 0 18px; color:var(--ink-700); }
.trk-h{ font-family:var(--font-serif); font-size:1.25rem; color:var(--maroon-900); margin:0 0 12px; }
.trk-steps{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(5,1fr); position:relative; }
.trk-steps li{ position:relative; display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px; font-size:.86rem; color:var(--ink-500); }
.trk-steps li::before{ content:""; position:absolute; top:8px; left:-50%; width:100%; height:2px; background:var(--gold-100); z-index:0; }
.trk-steps li:first-child::before{ display:none; }
.trk-steps li.is-done::before, .trk-steps li.is-current::before{ background:var(--gold-500); }
.trk-dot{ position:relative; z-index:1; width:18px; height:18px; border-radius:50%; border:2px solid var(--gold-300); background:var(--cream); }
.trk-steps li.is-done .trk-dot{ background:var(--gold-500); border-color:var(--gold-500); }
.trk-steps li.is-current .trk-dot{ background:var(--maroon-900); border-color:var(--maroon-900); }
.trk-steps li.is-current{ color:var(--maroon-900); font-weight:700; }
.trk-steps li.is-done{ color:var(--ink-700); }
.trk-cancelled{ margin:0; color:var(--maroon-900); font-weight:600; }
.trk-dl{ margin:0; display:grid; gap:10px; }
.trk-dl div{ display:grid; grid-template-columns:130px 1fr; gap:12px; }
.trk-dl dt{ color:var(--ink-500); font-size:.9rem; }
.trk-dl dd{ margin:0; color:var(--ink-900); }
.trk-items{ list-style:none; margin:0; padding:0; }
.trk-items li{ display:flex; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px solid var(--gold-100); }
.trk-items small{ display:block; color:var(--ink-500); font-size:.84rem; margin-top:2px; }
.trk-price{ white-space:nowrap; font-variant-numeric:tabular-nums; }
.trk-totals{ margin-top:10px; display:grid; gap:6px; }
.trk-totals div{ display:flex; justify-content:space-between; font-variant-numeric:tabular-nums; }
.trk-total{ font-weight:700; color:var(--maroon-900); font-size:1.05rem; padding-top:6px; }
.trk-help{ text-align:center; color:var(--ink-500); font-size:.9rem; margin:0; }
@media (max-width:600px){
  .trk-card{ padding:20px 16px; }
  .trk-steps{ grid-template-columns:1fr; gap:12px; }
  .trk-steps li{ flex-direction:row; text-align:left; }
  .trk-steps li::before{ display:none; }
  .trk-dl div{ grid-template-columns:1fr; gap:2px; }
}

/* Карти на подкатегориите — 5–6 на един ред на компютър (напр. Детски) */
@media (min-width:961px){
  .cat-hub-grid.hub-one-row{ grid-template-columns:repeat(var(--hub-cols), minmax(0, 1fr)); gap:20px; }
  .cat-hub-grid.hub-one-row .ecard-body{ padding:0 20px 20px; }
  .cat-hub-grid.hub-one-row .ecard-body h3{ font-size:1.35rem; }
  .cat-hub-grid.hub-one-row .ecard-cta{ font-size:.7rem; letter-spacing:.12em; }
}
/* Еднакъв размер на заглавията в реда с карти — без пренасяне („Торти с картинка“ на един ред като другите) */
@media (min-width:1100px){
  .cat-hub-grid.hub-one-row .ecard-body h3{ font-size:clamp(1.05rem, 1.35vw, 1.3rem); white-space:nowrap; }
}
@media (min-width:961px) and (max-width:1099px){
  .cat-hub-grid.hub-one-row .ecard-body h3{ font-size:1.05rem; }
}

/* Мега меню „Продукти“ — по-сбити редове и групи (като „Обекти“) */
.main-nav .mega-panel ul a{ padding:4px 8px; line-height:1.35; min-height:0; }
.main-nav .mega-panel ul{ row-gap:0; }
.main-nav .mega-panel .mega-group-label{ margin:10px 0 4px; padding:8px 0 4px; }
.main-nav .mega-panel-blurb{ margin-bottom:10px; }

/* Начална: по-малко празно място между промо банера („Актуални предложения“) и отзивите (08.10) */
.home-promos.section-tight{ padding-bottom:12px; }
.home-promos + .testimonials-section{ padding-top:34px; }
@media (max-width:600px){ .home-promos + .testimonials-section{ padding-top:26px; } }

/* ---------- Доставка с Еконт (страница „Данни и плащане“) ---------- */
.econt-block{ margin-top:26px; }
.econt-frame{ display:block; width:100%; height:640px; border:1px solid var(--border-color-default,#e6d9d0); border-radius:var(--radius-md); background:#fff; }
.econt-selected-line{ margin:0 0 6px; }
.econt-selected .btn, #econt-selected .btn{ margin-top:6px; }
@media (max-width:600px){ .econt-frame{ height:720px; } }
.econt-free-hint{ margin:6px 0 10px; }
.econt-free-hint.is-free{ color:#1f6b2c; font-weight:700; }

/* ---------- Доставка със Спиди: избор на населено място, офис и адрес (без сенки — рамки) ---------- */
.speedy-picker{ margin-top:6px; }
.speedy-sugg-wrap{ position:relative; }
.speedy-sugg{ list-style:none; margin:2px 0 0; padding:0; position:absolute; left:0; right:0; top:100%; z-index:20; max-height:260px; overflow:auto; background:#fff; border:1px solid var(--border-color-default,#e6d9d0); border-radius:var(--radius-md); }
.speedy-sugg li{ margin:0; padding:0; }
.speedy-sugg button{ display:block; width:100%; text-align:left; padding:9px 12px; background:#fff; border:0; border-bottom:1px solid var(--border-color-default,#efe4dc); font:inherit; cursor:pointer; }
.speedy-sugg li:last-child button{ border-bottom:0; }
.speedy-sugg button:hover, .speedy-sugg button:focus{ background:#faf3ee; outline:none; }
.speedy-sugg-empty{ padding:9px 12px; color:#7a6a6e; font-size:.9rem; }
.speedy-modes{ display:flex; flex-wrap:wrap; gap:18px; margin:6px 0 12px; }
#sp-confirm{ margin-top:6px; }

/* Фиксиран хедър + празно място с постоянна височина (js: initHeaderScroll) — без подскачане при превъртане (09.10) */
#site-header.is-fixed{ position:fixed; top:0; left:0; right:0; }

/* Продуктова страница: по-компактно заглавие и цени (компютър, 09.10); снимката покрива цялата колона */
@media (min-width:961px){
  .pd-info h1{ font-size:clamp(1.35rem, 1.8vw, 1.75rem); line-height:1.2; margin:4px 0 8px; }
  .pd-price-sizes{ font-size:1.15rem; }
  .pd-desc{ margin-top:10px; margin-bottom:12px; }
}
/* Продуктова страница: по-тясната квадратна снимка (ширината се задава от js/product.js) — центрирана */
@media (min-width:961px){ .pd-main-wrap{ margin-left:auto; margin-right:auto; max-width:100%; } .pd-thumbs{ justify-content:center; } }
/* Етикетът на група в мега менюто като връзка (09.10) */
.main-nav .mega-group-label a{ color:inherit; padding:0; font:inherit; letter-spacing:inherit; text-transform:inherit; display:inline; }
.main-nav .mega-group-label a:hover{ color:var(--rose-900); text-decoration:underline; text-underline-offset:3px; }
.main-nav .mega-group-label a::after{ display:none; }
/* Продуктова снимка: клик отваря цял екран (без бутон с лупа) */
.pd-main-img.is-clickable{ cursor:zoom-in; }
.pd-main-img.is-clickable:focus-visible{ outline:2px solid var(--gold-500); outline-offset:3px; }

/* Мега меню: описанието на раздела — отстрани, на един ред със заглавието (09.10) */
.mega-panel-head{ display:flex; align-items:center; gap:18px; margin-bottom:12px; }
.mega-panel-head h4{ margin:0; flex:none; }
.main-nav .mega-panel-head .mega-panel-blurb{ margin:0; max-width:none; font-size:.78rem; line-height:1.4; }
@media (max-width:960px){ .mega-panel-head{ display:block; } .main-nav .mega-panel-head .mega-panel-blurb{ margin-top:4px; } }

/* „За бизнеса“: връзка от менюто към карта — място под фиксирания хедър и кратко отбелязване (10.10) */
.bz-solutions, #vitrina, #inquiry{ scroll-margin-top:110px; }
.bz .ecard.is-target{ outline:2px solid var(--gold-500); outline-offset:3px; transition:outline-color .3s; }

/* Мега менюто се побира в прозореца — долната част с връзките и цветните линии винаги се вижда (10.10) */
@media (min-width:961px){
  .main-nav .mega-wide .mega{ display:flex; flex-direction:column; max-height:calc(100vh - 140px); }
  #site-header.scrolled .main-nav .mega-wide .mega{ max-height:calc(100vh - 100px); }
  .main-nav .mega-wide .mega-v2-body{ flex:1 1 auto; min-height:0; overflow-y:auto; }
  .main-nav .mega-wide .mega-v2-footer{ flex:none; padding-bottom:15px; }
  .main-nav .mega-panel ul li{ margin-bottom:1px; }
  .main-nav .mega-v2-right{ padding-top:16px; padding-bottom:12px; }
  .main-nav .mega .mega-fam{ padding-top:9px; padding-bottom:9px; }
}

/* Мега менюта: текстът на връзките — на една линия със заглавието, описанието и „Всички …“;
   отстъпът на връзките остава само за фона при посочване (10.10) */
.main-nav .mega-panel ul, .main-nav .mega-narrow ul{ margin-left:-8px; margin-right:-8px; }
.main-nav .mega-locations .loc-group ul{ margin-left:-4px; margin-right:-4px; }
.main-nav .mega-panel h4 a, .main-nav .mega-panel-cta a, .main-nav .mega-panel-extra a, .main-nav .mega-narrow-cta{ padding-left:0; padding-right:0; }
/* Категории: „Подредете по“ над тортите — собствен падащ списък в стила на сайта:
   без кутия, тънка златна линия, бордо текст; списъкът — ванилия, рамка и златна линия отдолу, без сянка (10.10) */
.sort-dd{ position:relative; display:inline-flex; align-items:baseline; gap:12px; }
.sort-dd-label{ font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--ink-500); }
.sort-dd-trigger{
  display:inline-flex; align-items:center; gap:10px; background:none; border:0; border-bottom:1px solid var(--gold-300);
  padding:6px 0; font-family:inherit; font-size:.88rem; color:var(--rose-700); cursor:pointer; transition:border-color .2s ease;
}
.sort-dd-trigger svg{ width:13px; height:13px; transition:transform .2s ease; }
.sort-dd-trigger:hover, .sort-dd.open .sort-dd-trigger{ border-bottom-color:var(--rose-700); }
.sort-dd-trigger:focus-visible{ outline:1px solid var(--gold-500); outline-offset:3px; }
.sort-dd.open .sort-dd-trigger svg{ transform:rotate(180deg); }
.sort-dd-menu{
  list-style:none; margin:0; padding:6px 0; position:absolute; top:calc(100% + 8px); right:0; z-index:40; min-width:220px;
  background:var(--vanilla); border:1px solid var(--mega-line); border-bottom:3px solid var(--gold-300); border-radius:var(--radius-sm);
  box-shadow:none; opacity:0; visibility:hidden; transform:translateY(4px); transition:opacity .18s ease, transform .18s ease, visibility .18s;
}
.sort-dd.open .sort-dd-menu{ opacity:1; visibility:visible; transform:translateY(0); }
.sort-dd-menu li{ margin:0; padding:9px 18px; font-size:.86rem; color:var(--ink-700); cursor:pointer; border-left:2px solid transparent; white-space:nowrap; }
.sort-dd-menu li:hover, .sort-dd-menu li:focus{ background:var(--mega-rail-active); color:var(--rose-700); outline:none; }
.sort-dd-menu li[aria-selected="true"]{ color:var(--rose-700); font-weight:600; border-left-color:var(--rose-700); }
@media (max-width:600px){ .sort-dd-label{ display:none; } }
/* „Персонализирана поръчка“ на началната: текстът — двустранно подравнен и по-тесен (повече редове),
   последният ред вдясно като бутоните (10.10) */
@media (min-width:641px){
  .custom-slides-banner .personal-banner-body p{ max-width:390px; margin-left:auto; text-align:justify; text-align-last:right; hyphens:manual; -webkit-hyphens:manual; }
}
@media (max-width:640px){
  .custom-slides-banner .personal-banner-body p{ text-align:justify; hyphens:manual; -webkit-hyphens:manual; }
}

/* Плъзгачи (скрол) в стила на сайта — тънки, златна дръжка върху ванилия, без стрелки (10.10).
   Скритите плъзгачи (слайдери, ленти) остават скрити — техните правила са по-специфични. */
*{ scrollbar-width:thin; scrollbar-color:var(--gold-500) transparent; }
html{ scrollbar-color:var(--gold-500) var(--vanilla); }
/* Safari и по-стари браузъри без scrollbar-color */
@supports not (scrollbar-color: auto){
  ::-webkit-scrollbar{ width:8px; height:8px; }
  ::-webkit-scrollbar-track{ background:transparent; }
  ::-webkit-scrollbar-thumb{ background:var(--gold-500); border-radius:8px; border:2px solid var(--vanilla); }
  ::-webkit-scrollbar-thumb:hover{ background:var(--rose-dust-700); }
  ::-webkit-scrollbar-button{ display:none; height:0; width:0; }
}
/* „Персонализирана поръчка“: по-висок банер на широки екрани, за да се вижда цялата торта
   (снимките са 3:2, а банерът е много широк) (10.10) */
@media (min-width:1100px){
  .custom-slides-banner{ min-height:clamp(560px, 44vw, 800px); }
}
/* Мега меню на компютър: по-сбито описание и редове, за да се побира без скрол (10.10) */
@media (min-width:961px){
  .main-nav .mega-panel-blurb{ line-height:1.45; margin-bottom:8px; }
  .main-nav .mega-panel ul a{ padding-top:3px; padding-bottom:3px; }
  .main-nav .mega-panel .mega-group-label{ margin:8px 0 2px; padding:7px 0 3px; }
  .main-nav .mega-v2-right{ padding-top:14px; padding-bottom:10px; }
  .main-nav .mega-v2-footer{ padding-top:9px; padding-bottom:12px; }
}
/* Продуктова снимка: вместо лупата — знак „разгъни“ (четири ъгъла) в бордо кръгче; в увеличения изглед — „свий“ (10.10) */
.pd-main-img, .pd-main-img.is-clickable, .pd-lb-img{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Ccircle cx='17' cy='17' r='15.5' fill='%23fdfaf3' stroke='%2396394f' stroke-width='1.2'/%3E%3Cpath d='M10 14v-4h4M24 14v-4h-4M10 20v4h4M24 20v4h-4' fill='none' stroke='%2396394f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 17 17, zoom-in;
}
.pd-lightbox.is-zoomed .pd-lb-img{
  cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='34' height='34' viewBox='0 0 34 34'%3E%3Ccircle cx='17' cy='17' r='15.5' fill='%23fdfaf3' stroke='%2396394f' stroke-width='1.2'/%3E%3Cpath d='M14 10v4h-4M20 10v4h4M14 24v-4h-4M20 24v-4h4' fill='none' stroke='%2396394f' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") 17 17, zoom-out;
}
/* Продуктова страница (компютър): дясната колона — по-сбита, за да се побират „Условия за поръчка“ в екрана;
   снимката стига до долния им край (js/product.js fitMainImage) (10.10) */
@media (min-width:961px){
  .pd-info h1{ font-size:clamp(1.3rem, 1.6vw, 1.6rem); margin:2px 0 6px; }
  .pd-info .pd-ref{ margin-bottom:6px; }
  .pd-info .pd-rating{ margin:0 0 10px; }
  .pd-info .pd-price-sizes{ font-size:1.1rem; line-height:1.3; }
  .pd-info .pd-price .pd-price-hint{ margin-top:4px; font-size:.82rem; }
  .pd-info .pd-desc{ line-height:1.6; margin:8px 0 10px; }
  .pd-info .pd-simple-panel{ margin:12px 0 4px; }
  .pd-info .pd-open-wizard{ min-height:46px; }
  .pd-info .pd-simple-row .fav-btn{ width:46px; height:46px; }
  .pd-info .pd-simple-panel .pd-note{ margin-top:6px; }
  .pd-info .pd-prep-note{ margin:10px 0 8px; }
  .pd-info .order-terms{ margin-top:8px; }
  /* ниски екрани: още по-сбито */
  .pd-info.pd-tight .cat-label{ font-size:.68rem; }
  .pd-info.pd-tight h1{ font-size:clamp(1.2rem, 1.4vw, 1.4rem); }
  .pd-info.pd-tight .pd-price-sizes{ font-size:1rem; }
  .pd-info.pd-tight .pd-desc{ font-size:.9rem; line-height:1.5; }
  .pd-info.pd-tight .pd-simple-panel .pd-note{ display:none; }
  .pd-info.pd-tight .order-terms > summary{ padding:9px 14px; }
}
/* Слайдшоу на продуктова карта (настройка „Слайдшоу на картата“ в админа) — плавна смяна на снимките (10.10) */
.card-slides{ position:relative; display:block; width:100%; height:100%; }
.card-slides img{ position:absolute; inset:0; opacity:0; transition:opacity 1.1s ease, transform .6s ease; }
.card-slides img.is-on{ opacity:1; }
/* Продуктова категория за бизнеса — „Очаквайте скоро“ (b2b-produkt.html, 10.10) */
.bz .bz-soon-note{ max-width:520px; color:var(--ink-500); font-size:.95rem; line-height:1.6; margin:0 0 22px; }
/* Без ръчичката „хващане“ върху плъзгащите се ленти и галерии — обикновена стрелка; плъзгането остава (10.10) */
.cat-slider, .prod-slider, .cine-has-controls, .cine-has-controls:active{ cursor:default; }
.cat-slider.dragging, .prod-slider.dragging{ cursor:default; }
/* „Роза в действие“: публикация „Очаквайте скоро“ — без отваряне, етикет върху снимката (10.10) */
.news-card.is-soon{ cursor:default; }
.news-card.is-soon:hover{ transform:none; }
.news-card.is-soon .news-media{ position:relative; }
.news-soon{ position:absolute; left:14px; top:14px; z-index:2; padding:6px 12px; background:var(--vanilla); color:var(--rose-700); border:1px solid var(--gold-300); border-radius:var(--radius-sm); font-size:.68rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; }
/* Кариери: съобщението „нямаме актуални обяви“ — без сянка, текстът по-широк (10.10) */
.cr-empty{ box-shadow:none; max-width:720px; margin:0 auto; line-height:1.65; }
.cr-empty a{ color:var(--rose-700); text-decoration:underline; text-underline-offset:3px; }
/* Колекция „Първи спомени“ → „Изберете повода“: по-големи карти — по-високи, по-широки (излизат извън
   обичайната ширина на страницата) и по-лек тъмен преход, за да се виждат тортите и сладките (10.10) */
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"]{
  grid-template-columns:repeat(3, minmax(0, 1fr)); gap:20px;
  margin-inline:calc(50% - min(720px, 50vw - 16px));
}
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard{ aspect-ratio:4 / 3; height:auto; } /* като снимките (4:3) — вижда се цялото изображение */
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard::after{
  background:linear-gradient(to top, rgba(28,14,16,.78) 0%, rgba(28,14,16,.45) 22%, rgba(28,14,16,0) 42%);
}
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard-body p{ display:none; }
@media (max-width:760px){
  .cat-hub-grid.col-occasions[data-col="prvi-spomeni"]{ grid-template-columns:1fr; margin-inline:0; }
  .cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard{ aspect-ratio:4 / 3; height:auto; }
}
/* „Първи спомени“ → поводите: заглавието горе вляво, „Разгледайте“ долу вдясно; лек тъмен преход само горе и долу (10.10) */
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard-body{
  top:0; bottom:0; display:flex; flex-direction:column; justify-content:space-between; align-items:flex-start;
  padding:22px 26px 20px;
}
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard-body h3{ margin:0; padding:0; border:0; }
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard-body h3::after{ display:none; }
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard-cta{ align-self:flex-end; width:auto; margin:0; padding:0; border:0; }
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard-cta::before{ display:none; }
.cat-hub-grid.col-occasions[data-col="prvi-spomeni"] .ecard::after{
  background:
    linear-gradient(to bottom, rgba(28,14,16,.62) 0%, rgba(28,14,16,.25) 16%, rgba(28,14,16,0) 30%),
    linear-gradient(to top, rgba(28,14,16,.55) 0%, rgba(28,14,16,.2) 12%, rgba(28,14,16,0) 24%);
}
/* Кетъринг → пакетите: „Очаквайте скоро“ — наклонен етикет горе; бутоните подравнени долу (10.10) */
.pkg-card{ position:relative; display:flex; flex-direction:column; padding-top:46px !important; }
.pkg-card .pkg-list{ flex:1 1 auto; }
.pkg-card > .btn{ margin-top:auto; }
.pkg-card .pkg-soon{
  position:absolute; top:16px; right:14px; margin:0; z-index:2;
  padding:6px 14px; transform:rotate(5deg);
  background:var(--vanilla); color:var(--rose-700); border:1px solid var(--gold-300); border-radius:var(--radius-sm);
  font-family:var(--font-sans); font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; line-height:1.2;
}
.pkg-card h4{ margin-top:10px; }
/* Страница Gelato (gelato.html, 10.10) — сравнение „gelato или сладолед“ в стила на сайта: рамка и златни линии, без сенки */
.gl-compare{ max-width:900px; margin:40px auto 0; border:1px solid var(--mega-line); border-top:1px solid var(--gold-300); border-radius:var(--radius-md); background:var(--vanilla); overflow:hidden; }
.gl-row{ display:grid; grid-template-columns:1.1fr 1.3fr 1.3fr; gap:0; border-top:1px solid var(--gold-300); }
.gl-row:first-child{ border-top:0; }
.gl-row > span{ padding:16px 20px; font-size:.92rem; color:var(--ink-700); line-height:1.5; }
.gl-row > span[role="rowheader"]{ font-weight:700; color:var(--rose-900); }
.gl-row > span:nth-child(2){ background:var(--vanilla-deep); color:var(--rose-700); }
.gl-row--head > span{ font-family:var(--font-serif); font-size:1.15rem; font-weight:700; color:var(--rose-700); padding-top:18px; padding-bottom:14px; }
.gl-row--head > span:nth-child(3){ color:var(--ink-500); }
.gl-sorbetto{ max-width:720px; margin:40px auto 0; text-align:center; color:var(--ink-500); line-height:1.7; padding-top:22px; border-top:1px solid var(--gold-300); }
.gl-sorbetto strong{ color:var(--rose-700); }
.gl .gl-note{ margin-top:20px; color:var(--ink-500); font-size:.92rem; }
@media (max-width:640px){
  .gl-row{ grid-template-columns:1fr 1fr; }
  .gl-row > span[role="rowheader"]{ grid-column:1 / -1; padding-bottom:4px; background:none; }
  .gl-row--head > span:first-child{ display:none; }
  .gl-row > span{ padding:10px 14px; font-size:.86rem; }
}
/* Кетъринг → страница на предложение (ketaring-predlozhenie.html, 11.10) */
.bz .ko-soon{ display:inline-block; margin-right:8px; padding:4px 10px; transform:rotate(-3deg); background:var(--vanilla); color:var(--rose-700); border:1px solid var(--gold-300); border-radius:var(--radius-sm); font-size:.66rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; vertical-align:middle; }
.ko-details{ padding-top:10px; }
.ko-grid{ display:grid; grid-template-columns:1.2fr 1fr; gap:48px; align-items:start; }
.ko-body p{ color:var(--ink-700); line-height:1.75; margin:0 0 16px; max-width:620px; }
.ko-points{ list-style:none; margin:0; padding:22px 24px; border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-md); background:var(--vanilla-deep); display:grid; gap:12px; }
.ko-points li{ display:flex; gap:10px; align-items:flex-start; color:var(--ink-700); }
.ko-points svg{ width:18px; height:18px; flex:none; color:var(--rose-700); margin-top:2px; }
.ko-others-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:16px; }
.ko-other{ display:flex; flex-direction:column; gap:10px; padding:20px 22px; border:1px solid var(--mega-line); border-top-color:var(--gold-300); border-radius:var(--radius-md); background:var(--vanilla); color:var(--ink-900); transition:border-color .2s ease; }
.ko-other strong{ font-family:var(--font-serif); font-size:1.1rem; color:var(--rose-900); }
.ko-other span{ display:inline-flex; align-items:center; gap:6px; font-size:.74rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-600, var(--gold-500)); }
.ko-other span svg{ width:13px; height:13px; }
.ko-other:hover{ border-color:var(--rose-700); }
@media (max-width:860px){ .ko-grid{ grid-template-columns:1fr; gap:24px; } }
.pkg-card.is-target{ outline:2px solid var(--gold-500); outline-offset:3px; }
.pkg-card{ scroll-margin-top:120px; }
/* Кетъринг: етикетът „Очаквайте скоро“ се чете и върху розовата карта (11.10) */
.values-grid.catering-soon-grid .value-card.pkg-card:nth-child(n) span.pkg-soon{ color:#96394f !important; background:#fdfaf3 !important; border-color:#ddc79c !important; opacity:1 !important; text-shadow:none !important; }

/* =========================================================
   Клиентски профил като приложение (account.html + js/account-app.js, 11.10)
   Стилът на сайта: ванилия, тънки рамки, златни линии, без сенки.
   ========================================================= */
#acct-loggedin{ margin-inline:calc(50% - min(440px, 50vw - 16px)); }
.app-hero{ position:relative; padding:26px 26px 20px; border:1px solid var(--mega-line); border-top:1px solid var(--gold-300); border-radius:var(--radius-md); background:var(--vanilla-deep); }
.app-hero::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--mega-bar); border-radius:0 0 var(--radius-md) var(--radius-md); }
.app-hero h3{ font-family:var(--font-serif); font-size:1.5rem; color:var(--rose-900); }
.app-points{ margin:6px 0 18px; padding:18px 20px; border:1px solid var(--gold-300); border-radius:var(--radius-md); background:var(--vanilla); }
.app-points-top{ display:flex; align-items:center; justify-content:space-between; gap:10px; }
.app-points-label{ font-size:.7rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-500); }
.app-points-soon, .app-tag{ display:inline-block; padding:3px 9px; transform:rotate(-3deg); background:var(--vanilla); color:#96394f; border:1px solid var(--gold-300); border-radius:var(--radius-sm); font-size:.62rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; white-space:nowrap; }
.app-points-num{ display:flex; align-items:baseline; gap:8px; margin:6px 0 10px; }
.app-points-num strong{ font-family:var(--font-serif); font-size:2.6rem; line-height:1; color:var(--rose-700); }
.app-points-num span{ color:var(--ink-500); font-size:.9rem; }
.app-progress{ height:8px; border-radius:8px; background:var(--clay-100, #f3e7df); overflow:hidden; border:1px solid var(--gold-300); }
.app-progress span{ display:block; height:100%; width:0; background:linear-gradient(90deg, var(--gold-500), #96394f); transition:width .8s ease; }
.app-points-next{ margin:8px 0 0; font-size:.84rem; color:var(--ink-500); }
.app-actions{ display:grid; grid-template-columns:repeat(3, minmax(0,1fr)); gap:10px; margin-top:6px; }
.app-action{ display:flex; flex-direction:column; align-items:center; gap:6px; padding:12px 8px; border:1px solid var(--mega-line); border-radius:var(--radius-md); background:var(--vanilla); color:var(--rose-900); font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; transition:border-color .2s ease; }
.app-action:hover{ border-color:#96394f; }
.app-action span svg{ width:22px; height:22px; color:#96394f; }
.acct-acc{ display:flex; flex-direction:column; gap:12px; margin-top:22px; }
.acct-sec{ border:1px solid var(--mega-line); border-top:1px solid var(--gold-300); border-radius:var(--radius-md); background:var(--vanilla); scroll-margin-top:110px; }
.acct-sec > summary{ list-style:none; display:flex; align-items:center; gap:12px; padding:16px 18px; cursor:pointer; user-select:none; }
.acct-sec > summary::-webkit-details-marker{ display:none; }
.acct-sec > summary::after{ content:""; width:9px; height:9px; margin-left:4px; border-right:1.5px solid #96394f; border-bottom:1.5px solid #96394f; transform:rotate(45deg); transition:transform .2s ease; flex:none; }
.acct-sec[open] > summary::after{ transform:rotate(-135deg); }
.acct-sec-ic{ display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border-radius:50%; border:1px solid var(--gold-300); color:#96394f; flex:none; }
.acct-sec-ic svg{ width:18px; height:18px; }
.acct-sec-title{ flex:1; font-family:var(--font-serif); font-size:1.12rem; color:var(--rose-900); }
.acct-sec-badge{ font-size:.72rem; font-weight:800; color:var(--gold-500); letter-spacing:.06em; }
.acct-sec-body{ padding:4px 18px 20px; border-top:1px solid var(--gold-300); }
.acct-sec-body > .contact-form{ border:0 !important; background:none !important; padding:12px 0 0 !important; margin:0 !important; box-shadow:none !important; }
.acct-sec-body > .contact-form::after{ display:none !important; }
.acct-sec-body > .contact-form > h3:first-child{ display:none; }
.app-h{ font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-500); margin:18px 0 10px; }
.app-how{ list-style:none; padding:0; margin:0; display:grid; gap:10px; }
.app-how li{ display:flex; gap:10px; align-items:flex-start; color:var(--ink-700); font-size:.92rem; }
.app-how svg{ width:18px; height:18px; color:#96394f; flex:none; margin-top:2px; }
.app-soon-note{ margin:14px 0 0; color:var(--ink-500); font-size:.9rem; }
.app-rewards{ display:grid; gap:10px; }
.app-reward{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border:1px solid var(--mega-line); border-radius:var(--radius-md); background:var(--vanilla-deep); }
.app-reward strong{ display:block; color:var(--rose-900); }
.app-reward small{ display:block; color:var(--ink-500); font-size:.8rem; margin-top:2px; }
.app-history{ list-style:none; margin:0; padding:0; }
.app-history li{ display:flex; justify-content:space-between; gap:12px; padding:9px 0; border-bottom:1px dashed var(--gold-300); font-size:.9rem; }
.app-history small{ display:block; color:var(--ink-300); font-size:.76rem; }
.app-history b{ color:#2f6b3a; white-space:nowrap; }
.app-history b.neg{ color:#96394f; }
.app-codes{ display:grid; gap:10px; margin-top:12px; }
.app-code{ display:flex; align-items:center; justify-content:space-between; gap:14px; padding:14px 16px; border:1px dashed #c2a97e; border-radius:var(--radius-md); background:var(--vanilla-deep); }
.app-code.is-used, .app-code.is-expired{ opacity:.55; }
.app-code-main{ display:flex; align-items:center; gap:14px; min-width:0; }
.app-code-val{ font-family:var(--font-serif); font-size:1.4rem; font-weight:700; color:#96394f; white-space:nowrap; }
.app-code-label{ font-size:.88rem; color:var(--ink-700); min-width:0; }
.app-code-label small{ display:block; color:var(--ink-300); font-size:.76rem; }
.app-code-side{ display:flex; flex-direction:column; align-items:flex-end; gap:6px; }
.app-code-side code{ font-size:.92rem; font-weight:700; letter-spacing:.06em; color:var(--rose-900); }
.app-copy{ border:1px solid #96394f; background:none; color:#96394f; border-radius:var(--radius-sm); padding:4px 10px; font:inherit; font-size:.74rem; font-weight:700; cursor:pointer; }
.app-code-state{ font-size:.74rem; color:var(--ink-300); }
.app-note{ font-size:.84rem; color:var(--ink-500); margin:10px 0 0; }
.app-games{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; margin-top:14px; }
.app-game{ padding:16px; border:1px solid var(--mega-line); border-top:1px solid var(--gold-300); border-radius:var(--radius-md); background:var(--vanilla-deep); text-align:center; }
.app-game--wide{ grid-column:1 / -1; text-align:left; }
.app-game-head{ display:flex; align-items:center; justify-content:center; gap:8px; flex-wrap:wrap; }
.app-game--wide .app-game-head{ justify-content:flex-start; }
.app-game-head svg{ width:18px; height:18px; color:#96394f; }
.app-game-head h4{ font-family:var(--font-serif); font-size:1.05rem; color:var(--rose-900); margin:0; }
.app-game p{ font-size:.86rem; color:var(--ink-500); }
.app-wheel{ position:relative; width:min(240px, 100%); margin:10px auto 12px; }
.app-wheel-svg{ width:100%; height:auto; display:block; }
.app-wheel-pin{ position:absolute; left:50%; top:-6px; transform:translateX(-50%); width:0; height:0; border-left:11px solid transparent; border-right:11px solid transparent; border-top:20px solid #5c2530; z-index:2; }
.app-scratch{ position:relative; width:min(300px, 100%); aspect-ratio:2 / 1; margin:10px auto 6px; border:1px solid var(--gold-300); border-radius:var(--radius-md); overflow:hidden; background:var(--vanilla); }
.app-scratch-prize{ position:absolute; inset:0; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:10px; color:#96394f; font-family:var(--font-serif); font-size:1.1rem; }
.app-scratch-prize code{ font-family:var(--font-sans); font-size:.86rem; color:var(--rose-900); }
.app-scratch canvas{ position:absolute; inset:0; width:100%; height:100%; cursor:pointer; touch-action:none; }
.app-badges{ display:grid; grid-template-columns:repeat(auto-fill, minmax(140px, 1fr)); gap:10px; margin-top:10px; }
.app-badge{ display:flex; flex-direction:column; align-items:center; text-align:center; gap:4px; padding:12px 10px; border:1px dashed var(--gold-300); border-radius:var(--radius-md); background:var(--vanilla); opacity:.55; filter:grayscale(1); }
.app-badge.is-earned{ opacity:1; filter:none; border-style:solid; border-color:#c2a97e; }
.app-badge span{ display:inline-flex; width:42px; height:42px; align-items:center; justify-content:center; border-radius:50%; background:var(--vanilla-deep); border:1px solid var(--gold-300); color:#96394f; }
.app-badge span svg{ width:20px; height:20px; }
.app-badge strong{ font-size:.86rem; color:var(--rose-900); }
.app-badge small{ font-size:.72rem; color:var(--ink-500); }
.app-notify{ margin-top:12px; border:1px solid var(--mega-line); border-radius:var(--radius-md); overflow:hidden; }
.app-notify-row{ display:grid; grid-template-columns:1fr 70px 70px; align-items:center; gap:8px; padding:12px 14px; border-top:1px solid var(--gold-300); background:var(--vanilla); }
.app-notify-row:first-child{ border-top:0; }
.app-notify-head{ background:var(--vanilla-deep); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-500); text-align:center; }
.app-notify-row strong{ display:block; color:var(--rose-900); font-size:.92rem; }
.app-notify-row small{ display:block; color:var(--ink-500); font-size:.78rem; }
.app-switch{ position:relative; display:inline-block; width:42px; height:24px; justify-self:center; cursor:pointer; }
.app-switch input{ position:absolute; opacity:0; width:100%; height:100%; margin:0; cursor:pointer; }
.app-switch i{ position:absolute; inset:0; border-radius:24px; background:#e6dcd3; border:1px solid var(--gold-300); transition:background .2s ease; }
.app-switch i::after{ content:""; position:absolute; left:3px; top:3px; width:16px; height:16px; border-radius:50%; background:#fdfaf3; transition:transform .2s ease; border:1px solid #c2a97e; }
.app-switch input:checked + i{ background:#96394f; border-color:#96394f; }
.app-switch input:checked + i::after{ transform:translateX(18px); }
.app-switch input:disabled + i{ opacity:.4; }
.app-switch input:focus-visible + i{ outline:2px solid var(--gold-500); outline-offset:2px; }
.app-push-box{ margin-top:14px; padding:14px 16px; border:1px dashed var(--gold-300); border-radius:var(--radius-md); font-size:.86rem; color:var(--ink-500); }
.app-push-box p{ margin:0 0 10px; }
.pf-birth-row{ display:flex; gap:10px; flex-wrap:wrap; }
.pf-birth-row .input{ flex:1 1 180px; }
.app-modal{ position:fixed; inset:0; z-index:400; display:flex; align-items:center; justify-content:center; padding:16px; background:rgba(45,26,23,.55); }
.app-modal[hidden]{ display:none; }
.app-modal-card{ position:relative; width:min(360px, 100%); padding:26px 22px 22px; text-align:center; background:var(--vanilla); border:1px solid var(--gold-300); border-radius:var(--radius-md); }
.app-modal-card h3{ font-family:var(--font-serif); color:var(--rose-900); margin-bottom:12px; }
#app-qr-code svg{ width:min(260px, 100%); height:auto; }
.app-modal-x{ position:absolute; right:10px; top:6px; border:0; background:none; font-size:1.6rem; color:#96394f; cursor:pointer; }
.app-qr-note{ font-size:.84rem; color:var(--ink-500); margin-top:10px; }
@media (max-width:640px){
  .app-games{ grid-template-columns:1fr; }
  .app-code{ flex-direction:column; align-items:flex-start; }
  .app-code-side{ align-items:flex-start; flex-direction:row; align-items:center; }
  .app-notify-row{ grid-template-columns:1fr 54px 54px; }
  .app-reward{ flex-direction:column; align-items:flex-start; }
}
/* Админ → Лоялна програма (11.10) */
.la-games{ display:grid; gap:14px; }
.la-game{ padding:14px 16px; border:1px solid #e3d7cc; border-radius:6px; background:#fffdf9; }
.la-game-head{ margin-bottom:8px; }
.la-prizes td{ padding:4px 6px; }
.la-ok{ display:block; }
.app-link{ color:#96394f; text-decoration:underline; text-underline-offset:3px; font-weight:700; }
/* Профил → „Моят QR код“ в брандирания стил на Роза (11.10) */
.app-qr-eyebrow{ display:block; font-size:.66rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; color:var(--gold-500); margin-bottom:4px; }
.app-qr-frame{ position:relative; width:min(250px, 100%); margin:6px auto 0; padding:12px; border:1px solid #d9c08f; border-radius:14px; background:#faf7ef; }
.app-qr-frame::before{ content:""; position:absolute; inset:5px; border:1px dashed #e6d3b0; border-radius:10px; pointer-events:none; }
.app-qr-frame svg{ position:relative; display:block; width:100%; height:auto; }
.app-qr-id{ margin:10px 0 0; font-size:.78rem; font-weight:800; letter-spacing:.14em; color:#763146; }
/* Категория с 6 подкатегории (напр. Аксесоари за празника): по-големи карти, 2 реда по 3 (11.10) */
@media (min-width:861px){
  .cat-hub-grid.hub-two-rows{ grid-template-columns:repeat(3, minmax(0, 1fr)); gap:24px; }
  .cat-hub-grid.hub-two-rows .ecard{ aspect-ratio:4 / 3; height:auto; }
  .cat-hub-grid.hub-two-rows .ecard-body h3{ font-size:clamp(1.3rem, 1.8vw, 1.7rem); }
}
/* Категория без продукти — „Очаквайте скоро“ + запитване (11.10) */
.cat-soon{ position:relative; max-width:760px; margin:18px auto 10px; padding:40px 32px 34px; text-align:center; background:var(--vanilla-deep); border:1px solid var(--mega-line); border-top:1px solid var(--gold-300); border-radius:var(--radius-md); }
.cat-soon::after{ content:""; position:absolute; left:0; right:0; bottom:0; height:3px; background:var(--mega-bar); border-radius:0 0 var(--radius-md) var(--radius-md); }
.cat-soon-tag{ position:absolute; top:-13px; left:50%; transform:translateX(-50%) rotate(-3deg); padding:5px 14px; background:var(--vanilla); color:#96394f; border:1px solid var(--gold-300); border-radius:var(--radius-sm); font-size:.68rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; white-space:nowrap; }
.cat-soon h2{ font-family:var(--font-serif); font-size:clamp(1.4rem, 2.4vw, 1.9rem); color:var(--rose-900); margin:6px 0 12px; text-wrap:balance; }
.cat-soon p{ max-width:560px; margin:0 auto 22px; color:var(--ink-500); line-height:1.7; }
.cat-soon-cta{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; }
/* Начална → текстът под заглавието: двустранно подравнен и малко по-тесен (12.10) */
.hero-overlay p[data-i18n="hero_desc"]{ max-width:460px; text-align:justify; hyphens:manual; -webkit-hyphens:manual; }
@media (max-width:640px){ .hero-overlay p[data-i18n="hero_desc"]{ max-width:none; } }
.admin-pager-hint, #pl-pager .drag-over-page{ outline:2px solid var(--rose-700); }
/* Категория с „Продукти на страница“ (напр. Торти с картинка, 14.10): 4 на ред и страници с номера */
@media (min-width:961px){ .product-grid.pg-8{ grid-template-columns:repeat(4, minmax(0,1fr)); gap:20px; } }
.cat-pager{ display:flex; flex-wrap:wrap; justify-content:center; align-items:center; gap:6px; margin:28px 0 8px; }
.cat-pager button{ min-width:40px; height:40px; padding:0 10px; border:1px solid var(--mega-line); border-radius:var(--radius-sm); background:var(--vanilla); color:var(--rose-900); font:inherit; font-weight:700; cursor:pointer; }
.cat-pager button:hover{ border-color:#96394f; color:#96394f; }
.cat-pager button[aria-current="page"]{ background:#96394f; border-color:#96394f; color:#fdfaf3; }
.cat-pager button:disabled{ opacity:.35; cursor:default; }
.cat-pager .pg-gap{ padding:0 4px; color:var(--ink-500); }
.cat-pager button:focus-visible{ outline:2px solid var(--gold-500); outline-offset:2px; }

/* Каталожен номер на първо място в името на продукта */
.product-card h3 .p-ref{ color:var(--gold-300); font-family:var(--font-sans); font-weight:700; letter-spacing:.02em; white-space:nowrap; }
#pd-name .p-ref{ color:var(--gold-500, #b08d57); font-family:var(--font-sans); font-weight:700; white-space:nowrap; }

/* Таблет/мобилен (бургер меню): бутоните в хедъра — подравнени вдясно; основните продуктови категории — подредена мрежа 2 колони */
@media (max-width:860px){
  .header-actions-v2{ margin-left:auto; }
  .mega-v2-left{ display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:4px; padding:8px 0; }
  .main-nav .mega .mega-fam{ padding:10px 12px; gap:10px; min-height:44px; }
}
@media (max-width:480px){
  .mega-v2-left{ grid-template-columns:1fr; gap:2px; }
  .main-nav .mega .mega-fam{ min-height:40px; padding:8px 12px; }
}
/* Hero на таблет: текстът — подравнен от двете страни, в по-тясна колона (повече редове), без принудителния нов ред */
@media (min-width:641px) and (max-width:1180px){
  .hero-overlay p[data-i18n="hero_desc"]{ max-width:340px; white-space:normal; text-align:justify; hyphens:manual; -webkit-hyphens:manual; }
}

/* Меню на таблет: втората част на описанието (напр. „организирано от А до Я“) — на нов ред */
@media (max-width:1180px){
  .mega-panel-blurb .blurb-dash{ display:none; }
  .mega-panel-blurb .blurb-tail{ display:block; }
  .mega-panel-blurb .blurb-tail::first-letter{ text-transform:uppercase; }
}
/* Футър на таблет — компактен: 5 тесни колони, бюлетинът на един ред */
@media (min-width:601px) and (max-width:860px){
  .site-footer{ padding-top:36px; }
  .footer-grid-v2{ grid-template-columns:repeat(5, minmax(0,1fr)); gap:14px; }
  .footer-col h4{ font-size:.7rem; margin-bottom:10px; }
  .footer-col ul{ gap:7px; }
  .footer-col a{ font-size:.76rem; line-height:1.35; }
  .footer-contact-list a{ font-size:.72rem; word-break:break-word; }
  .social-row{ margin-top:12px; }
  .social-row a{ width:30px; height:30px; }
  .footer-newsletter{ margin-top:24px; padding-top:20px; gap:12px 24px; flex-wrap:nowrap; align-items:center; }
  .footer-newsletter-text{ flex:0 0 34%; }
  .footer-newsletter-text p{ font-size:.78rem; }
  .footer-newsletter-fields{ flex:1; min-width:0; }
}
/* Долната лента: „Сайтът е създаден от…“ — вдясно; място вляво за бутона за бисквитките (не застъпва „© 2026“) */
.credit-bar-by{ margin-left:auto; }
body:has(.rck-reopen) .credit-bar-inner{ padding-left:68px; }
@media (max-width:640px){ .credit-bar-by{ margin-left:0; } }
.mega-panel-blurb .blurb-dot{ display:none; }
@media (max-width:1180px){ .mega-panel-blurb .blurb-dot{ display:inline; } }
/* Количка „Довършете празника“ — истински снимки на категориите */
.cart-page .cart-upsell-media img{ object-fit:cover; }
.cart-page .cart-upsell-media img.is-cutout{ object-fit:contain; background:#fff; padding:4px; }
/* Бургер меню: подменютата (напр. „Роза в действие“) не се отместват вляво — без компютърното центриране */
@media (max-width:860px){
  .main-nav .mega, .main-nav li.has-drop:hover .mega, .main-nav li.has-drop.open .mega{ transform:none !important; left:auto !important; right:auto !important; }
}

/* ---------- Киоск за продажба в обекта (body.kiosk-mode — таблет с код от Админ → Киоск) ----------
   Максимално опростено: само „Продукти“, търсене и количка; без горна лента, профил, любими и футър. */
body.kiosk-mode .topbar,
body.kiosk-mode #account-btn,
body.kiosk-mode #wishlist-btn,
body.kiosk-mode .fav-btn,
body.kiosk-mode .site-footer,
body.kiosk-mode .credit-bar,
body.kiosk-mode .footer-newsletter{ display:none !important; }
/* Киоск: основните продуктови категории са пунктове в менюто, всяка с голямо падащо меню; останалото — в „Още“ */
body.kiosk-mode .main-nav > ul{ gap:18px; }
body.kiosk-mode .main-nav > ul > li > a{ font-size:1.02rem; font-weight:600; }
body.kiosk-mode .main-nav li.kiosk-more > a{ color:var(--ink-500); font-weight:500; }
@media (min-width:861px){
  body.kiosk-mode .main-nav .mega-kiosk{ width:min(640px, calc(100vw - 32px)); max-height:calc(100vh - 140px); overflow-y:auto; }
  body.kiosk-mode .main-nav .mega-kiosk .mega-v2-right{ padding:24px 30px; }
  body.kiosk-mode .main-nav .mega-kiosk .mega-panel ul a{ font-size:1rem; padding-top:6px; padding-bottom:6px; }
  body.kiosk-mode .main-nav .mega-kiosk .mega-panel h4{ font-size:1.25rem; }
}
.kiosk-idle{ position:fixed; inset:0; z-index:100000; background:rgba(44,26,19,.55); display:flex; align-items:center; justify-content:center; padding:24px; }
.kiosk-idle-card{ background:var(--vanilla); border:1px solid var(--gold-300); border-top:3px solid var(--rose-700); border-radius:var(--radius-card); max-width:420px; padding:28px 26px; text-align:center; display:flex; flex-direction:column; gap:12px; }
.kiosk-idle-title{ font-family:var(--font-serif); font-size:1.5rem; color:var(--rose-900); margin:0; }
.kiosk-idle-card p{ margin:0; color:var(--ink-700); }
.kiosk-done{ text-align:center; }
.kiosk-done-no{ font-family:var(--font-serif); font-size:clamp(2.6rem, 8vw, 4.2rem); color:var(--rose-900); font-weight:700; margin:4px 0 8px; letter-spacing:.02em; }
.kiosk-done-note{ font-size:.85rem; color:var(--ink-500); margin-top:14px; }
.kiosk-store{ display:block; margin-top:6px; font-size:.9rem; font-weight:600; color:var(--ganache-700); letter-spacing:.02em; }
.roza-wizard-here{ color:var(--rose-700); font-weight:700; }
/* Hero на телефон: краткият текст се показва; стрелките — долу, а не върху заглавието */
@media (max-width:600px){
  .hero-overlay p, .hero-overlay p[data-i18n="hero_desc"]{ display:block; font-size:.86rem; line-height:1.5; max-width:none; white-space:normal; text-align:justify; hyphens:manual; -webkit-hyphens:manual; margin-bottom:18px; }
  .hero-arrows{ align-items:flex-end; padding:0 14px 16px; }
  .hero-arrows button{ width:34px; height:34px; }
}
/* Бургер меню: „Всички … →“ не излиза извън менюто — текстът се пренася, стрелката остава видима */
@media (max-width:860px){
  .main-nav .mega-panel-cta, .main-nav .mega-panel-extra{ max-width:100%; }
  .main-nav .mega-panel-cta a, .main-nav .mega-panel-extra a{ display:inline-flex; flex-wrap:wrap; align-items:center; gap:4px 6px; white-space:normal; max-width:100%; letter-spacing:.04em; line-height:1.35; padding-right:4px; }
  .main-nav .mega-panel-cta a svg, .main-nav .mega-panel-extra a svg{ flex:none; }
  .main-nav .mega-v2-right{ min-width:0; overflow:visible; }
}
/* Hero на телефон: надзаглавие и заглавие горе, под тях стрелките, после краткият текст и бутонът */
@media (max-width:600px){
  .hero-full{ height:auto; min-height:56vh; }
  .hero-overlay{ align-items:flex-start; height:auto; min-height:inherit; padding:28px 0 30px; }
  .hero-overlay h1{ margin-bottom:12px; }
  .hero-arrows.hero-arrows--inline{ position:static; inset:auto; display:flex; justify-content:flex-start; gap:10px; padding:0; margin:0 0 14px; pointer-events:auto; }
  .hero-arrows.hero-arrows--inline[hidden]{ display:none !important; }
}
@media (min-width:861px){
}
@media (min-width:861px) and (max-width:1280px){
  body.kiosk-mode .main-nav > ul{ gap:12px; }
  body.kiosk-mode .main-nav > ul > li > a{ font-size:.88rem; letter-spacing:0; }
  body.kiosk-mode .logo-v2-tag{ display:none; }
}
body.kiosk-mode .main-nav li.kiosk-fam .mega, body.kiosk-mode .main-nav li.kiosk-more .mega{ transition:opacity .2s ease, visibility .2s ease, transform .2s ease; }
.kiosk-setup{ grid-column:1 / -1; max-width:560px; margin:0 auto; text-align:center; color:var(--ink-700); display:flex; flex-direction:column; gap:14px; }

/* Киоск — по-едро и просторно за пръст: менюто е на отделен ред под логото, по цялата ширина */
@media (min-width:861px){
  body.kiosk-mode .header-row-v2{ flex-wrap:wrap; row-gap:6px; padding-top:12px; padding-bottom:0; }
  body.kiosk-mode .logo-v2{ order:1; }
  body.kiosk-mode .header-actions-v2{ order:2; margin-left:auto; gap:12px; }
  body.kiosk-mode .header-actions-v2 .header-icon-btn{ width:52px; height:52px; }
  body.kiosk-mode .main-nav{ order:3; flex:0 0 100%; border-top:1px solid var(--gold-300); }
  body.kiosk-mode .main-nav > ul{ justify-content:space-between; gap:6px; }
  body.kiosk-mode .main-nav > ul > li > a{ font-size:1.12rem; font-weight:600; letter-spacing:.01em; padding:16px 10px; }
  body.kiosk-mode #site-header.scrolled .header-row-v2{ padding-top:8px; }
  /* голямото падащо меню */
  body.kiosk-mode .main-nav .mega-kiosk{ width:min(780px, calc(100vw - 32px)); }
  body.kiosk-mode .main-nav .mega-kiosk .mega-v2-right{ padding:28px 34px 30px; }
  body.kiosk-mode .main-nav .mega-kiosk .mega-panel h4{ font-size:1.45rem; margin-bottom:6px; }
  body.kiosk-mode .main-nav .mega-kiosk .mega-panel-blurb{ font-size:.95rem; max-width:none; }
  body.kiosk-mode .main-nav .mega-kiosk .mega-panel ul{ grid-template-columns:repeat(2, minmax(0,1fr)); column-gap:28px; row-gap:2px; }
  /* визията на мега менюто се запазва — само по-едри редове с повече място за пръст */
  body.kiosk-mode .main-nav .mega-kiosk .mega-panel ul a{ font-size:1.12rem; padding:11px 8px; white-space:normal; }
  body.kiosk-mode .main-nav .mega-kiosk .mega-group-label{ font-size:.8rem; margin:18px 0 8px; }
  body.kiosk-mode .main-nav .mega-kiosk .mega-panel-cta a{ font-size:1rem; padding:10px 0; }
  body.kiosk-mode .main-nav li.kiosk-more .mega ul a{ font-size:1.08rem; padding:12px 16px; }
}
/* по-едри бутони и полета навсякъде в киоска */
body.kiosk-mode .btn{ min-height:52px; font-size:1rem; padding-left:24px; padding-right:24px; }
@media (min-width:861px) and (max-width:1240px){
  body.kiosk-mode .main-nav > ul{ flex-wrap:wrap; justify-content:center; column-gap:4px; }
  body.kiosk-mode .main-nav > ul > li > a{ padding:12px 12px; }
}
/* Киоск: менюто винаги може да мине на втори ред (много категории) */
@media (min-width:861px){ body.kiosk-mode .main-nav > ul{ flex-wrap:wrap; justify-content:center; column-gap:4px; } }

/* Киоск: големи бутони най-горе на началната страница */
.kiosk-quick{ background:var(--vanilla); border-bottom:1px solid var(--gold-300); }
.kiosk-quick-row{ display:grid; grid-template-columns:repeat(auto-fit, minmax(220px, 1fr)); gap:14px; padding-block:16px; }
.kiosk-quick-btn{ position:relative; display:flex; align-items:flex-end; min-height:120px; border-radius:var(--radius-card); overflow:hidden; border:1px solid var(--gold-300); background:var(--rose-900); color:var(--vanilla); text-decoration:none; }
.kiosk-quick-btn img{ position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.kiosk-quick-btn::before{ content:""; position:absolute; inset:0; background:linear-gradient(to top, rgba(44,26,19,.85) 0%, rgba(44,26,19,.35) 55%, rgba(44,26,19,.05) 100%); z-index:1; }
.kiosk-quick-btn span{ position:relative; z-index:2; font-family:var(--font-serif); font-size:1.45rem; font-weight:700; padding:14px 18px; line-height:1.2; }
.kiosk-quick-btn span::after{ content:" →"; color:var(--gold-300); }
.kiosk-quick-btn:active{ transform:scale(.99); }
@media (max-width:600px){ .kiosk-quick-btn{ min-height:90px; } .kiosk-quick-btn span{ font-size:1.2rem; } }

/* Киоск: по-едри стъпки на поръчката */
body.kiosk-mode .roza-wizard-modal{ max-width:min(760px, calc(100vw - 32px)); }
body.kiosk-mode .roza-wizard-title{ font-size:1.6rem; }
body.kiosk-mode .roza-wizard-step-label{ font-size:.85rem; }
body.kiosk-mode .roza-wizard-body{ padding:26px 26px; font-size:1.05rem; }
body.kiosk-mode .roza-wizard-cards{ grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:14px; }
body.kiosk-mode .roza-wizard-cards--wide{ grid-template-columns:1fr; }
body.kiosk-mode .roza-wizard-card{ min-height:64px; padding:16px 18px; font-size:1.08rem; }
body.kiosk-mode .roza-wizard-card strong{ font-size:1.1rem; }
body.kiosk-mode .roza-wizard-card span{ font-size:.95rem; }
body.kiosk-mode .roza-wizard-subrow{ padding:12px 6px; font-size:1.05rem; }
body.kiosk-mode .roza-wizard-subrow input[type=radio]{ width:22px; height:22px; }
body.kiosk-mode .roza-wizard-continue{ min-width:220px; min-height:56px; font-size:1.08rem; }
body.kiosk-mode .roza-wizard-back, body.kiosk-mode .roza-wizard-close{ font-size:1.8rem; padding:6px 10px; }
body.kiosk-mode .roza-wizard-total-value{ font-size:1.6rem; }
body.kiosk-mode .roza-wizard-modal input[type=text], body.kiosk-mode .roza-wizard-modal textarea{ font-size:1.05rem; min-height:50px; }

/* Киоск: вместо hero — големите контейнери със снимка на категорията */
body.kiosk-mode #hero-full{ display:none; }
body.kiosk-mode .kiosk-quick{ background:var(--vanilla); padding-block:6px; }
body.kiosk-mode .kiosk-quick-row{ gap:16px; padding-block:18px; }
body.kiosk-mode .kiosk-quick-btn{ min-height:clamp(220px, 34vh, 380px); }
body.kiosk-mode .kiosk-quick-btn span{ font-size:clamp(1.5rem, 2.6vw, 2.1rem); padding:22px 24px; }

/* Киоск: „Още“ — бутон с три чертички до количката */
.kiosk-more-wrap{ position:relative; }
.kiosk-burger, .kiosk-burger::before, .kiosk-burger::after{ content:""; display:block; width:18px; height:2px; background:var(--rose-700); border-radius:1px; position:relative; }
.kiosk-burger::before{ position:absolute; top:-6px; }
.kiosk-burger::after{ position:absolute; top:6px; }
.kiosk-more-btn{ display:flex; align-items:center; justify-content:center; }
.kiosk-more-panel{ position:absolute; right:0; top:calc(100% + 8px); z-index:120; min-width:240px; background:var(--vanilla); border:1px solid var(--gold-300); border-bottom:3px solid var(--rose-700); border-radius:var(--radius-card); padding:8px 0; display:flex; flex-direction:column; }
.kiosk-more-panel[hidden]{ display:none; }
.kiosk-more-panel a{ padding:14px 22px; font-size:1.08rem; color:var(--ink-700); border-bottom:1px solid var(--rose-100); }
.kiosk-more-panel a:last-child{ border-bottom:0; }
.kiosk-more-panel a:hover{ color:var(--rose-700); background:var(--rose-100); }
/* в бургер менюто (тесен екран) другите раздели са най-долу в менюто, а бутонът „Още“ се скрива */
@media (min-width:861px){ body.kiosk-mode .main-nav li.kiosk-more-inline{ display:none; } }
@media (max-width:860px){ body.kiosk-mode .kiosk-more-wrap{ display:none; } body.kiosk-mode .main-nav li.kiosk-more-inline > a{ color:var(--ink-500); font-size:.95rem; } }
/* Киоск без текстово меню: навигацията е в контейнерите на началната страница и в бутона с три чертички */
body.kiosk-mode .main-nav, body.kiosk-mode #burger-btn, body.kiosk-mode .nav-overlay{ display:none !important; }
body.kiosk-mode .kiosk-more-wrap{ display:block !important; }
body.kiosk-mode .header-row-v2{ flex-wrap:nowrap; padding-bottom:12px; }
.kiosk-more-panel{ max-height:calc(100vh - 120px); overflow-y:auto; min-width:300px; }
.kiosk-more-label{ margin:10px 22px 4px; font-size:.72rem; font-weight:700; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-600, #9a7b4f); }
.kiosk-more-home{ font-weight:700; }
body.kiosk-mode .kiosk-quick-row{ grid-template-columns:repeat(auto-fit, minmax(240px, 1fr)); }
body.kiosk-mode .kiosk-quick-btn{ min-height:clamp(200px, 28vh, 320px); }
/* бутонът ☰ в киоска: категориите се разгъват с подкатегориите */
.kiosk-more-panel{ min-width:340px; }
.kiosk-more-group{ border-bottom:1px solid var(--rose-100); }
.kiosk-more-group > summary{ list-style:none; cursor:pointer; padding:14px 22px; font-size:1.08rem; color:var(--ink-700); display:flex; justify-content:space-between; align-items:center; }
.kiosk-more-group > summary::-webkit-details-marker{ display:none; }
.kiosk-more-group > summary::after{ content:"+"; font-size:1.4rem; color:var(--rose-700); line-height:1; }
.kiosk-more-group[open] > summary{ color:var(--rose-700); font-weight:600; }
.kiosk-more-group[open] > summary::after{ content:"–"; }
.kiosk-more-panel .kiosk-more-sub, .kiosk-more-panel .kiosk-more-all{ padding:12px 22px 12px 38px; font-size:1rem; background:var(--vanilla-blush, #fdf7f3); }
.kiosk-more-panel .kiosk-more-all{ font-weight:600; color:var(--rose-700); }

/* ===== Киоск (окончателно, 15.10): между логото и количката — ред 1 Торти / Детски торти / Торти за специален повод,
   ред 2 останалите категории (с падащите подкатегории); под хедъра — златна лента; после контейнерите ===== */
body.kiosk-mode .main-nav{ display:flex !important; order:2; flex:1 1 auto; min-width:0; border-top:0; position:static; transform:none; background:none; padding:0; box-shadow:none; inset:auto; overflow:visible; }
body.kiosk-mode .header-row-v2{ flex-wrap:nowrap; align-items:center; gap:20px; padding-top:10px; padding-bottom:10px; }
body.kiosk-mode .logo-v2{ order:1; }
body.kiosk-mode .header-actions-v2{ order:3; margin-left:0; }
body.kiosk-mode #site-header{ border-bottom:2px solid var(--gold-300); }
body.kiosk-mode .main-nav > ul{ display:flex; flex-direction:row; flex-wrap:wrap; justify-content:center; align-items:center; column-gap:6px; row-gap:0; width:100%; }
body.kiosk-mode .main-nav > ul > li.kiosk-break{ flex-basis:100%; height:0; border:0; padding:0; margin:0; }
body.kiosk-mode .main-nav > ul > li{ width:auto; border:0; }
body.kiosk-mode .main-nav > ul > li.kiosk-row1 > a{ font-family:var(--font-serif); font-size:1.32rem; font-weight:700; color:var(--rose-900); padding:8px 14px; }
body.kiosk-mode .main-nav > ul > li:not(.kiosk-row1) > a{ font-size:1rem; font-weight:500; padding:6px 10px; color:var(--ink-700); }
/* тесен екран (таблет изправен): без падащи менюта — докосване води към категорията */
@media (max-width:860px){
  body.kiosk-mode .main-nav .mega{ display:none !important; }
  body.kiosk-mode .main-nav > ul > li.kiosk-row1 > a{ font-size:1.1rem; padding:6px 8px; }
  body.kiosk-mode .main-nav > ul > li:not(.kiosk-row1) > a{ font-size:.9rem; padding:4px 7px; }
  body.kiosk-mode .logo-v2-img{ height:44px; }
}
body.kiosk-mode .main-nav > ul > li:not(.kiosk-row1) > a{ font-size:.98rem; padding:6px 8px; }
@media (max-width:1100px){ body.kiosk-mode .main-nav > ul{ column-gap:2px; } body.kiosk-mode .main-nav > ul > li:not(.kiosk-row1) > a{ font-size:.9rem; padding:5px 6px; } body.kiosk-mode .main-nav > ul > li.kiosk-row1 > a{ font-size:1.18rem; padding:6px 10px; } }
@media (max-width:860px){ body.kiosk-mode .main-nav > ul > li:not(.kiosk-row1) > a{ font-size:.84rem; padding:4px 5px; } body.kiosk-mode .main-nav > ul > li.kiosk-row1 > a{ font-size:1.02rem; padding:5px 6px; } body.kiosk-mode .header-row-v2{ gap:12px; } }
/* Киоск: контейнери за всички категории — по 4 в ред, по-малък текст */
body.kiosk-mode .kiosk-quick-row{ grid-template-columns:repeat(auto-fill, minmax(220px, 1fr)); gap:14px; }
body.kiosk-mode .kiosk-quick-btn{ min-height:clamp(170px, 22vh, 240px); }
body.kiosk-mode .kiosk-quick-btn span{ font-size:clamp(1.05rem, 1.5vw, 1.3rem); padding:14px 16px; }
.kiosk-quick-btn span::after{ content:none; }
.kiosk-quick-btn .kq-tail{ white-space:nowrap; position:static; padding:0; font-size:inherit; }
.kiosk-quick-btn .kq-tail{ color:inherit; }
.kiosk-quick-btn .kq-arrow{ color:var(--gold-300); font-weight:400; }
body.kiosk-mode .kiosk-quick-btn span.kq-tail{ white-space:nowrap; position:static; padding:0; font-size:inherit; display:inline; }
.kiosk-preview-bar{ background:var(--gold-300); color:var(--rose-950, #3a1d24); text-align:center; font-size:.82rem; font-weight:600; padding:6px 16px; }
/* Телефон: иконите Facebook / Instagram горе — по-големи и по-лесни за натискане */
@media (max-width:600px){
  .topbar-social{ gap:4px; }
  .topbar-social a{ display:inline-flex; align-items:center; justify-content:center; width:32px; height:32px; }
  .topbar-social svg{ width:19px; height:19px; }
}
/* Телефон: без стрелки в hero — снимките се сменят сами и с плъзгане на пръст */
@media (max-width:600px){ .hero-arrows, .hero-arrows.hero-arrows--inline{ display:none !important; } }
/* Телефон: стрелките на колекциите — върху снимките, вертикално по средата */
.coll-slider-box{ position:relative; }
.slider-nav.slider-nav--over{ position:absolute; inset:0; display:flex; justify-content:space-between; align-items:center; padding:0 6px; pointer-events:none; z-index:3; }
.slider-nav--over .slider-arrow{ pointer-events:auto; background:rgba(253,250,243,.85); border-color:var(--gold-300); color:var(--rose-900); }

/* „Персонализирана поръчка“: фокус на снимката — отделно за телефон (Админ → Hero снимки → „Фокус на телефон“) */
.custom-slide img{ object-position:var(--pos, 50% 50%); }
@media (max-width:640px){ .custom-slide img{ object-position:var(--pos-m, var(--pos, 50% 50%)); } }
/* бутоните — винаги центрирани; на телефон и текстът е центриран */
.personal-banner-actions{ justify-content:center; }
.custom-slides-dots{ justify-content:center; }
@media (max-width:640px){
  .custom-slides-banner .personal-banner-body{ text-align:center; }
  .custom-slides-banner .personal-banner-body .eyebrow{ display:inline-block; }
}
/* Промо банери (напр. Gaming Hub): бутоните — центрирани */
.home-promo-actions{ justify-content:center; }
/* бутоните (и точките) — центрирани под текста и на компютър, където текстът е вдясно */
@media (min-width:641px){
  .custom-slides-banner .personal-banner-actions, .custom-slides-banner .custom-slides-dots{ justify-content:center; width:100%; max-width:470px; margin-left:auto; }
}
@media (max-width:640px){ .custom-slides-banner .personal-banner-body p{ text-align:justify; text-align-last:center; } }

/* Най-долната лента под футъра — всичко центрирано (заменя „Сайтът е създаден от…“ вдясно) */
.credit-bar-inner{ justify-content:center; text-align:center; column-gap:28px; }
.credit-bar-legal{ justify-content:center; }
.credit-bar-by{ margin-left:0; }
@media (max-width:640px){ .credit-bar-inner{ align-items:center; text-align:center; } }
body:has(.rck-reopen) .credit-bar-inner{ padding-left:68px; padding-right:68px; }
/* Телефон: бургер менюто — на цял екран; основните категории — на две колони (подкатегориите се виждат веднага под тях) */
@media (max-width:600px){
  .main-nav{ inset:0 !important; padding:78px 18px 24px; }
  .main-nav.open{ box-shadow:none; }
  .mega-v2-left{ grid-template-columns:repeat(2, minmax(0,1fr)); gap:6px; }
  .main-nav .mega .mega-fam{ min-height:44px; padding:8px 10px; gap:8px; font-size:.9rem; }
}
@media (max-width:600px){ .main-nav{ width:100% !important; max-width:none !important; left:0 !important; right:0 !important; } }
/* Телефон: отвореното меню започва най-горе (без празно поле), бургерът стои на мястото си върху него */
@media (max-width:600px){
  .main-nav{ padding-top:14px !important; }
  .main-nav > ul > li:first-child{ padding-right:64px; }
}
@media (max-width:600px){ .main-nav > ul > li:nth-child(-n+2) > a{ margin-right:64px; } .main-nav > ul > li:first-child{ padding-right:0; } }
/* Бургер меню: стрелка „прибери“ (нагоре) до разгърнатата категория */
.nav-caret{ display:none; }
@media (max-width:860px){
  .main-nav li.has-drop > a{ display:flex; align-items:center; justify-content:space-between; }
  .main-nav li.has-drop.open > a .nav-caret{ display:inline-block; width:10px; height:10px; border-left:2px solid var(--rose-700); border-top:2px solid var(--rose-700); transform:rotate(45deg); margin:6px 6px 0 12px; flex:none; }
}
/* Телефон: при отворено меню ☰ е на един ред с „Начало“ (горе вдясно) */
@media (max-width:600px){
  body.nav-open #burger-btn{ position:fixed; top:17px; right:16px; z-index:200; background:var(--vanilla); }
  .main-nav > ul > li:nth-child(2) > a{ margin-right:0; }
}
/* Телефон: по-четим ситен текст (етикети, тип на обекта, долна лента) — не под ~12,5px */
@media (max-width:600px){
  .topbar-left a{ font-size:.8rem; }
  .store-type{ font-size:.8rem; letter-spacing:.06em; }
  .product-card .cat-label{ font-size:.76rem; }
  .filter-dd-label{ font-size:.74rem; }
  .collection-card-sub{ font-size:.8rem; }
  .home-promo-eyebrow{ font-size:.76rem; }
  .testimonial-src{ font-size:.76rem; }
  .action-soon{ font-size:.72rem; }
  .breadcrumbs, .breadcrumbs a{ font-size:.82rem; }
  .footer-col a, .footer-col h4, .footer-newsletter-consent, .credit-bar-inner, .credit-bar-inner a{ font-size:.84rem; }
  .link-arrow{ font-size:.82rem; }
}
@media (max-width:600px){
  .collection-card .collection-card-sub, .collection-card-body .collection-card-sub{ font-size:.8rem; }
  .action-card small, .action-section small{ font-size:.78rem; }
  .store-card .link-arrow, .product-card .link-arrow{ font-size:.82rem; }
  .product-card .info .cat-label, .product-card .cat-label a{ font-size:.76rem; }
  .filter-dd .filter-dd-label{ font-size:.76rem; }
}
@media (max-width:600px){ .store-links .link-arrow{ font-size:.82rem; } .pd-info .cat-label a, .cat-label a{ font-size:.76rem; } }
/* Карти на обектите: еднакви разстояния — икона и текст в две колони, редове през 8px */
.store-body h3{ margin:0 0 6px; line-height:1.3; }
.store-body .store-type{ display:block; margin:0 0 12px; line-height:1.3; }
.store-body ul{ display:grid; gap:8px; margin:0 0 14px; padding:0; list-style:none; }
.store-body ul li{ display:grid; grid-template-columns:18px minmax(0,1fr); column-gap:10px; align-items:start; line-height:1.45; margin:0; }
.store-body ul li svg{ margin-top:2px; }
.store-body .store-links{ margin-top:0; gap:8px 22px; }
/* Телефон/таблет — бургер менюто: по-едри категории и подкатегории */
@media (max-width:860px){
  .main-nav .mega .mega-fam, .main-nav .mega .mega-fam span{ font-size:1rem; }
  .main-nav .mega-panel h4, .main-nav .mega-panel h4 a{ font-size:1.05rem; }
  .main-nav .mega-panel-blurb{ font-size:.92rem; line-height:1.5; }
  .main-nav .mega-panel ul a{ font-size:1rem; padding-top:8px; padding-bottom:8px; }
  .main-nav .mega-group-label, .main-nav .mega-group-label a{ font-size:.8rem; }
  .main-nav .mega-v2-footer .link-arrow, .main-nav .mega-panel-cta a, .main-nav .mega-panel-extra a{ font-size:.92rem; }
  .main-nav .mega-narrow ul a, .main-nav .mega-more-item, .main-nav .loc-group-label{ font-size:.98rem; }
}

/* Телефон: бутон „по две / по една торта на ред“ (категориите) */
.grid-switch{ display:none; }
@media (max-width:600px){
  .grid-switch{ display:inline-flex; gap:4px; margin-left:auto; }
  .grid-switch button{ width:38px; height:38px; border:1px solid var(--mega-line, rgba(150,57,79,.2)); border-radius:var(--radius-sm, 6px); background:var(--vanilla); display:flex; align-items:center; justify-content:center; padding:0; }
  .grid-switch button[aria-pressed="true"]{ border-color:var(--rose-700); background:var(--rose-100); }
  .gs-two{ display:grid; grid-template-columns:repeat(2, 7px); gap:3px; }
  .gs-two i{ width:7px; height:7px; background:var(--rose-700); border-radius:1px; display:block; }
  .gs-one i{ width:17px; height:17px; background:var(--rose-700); border-radius:2px; display:block; }
  body.grid-one .product-grid{ grid-template-columns:1fr !important; gap:18px; }
  body.grid-one .product-card h3{ font-size:1.05rem; }
}
/* „8 порции“ и „18,70 €“ — винаги на един ред (числото не се откъсва от думата) */
.ps-portions, .ps-amount, .pd-price-sizes .ps-portions, .product-card .price-sizes .ps-portions{ white-space:nowrap; }
.roza-wizard-card strong{ white-space:nowrap; }
/* Каталожният номер — вдясно, на реда с категорията (карта и страница на тортата) */
.product-card .card-top, .pd-top{ display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.product-card .card-top .p-ref{ color:var(--gold-300); font-family:var(--font-sans); font-weight:700; font-size:.78rem; letter-spacing:.02em; white-space:nowrap; flex:none; }
.pd-top{ margin-bottom:6px; }
.pd-top .pd-ref{ margin:0; color:var(--gold-600, #9a7b4f); font-weight:700; font-size:.9rem; white-space:nowrap; }
.pd-top .pd-ref:empty{ display:none; }
/* „Подредете по“ (каталожен номер, цена…) — винаги вдясно и менюто се събира в екрана */
.toolbar .sort-dd{ margin-left:auto; position:relative; }
.toolbar .sort-dd-menu{ left:auto !important; right:0 !important; max-width:calc(100vw - 32px); }
@media (max-width:600px){
  .toolbar{ row-gap:10px; }
  .toolbar .grid-switch{ margin-left:auto; }
  .toolbar .sort-dd{ flex:1 0 100%; display:flex; justify-content:flex-end; align-items:center; gap:8px; }
  .toolbar .sort-dd-menu{ min-width:220px; }
}
/* Телефон: долната лента — всеки елемент на един ред (© …, правните връзки, „Сайтът е създаден от…“) */
@media (max-width:640px){
  .credit-bar-inner, body:has(.rck-reopen) .credit-bar-inner{ padding:14px 12px 16px; gap:6px; }
  body:has(.rck-reopen) .credit-bar-inner{ padding-bottom:66px; } /* място под текста за бутона за бисквитките */
  .credit-bar-inner > span{ white-space:nowrap; font-size:.76rem; }
  .credit-bar-inner .credit-bar-legal{ gap:14px; flex-wrap:nowrap; }
  .credit-bar-inner .credit-bar-legal a, .credit-bar-inner a{ font-size:.76rem; }
}
@media (max-width:360px){ .credit-bar-inner > span, .credit-bar-inner a{ font-size:.68rem; } .credit-bar-inner .credit-bar-legal{ gap:10px; } }

/* ---------- 3D модел на продукта (RealityScan → .glb) — без сенки, рамка както при снимките ---------- */
.pd-thumbs .t-3d{ display:flex; align-items:center; justify-content:center; background:var(--vanilla); }
.pd-thumbs .t-3d-label{ font-weight:800; font-size:1.05rem; letter-spacing:.04em; color:var(--rose-700); }
.pd-main-img.is-3d{ cursor:grab; }
.pd-main-img .pd-3d-viewer{ width:100%; height:100%; display:block; --poster-color:transparent; background:var(--vanilla); }
.pd-main-img .pd-3d-loading{ display:flex; align-items:center; justify-content:center; height:100%; padding:24px; text-align:center; color:var(--ink-500,#6b5a5e); }
.pd-3d-ar{ position:absolute; right:12px; bottom:12px; }
.pd-3d-progress{ display:none; }
.pd-main-img{ position:relative; }
.pd-main-img .pd-3d-full-btn{ position:absolute; left:12px; bottom:12px; z-index:3; width:40px; height:40px; display:flex; align-items:center; justify-content:center; border-radius:50%; border:1px solid rgba(92,52,36,.45); background:rgba(253,250,243,.92); color:var(--rose-700); cursor:pointer; font-size:1rem; }
.pd-main-img .pd-3d-full-btn:hover{ border-color:rgba(92,52,36,.75); }
.pd-main-img.is-3d-full{ position:fixed; inset:0; z-index:5000; width:auto; height:auto; max-width:none; aspect-ratio:auto; margin:0; border-radius:0; border:0; background:var(--vanilla); cursor:grab; }
.pd-main-img.is-3d-full .pd-3d-full-btn{ top:14px; right:14px; left:auto; bottom:auto; width:46px; height:46px; }
.pd-main-img.is-3d-full .pd-3d-ar{ right:16px; bottom:20px; }
html.pd-3d-noscroll{ overflow:hidden; }
html.pd-3d-noscroll #site-header{ display:none; }
html.pd-3d-noscroll .pd-gallery{ z-index:5000; }

/* Сватбени торти (поръчка по запитване): бутон „Поръчайте в обект“ под основния */
.pd-store-btn { display: flex; align-items: center; justify-content: center; gap: 8px; margin-top: 10px; }
.pd-store-btn svg { width: 18px; height: 18px; }
/* Картите: при високи (портретни) снимки пазим горната част на тортата и режем отдолу, откъм плота (26.10).
   При квадратните снимки няма промяна. */
.product-card .thumb .photo-cover{ object-position:50% 10%; }
/* Високите снимки се виждат цели: в мрежа само от високи снимки картите стават 4:5,
   а в смесена мрежа снимката се вписва в квадрата (26.10) */
.product-card.is-tall .thumb .photo-cover{ object-fit:contain; object-position:50% 50%; }
.product-grid:not(:has(.product-card:not(.is-tall))) .product-card.is-tall .thumb{ aspect-ratio:4 / 5; }
.product-grid:not(:has(.product-card:not(.is-tall))) .product-card.is-tall .thumb .photo-cover{ object-fit:cover; }

/* ---------- Индивидуална поръчка (individualna-poruchka.html, js/custom-offer.js) ---------- */
.co-page{ padding-block:36px 72px; }
.co-loading{ text-align:center; color:var(--ink-500); padding:60px 0; }
.co-label{ font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; color:var(--gold-600); font-weight:700; margin:0 0 8px; }
.co-row{ display:flex; justify-content:space-between; gap:16px; padding:9px 0; border-bottom:1px solid var(--gold-100); font-size:.94rem; }
.co-row span{ color:var(--ink-500); }
.co-row strong{ color:var(--ink-900); font-weight:600; text-align:right; }
/* горна част: снимка + представяне */
.co-hero{ display:grid; grid-template-columns:minmax(0, 420px) minmax(0, 1fr); gap:40px; align-items:center; padding-bottom:34px; margin-bottom:34px; border-bottom:1px solid var(--gold-300); }
.co-hero--noimg{ grid-template-columns:1fr; text-align:center; }
.co-photo{ margin:0; border:1px solid var(--gold-300); border-radius:var(--radius-card); overflow:hidden; background:var(--vanilla); aspect-ratio:1; }
.co-photo img{ width:100%; height:100%; object-fit:cover; display:block; }
.co-intro{ min-width:0; }
.co-eyebrow{ font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--gold-600); font-weight:700; margin:0 0 10px; }
.co-title{ font-family:var(--font-serif); color:var(--rose-700); font-size:clamp(1.8rem, 3.6vw, 2.6rem); line-height:1.15; margin:0; text-wrap:balance; }
.co-ref{ margin:8px 0 0; color:var(--ink-500); font-size:.88rem; }
.co-specs{ display:flex; flex-wrap:wrap; gap:10px; margin:22px 0 0; padding:0; }
.co-hero--noimg .co-specs{ justify-content:center; }
.co-specs div{ border:1px solid var(--gold-300); border-radius:var(--radius-control); padding:8px 14px; background:var(--vanilla); }
.co-specs dt{ font-size:.66rem; letter-spacing:.1em; text-transform:uppercase; color:var(--gold-600); font-weight:700; }
.co-specs dd{ margin:2px 0 0; color:var(--ink-900); font-weight:600; }
.co-desc{ margin:20px 0 0; color:var(--ink-700); line-height:1.7; max-width:62ch; }
.co-note{ margin-top:20px; padding:14px 18px; border-left:3px solid var(--gold-500); background:var(--vanilla); }
.co-note p:last-child{ margin:0; color:var(--ink-700); line-height:1.65; }
.co-valid{ margin:16px 0 0; font-size:.86rem; color:var(--ink-500); }
/* стъпки + обобщение */
.co-layout{ display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 380px); gap:36px; align-items:start; }
.co-steps{ display:grid; gap:18px; min-width:0; }
.co-step{ border:1px solid var(--gold-300); border-radius:var(--radius-md); padding:24px 26px; background:transparent; min-width:0; }
.co-step .checkout-hint{ font-size:.8rem; margin:6px 0 0; }
.co-field .checkout-hint{ text-align:right; }
.co-step-title{ display:flex; align-items:center; gap:12px; margin:0 0 18px; font-family:var(--font-serif); font-size:1.25rem; color:var(--rose-700); }
.co-step-no{ flex:none; width:30px; height:30px; border-radius:50%; border:1px solid var(--gold-500); color:var(--gold-600); display:inline-flex; align-items:center; justify-content:center; font-size:.9rem; font-weight:700; }
.co-step-lead{ margin:-6px 0 14px; color:var(--ink-500); font-size:.92rem; }
.co-step .form-group:last-child{ margin-bottom:0; }
.co-step-error{ margin:12px 0 0; color:var(--rose-700); font-size:.9rem; font-weight:600; }
.co-grid2{ display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:0 18px; }
.co-span2{ grid-column:1 / -1; }
.co-pills{ margin-bottom:16px; }
.co-when{ margin-top:18px; padding-top:18px; border-top:1px solid var(--gold-100); }
.co-stores{ display:grid; grid-template-columns:repeat(auto-fill, minmax(210px, 1fr)); gap:10px; }
.co-store{ position:relative; display:grid; gap:3px; padding:12px 14px 12px 40px; border:1px solid var(--gold-100); border-radius:var(--radius-control); cursor:pointer; background:var(--vanilla); transition:var(--transition-ui); }
.co-store:hover{ border-color:var(--gold-300); }
.co-store.is-on{ border-color:var(--rose-700); background:var(--vanilla-deep); }
.co-store input{ position:absolute; left:14px; top:15px; accent-color:var(--rose-700); }
.co-store-name{ font-weight:600; color:var(--ink-900); font-size:.92rem; }
.co-store-addr{ font-size:.8rem; color:var(--ink-500); }
.co-addons{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; }
.co-addon{ display:grid; grid-template-rows:auto 1fr auto auto; gap:6px; padding:10px; border:1px solid var(--gold-100); border-radius:var(--radius-control); background:var(--vanilla); text-align:center; }
.co-addon.is-on{ border-color:var(--rose-700); }
.co-addon-media{ aspect-ratio:1; border-radius:6px; overflow:hidden; background:transparent; }
.co-addon-media img{ width:100%; height:100%; object-fit:contain; display:block; mix-blend-mode:multiply; padding:6px; }
.co-addon-name{ font-size:.8rem; line-height:1.35; color:var(--ink-700); }
.co-addon-price{ font-weight:700; color:var(--rose-700); font-size:.9rem; }
.co-qty{ display:inline-flex; align-items:center; justify-content:center; gap:4px; }
.co-qty-btn{ width:30px; height:30px; border-radius:50%; border:1px solid var(--rose-700); background:transparent; color:var(--rose-700); font-size:1.05rem; line-height:1; cursor:pointer; }
.co-qty-btn:disabled{ opacity:.35; cursor:default; }
.co-qty-btn:not(:disabled):hover{ background:var(--rose-700); color:var(--vanilla); }
.co-qty-n{ min-width:24px; font-weight:700; font-variant-numeric:tabular-nums; }
.co-upsell-grid{ display:grid; grid-template-columns:repeat(auto-fill, minmax(150px, 1fr)); gap:12px; }
.co-upsell-link{ display:flex; flex-direction:column; padding:0; overflow:hidden; background:var(--vanilla); border:1px solid var(--gold-300); border-radius:var(--radius-card); transition:var(--transition-ui); text-align:center; cursor:pointer; font:inherit; color:inherit; }
.co-upsell-link:hover{ border-color:var(--rose-700); }
.co-upsell-media{ display:block; width:100%; aspect-ratio:4 / 3; overflow:hidden; border-bottom:1px solid var(--gold-100); }
.co-upsell-media > *{ width:100%; height:100%; }
.co-upsell-media img{ object-fit:cover; display:block; transition:transform .4s ease; }
.co-upsell-link:hover .co-upsell-media img{ transform:scale(1.04); }
.co-upsell-media img.is-cutout{ object-fit:contain; padding:14px; mix-blend-mode:multiply; }
.co-upsell-name{ padding:10px 10px 0; font-family:var(--font-serif); font-size:1rem; line-height:1.25; color:var(--rose-900); text-wrap:balance; }
.co-upsell-count{ margin-top:auto; padding:6px 10px 12px; font-size:.74rem; color:var(--gold-600); font-weight:700; min-height:2.2em; }
.co-chosen{ list-style:none; margin:14px 0 0; padding:0; }
.co-chosen:empty{ display:none; }
.co-chosen li{ display:grid; grid-template-columns:minmax(0, 1fr) auto auto; gap:14px; align-items:center; padding:9px 0; border-bottom:1px solid var(--gold-100); font-size:.92rem; }
.co-chosen li strong{ min-width:70px; text-align:right; white-space:nowrap; }
.co-chosen-name{ color:var(--ink-700); }
.co-color,.co-opt{ display:block; margin-top:6px; padding:5px 8px; border:1px solid var(--gold-300); border-radius:var(--radius-control); background:var(--vanilla); font:inherit; font-size:.84rem; color:var(--ink-700); }
/* прозорецът с продуктите от категорията */
.co-modal-overlay{ position:fixed; inset:0; z-index:400; display:flex; align-items:flex-start; justify-content:center; padding:32px 16px; overflow-y:auto; background:rgba(45,26,23,.55); }
.co-modal{ width:100%; max-width:900px; margin:auto 0; background:var(--vanilla-deep); border:1px solid var(--gold-300); border-top:3px solid var(--gold-500); border-radius:var(--radius-md); display:flex; flex-direction:column; max-height:calc(100vh - 64px); }
.co-modal-head{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:18px 22px; border-bottom:1px solid var(--gold-300); }
.co-modal-head h2{ margin:0; font-family:var(--font-serif); color:var(--rose-700); font-size:1.4rem; }
.co-modal-close{ width:40px; height:40px; border:0; background:none; font-size:1.8rem; line-height:1; color:var(--ink-500); cursor:pointer; }
.co-modal-close:hover, .co-modal-close:focus-visible{ color:var(--rose-700); }
.co-modal-body{ padding:20px 22px; overflow-y:auto; }
.co-modal-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 22px; border-top:1px solid var(--gold-300); flex-wrap:wrap; }
.co-modal-sum{ font-weight:600; color:var(--ink-700); }
.co-step .checkout-check{ display:flex; align-items:center; gap:8px; margin:0 0 12px; }
.co-free{ font-size:.8rem; color:var(--ink-500); }
#co-inv-fields{ margin-top:8px; }
/* обобщение */
.co-summary{ position:sticky; top:calc(var(--header-h, 77px) + 16px); background:var(--vanilla-deep); border:var(--border-rose); border-top:3px solid var(--gold-500); border-radius:var(--radius-md); padding:24px; min-width:0; }
.co-summary-title{ font-family:var(--font-serif); color:var(--rose-700); font-size:1.3rem; margin:0 0 14px; }
.co-lines{ list-style:none; margin:0; padding:0; }
.co-lines li{ display:flex; justify-content:space-between; gap:14px; padding:9px 0; border-bottom:1px solid var(--gold-100); font-size:.92rem; }
.co-lines li span{ color:var(--ink-700); min-width:0; }
.co-lines li small{ display:block; color:var(--ink-500); font-size:.78rem; margin-top:2px; }
.co-lines li strong{ white-space:nowrap; color:var(--ink-900); font-weight:600; }
.co-total{ border-bottom:0; padding-top:14px; }
.co-total span{ color:var(--ink-900); font-weight:700; }
.co-total strong{ color:var(--rose-700); font-size:1.4rem; font-family:var(--font-serif); }
.co-when-sum{ margin:6px 0 0; padding-top:6px; border-top:1px solid var(--gold-300); }
.co-when-sum .co-row{ font-size:.86rem; }
.co-pay{ margin-top:20px; }
.co-pay .pill-group{ margin-bottom:10px; }
.co-pay .checkout-check{ margin:14px 0; }
.co-help{ margin:18px 0 0; font-size:.86rem; color:var(--ink-500); text-align:center; }
.co-help a{ white-space:nowrap; font-weight:600; color:var(--rose-700); }
.co-msg{ max-width:640px; margin:0 auto; }
.co-done-details{ max-width:440px; margin:18px auto 0; text-align:left; }
@media (max-width: 960px){
  .co-hero{ grid-template-columns:minmax(0, 1fr); gap:24px; }
  .co-photo{ max-width:440px; width:100%; margin-inline:auto; }
  .co-layout{ grid-template-columns:minmax(0, 1fr); }
  .co-summary{ position:static; }
}
@media (max-width: 560px){
  .co-step{ padding:18px 16px; }
  .co-grid2{ grid-template-columns:minmax(0, 1fr); }
  .co-addons{ grid-template-columns:repeat(2, minmax(0, 1fr)); }
  .co-modal-overlay{ padding:0; }
  .co-modal{ max-height:100vh; border-radius:0; min-height:100vh; }
  .co-chosen li{ grid-template-columns:minmax(0, 1fr) auto; }
  .co-chosen li strong{ grid-column:2; }
  .co-summary{ padding:20px 16px; }
}
/* админ → Индивидуални поръчки */
.of-sub{ margin:0 0 12px; font-size:1rem; }
.of-img-row{ display:flex; align-items:center; gap:12px; flex-wrap:wrap; }
.of-img-row img{ width:84px; height:84px; object-fit:cover; border-radius:8px; border:1px solid var(--gold-300); }
.of-thumb{ width:44px; height:44px; object-fit:cover; border-radius:6px; float:left; margin:0 10px 0 0; }
.of-total{ margin:16px 0 6px; font-size:1rem; }
.of-total strong{ color:var(--rose-700); font-size:1.2rem; }
.of-total span{ color:var(--ink-500); font-size:.84rem; }
#of-form{ border:1px solid var(--gold-300); border-radius:10px; padding:18px; margin-bottom:20px; background:var(--vanilla); }

/* Аксесоари (топери, свещи, картички…) — по-малки карти в категорията */
.product-grid.pg-small{ grid-template-columns:repeat(auto-fill, minmax(190px, 1fr)); gap:18px; }
@media (max-width: 600px){ .product-grid.pg-small{ grid-template-columns:repeat(2, minmax(0, 1fr)); gap:12px; } }
/* „Разгледайте още предложения“ в края на категорията */
.cat-related{ border-top:1px solid var(--gold-300); margin-top:24px; }
.cat-related .section-head{ text-align:center; }
.cat-related .cat-hub-grid{ grid-template-columns:repeat(auto-fit, minmax(240px, 300px)); justify-content:center; }
@media (max-width: 560px){ .cat-related .cat-hub-grid{ grid-template-columns:repeat(2, minmax(0, 1fr)); } }
/* „Нашата история“ (За нас) — без снимка: четирите етапа в редица, по-дребен текст (01.11) */
.ab-history .ab-history-grid{ grid-template-columns:1fr; gap:0; text-align:center; }
.ab-history .ab-chapters{ display:grid; grid-template-columns:repeat(4, minmax(0, 1fr)); gap:32px; max-width:1180px; margin-inline:auto; margin-top:30px; padding-left:0; text-align:left; }
.ab-history .ab-chapters::before{ left:0; right:0; top:9px; bottom:auto; width:auto; height:1px; background:linear-gradient(90deg, var(--gold-300), var(--rose-300)); }
.ab-history .ab-chapter{ padding:30px 0 0; }
.ab-history .ab-chapter::before{ left:0; top:3px; }
.ab-history .ab-chapter-label{ font-size:1.2rem; margin-bottom:8px; }
.ab-history .ab-chapter p{ font-size:.92rem; line-height:1.65; }
.ab-history .ab-note{ margin-top:26px; }
@media (max-width: 760px){ .ab-history .ab-chapters{ grid-template-columns:minmax(0, 1fr); gap:6px; } .ab-history .ab-chapters::before{ display:none; } .ab-history .ab-chapter{ padding-top:14px; } }
@media (max-width: 560px){ .ab-history .ab-chapters{ grid-template-columns:minmax(0, 1fr); gap:6px; } .ab-history .ab-chapter{ padding-top:14px; } }
@media (min-width: 761px) and (max-width: 1000px){ .ab-history .ab-chapters{ grid-template-columns:repeat(2, minmax(0, 1fr)); } .ab-history .ab-chapters::before{ display:none; } }
.acct-google-note{ margin:10px 0 0; font-size:.78rem; color:var(--ink-500); text-align:center; line-height:1.5; }

/* Админ → Правни страници: редактор на текста */
.lg-toolbar{ display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; }
.lg-editor{ max-width:none; min-height:420px; max-height:70vh; overflow:auto; padding:18px 22px; background:#fff; border:1px solid var(--line, #ddd); border-radius:var(--radius-md, 6px); margin:0 0 14px; }
.lg-editor:focus{ outline:2px solid var(--rose-700); outline-offset:1px; }
.lg-source{ width:100%; font-family:ui-monospace, Menlo, Consolas, monospace; font-size:.82rem; line-height:1.5; margin:0 0 14px; }

/* Админ → Табло → Посетители */
.vis-online{ margin-bottom:14px; }
.vis-online-pages{ grid-column:span 2; }
.vis-dot{ display:inline-block; width:9px; height:9px; border-radius:50%; background:#b9aaa3; margin-right:4px; }
.vis-dot--on{ background:#3a9d5d; animation:vis-pulse 1.8s ease-in-out infinite; }
@keyframes vis-pulse{ 0%,100%{ opacity:1; } 50%{ opacity:.35; } }
.vis-list{ list-style:none; margin:4px 0 0; padding:0; font-size:.84rem; }
.vis-list li{ display:flex; justify-content:space-between; gap:12px; padding:2px 0; border-bottom:1px dashed var(--line, #e6d9d3); }
.vis-filter{ display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px; margin:14px 0; }
.vis-modes{ display:flex; flex-wrap:wrap; gap:6px; }
.vis-picker{ display:flex; flex-wrap:wrap; align-items:center; gap:8px 10px; }
.vis-picker label{ margin:0 4px 0 0; font-size:.78rem; }
.vis-picker input, .vis-picker select{ width:auto; min-width:0; padding:6px 8px; }
.vis-label{ font-size:1rem; color:var(--ink-900); }
.vis-legend{ display:flex; gap:18px; font-size:.78rem; color:var(--ink-300); margin:14px 0 2px; }
.vis-key{ display:inline-block; width:11px; height:11px; border-radius:3px; margin-right:5px; vertical-align:-1px; }
.vis-key--views{ background:#e6c9c6; }
.vis-key--visitors{ background:var(--rose-700); }
.vis-bars{ display:flex; align-items:flex-end; gap:6px; height:200px; padding-top:10px; margin-bottom:18px; }
.vis-bars--dense{ gap:2px; }
.vis-bar{ flex:1; min-width:0; height:100%; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; font-size:.68rem; color:var(--ink-300); }
.vis-bar-views{ width:100%; max-width:46px; background:#e6c9c6; border-radius:5px 5px 0 0; min-height:2px; display:flex; align-items:flex-end; }
.vis-bar-visitors{ width:100%; background:var(--rose-700); border-radius:5px 5px 0 0; min-height:0; }
.vis-bar-label{ height:16px; line-height:16px; white-space:nowrap; overflow:visible; }
.vis-table td, .vis-table th{ padding:7px 10px; }
@media (max-width:700px){ .vis-online-pages{ grid-column:auto; } }

/* ===== A11Y 2026-11-03 (PageSpeed: контраст и размер на докосване) — за връщане на стария вид изтрийте целия блок до «/A11Y» ===== */
.finder-section .filter-dd-label, .cat-hub-finder .filter-dd-label, .filter-bar .filter-dd-label{ color:#fff; }
.logo-v2-tag{ color:#86683a; }
.hero-dots{ gap:0; }
.hero-dots button{ position:relative; width:24px; height:24px; border:0; background:transparent; border-radius:0; }
.hero-dots button::before{ content:""; position:absolute; left:50%; top:50%; width:9px; height:9px; transform:translate(-50%,-50%); border-radius:50%; border:1px solid rgba(255,255,255,.6); background:transparent; box-sizing:border-box; transition:var(--transition-ui); }
.hero-dots button.active{ width:30px; background:transparent; border-radius:0; }
.hero-dots button.active::before{ width:22px; border-radius:5px; background:var(--gold-300); border-color:var(--gold-300); }
body:not(.kiosk-mode) .topbar-social a{ display:inline-flex; align-items:center; padding:6px; margin:-6px -2px; }
section[class*="action"] .section-head p, .credit-bar-legal a{ color:#6b5748; }
.rck-banner p{ color:#3a2a2e; }
.custom-slides-dots{ gap:0; }
.custom-slides-dots button{ position:relative; width:24px; height:24px; border:0; background:transparent; border-radius:0; }
.custom-slides-dots button::before{ content:""; position:absolute; left:50%; top:50%; width:8px; height:8px; transform:translate(-50%,-50%); border-radius:50%; border:1px solid var(--gold-300); background:transparent; box-sizing:border-box; transition:var(--transition-ui); }
.custom-slides-dots button.active{ width:30px; background:transparent; border-radius:0; }
.custom-slides-dots button.active::before{ width:22px; border-radius:4px; background:var(--gold-300); }
.promo-dots{ gap:0; margin:0; }
.promo-dots button{ position:relative; width:24px; height:24px; border:0; background:transparent; border-radius:0; }
.promo-dots button::before{ content:""; position:absolute; left:50%; top:50%; width:8px; height:8px; transform:translate(-50%,-50%); border-radius:50%; border:1px solid var(--rose-700); background:transparent; box-sizing:border-box; transition:var(--transition-ui); }
.promo-dots button.active{ width:30px; background:transparent; border-radius:0; }
.promo-dots button.active::before{ width:22px; border-radius:4px; background:var(--rose-700); }
/* /A11Y */

/* ===== ШРИФТОВЕ 2026-11-03 — Playfair (заглавия) + Nunito Sans (текст) + Cormorant Garamond (само акценти), както на test.veriga-roza.com. За връщане: изтрийте блока до «/ШРИФТОВЕ», върнете --font-sans и font-size в началото на файла ===== */
.main-nav > ul > li > a,
.main-nav .mega-fam,
.main-nav .mega-group-label,
.main-nav .mega-panel h4,
.main-nav .loc-group-label,
.main-nav .mega-more-txt strong{ font-family:var(--font-serif); }
.product-card .meta,
.product-card .link-arrow,
#pd-cta-btn, #pd-open-wizard, .pd-qty-box input, #qty-input{ font-family:var(--font-accent); font-size-adjust:.5; font-weight:600; }
.product-card .meta{ font-size:.86rem; }
.main-nav > ul > li > a{ font-size:.9rem; }
.main-nav .mega-fam{ font-size:.9rem; }
.product-card .link-arrow{ font-size:.86rem; }
/* /ШРИФТОВЕ */

/* ===== МЕГА МЕНЮ 2026-11-03 — Nunito една идея по-лек и повече въздух между категориите. За връщане изтрийте блока до «/МЕГА МЕНЮ» ===== */
.main-nav .mega ul a, .main-nav .loc-group a{ font-weight:400; }
.main-nav .mega-panel-cta .link-arrow, .main-nav .mega-panel-extra .link-arrow, .main-nav .mega-narrow-cta{ font-weight:500; }
.main-nav .mega-panel ul a{ padding:5px 8px; }
.main-nav .mega-panel ul{ row-gap:1px; }
.main-nav .mega-panel .mega-group-label{ margin:13px 0 5px; padding:9px 0 4px; }
.main-nav .mega .mega-fam{ padding:11px 20px; }
.main-nav .mega-locations .loc-group{ margin-bottom:13px; }
.main-nav .mega-locations .loc-group a{ padding:5px 4px; }
/* без скачане на ширината при смяна на панела и без «прехвърляне» на скрола към страницата */
.main-nav .mega-wide .mega-v2-body{ scrollbar-gutter:stable; overscroll-behavior:contain; }
/* /МЕГА МЕНЮ */

/* ===== ГОРНА ЛЕНТА 2026-11-03 — височина като преди (29 px; на телефон 32 px); телефон, имейл и „Обекти“ — умерен размер, иконите на Facebook и Instagram — по-големи. За връщане изтрийте блока до «/ГОРНА ЛЕНТА» ===== */
.topbar{ font-size:1.125rem; line-height:1.2; letter-spacing:.01em; }
.topbar-row{ padding-top:3.5px; padding-bottom:3.5px; }
.topbar-left{ gap:14px; font-size:.875rem; }
.topbar-left a, .topbar-left span{ gap:7px; }
.topbar-left svg, .topbar-right svg{ width:16px; height:16px; }
.topbar-sep{ height:14px; }
.topbar-right{ gap:24px; }
.topbar-social{ gap:14px; }
.topbar-social svg{ width:22px; height:22px; }
@media (min-width:641px){ .topbar-right > a{ display:inline-flex; align-items:center; gap:7px; font-size:.875rem; } }
@media (max-width:860px){
  .topbar{ font-size:.875rem; }
  .topbar-row{ padding-top:5.5px; padding-bottom:5.5px; }
  .topbar-left{ gap:12px; font-size:.875rem; }
  .topbar-left a, .topbar-left span{ gap:7px; }
  .topbar-left svg, .topbar-right svg{ width:16px; height:16px; }
  .topbar-sep{ height:14px; }
  .topbar-right{ gap:16px; }
  .topbar-right > a{ font-size:.875rem; }
  .topbar-social{ gap:10px; }
  .topbar-social svg{ width:18px; height:18px; }
}
@media (max-width:600px){
  .topbar{ font-size:1.0625rem; }
  .topbar-row{ padding-top:5.5px; padding-bottom:5.5px; }
  .topbar-left, .topbar-left a{ font-size:1.0625rem; }
  .topbar-left svg{ width:21px; height:21px; }
  .topbar-social svg{ width:26px; height:26px; }
}
/* /ГОРНА ЛЕНТА */

/* ===== СТЪКЛЕНИ БУТОНИ 2026-11-03 — сърчице и количка на картите: прозрачно стъкълце без цвят. За връщане изтрийте блока до «/СТЪКЛЕНИ БУТОНИ» ===== */
.product-card .fav-btn,
.product-card .quick-add{ background:rgba(255,255,255,.16); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.7); }
.product-card .fav-btn:hover,
.product-card .quick-add:hover{ background:rgba(255,255,255,.3); border-color:#fff; }
/* /СТЪКЛЕНИ БУТОНИ */

/* ===== HERO ТЕКСТ 2026-11-03 — подравнен отляво (без разтегнати интервали), всяко изречение на нов ред. За връщане на «разтегнатия» вид изтрийте блока до «/HERO ТЕКСТ» ===== */
.hero-overlay p[data-i18n="hero_desc"]{ text-align:left; text-wrap:pretty; }
/* /HERO ТЕКСТ */

/* ===== ШОКОЛАД 2026-11-03 — сърчице и количка на картите в шоколадовите категории: светъл rose dust (прозрачното стъкло не се вижда на тъмните снимки). За връщане изтрийте блока до «/ШОКОЛАД» ===== */
/* 04.11: кръгчето е пак прозрачно стъкълце като навсякъде; на тъмните снимки светли са самите сърчице и количка (светъл rose dust) */
.pg-choc .product-card .fav-btn,
.pg-choc .product-card .quick-add{ background:rgba(255,255,255,.16); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px); border:1px solid rgba(255,255,255,.7); }
.pg-choc .product-card .fav-btn:hover,
.pg-choc .product-card .quick-add:hover{ background:rgba(255,255,255,.3); border-color:#fff; }
.pg-choc .product-card .fav-btn svg,
.pg-choc .product-card .quick-add svg{ stroke:#f3d6de; filter:drop-shadow(0 1px 2px rgba(0,0,0,.4)); }
.pg-choc .product-card .fav-btn:hover svg,
.pg-choc .product-card .quick-add:hover svg{ stroke:#fff1f4; }
.pg-choc .product-card .fav-btn.active svg{ fill:#f3d6de; }
/* /ШОКОЛАД */

/* ===== ОТЗИВИ 2026-11-03 — всяка карта е колкото текста си (без празно място отдолу), а не всички колкото най-дългия отзив. За връщане изтрийте блока до «/ОТЗИВИ» ===== */
.testimonial-track{ align-items:flex-start; }
/* дългите отзиви — първите 7 реда и „Прочетете още“ */
.testimonial-card p{ display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:7; line-clamp:7; overflow:hidden; }
.testimonial-card.is-open p{ display:block; -webkit-line-clamp:unset; line-clamp:unset; overflow:visible; }
.testimonial-more{ align-self:flex-start; font-size:.8rem; font-weight:700; color:var(--rose-700); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.testimonial-more:hover, .testimonial-more:focus-visible{ color:var(--gold-500); outline:none; }
/* /ОТЗИВИ */

/* ===== B2B ГАЛЕРИЯ 2026-11-04 — снимки на брандирани изделия на страницата „Шоколадови изделия“ (HORECA и Корпоративни). За връщане изтрийте блока до «/B2B ГАЛЕРИЯ» ===== */
.bz-gallery{ padding:72px 0 80px; }
.bz-gallery .bz-head{ margin-bottom:38px; }
.bz-gallery-grid{ display:flex; flex-wrap:wrap; justify-content:center; gap:24px; }
.bz-gallery-item{ margin:0; flex:0 0 calc((100% - 48px) / 3); min-width:0; }
.bz-gallery-item .bz-photo{ aspect-ratio:4 / 5; }
.bz-gallery .bz-head .bz-lead{ margin:14px auto 0; }
.bz-gallery-item figcaption{ margin-top:14px; text-align:center; }
.bz-gallery-item h3{ margin:0 0 6px; font-size:1.15rem; line-height:1.25; color:var(--rose-900); }
.bz-gallery-item p{ margin:0 auto; max-width:34ch; font-size:.92rem; line-height:1.65; color:var(--ink-500); text-wrap:pretty; }
.bz-gallery-ask{ display:inline-block; margin-top:10px; font-size:.72rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--rose-700); }
.bz-gallery-cta{ display:flex; justify-content:center; margin-top:44px; }
@media (max-width:900px){
  .bz-gallery-grid{ gap:18px; }
  .bz-gallery-item{ flex-basis:calc((100% - 18px) / 2); }
}
@media (max-width:520px){
  .bz-gallery{ padding:52px 0 56px; }
  .bz-gallery-grid{ gap:12px; }
  .bz-gallery-item{ flex-basis:calc((100% - 12px) / 2); }
  .bz-gallery-item h3{ font-size:1rem; }
  .bz-gallery-item p{ font-size:.82rem; line-height:1.55; }
  .bz-gallery-cta{ margin-top:32px; }
}
/* /B2B ГАЛЕРИЯ */

/* ===== B2B ИЗДЕЛИЯ 2026-11-04 — страница на отделно изделие, писъмце „Запитване“ на картите и прикачено изделие във формата. За връщане изтрийте блока до «/B2B ИЗДЕЛИЯ» ===== */
.bz-photo--portrait{ aspect-ratio:4 / 5; }
.bz-hero-media .bz-photo--portrait{ max-width:460px; margin-left:auto; }
.bz-can{ margin:22px 0 0; }
.bz-can-title{ margin:0 0 10px; font-family:var(--font-sans); font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--rose-700); }
.bz-can ul{ list-style:none; margin:0; padding:0; display:grid; gap:6px; }
.bz-can li{ display:flex; align-items:center; gap:10px; font-size:.98rem; color:var(--ink-700); }
.bz-can li svg{ width:18px; height:18px; flex:none; color:var(--gold-500); }
.bz-price-note{ margin:20px 0 0; font-size:.78rem; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--rose-700); }
.bz-mail-btn{ display:inline-flex; align-items:center; gap:10px; }
.bz-mail-btn svg{ width:20px; height:20px; flex:none; }
.bz-gallery-item a.bz-photo{ display:block; }
.bz-gallery-item h3 a{ color:inherit; text-decoration:none; }
.bz-gallery-item h3 a:hover, .bz-gallery-item h3 a:focus-visible{ color:var(--rose-700); outline:none; }
.bz-gallery-foot{ display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:10px 14px; margin-top:12px; }
.bz-gallery-foot .bz-gallery-ask{ margin-top:0; }
.bz-gallery-mail{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px; border:1px solid var(--rose-700); border-radius:999px; color:var(--rose-700); font-size:.78rem; font-weight:700; letter-spacing:.06em; text-decoration:none; transition:var(--transition-ui); }
.bz-gallery-mail svg{ width:18px; height:18px; flex:none; }
.bz-gallery-mail:hover, .bz-gallery-mail:focus-visible{ background:var(--rose-700); color:#fff; outline:none; }
.bz-inquiry{ scroll-margin-top:96px; }
.bz-gallery--more{ padding-top:24px; }
.b2bf-product{ display:flex; align-items:center; gap:14px; margin:0 0 22px; padding:10px 14px 10px 10px; border:1px solid var(--gold-300); border-radius:var(--radius-card); background:var(--vanilla); }
.b2bf-product img{ width:56px; height:70px; object-fit:cover; border-radius:6px; flex:none; }
.b2bf-product-text{ flex:1; min-width:0; display:flex; flex-direction:column; gap:2px; }
.b2bf-product-text span{ font-size:.7rem; letter-spacing:.12em; text-transform:uppercase; font-weight:700; color:var(--rose-700); }
.b2bf-product-text strong{ font-size:1rem; line-height:1.3; color:var(--rose-900); }
.b2bf-product-x{ flex:none; width:32px; height:32px; border:1px solid var(--clay-300); border-radius:50%; background:transparent; color:var(--clay-700); font-size:1.2rem; line-height:1; cursor:pointer; }
.b2bf-product-x:hover{ background:var(--clay-100); }
@media (max-width:900px){ .bz-hero-media .bz-photo--portrait{ max-width:420px; margin:0 auto; } }
/* /B2B ИЗДЕЛИЯ */

/* ===== B2B КАРТИ ПОДРАВНЕНИ 2026-11-04 — заглавието, описанието и редът „Цена по запитване / Запитване“ са на една линия във всички карти от един ред. Височините се изравняват със скрипт (js/b2b-template.js → alignGallery), а не със „subgrid“, който се чупеше в Safari на iPad; редът с бутона е най-долу в картата. За връщане изтрийте блока до «/B2B КАРТИ ПОДРАВНЕНИ» ===== */
.bz-gallery-grid{ row-gap:38px; }
.bz-gallery-item{ display:flex; flex-direction:column; }
.bz-gallery-item figcaption{ flex:1; display:flex; flex-direction:column; }
.bz-gallery-item h3{ min-height:var(--g-h3, 0); }
.bz-gallery-item p{ min-height:var(--g-p, 0); }
.bz-gallery-item .bz-gallery-foot{ margin-top:auto; padding-top:14px; }
@media (max-width:900px){ .bz-gallery-grid{ row-gap:30px; } }
@media (max-width:520px){ .bz-gallery-grid{ row-gap:26px; } }
/* /B2B КАРТИ ПОДРАВНЕНИ */

/* ===== B2B ИЗДЕЛИЕ ПОПРАВКИ 2026-11-04 — на страницата на изделието: „Върху изделието можем да поставим“ беше с огромен заглавен шрифт (взимаше стила на всички h2) — сега е малък етикет, а списъкът е с „хапчета“; на таблет снимката е до текста, а не най-отдолу. За връщане изтрийте блока до «/B2B ИЗДЕЛИЕ ПОПРАВКИ» ===== */
.bz .bz-can{ margin:22px 0 0; }
.bz .bz-can .bz-can-title{ margin:0 0 12px; padding:0; border:0; font-family:var(--font-sans); font-size:.78rem; line-height:1.4; letter-spacing:.14em; text-transform:uppercase; font-weight:700; color:var(--rose-700); }
.bz .bz-can ul{ display:flex; flex-wrap:wrap; gap:8px; margin:0; padding:0; list-style:none; }
.bz .bz-can li{ display:inline-flex; align-items:center; gap:8px; padding:7px 14px 7px 11px; border:1px solid var(--gold-300); border-radius:999px; background:var(--vanilla); font-size:.9rem; line-height:1.3; color:var(--ink-700); }
.bz .bz-can li svg{ width:16px; height:16px; flex:none; color:var(--gold-500); }
@media (min-width:720px) and (max-width:900px){
  .bz-hero-grid:has(.bz-photo--portrait){ grid-template-columns:minmax(0, 1fr) minmax(0, 290px); gap:32px; align-items:start; padding-bottom:56px; }
  .bz-hero-grid:has(.bz-photo--portrait) .bz-hero-media .bz-photo--portrait{ max-width:none; margin:0; }
  .bz-hero-grid:has(.bz-photo--portrait) .bz-art{ display:none; }
}
/* /B2B ИЗДЕЛИЕ ПОПРАВКИ */

/* ===== МЕНЮ РАЗМЕР 2026-11-04 — Playfair Display в менюто на хедъра и в мега менюто — по-едър (линкове до 17 px, категории в левата колона 16 px, заглавия и етикети с ~1,5–2 px повече от началните). Телефонното (бургер) меню не се променя. На по-тесен екран линковете горе са по-дребни, за да се побират иконите. За връщане изтрийте блока до «/МЕНЮ РАЗМЕР» ===== */
@media (min-width:861px){
  .main-nav .mega-fam{ font-size:1rem; }
  .main-nav .mega-group-label{ font-size:.85rem; }
  .main-nav .mega-panel h4{ font-size:.9rem; }
  .main-nav .mega-locations .loc-group .loc-group-label,
  .main-nav .mega-locations .loc-group a.loc-group-label{ font-size:.9rem; }
  .main-nav .mega-more-txt strong{ font-size:1.06rem; }
  /* по-широка лява колона (210 → 240 px), за да не се чупят категориите на много редове; цялото меню е с 30 px по-широко */
  .mega-v2-left{ width:240px; }
  .mega-wide .mega{ width:690px; }
}
/* линковете в хедъра: над 1280 px — 17 px, 1140–1279 px — 16 px, 1101–1139 px — 15,2 px, под 1100 px — 14,4 px (както преди) */
@media (min-width:1101px){ .main-nav > ul > li > a{ font-size:.95rem; } }
@media (min-width:1140px){ .main-nav > ul > li > a{ font-size:1rem; } }
@media (min-width:1280px){ .main-nav > ul > li > a{ font-size:1.06rem; } }
/* /МЕНЮ РАЗМЕР */

/* ===== ЗАПИТВАНЕ ЗА ПРОДУКТ 2026-11-04 — писъмце „Запитване за този продукт“ под бутона за поръчка (всички продукти). За връщане изтрийте блока до «/ЗАПИТВАНЕ ЗА ПРОДУКТ» ===== */
.pd-ask-btn{ display:inline-flex; align-items:center; gap:9px; margin-top:14px; padding:4px 0; background:none; border:0; cursor:pointer; font-family:var(--font-sans); font-size:.92rem; font-weight:700; letter-spacing:.02em; color:var(--rose-700); text-decoration:underline; text-decoration-color:var(--rose-300); text-underline-offset:5px; transition:var(--transition-ui); }
.pd-ask-btn svg{ width:20px; height:20px; flex:none; }
.pd-ask-btn:hover, .pd-ask-btn:focus-visible{ color:var(--gold-500); text-decoration-color:currentColor; outline:none; }
/* /ЗАПИТВАНЕ ЗА ПРОДУКТ */

/* ===== GOOGLE ВХОД 2026-11-04 — „Вход с Google“ в стила на сайта (като бутон „outline“); истинският бутон на Google е отгоре му, прозрачен. За връщане изтрийте блока до «/GOOGLE ВХОД» и върнете renderButton(box, …) в js/account.js ===== */
.acct-google-btn.acct-google-custom{ position:relative; display:block; width:100%; max-width:400px; margin:0 auto; height:50px; min-height:50px; }
.acct-google-face{ position:absolute; inset:0; display:flex; align-items:center; justify-content:center; gap:12px; padding:0 20px; border:var(--border-width) solid var(--rose-700); border-radius:var(--radius-control); background:transparent; color:var(--rose-700); font-family:var(--font-sans); font-size:.86rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; white-space:nowrap; transition:var(--transition-ui); pointer-events:none; }
.acct-google-g{ display:inline-flex; align-items:center; justify-content:center; width:28px; height:28px; border-radius:50%; background:#fff; box-shadow:0 0 0 1px rgba(92,52,36,.12); flex:none; }
.acct-google-custom:hover .acct-google-face{ background:var(--rose-700); color:var(--vanilla); }
.acct-google-custom:focus-within .acct-google-face{ outline:2px solid var(--gold-500); outline-offset:3px; }
/* прозрачният бутон на Google покрива цялото видимо копче (високият 40 px бутон е разтегнат до 50 px) */
.acct-google-real{ position:absolute; top:0; left:0; right:0; height:40px; transform:scaleY(1.25); transform-origin:0 0; opacity:.003; overflow:hidden; cursor:pointer; }
/* /GOOGLE ВХОД */

/* ===== ПАДАЩИ СПИСЪЦИ 2026-11-04 — всички списъци за избор (select) са в стила на сайта: ванилов панел, златна линия горе, розов акцент и отметка. Работи в Chrome и Edge (appearance: base-select); в другите браузъри остава системният списък, но с цветовете и шрифта на сайта. Админ панелът не е засегнат. За връщане изтрийте блока до «/ПАДАЩИ СПИСЪЦИ» ===== */
body:not(.admin-page) select option{ background:var(--vanilla); color:var(--ink-700); font-family:var(--font-sans); }
@supports (appearance: base-select){
  body:not(.admin-page) select,
  body:not(.admin-page) select::picker(select){ appearance:base-select; }
  body:not(.admin-page) select::picker(select){ margin-top:4px; padding:6px 0; background:var(--vanilla); border:1px solid var(--clay-300); border-top:2px solid var(--gold-300); border-radius:var(--radius-card); box-shadow:0 14px 32px rgba(60,25,35,.16); max-height:min(340px, 55vh); scrollbar-width:thin; scrollbar-color:var(--gold-300) transparent; }
  body:not(.admin-page) select option{ display:flex; align-items:center; gap:10px; padding:10px 16px; font-size:.95rem; font-weight:400; background:transparent; cursor:pointer; }
  body:not(.admin-page) select option:hover,
  body:not(.admin-page) select option:focus-visible{ background:var(--rose-100); color:var(--rose-900); outline:none; }
  body:not(.admin-page) select option:checked{ font-weight:700; color:var(--rose-700); }
  body:not(.admin-page) select option:disabled{ color:var(--ink-300); cursor:default; }
  body:not(.admin-page) select option::checkmark{ order:1; margin-left:auto; color:var(--rose-700); }
  body:not(.admin-page) select::picker-icon{ color:var(--rose-700); transition:rotate .2s; }
  body:not(.admin-page) select:open::picker-icon{ rotate:180deg; }
}
/* /ПАДАЩИ СПИСЪЦИ */

/* ГОЛЕМИ ИМЕНА В КАРТИТЕ НА КАТЕГОРИИТЕ (04.11) — имената в картите на подкатегориите (Продукти, Шоколад, Аксесоари, Торти…) са по-едри,
   на два реда при нужда, с по-тъмен преход отдолу; размерът следва ширината на картата.
   За връщане изтрийте блока до «/ГОЛЕМИ ИМЕНА» */
.cat-hub-grid:not(.col-occasions) .ecard{ container-type:inline-size; }
.cat-hub-grid:not(.col-occasions) .ecard::after{
  background:linear-gradient(to top, rgba(22,11,11,.94) 0%, rgba(22,11,11,.8) 34%, rgba(22,11,11,.4) 60%, rgba(22,11,11,.08) 80%, transparent 92%);
}
.cat-hub-grid:not(.col-occasions) .ecard .ecard-body{ padding-bottom:14px; }
.cat-hub-grid:not(.col-occasions) .ecard .ecard-body h3{
  font-size:clamp(1.25rem, 2.2vw, 2.2rem);
  font-size:clamp(1.25rem, 8cqi, 2.9rem);
  line-height:1.1; letter-spacing:.005em; margin:0 0 6px;   /* името е плътно над линията */
  white-space:normal; text-wrap:balance; overflow-wrap:break-word;
}
/* „РАЗГЛЕДАЙТЕ →“: по-ситно и по-ниско, близо до долния ръб */
.cat-hub-grid:not(.col-occasions) .ecard .ecard-cta{ padding-top:8px; font-size:.62rem; letter-spacing:.12em; gap:6px; }
.cat-hub-grid:not(.col-occasions) .ecard .ecard-cta svg{ width:11px; height:11px; }
@media (max-width:600px){
  .cat-hub-grid:not(.col-occasions) .ecard .ecard-body h3{ font-size:clamp(1.05rem, 8.5cqi, 1.5rem); }
}
/* /ГОЛЕМИ ИМЕНА */
