/* Скриването с атрибут hidden трябва да надделява над display:flex и
   подобните. Без това правило редове като „Авансово за следващия месец",
   „Доставка" и кутията за безплатна доставка стояха видими дори когато
   кодът ги е скрил - защото .summary-row{display:flex} печели над hidden. */
[hidden] { display: none !important; }

/* bHoney — bhoney.bg (магазин за мед) — споделен стил за всички публични
   страници на новия магазин. Извлечен от одобрените макети
   (bhoney_nov_dizain_maket_home.html / _shop.html) и разширен с компоненти
   за продуктова страница, количка и checkout, които нямаше в макетите. */
:root{
  color-scheme: light;   /* пази светлата тема и от страна на стила */
  --honey: #E8A63C;
  /* Тъмният мед беше #C97C1F. На бяло това дава контраст 3,3:1, а за дребен
     текст се искат 4,5:1 - надсловите („НАТУРАЛНА КОЗМЕТИКА") и бутонът за
     грамаж падаха на проверката за четливост. Върху светлия мед #FBEBCB, на
     който стои избраният грамаж, беше още по-зле: 2,8:1.
     Новият нюанс дава 5,4:1 на бяло, 5,1:1 на кремаво и 4,6:1 на светъл мед.
     Ползва се и като фон под бял текст - там по-тъмното само помага. */
  --honey-dark: #9A5B12;
  --honey-light: #FBEBCB;
  --olive: #4B5A34;
  --olive-dark: #38431F;
  --cream: #FCF7EE;
  --cream-2: #F6EDDC;
  --text: #3A2E1F;
  --text-soft: #6B6053;
  --white: #FFFFFF;
  --radius-lg: 28px;
  --radius-md: 18px;
  --shadow: 0 20px 45px -20px rgba(75,58,20,0.25);
  --danger: #B23B3B;
}
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;}
body{font-family:'Nunito Sans', sans-serif;color:var(--text);background:var(--cream);line-height:1.6;overflow-x:hidden;}
h1,h2,h3,h4{font-family:'Lora', 'Times New Roman', Georgia, serif;font-weight:600;line-height:1.15;color:var(--olive-dark);}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1200px;margin:0 auto;padding:0 32px;}
.eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:13px;letter-spacing:.14em;text-transform:uppercase;font-weight:800;color:var(--honey-dark);margin-bottom:14px;}
/* Надсловите тръгват направо с текста - малката чертичка отпред е махната
   навсякъде. Правилото се пази празно, за да не се появи пак отнякъде. */
.eyebrow::before{content:none;}
.btn{display:inline-flex;align-items:center;gap:10px;padding:16px 30px;border-radius:100px;font-weight:800;font-size:15px;letter-spacing:.01em;border:none;cursor:pointer;transition:transform .25s ease, box-shadow .25s ease;font-family:inherit;}
.btn-primary{background:linear-gradient(135deg,var(--honey),var(--honey-dark));color:#fff;box-shadow:0 14px 30px -10px rgba(201,124,31,.65);}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 18px 34px -8px rgba(201,124,31,.75);}
.btn-primary:disabled{opacity:.55;cursor:not-allowed;transform:none;}
.btn-outline{background:transparent;border:2px solid var(--olive);color:var(--olive);}
.btn-outline:hover{background:var(--olive);color:#fff;}
.btn-sm{padding:10px 18px;font-size:13px;}

/* HEADER */
header.site-header{position:sticky;top:0;z-index:50;background:rgba(252,247,238,0.9);backdrop-filter:blur(10px);border-bottom:1px solid rgba(75,90,52,0.08);}
.topbar{background:var(--olive-dark);color:#EDE6D2;font-size:13px;padding:8px 0;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:6px;}
.topbar span{opacity:.9;}
/* Телефонът в горната лента: по-едри цифри от останалия текст и ясно, че се
   натиска. Целта е поне 44px височина, за да се уцелва лесно с пръст. */
.topbar-phone{
  display:inline-flex; align-items:center; gap:6px;
  color:#fff; text-decoration:none; font-weight:800;
  font-size:18px; letter-spacing:.02em; line-height:1.2;
  padding:6px 10px; margin:-6px 0; border-radius:8px;
  min-height:32px;
}
.topbar-phone span{font-size:20px;}
.topbar-phone:hover,.topbar-phone:focus-visible{background:rgba(255,255,255,.12);}
.footer-phone{color:inherit;text-decoration:none;font-weight:700;}
.footer-phone:hover{text-decoration:underline;}
@media (max-width:640px){
  .topbar-phone{font-size:17px;padding:8px 10px;}
  .topbar-phone span{font-size:19px;}
}
.navwrap{padding:16px 0;}
.navwrap .container{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{display:flex;align-items:center;gap:8px;}
.logo-img{height:52px;width:auto;mix-blend-mode:multiply;}
nav.mainnav ul{display:flex;gap:34px;list-style:none;font-weight:700;font-size:14.5px;letter-spacing:.02em;}
nav.mainnav a{color:var(--text);position:relative;padding:4px 0;}
nav.mainnav a.active,nav.mainnav a:hover{color:var(--honey-dark);}
nav.mainnav a::after{content:"";position:absolute;left:0;bottom:-2px;width:0;height:2px;background:var(--honey-dark);transition:width .25s ease;}
nav.mainnav a:hover::after,nav.mainnav a.active::after{width:100%;}

/* ---------------------------------------------------------------------------
   ПАДАЩО МЕНЮ „Медчета за събития"

   На компютър се отваря при посочване И при клавиатурен фокус - иначе човек с
   клавиатура не може да стигне до подкатегориите изобщо.

   На телефон hover не съществува. Там менюто е бургер и подкатегориите просто
   стоят разгънати под пункта (виж правилата при max-width:980px по-долу) -
   по-добре, отколкото да се гони докосване, което браузърът тълкува различно
   на iOS и на Android.
--------------------------------------------------------------------------- */
nav.mainnav li.has-submenu{position:relative;}
nav.mainnav .submenu{
  /* Подравнено ВЛЯВО по своя пункт, не центрирано: „Медчета за събития" е
     първият пункт и центрирано меню от 250px излизаше извън екрана вляво.
     Мерено на живо. */
  position:absolute;left:0;top:100%;transform:translateY(6px);
  display:flex;flex-direction:column;gap:0;min-width:250px;margin:0;padding:8px 0;
  list-style:none;background:#fff;border:1px solid var(--line);border-radius:14px;
  box-shadow:0 18px 40px -18px rgba(53,39,19,.45);
  opacity:0;visibility:hidden;pointer-events:none;transition:opacity .16s ease,transform .16s ease;
  z-index:60;
}
/* Мостът пази менюто отворено, докато мишката минава разстоянието до него. */
nav.mainnav li.has-submenu::after{content:"";position:absolute;left:0;right:0;top:100%;height:10px;}
nav.mainnav li.has-submenu:hover .submenu,
nav.mainnav li.has-submenu:focus-within .submenu{
  opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0);
}
nav.mainnav .submenu li{border:0;}
nav.mainnav .submenu a{display:block;padding:9px 16px;font-size:13.5px;font-weight:700;white-space:nowrap;}
nav.mainnav .submenu a::after{display:none;}
nav.mainnav .submenu a:hover,nav.mainnav .submenu a:focus-visible{background:var(--honey-light);color:var(--honey-dark);}
nav.mainnav .submenu-all{border-top:1px solid var(--line);margin-top:6px;padding-top:6px;}
nav.mainnav .submenu-all a{color:var(--muted);font-weight:800;}
nav.mainnav .submenu-caret{display:inline-block;width:5px;height:5px;margin-left:6px;vertical-align:middle;
  border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg) translateY(-2px);}

.navactions{display:flex;align-items:center;gap:18px;}
.icon-btn{width:84px;height:84px;border-radius:50%;background:var(--cream-2);display:flex;align-items:center;justify-content:center;font-size:34px;position:relative;}
.icon-btn .badge{position:absolute;top:0;right:0;background:var(--honey-dark);color:#fff;font-size:13px;font-weight:800;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;}
.icon-btn .badge.is-empty{display:none;}

/* HERO */
.hero{position:relative;padding:80px 0 60px;overflow:hidden;}
.hero-blob{position:absolute;top:-160px;right:-180px;width:640px;height:640px;background:radial-gradient(circle at 30% 30%, var(--honey-light), transparent 70%);border-radius:50%;z-index:0;}
.hero .container{position:relative;z-index:1;display:grid;grid-template-columns:.98fr 1.02fr;gap:60px;align-items:start;}
.hero h1{font-size:52px;margin-bottom:22px;max-width:560px;}
.hero h1 em{font-style:normal;color:var(--honey-dark);}
.hero p.lead{font-size:18px;color:var(--text-soft);max-width:460px;margin-bottom:34px;}
.hero-ctas{display:flex;gap:20px;align-items:center;flex-wrap:wrap;margin-bottom:14px;}
.hero-visual{position:relative;}
.hero-visual .frame{border-radius:var(--radius-lg);overflow:hidden;box-shadow:var(--shadow);transform:rotate(1.5deg);height:520px;}
/* 2026-08: цялата снимка се вижда (contain), без изрязване. Височината е
   малко по-малка, а фонът е меден, за да не личат празните ивици. */
.hero-visual .frame{height:475px;}
/* Банерът с доволни клиенти: цял ред под двете колони, започва от левия
   край, а мотото стои вдясно от числата - всичко на един ред. */
.hero .container > .seo-social-banner{grid-column:1 / -1;max-width:none;margin:30px 0 0;display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.hero .seo-social-stats{display:flex;align-items:center;gap:26px;flex:0 0 auto;}
.hero .seo-social-stat + .seo-social-stat{padding-left:26px;border-left:1px solid #eedaac;}
.hero .seo-social-tagline{margin:0;padding:0 0 0 28px;border-top:0;border-left:1px dashed #ecd6a3;flex:1 1 300px;min-width:260px;}
@media (max-width:900px){
  .hero .container > .seo-social-banner{flex-direction:column;align-items:flex-start;gap:16px;}
  .hero .seo-social-stats{flex-direction:column;align-items:flex-start;gap:14px;}
  .hero .seo-social-stat + .seo-social-stat{padding-left:0;border-left:0;}
  .hero .seo-social-tagline{padding-left:0;border-left:0;padding-top:12px;border-top:1px dashed #ecd6a3;}
}
.hero-visual .frame .photo-bg{width:100%;height:100%;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--honey-light);}
.float-card{position:absolute;background:#fff;border-radius:18px;box-shadow:var(--shadow);padding:16px 18px;display:flex;align-items:center;gap:12px;font-weight:800;font-size:14px;}
.float-card.one{bottom:34px;left:-38px;}
.float-card .dot{width:38px;height:38px;border-radius:50%;background:var(--honey-light);display:flex;align-items:center;justify-content:center;font-size:18px;}

section{padding:90px 0;}
.section-head{max-width:640px;margin:0 auto 50px;text-align:center;}
.section-head h2{font-size:38px;}
.section-head p{color:var(--text-soft);font-size:16px;margin-top:14px;}

/* PATH SPLIT */
.path-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
/* 2026-08: Картите за избор на категория са светли и чисти — без тъмния
   градиент върху снимката. Текстът стои в долната част, върху много лек
   кремав слой, за да остане снимката ясна и видът да е по-издържан. */
.path-card{position:relative;display:block;border-radius:var(--radius-lg);overflow:hidden;height:420px;box-shadow:var(--shadow);background:var(--cream-2);border:1px solid rgba(75,58,20,.08);}
.path-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .6s ease;}
.path-card:hover img{transform:scale(1.03);}
.path-overlay{position:absolute;left:18px;right:auto;bottom:18px;z-index:2;width:-moz-fit-content;width:fit-content;max-width:calc(100% - 36px);padding:18px 20px;color:var(--text);background:rgba(252,247,238,.25);border:1px solid rgba(255,255,255,.6);border-radius:var(--radius-md);backdrop-filter:blur(14px) saturate(1.05);-webkit-backdrop-filter:blur(14px) saturate(1.05);}
.path-kicker{display:inline-block;font-size:12.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--honey-dark);margin-bottom:8px;}
.path-overlay h3{color:var(--text);font-size:26px;line-height:1.25;margin-bottom:8px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden;min-height:33px;}
.path-overlay p{color:var(--text-soft);font-size:14.5px;line-height:1.55;max-width:300px;margin-bottom:12px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:45px;}
.path-cta{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:14.5px;color:var(--honey-dark);border-bottom:2px solid var(--honey);padding-bottom:4px;}
.path-card:hover .path-overlay{background:rgba(252,247,238,.44);}

/* CATEGORIES */
.cat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:26px;}
.cat-card{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 12px 30px -16px rgba(75,58,20,.18);transition:transform .3s ease, box-shadow .3s ease;}
.cat-card:hover{transform:translateY(-8px);box-shadow:var(--shadow);}
.cat-card .img{height:180px;overflow:hidden;background:var(--cream-2);}
.cat-card .img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.cat-card:hover .img img{transform:scale(1.08);}
.cat-card .body{padding:22px 22px 26px;}
.cat-card h3{font-size:19px;margin-bottom:8px;}
.cat-card p{font-size:13.5px;color:var(--text-soft);margin-bottom:14px;min-height:40px;}
.cat-link{font-weight:800;font-size:13.5px;color:var(--honey-dark);display:inline-flex;align-items:center;gap:6px;}

/* WHY US */
.why{background:var(--olive-dark);color:#EFE9D8;border-radius:40px;margin:0 24px;}
.why .container{padding:90px 32px;}
.why .section-head h2,.why .section-head p{color:#EFE9D8;}
.why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.why-card{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.12);border-radius:20px;padding:32px 26px;}
.why-card .num{width:48px;height:48px;border-radius:14px;background:var(--honey);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;margin-bottom:20px;font-size:18px;}
.why-card h3{color:#fff;font-size:19px;margin-bottom:10px;}
.why-card p{font-size:14px;color:#D8D2BF;}

/* PERSONALIZED GALLERY (медчета за събития -> design.bhoney.bg) */
.personal-gallery-wide{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.pg-card{border-radius:var(--radius-md);overflow:hidden;height:340px;box-shadow:0 18px 34px -18px rgba(75,58,20,.35);background:var(--cream-2);}
.pg-card img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.pg-card:hover img{transform:scale(1.06);}
.occasions{display:flex;flex-wrap:wrap;gap:10px;margin:24px 0 6px;}
.occasions span{background:var(--cream-2);padding:8px 16px;border-radius:100px;font-size:13px;font-weight:700;color:var(--olive-dark);}

/* TESTIMONIALS */
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.testi-card{background:#fff;border-radius:var(--radius-md);padding:30px 26px;box-shadow:0 12px 26px -18px rgba(75,58,20,.25);}
.stars{color:var(--honey-dark);font-size:15px;margin-bottom:14px;letter-spacing:2px;}
.testi-card p{font-size:14.5px;color:var(--text-soft);margin-bottom:20px;}
.testi-who{display:flex;align-items:center;gap:12px;font-weight:800;font-size:14px;}
.testi-who .avatar{width:38px;height:38px;border-radius:50%;background:var(--honey-light);color:var(--honey-dark);display:flex;align-items:center;justify-content:center;font-weight:800;}

/* NEWSLETTER CTA */
.cta-band{background:linear-gradient(120deg,var(--honey) 0%, var(--honey-dark) 100%);border-radius:var(--radius-lg);padding:60px 60px;display:flex;align-items:center;justify-content:space-between;gap:40px;flex-wrap:wrap;color:#fff;margin:0 24px;}
.cta-band h2{color:#fff;font-size:30px;max-width:420px;}
.cta-band p{color:rgba(255,255,255,.9);margin-top:10px;max-width:420px;font-size:15px;}
.cta-form{display:flex;gap:10px;}
.cta-form input{padding:15px 20px;border-radius:100px;border:none;min-width:260px;font-size:14px;font-family:inherit;}
.cta-form button{background:var(--olive-dark);color:#fff;border:none;padding:15px 26px;border-radius:100px;font-weight:800;cursor:pointer;font-family:inherit;}

/* FOOTER */
footer.site-footer{background:var(--olive-dark);color:#D8D2BF;padding:80px 0 30px;margin-top:40px;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px;padding-bottom:50px;border-bottom:1px solid rgba(255,255,255,.1);}
.footer-grid h4{color:#fff;font-size:15px;margin-bottom:18px;font-family:'Nunito Sans',sans-serif;font-weight:800;letter-spacing:.03em;text-transform:uppercase;}
.footer-grid ul{list-style:none;display:flex;flex-direction:column;gap:11px;font-size:14px;}
.footer-grid ul a:hover{color:var(--honey);}
.footer-about p{font-size:14px;max-width:280px;color:#C7C0AB;margin-bottom:20px;}
.social{display:flex;gap:12px;}
.social a{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center;color:#fff;transition:background .15s ease;}
.social a:hover{background:rgba(255,255,255,.18);}
.social a svg{width:19px;height:19px;display:block;}
.footer-bottom{display:flex;justify-content:space-between;padding-top:24px;font-size:13px;flex-wrap:wrap;gap:10px;color:#A9A28E;}

/* PAGE HEADER (shop/category/product) */
.page-header{padding:44px 0 30px;}
.breadcrumb{font-size:13px;color:var(--text-soft);font-weight:700;margin-bottom:14px;}
.breadcrumb a:hover{color:var(--honey-dark);}
.page-header h1{font-size:40px;}
.page-header p{color:var(--text-soft);margin-top:10px;max-width:560px;}
.path-tabs{display:flex;gap:12px;margin:26px 0 6px;flex-wrap:wrap;}
.path-tab{padding:10px 20px;border-radius:100px;font-weight:800;font-size:13.5px;background:var(--cream-2);color:var(--olive-dark);border:2px solid transparent;}
.path-tab.active{background:var(--olive-dark);color:#fff;}

/* SHOP LISTING */
.shop-layout{display:grid;grid-template-columns:260px 1fr;gap:44px;padding:20px 0 90px;align-items:start;}
.filters{background:var(--white);border-radius:var(--radius-md);padding:26px 24px;box-shadow:0 12px 30px -20px rgba(75,58,20,.2);position:sticky;top:110px;}
.filters h4{font-size:13px;text-transform:uppercase;letter-spacing:.06em;color:var(--olive-dark);margin-bottom:16px;font-weight:800;}
.filter-group{margin-bottom:10px;}
.filter-group ul{list-style:none;display:flex;flex-direction:column;gap:10px;}
.filter-group li a{font-size:14px;color:var(--text-soft);display:flex;justify-content:space-between;font-weight:600;}
.filter-group li a:hover,.filter-group li a.active{color:var(--honey-dark);}
.filter-group li a.active{font-weight:800;}
.filter-group li a span{color:#B4A98F;font-weight:600;}
.shop-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:26px;flex-wrap:wrap;gap:14px;}
.result-count{font-size:14px;color:var(--text-soft);}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;}
.product-card{background:var(--white);border-radius:var(--radius-md);overflow:hidden;box-shadow:0 12px 26px -18px rgba(75,58,20,.2);transition:transform .3s ease, box-shadow .3s ease;position:relative;display:flex;flex-direction:column;}
.product-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);}
.product-card .thumb{height:210px;overflow:hidden;position:relative;background:var(--cream-2);}
.product-card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.product-card:hover .thumb img{transform:scale(1.08);}
.product-body{padding:18px 20px 20px;display:flex;flex-direction:column;gap:8px;flex:1;}
.product-cat{font-size:11.5px;font-weight:800;color:var(--honey-dark);text-transform:uppercase;letter-spacing:.04em;}
.product-card h3{font-size:16px;line-height:1.3;min-height:42px;}
.product-foot{display:flex;justify-content:space-between;align-items:center;margin-top:auto;padding-top:8px;}
.price{font-weight:800;font-size:16px;color:var(--olive-dark);}
.add-btn{width:40px;height:40px;border-radius:50%;background:var(--olive-dark);color:#fff;display:flex;align-items:center;justify-content:center;font-size:16px;transition:background .2s ease;border:none;cursor:pointer;}
.add-btn:hover{background:var(--honey-dark);}
.empty-state{background:var(--white);border-radius:var(--radius-md);padding:60px 30px;text-align:center;color:var(--text-soft);box-shadow:0 12px 26px -18px rgba(75,58,20,.2);}

/* PRODUCT DETAIL */
.product-detail{display:grid;grid-template-columns:1fr 1fr;gap:56px;padding:20px 0 28px;align-items:start;}
.pd-gallery-main{border-radius:var(--radius-lg);overflow:hidden;height:460px;box-shadow:var(--shadow);background:var(--cream-2);}
.pd-gallery-main img{width:100%;height:100%;object-fit:cover;}
.pd-thumbs{display:flex;gap:12px;margin-top:14px;}
.pd-thumbs img{width:76px;height:76px;object-fit:cover;border-radius:12px;cursor:pointer;box-shadow:0 6px 14px -8px rgba(75,58,20,.3);}
.pd-info h1{font-size:32px;margin-bottom:14px;}
.pd-desc{color:var(--text-soft);font-size:15px;margin-bottom:24px;}
.pd-variants{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:24px;}
.pd-variant{padding:11px 20px;border-radius:100px;border:2px solid var(--cream-2);background:var(--white);font-weight:700;font-size:13.5px;cursor:pointer;}
.pd-variant.active{border-color:var(--honey-dark);background:var(--honey-light);color:var(--honey-dark);}
.pd-price{font-size:28px;font-weight:800;color:var(--olive-dark);margin-bottom:22px;}
.pd-qty{display:flex;align-items:center;gap:16px;margin-bottom:24px;}
.qty-stepper{display:flex;align-items:center;border:2px solid var(--cream-2);border-radius:100px;overflow:hidden;}
.qty-stepper button{width:40px;height:40px;background:var(--cream-2);border:none;font-size:18px;font-weight:800;cursor:pointer;}
.qty-stepper input{width:48px;text-align:center;border:none;font-weight:800;font-size:15px;font-family:inherit;}
.trust-strip{display:flex;flex-wrap:wrap;gap:18px;margin-top:28px;padding-top:22px;border-top:1px solid var(--cream-2);}
.trust-strip div{font-size:13px;font-weight:700;color:var(--text-soft);display:flex;align-items:center;gap:8px;}

/* CART / CHECKOUT */
.cart-layout{display:grid;grid-template-columns:1.6fr 1fr;gap:44px;padding:20px 0 90px;align-items:start;}
.cart-lines{background:var(--white);border-radius:var(--radius-md);box-shadow:0 12px 26px -18px rgba(75,58,20,.2);}
.cart-line{display:grid;grid-template-columns:76px 1fr auto auto;gap:16px;align-items:center;padding:18px 22px;border-bottom:1px solid var(--cream-2);}
.cart-line:last-child{border-bottom:none;}
.cart-line img{width:76px;height:76px;object-fit:cover;border-radius:12px;background:var(--cream-2);}
.cart-line-name{font-weight:800;font-size:14.5px;}
.cart-line-variant{font-size:13px;color:var(--text-soft);margin-top:2px;}
.cart-line-remove{font-size:12.5px;color:var(--danger);font-weight:700;margin-top:6px;cursor:pointer;background:none;border:none;padding:0;font-family:inherit;}
.cart-line-price{font-weight:800;color:var(--olive-dark);white-space:nowrap;}
.summary-card{background:var(--white);border-radius:var(--radius-md);padding:26px 24px;box-shadow:0 12px 26px -18px rgba(75,58,20,.2);position:sticky;top:110px;}
.summary-card h3{font-size:18px;margin-bottom:18px;}
.summary-row{display:flex;justify-content:space-between;font-size:14.5px;padding:8px 0;color:var(--text-soft);}
.summary-row.total{font-weight:800;font-size:17px;color:var(--olive-dark);border-top:1px solid var(--cream-2);margin-top:10px;padding-top:16px;}
.summary-note{font-size:12.5px;color:var(--text-soft);margin-top:14px;line-height:1.5;}
/* Отказан от Еконт адрес - редът спира да е сив, за да не се пропусне. */
.summary-note.is-error{color:#c0392b;font-weight:700;font-size:13.5px;}
.summary-note-action{margin-top:8px;width:100%;}
.field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px;}
.field label{font-size:13px;font-weight:800;color:var(--olive-dark);}
.field input,.field textarea,.field select{padding:13px 16px;border-radius:12px;border:1px solid #E4DCC8;font-size:14.5px;font-family:inherit;background:#fff;}
.delivery-options{display:flex;flex-direction:column;gap:10px;margin-bottom:16px;}
.delivery-option{display:flex;align-items:flex-start;gap:10px;padding:14px 16px;border-radius:12px;border:1px solid #E4DCC8;cursor:pointer;}
.delivery-option input{margin-top:3px;}
.delivery-option strong{display:block;font-size:14px;}
.delivery-option span{font-size:12.5px;color:var(--text-soft);}
/* Пояснението и редът за плащане стоят един под друг, а не в един ред. */
.delivery-option .delivery-note,.delivery-option .delivery-pay{display:block;}
.delivery-option .delivery-pay{font-size:12px;margin-top:2px;}
.form-error{background:#FBEAEA;color:var(--danger);padding:12px 16px;border-radius:12px;font-size:13.5px;font-weight:700;margin-bottom:16px;}
.form-success{background:#EAF3E4;color:var(--olive-dark);padding:30px 24px;border-radius:var(--radius-md);text-align:center;}
.toast{position:fixed;bottom:24px;right:24px;background:var(--olive-dark);color:#fff;padding:14px 22px;border-radius:100px;font-weight:800;font-size:13.5px;box-shadow:var(--shadow);z-index:200;opacity:0;transform:translateY(12px);transition:opacity .25s ease, transform .25s ease;pointer-events:none;}
.toast.visible{opacity:1;transform:translateY(0);}

@media (max-width: 980px){
  nav.mainnav{display:none;}
  .hero .container{grid-template-columns:1fr;}
  .hero h1{font-size:38px;}
  .cat-grid,.why-grid,.personal-gallery-wide,.testi-grid{grid-template-columns:repeat(2,1fr);}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .shop-layout{grid-template-columns:1fr;}
  .filters{position:static;}
  .product-grid{grid-template-columns:repeat(2,1fr);}
  .product-detail{grid-template-columns:1fr;}
  .cart-layout{grid-template-columns:1fr;}
  .summary-card{position:static;}
}
@media (max-width: 600px){
  .cat-grid,.why-grid,.personal-gallery-wide,.testi-grid,.path-grid,.product-grid{grid-template-columns:1fr;}
  .path-card{height:320px;}
  .cta-band{flex-direction:column;text-align:center;}
  .footer-grid{grid-template-columns:1fr;}
  .cart-line{grid-template-columns:56px 1fr;grid-template-areas:"img name" "img price";}
}

/* 2026-08: Банер със социално доказателство под бутоните в началото —
   същият като на SEO страниците (виж lib/social-proof-banner.php).
   Стиловете са пренесени от assets/seo-pages.css, защото магазинът зарежда
   само shop.css. */
.seo-social-banner{max-width:700px;margin:22px 0 0;padding:18px 24px;border:1px solid #f2dfb1;border-radius:22px;background:linear-gradient(135deg,#fff5dc 0%,#fffdf8 58%,#fff1cf 100%);box-shadow:0 16px 38px rgba(122,84,12,.11);}
.seo-social-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(215px,1fr));align-items:center;gap:14px 22px;}
.seo-social-stat{display:grid;gap:4px;min-width:0;}
.seo-social-stat + .seo-social-stat{padding-left:22px;border-left:1px solid #eedaac;}
.seo-social-number{font-size:clamp(38px,4.6vw,52px);line-height:.92;font-weight:900;letter-spacing:-.045em;color:var(--honey-dark);}
@supports ((background-clip:text) or (-webkit-background-clip:text)){
  .seo-social-number{background:linear-gradient(180deg,#e5a716 0%,#9c6404 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;}
}
.seo-social-label{color:#6b5a44;font-size:14px;font-weight:750;line-height:1.35;}
.seo-social-score{color:#7a4f06;font-size:19px;font-weight:900;}
.seo-social-stars{position:relative;display:inline-block;font-size:27px;line-height:1.1;letter-spacing:3px;white-space:nowrap;width:max-content;}
.seo-social-stars-base{color:#e7d9bd;}
.seo-social-stars-fill{position:absolute;top:0;left:0;overflow:hidden;white-space:nowrap;color:#f5a800;text-shadow:0 1px 0 rgba(146,96,0,.28);}
.seo-social-tagline{margin:13px 0 0;padding-top:12px;border-top:1px dashed #ecd6a3;color:#7a4f06;font-size:16px;font-weight:850;line-height:1.4;}
@media (max-width:900px){
  .seo-social-banner{padding:17px 18px;border-radius:18px;}
  .seo-social-stats{grid-template-columns:1fr;gap:14px;}
  .seo-social-stat + .seo-social-stat{padding-left:0;border-left:0;}
  .seo-social-stars{font-size:23px;letter-spacing:2px;}
  .seo-social-tagline{font-size:15px;}
}

/* Падащи информационни зони на продуктовата страница - меден бутон, както
   на bhoney.bg. Отвореното тяло е в светъл пясъчен тон. */
.pd-sections{margin:18px 0 22px;}
.pd-section{margin-bottom:10px;border-radius:10px;overflow:hidden;}
.pd-section summary{list-style:none;cursor:pointer;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:14px;background:var(--honey);color:#3A2E1F;transition:background .2s ease;}
.pd-section summary:hover{background:var(--honey-dark);color:#fff;}
.pd-section summary::-webkit-details-marker{display:none;}
.pd-section summary h2{margin:0;font-size:17px;font-weight:800;color:inherit;}
.pd-section summary::after{content:"+";font-size:22px;font-weight:800;line-height:1;flex:0 0 auto;color:inherit;}
.pd-section[open] summary::after{content:"-";}
.pd-section-body{padding:16px 18px 18px;background:#EFE7D2;color:var(--text);font-size:15px;line-height:1.65;}
.pd-section-body p{margin:0 0 10px;}
.pd-section-body p:last-child{margin-bottom:0;}
.pd-section-list{margin:0;padding-left:22px;list-style:disc;}
.pd-section-list li{margin-bottom:7px;}
.pd-section-list li:last-child{margin-bottom:0;}

/* Пълното описание - най-долу на страницата, на цялата ширина. */
.pd-full-description{max-width:900px;margin:30px auto 10px;}
.pd-full-description h2{font-size:24px;margin-bottom:14px;}
.pd-full-description p{color:var(--text-soft);font-size:15.5px;line-height:1.7;margin:0 0 12px;}
.pd-full-description .pd-section-list{color:var(--text-soft);margin-bottom:12px;}

/* Банерът с доволни клиенти на продуктовата страница. Ширината му съвпада с
   текста отдолу (900px) и е центриран заедно с него.
   Селекторът е вързан за .product-detail, за да не засяга банера на началната
   страница, който също е дете на .container. */
.product-detail ~ .seo-social-banner{max-width:900px;margin:0 auto;display:flex;align-items:center;gap:28px;flex-wrap:wrap;}
.product-detail ~ .seo-social-banner .seo-social-stats{display:flex;align-items:center;gap:26px;flex:0 0 auto;}
.product-detail ~ .seo-social-banner .seo-social-tagline{margin:0;padding:0 0 0 28px;border-top:0;border-left:1px dashed #ecd6a3;flex:1 1 300px;min-width:260px;}
@media (max-width:900px){
  .pd-section summary{padding:12px 14px;}
  .pd-section summary h2{font-size:15.5px;}
  .pd-section-body{padding:14px 14px 16px;}
  .product-detail ~ .seo-social-banner{flex-direction:column;align-items:flex-start;gap:16px;}
  .product-detail ~ .seo-social-banner .seo-social-stats{flex-direction:column;align-items:flex-start;gap:14px;}
  .product-detail ~ .seo-social-banner .seo-social-tagline{padding:12px 0 0;border-left:0;border-top:1px dashed #ecd6a3;}
}

/* Бързи бутони за периодична доставка (абонамент). */
.pd-subscription{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 18px;}
.pd-plan{flex:1 1 150px;min-width:140px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;padding:12px 14px;border:1px solid rgba(75,58,20,.16);border-radius:var(--radius-md);background:var(--white);color:var(--text);cursor:pointer;text-align:center;transition:border-color .2s ease,background .2s ease;}
.pd-plan:hover{border-color:var(--honey-dark);}
.pd-plan.active{border-color:var(--honey-dark);background:var(--honey-light);}
.pd-plan-title{font-weight:800;font-size:14.5px;line-height:1.25;}
.pd-plan-note{font-size:12px;font-weight:700;color:var(--honey-dark);line-height:1.3;}
@media (max-width:560px){ .pd-plan{flex:1 1 100%;} }

/* --------------------------------------------------------------------
   Съпътстващи продукти (виж lib/ShopAddons.php).
   Показват се на продуктовата страница, когато избраната бройка мине
   зададения праг, и в количката - според реалните количества.
   -------------------------------------------------------------------- */
.pd-addons,
.cart-addons {
  margin: 16px 0 4px;
  border: 1px dashed rgba(75, 58, 20, .22);
  border-radius: var(--radius-md, 14px);
  padding: 14px 16px;
  background: var(--cream-2, #fbf6ec);
}
.cart-addons { margin-top: 22px; }
.pd-addons-title,
.cart-addons-title {
  font-weight: 800;
  font-size: 14px;
  margin-bottom: 10px;
  color: var(--text, #2d241b);
}
.pd-addon,
.cart-addon {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 10px 0;
  border-top: 1px solid rgba(75, 58, 20, .08);
}
.pd-addon:first-of-type,
.cart-addon:first-of-type { border-top: 0; }
.pd-addon img,
.cart-addon img,
.cart-addon-blank {
  width: 64px;
  height: 64px;
  object-fit: cover;
  border-radius: 10px;
  flex: 0 0 auto;
  display: block;
  background: var(--white, #fff);
}
.pd-addon-body,
.cart-addon-body { flex: 1 1 auto; min-width: 0; }
.pd-addon-name,
.cart-addon-name { font-weight: 700; font-size: 15px; }
.pd-addon-note,
.cart-addon-note { color: var(--text-soft, #8a7a63); font-size: 13px; margin-top: 2px; }
.pd-addon-price,
.cart-addon-price { font-weight: 800; font-size: 14px; margin-top: 4px; }
.pd-addon-price.is-gift,
.cart-addon-price.is-gift { color: var(--honey-dark, #b4801f); text-transform: uppercase; letter-spacing: .04em; font-size: 12.5px; }
.pd-addon-add,
.cart-addon-add { flex: 0 0 auto; padding: 8px 16px; font-size: 14px; }

@media (max-width: 560px) {
  .pd-addon,
  .cart-addon { flex-wrap: wrap; }
  .pd-addon-add,
  .cart-addon-add { width: 100%; }
}

/* --------------------------------------------------------------------
   Годишен абонамент и безплатна доставка (виж lib/ShopShipping.php).
   -------------------------------------------------------------------- */
.pd-plan-explainer {
  margin: 10px 0 0;
  padding: 12px 14px;
  border-radius: var(--radius-md, 14px);
  background: var(--cream-2, #fbf6ec);
  border: 1px solid rgba(75, 58, 20, .1);
  color: var(--text-soft, #8a7a63);
  font-size: 13.5px;
  line-height: 1.6;
}
.summary-free {
  margin: 10px 0 0;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(180, 128, 31, .1);
  border: 1px solid rgba(180, 128, 31, .28);
  color: var(--honey-dark, #b4801f);
  font-weight: 700;
  font-size: 13.5px;
  line-height: 1.5;
}
#cart-prepay-note {
  border-top: 1px dashed rgba(75, 58, 20, .18);
  padding-top: 10px;
  margin-top: 10px;
}

/* --- 2026-08 достъпност: контраст ---------------------------------------
   Lighthouse отчете недостатъчен контраст при надтекстовете, връзките
   „Разгледай", номерата 01/02/03, инициалите в отзивите и двата реда в
   долната лента на футъра. Тук тонът се сваля дотам, че да минава AA. */
.eyebrow { color: #7a5a10 !important; }
.cat-link { color: #7a5a10 !important; }
.why .num { color: #4a3506 !important; }
.avatar { color: #6b4f0d !important; }
.footer-bottom span { color: rgba(255,255,255,.82) !important; }

/* --- Слушалката в горната лента ------------------------------------------
   Емоджито 📞 не може да се оцвети - всеки телефон го рисува със свои цветове.
   Затова е сменено със SVG, който наследява цвета от CSS.

   Потрепването се повтаря на всеки 5 секунди: самото движение трае 0,9 сек,
   останалите 4,1 сек иконата стои мирно. Дългата пауза е нарочна - иначе
   движението спира да се забелязва и започва да дразни.

   При включена настройка „по-малко движение" в системата анимацията спира.  */
.topbar-phone { display: inline-flex; align-items: center; gap: 8px; }
.topbar-phone .phone-icon {
  width: 1.15em;
  height: 1.15em;
  flex: 0 0 auto;
  color: #F5A623;
  transform-origin: 50% 60%;
  animation: bhoney-ring 5s ease-in-out infinite;
}
@keyframes bhoney-ring {
  0%, 82%, 100% { transform: rotate(0deg) scale(1); }
  84%  { transform: rotate(-14deg) scale(1.08); }
  86%  { transform: rotate(12deg)  scale(1.08); }
  88%  { transform: rotate(-10deg) scale(1.06); }
  90%  { transform: rotate(8deg)   scale(1.04); }
  92%  { transform: rotate(-5deg)  scale(1.02); }
  94%  { transform: rotate(3deg)   scale(1.01); }
  96%  { transform: rotate(0deg)   scale(1); }
}
/* По изрично желание слушалката потрепва и при включена настройка
   „по-малко движение". Ако някой ден решиш да я върнеш към стандартното
   поведение, разкоментирай трите реда отдолу.

@media (prefers-reduced-motion: reduce) {
  .topbar-phone .phone-icon { animation: none; }
}
*/

/* =========================================================================
   МОБИЛЕН ИЗГЛЕД - 2026-08
   ========================================================================= */

/* Търсенето и бързите връзки живеят В МОБИЛНОТО МЕНЮ. На компютър менюто е
   обикновена хоризонтална лента и тези две неща нямат работа там.

   Скриват се ТУК, извън медийното правило. Иначе на компютър остават без
   никакви стилове, а SVG без зададен размер се разпъва до ширината на
   родителя си - оттам и Instagram иконката колкото половин екран. */
.nav-search{display:none;}
.nav-social{display:none;}
.nav-overlay{display:none;}

/* Бутонът за меню. На компютър не съществува. */
.navtoggle{display:none;width:44px;height:44px;border:0;background:transparent;
  padding:10px;cursor:pointer;flex-direction:column;justify-content:space-between;}
.navtoggle span{display:block;height:2px;width:100%;background:var(--text);border-radius:2px;
  transition:transform .25s ease, opacity .2s ease;}
.navtoggle[aria-expanded="true"] span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.navtoggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.navtoggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

@media (max-width: 980px){

  /* --- Горна лента: три реда, всеки на своя ред и центриран --------------
     Досега трите неща се редяха едно до друго и се пренасяха както дойде. */
  .topbar .container{flex-direction:column;align-items:center;text-align:center;gap:4px;}
  .topbar .tb-claim,.topbar .tb-delivery{display:block;width:100%;}
  .topbar-phone{margin-top:2px;}

  /* --- Меню като чекмедже отляво ----------------------------------------
     Заема 3/5 от ширината, не целия екран - така се вижда, че страницата е
     отдолу и се затваря с едно докосване встрани.

     Логото и количката ОСТАВАТ на един ред: чекмеджето е извадено от потока
     (position:fixed) и не бута нищо. */
  /* ПРИЧИНА 1 за „трите точки": бутонът беше в редица с flex-wrap:nowrap и
     без забрана да се свива. Логото го притискаше и от 44px оставаха няколко,
     тоест чертичките ставаха точки. flex:0 0 44px му дава непокътната ширина. */
  .navtoggle{display:flex;order:-1;margin-right:2px;flex:0 0 44px;}
  .navwrap{padding:10px 0;}
  .navwrap .container{display:flex;align-items:center;gap:8px;flex-wrap:nowrap;}
  .navwrap .logo{flex:0 1 auto;min-width:0;}
  .navwrap .logo img{max-height:34px;width:auto;max-width:100%;}
  .navactions{flex:0 0 auto;margin-left:auto;}

  /* Количката беше 84px - на телефон изяжда половината лента. */
  .navactions .icon-btn{width:52px;height:52px;font-size:23px;}
  .navactions .icon-btn .badge{width:20px;height:20px;font-size:11px;}

  /* ПРИЧИНА 2 - защо менюто оставаше в линията на логото:
     header.site-header има backdrop-filter:blur(10px). Елемент с
     backdrop-filter става РАМКА за всички position:fixed деца вътре в него.
     Тоест чекмеджето се позиционираше спрямо шапката, а не спрямо екрана -
     затова се виждаше само в нейната височина и потъваше под следващия блок.

     На телефон махаме размазването и слагаме плътен фон. Освен това пада и
     една скъпа операция при всяко превъртане. */
  header.site-header{backdrop-filter:none;-webkit-backdrop-filter:none;background:var(--cream);z-index:70;}

  .nav-overlay{display:block;position:fixed;inset:0;background:rgba(31,26,14,.35);z-index:60;border:0;}
  .nav-overlay[hidden]{display:none;}

  /* Панелът е висок колкото съдържанието си, залепен под шапката.
     bottom вече не е зададено; вместо това има таван от 80% от височината
     на екрана - при много пунктове менюто се превърта вътре в себе си,
     вместо да излезе извън екрана. */
  nav.mainnav{
    display:flex;flex-direction:column;
    /* absolute, а НЕ fixed: при fixed „top:100%" значи 100% от височината на
       ЕКРАНА, тоест панелът щеше да падне под видимото. Шапката е sticky,
       тоест позиционирана - затова absolute се хваща за нея и top:100%
       означава „точно под шапката", каквото искаме. */
    position:absolute;top:100%;left:0;
    width:60%;max-width:340px;min-width:240px;
    height:auto;max-height:80vh;
    background:var(--white);
    border-radius:0 0 16px 0;
    box-shadow:6px 10px 30px -10px rgba(31,26,14,.35);
    transform:translateX(-100%);
    transition:transform .28s ease;
    z-index:61;
    padding:14px 18px 18px;
    overflow-y:auto;
    margin-top:0;
  }
  nav.mainnav.is-open{transform:translateX(0);}

  /* Търсене най-отгоре */
  .nav-search{display:flex;gap:6px;margin:4px 0 10px;}
  .nav-search input{flex:1 1 auto;min-width:0;height:42px;border:1px solid #e5d7c3;
    border-radius:10px;padding:0 12px;font-size:15px;font-family:inherit;background:var(--cream);}
  .nav-search button{flex:0 0 42px;height:42px;border:0;border-radius:10px;
    background:var(--honey);color:#3a2c07;display:flex;align-items:center;justify-content:center;cursor:pointer;}
  .nav-search svg{width:19px;height:19px;}

  nav.mainnav ul{flex-direction:column;gap:0;padding:4px 0 10px;}
  /* В бургера няма посочване - подкатегориите стоят отворени, с отстъп. */
  nav.mainnav .submenu{position:static;transform:none;opacity:1;visibility:visible;pointer-events:auto;
    min-width:0;margin:0;padding:0 0 6px;border:0;border-radius:0;box-shadow:none;background:transparent;}
  nav.mainnav .submenu a{padding:10px 2px 10px 18px;font-size:14px;color:var(--muted);}
  nav.mainnav .submenu li{border-top:1px solid rgba(75,58,20,.06);}
  nav.mainnav .submenu-caret{display:none;}
  nav.mainnav li{border-top:1px solid rgba(75,58,20,.10);}
  nav.mainnav a{display:block;padding:14px 2px;font-size:16px;}
  nav.mainnav a::after{display:none;}

  /* Бързи връзки най-долу */
  /* Само иконки, на един ред. Надписите остават в кода за екранните четци
     (aria-label на връзката), но не се изписват. */
  .nav-social{display:flex;margin-top:12px;padding-top:14px;border-top:1px solid rgba(75,58,20,.12);
    display:flex;flex-direction:row;justify-content:center;gap:10px;}
  /* Селекторът е с nav.mainnav отпред НАРОЧНО. По-горе стои
     nav.mainnav a{display:block;padding:14px 2px} - три нива специфичност,
     докато .nav-social a е две. Без утежняването то печелеше, връзката
     оставаше display:block и иконката залепваше вляво вместо в средата. */
  nav.mainnav .nav-social a{display:flex;align-items:center;justify-content:center;
    width:44px;height:44px;padding:0;border-radius:50%;background:var(--cream-2);
    color:var(--honey-dark);transition:background .2s ease;}
  nav.mainnav .nav-social a:hover,nav.mainnav .nav-social a:focus-visible{background:var(--honey-light);}
  .nav-social a span{position:absolute;width:1px;height:1px;padding:0;margin:-1px;
    overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
  .nav-social svg{width:20px;height:20px;flex:0 0 auto;}

  /* --- Полето с доволни клиенти -----------------------------------------
     На телефон висеше с голяма празнина отдолу. */
  .hero .seo-social-banner{margin-bottom:0;padding-bottom:14px;}
  .hero .seo-social-tagline{padding-bottom:0;}

  /* --- Картите „Мед от нашия пчелин" и „Медчета за събития" -------------
     Заглавието беше рязано на един ред и излизаше „Мед от нашия...".
     Тук му даваме два реда, а картата се смалява - на телефон 420px висока
     карта заема цял екран за нищо. */
  .path-grid{grid-template-columns:1fr;gap:18px;}
  .path-card{height:300px;}
  .path-overlay{left:14px;right:14px;bottom:14px;max-width:none;padding:14px 16px;}
  .path-overlay h3{font-size:21px;-webkit-line-clamp:2;min-height:0;}
  .path-overlay p{-webkit-line-clamp:2;min-height:0;max-width:none;font-size:13.5px;}

  /* --- Плочките с категории --------------------------------------------
     Подзаглавието на „Медчета за събития" вече е списък с поводи и трябва
     повече от един ред. */
  .cat-card p{min-height:0;}
}

@media (max-width: 560px){
  .cat-grid{grid-template-columns:1fr;}
  .path-card{height:260px;}
  .path-overlay h3{font-size:19px;}
  .section-head h2{font-size:27px;}
  section{padding:56px 0;}
}

/* Разделителите в подзаглавието на плочката „Медчета за събития". */
.cat-note strong{font-weight:800;color:var(--honey-dark);}


/* Ред с капачка в количката: бележка за минималното количество и
   надписът, докато дизайнът се добавя при връщане от дизайнера. */
.cart-line-note {
  font-size: 12px;
  color: #8a7c66;
  margin-top: 2px;
}
.cart-line-pending {
  padding: 14px 4px;
  color: #6b6053;
  font-size: 14px;
}
.qty-stepper button[disabled] {
  opacity: .4;
  cursor: not-allowed;
}

/* Списъците с предложения за улица/квартал под съответното поле. */
#econt-address-location-results,
#econt-address-city-results,
#econt-city-results {
  max-height: 240px;
  overflow-y: auto;
}
#econt-address-line[disabled] {
  opacity: .6;
  cursor: not-allowed;
}

/* ---------------------------------------------------------------------
   Сметката да се вижда, докато клиентът попълва адреса
   ---------------------------------------------------------------------
   На голям екран обобщението се залепва под продуктите и стои на място,
   докато формата отдолу се скролва.

   На телефон горната карта с обобщението се СКРИВА. Причината е проста:
   екранът е нисък, а между шапката и лентата долу оставаше толкова малко
   място, че попълването на адреса ставаше неудобно. Числата не се губят -
   долната лента показва доставката и общата сума едно до друго, а редът
   под тях поема подсказките и авансовото, които иначе живеят в картата.
   -------------------------------------------------------------------- */

.cart-summary-card{
  position: sticky;
  /* Под лепкавата шапка на сайта. */
  top: 88px;
  z-index: 2;
  /* Ако сметката стане висока (авансово, безплатна доставка, бележки),
     да може да се превърти сама, вместо да излезе извън екрана. */
  max-height: calc(100vh - 110px);
  overflow-y: auto;
}

.cart-sticky-bar{ display: none; }

@media (max-width: 980px){
  /* Горната карта отпада - долната лента я замества. */
  .cart-summary-card{ display: none; }

  .cart-sticky-bar{
    display: block;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 60;
    padding: 10px 14px calc(10px + env(safe-area-inset-bottom));
    background: var(--white);
    border-top: 1px solid var(--cream-2);
    box-shadow: 0 -8px 24px -14px rgba(75,58,20,.35);
  }
  .cart-sticky-main{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }
  /* Двете суми едно до друго: доставка и общо. */
  .cart-sticky-figures{
    display: flex;
    align-items: baseline;
    gap: 18px;
    min-width: 0;
  }
  .cart-sticky-figure{ display: flex; flex-direction: column; min-width: 0; }
  .cart-sticky-label{
    font-size: 11px;
    color: var(--text-soft);
    line-height: 1.3;
    white-space: nowrap;
  }
  .cart-sticky-figure strong{
    font-size: 15px;
    color: var(--olive-dark);
    line-height: 1.25;
    white-space: nowrap;
  }
  /* Общата сума е това, което клиентът търси с очи. */
  .cart-sticky-figure-total strong{ font-size: 19px; }

  .cart-sticky-bar .btn{ flex: 0 0 auto; padding: 12px 20px; }

  .cart-sticky-note{
    margin: 6px 0 0;
    font-size: 11.5px;
    line-height: 1.4;
    color: var(--text-soft);
  }

  /* Лентата е върху страницата - оставяме ѝ място, за да не покрива
     последното поле и бутона на формата. Двуредова е, затова с малко
     повече отстъп. */
  .cart-layout{ padding-bottom: 128px; }
}

/* Много тесни телефони: сумите отиват една под друга, за да не се
   счупят надписите. */
@media (max-width: 380px){
  .cart-sticky-figures{ gap: 12px; }
  .cart-sticky-figure strong{ font-size: 14px; }
  .cart-sticky-figure-total strong{ font-size: 17px; }
  .cart-sticky-bar .btn{ padding: 11px 15px; font-size: 13.5px; }
}

/* ---------------------------------------------------------------------
   Докато клиентът пише в полетата на количката, тъмната лента с телефона
   отгоре се свива. На телефон тя заема ред, който в този момент не служи
   на нищо - клавиатурата вече е изяла долната половина на екрана.
   Само се свива, не изчезва: щом човекът излезе от полетата, се връща.
   -------------------------------------------------------------------- */
@media (max-width: 980px){
  .topbar{
    overflow: hidden;
    /* Достатъчно, за да не отреже текста, ако се пренесе на два реда. */
    max-height: 140px;
    transition: max-height .18s ease, padding .18s ease, opacity .18s ease;
  }
  body.bhoney-cart-typing .topbar{
    max-height: 0;
    padding-top: 0;
    padding-bottom: 0;
    opacity: 0;
  }
}

/* ---------------------------------------------------------------------
   Полето, което браузърът извежда на екрана при фокус, не бива да остава
   под лепкавата шапка с логото и количката. scroll-margin-top казва точно
   това: „остави ми толкова място отгоре".
   Стойността покрива шапката плюс надписа над самото поле, за да се вижда
   и той - иначе клиентът вижда кутийка, без да знае какво се иска от него.
   -------------------------------------------------------------------- */
@media (max-width: 980px){
  #cart-page input,
  #cart-page select,
  #cart-page textarea{
    scroll-margin-top: 120px;
  }
}

/* Ред в списъка с офиси: име отгоре, адрес отдолу. Един град има десетки
   обекти и без адреса имената се повтарят до неразличимост. */
.office-option{ flex-direction: column; align-items: flex-start; gap: 2px; padding: 11px 14px; }
.office-option strong{ font-size: 13.5px; font-weight: 800; }
.office-option-address{ font-size: 12px; color: var(--text-soft); line-height: 1.35; }
#econt-office-results{ max-height: 280px; overflow-y: auto; }
#econt-office-input[disabled]{ opacity: .6; cursor: not-allowed; }

/* Съобщение за грешка под конкретно поле. */
.field-error{
  margin: 6px 0 0;
  font-size: 12.5px;
  color: var(--danger);
  font-weight: 700;
}

/* Предложение за допълване до цял кашон. */
.packaging-suggest{ margin-top: 14px; }
.packaging-card{
  display: flex;
  gap: 14px;
  align-items: flex-start;
  background: var(--white);
  border: 1px solid var(--honey);
  border-radius: var(--radius-md);
  padding: 16px 18px;
}
.packaging-gift-img{
  width: 74px;
  height: 74px;
  object-fit: cover;
  border-radius: 12px;
  background: var(--cream-2);
  flex: 0 0 74px;
}
.packaging-body{ min-width: 0; flex: 1; }
.packaging-body strong{ display: block; font-size: 14.5px; margin-bottom: 4px; }
.packaging-body p{ margin: 0 0 8px; font-size: 13.5px; color: var(--text-soft); line-height: 1.5; }
.packaging-breakdown{ font-size: 12.5px; }
.packaging-choose-label{ display: block; font-size: 12.5px; font-weight: 700; margin-bottom: 4px; }
.packaging-choose{ width: 100%; padding: 9px 12px; border-radius: 10px; border: 1px solid #E4DCC8; margin-bottom: 10px; font-family: inherit; }
.packaging-add{ width: 100%; justify-content: center; }

@media (max-width: 600px){
  .packaging-card{ flex-direction: column; align-items: stretch; }
  .packaging-gift-img{ width: 100%; height: 140px; flex: none; }
}

/* Начин на доставка с цена вдясно. */
.delivery-options-title{ font-size: 13px; font-weight: 800; color: var(--olive-dark); margin: 0 0 4px; }
.delivery-option{ position: relative; }
.delivery-option .delivery-price{
  margin-left: auto;
  align-self: center;
  font-weight: 800;
  font-size: 14.5px;
  color: var(--olive-dark);
  white-space: nowrap;
  padding-left: 10px;
}
#checkout-city-results{ max-height: 260px; overflow-y: auto; }

/* След успешна поръчка. */
.form-success h3{ font-size: 20px; margin-bottom: 8px; }
.success-next .btn{ display: inline-flex; }

/* --- Форматиран текст в описанията, блога и SEO страниците -----------
   Идва от lib/RichText.php. Класовете са собствени, за да изглежда еднакво
   навсякъде, независимо от оформлението наоколо.

   Препратките са СИНИ, ПОДЧЕРТАНИ И УДЕБЕЛЕНИ - иначе в описание, писано
   на един дъх, човек изобщо не забелязва, че там има връзка. */
.rich-link{color:#1B62C4;font-weight:700;text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1.5px;}
.rich-link:hover{color:#0F4694;text-decoration-thickness:2.5px;}
.rich-list{margin:10px 0;padding-left:22px;list-style:disc;}
.rich-list li{margin:5px 0;}

/* --- Поръчаните моделчета на екрана след поръчка ---------------------
   Всеки ред е снимка отляво и данни отдясно, с двата бутона отдолу.
   Кутията .form-success е центрирана; тук текстът се връща вляво, защото
   в списък центрираният текст се чете трудно. */
.ordered-caps{margin:22px 0 0;padding:18px 16px 6px;background:rgba(255,255,255,.6);border-radius:var(--radius-md);text-align:left;}
.ordered-caps-title{margin:0 0 4px;font-size:16px;font-weight:800;color:var(--olive-dark);}
.ordered-caps-note{margin:0 0 14px;font-size:13px;line-height:1.5;color:var(--text-soft);}
.ordered-caps-list{list-style:none;margin:0;padding:0;}
.ordered-cap{display:flex;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid rgba(59,71,32,.14);}
.ordered-cap:first-child{border-top:none;padding-top:0;}
.ordered-cap-image{width:64px;height:64px;flex:none;object-fit:cover;border-radius:12px;background:#fff;}
.ordered-cap-info{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1;}
.ordered-cap-info strong{font-size:15px;color:var(--olive-dark);}
.ordered-cap-meta{font-size:13px;color:var(--text-soft);}
.ordered-cap-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
.ordered-cap-actions .btn{padding:10px 18px;font-size:13px;}

/* Вайбър - в собствения му лилав цвят, за да се разбере накъде води,
   без да пише „вайбър" още веднъж. */
.btn-viber{background:#7360F2;color:#fff;text-decoration:none;box-shadow:0 10px 22px -10px rgba(115,96,242,.8);}
.btn-viber:hover{background:#5B49D8;transform:translateY(-2px);}
.btn-ghost{background:transparent;border:1.5px solid rgba(59,71,32,.3);color:var(--olive-dark);}
.btn-ghost:hover{background:rgba(59,71,32,.07);}

@media (max-width: 520px){
  .ordered-cap-actions .btn{flex:1;justify-content:center;}
}

/* След приета поръчка лявата колона я няма - дясната остава сама и се
   разпъва на цялата ширина, вместо да стои свита вдясно. */
.cart-layout.cart-done{grid-template-columns:1fr;}
