:root{
  --bg: oklch(0.957 0.013 81);
  --surface: oklch(0.975 0.009 85);
  --panel: oklch(0.918 0.022 81);
  --fg: oklch(0.236 0.014 56);
  --muted: oklch(0.457 0.020 58);
  --border: oklch(0.819 0.034 82);
  --border-strong: oklch(0.715 0.038 78);
  --accent: oklch(0.446 0.094 56);
  --accent-strong: oklch(0.363 0.066 51);
  --accent-soft: oklch(0.514 0.077 55);
  --accent-wash: oklch(0.946 0.030 76);
  --ink: oklch(0.21 0.012 55);
  --footer-bg: oklch(0.275 0.018 52);
  --footer-fg: oklch(0.918 0.022 81);
  --footer-muted: oklch(0.74 0.024 76);
  --maxw: 1180px;
  --gutter: clamp(18px, 4vw, 40px);
  --radius: 14px;
  --radius-sm: 9px;
  --shadow-sm: 0 1px 2px oklch(0.28 0.02 55 / 0.06), 0 2px 8px oklch(0.28 0.02 55 / 0.05);
  --shadow-md: 0 6px 18px oklch(0.28 0.02 55 / 0.10), 0 2px 6px oklch(0.28 0.02 55 / 0.06);
  --font-display: "Lora", Georgia, "Times New Roman", serif;
  --font-body: "Source Sans 3", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  --font-mono: ui-monospace, SFMono-Regular, Menlo, monospace;
  --ease: cubic-bezier(0.23, 1, 0.32, 1);
}

*,*::before,*::after{box-sizing:border-box;}
html{ -webkit-text-size-adjust:100%; scroll-behavior:smooth; }
body{
  margin:0;
  font-family:var(--font-body);
  font-size:18px;
  line-height:1.6;
  color:var(--fg);
  background:var(--bg);
  background-image:radial-gradient(120% 80% at 50% -10%, oklch(0.97 0.020 80) 0%, transparent 60%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
h1,h2,h3,h4{ font-family:var(--font-display); font-weight:600; color:var(--ink); line-height:1.16; margin:0 0 .5em; letter-spacing:-0.01em; }
h1{ font-size:clamp(2.1rem, 5vw, 3.4rem); letter-spacing:-0.025em; }
h2{ font-size:clamp(1.6rem, 3.2vw, 2.4rem); letter-spacing:-0.02em; }
h3{ font-size:clamp(1.2rem, 2vw, 1.5rem); }
p{ margin:0 0 1rem; }
a{ color:var(--accent-strong); text-decoration:underline; text-underline-offset:3px; text-decoration-thickness:1px; }
a:hover{ color:var(--accent); }
img{ max-width:100%; display:block; }
ul,ol{ margin:0 0 1rem; padding-left:1.3rem; }
li{ margin-bottom:.4rem; }
strong{ font-weight:600; color:var(--ink); }
hr{ border:0; border-top:1px solid var(--border); margin:2.5rem 0; }

.container{ width:100%; max-width:var(--maxw); margin-inline:auto; padding-inline:var(--gutter); }
.section{ padding-block:clamp(48px, 7vw, 84px); }
.section.tight{ padding-block:clamp(32px, 4vw, 52px); }

.sr-only{ position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.skip-link{ position:absolute; left:-999px; top:0; z-index:200; background:var(--ink); color:var(--bg); padding:12px 18px; border-radius:0 0 8px 0; font-weight:600; }
.skip-link:focus{ left:0; color:var(--bg); }

.eyebrow{
  display:inline-flex; align-items:center; gap:.5em;
  font-family:var(--font-body); font-weight:700; font-size:.82rem;
  letter-spacing:0.14em; text-transform:uppercase; color:var(--accent);
  margin:0 0 .8rem;
}
.eyebrow::before{ content:""; width:26px; height:2px; background:var(--accent); display:inline-block; }
.lead{ font-size:clamp(1.05rem, 1.8vw, 1.25rem); color:var(--muted); max-width:60ch; }
.section-head{ max-width:62ch; margin-bottom:clamp(28px, 4vw, 44px); }
.section-head.center{ margin-inline:auto; text-align:center; }
.section-head.center .eyebrow::before{ display:none; }

.btn{
  display:inline-flex; align-items:center; justify-content:center; gap:.55em;
  font-family:var(--font-body); font-weight:600; font-size:1.02rem;
  letter-spacing:0.01em; line-height:1.2;
  padding:15px 26px; min-height:52px; border:1.5px solid transparent; border-radius:var(--radius-sm);
  cursor:pointer; text-decoration:none; transition:transform .18s var(--ease), background .18s var(--ease), color .18s var(--ease), border-color .18s var(--ease), box-shadow .18s var(--ease);
}
.btn-primary{ background:var(--accent-strong); color:var(--surface); box-shadow:var(--shadow-sm); }
.btn-primary:hover{ background:var(--accent); color:var(--surface); transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn-ghost{ background:transparent; color:var(--ink); border-color:var(--border-strong); }
.btn-ghost:hover{ background:var(--panel); border-color:var(--accent-soft); transform:translateY(-1px); }
.btn-light{ background:var(--surface); color:var(--accent-strong); border-color:var(--surface); box-shadow:var(--shadow-sm); }
.btn-light:hover{ transform:translateY(-1px); box-shadow:var(--shadow-md); }
.btn .arrow{ transition:transform .18s var(--ease); }
.btn:hover .arrow{ transform:translateX(3px); }
:focus-visible{ outline:3px solid oklch(0.514 0.077 55 / 0.55); outline-offset:2px; border-radius:4px; }

.site-header{
  position:sticky; top:0; z-index:90;
  background:oklch(0.957 0.013 81 / 0.92);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--border);
}
.header-inner{ display:flex; align-items:center; justify-content:space-between; gap:1.5rem; min-height:76px; padding-block:12px; }
.brand{ display:flex; align-items:center; gap:.7rem; text-decoration:none; color:var(--ink); }
.brand:hover{ color:var(--ink); }
.brand-mark{ display:grid; place-items:center; width:42px; height:42px; color:var(--accent); }
.brand-text{ display:flex; flex-direction:column; line-height:1.05; }
.brand-name{ font-family:var(--font-display); font-weight:700; font-size:1.4rem; letter-spacing:-0.02em; color:var(--ink); }
.brand-name strong{ color:var(--accent); font-weight:700; }
.brand-tag{ font-size:.74rem; color:var(--muted); letter-spacing:0.04em; }

.primary-nav{ display:flex; align-items:center; gap:1.6rem; }
.primary-nav a{
  font-weight:600; font-size:1.02rem; color:var(--ink); text-decoration:none; padding:8px 2px;
  border-bottom:2px solid transparent; transition:border-color .18s var(--ease), color .18s var(--ease);
}
.primary-nav a:hover{ color:var(--accent); border-bottom-color:var(--accent-soft); }
.primary-nav a.is-active{ color:var(--accent); border-bottom-color:var(--accent); }
.primary-nav a.nav-cta{
  background:var(--accent-strong); color:var(--surface); padding:11px 20px; border-radius:var(--radius-sm); border:0; min-height:46px; display:inline-flex; align-items:center;
}
.primary-nav a.nav-cta:hover{ background:var(--accent); color:var(--surface); border-bottom-color:transparent; transform:translateY(-1px); }

.nav-toggle{ display:none; flex-direction:column; gap:5px; background:none; border:0; cursor:pointer; padding:10px; min-width:48px; min-height:48px; align-items:center; justify-content:center; }
.nav-toggle-bar{ width:26px; height:2.5px; background:var(--ink); border-radius:2px; transition:transform .25s var(--ease), opacity .2s var(--ease); }

.hero{
  padding-block:clamp(40px, 6vw, 72px) clamp(48px, 7vw, 84px);
  position:relative; overflow:hidden;
}
.hero-grid{ display:grid; grid-template-columns:1.05fr 0.95fr; gap:clamp(28px, 4vw, 56px); align-items:center; }
.hero-copy .eyebrow{ margin-bottom:1rem; }
.hero h1{ margin-bottom:1rem; }
.hero-sub{ font-size:clamp(1.1rem, 1.9vw, 1.35rem); color:var(--muted); max-width:34ch; margin-bottom:2rem; }
.hero-actions{ display:flex; flex-wrap:wrap; gap:14px; align-items:center; }
.hero-trust{ display:flex; flex-wrap:wrap; gap:1.2rem; margin-top:2rem; color:var(--muted); font-size:.98rem; }
.hero-trust span{ display:inline-flex; align-items:center; gap:.5rem; }
.hero-trust svg{ width:20px; height:20px; color:var(--accent); }
.hero-media{ position:relative; }
.hero-media .hero-img{
  width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:20px; box-shadow:0 30px 60px -28px oklch(0.28 0.04 55 / 0.5);
}
.hero-badge{
  position:absolute; left:18px; bottom:18px; max-width:230px;
  background:oklch(0.975 0.009 85 / 0.96); border:1px solid var(--border); border-radius:14px;
  padding:14px 16px; box-shadow:var(--shadow-md);
}
.hero-badge strong{ display:block; font-family:var(--font-display); color:var(--ink); margin-bottom:.15rem; }
.hero-badge span{ font-size:.9rem; color:var(--muted); }
.hero-decor{
  position:absolute; right:-60px; top:-40px; width:220px; height:220px; border-radius:50%;
  background:var(--accent-wash); z-index:-1; opacity:.7;
}

.adv-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:18px; }
.adv-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px 22px;
  transition:transform .2s var(--ease), box-shadow .2s var(--ease);
}
.adv-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.adv-icon{ width:46px; height:46px; display:grid; place-items:center; color:var(--accent); margin-bottom:14px; }
.adv-card h3{ font-size:1.16rem; margin-bottom:.35rem; }
.adv-card p{ font-size:.98rem; color:var(--muted); margin:0; }

.products-grid{ display:grid; grid-template-columns:repeat(3, 1fr); gap:clamp(18px, 2.4vw, 26px); }
.product-card{
  background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); overflow:hidden;
  display:flex; flex-direction:column; transition:transform .2s var(--ease), box-shadow .2s var(--ease), border-color .2s var(--ease);
}
.product-card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-md); border-color:var(--border-strong); }
.product-media{ position:relative; aspect-ratio:4/3; overflow:hidden; background:var(--panel); }
.product-media img{ width:100%; height:100%; object-fit:cover; transition:transform .4s var(--ease); }
.product-card:hover .product-media img{ transform:scale(1.04); }
.product-cat{ position:absolute; left:12px; top:12px; background:oklch(0.975 0.009 85 / 0.94); color:var(--accent-strong); font-size:.76rem; font-weight:700; letter-spacing:0.08em; text-transform:uppercase; padding:6px 10px; border-radius:6px; }
.product-body{ padding:18px 18px 20px; display:flex; flex-direction:column; gap:8px; flex:1; }
.product-body h3{ font-size:1.18rem; margin:0; }
.product-short{ color:var(--muted); font-size:.96rem; margin:0; flex:1; }
.product-foot{ display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:6px; }
.price{ font-family:var(--font-display); font-weight:600; font-size:1.3rem; color:var(--ink); }
.price small{ font-family:var(--font-body); font-weight:500; font-size:.78rem; color:var(--muted); display:block; letter-spacing:0.02em; }
.product-link{ font-weight:600; font-size:.98rem; color:var(--accent-strong); text-decoration:none; display:inline-flex; align-items:center; gap:.35em; }
.product-link:hover{ color:var(--accent); }

.section-cta{ display:flex; justify-content:center; margin-top:clamp(28px, 4vw, 44px); }

.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:22px; counter-reset:step; }
.step{ position:relative; padding-top:14px; }
.step-num{ font-family:var(--font-display); font-weight:700; font-size:1.05rem; color:var(--accent); display:inline-flex; align-items:center; gap:.5rem; margin-bottom:.6rem; }
.step-num::before{ content:counter(step, decimal-leading-zero); counter-increment:step; font-family:var(--font-mono); font-size:.95rem; background:var(--accent-wash); color:var(--accent-strong); padding:4px 9px; border-radius:6px; letter-spacing:0.05em; }
.step h3{ font-size:1.16rem; margin-bottom:.4rem; }
.step p{ color:var(--muted); margin:0; font-size:.98rem; }

.split{ display:grid; grid-template-columns:1fr 1fr; gap:clamp(28px,4vw,56px); align-items:center; }
.split-img{ border-radius:18px; box-shadow:0 24px 50px -26px oklch(0.28 0.04 55 / 0.45); width:100%; aspect-ratio:5/4; object-fit:cover; }

.occasion-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:16px; }
.occasion{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:22px 20px; }
.occasion h3{ font-size:1.08rem; margin:0 0 .3rem; }
.occasion p{ font-size:.95rem; color:var(--muted); margin:0; }

.reviews{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.review-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:24px 22px; display:flex; flex-direction:column; gap:14px; }
.stars{ color:var(--accent); letter-spacing:3px; font-size:1.05rem; }
.review-body{ font-size:1.02rem; color:var(--fg); margin:0; line-height:1.55; }
.review-meta{ display:flex; align-items:center; gap:12px; margin-top:auto; }
.review-avatar{ width:44px; height:44px; border-radius:50%; background:var(--accent-wash); color:var(--accent-strong); display:grid; place-items:center; font-family:var(--font-display); font-weight:600; font-size:1.05rem; }
.review-who strong{ display:block; color:var(--ink); font-weight:600; }
.review-who span{ font-size:.9rem; color:var(--muted); }

.trust-band{ background:var(--panel); border:1px solid var(--border); border-radius:18px; padding:clamp(26px,3vw,40px); }
.trust-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.trust-item{ display:flex; gap:14px; align-items:flex-start; }
.trust-item svg{ width:30px; height:30px; color:var(--accent); flex-shrink:0; }
.trust-item strong{ display:block; color:var(--ink); margin-bottom:.2rem; }
.trust-item span{ color:var(--muted); font-size:.95rem; }

.final-cta{ background:linear-gradient(180deg, var(--accent-wash), var(--bg)); border:1px solid var(--border); border-radius:22px; padding:clamp(34px,5vw,60px); text-align:center; }
.final-cta h2{ margin-bottom:.8rem; }
.final-cta p{ color:var(--muted); max-width:54ch; margin-inline:auto; margin-bottom:1.8rem; }
.final-cta .hero-actions{ justify-content:center; }

.page-hero{ padding-block:clamp(40px,5vw,64px) clamp(28px,4vw,44px); border-bottom:1px solid var(--border); background:linear-gradient(180deg, var(--accent-wash), transparent); }
.page-hero .container{ max-width:760px; }
.breadcrumbs{ font-size:.88rem; color:var(--muted); margin-bottom:1rem; }
.breadcrumbs a{ color:var(--muted); }
.breadcrumbs span.sep{ margin-inline:.35em; opacity:.6; }

.prose{ max-width:68ch; }
.prose h2{ margin-top:2rem; }
.prose p{ color:var(--fg); }
.prose ul{ color:var(--fg); }
.cards-row{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:1.5rem 0; }
.info-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:22px; }
.info-card h3{ font-size:1.1rem; margin-bottom:.4rem; }
.info-card .price{ margin-top:.6rem; }

.contact-grid{ display:grid; grid-template-columns:1fr 1.1fr; gap:clamp(28px,4vw,52px); align-items:start; }
.contact-info{ display:flex; flex-direction:column; gap:18px; }
.contact-item{ display:flex; gap:14px; align-items:flex-start; }
.contact-item svg{ width:26px; height:26px; color:var(--accent); flex-shrink:0; margin-top:2px; }
.contact-item strong{ display:block; color:var(--ink); }
.contact-item span, .contact-item a{ color:var(--muted); text-decoration:none; }
.contact-item a:hover{ color:var(--accent); }

.form-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:clamp(22px,3vw,34px); box-shadow:var(--shadow-sm); }
fieldset{ border:0; padding:0; margin:0 0 1.4rem; }
legend{ font-family:var(--font-display); font-weight:600; font-size:1.18rem; color:var(--ink); padding:0; margin-bottom:1rem; }
.field{ margin-bottom:18px; }
.field-row{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
label{ display:block; font-weight:600; font-size:.98rem; color:var(--ink); margin-bottom:.4rem; }
label .req{ color:var(--accent); margin-left:2px; }
.hint{ font-size:.86rem; color:var(--muted); margin-top:.35rem; }
input[type=text], input[type=email], input[type=tel], input[type=number], input[type=date], select, textarea{
  width:100%; font-family:var(--font-body); font-size:1.04rem; color:var(--fg);
  background:var(--bg); border:1.5px solid var(--border-strong); border-radius:var(--radius-sm);
  padding:14px 16px; min-height:54px; transition:border-color .18s var(--ease), box-shadow .18s var(--ease);
}
textarea{ min-height:130px; resize:vertical; }
select{ appearance:none; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236B5D52' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 16px center; padding-right:44px; }
input:focus, select:focus, textarea:focus{ outline:none; border-color:var(--accent); box-shadow:0 0 0 4px oklch(0.514 0.077 55 / 0.18); }
.check{ display:flex; gap:12px; align-items:flex-start; margin-bottom:16px; }
.check input{ width:22px; height:22px; min-height:22px; margin-top:3px; accent-color:var(--accent); flex-shrink:0; }
.check label{ margin:0; font-weight:400; font-size:.98rem; color:var(--fg); }
.form-note{ font-size:.9rem; color:var(--muted); margin-top:1rem; }

.thanks{ text-align:center; max-width:620px; margin-inline:auto; padding-block:clamp(40px,6vw,72px); }
.thanks-mark{ width:84px; height:84px; border-radius:50%; background:var(--accent-wash); color:var(--accent); display:grid; place-items:center; margin:0 auto 1.5rem; }
.thanks-mark svg{ width:42px; height:42px; }

.poukaz-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:18px; }
.poukaz-card{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius); padding:26px 22px; text-align:center; transition:transform .2s var(--ease), box-shadow .2s var(--ease); }
.poukaz-card:hover{ transform:translateY(-3px); box-shadow:var(--shadow-md); }
.poukaz-card .price{ font-size:1.9rem; margin:6px 0 10px; }
.poukaz-card p{ color:var(--muted); font-size:.95rem; margin:0 0 16px; }

.faq{ display:flex; flex-direction:column; gap:12px; max-width:760px; }
.faq details{ background:var(--surface); border:1px solid var(--border); border-radius:var(--radius-sm); padding:4px 18px; }
.faq summary{ cursor:pointer; font-weight:600; font-size:1.05rem; color:var(--ink); padding:14px 0; list-style:none; display:flex; justify-content:space-between; gap:1rem; align-items:center; }
.faq summary::-webkit-details-marker{ display:none; }
.faq summary::after{ content:"+"; font-size:1.4rem; color:var(--accent); font-weight:400; transition:transform .2s var(--ease); }
.faq details[open] summary::after{ transform:rotate(45deg); }
.faq details p{ color:var(--muted); margin:0 0 14px; }

.site-footer{ background:var(--footer-bg); color:var(--footer-fg); padding-block:clamp(40px,5vw,60px) 26px; margin-top:clamp(40px,6vw,72px); }
.footer-grid{ display:grid; grid-template-columns:1.6fr 1fr 1fr 1fr; gap:32px; padding-bottom:32px; border-bottom:1px solid oklch(1 0 0 / 0.08); }
.footer-block .footer-brand{ display:inline-block; font-family:var(--font-display); font-weight:700; font-size:1.5rem; color:var(--footer-fg); margin-bottom:.6rem; letter-spacing:-0.02em; }
.footer-block .footer-brand strong{ color:var(--accent-soft); }
.footer-tag{ color:var(--footer-muted); margin-bottom:1rem; max-width:34ch; }
.footer-title{ font-family:var(--font-body); font-weight:700; font-size:.82rem; letter-spacing:0.12em; text-transform:uppercase; color:var(--accent-soft); margin:0 0 1rem; }
.footer-block ul{ list-style:none; padding:0; margin:0; }
.footer-block li{ margin-bottom:.6rem; }
.footer-block a{ color:var(--footer-fg); text-decoration:none; font-size:1rem; }
.footer-block a:hover{ color:var(--accent-soft); text-decoration:underline; }
.footer-contact{ color:var(--footer-fg); margin-bottom:.5rem; }
.footer-contact a{ color:var(--footer-fg); }
.footer-contact.muted, .muted{ color:var(--footer-muted); }
.footer-bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:12px; padding-top:24px; color:var(--footer-muted); font-size:.9rem; }
.footer-bottom p{ margin:0; }

.cookie-banner{
  position:fixed; left:16px; right:16px; bottom:16px; z-index:120;
  max-width:var(--maxw); margin-inline:auto;
  background:var(--ink); color:var(--surface); border-radius:14px;
  padding:18px 22px; display:flex; align-items:center; gap:20px; flex-wrap:wrap;
  box-shadow:0 18px 40px -16px oklch(0.2 0.03 55 / 0.6);
}
.cookie-banner[hidden]{ display:none; }
.cookie-banner .cookie-text{ margin:0; flex:1; min-width:280px; font-size:.96rem; line-height:1.5; }
.cookie-banner a{ color:var(--accent-soft); }
.cookie-accept{ background:var(--accent); color:var(--surface); border:0; border-radius:var(--radius-sm); padding:13px 22px; min-height:48px; font-weight:600; font-size:1rem; cursor:pointer; font-family:var(--font-body); white-space:nowrap; transition:background .18s var(--ease); }
.cookie-accept:hover{ background:var(--accent-soft); }

@media (max-width: 980px){
  .hero-grid{ grid-template-columns:1fr; }
  .hero-media{ order:-1; max-width:520px; }
  .adv-grid, .steps, .occasion-grid, .trust-grid{ grid-template-columns:repeat(2,1fr); }
  .products-grid, .reviews, .cards-row, .poukaz-grid{ grid-template-columns:repeat(2,1fr); }
  .split{ grid-template-columns:1fr; }
  .contact-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; gap:26px; }
}
@media (max-width: 760px){
  .nav-toggle{ display:flex; }
  .primary-nav{
    position:fixed; inset:76px 0 auto 0; flex-direction:column; align-items:stretch; gap:0;
    background:var(--surface); border-bottom:1px solid var(--border); padding:12px var(--gutter) 22px;
    transform:translateY(-130%); transition:transform .28s var(--ease); box-shadow:var(--shadow-md); max-height:calc(100vh - 76px); overflow:auto;
  }
  .primary-nav.open{ transform:translateY(0); }
  .primary-nav a{ padding:16px 4px; border-bottom:1px solid var(--border); font-size:1.1rem; }
  .primary-nav a.nav-cta{ margin-top:14px; justify-content:center; }
  body.nav-open{ overflow:hidden; }
  .nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(1){ transform:translateY(7.5px) rotate(45deg); }
  .nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(2){ opacity:0; }
  .nav-toggle[aria-expanded="true"] .nav-toggle-bar:nth-child(3){ transform:translateY(-7.5px) rotate(-45deg); }
  .field-row{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr 1fr; }
  .footer-bottom{ flex-direction:column; }
}
@media (max-width: 560px){
  .adv-grid, .steps, .occasion-grid, .trust-grid, .products-grid, .reviews, .cards-row, .poukaz-grid{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; }
  .hero-actions{ flex-direction:column; align-items:stretch; }
  .hero-actions .btn{ width:100%; }
  .cookie-banner{ flex-direction:column; align-items:stretch; }
  .cookie-accept{ width:100%; }
}
