/* Vartoviy K9 — public site theme (variant 23 "Cream + UA Subtle") */
:root{
  --ink:#1a1a1a;
  --cream:#f5efe1;
  --cream-2:#fbf6ea;
  --sand:#e8dcbd;
  --paper:#fafaf6;
  --sage:#a8b485;
  --sage-dk:#8b9870;
  --olive:#5d6a3a;
  --olive-dk:#3e4828;
  --olive-deep:#232a16;
  --bronze:#8b6f47;
  --ua-blue:#0057b7;
  --ua-yellow:#ffd700;
  --danger:#b73a2c;
  --ok:#3d8e4e;
  --border:#d4cfbc;
  --border-soft:#e9e1ce;
  --muted:#5d6357;
  --shadow:0 10px 30px -10px rgba(0,0,0,.15);
  --shadow-lg:0 30px 60px -25px rgba(0,0,0,.25);
}
*,*::before,*::after{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{font-family:'Inter','Segoe UI',system-ui,sans-serif;background:var(--cream);color:var(--ink);font-size:18.5px;line-height:1.65;-webkit-font-smoothing:antialiased;}
a{color:var(--ua-blue);text-decoration:none;}
a:hover{text-decoration:none;}
img{max-width:100%;height:auto;display:block;}
h1,h2,h3,h4{margin:0;line-height:1.15;letter-spacing:-0.02em;}
button{font-family:inherit;cursor:pointer;}
.container{max-width:1280px;margin:0 auto;padding:0 28px;}
.visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* ── Scroll-to-top button (yellow notepad style) ── */
.scroll-top{position:fixed;right:18px;bottom:18px;z-index:60;width:48px;height:48px;border-radius:14px 14px 14px 4px;background:var(--ua-yellow,#ffd500);color:var(--ink,#2a2e22);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 14px rgba(0,0,0,.18),0 1px 0 rgba(255,255,255,.6) inset;opacity:0;transform:translateY(12px);transition:opacity .22s ease,transform .22s ease,box-shadow .18s ease,background .18s ease;}
.scroll-top.is-visible{opacity:1;transform:translateY(0);}
.scroll-top::before{content:'';position:absolute;left:0;right:0;top:0;height:6px;background:repeating-linear-gradient(90deg,rgba(0,0,0,.08) 0 2px,transparent 2px 14px);border-radius:14px 14px 0 0;pointer-events:none;}
.scroll-top::after{content:'';position:absolute;left:7px;top:11px;width:2px;height:24px;background:rgba(0,87,184,.45);border-radius:1px;pointer-events:none;}
.scroll-top svg{width:20px;height:20px;position:relative;z-index:1;color:var(--ua-blue,#0057b8);margin-left:6px;}
.scroll-top:hover{background:#ffe450;box-shadow:0 6px 18px rgba(0,0,0,.22),0 1px 0 rgba(255,255,255,.6) inset;transform:translateY(-2px);}
@media (max-width:640px){.scroll-top{right:14px;bottom:80px;width:44px;height:44px;}}

/* === Contacts page extras (schedule + status + 10 variants showcase) === */
.contacts-extra{margin-top:28px;display:flex;flex-direction:column;gap:24px;}
.ce-schedule-card{background:#fff;border:1px solid var(--border-soft,#e7dfc8);border-radius:14px;padding:20px 22px;box-shadow:0 2px 6px rgba(0,0,0,.03);}
.ce-sch-head{display:flex;align-items:center;gap:14px;margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid var(--border-soft,#e7dfc8);}
.ce-sch-icon{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,var(--ua-blue,#0057b8),#003d8c);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.ce-sch-icon svg{width:22px;height:22px;}
.ce-sch-meta{flex:1;}
.ce-sch-title{font-size:17px;font-weight:800;color:var(--ink,#2a2e22);}
.ce-sch-tz{font-size:12px;color:var(--muted,#7c745a);margin-top:2px;}
.ce-status{display:inline-flex;align-items:center;gap:8px;padding:6px 12px;border-radius:20px;font-size:13px;font-weight:700;}
.ce-status.is-open{background:rgba(56,142,60,.12);color:#2e7d32;}
.ce-status.is-closed{background:rgba(198,40,40,.10);color:#c62828;}
.ce-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px currentColor;opacity:.5;animation:cePulse 2s ease infinite;}
@keyframes cePulse{0%,100%{box-shadow:0 0 0 0 currentColor;opacity:.4;}50%{box-shadow:0 0 0 5px transparent;opacity:1;}}
.ce-sch-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;}
.ce-sch-list li{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-radius:8px;font-size:14px;color:var(--ink,#2a2e22);}
.ce-sch-list li span{font-weight:500;}
.ce-sch-list li b{font-weight:700;font-variant-numeric:tabular-nums;color:var(--olive-dk,#3a4828);}
.ce-sch-list li.is-today{background:rgba(255,213,0,.18);}
.ce-sch-list li.is-today b{color:var(--ua-blue,#0057b8);}
.ce-off{color:#c62828!important;font-weight:600!important;}
.ce-status-note{margin-top:10px;padding:8px 12px;background:#fbf5e6;border-radius:8px;font-size:13px;color:var(--olive-dk,#3a4828);text-align:center;}

/* CTA banner */
.ce-cta-banner{position:relative;overflow:hidden;display:grid;grid-template-columns:1fr auto;gap:24px;align-items:center;background:linear-gradient(135deg,var(--ua-blue,#0057b8) 0%,#003d8c 100%);color:#fff;border-radius:14px;padding:24px 28px;box-shadow:0 8px 24px rgba(0,40,90,.18);margin-bottom:20px;}
.ce-cta-banner::before{content:'';position:absolute;right:-40px;top:-40px;width:240px;height:240px;background:radial-gradient(circle,rgba(255,213,0,.18),transparent 70%);pointer-events:none;}
.ce-cta-eye{font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase;color:var(--ua-yellow,#ffd500);margin-bottom:6px;}
.ce-cta-title{font-size:22px;font-weight:800;margin:0 0 8px;line-height:1.25;}
.ce-cta-sub{font-size:14px;line-height:1.55;margin:0;opacity:.92;max-width:560px;}
.ce-cta-sub b{color:var(--ua-yellow,#ffd500);font-weight:800;}
.ce-cta-actions{display:flex;flex-direction:column;gap:10px;flex-shrink:0;position:relative;z-index:1;}
.ce-cta-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 18px;border-radius:24px;font-weight:700;font-size:14px;text-decoration:none;transition:transform .15s,background .15s,box-shadow .15s;white-space:nowrap;}
.ce-cta-btn:hover{transform:translateY(-1px);text-decoration:none;}
.ce-cta-btn-primary{background:var(--ua-yellow,#ffd500);color:var(--ink,#2a2e22);box-shadow:0 4px 12px rgba(255,213,0,.3);}
.ce-cta-btn-primary:hover{background:#ffe450;box-shadow:0 6px 16px rgba(255,213,0,.4);color:var(--ink,#2a2e22);}
.ce-cta-btn-ghost{background:rgba(255,255,255,.1);color:#fff;border:1px solid rgba(255,255,255,.25);}
.ce-cta-btn-ghost:hover{background:rgba(255,255,255,.18);color:#fff;}
@media (max-width:700px){
  .ce-cta-banner{grid-template-columns:1fr;padding:20px 18px;}
  .ce-cta-title{font-size:18px;}
  .ce-cta-sub{font-size:13px;}
  .ce-cta-actions{flex-direction:row;flex-wrap:wrap;}
  .ce-cta-btn{flex:1;justify-content:center;}
}

/* Business card */
.ce-card-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;}
@media (max-width:700px){.ce-card-row{grid-template-columns:1fr;}}
.ce-bizcard{display:flex;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.08);min-height:200px;align-self:start;}
.ce-bizcard .v10-stripe{width:6px;background:linear-gradient(180deg,var(--ua-blue,#0057b8) 50%,var(--ua-yellow,#ffd500) 50%);flex-shrink:0;}
.ce-bizcard .v10-content{padding:20px 24px;flex:1;}
.ce-bizcard .v10-brand{font-size:22px;font-weight:900;color:var(--ink,#2a2e22);letter-spacing:.02em;}
.ce-bizcard .v10-tagline{font-size:12px;color:var(--muted,#7c745a);margin-bottom:10px;}
.ce-bizcard .v10-divider{height:1px;background:var(--border-soft,#e7dfc8);margin:10px 0 14px;}
.ce-bizcard .v10-line{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink,#2a2e22);padding:5px 0;}
.ce-bizcard .v10-line svg{color:var(--ua-blue,#0057b8);flex-shrink:0;}
.ce-bizcard .v10-line a{color:var(--ink,#2a2e22);font-weight:600;}
.ce-bizcard .v10-line a:hover{color:var(--ua-blue,#0057b8);}

/* ── Brand mark (logo icon + wordmark) ── */
.brand{display:inline-flex;align-items:center;gap:11px;font-weight:800;text-decoration:none;color:inherit;font-size:16px;letter-spacing:.02em;}
.brand{display:inline-flex;align-items:center;text-decoration:none;}
.brand-icon{display:inline-block;width:140px;height:64px;background:url(/assets/img/logo_clean.png) no-repeat center center;background-size:contain;flex-shrink:0;}
.site-footer .brand-icon{width:200px;height:96px;filter:brightness(0) invert(1);}
.brand-name{display:none;}
/* Header — wordmark only, no logo */
.brand-text{text-decoration:none !important;}
.brand-text .brand-icon{display:none;}
.brand-wordmark{display:inline-block;font-family:'Inter','Segoe UI',system-ui,sans-serif;font-size:25px;font-weight:900;letter-spacing:.04em;color:var(--ink);line-height:1;text-transform:uppercase;position:relative;padding:4px 0 6px;text-decoration:none;background-image:linear-gradient(90deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);background-repeat:no-repeat;background-size:44px 4px;background-position:0 100%;transition:background-size .25s ease;}
.brand-text:hover{text-decoration:none;}
.brand-text:hover .brand-wordmark{background-size:100% 3px;text-decoration:none;}
.brand-name{white-space:nowrap;}

/* ── Header ── */
.site-header{background:rgba(255,255,255,.92);border-bottom:1px solid transparent;position:sticky;top:0;z-index:50;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);transition:background .25s ease,box-shadow .25s ease,border-color .25s ease;}
.site-header.scrolled{background:rgba(255,255,255,.98);box-shadow:0 4px 18px rgba(0,0,0,.08);border-bottom-color:var(--border-soft);}
@keyframes headerDrop{from{opacity:0;transform:translateY(-12px);}to{opacity:1;transform:translateY(0);}}
.nav-wrap{display:flex;align-items:center;justify-content:space-between;padding:8px 0;gap:24px;min-height:56px;transition:padding .25s ease;}
.main-nav{display:flex;gap:6px;}
.main-nav a{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:24px;color:var(--ink);font-weight:600;font-size:14.5px;letter-spacing:.02em;transition:background .18s ease,color .18s ease,transform .18s ease;}
.main-nav a:hover{background:var(--cream);color:var(--ua-blue);text-decoration:none;transform:translateY(-1px);}
.main-nav .nav-ico{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;background:rgba(74,93,53,.08);color:var(--olive);flex:0 0 22px;transition:background .18s ease,color .18s ease,transform .25s cubic-bezier(.34,1.56,.64,1);}
.main-nav .nav-ico svg{width:14px;height:14px;display:block;}
.main-nav a:hover .nav-ico{background:rgba(0,87,184,.12);color:var(--ua-blue);transform:scale(1.12) rotate(-6deg);}
.main-nav a.is-active{background:var(--cream);color:var(--ua-blue);}
.main-nav a.is-active .nav-ico{background:var(--ua-blue);color:#fff;}
.main-nav a.is-active::after{content:'';position:absolute;left:50%;bottom:-2px;width:18px;height:2px;border-radius:2px;background:var(--ua-yellow);transform:translateX(-50%);}
.main-nav a{position:relative;}
.header-utils{display:flex;align-items:center;gap:6px;}
.hu-phone{display:inline-flex;align-items:center;gap:10px;padding:6px 16px 6px 6px;border-radius:24px;background:rgba(0,87,184,.06);border:1px solid rgba(0,87,184,.15);color:var(--ink);font-weight:700;font-size:15px;letter-spacing:.01em;transition:.2s ease;margin-right:8px;}
.hu-phone-ico{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--ua-blue);color:#fff;flex-shrink:0;}
.hu-phone-ico svg{width:16px;height:16px;}
.hu-phone:hover{background:var(--ua-blue);border-color:var(--ua-blue);color:#fff;text-decoration:none;transform:translateY(-1px);}
.hu-phone:hover .hu-phone-ico{background:#fff;color:var(--ua-blue);}
.hu-btn{position:relative;display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;border-radius:50%;color:var(--ink);background:transparent;border:1px solid transparent;transition:background .18s ease,border-color .18s ease,transform .18s ease,color .18s ease;}
.hu-btn svg{width:22px;height:22px;display:block;}
.hu-btn:hover{background:var(--cream);border-color:var(--border-soft);color:var(--ua-blue);text-decoration:none;transform:translateY(-1px);}
@media (max-width:900px){.hu-phone-num{display:none;}.hu-phone{padding:6px;gap:0;}}
/* (legacy header lang-switch removed; switcher now lives in footer as .lang-pill) */
.lang-switch{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:center;}
.cart-btn{} /* uses .hu-btn base */
.cart-badge{position:absolute;top:4px;right:4px;background:var(--ua-yellow);color:var(--ink);font-size:10px;font-weight:800;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:1.5px solid #fff;line-height:1;}

/* ── Hero TACTICAL HUD REFINED (#03) ── */
.hero-hud{position:relative;isolation:isolate;display:flex;flex-direction:column;overflow:hidden;color:var(--cream);
  --hud:#cdd9a8;--hud-dim:#8b9870;--grid:rgba(168,180,133,.10);--line:rgba(168,180,133,.28);
  min-height:clamp(540px,calc(100svh - 64px),860px);padding:clamp(14px,2.4vw,26px)}
.hero-hud::before{content:'';position:absolute;inset:0;z-index:-3;
  background:radial-gradient(120% 90% at 78% 30%,rgba(93,106,58,.45),transparent 60%),radial-gradient(90% 80% at 12% 90%,rgba(35,42,22,.6),transparent 55%),linear-gradient(180deg,#2a3219,#1a2010 70%,#141a0b)}
.hero-hud::after{content:'';position:absolute;inset:0;z-index:-2;pointer-events:none;
  background-image:linear-gradient(var(--grid) 1px,transparent 1px),linear-gradient(90deg,var(--grid) 1px,transparent 1px);background-size:46px 46px;
  -webkit-mask-image:radial-gradient(110% 100% at 60% 40%,#000 40%,transparent 92%);mask-image:radial-gradient(110% 100% at 60% 40%,#000 40%,transparent 92%)}
.hero-hud .hh-scan{position:absolute;inset:0;z-index:5;pointer-events:none;background:repeating-linear-gradient(0deg,rgba(0,0,0,.10) 0 2px,transparent 2px 4px);mix-blend-mode:multiply;opacity:.5}
.hero-hud .hh-sweep{position:absolute;left:0;right:0;top:0;height:130px;z-index:6;pointer-events:none;will-change:transform;background:linear-gradient(180deg,transparent,rgba(205,217,168,.12),transparent);animation:hhSweep 6.5s linear infinite}
@keyframes hhSweep{0%{transform:translateY(-140px)}100%{transform:translateY(900px)}}

.hero-hud .hh-frame{position:relative;z-index:8;flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);grid-template-rows:minmax(440px,1fr);gap:clamp(14px,2.5vw,34px);align-items:stretch;
  border:1px solid var(--line);border-radius:14px;padding:clamp(18px,3vw,40px);background:linear-gradient(135deg,rgba(35,42,22,.30),rgba(20,25,11,.10))}
.hero-hud .hh-frame>.hh-cnr{position:absolute;width:26px;height:26px;border:2px solid var(--sage);opacity:.7;z-index:9}
.hero-hud .hh-frame>.hh-cnr.tl{top:-1px;left:-1px;border-right:0;border-bottom:0;border-top-left-radius:14px}
.hero-hud .hh-frame>.hh-cnr.tr{top:-1px;right:-1px;border-left:0;border-bottom:0;border-top-right-radius:14px}
.hero-hud .hh-frame>.hh-cnr.bl{bottom:-1px;left:-1px;border-right:0;border-top:0;border-bottom-left-radius:14px}
.hero-hud .hh-frame>.hh-cnr.br{bottom:-1px;right:-1px;border-left:0;border-top:0;border-bottom-right-radius:14px}

.hero-hud .hh-readout{position:absolute;z-index:12;font-family:'JetBrains Mono','Consolas',monospace;font-variant-numeric:tabular-nums;font-size:11px;line-height:1.5;
  color:var(--hud-dim);letter-spacing:.04em;background:rgba(20,25,11,.6);border:1px solid var(--line);border-radius:8px;padding:8px 11px;backdrop-filter:blur(3px)}
.hero-hud .hh-readout .k{color:var(--hud);font-weight:700}
.hero-hud .hh-readout .lbl{font-size:9px;letter-spacing:.18em;color:var(--sage-dk);display:block;margin-bottom:2px}
.hero-hud .ro-tl{top:clamp(8px,1.6vw,18px);left:clamp(8px,1.6vw,18px)}
.hero-hud .ro-tr{top:clamp(8px,1.6vw,18px);right:clamp(8px,1.6vw,18px);text-align:right}
.hero-hud .ro-bl{bottom:clamp(8px,1.6vw,18px);left:clamp(8px,1.6vw,18px)}
.hero-hud .ro-br{bottom:clamp(8px,1.6vw,18px);right:clamp(8px,1.6vw,18px);text-align:right;display:flex;align-items:center;gap:9px}
.hero-hud .hh-led{width:9px;height:9px;border-radius:50%;background:var(--ok);box-shadow:0 0 0 0 rgba(61,142,78,.6);animation:hhPulse 2s infinite;flex:none}
@keyframes hhPulse{0%{box-shadow:0 0 0 0 rgba(61,142,78,.55)}70%{box-shadow:0 0 0 8px rgba(61,142,78,0)}100%{box-shadow:0 0 0 0 rgba(61,142,78,0)}}

.hero-hud .hh-copy{display:flex;flex-direction:column;justify-content:center;gap:clamp(14px,2vw,20px);min-width:0;padding:6px 0}
.hero-hud .hh-eyebrow{display:inline-flex;align-items:center;gap:9px;align-self:flex-start;font-family:'JetBrains Mono','Consolas',monospace;font-size:12px;letter-spacing:.28em;font-weight:700;
  color:var(--hud);padding:7px 13px;border:1px solid var(--sage-dk);border-radius:6px;background:rgba(168,180,133,.08)}
.hero-hud .hh-eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--ua-yellow);animation:hhBlink 1.4s steps(1) infinite}
@keyframes hhBlink{50%{opacity:.25}}
.hero-hud .hh-h1{font-family:'Bebas Neue','Inter',sans-serif;font-weight:400;font-size:clamp(46px,8.5vw,108px);line-height:.92;letter-spacing:.01em;color:var(--cream);
  text-shadow:0 2px 24px rgba(0,0,0,.35);margin:0;text-transform:uppercase}
.hero-hud .hh-h1 .accent{color:var(--ua-yellow)}
.hero-hud .hh-hl{height:2px;width:min(360px,70%);transform:scaleX(0);transform-origin:left;background:linear-gradient(90deg,var(--ua-yellow),var(--sage),transparent);animation:hhGrow 1.2s .25s cubic-bezier(.22,.61,.36,1) forwards}
@keyframes hhGrow{to{transform:scaleX(1)}}
.hero-hud .hh-sub{font-size:clamp(15px,1.7vw,18.5px);line-height:1.55;color:var(--sand);max-width:46ch;font-weight:400;margin:0}

.hero-hud .hh-specs{display:flex;flex-wrap:wrap;gap:8px}
.hero-hud .hh-chip{font-family:'JetBrains Mono','Consolas',monospace;font-size:11px;letter-spacing:.06em;color:var(--hud);padding:7px 11px;border:1px solid var(--line);border-radius:6px;
  background:rgba(20,25,11,.4);display:inline-flex;gap:7px;align-items:center;white-space:nowrap}
.hero-hud .hh-chip .v{color:var(--cream);font-weight:700}
.hero-hud .hh-chip .l{color:var(--sage-dk);font-size:9px;letter-spacing:.16em}

.hero-hud .cta-row{margin-top:2px}
.hero-hud .hh-btn{font-family:'Manrope','Inter',sans-serif;font-weight:800;font-size:15px;letter-spacing:.01em;padding:15px 26px;border-radius:9px;cursor:pointer;border:1px solid transparent;
  display:inline-flex;align-items:center;gap:10px;text-decoration:none;transition:transform .22s cubic-bezier(.22,.61,.36,1),box-shadow .22s,background .22s}
.hero-hud .hh-btn-primary{background:linear-gradient(135deg,var(--ua-yellow),#e8c200);color:var(--olive-deep);box-shadow:0 10px 30px -10px rgba(255,215,0,.5),0 0 0 1px rgba(255,215,0,.4) inset}
.hero-hud .hh-btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px -12px rgba(255,215,0,.65);text-decoration:none}
.hero-hud .hh-btn-ghost{background:rgba(168,180,133,.07);color:var(--cream);border-color:var(--sage-dk)}
.hero-hud .hh-btn-ghost:hover{background:rgba(168,180,133,.18);border-color:var(--sage);transform:translateY(-2px);text-decoration:none}

.hero-hud .hh-trust{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:6px;padding-top:16px;border-top:1px dashed var(--line)}
.hero-hud .hh-trust span{font-size:12px;color:var(--hud-dim);display:inline-flex;align-items:center;gap:7px;letter-spacing:.02em}
.hero-hud .hh-trust span svg{width:14px;height:14px;color:var(--sage);flex:none}

.hero-hud .hh-stage{position:relative;min-width:0;display:flex;align-items:stretch}
.hero-hud .hh-photo{position:relative;flex:1;border-radius:12px;overflow:hidden;background:radial-gradient(80% 70% at 60% 30%,rgba(168,180,133,.18),rgba(20,25,11,.5));border:1px solid var(--line);min-height:300px}
.hero-hud .hh-photo img{width:100%;height:100%;object-fit:cover;object-position:center 30%;filter:contrast(1.05) saturate(1.02)}
.hero-hud .hh-slide{position:absolute;inset:0;z-index:1;opacity:0;visibility:hidden;transition:opacity .9s ease,visibility 0s .9s}
.hero-hud .hh-slide.act{opacity:1;visibility:visible;transition:opacity .9s ease,visibility 0s 0s}
.hero-hud .hh-photo.is-live .hh-slide.act{animation:hhSlideIn 1.05s cubic-bezier(.22,.61,.36,1)}
@keyframes hhSlideIn{0%{clip-path:inset(0 0 100% 0);transform:scale(1.09)}100%{clip-path:inset(0 0 0 0);transform:scale(1)}}
.hero-hud .hh-slide::before{content:'';position:absolute;left:0;right:0;top:0;height:3px;z-index:3;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent,var(--ua-yellow),transparent);box-shadow:0 0 14px 2px rgba(255,215,0,.7)}
.hero-hud .hh-photo.is-live .hh-slide.act::before{animation:hhScanLine 1.05s cubic-bezier(.22,.61,.36,1)}
@keyframes hhScanLine{0%{transform:translateY(0);opacity:1}90%{opacity:1}100%{transform:translateY(720px);opacity:0}}
.hero-hud .hh-nav{position:absolute;right:13px;bottom:13px;z-index:6;display:flex;flex-direction:column;align-items:flex-end;gap:7px}
.hero-hud .hh-nav-count{font-family:'JetBrains Mono','Consolas',monospace;font-size:11px;font-weight:700;letter-spacing:.12em;color:var(--hud);background:rgba(20,25,11,.65);border:1px solid var(--line);border-radius:6px;padding:4px 9px;backdrop-filter:blur(3px)}
.hero-hud .hh-nav-count .cur{color:var(--ua-yellow)}
.hero-hud .hh-nav-count .sep{opacity:.5;margin:0 1px}
.hero-hud .hh-nav-ticks{display:flex;gap:5px}
.hero-hud .hh-frame-tick{width:20px;height:4px;padding:0;border:0;border-radius:2px;background:rgba(205,217,168,.32);cursor:pointer;transition:background .3s,width .3s}
.hero-hud .hh-frame-tick:hover{background:rgba(205,217,168,.6)}
.hero-hud .hh-frame-tick.act{background:var(--ua-yellow);width:30px;box-shadow:0 0 8px rgba(255,215,0,.5)}
.hero-hud .hh-photo::after{content:'';position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(20,25,11,.35) 0%,transparent 30% 60%,rgba(20,25,11,.55) 100%),linear-gradient(90deg,rgba(20,25,11,.5),transparent 35%)}
.hero-hud .ph-cnr{position:absolute;width:30px;height:30px;border:2px solid var(--ua-yellow);z-index:4;opacity:.9}
.hero-hud .ph-cnr.tl{top:12px;left:12px;border-right:0;border-bottom:0}
.hero-hud .ph-cnr.tr{top:12px;right:12px;border-left:0;border-bottom:0}
.hero-hud .ph-cnr.bl{bottom:12px;left:12px;border-right:0;border-top:0}
.hero-hud .ph-cnr.br{bottom:12px;right:12px;border-left:0;border-top:0}
.hero-hud .hh-reticle{position:absolute;top:30%;left:55%;z-index:4;width:54px;height:54px;transform:translate(-50%,-50%);pointer-events:none}
.hero-hud .hh-reticle::before,.hero-hud .hh-reticle::after{content:'';position:absolute;background:rgba(255,215,0,.7)}
.hero-hud .hh-reticle::before{left:50%;top:0;bottom:0;width:1px;transform:translateX(-.5px)}
.hero-hud .hh-reticle::after{top:50%;left:0;right:0;height:1px;transform:translateY(-.5px)}
.hero-hud .hh-reticle b{position:absolute;inset:0;border:1px solid rgba(255,215,0,.6);border-radius:50%;animation:hhRet 3s ease-in-out infinite}
@keyframes hhRet{0%,100%{transform:scale(.85);opacity:.5}50%{transform:scale(1);opacity:.9}}
.hero-hud .hh-phtag{position:absolute;left:14px;bottom:14px;z-index:5;font-family:'JetBrains Mono','Consolas',monospace;font-size:10.5px;letter-spacing:.08em;color:var(--hud);
  background:rgba(20,25,11,.65);border:1px solid var(--line);border-radius:6px;padding:6px 10px;display:flex;gap:10px;align-items:center;backdrop-filter:blur(3px)}
.hero-hud .hh-phtag .live{color:var(--ua-yellow);font-weight:700}
.hero-hud .hh-idstrip{position:absolute;top:50%;right:-1px;z-index:5;transform:translateY(-50%);writing-mode:vertical-rl;font-family:'JetBrains Mono','Consolas',monospace;font-size:10px;letter-spacing:.32em;
  color:var(--sage-dk);background:rgba(20,25,11,.6);border:1px solid var(--line);border-right:0;padding:10px 5px;border-radius:6px 0 0 6px}

@media (max-width:880px){
  .hero-hud .hh-frame{grid-template-columns:1fr;grid-template-rows:auto auto;padding:clamp(16px,5vw,28px) clamp(14px,4vw,22px)}
  .hero-hud .hh-stage{min-height:clamp(300px,52vw,420px)}
  .hero-hud .ro-tl,.hero-hud .ro-tr{font-size:10px;padding:6px 8px}
  .hero-hud .ro-bl,.hero-hud .ro-br{display:none}
  .hero-hud .hh-stage{order:-1;min-height:300px}
  .hero-hud .hh-copy{padding:8px 0 0}
  .hero-hud .hh-idstrip{display:none}
  .hero-hud .hh-h1{font-size:clamp(44px,13vw,72px)}
}
@media (max-width:430px){
  .hero-hud .hh-specs .hh-chip:nth-child(n+4){display:none}
  .hero-hud .ro-tr{display:none}
  .hero-hud .hh-trust span:nth-child(n+4){display:none}
  .hero-hud .hh-reticle{display:none}
}
@media (prefers-reduced-motion:reduce){
  .hero-hud .hh-sweep,.hero-hud .hh-led,.hero-hud .hh-hl,.hero-hud .hh-photo img,.hero-hud .hh-reticle b,.hero-hud .hh-eyebrow .dot,.hero-hud .hh-photo.is-live .hh-slide.act,.hero-hud .hh-photo.is-live .hh-slide.act::before{animation:none}
  .hero-hud .hh-hl{transform:scaleX(1)}
}

/* Shared CTA styles still used by other sections (featured/static/etc.) */
.cta-row{display:flex;gap:12px;flex-wrap:wrap;}
.btn-primary,.btn-secondary{display:inline-block;padding:14px 26px;text-decoration:none;font-size:13px;font-weight:700;letter-spacing:.05em;border-radius:6px;cursor:pointer;border:1px solid transparent;transition:.15s;}
.btn-primary{background:var(--ua-blue);color:#fff;}
.btn-primary:hover{background:#003d8c;text-decoration:none;}
.btn-secondary{background:transparent;border-color:var(--ink);color:var(--ink);}
.btn-secondary:hover{background:var(--ink);color:#fff;text-decoration:none;}

/* ── Section heads ── */
.section-head{padding:64px 0 18px;}
.section-head .eye{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ua-blue);font-weight:700;display:block;margin-bottom:8px;}
.section-head h2{margin:0;font-size:38px;font-weight:800;color:var(--ink);}

/* ── Categories ── */
.cats{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;padding-bottom:40px;}
.cat{position:relative;padding:28px 18px 26px;background:#fff;border:1px solid var(--border-soft);border-radius:10px;cursor:pointer;transition:.25s ease;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:14px;text-align:center;text-decoration:none;color:inherit;overflow:hidden;}
.cat::after{content:'';position:absolute;left:0;bottom:0;width:100%;height:3px;background:linear-gradient(90deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);transform:translateY(3px);transition:transform .25s ease;}
.cat:hover{transform:translateY(-3px);box-shadow:0 8px 20px rgba(0,0,0,.06);text-decoration:none;}
.cat:hover::after{transform:translateY(0);}
.cat-ico{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:14px;background:var(--cream);color:var(--olive);transition:.25s ease;}
.cat-ico svg{width:48px;height:48px;display:block;}
.cat:hover .cat-ico{background:var(--olive);color:#fff;transform:scale(1.04);}
.cat strong{font-size:14px;font-weight:700;color:var(--ink);line-height:1.35;}
.cat small{color:var(--muted);font-size:12px;}
.cat-arrow{display:none;}

/* ── Featured ── */
.featured{display:grid;grid-template-columns:1.1fr 1fr;border-radius:14px;overflow:hidden;background:var(--olive);color:var(--cream);position:relative;box-shadow:var(--shadow-lg);}
.featured::before{content:'';position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);}
.f-image{position:relative;min-height:460px;background:#fff;overflow:hidden;}
.f-image .f-image-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;}
.f-text{padding:54px;display:flex;flex-direction:column;justify-content:center;gap:14px;}
.f-text .eye{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--ua-yellow);font-weight:700;}
.f-text h2{font-size:42px;line-height:1.05;font-weight:800;color:var(--cream);}
.f-text p{margin:0;opacity:.85;font-size:15px;}
.f-text .price{font-size:34px;font-weight:800;margin-top:8px;color:var(--ua-yellow);font-family:'Manrope',sans-serif;}
.f-text .btn-primary{align-self:flex-start;background:var(--ua-yellow);color:var(--ink);}
.f-text .btn-primary:hover{background:#ffe55c;}

/* ── Gallery / product grid ── */
/* Static grid (catalog page) */
.gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding-bottom:40px;}

/* Infinite-scroll product carousel (homepage) */
.gallery-marquee{position:relative;overflow:hidden;padding:14px 0 50px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 4%,#000 96%,transparent);}
.gallery-track{display:flex;gap:18px;width:max-content;animation:galleryRoll 38s linear infinite;will-change:transform;}
.gallery-marquee:hover .gallery-track{animation-play-state:paused;}
.gallery-track .prod{flex:0 0 270px;}
@keyframes galleryRoll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
@media (prefers-reduced-motion: reduce){.gallery-track{animation:none;}}

.prod{border:1px solid var(--border-soft);border-radius:14px;overflow:hidden;background:#fff;display:flex;flex-direction:column;cursor:pointer;text-decoration:none;color:inherit;transform-style:preserve-3d;transition:transform .35s cubic-bezier(.18,.89,.32,1.28),box-shadow .35s ease,border-color .35s ease;}
.prod:hover{transform:translateY(-8px) rotate(-.6deg);box-shadow:0 18px 40px rgba(0,0,0,.14);border-color:var(--ua-blue);text-decoration:none;}
.prod .ph{position:relative;height:220px;background:var(--paper);border-bottom:1px solid var(--border-soft);overflow:hidden;}
.prod .ph .ph-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;transition:transform .5s ease;}
.prod:hover .ph .ph-img{transform:scale(1.08);}
/* Diagonal shine sweep on hover */
.prod-shine{position:absolute;inset:0;background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,.55) 48%, rgba(255,215,0,.35) 50%, rgba(255,255,255,.55) 52%, transparent 70%);transform:translateX(-120%) skewX(-15deg);transition:transform .9s cubic-bezier(.22,.61,.36,1);pointer-events:none;mix-blend-mode:overlay;}
.prod:hover .prod-shine{transform:translateX(120%) skewX(-15deg);}
.made-ribbon{position:absolute;top:12px;left:-4px;display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 8px;background:#fff;border:1px solid var(--border-soft);border-left:none;border-radius:0 14px 14px 0;box-shadow:0 2px 6px rgba(0,0,0,.06);font-size:10px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink);z-index:2;transition:transform .2s ease,box-shadow .2s ease;}
.made-ribbon::after{content:'';position:absolute;left:0;top:100%;width:4px;height:4px;background:linear-gradient(135deg,rgba(0,0,0,.15),transparent);}
.made-ribbon .mr-flag{display:inline-block;width:16px;height:11px;border-radius:2px;background:linear-gradient(to bottom,var(--ua-blue) 0 50%,var(--ua-yellow) 50% 100%);box-shadow:0 0 0 1px rgba(0,0,0,.08);flex-shrink:0;}
.made-ribbon .mr-text{white-space:nowrap;}
.prod:hover .made-ribbon{transform:translateX(2px);box-shadow:0 4px 10px rgba(0,0,0,.1);}
@media (max-width:600px){.made-ribbon{font-size:9px;padding:4px 9px 4px 6px;gap:5px;}.made-ribbon .mr-flag{width:14px;height:10px;}}
.prod-body{padding:16px 18px 18px;display:flex;flex-direction:column;gap:10px;flex:1;}
.prod .name{font-size:14px;font-weight:600;line-height:1.4;color:inherit;flex:1;}
.prod .row{display:flex;justify-content:space-between;align-items:center;margin-top:auto;}
.prod b{font-size:18px;font-weight:800;color:var(--ink);font-family:'Manrope',sans-serif;}
.prod .add{font-size:11px;font-weight:700;color:var(--ua-blue);text-transform:uppercase;letter-spacing:.08em;display:inline-flex;align-items:center;gap:4px;}
.prod .add i{display:inline-block;font-style:normal;transition:transform .3s cubic-bezier(.22,.61,.36,1.28);}
.prod:hover .add i{transform:translateX(6px);}
.prod:hover .add{color:var(--ua-blue);}
.prod:hover b{transform:scale(1.04);transition:transform .25s ease;}

/* ── Reviews carousel — full-width Ukrainian style ── */
.reviews{position:relative;background:#fff;padding:70px 0 64px;overflow:hidden;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);}
/* UA flag accent stripes on top and bottom */
.reviews::before,.reviews::after{content:'';position:absolute;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);z-index:2;}
.reviews::before{top:0;}
.reviews::after{bottom:0;}
/* Official Lesser Coat of Arms of Ukraine — small heraldic watermarks on both sides */
.rev-deco{position:absolute;top:50%;width:170px;height:235px;transform:translateY(-50%);opacity:.06;background-repeat:no-repeat;background-size:contain;background-position:center;pointer-events:none;background-image:url('/assets/img/tryzub.svg');z-index:0;}
.rev-deco-l{left:20px;}
.rev-deco-r{right:20px;}
.reviews .container{position:relative;z-index:1;}
@media (max-width:1280px){.rev-deco{display:none;}}
.reviews .section-head{margin-bottom:28px;}
.rev-slider{position:relative;}
.rev-viewport{overflow:hidden;}
.rev-track{position:relative;min-height:240px;}
.rev-page{position:absolute;inset:0;display:grid;grid-template-columns:repeat(3,1fr);gap:24px;opacity:0;visibility:hidden;transform:translateX(20px);transition:opacity .4s ease,transform .4s ease,visibility 0s linear .4s;}
.rev-page.act{position:relative;opacity:1;visibility:visible;transform:translateX(0);transition:opacity .45s ease,transform .45s ease;}
.review{position:relative;padding:30px 26px 24px;border-radius:14px;background:var(--cream);border:1px solid var(--border-soft);display:flex;flex-direction:column;gap:14px;transition:transform .25s ease,box-shadow .25s ease;overflow:hidden;}
.review::before{content:'\201C';position:absolute;top:-8px;right:18px;font-family:Georgia,serif;font-size:72px;line-height:1;color:var(--ua-blue);opacity:.12;font-weight:700;transition:opacity .25s ease;}
/* UA flag ribbon on left edge of each card */
.rev-flag{position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);transition:width .25s ease;}
.review:hover{transform:translateY(-4px);box-shadow:0 12px 28px rgba(0,0,0,.08);}
.review:hover .rev-flag{width:6px;}
.review:hover::before{opacity:.22;}
.stars{color:var(--ua-yellow);font-size:15px;letter-spacing:3px;}
.review p{font-size:14px;line-height:1.7;margin:0;color:var(--ink);font-style:italic;flex:1;}
.rev-author{display:flex;align-items:center;gap:12px;margin-top:6px;padding-top:14px;border-top:1px solid var(--border-soft);}
.rev-avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,var(--ua-blue),var(--olive));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:15px;flex-shrink:0;letter-spacing:0;}
.rev-author strong{display:block;font-size:13px;color:var(--ink);}
.rev-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:#fff;border:1px solid var(--border-soft);color:var(--ink);cursor:pointer;font-size:24px;line-height:1;z-index:3;display:flex;align-items:center;justify-content:center;transition:.2s ease;padding:0;box-shadow:0 2px 10px rgba(0,0,0,.08);}
.rev-arrow:hover{background:var(--ua-blue);color:#fff;border-color:var(--ua-blue);transform:translateY(-50%) scale(1.06);}
.rev-arrow.prev{left:-22px;}
.rev-arrow.next{right:-22px;}
.rev-dots{display:flex;justify-content:center;gap:8px;margin-top:30px;}
.rev-dot{width:8px;height:8px;border-radius:50%;background:rgba(0,0,0,.18);border:none;cursor:pointer;padding:0;transition:.2s;}
.rev-dot.act{background:linear-gradient(90deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);width:28px;border-radius:4px;}
.rev-author small{font-size:11px;color:var(--muted);}

/* ── FAQ ── */
.faq{padding:60px 0;}
.faq .section-head{max-width:820px;margin-left:auto;margin-right:auto;text-align:center;}
.faq-list{max-width:820px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border);padding:0;}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;font-weight:700;font-size:15px;list-style:none;gap:20px;}
.faq-q::-webkit-details-marker{display:none;}
.faq-q::after{content:'+';font-size:24px;color:var(--olive);font-weight:400;line-height:1;flex-shrink:0;}
details[open] .faq-q::after{content:'−';}
.faq-a{padding:0 0 20px;font-size:14px;line-height:1.7;color:var(--muted);margin:0;}

/* ── ZSU bar ── */
.zsu{margin:40px 0;padding:30px 36px;border-radius:14px;display:flex;gap:28px;align-items:center;background:linear-gradient(90deg,var(--ua-blue) 0%,#0066cc 100%);color:#fff;box-shadow:var(--shadow);}
.zsu .flag{font-size:48px;flex-shrink:0;}
.zsu .zsu-text{flex:1;}
.zsu strong{display:block;font-size:20px;margin-bottom:6px;font-weight:800;}
.zsu p{margin:0;font-size:14px;opacity:.95;}
.zsu .pct{font-family:'Manrope',sans-serif;font-size:64px;font-weight:800;color:var(--ua-yellow);line-height:1;}

/* ── Footer ── */
.site-footer{position:relative;background:var(--olive-dk);color:var(--cream);padding:60px 0 26px;margin-top:80px;}
.ft-stripe{position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr 1.2fr;gap:0;}
.ft-legal{margin-left:14px}.ft-legal a{color:rgba(255,255,255,.6);font-size:12.5px}.ft-legal a:hover{color:var(--ua-yellow)}
.ft-credit{font-size:12.5px;color:rgba(255,255,255,.55)}.ft-credit a{color:var(--ua-yellow);font-weight:700}.ft-credit a:hover{color:#fff;text-decoration:underline}
.footer-grid > .col{padding:0 28px;border-right:1px solid rgba(255,255,255,.12);}
.footer-grid > .col:first-child{padding-left:0;}
.footer-grid > .col.ft-contacts,
.footer-grid > .col:nth-last-of-type(1){border-right:none;padding-right:0;}
.footer-grid .col .ft-col-title,
.footer-grid .col h3,
.footer-grid .col h4{display:block;margin:0 0 14px;padding:0;font-size:14px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--ua-yellow);}
.footer-grid .col a{display:block;color:rgba(255,255,255,.78);font-size:14.5px;line-height:1.95;transition:color .15s ease;}
.footer-grid .col a:hover{color:var(--ua-yellow);text-decoration:none;}
.ft-brand{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:14px;}
.ft-brand .brand{margin:0;display:inline-block;}
.ft-brand .brand-icon{margin-left:0;}
.ft-brand p{margin:0;opacity:.78;font-size:14px;line-height:1.6;max-width:300px;color:rgba(255,255,255,.78);}
.ft-flag{display:inline-flex;align-items:center;gap:10px;padding:7px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:24px;font-size:12px;font-weight:600;letter-spacing:.02em;color:#fff;width:fit-content;align-self:flex-start;margin:0;}
.ft-flag-ico{display:inline-block;width:22px;height:14px;border-radius:2px;background:linear-gradient(180deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);box-shadow:0 1px 2px rgba(0,0,0,.25);flex-shrink:0;}
.ft-contacts a.ft-link-icon{display:flex;align-items:center;gap:10px;line-height:1.6;padding:4px 0;}
.ft-contacts a.ft-link-icon svg{width:16px;height:16px;flex-shrink:0;opacity:.85;}
.ft-contacts a.ft-link-icon:hover svg{opacity:1;color:var(--ua-yellow);}
.ft-socials{display:flex;gap:10px;margin-top:14px;}
.ft-soc{display:inline-flex !important;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid rgba(255,255,255,.18);border-radius:50%;background:rgba(255,255,255,.04);color:rgba(255,255,255,.75) !important;transition:.2s ease;line-height:0;padding:0 !important;}
.ft-soc svg{width:16px;height:16px;}
.ft-soc:hover{background:var(--ua-blue);border-color:var(--ua-blue);color:#fff !important;transform:translateY(-2px);}
.ft-langs{grid-column:1/-1;padding-top:30px;margin-top:14px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:center;align-items:center;gap:18px;flex-wrap:wrap;}
.ft-langs-label{font-size:12px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ua-yellow);}
.lang-switch-ft{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;align-items:center;}
.lang-pill{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 8px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:rgba(255,255,255,.05);transition:transform .18s ease, background .18s ease, border-color .18s ease;text-decoration:none;}
.lang-flag-svg{display:inline-flex;width:20px;height:20px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:inset 0 0 0 1px rgba(255,255,255,.18);transition:box-shadow .2s ease;}
.lang-flag-svg svg{display:block;width:100%;height:100%;}
.lang-pill .lang-code{display:inline-block;font-size:12px;font-weight:700;letter-spacing:.03em;line-height:1;color:rgba(255,255,255,.82);}
.lang-pill:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.3);transform:translateY(-1px);text-decoration:none;}
.lang-pill:hover .lang-code{color:#fff;}
.lang-pill:hover .lang-flag-svg{animation:flagWobble .6s ease;}
@keyframes flagWobble{0%{transform:rotate(0) scale(1);}25%{transform:rotate(-10deg) scale(1.12);}55%{transform:rotate(8deg) scale(1.14);}80%{transform:rotate(-4deg) scale(1.06);}100%{transform:rotate(0) scale(1);}}
.lang-pill.act{background:rgba(255,255,255,.12);border-color:var(--ua-yellow);}
.lang-pill.act .lang-code{color:var(--ua-yellow);}
.lang-pill.act .lang-flag-svg{box-shadow:0 0 0 2px var(--ua-yellow),0 1px 4px rgba(0,0,0,.3);}
.lang-pill.act:hover .lang-flag-svg{animation:none;}
/* Font Awesome inline SVG base — масштабируется по контейнеру (svg-селекторы) или 1em по умолчанию */
.fa-i{width:1em;height:1em;display:inline-block;vertical-align:-0.125em;fill:currentColor;line-height:1;}
/* Лід-абзац категорії (під H1, для AI-цитування) */
.ch-body .cat-lead{max-width:780px;margin:12px 0 0;color:var(--muted);line-height:1.55;font-size:14.5px;}
/* Доступність: видимий фокус для клавіатури (a11y, WCAG 2.4.7) */
:focus-visible{outline:2px solid var(--ua-blue,#0057b7);outline-offset:2px;border-radius:2px;}
.lang-pill:focus-visible,.fab-msg-item:focus-visible,.share-btn:focus-visible{outline:2px solid var(--ua-yellow,#ffd700);outline-offset:2px;}
/* Home trust-band (заменил демо-отзывы) */
.reviews.trust-band{background:linear-gradient(135deg,#2c3320,#3a4a2a);border-color:rgba(0,0,0,.15);}
.trust-band .section-head .eye{color:var(--ua-yellow);}
.trust-band .section-head h2{color:#fff;}
.trust-band .tb-lead{max-width:760px;margin:0 auto 24px;text-align:center;color:#f3efe2;opacity:.94;line-height:1.6;}
.trust-band .tb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;max-width:980px;margin:0 auto;}
.trust-band .tb-card{display:flex;gap:13px;align-items:flex-start;padding:16px 18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:12px;}
.trust-band .tb-ico{display:inline-flex;width:40px;height:40px;flex-shrink:0;align-items:center;justify-content:center;border-radius:10px;background:rgba(255,215,0,.15);color:var(--ua-yellow);}
.trust-band .tb-ico svg{width:22px;height:22px;}
.trust-band .tb-card strong{display:block;color:#fff;font-size:14.5px;margin-bottom:3px;}
.trust-band .tb-card>div>span{font-size:13px;color:rgba(255,255,255,.78);line-height:1.4;}
.trust-band .tb-note{text-align:center;margin:24px auto 0;font-size:13px;color:rgba(255,255,255,.6);}
/* Cloudflare Turnstile widget spacing inside forms */
.vk9-ts{margin:14px 0;}
.consult-form .vk9-ts,.tailor-form .vk9-ts{margin:4px 0 14px;}
.review-form .vk9-ts{margin:10px 0;}
.ft-bot{grid-column:1/-1;padding-top:22px;margin-top:0;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:12px;color:rgba(255,255,255,.55);flex-wrap:wrap;}
.ft-zsu{color:var(--ua-yellow);font-weight:600;letter-spacing:.02em;}

/* ── Product page ── */
.product-page{padding:32px 0 60px;}
.breadcrumbs{padding:10px 0 22px;font-size:13px;color:var(--muted);}
.breadcrumbs a{color:var(--ua-blue);transition:color .15s ease;}
.breadcrumbs a:hover{color:var(--ink);}
.breadcrumbs .bc-sep{display:inline-block;margin:0 6px;color:#c9c0ad;font-weight:600;}

/* ── UA-flag breadcrumbs (with icons) ── */
.ua-crumbs{display:inline-flex;align-items:center;gap:0;margin:20px 0 24px;padding:8px 6px 8px 0;background:#fff;border:1px solid var(--border-soft);border-radius:30px;box-shadow:0 2px 8px rgba(0,0,0,.04);overflow:hidden;flex-wrap:wrap;}
.ua-crumbs .ua-flag{align-self:stretch;width:10px;background:linear-gradient(180deg, var(--ua-blue) 0 50%, var(--ua-yellow) 50% 100%);margin-right:14px;border-radius:0 4px 4px 0;flex-shrink:0;}
.ua-crumbs .bc-link{display:inline-flex;align-items:center;gap:7px;padding:6px 14px;border-radius:20px;color:var(--ink);font-weight:600;font-size:13px;line-height:1;text-decoration:none;transition:background .18s ease, color .18s ease, transform .18s ease;}
.ua-crumbs a.bc-link:hover{background:var(--cream);color:var(--ua-blue);text-decoration:none;transform:translateY(-1px);}
.ua-crumbs .bc-current{background:var(--ua-blue);color:#fff;}
.ua-crumbs .bc-current .bc-ico{color:var(--ua-yellow);}
.ua-crumbs .bc-ico{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--olive);transition:color .18s ease, transform .18s ease;flex-shrink:0;}
.ua-crumbs .bc-ico svg{width:18px;height:18px;display:block;}
.ua-crumbs a.bc-link:hover .bc-ico{color:var(--ua-blue);transform:scale(1.1) rotate(-3deg);}
.ua-crumbs .bc-sep{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;color:var(--ua-yellow);margin:0;}
.ua-crumbs .bc-sep svg{width:14px;height:14px;display:block;}
@media (max-width:560px){
  .ua-crumbs{font-size:12px;padding:6px 4px 6px 0;}
  .ua-crumbs .bc-link{padding:5px 10px;font-size:12px;}
  .ua-crumbs .ua-flag{margin-right:8px;}
}
.product-layout{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;}
.product-gallery{display:flex;flex-direction:column;gap:14px;}
.pg-stage{position:relative;background:#fff;border:1px solid var(--border-soft);border-radius:14px;overflow:hidden;aspect-ratio:1/1;min-height:420px;}
.pg-slide{position:absolute;inset:0;opacity:0;visibility:hidden;transition:opacity .35s ease,visibility 0s linear .35s,transform .4s ease;transform:scale(.98);}
.pg-slide .pg-slide-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;}
.pg-slide.act{opacity:1;visibility:visible;transform:scale(1);transition:opacity .35s ease,transform .4s ease;}
.pg-arrow{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid var(--border-soft);color:var(--ink);cursor:pointer;font-size:24px;line-height:1;z-index:3;display:flex;align-items:center;justify-content:center;transition:.2s ease;padding:0;box-shadow:0 2px 10px rgba(0,0,0,.06);}
.pg-arrow:hover{background:var(--ua-blue);color:#fff;border-color:var(--ua-blue);transform:translateY(-50%) scale(1.06);}
.pg-arrow.prev{left:14px;}
.pg-arrow.next{right:14px;}
.pg-counter{position:absolute;left:14px;top:14px;background:rgba(0,0,0,.55);color:#fff;font-size:12px;font-weight:600;padding:5px 10px;border-radius:14px;letter-spacing:.04em;z-index:3;backdrop-filter:blur(4px);}
.pg-zoom{position:absolute;right:14px;top:14px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.92);border:1px solid var(--border-soft);color:var(--ink);cursor:pointer;z-index:3;display:flex;align-items:center;justify-content:center;padding:0;transition:.2s ease;box-shadow:0 2px 8px rgba(0,0,0,.06);}
.pg-zoom svg{width:18px;height:18px;}
.pg-zoom:hover{background:var(--ua-blue);color:#fff;border-color:var(--ua-blue);}
.pg-thumbs{display:flex;flex-wrap:wrap;gap:10px;}
.pg-thumb{position:relative;flex:0 0 calc((100% - 50px) / 6);max-width:100px;aspect-ratio:1/1;background:#fff;border:1px solid var(--border-soft);border-radius:8px;cursor:pointer;padding:0;transition:.2s ease;overflow:hidden;}
.pg-thumb .pg-thumb-img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;}
.pg-thumb:hover{transform:translateY(-2px);border-color:var(--olive);}
.pg-thumb.act{border-color:var(--ua-blue);box-shadow:0 0 0 2px rgba(0,87,184,.22);}

/* Dog/clean filter — показується тільки якщо у товара є фото обох типів */
.pg-dog-filter{display:inline-flex;align-self:flex-start;gap:0;background:#fff;border:1px solid var(--border-soft);border-radius:999px;padding:3px;font-size:13px;}
.pgf-btn{padding:6px 14px;border:0;border-radius:999px;background:transparent;color:var(--muted);cursor:pointer;font-weight:600;line-height:1;display:inline-flex;align-items:center;gap:6px;transition:.2s ease;}
.pgf-btn:hover{color:var(--ink);}
.pgf-btn.act{background:var(--ua-blue);color:#fff;}
.pgf-btn .pgf-n{font-size:11px;opacity:.7;font-weight:500;}
.pgf-btn.act .pgf-n{opacity:.9;}
.product-gallery.filter-clean .pg-slide[data-has-dog="1"],
.product-gallery.filter-clean .pg-thumb[data-has-dog="1"]{display:none !important;}

/* Lightbox modal */
.pg-lightbox{position:fixed;inset:0;background:rgba(10,12,14,.92);z-index:1000;display:none;align-items:center;justify-content:center;padding:32px;}
.pg-lightbox.open{display:flex;}
.pg-lb-img{max-width:90vw;max-height:88vh;background:no-repeat center center;background-size:contain;width:100%;height:100%;}
.pg-lb-close,.pg-lb-arrow{position:absolute;width:48px;height:48px;border-radius:50%;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);color:#fff;cursor:pointer;font-size:24px;display:flex;align-items:center;justify-content:center;padding:0;transition:.2s ease;}
.pg-lb-close:hover,.pg-lb-arrow:hover{background:rgba(255,255,255,.2);}
.pg-lb-close{top:24px;right:24px;}
.pg-lb-arrow.prev{left:24px;top:50%;transform:translateY(-50%);}
.pg-lb-arrow.next{right:24px;top:50%;transform:translateY(-50%);}
.pg-lb-counter{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:13px;letter-spacing:.06em;}
.product-info h1{font-size:38px;font-weight:800;margin:0 0 14px;}
.product-info .short{font-size:16px;color:var(--muted);margin:0 0 22px;line-height:1.6;}
.product-info .price-box{display:flex;align-items:baseline;gap:18px;padding:18px 0;border-top:1px solid var(--border-soft);border-bottom:1px solid var(--border-soft);margin-bottom:22px;}
.product-info .price{font-size:38px;font-weight:800;color:var(--ink);font-family:'Manrope',sans-serif;transition:color .3s ease, transform .3s ease;display:inline-block;}
.product-info .price.price-flash{animation:priceFlash .45s ease;}
@keyframes priceFlash{
  0%   {color:var(--ua-blue); transform:scale(1.08);}
  50%  {color:var(--ua-yellow); transform:scale(1.04);}
  100% {color:var(--ink); transform:scale(1);}
}
.product-info .price-old{font-size:18px;color:var(--muted);text-decoration:line-through;}
.product-info .stock{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:20px;font-size:11px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;background:#dff2e3;color:var(--ok);}
.product-info .stock.out{background:#f0d8d4;color:var(--danger);}
.variant-picker{margin-bottom:22px;display:flex;flex-direction:column;gap:18px;}
.variant-picker .vp-axis{display:flex;flex-direction:column;gap:8px;}
.variant-picker .vp-label{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);}
.variant-picker .vp-label .vp-current{margin-left:6px;color:var(--ink);text-transform:none;letter-spacing:0;font-weight:700;font-size:14px;}
.variant-picker .vp-opts{display:flex;flex-wrap:wrap;gap:8px;}
.variant-picker .vp-opt{padding:10px 18px;min-width:48px;background:#fff;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;font-weight:600;font-size:14px;color:var(--ink);font-family:inherit;letter-spacing:.01em;transition:.15s ease;text-align:center;}
.variant-picker .vp-opt:hover{border-color:var(--olive);}
.variant-picker .vp-opt.act{border-color:var(--ua-blue);background:var(--ua-blue);color:#fff;box-shadow:0 4px 10px rgba(0,87,184,.18);}
.variant-picker .vp-opt.disabled{opacity:.35;cursor:not-allowed;text-decoration:line-through;background:var(--cream);}
.variant-picker .vp-opt.disabled:hover{border-color:var(--border);}
.variant-picker .vp-sku-row{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);padding-top:4px;border-top:1px dashed var(--border-soft);margin-top:4px;}
.variant-picker .vp-sku-label{font-weight:600;}
.variant-picker .vp-sku{background:var(--cream-2);padding:3px 8px;border-radius:4px;color:var(--ink);font-weight:700;font-family:'JetBrains Mono','Consolas',monospace;font-size:12px;}
.qty-add-row{display:flex;gap:12px;align-items:stretch;margin-bottom:24px;}
.qty{display:flex;align-items:center;border:1.5px solid var(--border);border-radius:6px;overflow:hidden;background:#fff;}
.qty button{padding:0 14px;background:transparent;border:none;font-size:18px;color:var(--ink);cursor:pointer;}
.qty input{width:50px;text-align:center;border:none;font-size:15px;font-weight:600;background:transparent;}
.qty input:focus{outline:none;}
.add-to-cart-btn{flex:1;padding:14px 24px;background:var(--ua-blue);color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:700;letter-spacing:.05em;cursor:pointer;}
.add-to-cart-btn:hover{background:#003d8c;}
.product-tabs{margin-top:38px;}
.product-tabs h3{font-size:18px;font-weight:700;margin-bottom:12px;color:var(--olive-dk);}
.product-tabs .desc{font-size:15px;line-height:1.75;color:var(--ink);}

/* ── Tabs block (Description / Reviews / Size chart) ── */
.product-tabs-block{margin:50px 0 30px;background:#fff;border:1px solid var(--border-soft);border-radius:18px;overflow:hidden;}
.pt-nav{display:flex;gap:0;border-bottom:1px solid var(--border-soft);background:var(--cream-2);overflow-x:auto;}
.pt-tab{flex:0 0 auto;padding:16px 22px;background:transparent;border:none;border-bottom:3px solid transparent;font-family:inherit;font-size:13px;font-weight:700;letter-spacing:.02em;color:var(--muted);cursor:pointer;transition:.2s;white-space:nowrap;text-transform:uppercase;display:inline-flex;align-items:center;gap:8px;}
.pt-tab .pt-ico{display:inline-flex;width:18px;height:18px;}
.pt-tab .pt-ico svg{width:100%;height:100%;}
.pt-tab:hover{color:var(--ink);background:rgba(0,0,0,.02);}
.pt-tab.act{color:var(--ua-blue);border-bottom-color:var(--ua-yellow);background:#fff;}
.pt-panels{padding:32px 36px;}
.pt-panel{display:none;animation:ptFade .35s ease;}
.pt-panel.act{display:block;}
@keyframes ptFade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:none;}}
.pt-panel .specs-table{margin-bottom:24px;width:100%;border-collapse:collapse;}
.pt-panel .specs-table th,.pt-panel .specs-table td{padding:10px 14px;border-bottom:1px solid var(--border-soft);font-size:14px;text-align:left;vertical-align:top;}
.pt-panel .specs-table th{color:var(--muted);font-weight:600;width:40%;}
.pt-panel .desc{font-size:16px;line-height:1.75;color:var(--ink);}
.pt-panel .desc p{margin:0 0 14px;}
.pt-panel .desc h2,.pt-panel .desc h3,.pt-panel .desc h4{margin:22px 0 10px;color:var(--olive-dk);font-weight:700;}
.pt-panel .desc ul,.pt-panel .desc ol{margin:0 0 14px 20px;}
.pt-panel .desc li{margin:4px 0;}

/* ── Reviews ── */
.reviews-summary{display:flex;align-items:center;gap:24px;padding:18px 22px;background:var(--cream-2);border-radius:12px;margin-bottom:24px;}
.reviews-summary .rs-score{font-size:46px;font-weight:800;line-height:1;color:var(--ua-blue);}
.reviews-summary .rs-stars{font-size:20px;letter-spacing:2px;color:#d0c8b0;}
.reviews-summary .rs-stars .rs-star.on{color:var(--ua-yellow);}
.reviews-summary .rs-count{font-size:13px;color:var(--muted);margin-top:4px;}
.reviews-summary .rs-empty{display:flex;align-items:center;gap:14px;color:var(--muted);}
.reviews-summary .rs-empty p{margin:0;font-size:14px;}
.reviews-list{list-style:none;padding:0;margin:0 0 28px;}
.reviews-list .rv{padding:18px 0;border-bottom:1px solid var(--border-soft);}
.reviews-list .rv:last-child{border-bottom:none;}
.home-faq{padding:60px 24px 80px;}
.faq-h{font-size:28px;font-weight:700;color:var(--ink);margin:0 0 28px;text-align:center;letter-spacing:-.01em;}
.faq-list{max-width:880px;margin:0 auto;display:flex;flex-direction:column;gap:14px;}
.faq-item{background:#fff;border:1px solid var(--border-soft);border-radius:12px;padding:0;transition:box-shadow .15s;}
.faq-item[open]{box-shadow:0 4px 14px rgba(0,0,0,.04);}
.faq-item > summary{cursor:pointer;padding:18px 24px;font-weight:600;color:var(--ink);font-size:15px;list-style:none;position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;}
.faq-item > summary::-webkit-details-marker{display:none;}
.faq-item > summary::after{content:'+';font-size:22px;color:var(--ua-blue);font-weight:400;line-height:1;flex-shrink:0;}
.faq-item[open] > summary::after{content:'−';}
.faq-item > .faq-a{margin:0;padding:0 24px 18px;color:#3f3a2a;font-size:14px;line-height:1.65;}
.faq-item > .faq-a p:first-child{margin-top:0;}
.faq-item > .faq-a p:last-child{margin-bottom:0;}
.rv-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.rv-flag{display:inline-flex;width:22px;height:22px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.rv-flag svg{width:100%;height:100%;display:block;}
.rv-name{font-size:14px;color:var(--ink);}
.rv-title{font-weight:600;color:var(--ink);margin:2px 0 6px;}
.rv-stars{font-size:14px;letter-spacing:1px;color:#d0c8b0;}
.rv-stars .rv-star.on{color:var(--ua-yellow);}
.rv-date{font-size:12px;color:var(--muted);margin-left:auto;}
.rv-body{font-size:14px;color:var(--ink);margin:0;line-height:1.6;}

.review-form{padding:22px 24px;background:var(--cream-2);border-radius:12px;border:1px dashed var(--border-soft);}
.review-form h4{margin:0 0 14px;font-size:16px;font-weight:700;color:var(--olive-dk);}
.review-form .rf-notice{padding:10px 14px;border-radius:8px;margin-bottom:14px;font-size:14px;}
.review-form .rf-notice.ok{background:#dff2e3;color:#235c33;}
.review-form .rf-notice.err{background:#f0d8d4;color:var(--danger);}
.rf-stars-input{display:inline-flex;flex-direction:row-reverse;gap:2px;margin-bottom:12px;}
.rf-stars-input input{position:absolute;opacity:0;pointer-events:none;}
.rf-stars-input label{font-size:28px;color:#d0c8b0;cursor:pointer;transition:.15s;}
.rf-stars-input input:checked ~ label,
.rf-stars-input label:hover,
.rf-stars-input label:hover ~ label{color:var(--ua-yellow);}
.rf-row{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:10px;}
.review-form input[type=text],.review-form input[type=email],.review-form textarea{width:100%;padding:11px 14px;background:#fff;border:1px solid var(--border-soft);border-radius:8px;font:inherit;font-size:14px;color:var(--ink);}
.review-form textarea{resize:vertical;min-height:100px;margin-bottom:14px;}
.review-form button[type=submit]{padding:12px 28px;}

/* ── Delivery tab cards ── */
.delivery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:18px;}
.dlv-card{padding:20px 22px;background:var(--cream-2);border:1px solid var(--border-soft);border-radius:12px;transition:transform .2s ease, box-shadow .2s ease;}
.dlv-card:hover{transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,0,0,.06);}
.dlv-card .dlv-ico{display:inline-flex;width:44px;height:44px;align-items:center;justify-content:center;background:#fff;border-radius:12px;color:var(--ua-blue);margin-bottom:12px;box-shadow:0 2px 6px rgba(0,87,184,.1);}
.dlv-card .dlv-ico svg{width:24px;height:24px;}
.dlv-card h4,.dlv-card .dlv-h{font-size:15px;font-weight:700;margin:0 0 8px;color:var(--olive-dk);line-height:1.3;}
.dlv-card p{font-size:13.5px;line-height:1.6;color:var(--ink);margin:0;}

/* ── Cart side drawer (slides in from left, UA-themed) ── */
.cart-drawer{position:fixed;inset:0;z-index:1000;pointer-events:none;}
.cart-drawer-overlay{position:absolute;inset:0;background:rgba(15,25,10,.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .35s ease;}
.cart-drawer-panel{position:absolute;top:0;right:0;bottom:0;width:min(440px,94vw);background:linear-gradient(180deg,#fbfaf4 0%,#fff 30%);display:flex;flex-direction:column;transform:translateX(105%);transition:transform .45s cubic-bezier(.22,.61,.36,1);box-shadow:-24px 0 60px -10px rgba(0,0,0,.35),-4px 0 20px rgba(0,0,0,.15);overflow:hidden;}
.cart-drawer.open{pointer-events:auto;}
.cart-drawer.open .cart-drawer-overlay{opacity:1;}
.cart-drawer.open .cart-drawer-panel{transform:translateX(0);}
.cd-ua-stripe{position:absolute;top:0;left:0;right:0;height:5px;background:linear-gradient(90deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);z-index:2;pointer-events:none;}

.cart-drawer-head{position:relative;display:flex;align-items:center;gap:12px;padding:22px 22px 16px;border-bottom:1px solid rgba(116,138,72,.18);background:linear-gradient(180deg,#f8f6ee,#fbfaf4);}
.cd-head-ico{width:38px;height:38px;border-radius:10px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--ua-blue),#1a4a99);color:#fff;flex-shrink:0;box-shadow:0 4px 10px rgba(0,87,184,.25);}
.cd-head-ico svg{width:20px;height:20px;}
.cart-drawer-head h3,.cart-drawer-head .cart-drawer-title{flex:1;margin:0;font-size:15px;font-weight:800;letter-spacing:.02em;color:var(--olive-dk);text-transform:uppercase;}
.cart-drawer-head h3 span,.cart-drawer-head .cart-drawer-title span{font-size:14px;color:var(--ua-blue);font-weight:700;text-transform:none;}
.cart-drawer-close{width:36px;height:36px;border-radius:8px;background:rgba(0,0,0,.04);border:none;cursor:pointer;color:var(--olive-dk);display:flex;align-items:center;justify-content:center;transition:background .15s,color .15s,transform .15s;flex-shrink:0;}
.cart-drawer-close svg{width:18px;height:18px;}
.cart-drawer-close:hover{background:var(--ua-blue);color:#fff;transform:rotate(90deg);}

.cart-drawer-body{flex:1;overflow-y:auto;padding:16px 20px;scrollbar-width:thin;scrollbar-color:rgba(116,138,72,.35) transparent;}
.cart-drawer-body::-webkit-scrollbar{width:6px;}
.cart-drawer-body::-webkit-scrollbar-thumb{background:rgba(116,138,72,.35);border-radius:3px;}

/* Empty state */
.cart-drawer-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:60px 24px;color:var(--muted);}
.cde-ico{width:72px;height:72px;border-radius:50%;background:linear-gradient(135deg,#eef0e4,#f8f6ee);display:flex;align-items:center;justify-content:center;color:var(--olive);margin-bottom:18px;border:1px solid rgba(116,138,72,.2);}
.cde-ico svg{width:32px;height:32px;}
.cde-title{margin:0 0 6px;font-size:15px;font-weight:700;color:var(--olive-dk);}
.cde-hint{margin:0;font-size:13px;line-height:1.5;color:var(--muted);max-width:240px;}

/* Item card */
.cart-drawer-item{display:flex;gap:14px;padding:14px;margin-bottom:10px;background:#fff;border:1px solid rgba(116,138,72,.15);border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.04);transition:transform .22s ease,opacity .22s ease,box-shadow .15s;position:relative;overflow:hidden;}
.cart-drawer-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:3px;background:linear-gradient(180deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);opacity:0;transition:opacity .2s;}
.cart-drawer-item:hover{box-shadow:0 4px 14px rgba(0,87,184,.08);transform:translateX(2px);}
.cart-drawer-item:hover::before{opacity:1;}
.cart-drawer-item.cdi-removing{transform:translateX(-120%);opacity:0;}

.cdi-img{width:72px;height:72px;border-radius:8px;background:#fbfaf4;flex-shrink:0;overflow:hidden;display:block;border:1px solid rgba(116,138,72,.15);position:relative;}
.cdi-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;display:block;}
.cdi-main{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0;}
.cdi-name{font-size:13.5px;font-weight:700;color:var(--ink);text-decoration:none;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.cdi-name:hover{color:var(--ua-blue);}
.cdi-var{font-size:11px;color:var(--muted);font-family:'JetBrains Mono','Consolas',monospace;}
.cdi-price{font-size:11.5px;color:var(--muted);letter-spacing:.02em;}
.cdi-each{font-weight:600;color:#7a8062;}
.cdi-q-num{font-weight:700;color:var(--olive-dk);}

.cdi-foot{display:flex;align-items:center;gap:8px;margin-top:auto;flex-wrap:wrap;}
.cdi-qty{display:inline-flex;align-items:center;background:#fbfaf4;border:1px solid rgba(116,138,72,.25);border-radius:8px;overflow:hidden;height:32px;}
.cdi-qty button{width:30px;height:30px;border:none;background:transparent;cursor:pointer;font-size:15px;font-weight:700;color:var(--olive-dk);transition:background .15s;display:flex;align-items:center;justify-content:center;font-family:inherit;}
.cdi-qty button:hover{background:var(--ua-blue);color:#fff;}
.cdi-qty button:active{transform:scale(.94);}
.cdi-q-input{width:36px;height:30px;text-align:center;border:none;border-left:1px solid rgba(116,138,72,.18);border-right:1px solid rgba(116,138,72,.18);background:#fff;font-size:13px;font-weight:700;color:var(--olive-dk);font-family:inherit;-moz-appearance:textfield;}
.cdi-q-input::-webkit-outer-spin-button,.cdi-q-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0;}
.cdi-q-input:focus{outline:none;background:#f8f6ee;}

.cdi-sub{margin-left:auto;font-size:14px;font-weight:800;color:var(--ua-blue);letter-spacing:.01em;white-space:nowrap;}
.cdi-remove{width:32px;height:32px;border:1px solid rgba(180,40,40,.2);background:#fff;border-radius:8px;color:#b42828;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:.15s;}
.cdi-remove svg{width:15px;height:15px;}
.cdi-remove:hover{background:#b42828;color:#fff;border-color:#b42828;transform:rotate(-3deg);}
.cdi-remove:active{transform:scale(.92);}

/* Footer */
.cart-drawer-foot{padding:18px 22px 22px;border-top:1px solid rgba(116,138,72,.18);background:linear-gradient(180deg,#fbfaf4,#f4f1e3);position:relative;}
.cart-drawer-foot::before{content:'';position:absolute;left:22px;right:22px;top:0;height:1px;background:linear-gradient(90deg,transparent,var(--ua-yellow) 40%,var(--ua-yellow) 60%,transparent);opacity:.6;}
.cart-drawer-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:14px;font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:600;}
.cart-drawer-total strong{font-size:22px;font-weight:800;color:var(--olive-dk);text-transform:none;letter-spacing:0;}

.cart-drawer-actions{display:flex;gap:8px;}
.cart-drawer-continue,.cart-drawer-checkout{flex:1;padding:12px 12px;border-radius:8px;font:700 12.5px 'Inter',sans-serif;letter-spacing:.04em;text-align:center;text-decoration:none;cursor:pointer;transition:.2s cubic-bezier(.4,0,.2,1);font-family:inherit;white-space:nowrap;border:none;line-height:1.2;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:0;text-transform:uppercase;}
.cart-drawer-continue{background:#fff;color:var(--olive-dk);border:1.5px solid rgba(116,138,72,.3);}
.cart-drawer-continue:hover{background:var(--olive-dk);color:#fff;border-color:var(--olive-dk);transform:translateY(-2px);box-shadow:0 6px 14px rgba(60,75,40,.25);}
.cart-drawer-checkout{background:linear-gradient(135deg,var(--ua-blue) 0%,#1a4a99 100%);color:#fff;position:relative;overflow:hidden;}
.cart-drawer-checkout::after{content:'';position:absolute;left:0;right:0;bottom:0;height:3px;background:linear-gradient(90deg,var(--ua-yellow) 0%,#ffd700 100%);}
.cart-drawer-checkout svg{width:14px;height:14px;}
.cart-drawer-checkout:hover{background:linear-gradient(135deg,#003d8c 0%,#0c3380 100%);color:#fff;text-decoration:none;transform:translateY(-2px);box-shadow:0 8px 18px rgba(0,87,184,.4);}
.cart-drawer-checkout:hover svg{transform:translateX(2px);transition:transform .2s;}

/* ── UA-flag hover animation on nav/sidebar/footer links ────────────────
   Yellow stripe from left + blue stripe from right meet at center.
*/
.page-sidebar a,
.footer-grid .col a,
.hu-drawer a,
.cd-cats a,
.ps-card a {
  position: relative;
  display: inline-block;
  isolation: isolate;
}
.page-sidebar a::before, .page-sidebar a::after,
.footer-grid .col a::before, .footer-grid .col a::after,
.hu-drawer a::before, .hu-drawer a::after,
.cd-cats a::before, .cd-cats a::after,
.ps-card a::before, .ps-card a::after {
  content: '';
  position: absolute;
  bottom: -2px;
  height: 2px;
  width: 0;
  pointer-events: none;
  transition: width .28s cubic-bezier(.55, .085, .68, .53);
  border-radius: 1px;
}
.page-sidebar a::before,
.footer-grid .col a::before,
.hu-drawer a::before,
.cd-cats a::before,
.ps-card a::before { left: 0; background: var(--ua-yellow, #ffd700); box-shadow: 0 0 6px rgba(255,215,0,.5); }
.page-sidebar a::after,
.footer-grid .col a::after,
.hu-drawer a::after,
.cd-cats a::after,
.ps-card a::after { right: 0; background: var(--ua-blue, #0057b8); box-shadow: 0 0 6px rgba(0,87,184,.4); }
.page-sidebar a:hover::before, .page-sidebar a:hover::after,
.footer-grid .col a:hover::before, .footer-grid .col a:hover::after,
.hu-drawer a:hover::before, .hu-drawer a:hover::after,
.cd-cats a:hover::before, .cd-cats a:hover::after,
.ps-card a:hover::before, .ps-card a:hover::after { width: 50%; }
.page-sidebar a:hover, .footer-grid .col a:hover,
.hu-drawer a:hover, .ps-card a:hover { color: var(--ua-yellow, #ffd700); }
/* Footer uses light text on dark bg, so yellow on hover works */
.page-sidebar a:hover, .ps-card a:hover { color: var(--ua-blue, #0057b8); }
/* Disable underline that some links have */
.page-sidebar a:hover, .footer-grid .col a:hover,
.hu-drawer a:hover, .ps-card a:hover { text-decoration: none; }

/* Footer links must stack as columns (override the inline-block from .page-sidebar/.hu-drawer shared rule).
   But NOT for social icon circles (.ft-soc) — they keep inline-flex + fixed 36×36 round shape. */
.footer-grid .col a:not(.ft-soc) { display: block; width: max-content; max-width: 100%; }
/* Прибрати анімований жовто-синій підкреслювач при ховері — у футері колір тексту вже міняється. */
.footer-grid .col a:not(.ft-soc)::before,
.footer-grid .col a:not(.ft-soc)::after,
.page-sidebar a::before,
.page-sidebar a::after,
.ps-card a::before,
.ps-card a::after { display: none !important; }

/* Sidebar tidying: ховаємо лічильники товарів у категоріях + вирівнюємо «гарячі товари». */
.ps-cat-count { display: none !important; }
.page-sidebar a.ps-cat{display:flex;align-items:center;gap:10px;width:auto;}
.ps-hot .ps-card-list a,
.ps-hot a { padding: 8px 0; border-bottom: 1px dashed rgba(124, 116, 90, .15); }
.ps-hot .ps-card-list a:last-child,
.ps-hot a:last-child { border-bottom: none; }
.ps-cat { display: flex; align-items: center; gap: 10px; padding: 8px 10px; border-radius: 6px; transition: background .15s ease; }
.ps-cat:hover { background: rgba(91, 127, 58, .08); }
.ps-cat.is-active { background: linear-gradient(135deg, #5b7f3a, #4a6b2f); color: #fff; }
.ps-cat .ps-cat-name { flex: 1; font-size: 13.5px; }

/* sr-only for screen readers (kept invisible) */
.sr-only{position:absolute !important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;}

/* Empty cart — disable «Оформити» CTA + FAB-overlap-fix */
.cart-drawer.cart-empty .cart-drawer-checkout{opacity:.45;pointer-events:none;filter:saturate(.4);}
.cart-drawer.cart-empty .cart-drawer-checkout::after{display:none;}
/* Hide floating chat button while drawer is open to avoid overlap with footer CTAs */
.cart-drawer.open ~ #fab-msg, body:has(.cart-drawer.open) #fab-msg{opacity:0;pointer-events:none;transition:opacity .2s;}

/* Mobile: full-width drawer */
@media (max-width:480px){
  .cart-drawer-panel{width:100vw;}
  .cart-drawer-head{padding:18px 16px 14px;}
  .cart-drawer-body{padding:12px 14px;}
  .cart-drawer-foot{padding:14px 16px 18px;}
  .cart-drawer-item{padding:12px;gap:10px;}
  .cdi-img{width:60px;height:60px;}
  .cart-drawer-continue,.cart-drawer-checkout{font-size:11.5px;padding:11px 8px;}
}

/* ── Captcha (math + honeypot) ── */
.rf-captcha{display:flex;align-items:center;gap:14px;padding:12px 14px;margin:10px 0;background:#fff;border:1px dashed var(--border-soft);border-radius:8px;}
.rf-captcha-label{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ink);flex-wrap:wrap;}
.rf-captcha-label b{font-size:18px;font-weight:800;color:var(--ua-blue);font-variant-numeric:tabular-nums;}
.rf-captcha-label input{padding:8px 12px;border:1.5px solid var(--border);border-radius:6px;font-size:14px;font-family:inherit;}

/* ── Size chart ── */
.size-howto{margin-bottom:22px;}
.size-howto h4,.size-howto .sz-h{font-size:16px;font-weight:700;margin:0 0 10px;color:var(--olive-dk);line-height:1.3;}
.reviews-form .rf-h{font-size:15px;font-weight:700;margin:0 0 12px;color:var(--olive-dk);line-height:1.3;}
.size-howto p{margin:0 0 12px;font-size:14px;line-height:1.65;color:var(--ink);}
.size-steps{margin:0 0 0 20px;font-size:14px;line-height:1.7;}
.size-steps b{color:var(--olive-dk);}
.size-table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px;}
.size-table th,.size-table td{padding:11px 14px;border:1px solid var(--border-soft);text-align:left;}
.size-table thead{background:var(--cream-2);}
.size-table th{font-weight:700;color:var(--olive-dk);font-size:12px;letter-spacing:.05em;text-transform:uppercase;}
.size-table tbody td:first-child{font-weight:800;color:var(--ua-blue);font-size:16px;}

/* ── SEO content block (home + catalog) ── */
.seo-block{max-width:1100px;margin:60px auto 40px;padding:36px 44px;background:#fff;border:1px solid var(--border-soft);border-radius:18px;font-size:16.5px;line-height:1.75;color:var(--ink);}
.seo-block h2{font-size:28px;font-weight:800;margin:0 0 18px;color:var(--olive-dk);letter-spacing:-.01em;}
.seo-block h3{font-size:20px;font-weight:700;margin:24px 0 10px;color:var(--ink);}
.seo-block h4{font-size:16px;font-weight:700;margin:18px 0 8px;color:var(--olive-dk);}
.seo-block p{margin:0 0 14px;}
.seo-block ul,.seo-block ol{margin:0 0 16px 22px;}
.seo-block li{margin:6px 0;}
.seo-block strong{color:var(--olive-dk);font-weight:700;}
.seo-block a{color:var(--ua-blue);}
.home-seo{margin-top:40px;}

/* Тризуб watermark — герб України напівпрозоро у правому верхньому куті білої карточки */
.seo-block-tryzub{position:relative;overflow:hidden;}
.seo-block-tryzub::before{
  content:'';
  position:absolute;
  top:-30px;right:-40px;
  width:260px;height:260px;
  background:url('/assets/img/tryzub.svg') center/contain no-repeat;
  opacity:.06;
  pointer-events:none;
  transform:rotate(8deg);
  z-index:0;
}
.seo-block-tryzub > *{position:relative;z-index:1;}
@media (max-width: 720px){
  .seo-block-tryzub::before{width:170px;height:170px;top:-20px;right:-30px;opacity:.05;}
}
@media (max-width:700px){
  .seo-block{padding:36px 18px 28px;font-size:14.5px;}
  .seo-block h2{font-size:22px;margin-top:8px;}
  .seo-block h3{font-size:18px;}
  .static-page h1,.cart-page h1,.checkout-page h1,.notfound h1{margin-top:18px;}
  .bp-body > h2:first-child,.bp-body > h3:first-child,.bp-body > h1:first-child{margin-top:18px;}
  .blog-hero{margin-top:24px;}
  .page-main > h1:first-child,.page-main > h2:first-child{margin-top:18px;}
}

/* ── Related products grid ── */
.related-products{margin:60px 0 40px;}
.related-products .section-head{margin-bottom:24px;}
.rp-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px;}
.rp-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-soft);border-radius:14px;overflow:hidden;text-decoration:none;color:inherit;transition:.2s;}
.rp-card:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(0,0,0,.08);text-decoration:none;border-color:var(--olive);}
.rp-img{position:relative;aspect-ratio:1/1;background-color:var(--cream-2);overflow:hidden;}
.rp-img .rp-img-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;}
.rp-body{padding:14px 16px;}
.rp-card h3{font-size:14px;font-weight:700;margin:0 0 8px;line-height:1.35;color:var(--ink);min-height:38px;}
.rp-price{font-size:18px;font-weight:800;color:var(--ua-blue);font-family:'Manrope',sans-serif;}

@media (max-width:700px){
  .pt-panels{padding:22px 18px;}
  .reviews-summary{flex-direction:column;align-items:flex-start;gap:10px;}
  .rf-row{grid-template-columns:1fr;}
  .size-table{font-size:12px;}
  .size-table th,.size-table td{padding:8px 10px;}
}

/* ── Catalog page ── */
.catalog-page{padding:32px 0 60px;}
.catalog-page h1{font-size:42px;font-weight:800;margin:0;letter-spacing:-.02em;line-height:1.05;}

/* ── Catalog hero ── */
.catalog-hero{display:flex;align-items:center;gap:22px;padding:24px 28px;margin-bottom:30px;background:linear-gradient(135deg,#fff 0%,var(--cream-2) 100%);border:1px solid var(--border-soft);border-radius:18px;position:relative;overflow:hidden;}
.catalog-hero::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);}
.catalog-hero::after{content:'';position:absolute;right:-40px;bottom:-40px;width:200px;height:200px;border-radius:50%;background:radial-gradient(circle,rgba(0,87,184,.06),transparent 70%);pointer-events:none;}
.ch-icon{display:inline-flex;align-items:center;justify-content:center;width:76px;height:76px;border-radius:18px;background:linear-gradient(135deg,var(--olive),var(--olive-dk));color:#fff;flex-shrink:0;box-shadow:0 8px 20px rgba(93,106,58,.25);position:relative;z-index:1;}
.ch-icon svg{width:42px;height:42px;}
.ch-body{flex:1;display:flex;flex-direction:column;gap:12px;position:relative;z-index:1;}
.ch-meta{display:flex;flex-wrap:wrap;gap:8px;}
.ch-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 10px;background:#fff;border:1px solid var(--border-soft);border-radius:20px;font-size:12px;font-weight:600;color:var(--ink);letter-spacing:.01em;}
.ch-chip svg{width:14px;height:14px;color:var(--muted);}
.ch-chip-ua{background:linear-gradient(90deg,rgba(0,87,184,.08) 50%,rgba(255,215,0,.16) 50%);border-color:transparent;color:var(--olive-dk);}
.ch-chip-ua svg{color:var(--ua-blue);}
.ch-chip-ok{color:#235c33;background:#e8f4ec;border-color:#b9dfc4;}
.ch-chip-ok svg{color:#22945e;}
.cat-filter{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:28px;}
.cat-filter a{display:inline-flex;align-items:center;gap:8px;padding:7px 16px 7px 8px;background:#fff;border:1px solid var(--border-soft);border-radius:24px;font-size:13px;font-weight:600;color:var(--ink);text-decoration:none;transition:.18s ease;}
.cat-filter a:hover{text-decoration:none;border-color:var(--olive);transform:translateY(-1px);box-shadow:0 4px 12px rgba(0,0,0,.06);}
.cat-filter a.act{background:var(--ua-blue);color:#fff;border-color:var(--ua-blue);}
.cat-filter a.act:hover{transform:none;box-shadow:0 4px 12px rgba(0,87,184,.25);}
.cat-filter .cf-ico{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;background:var(--cream);color:var(--olive);flex-shrink:0;transition:.18s ease;}
.cat-filter .cf-ico svg{width:16px;height:16px;display:block;}
.cat-filter a.act .cf-ico{background:rgba(255,255,255,.18);color:#fff;}

/* ── Cart / checkout ── */
.cart-page,.checkout-page,.static-page,.notfound{padding:40px 0 60px;}
.cart-page h1,.checkout-page h1,.static-page h1,.notfound h1{font-size:36px;font-weight:800;margin:0 0 22px;}
.cart-table{width:100%;background:#fff;border:1px solid var(--border-soft);border-radius:10px;overflow:hidden;border-collapse:collapse;}
.cart-table th,.cart-table td{padding:14px 18px;text-align:left;border-bottom:1px solid var(--border-soft);}
.cart-table th{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--cream);}
.cart-table .thumb{width:60px;height:60px;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--paper);border-radius:6px;}
.cart-table tfoot td{font-weight:800;background:var(--cream);}
.empty-state{text-align:center;padding:80px 20px;color:var(--muted);}
.empty-state h2{margin-bottom:14px;color:var(--ink);}
.summary{display:grid;grid-template-columns:1fr 360px;gap:28px;margin-top:24px;}
.summary-box{background:#fff;border:1px solid var(--border-soft);border-radius:14px;padding:24px;height:fit-content;position:sticky;top:88px;}
.summary-box h3{font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-bottom:18px;color:var(--olive-dk);padding-bottom:12px;border-bottom:1px solid var(--border-soft);}
.summary-box .row{display:flex;justify-content:space-between;padding:6px 0;font-size:14px;}
.summary-box .total{font-size:22px;font-weight:800;padding-top:18px;border-top:1px solid var(--border-soft);margin-top:14px;}
.summary-box .sum-item{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid var(--border-soft);}
.summary-box .sum-item:last-of-type{border-bottom:none;}
.summary-box .sum-thumb{width:54px;height:54px;background:var(--cream);border-radius:8px;background-size:contain;background-position:center;background-repeat:no-repeat;flex-shrink:0;}
.summary-box .sum-body{flex:1;display:flex;flex-direction:column;gap:6px;}
.summary-box .sum-name{font-size:13px;font-weight:600;line-height:1.3;color:var(--ink);}
.summary-box .sum-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;}
.summary-box .sum-qty{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden;background:#fff;}
.summary-box .sum-qty .qbtn{width:22px;height:24px;background:transparent;border:none;cursor:pointer;font-size:14px;color:var(--ink);padding:0;}
.summary-box .sum-qty .qbtn:hover{background:var(--cream);}
.summary-box .sum-qty .qval{min-width:24px;text-align:center;font-size:13px;font-weight:600;}
.summary-box .sum-price{font-size:13px;font-weight:700;color:var(--ink);}
.summary-box .sum-rm{width:26px;height:26px;border:none;background:transparent;color:var(--muted);cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;border-radius:6px;}
.summary-box .sum-rm:hover{background:#fbe6e2;color:#8c2a1f;}
.summary-box .sum-rm svg{width:14px;height:14px;}

/* ─── Checkout — modern layout ─── */
.checkout-page{padding:30px 0 80px;}
.co-title{font-size:32px;font-weight:800;margin:0 0 28px;letter-spacing:-.01em;}
.co-grid{display:grid;grid-template-columns:1fr 360px;gap:28px;align-items:start;}
.co-main{display:flex;flex-direction:column;gap:18px;}
.co-card{position:relative;background:#fff;border:1px solid var(--border-soft);border-radius:14px;}
.co-card-head{display:flex;align-items:center;gap:14px;padding:18px 24px;background:var(--cream);border-bottom:1px solid var(--border-soft);border-radius:14px 14px 0 0;}
.co-step{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:50%;background:var(--ua-blue);color:#fff;font-weight:800;font-size:14px;flex-shrink:0;}
.co-card-head h2{margin:0;font-size:17px;font-weight:700;color:var(--ink);}
.co-fields{padding:24px;display:flex;flex-direction:column;gap:16px;}
.co-options{padding:18px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
.co-opt{position:relative;display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fff;border:1.5px solid var(--border);border-radius:10px;cursor:pointer;transition:.18s ease;}
.co-opt input{position:absolute;opacity:0;}
.co-opt:hover{border-color:var(--olive);background:var(--cream-2);}
.co-opt:has(input:checked){border-color:var(--ua-blue);background:#f1f6fd;box-shadow:0 0 0 3px rgba(0,87,184,.08);}
.co-opt-ico{font-size:24px;flex-shrink:0;}
.co-opt-body{display:flex;flex-direction:column;gap:2px;line-height:1.2;}
.co-opt-body strong{font-size:14px;color:var(--ink);}
.co-opt-body small{font-size:12px;color:var(--muted);}
.co-submit{display:flex;align-items:center;justify-content:center;gap:16px;width:100%;padding:18px;font-size:15px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;border-radius:10px;transition:.2s ease;}
.co-submit:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(0,87,184,.25);}
.co-submit-total{padding:5px 14px;background:rgba(255,255,255,.18);border-radius:20px;font-size:14px;}

/* Phone field with country selector — strict, calm design */
.phone-field{position:relative;display:flex;align-items:stretch;border:1.5px solid var(--border);border-radius:8px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;}
.phone-field:focus-within{border-color:var(--ua-blue);box-shadow:0 0 0 2px rgba(0,87,184,.08);}
.phone-field.invalid{border-color:#dc2626;}
.phone-field.invalid:focus-within{box-shadow:0 0 0 2px rgba(220,38,38,.12);}
.ph-hint{display:block;margin-top:6px;font-size:11.5px;color:var(--muted);transition:color .2s ease;}
.phone-field.valid + .ph-hint{color:#15803d;font-weight:600;}
.phone-field.invalid + .ph-hint{color:#b91c1c;font-weight:600;}
.ph-btn{display:inline-flex;align-items:center;gap:8px;padding:0 14px 0 12px;background:transparent;border:none;border-right:1px solid var(--border);cursor:pointer;font-size:13px;color:var(--ink);font-family:inherit;font-weight:600;flex-shrink:0;transition:background .15s ease;}
.ph-btn:hover{background:var(--cream-2);}
.ph-flag{display:inline-flex;width:22px;height:22px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.ph-flag svg{display:block;width:100%;height:100%;}
.ph-cc{font-size:12px;font-weight:700;letter-spacing:.04em;color:var(--ink);}
.ph-dial{color:var(--muted);font-size:12px;font-weight:500;}
.ph-caret{width:8px;height:6px;opacity:.4;margin-left:2px;transition:transform .2s ease;}
.phone-field.open-ph .ph-caret{transform:rotate(180deg);opacity:.7;}
.phone-field input{border:none !important;flex:1;background:transparent;padding:12px 14px;font-size:14px;outline:none;box-shadow:none !important;letter-spacing:.02em;}
.ph-list{position:absolute;top:calc(100% + 8px);left:0;min-width:300px;max-height:320px;overflow-y:auto;background:#fff;border:1px solid var(--border-soft);border-radius:12px;box-shadow:0 12px 32px rgba(0,0,0,.10);list-style:none;margin:0;padding:6px;z-index:200;display:none;}
.ph-list.open{display:block;}
.ph-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13px;transition:background .12s ease;}
.ph-list li:hover{background:var(--cream-2);}
.ph-list li.act{background:rgba(0,87,184,.07);}
.ph-li-flag{display:inline-flex;width:20px;height:20px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.ph-li-flag svg{display:block;width:100%;height:100%;}
.ph-li-name{flex:1;color:var(--ink);font-weight:500;}
.ph-li-code{color:var(--muted);font-size:12px;font-weight:600;font-variant-numeric:tabular-nums;}

/* ── Country field (primary driver above phone) ── */
.country-field{position:relative;display:block;}

/* GeoIP "We detected your country" tooltip — attention-grabbing entrance after page load */
.geoip-tip{position:absolute;bottom:calc(100% + 14px);left:14px;display:inline-flex;align-items:center;gap:9px;padding:8px 12px 8px 12px;background:linear-gradient(135deg,#1f2128 0%,#2a2c34 100%);color:#fff;border-radius:10px;box-shadow:0 10px 28px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.06) inset;font:500 12.5px 'Inter',sans-serif;z-index:5;opacity:0;transform:translateY(-18px) scale(.78);transition:opacity .25s ease, transform .6s cubic-bezier(.34,1.56,.64,1);pointer-events:none;white-space:nowrap;max-width:calc(100% - 28px);overflow:hidden;}
.geoip-tip::before{content:"";position:absolute;bottom:-5px;left:24px;width:10px;height:10px;background:#2a2c34;transform:rotate(45deg);z-index:1;}
.geoip-tip.show{opacity:1;transform:translateY(0) scale(1);pointer-events:auto;animation:geoip-tip-wiggle 1s cubic-bezier(.4,1.3,.5,1) .55s 1;}
@keyframes geoip-tip-wiggle{
  0%,100%{transform:translateY(0) scale(1) rotate(0);}
  18%{transform:translateY(-2px) scale(1.035) rotate(-1.2deg);}
  36%{transform:translateY(0) scale(1) rotate(1deg);}
  54%{transform:translateY(-1px) scale(1.015) rotate(-.5deg);}
  72%{transform:translateY(0) scale(1) rotate(.2deg);}
}
/* Sheen sweep that runs once after the tip lands */
.geoip-tip::after{content:"";position:absolute;inset:0;border-radius:10px;background:linear-gradient(120deg,transparent 25%,rgba(255,255,255,.22) 50%,transparent 75%);background-size:220% 100%;background-position:220% 0;pointer-events:none;opacity:0;}
.geoip-tip.show::after{opacity:1;animation:geoip-tip-sheen 1.4s ease-out .7s 1 forwards;}
@keyframes geoip-tip-sheen{
  0%{background-position:220% 0;opacity:1;}
  90%{opacity:1;}
  100%{background-position:-220% 0;opacity:0;}
}
.geoip-tip-flag{display:inline-flex;width:18px;height:18px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1.5px rgba(255,255,255,.15);position:relative;z-index:2;}
.geoip-tip.show .geoip-tip-flag{animation:geoip-flag-pop .65s cubic-bezier(.34,1.56,.64,1) .35s 1;}
@keyframes geoip-flag-pop{
  0%{transform:rotate(-160deg) scale(.3);}
  60%{transform:rotate(18deg) scale(1.25);}
  100%{transform:rotate(0) scale(1);}
}
.geoip-tip-flag svg{width:100%;height:100%;}
.geoip-tip-text{flex:0 1 auto;position:relative;z-index:2;}
.geoip-tip-close{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;background:transparent;border:none;color:#bbb;font:700 14px sans-serif;cursor:pointer;border-radius:50%;padding:0;margin-left:4px;transition:background .15s,color .15s;position:relative;z-index:2;}
.geoip-tip-close:hover{background:rgba(255,255,255,.12);color:#fff;}
/* Attention pulse on the country field itself — draws the eye there before the tip lands */
.country-field.geoip-attention::after{content:"";position:absolute;inset:-4px;border-radius:12px;border:2px solid var(--ua-blue,#0057b7);opacity:0;pointer-events:none;animation:geoip-field-pulse 1.4s ease-out 2;}
@keyframes geoip-field-pulse{
  0%{opacity:0;transform:scale(.985);}
  35%{opacity:.85;transform:scale(1.02);}
  100%{opacity:0;transform:scale(1.06);}
}
@media (prefers-reduced-motion:reduce){
  .geoip-tip{transition:opacity .2s ease;transform:none;}
  .geoip-tip.show,.geoip-tip.show .geoip-tip-flag,.geoip-tip.show::after,.country-field.geoip-attention::after{animation:none;}
}
.cf-btn{display:flex;align-items:center;gap:10px;width:100%;padding:11px 14px;background:#fff;border:1.5px solid var(--border);border-radius:8px;cursor:pointer;font-family:inherit;font-size:14px;color:var(--ink);font-weight:500;text-align:left;transition:border-color .15s ease,box-shadow .15s ease;}
.cf-btn:hover{border-color:var(--ua-blue);}
.cf-btn:focus{outline:none;border-color:var(--ua-blue);box-shadow:0 0 0 2px rgba(0,87,184,.08);}
.cf-flag{display:inline-flex;width:22px;height:22px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.cf-flag svg{display:block;width:100%;height:100%;}
.cf-name{flex:1;}
.cf-caret{width:10px;height:7px;opacity:.5;transition:transform .2s ease;}
.cf-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;background:#fff;border:1px solid var(--border);border-radius:10px;box-shadow:0 12px 28px rgba(0,0,0,.12);padding:6px;margin:0;list-style:none;z-index:50;display:none;}
.cf-list.open{display:block;}
.cf-list li{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:8px;cursor:pointer;font-size:13px;transition:background .12s ease;}
.cf-list li:hover{background:var(--cream-2);}
.cf-list li.act{background:rgba(0,87,184,.07);}
.cf-li-flag{display:inline-flex;width:20px;height:20px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.cf-li-flag svg{display:block;width:100%;height:100%;}
.cf-li-name{flex:1;color:var(--ink);font-weight:500;}

/* Nova Poshta autocomplete (city + warehouse) */
.np-picker{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media (max-width:760px){.np-picker{grid-template-columns:1fr;}}
.np-auto{position:relative;}
.np-auto input{width:100%;padding:11px 14px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;background:#fff;transition:border-color .15s ease,box-shadow .15s ease;}
.np-auto input:focus{outline:none;border-color:var(--ua-blue);box-shadow:0 0 0 3px rgba(0,87,184,.10);}
.np-auto input:disabled{background:#f5f1e7;color:#999;cursor:not-allowed;}
.np-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:280px;overflow-y:auto;background:#fff;border:1px solid var(--border-soft);border-radius:10px;box-shadow:0 10px 24px rgba(0,0,0,.10);list-style:none;margin:0;padding:5px;z-index:60;}
.np-list li{display:block;padding:9px 12px;border-radius:6px;cursor:pointer;font-size:13px;color:var(--ink);transition:background .12s ease;}
.np-list li:hover{background:var(--cream-2);}
.np-list li strong{font-weight:700;}
.np-list .np-muted{color:#888;font-weight:400;margin-left:6px;}
.co-card{overflow:visible;}

/* Country-specific delivery fields (DE/PL/CZ/GB/FR/US/...) */
.addr-fields{display:none;}
.addr-fields.open{display:grid;grid-template-columns:repeat(12,1fr);gap:12px;margin-top:4px;}
.addr-fields .af{display:flex;flex-direction:column;gap:6px;min-width:0;}
.addr-fields .af-c1{grid-column:span 3;}
.addr-fields .af-c2{grid-column:span 4;}
.addr-fields .af-c3{grid-column:span 5;}
.addr-fields .af-c4{grid-column:span 6;}
.addr-fields .af-c5{grid-column:span 7;}
.addr-fields .af-c6{grid-column:span 8;}
.addr-fields .af-c12{grid-column:1 / -1;}
.addr-fields .af label{font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:.01em;display:flex;align-items:center;gap:5px;}
.addr-fields .af label .af-req{color:#dc2626;font-weight:700;}
.addr-fields .af input{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;background:#fff;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease;}
.addr-fields .af input:focus{outline:none;border-color:var(--ua-blue);box-shadow:0 0 0 2px rgba(0,87,184,.08);}
.addr-fields .af input.invalid{border-color:#dc2626;}
.addr-fields .af-err{font-size:11.5px;color:#b91c1c;font-weight:600;display:none;}
.addr-fields .af input.invalid ~ .af-err{display:block;}
.addr-fields .af-flag{display:inline-flex;width:14px;height:14px;border-radius:50%;overflow:hidden;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.addr-fields .af-flag svg{width:100%;height:100%;display:block;}
.addr-fields .af select{width:100%;padding:11px 13px;border:1.5px solid var(--border);border-radius:8px;font-size:14px;background:#fff;font-family:inherit;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease;appearance:menulist;}
.addr-fields .af select:focus{outline:none;border-color:var(--ua-blue);box-shadow:0 0 0 2px rgba(0,87,184,.08);}

/* Photon autocomplete dropdown */
.addr-fields .af{position:relative;}
.photon-list{position:absolute;top:calc(100% + 4px);left:0;right:0;max-height:320px;overflow-y:auto;background:#fff;border:1px solid var(--olive);border-radius:10px;box-shadow:0 12px 32px rgba(0,0,0,.18);padding:6px;margin:0;list-style:none;z-index:9999;}
.photon-list::before{content:"📍 OpenStreetMap";display:block;padding:6px 10px 8px;font-size:10px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-bottom:1px solid var(--border-soft);margin-bottom:4px;}
.photon-list.city-list::before{content:"🏙 Топ міста";} /* local DB — not OSM */
.photon-list.zip-list::before{content:"📮 Топ поштові коди";}
.photon-list.city-scoped-empty::before{content:"🔍 Тільки обране місто";color:var(--olive-dk);}
.photon-list.house-list::before{content:"🏠 Доступні номери";}

/* Checkout consent checkboxes under submit button */
.co-consents{margin-top:14px;background:#ffffff;border:1px solid var(--border-soft);border-radius:12px;padding:14px 18px;display:flex;flex-direction:column;gap:8px;font-size:13px;line-height:1.45;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.co-consent{display:flex;align-items:flex-start;gap:9px;cursor:pointer;padding:6px 4px;}
.co-consent input[type="checkbox"]{margin-top:2px;width:16px;height:16px;accent-color:var(--ua-blue);cursor:pointer;flex-shrink:0;}
.co-consent span{color:var(--ink);}
.co-consent a{color:var(--ua-blue);text-decoration:underline;text-underline-offset:2px;}
.co-consent a:hover{color:var(--olive-dk);}

/* GDPR-style cookie consent banner (bottom-left corner) */
.vk9-cookie{position:fixed;left:18px;bottom:18px;width:calc(100% - 36px);max-width:440px;background:#fff;border:1px solid var(--olive);border-radius:14px;padding:16px 18px;box-shadow:0 14px 40px rgba(0,0,0,.18);z-index:9998;font-size:13.5px;line-height:1.5;transform:translateY(140%);transition:transform .35s cubic-bezier(.4,0,.2,1);}
.vk9-cookie.show{transform:translateY(0);}
.vk9-cookie-head{display:flex;align-items:center;gap:8px;margin-bottom:8px;font-weight:700;color:var(--olive-dk);font-size:14px;}
.vk9-cookie-head svg{width:20px;height:20px;flex-shrink:0;}
.vk9-cookie-text{color:var(--ink);margin-bottom:12px;}
.vk9-cookie-text a{color:var(--ua-blue);text-decoration:underline;text-underline-offset:2px;}
.vk9-cookie-actions{display:flex;gap:8px;flex-wrap:wrap;}
.vk9-cookie-btn{padding:9px 16px;border:0;border-radius:8px;font-size:13px;font-weight:600;cursor:pointer;font-family:inherit;transition:transform .15s,box-shadow .15s;}
.vk9-cookie-btn:hover{transform:translateY(-1px);box-shadow:0 6px 14px rgba(0,0,0,.15);}
.vk9-cookie-btn-accept{background:var(--ua-blue);color:#fff;}
.vk9-cookie-btn-essential{background:#f4ede1;color:var(--ink);}
@media (max-width:560px){.vk9-cookie{left:10px;right:10px;width:auto;max-width:none;bottom:10px;padding:14px;}}
.photon-list li.photon-empty{padding:12px;color:var(--muted);font-size:13px;cursor:default;line-height:1.5;}
.photon-list li.photon-empty:hover{background:transparent;}
/* City field loading state during /api/zip lookup */
.addr-fields input.is-loading{background:#f4ede1;color:#7a715a;cursor:progress;animation:vk9-pulse 1.1s ease-in-out infinite;}
@keyframes vk9-pulse{0%,100%{background:#f4ede1;}50%{background:#ebe1cd;}}
/* Google Places Autocomplete (.pac-container) — стилі під сайт */
.pac-container{border:1px solid var(--olive)!important;border-radius:10px!important;box-shadow:0 12px 32px rgba(0,0,0,.18)!important;margin-top:4px;font-family:inherit;background:#fff;z-index:10000!important;}
.pac-container:after{display:none!important;} /* приховуємо «Powered by Google» — gmaps все одно рендерить його в окремому місці згідно ToS */
.pac-item{padding:9px 12px;border-top:1px solid var(--border-soft);font-size:13.5px;cursor:pointer;}
.pac-item:first-child{border-top:0;}
.pac-item:hover,.pac-item-selected{background:var(--cream-2);}
.pac-icon{margin-right:8px;}
.pac-item-query{color:var(--ink);font-weight:600;}
.pac-matched{color:var(--olive-dk);}
.photon-list li{padding:9px 12px;border-radius:6px;cursor:pointer;font-size:13.5px;display:flex;flex-direction:column;gap:2px;transition:background .12s ease;}
.photon-list li:hover,.photon-list li.act{background:var(--cream-2);}
.photon-list li strong{color:var(--ink);font-weight:600;}
.photon-list li span{color:var(--muted);font-size:12px;}
.addr-banner{display:flex;align-items:center;gap:10px;padding:10px 14px;background:linear-gradient(90deg,rgba(0,87,184,.06),rgba(255,215,0,.06));border:1px solid var(--border-soft);border-radius:8px;margin-bottom:12px;font-size:12.5px;color:var(--ink);}
.addr-banner .ab-flag{display:inline-flex;width:22px;height:22px;border-radius:50%;overflow:hidden;flex-shrink:0;box-shadow:0 0 0 1px rgba(0,0,0,.08);}
.addr-banner .ab-flag svg{width:100%;height:100%;display:block;}
.addr-banner b{color:var(--ua-blue);}
.addr-banner .ab-law{color:var(--muted);font-size:11.5px;margin-left:auto;}
@media (max-width:760px){
  .addr-fields.open{grid-template-columns:repeat(6,1fr);}
  .addr-fields .af-c1{grid-column:span 2;}
  .addr-fields .af-c2{grid-column:span 3;}
  .addr-fields .af-c3{grid-column:span 6;}
  .addr-fields .af-c4{grid-column:1 / -1;}
  .addr-fields .af-c5{grid-column:1 / -1;}
  .addr-fields .af-c6{grid-column:1 / -1;}
}

/* Success card */
.co-success{padding:60px 30px;text-align:center;background:#fff;border:1px solid var(--border-soft);border-radius:14px;}
.co-success-ico{display:inline-flex;align-items:center;justify-content:center;width:88px;height:88px;border-radius:50%;background:linear-gradient(135deg,#22c55e,var(--olive));color:#fff;margin-bottom:20px;box-shadow:0 8px 24px rgba(34,197,94,.25);}
.co-success-ico svg{width:48px;height:48px;}
.co-success h2{font-size:28px;margin:0 0 8px;}

@media (max-width:900px){
  .co-grid{grid-template-columns:1fr;}
  .co-options{grid-template-columns:1fr;}
  .summary-box{position:static;}
}

.form-grid label{display:block;margin-bottom:14px;}
.form-grid label span{display:block;font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:5px;}
.form-grid input,.form-grid textarea,.form-grid select{width:100%;padding:11px 13px;border:1px solid var(--border);border-radius:6px;font-family:inherit;font-size:14px;background:#fff;}
.form-grid input:focus,.form-grid textarea:focus,.form-grid select:focus{outline:2px solid var(--ua-blue);outline-offset:0;border-color:var(--ua-blue);}
.form-grid textarea{resize:vertical;min-height:80px;}
.radio-group{display:flex;flex-direction:column;gap:8px;}
.radio-group label{display:flex;align-items:center;gap:10px;padding:11px 14px;border:1px solid var(--border);border-radius:6px;cursor:pointer;margin:0;}
.radio-group label:has(input:checked){border-color:var(--ua-blue);background:var(--cream-2);}
.radio-group input{width:auto;margin:0;}

/* ── Static page ── */
.static-page .container{max-width:780px;}
.static-page h1{margin-bottom:22px;}
.static-page .content{font-size:17.5px;line-height:1.75;}
.static-page .content p{margin:0 0 16px;}

/* ── 404 ── */
.notfound{text-align:center;padding:120px 20px;}
.notfound h1{font-size:84px;margin:0 0 18px;}
.notfound p{color:var(--muted);margin-bottom:24px;}
.page-404{padding:50px 0 80px;}
.rw-banner{max-width:760px;margin:0 auto;background:#fff;border:1px solid var(--border-soft);border-radius:18px;box-shadow:0 14px 40px rgba(0,0,0,.08);overflow:hidden;}
.rw-art{background:#0057B7;line-height:0;}
.rw-art svg{display:block;width:100%;height:auto;}
.rw-body{padding:34px 36px 38px;text-align:center;}
.rw-body h1{font-size:96px;font-weight:900;letter-spacing:-.02em;margin:0 0 6px;line-height:1;color:var(--ua-blue);background-image:linear-gradient(180deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
.rw-body .big{font-size:22px;font-weight:700;color:var(--ink);margin:0 0 14px;}
.rw-body .cta-row{justify-content:center;margin-top:22px;}
@media (max-width:600px){
  .rw-body{padding:22px 18px 26px;}
  .rw-body h1{font-size:64px;}
  .rw-body .big{font-size:17px;}
}

/* ── Flash messages ── */
.flash{padding:11px 18px;border-radius:6px;margin:16px 0;font-size:14px;}
.flash-ok{background:#e7f3ea;color:var(--ok);border-left:3px solid var(--ok);}
.flash-error{background:#fbe5e1;color:var(--danger);border-left:3px solid var(--danger);}

/* ── Responsive ── */
@media (max-width: 960px){
  .main-nav{display:none;}
  .slides{height:auto;}
  .slide{flex-direction:column;text-align:center;padding:32px 24px;height:auto;}
  .slide-text h1{font-size:38px;}
  .slide-img{height:280px;width:100%;}
  .featured{grid-template-columns:1fr;}
  .f-text{padding:32px;}
  .cats{grid-template-columns:repeat(2,1fr);}
  .gallery{grid-template-columns:repeat(2,1fr);}
  .rev-page{grid-template-columns:1fr;}
  .rev-arrow.prev{left:-10px;}
  .rev-arrow.next{right:-10px;}
  .product-layout{grid-template-columns:1fr;}
  .summary{grid-template-columns:1fr;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .zsu{flex-direction:column;text-align:center;}
  .acc-layout{grid-template-columns:1fr;}
  .acc-side{position:static;}
  .auth-card{padding:30px 24px;}
}

/* ─── Account ─── */
.account-page{padding:50px 0 80px;min-height:60vh;}
.acc-flash{padding:14px 18px;border-radius:8px;margin-bottom:24px;font-size:14px;font-weight:500;}
.acc-flash.ok{background:#e8f4ec;color:#235c33;border:1px solid #b9dfc4;}
.acc-flash.err{background:#fbe6e2;color:#8c2a1f;border:1px solid #f1bdb5;}

/* Login / Register card */
.auth-wrap{display:flex;justify-content:center;align-items:flex-start;padding:40px 0 60px;min-height:60vh;}
.auth-card{width:100%;max-width:460px;padding:44px 40px;background:#fff;border:1px solid var(--border-soft);border-radius:16px;box-shadow:0 8px 32px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.04);position:relative;overflow:hidden;}
.auth-card::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--ua-blue) 50%,var(--ua-yellow) 50%);}
.auth-brand{display:flex;flex-direction:column;align-items:center;gap:14px;margin-bottom:32px;text-align:center;}
.auth-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:linear-gradient(135deg,var(--ua-blue),var(--olive));color:#fff;box-shadow:0 4px 16px rgba(0,87,184,.25);}
.auth-icon svg{width:30px;height:30px;}
.auth-brand h1{font-size:26px;font-weight:800;margin:0;color:var(--ink);letter-spacing:-.01em;}
.auth-brand p{margin:0;font-size:13px;color:var(--muted);}
.auth-card .auth-form{display:flex;flex-direction:column;gap:16px;}
.auth-card .auth-btn{width:100%;padding:14px;font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;margin-top:10px;border-radius:8px;transition:.2s ease;}
.auth-card .auth-btn:hover{background:#003d8c;transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,87,184,.25);}
.auth-foot{text-align:center;margin:24px 0 0;padding-top:20px;border-top:1px solid var(--border-soft);color:var(--muted);font-size:13px;}
.auth-foot a{color:var(--ua-blue);font-weight:600;}
.hint{display:block;font-size:11px;color:var(--muted);margin-top:-8px;}

.f-grid-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.f{display:flex;flex-direction:column;gap:6px;}
.f > span{font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em;}
.f input,.f textarea,.f select{padding:12px 14px;border:1.5px solid var(--border);background:#fff;border-radius:8px;font-size:14px;font-family:inherit;color:var(--ink);width:100%;box-sizing:border-box;transition:border-color .15s ease,box-shadow .15s ease;}
.f input:focus,.f textarea:focus,.f select:focus{outline:none;border-color:var(--ua-blue);box-shadow:0 0 0 3px rgba(0,87,184,.12);}
.f input:disabled{background:var(--cream);color:var(--muted);cursor:not-allowed;}
.f input::placeholder{color:#b5b0a1;}

/* Inputs with left icon */
.f-icon .if-wrap{position:relative;display:block;}
.f-icon .if-ico{position:absolute;left:14px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--muted);pointer-events:none;}
.f-icon .if-wrap input{padding-left:42px;}
.f-icon .if-wrap:focus-within .if-ico{color:var(--ua-blue);}

/* Dashboard layout */
.acc-layout{display:grid;grid-template-columns:260px 1fr;gap:32px;align-items:start;}
.acc-side{position:sticky;top:88px;background:#fff;border:1px solid var(--border-soft);border-radius:14px;padding:24px;display:flex;flex-direction:column;gap:18px;}
.acc-user{display:flex;align-items:center;gap:12px;padding-bottom:18px;border-bottom:1px solid var(--border-soft);}
.acc-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--ua-blue),var(--olive));color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;flex-shrink:0;text-transform:uppercase;}
.acc-user strong{display:block;font-size:14px;color:var(--ink);line-height:1.3;}
.acc-user small{display:block;color:var(--muted);font-size:12px;margin-top:2px;word-break:break-all;}
.acc-nav{display:flex;flex-direction:column;gap:2px;}
.acc-nav a{display:flex;align-items:center;gap:8px;padding:11px 14px;border-radius:8px;color:var(--ink);font-size:14px;font-weight:500;text-decoration:none;transition:background .15s ease,color .15s ease;}
.acc-nav a:hover{background:var(--cream);text-decoration:none;}
.acc-nav a.act{background:var(--ua-blue);color:#fff;font-weight:600;}
.acc-logout{margin-top:8px;padding-top:14px;border-top:1px solid var(--border-soft);}
.acc-logout button{width:100%;padding:11px 14px;background:transparent;border:1px solid var(--border);border-radius:8px;color:var(--muted);font-size:13px;font-weight:600;cursor:pointer;transition:.15s ease;font-family:inherit;text-align:left;}
.acc-logout button:hover{background:#fbe6e2;border-color:#f1bdb5;color:#8c2a1f;}

/* Main panel */
.acc-main{background:#fff;border:1px solid var(--border-soft);border-radius:14px;padding:36px;min-height:400px;}
.acc-main h1{font-size:28px;font-weight:800;margin:0 0 24px;}
.acc-main h2{font-size:20px;font-weight:700;margin:0 0 16px;}
.acc-main h3{font-size:16px;font-weight:700;margin:28px 0 14px;color:var(--ink);}
.acc-main .muted{color:var(--muted);font-size:14px;}
.acc-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px;}
.acc-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:6px;padding:24px;background:var(--cream);border:1px solid var(--border-soft);border-radius:12px;color:inherit;text-decoration:none;transition:.2s ease;}
.acc-kpi:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(0,0,0,.06);text-decoration:none;border-color:var(--olive);}
.acc-kpi .n{font-size:30px;font-weight:800;color:var(--ua-blue);line-height:1;font-family:'Manrope',sans-serif;}
.acc-kpi .l{font-size:13px;color:var(--muted);font-weight:500;}

/* Data tables */
.acc-main .data{width:100%;border-collapse:collapse;margin:8px 0 20px;}
.acc-main .data th{text-align:left;font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);background:var(--cream);padding:10px 12px;border-bottom:1px solid var(--border-soft);}
.acc-main .data td{padding:14px 12px;border-bottom:1px solid var(--border-soft);font-size:14px;}
.acc-main .data tbody tr:hover{background:var(--cream-2);}
.acc-main .data code{font-family:'JetBrains Mono',monospace;font-size:12px;color:var(--ink);background:var(--cream);padding:2px 6px;border-radius:4px;}
.acc-main .badge{display:inline-block;padding:3px 10px;background:var(--cream);border:1px solid var(--border);border-radius:12px;font-size:11px;font-weight:600;color:var(--ink);letter-spacing:.02em;}

/* Forms */
.acc-form{display:flex;flex-direction:column;gap:14px;max-width:560px;margin-bottom:24px;}
.acc-form .btn-primary{align-self:flex-start;padding:11px 28px;font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;}
.acc-hr{border:none;border-top:1px solid var(--border-soft);margin:36px 0 28px;}

/* Addresses */
.addr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;}
.addr-card{padding:20px;background:var(--cream);border:1px solid var(--border-soft);border-radius:12px;display:flex;flex-direction:column;gap:8px;}
.addr-card strong{font-size:14px;display:flex;align-items:center;gap:8px;}
.addr-card p{margin:0;font-size:13px;line-height:1.5;color:var(--ink);}
.addr-card small{color:var(--muted);font-size:12px;}

/* ───── Блог ───── */
.blog-list .container, .blog-post.container{max-width:1180px;}
.blog-hero{margin:30px 0 36px;}
.blog-hero h1{font-size:38px;font-weight:800;margin:0 0 10px;}
.blog-hero p{font-size:16px;margin:0;max-width:640px;line-height:1.6;}
.blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:24px;}
.blog-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--border-soft);border-radius:14px;overflow:hidden;transition:transform .25s ease, box-shadow .25s ease;}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 12px 30px rgba(0,0,0,.06);}
.bc-cover{display:block;aspect-ratio:16/10;background:#f3eddb;overflow:hidden;}
.bc-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.bc-cover-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:48px;opacity:.5;}
.bc-body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:8px;}
.bc-date{font-size:12px;color:var(--muted);letter-spacing:.04em;}
.bc-body h2{font-size:18px;font-weight:700;margin:0;line-height:1.35;}
.bc-body h2 a{color:var(--ink);text-decoration:none;}
.bc-body h2 a:hover{color:var(--ua-blue);}
.bc-excerpt{font-size:13.5px;color:var(--muted);line-height:1.55;margin:0;}
.bc-more{margin-top:6px;font-size:13px;font-weight:600;color:var(--ua-blue);text-decoration:none;align-self:flex-start;}
.bc-more:hover{text-decoration:underline;}

.blog-post{max-width:760px;margin:30px auto;background:#fff;border:1px solid #e9e1c7;border-radius:14px;padding:28px 34px;box-shadow:0 1px 3px rgba(0,0,0,.04);}
/* Inside the 2-col layout (sidebar+main) — let the article fill its grid cell, not stay at 760px. */
.layout-2col .blog-post{max-width:none;margin:0 0 30px;}
.layout-2col .page-card{max-width:none;}
@media (max-width:640px){ .blog-post{padding:18px 18px;border-radius:10px} }
.bp-header h1{font-size:38px;font-weight:800;line-height:1.2;margin:0 0 12px;}
.bp-meta{color:var(--muted);font-size:13px;margin:0 0 22px;letter-spacing:.04em;}
.bp-cover{width:100%;max-height:420px;object-fit:cover;border-radius:14px;margin:0 0 28px;border:1px solid var(--border-soft);}
.bp-body{font-size:17.5px;line-height:1.75;color:var(--ink);}
.bp-body h2{font-size:26px;font-weight:700;margin:32px 0 14px;}
.bp-body h3{font-size:20px;font-weight:700;margin:24px 0 10px;}
.bp-body p{margin:0 0 16px;}
.bp-body ul, .bp-body ol{margin:0 0 18px;padding-left:24px;}
.bp-body li{margin-bottom:6px;}
.bp-body img{max-width:100%;border-radius:10px;margin:14px 0;}
.bp-body blockquote{margin:18px 0;padding:14px 20px;border-left:3px solid var(--ua-blue);background:var(--cream);font-style:italic;color:var(--ink);}
.bp-body a{color:var(--ua-blue);text-decoration:underline;}
.bp-related{margin-top:52px;}
.bp-related h3{font-size:20px;font-weight:700;margin:0 0 16px;}

/* ───── Footer Step Up partner block ───── */
.ft-partner{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:16px 0 6px;border-top:1px solid rgba(255,255,255,.08);}
.ft-partner-label{font-size:12px;color:rgba(255,255,255,.55);text-transform:uppercase;letter-spacing:.08em;}
.ft-partner-link{display:inline-flex;align-items:center;gap:8px;color:#fff;text-decoration:none;transition:opacity .2s ease;}
.ft-partner-link:hover{opacity:.8;}
.ft-partner-link img{max-height:32px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.85;}
.ft-partner-link strong{font-size:14px;font-weight:700;letter-spacing:.02em;}

/* ── Inline form validation ───────────────────────────────────────── */
.vk9-invalid-input{border-color:#c14a3c !important;background-color:#fdf3f1 !important;box-shadow:0 0 0 3px rgba(193,74,60,.12) !important;}
.vk9-invalid-input:focus{outline:none;border-color:#a93021 !important;box-shadow:0 0 0 3px rgba(193,74,60,.22) !important;}
.vk9-field-error{display:block;margin-top:6px;color:#a93021;font-size:12.5px;font-weight:600;line-height:1.35;animation:vk9-err-in .18s ease-out;}
.vk9-field-error::before{content:'⚠';margin-right:6px;font-size:12px;}
.vk9-invalid > span:first-child{color:#a93021 !important;}
@keyframes vk9-err-in{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
.vk9-form-summary{margin:14px 0;padding:10px 14px;background:#fbeae6;border:1px solid #c14a3c;border-radius:8px;color:#a93021;font-size:13.5px;font-weight:600;line-height:1.4;}
.vk9-form-summary::before{content:'⛔ ';margin-right:4px;}
.vk9-invalid input[type=checkbox],.vk9-invalid input[type=radio]{outline:2px solid #c14a3c;outline-offset:2px;border-radius:3px;}
form[data-validate] :invalid{box-shadow:none;}

/* ─────────────────────────────────────────────────────────────────
   Moved out of inline <style> tags (W3C HTML5 forbids <style> in body)
   ───────────────────────────────────────────────────────────────── */

/* ── Cart badge pulse on update ── */
.cart-badge[hidden]{display:none !important;}
.cart-badge.pulse{animation: cart-pulse 0.6s ease-out;}
@keyframes cart-pulse{
  0%   { transform: scale(1); }
  35%  { transform: scale(1.55); }
  70%  { transform: scale(0.92); }
  100% { transform: scale(1); }
}
/* ── Add-to-cart button states ── */
.btn-adding{pointer-events:none; opacity:.85; transform: scale(.97);}
.btn-spin{display:inline-block;width:14px;height:14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .8s linear infinite;vertical-align:middle;margin-right:6px;}
@keyframes btn-spin { to { transform: rotate(360deg); } }
.btn-added{background:#2d6a3d !important; color:#fff !important; transform: scale(1.04); transition: all .25s ease-out;}
.btn-added svg{margin-right:4px; animation: check-pop .35s ease-out;}
@keyframes check-pop {
  0% { transform: scale(0) rotate(-20deg); opacity:0; }
  60% { transform: scale(1.4) rotate(8deg); opacity:1; }
  100% { transform: scale(1) rotate(0); opacity:1; }
}
/* ── Flying ball animation from button → header ── */
.cart-fly{position:fixed;width:18px;height:18px;border-radius:50%;background:#2563eb;box-shadow:0 4px 14px rgba(37,99,235,.5);z-index:9999;pointer-events:none;transition:transform .7s cubic-bezier(.5,-.2,.7,1.1), opacity .7s ease-out;will-change:transform,opacity;}

/* ── CTA "Get consultation" — compact pill aligned right under add-to-cart ── */
.consult-cta-row{display:flex;justify-content:flex-end;margin-top:10px;}
.consult-cta-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border:1.5px solid #c79a4c;background:transparent;color:#7a5418;font:600 12.5px 'Inter',sans-serif;border-radius:999px;cursor:pointer;transition:.2s;letter-spacing:.02em;white-space:nowrap;}
.consult-cta-btn:hover{background:linear-gradient(135deg,#fdf4dc 0%,#f9e9bf 100%);box-shadow:0 3px 10px rgba(199,154,76,.2);transform:translateY(-1px);}
.consult-cta-btn svg{width:15px;height:15px;flex-shrink:0;}

/* ── Social share row ── */
.share-row{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap;justify-content:flex-end;}
.share-label{font:600 12px 'Inter',sans-serif;color:#7a7060;letter-spacing:.02em;text-transform:uppercase;}
.share-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:50%;border:none;background:#f4ede1;color:#5a4f30;cursor:pointer;transition:all .2s;text-decoration:none;}
.share-btn:hover{transform:translateY(-2px) scale(1.08);box-shadow:0 4px 10px rgba(0,0,0,.12);}
.share-btn svg{width:16px;height:16px;}
.share-fb:hover{background:#1877f2;color:#fff;}
.share-x:hover{background:#000;color:#fff;}
.share-tg:hover{background:#229ed9;color:#fff;}
.share-wa:hover{background:#25d366;color:#fff;}
.share-vb:hover{background:#665cac;color:#fff;}
.share-copy{position:relative;}
.share-copy:hover{background:#3a4030;color:#fff;}
.share-copy.copied::after{content:'✓ скопійовано';position:absolute;bottom:calc(100% + 6px);left:50%;transform:translateX(-50%);background:#3a4030;color:#fff;padding:5px 10px;border-radius:5px;font-size:11.5px;white-space:nowrap;animation:share-fade 2s ease forwards;pointer-events:none;}
@keyframes share-fade{0%,80%{opacity:1}100%{opacity:0}}

/* ── Consultation modal ── */
.consult-modal{position:fixed;inset:0;z-index:9998;display:none;align-items:flex-start;justify-content:center;padding:40px 16px;overflow-y:auto;}
.consult-modal.open{display:flex;}
.consult-modal-overlay{position:absolute;inset:0;background:rgba(20,18,12,.55);backdrop-filter:blur(3px);animation:consult-fade .2s ease-out;}
@keyframes consult-fade{from{opacity:0}to{opacity:1}}
.consult-modal-panel{position:relative;z-index:1;max-width:520px;width:100%;background:#fff;border-radius:14px;padding:28px 26px 24px;box-shadow:0 20px 60px rgba(0,0,0,.3);animation:consult-pop .25s cubic-bezier(.4,1.4,.6,1);}
@keyframes consult-pop{from{opacity:0;transform:translateY(10px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}
.consult-modal-close{position:absolute;top:10px;right:12px;background:transparent;border:none;font-size:28px;color:#999;cursor:pointer;line-height:1;width:34px;height:34px;border-radius:50%;}
.consult-modal-close:hover{background:#f4ede1;color:#3a4030;}
.consult-title{margin:0 0 6px;font-size:22px;color:#3a4030;font-family:'Manrope',sans-serif;font-weight:800;}
.consult-subtitle{margin:0 0 14px;color:#7a7060;font-size:13.5px;line-height:1.5;}
.consult-product-ctx{margin:0 0 14px;padding:8px 12px;background:#fbf6e7;border-left:3px solid #c79a4c;border-radius:0 6px 6px 0;font-size:12.5px;color:#5a4f30;}
.consult-f{display:flex;flex-direction:column;gap:5px;margin-bottom:12px;}
.consult-f > span{font-size:12.5px;color:#3a4030;font-weight:600;}
.consult-f .consult-opt{color:#aaa;font-weight:400;font-size:11.5px;margin-left:4px;}
.consult-f input[type=text], .consult-f input[type=email], .consult-f input[type=tel], .consult-f textarea{padding:9px 12px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;width:100%;transition:.15s;}
.consult-f input:focus, .consult-f textarea:focus{outline:none;border-color:#c79a4c;box-shadow:0 0 0 3px rgba(199,154,76,.15);}
.consult-f input.is-invalid, .consult-f textarea.is-invalid{border-color:#c75f5f;}
.consult-f textarea{resize:vertical;min-height:80px;}
.consult-hp{position:absolute;left:-9999px;opacity:0;pointer-events:none;}
.consult-submit-btn{display:block;width:100%;margin-top:6px;padding:12px 20px;background:linear-gradient(135deg,#c79a4c,#a87a2e);color:#fff;border:none;border-radius:10px;font:700 15px 'Inter',sans-serif;cursor:pointer;transition:.2s;letter-spacing:.02em;}
.consult-submit-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px rgba(199,154,76,.4);}
.consult-submit-btn:disabled{opacity:.6;cursor:not-allowed;}
.consult-feedback{margin-top:10px;padding:9px 12px;border-radius:6px;font-size:13px;}
.consult-feedback.ok{background:#dff2e3;color:#1f7a30;}
.consult-feedback.err{background:#fbeae6;color:#a93021;}

/* ── Floating messengers FAB ── */
.fab-msg{position:fixed;right:22px;bottom:22px;z-index:9000;display:flex;flex-direction:column;align-items:flex-end;gap:12px;font-family:inherit}
.fab-msg-toggle{position:relative;width:60px;height:60px;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,#1f8b3a 0%,#0e6b2b 100%);color:#fff;
  box-shadow:0 10px 24px rgba(15,99,46,.35),0 2px 6px rgba(0,0,0,.2);
  display:flex;align-items:center;justify-content:center;transition:transform .25s cubic-bezier(.34,1.56,.64,1),box-shadow .25s;outline:none}
.fab-msg-toggle:hover{transform:scale(1.07)}
.fab-msg-toggle:active{transform:scale(.95)}
.fab-msg-toggle svg{width:28px;height:28px;position:absolute;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .25s}
.fab-msg-toggle .fab-icon-close{transform:rotate(-90deg) scale(.3);opacity:0}
.fab-msg.open .fab-msg-toggle .fab-icon-chat{transform:rotate(90deg) scale(.3);opacity:0}
.fab-msg.open .fab-msg-toggle .fab-icon-close{transform:rotate(0) scale(1);opacity:1}
.fab-msg.open .fab-msg-toggle{background:linear-gradient(135deg,#444 0%,#222 100%);box-shadow:0 10px 24px rgba(0,0,0,.4)}
.fab-ring{position:absolute;inset:0;border-radius:50%;border:2px solid rgba(31,139,58,.55);animation:fab-pulse 2.1s ease-out infinite;pointer-events:none}
.fab-ring-2{animation-delay:1.05s}
.fab-msg.open .fab-ring,.fab-msg.open .fab-ring-2{animation-play-state:paused;opacity:0}
@keyframes fab-pulse{0%{transform:scale(.85);opacity:.85}100%{transform:scale(1.7);opacity:0}}
.fab-msg-item{position:relative;width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  color:#fff;text-decoration:none;box-shadow:0 8px 20px rgba(0,0,0,.22),0 2px 4px rgba(0,0,0,.1);
  opacity:0;pointer-events:none;transform:translateY(20px) scale(.4);
  transition:opacity .3s cubic-bezier(.34,1.56,.64,1) calc(var(--i,0)*40ms),
             transform .35s cubic-bezier(.34,1.56,.64,1) calc(var(--i,0)*40ms),
             box-shadow .2s}
.fab-msg-item:hover{box-shadow:0 12px 26px rgba(0,0,0,.32);filter:brightness(1.07)}
.fab-msg-item svg{width:24px;height:24px}
.fab-msg-tg{background:linear-gradient(135deg,#29b6f6,#0288d1)}
.fab-msg-wa{background:linear-gradient(135deg,#25d366,#128c7e)}
.fab-msg-vb{background:linear-gradient(135deg,#a25aff,#6d3fc7)}
.fab-msg-tel{background:linear-gradient(135deg,#ff9244,#e65a1a)}
.fab-msg.open .fab-msg-item{opacity:1;pointer-events:auto;transform:translateY(0) scale(1)}
.fab-msg-item::after{content:attr(data-title);position:absolute;right:62px;top:50%;transform:translateY(-50%) translateX(8px);
  background:#1c1c1c;color:#fff;padding:6px 12px;border-radius:8px;font-size:12px;font-weight:600;letter-spacing:.2px;
  white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
  box-shadow:0 4px 12px rgba(0,0,0,.25)}
.fab-msg-item::before{content:'';position:absolute;right:56px;top:50%;transform:translateY(-50%);
  border:6px solid transparent;border-left-color:#1c1c1c;opacity:0;transition:opacity .2s;pointer-events:none}
.fab-msg-item:hover::after{opacity:1;transform:translateY(-50%) translateX(0)}
.fab-msg-item:hover::before{opacity:1}
@media(max-width:640px){
  .fab-msg{right:14px;bottom:14px;gap:10px}
  .fab-msg-toggle{width:54px;height:54px}
  .fab-msg-toggle svg{width:24px;height:24px}
  .fab-msg-item{width:46px;height:46px}
  .fab-msg-item svg{width:22px;height:22px}
  .fab-msg-item::after,.fab-msg-item::before{display:none}
}
@media(prefers-reduced-motion:reduce){
  .fab-ring,.fab-ring-2{animation:none;display:none}
  .fab-msg-item,.fab-msg-toggle svg{transition:opacity .15s linear,transform .15s linear}
}

/* ── Sidebar (page-card 2-col layout, was includes/sidebar.php) ── */
.page-breadcrumb-bar{width:100%;max-width:1320px;margin:0 auto 14px;padding:14px 18px;box-sizing:border-box}
.page-breadcrumb-bar .breadcrumbs{margin:0}
.layout-2col{display:grid;grid-template-columns:300px 1fr;gap:28px;align-items:start;width:100%;max-width:1320px;margin:0 auto;padding:0 18px;box-sizing:border-box}
.page-sidebar{position:sticky;top:96px;display:flex;flex-direction:column;gap:14px;min-width:0}
.ps-card{position:relative;background:#fff;border:1px solid #e9e1c7;border-radius:14px;padding:16px 16px 16px 22px;box-shadow:0 1px 3px rgba(0,0,0,.04);overflow:hidden}
.ps-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,#0057b7 0 50%,#ffd700 50% 100%);border-radius:14px 0 0 14px;box-shadow:1px 0 2px rgba(0,0,0,.06)}
.ps-title{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:#5a604a}
.ps-cats{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ps-cat{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:10px;color:#2a2e22;text-decoration:none;font-size:14px;font-weight:500;transition:background .15s,color .15s,transform .15s}
.ps-cat:hover{background:#fbf5e6;color:#3a4828}
.ps-cat:hover .ps-cat-ico{background:#fff;color:#3a4828}
.ps-cat.is-active{background:#0057b7;color:#fff}
.ps-cat.is-active .ps-cat-ico{background:rgba(255,255,255,.16);color:#fff;border-color:rgba(255,255,255,.25)}
.ps-cat-ico{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:8px;background:#f4ede1;border:1px solid #ebe1c5;color:#3a4828;flex:0 0 30px;transition:background .15s,color .15s,border-color .15s}
.ps-cat-ico svg{width:18px;height:18px}
.ps-cat-ico-all{background:#0057b7;color:#fff;border-color:#0057b7}
.ps-cat:hover .ps-cat-ico-all{background:#003d82;color:#fff}
.ps-cat-all{font-weight:700;border-bottom:1px solid #ede4cf;margin-bottom:6px;padding-bottom:11px;border-radius:10px 10px 0 0}
.ps-cat-name{flex:1;font-size:14px;font-weight:600;line-height:1.25;display:flex;align-items:center}
.ps-cat-count{font-size:11px;background:#f4ede1;color:#7a715a;padding:2px 7px;border-radius:9px;font-weight:700}
.ps-cat.is-active .ps-cat-count{background:rgba(255,255,255,.18);color:#fff}
.ps-contact{display:flex;flex-direction:column;gap:8px}
.ps-contact a{color:#3a4828;text-decoration:none;font-size:14px;font-weight:600;padding:6px 0;display:flex;align-items:center;gap:8px;border-radius:6px;transition:color .15s}
.ps-contact a:hover{color:#0057b7}
.ps-contact svg{width:18px;height:18px;flex:0 0 18px}
.ps-msg-row{display:flex;justify-content:center;gap:14px;margin-top:10px}
.ps-msg-btn{position:relative;width:50px;height:50px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:#fff;text-decoration:none;box-shadow:0 4px 12px rgba(0,0,0,.18);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease;animation:psMsgPulse 2.2s ease-in-out infinite}
.ps-msg-btn::before{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;opacity:.55;animation:psMsgRing 2.2s ease-out infinite;pointer-events:none}
.ps-msg-btn:hover{transform:scale(1.08);box-shadow:0 8px 20px rgba(0,0,0,.28);filter:brightness(1.08)}
.ps-msg-btn:active{transform:scale(.95)}
.ps-msg-btn svg{width:26px;height:26px}
.ps-msg-label{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ps-msg-tg{background:linear-gradient(135deg,#29b6f6,#0288d1);color:#29b6f6;animation-delay:0s}
.ps-msg-tg::before{color:#0288d1}
.ps-msg-tg svg{color:#fff}
.ps-msg-wa{background:linear-gradient(135deg,#25d366,#128c7e);color:#25d366;animation-delay:.4s}
.ps-msg-wa::before{color:#128c7e}
.ps-msg-wa svg{color:#fff}
.ps-msg-vb{background:linear-gradient(135deg,#7b4ee2,#5a39b8);color:#7b4ee2;animation-delay:.8s}
.ps-msg-vb::before{color:#5a39b8}
.ps-msg-vb svg{color:#fff}
@keyframes psMsgPulse{
  0%,100%{transform:scale(1)}
  50%    {transform:scale(1.07)}
}
@keyframes psMsgRing{
  0%  {transform:scale(1);opacity:.6}
  70% {transform:scale(1.45);opacity:0}
  100%{transform:scale(1.45);opacity:0}
}
@media (prefers-reduced-motion:reduce){
  .ps-msg-btn,.ps-msg-btn::before{animation:none}
}
.ps-hot-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px}
.ps-card .ps-hot-list a.ps-hot-item{display:flex;gap:10px;align-items:center;text-decoration:none;color:inherit;padding:6px 8px;border-radius:8px;transition:background .15s ease;border-bottom:none;}
.ps-card .ps-hot-list a.ps-hot-item:hover{background:#fbf5e6;text-decoration:none}
img.ps-hot-img{display:block;width:56px;height:56px;border-radius:6px;object-fit:cover;background:#f4ede1;flex:0 0 56px;box-shadow:inset 0 0 0 1px rgba(0,0,0,.06)}
.ps-hot-img-empty{display:block;width:56px;height:56px;border-radius:6px;background:#f4ede1;flex:0 0 56px}
.ps-hot-body{display:flex;flex-direction:column;gap:3px;min-width:0;flex:1}
.ps-hot-name{font-size:13px;font-weight:600;color:#2a2e22;line-height:1.3;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ps-hot-price{font-size:13px;color:var(--ua-blue,#0057b8);font-weight:800}
.ps-link-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.ps-link-list a{display:flex;align-items:center;gap:10px;padding:8px 8px;border-radius:8px;color:#2a2e22;text-decoration:none;font-size:14px;transition:background .15s,color .15s}
.ps-link-list a:hover{background:#fbf5e6;color:#3a4828}
.ps-link-list a span{width:22px;text-align:center;font-size:16px}
.page-main{min-width:0}
@media (max-width:920px){
  .layout-2col{grid-template-columns:1fr;gap:18px}
  .page-sidebar{position:static;order:2}
  .page-main{order:1}
}

/* ── Static page-card with subtle trident watermark (was pages/static.php) ── */
.page-card{background:#fff;border:1px solid #e9e1c7;border-radius:14px;padding:32px 36px;box-shadow:0 1px 4px rgba(0,0,0,.05);position:relative;overflow:hidden;}
.page-card-tryzub::before{content:'';position:absolute;top:-30px;right:-40px;width:260px;height:260px;background:url('/assets/img/tryzub.svg') center/contain no-repeat;opacity:.07;pointer-events:none;transform:rotate(8deg);z-index:0;}
.page-card-tryzub > *{position:relative;z-index:1;}
@media (max-width:720px){ .page-card-tryzub::before{width:170px;height:170px;opacity:.05;} }
.page-card h1{margin:0 0 20px;font-size:32px;line-height:1.2;color:#2a2e22;}
.page-card .content{font-size:16px;line-height:1.7;color:#2a2e22;}
.page-card .content h2{margin:28px 0 12px;font-size:22px;color:#3a4828;}
.page-card .content h3{margin:22px 0 8px;font-size:18px;color:#3a4828;}
.page-card .content p{margin:0 0 14px;}
.page-card .content ul,.page-card .content ol{margin:0 0 14px;padding-left:24px;}
.page-card .content li{margin-bottom:6px;}
@media (max-width: 920px){
  .page-card{padding:22px 18px;}
  .page-card h1{font-size:24px;}
}

/* ─────────────────────────────────────────────────────────────────
   Mobile responsive — comprehensive overflow + density fixes
   ───────────────────────────────────────────────────────────────── */

/* Universal: prevent any rogue element (gallery marquee, etc.) from
   triggering horizontal scroll. `clip` is preferred over `hidden` because
   it doesn't create a scrollable ancestor (would break position:sticky). */
html, body { overflow-x: clip; }

/* GeoIP tooltip — anchor to right side so the "Країна" label stays visible.
   Arrow points down at the right portion of the country field. */
.geoip-tip { left: auto; right: 8px; }
.geoip-tip::before { left: auto; right: 28px; }

/* Tablet / large phone */
@media (max-width: 768px) {
  .footer-grid { grid-template-columns: 1fr 1fr; gap: 28px; }
  .footer-grid .col a { word-break: break-word; }
}

/* Phone */
@media (max-width: 640px) {
  .container { padding-left: 16px; padding-right: 16px; }
  .site-header .container { padding-left: 16px; padding-right: 16px; }
  .nav-wrap { gap: 10px; padding: 10px 0; margin: 0; min-height: 46px; }
  .header-utils { gap: 4px; margin: 0; padding: 0; }
  .header-utils > * { margin: 0; }
  .hu-btn { width: 36px; height: 36px; margin: 0; }
  .hu-btn svg { width: 20px; height: 20px; }
  .brand { margin: 0; padding: 0; }
  .brand-wordmark { font-size: 22px; padding: 6px 0 8px; background-size: 32px 3px; }
  .hu-phone { display: none; }   /* phone CTA hidden — FAB messenger covers it */

  /* Hero typography shrink */
  .hero-hud h1 { font-size: 36px; line-height: .95; }
  .hero-hud .hud-eye { font-size: 10px; margin-bottom: 16px; }
  .hero-hud .hud-corner { font-size: 8.5px; }
  .hero-hud .hud-meta { gap: 14px; }
  .hero-hud .hud-meta b { font-size: 16px; }
  .hero-hud .hud-btn,
  .hero-hud .hud-btn-ghost { padding: 12px 18px; font-size: 11px; }
  .hero-hud .hud-wrap { padding: 60px 16px 40px; }

  /* Footer — single column stack, left-aligned, tighter */
  .footer-grid { grid-template-columns: 1fr; gap: 18px; text-align: left; padding-left: 18px; padding-right: 18px; }
  .footer-grid > .col { padding: 0; border-right: none; border-bottom: 1px solid rgba(255,255,255,.08); padding-bottom: 14px; word-break: break-word; }
  .footer-grid > .col:last-of-type { border-bottom: none; }
  .footer-grid .col .ft-col-title,
  .footer-grid .col h3,
  .footer-grid .col h4 { text-align: left; font-size: 14px; margin: 4px 0 10px; padding-bottom: 0; }
  .footer-grid .col .ft-col-title::before,
  .footer-grid .col h3::before,
  .footer-grid .col h4::before { display: none; }
  .footer-grid .col a { text-align: left; word-break: break-word; }
  .ft-brand { align-items: flex-start; text-align: left; }
  .ft-brand p { max-width: none; }
  .ft-flag { margin-left: 0; margin-right: 0; align-self: flex-start; }
  .ft-contacts a.ft-link-icon { justify-content: flex-start; }
  .ft-socials { justify-content: flex-start; }
  .ft-bot { flex-direction: column; text-align: center; gap: 10px; }
  .ft-langs { gap: 10px; padding-top: 22px; }

  /* GeoIP tip — wrap text + smaller padding so it fits narrow screens */
  .geoip-tip {
    white-space: normal;
    max-width: calc(100% - 16px);
    font-size: 11.5px;
    padding: 7px 10px;
    line-height: 1.35;
  }
  .geoip-tip-text { word-break: break-word; }

  /* Catalog hero — shrink icon, reduce h1, allow text wrap */
  .catalog-hero { gap: 14px; padding: 18px 16px; border-radius: 14px; flex-wrap: wrap; }
  .ch-icon { width: 56px; height: 56px; border-radius: 14px; }
  .ch-icon svg { width: 32px; height: 32px; }
  .catalog-page h1 { font-size: 26px; line-height: 1.1; word-break: break-word; hyphens: auto; }
  .ch-meta { gap: 6px; }
  .ch-chip { font-size: 11px; padding: 4px 10px 4px 8px; }

  /* Cart/checkout/static h1 — narrow viewport size */
  .cart-page h1, .checkout-page h1, .static-page h1, .notfound h1 { font-size: 24px; }

  /* Universal long-word handling for inline content */
  .page-card .content, .page-card h1, .blog-post, .ch-body, .ch-body h1 { overflow-wrap: anywhere; }

  /* Section spacing reduced */
  .site-footer { padding: 40px 0 22px; margin-top: 50px; }
  .site-footer .brand-icon { width: 160px; height: 80px; }

  /* ── Mobile fixes (2026-05-19 audit) ── */
  /* Product gallery: was 420 px overflowing 351 px container */
  .product-gallery, .pg-stage, .pg-thumbs,
  .product-layout .product-gallery { max-width: 100%; width: 100%; box-sizing: border-box; }
  /* .pg-stage had min-height:420 + aspect-ratio:1/1 → forced width=420 on 375 viewport. Override on mobile. */
  .pg-stage { min-height: 0; width: 100%; }
  .pg-thumbs { overflow-x: auto; -webkit-overflow-scrolling: touch; }

  /* Touch targets — WCAG 2.5.5 minimum 44×44 px */
  .hu-btn, .hu-btn.cart-btn { min-width: 44px; min-height: 44px; }
  .bc-link, .bc-more, .vp-opt, .pg-zoom { min-height: 44px; padding-top: 10px; padding-bottom: 10px; }
  .hu-drawer a { min-height: 44px; padding: 10px 12px; }
  .rev-dot { min-width: 28px; min-height: 28px; }
  .rev-dot::before { content: ''; position: absolute; inset: -10px; }
  .rev-dot { position: relative; }

  /* Cookie banner — slimmer + не перекрывает FAB */
  #vk9-cookie { padding: 10px 12px !important; font-size: 12.5px !important; line-height: 1.35; max-height: 140px; }
  #vk9-cookie .vk9-cookie-actions { margin-top: 6px; }
  #fab-msg { z-index: 9999 !important; }
}

/* Very narrow phones (iPhone SE, Android small) */
@media (max-width: 380px) {
  .hero-hud h1 { font-size: 30px; }
  .brand-wordmark { font-size: 19px; letter-spacing: .02em; }
  .container { padding: 0 12px; }
}


