/* Ribolovna i Lovačka Oprema — глобальні стилі */
:root{
  --bg:#f2efe6;
  --bg-alt:#faf8f2;
  --bg-alt2:#e8e3d6;
  --ink:#1d221e;
  --green:#1f3328;
  --green-dark:#2a2a20;
  --orange:#d9622b;
  --orange-dark:#b44d1e;
  --orange-light:#e9a77e;
  --muted:#5b5f57;
  --muted2:#3d413b;
  --muted3:#4a4e47;
  --body-text:#2e322d;
  --border:#d9d3c4;
  --border2:#cbc4b2;
  --border3:#e3ddcf;
  --footer-bg:#1d221e;
  --footer-text:#cfd4c8;
  --footer-muted:#8d9488;
  --error:#b0301e;
  --font-head:'Barlow Condensed',Oswald,'Arial Narrow',sans-serif;
  --font-body:'Barlow',system-ui,-apple-system,Segoe UI,Arial,sans-serif;
  --font-mono:'JetBrains Mono',ui-monospace,Consolas,monospace;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  background:var(--bg);
  color:var(--ink);
  font-family:var(--font-body);
  -webkit-font-smoothing:antialiased;
  min-height:100vh;
  display:flex;
  flex-direction:column;
}
a{color:var(--orange-dark);text-decoration:underline;text-underline-offset:2px}
a:hover{color:var(--green)}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit;font-size:15px}
p{max-width:75ch}
img{max-width:100%;display:block}
.wrap{max-width:1280px;margin:0 auto;padding:0 24px}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}

/* Top utility bar */
.topbar{background:var(--green);color:var(--bg);font-size:13px;padding:8px 24px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;font-family:var(--font-mono);letter-spacing:.02em}

/* Header */
.site-header{background:var(--bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:20}
.header-inner{max-width:1280px;margin:0 auto;padding:14px 24px;display:flex;align-items:center;gap:24px;flex-wrap:wrap}
.brand{background:none;border:none;padding:0;display:flex;align-items:center;gap:12px;text-align:left;color:var(--ink);text-decoration:none}
.brand-mark{width:44px;height:44px;background:var(--green);display:flex;align-items:center;justify-content:center;color:var(--bg);font-family:var(--font-head);font-weight:700;font-size:20px;letter-spacing:.02em;flex-shrink:0}
.brand-text{display:flex;flex-direction:column;line-height:1}
.brand-title{font-family:var(--font-head);font-weight:700;font-size:21px;text-transform:uppercase;letter-spacing:.02em}
.brand-sub{font-family:var(--font-mono);font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin-top:4px}
.nav{display:flex;gap:2px;flex:1;flex-wrap:wrap;justify-content:center}
.nav a{background:transparent;color:var(--ink);border:none;padding:9px 13px;font-family:var(--font-head);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;display:inline-block}
.nav a:hover{color:var(--orange)}
.nav a.active{background:var(--green);color:var(--bg)}
.cart-btn{background:var(--orange);color:#fff;border:none;padding:11px 18px;display:flex;align-items:center;gap:10px;font-family:var(--font-head);font-weight:700;font-size:16px;text-transform:uppercase;letter-spacing:.05em}
.cart-btn:hover{background:var(--orange-dark)}
.cart-count{background:#fff;color:var(--orange);min-width:24px;height:24px;border-radius:12px;display:inline-flex;align-items:center;justify-content:center;font-size:14px;padding:0 6px}

main{flex:1}

/* Buttons */
.btn{display:inline-block;border:none;font-family:var(--font-head);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;text-decoration:none}
.btn-primary{background:var(--orange);color:#fff;padding:16px 26px;font-weight:700;font-size:18px}
.btn-primary:hover{background:var(--orange-dark);color:#fff}
.btn-outline{background:transparent;color:var(--bg);border:1px solid #6d8270;padding:16px 26px;font-weight:600;font-size:18px}
.btn-outline:hover{border-color:var(--bg)}
.btn-dark{background:var(--green);color:#fff;padding:14px 22px;font-weight:600;font-size:17px}
.btn-dark:hover{background:var(--orange)}
.btn-link{background:none;border:none;border-bottom:2px solid var(--orange);padding:4px 0;font-family:var(--font-head);font-weight:600;font-size:17px;text-transform:uppercase;letter-spacing:.05em;color:var(--ink);text-decoration:none}

/* Sections */
section.hero-home{background:var(--green);color:var(--bg)}
.eyebrow{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-light)}
.eyebrow-dark{font-family:var(--font-mono);font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--orange-dark)}
h1,h2,h3{font-family:var(--font-head);text-transform:uppercase;margin:0}
.h1-hero{font-weight:700;font-size:clamp(48px,7vw,92px);line-height:.92;letter-spacing:-.01em}
.h1-page{font-weight:700;font-size:clamp(44px,6vw,72px);line-height:.95}
.h2{font-weight:700;font-size:48px;line-height:1}
.h3{font-weight:700;font-size:36px;line-height:1.05}
.lead{font-size:19px;line-height:1.55;color:#cfd4c8;max-width:540px}

.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,440px),1fr));gap:48px;align-items:center}
.photo-box{aspect-ratio:4/3;background:#2b4536;display:flex;align-items:flex-end;padding:16px;font-family:var(--font-mono);font-size:12px;color:#9fb0a0;overflow:hidden;position:relative}
.photo-box img,.photo-16-10 img,.photo-square img,.photo-16-9 img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.photo-box span,.photo-16-10 span,.photo-square span,.photo-16-9 span{position:relative;z-index:1;background:rgba(0,0,0,.35);padding:2px 6px}
.photo-16-10{aspect-ratio:16/10;width:100%;background:repeating-linear-gradient(135deg,#e7e2d4 0 10px,#ece8dc 10px 20px);display:flex;align-items:flex-end;padding:10px;font-family:var(--font-mono);font-size:11px;color:#8a8a7c;overflow:hidden;position:relative}
.photo-square{aspect-ratio:1/1;background:repeating-linear-gradient(135deg,#e7e2d4 0 10px,#ece8dc 10px 20px);display:flex;align-items:flex-end;padding:10px;font-family:var(--font-mono);font-size:11px;color:#8a8a7c;overflow:hidden;position:relative}
.photo-16-9{aspect-ratio:16/9;background:repeating-linear-gradient(135deg,#e7e2d4 0 10px,#ece8dc 10px 20px);display:flex;align-items:flex-end;padding:12px;font-family:var(--font-mono);font-size:12px;color:#8a8a7c;overflow:hidden;position:relative;margin-bottom:28px}

.moon-card{background:var(--bg);color:var(--ink);padding:20px 22px;display:grid;grid-template-columns:1fr auto;gap:6px 18px;align-items:center}
.moon-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted)}
.moon-name{font-family:var(--font-head);font-weight:700;font-size:28px;text-transform:uppercase}
.moon-rating{font-family:var(--font-head);font-weight:700;font-size:22px;color:var(--orange);text-align:right}
.moon-tip{grid-column:1/-1;font-size:15px;color:var(--muted3);line-height:1.45}

.perks{border-bottom:1px solid var(--border);background:var(--bg-alt)}
.perks-grid{padding:22px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:18px}
.perk strong{font-family:var(--font-head);font-size:19px;text-transform:uppercase;display:block}
.perk span{font-size:14px;color:var(--muted)}

.section{padding:72px 0 24px}
.section-tight{padding:56px 0}
.section-head{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;margin-bottom:28px}

.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,270px),1fr));gap:14px}
.cat-card{background:var(--bg-alt);border:1px solid var(--border);padding:0;text-align:left;display:flex;flex-direction:column;color:var(--ink);text-decoration:none}
.cat-card:hover{border-color:var(--green)}
.cat-card-body{padding:14px 16px;display:flex;justify-content:space-between;align-items:baseline;gap:8px;width:100%}
.cat-name{font-family:var(--font-head);font-weight:700;font-size:22px;text-transform:uppercase}
.cat-count{font-family:var(--font-mono);font-size:12px;color:var(--muted)}

.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,260px),1fr));gap:18px}
.prod-card{background:var(--bg-alt);border:1px solid var(--border);display:flex;flex-direction:column}
.prod-media{position:relative}
.prod-media button{background:none;border:none;padding:0;display:block;width:100%}
.prod-badge{position:absolute;top:10px;left:10px;background:var(--green);color:#fff;font-family:var(--font-mono);font-size:11px;letter-spacing:.1em;text-transform:uppercase;padding:5px 8px}
.prod-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
.prod-cat{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.prod-name{background:none;border:none;padding:0;text-align:left;font-size:17px;font-weight:600;line-height:1.3;color:var(--ink);cursor:pointer}
.prod-name:hover{color:var(--orange-dark)}
.prod-short{font-size:14px;color:var(--muted);line-height:1.4}
.prod-price{display:flex;align-items:baseline;gap:8px;margin-top:auto;padding-top:8px}
.prod-price strong{font-family:var(--font-head);font-weight:700;font-size:24px}
.prod-price .old{font-size:14px;color:#8a8a7c;text-decoration:line-through}
.add-btn{background:var(--green);color:#fff;border:none;padding:11px;font-family:var(--font-head);font-weight:600;font-size:16px;text-transform:uppercase;letter-spacing:.05em;width:100%}
.add-btn:hover{background:var(--orange)}

.section-alt{background:var(--bg-alt2)}
.where-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:48px}
.spots{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,250px),1fr));gap:1px;background:#cbc4b2;border:1px solid var(--border2)}
.spot{background:var(--bg);padding:18px;display:flex;flex-direction:column;gap:6px}
.spot-type{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-dark)}
.spot-name{font-family:var(--font-head);font-size:22px;text-transform:uppercase}
.spot-text{font-size:14px;line-height:1.5;color:var(--muted3)}

.reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.review{margin:0;background:var(--bg-alt);border:1px solid var(--border);padding:26px;display:flex;flex-direction:column;gap:16px}
.stars{color:var(--orange);font-size:18px;letter-spacing:.1em}
.review blockquote{margin:0;font-size:17px;line-height:1.55}
.review figcaption{font-family:var(--font-mono);font-size:12px;color:var(--muted);letter-spacing:.06em}

.blog-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:18px}
.blog-grid-wide{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:36px 22px}
.blog-card{background:none;border:none;padding:0;text-align:left;display:flex;flex-direction:column;gap:12px;color:var(--ink);text-decoration:none}
.blog-tag{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.blog-title{font-family:var(--font-head);font-size:26px;line-height:1.05;text-transform:uppercase}
.blog-title-lg{font-family:var(--font-head);font-size:28px;line-height:1.05;text-transform:uppercase}
.blog-excerpt{font-size:15px;line-height:1.5;color:var(--muted3)}

.newsletter{background:var(--orange);color:#fff}
.newsletter-grid{padding:48px 0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:28px;align-items:center}
.newsletter form{display:flex;gap:0;flex-wrap:wrap}
.newsletter input[type=email]{flex:1;min-width:200px;padding:15px 16px;border:none;background:#fff;color:var(--ink)}
.newsletter button{background:var(--ink);color:#fff;border:none;padding:15px 24px;font-family:var(--font-head);font-weight:700;font-size:17px;text-transform:uppercase;letter-spacing:.05em}
.newsletter .fine{font-size:13px;display:block;margin-top:8px}
.newsletter .fine a{color:#fff}

.visit-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:36px}
.hours-grid{display:grid;grid-template-columns:auto 1fr;gap:8px 24px;font-size:16px}
.hours-grid span{color:var(--muted)}

footer{background:var(--footer-bg);color:var(--footer-text)}
.footer-grid{padding:56px 24px 28px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:36px}
.footer-col{display:flex;flex-direction:column;gap:8px}
.footer-head{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--footer-muted);margin-bottom:4px}
.footer-brand{font-family:var(--font-head);font-weight:700;font-size:24px;text-transform:uppercase;color:var(--bg)}
.footer-col a,.footer-col button{color:var(--footer-text);font-size:15px;text-decoration:none;background:none;border:none;padding:0;text-align:left}
.footer-col a:hover,.footer-col button:hover{color:#fff}
.footer-accent a{color:var(--orange-light)}
.footer-bottom{max-width:1280px;margin:0 auto;padding:18px 24px 28px;border-top:1px solid #343a34;display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--footer-muted)}
.pay-badges{display:flex;gap:8px;flex-wrap:wrap;font-family:var(--font-mono);font-size:11px}
.pay-badges span{border:1px solid #4a514a;padding:4px 8px}

/* Notice box */
.notice{margin-top:22px;padding:20px 22px;border:1px solid var(--border2);background:var(--bg-alt2);font-size:15px;line-height:1.55;color:var(--muted2)}

/* Shop toolbar */
.shop-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:18px}
.shop-toolbar input[type=search]{flex:1;min-width:220px;padding:13px 14px;border:1px solid var(--border2);background:var(--bg-alt);color:var(--ink)}
.shop-toolbar select{padding:13px 14px;border:1px solid var(--border2);background:var(--bg-alt);color:var(--ink)}
.chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:22px}
.chip{background:transparent;color:var(--green);border:1px solid var(--green);padding:8px 14px;font-family:var(--font-head);font-weight:600;font-size:15px;text-transform:uppercase;letter-spacing:.04em;text-decoration:none;display:inline-block}
.chip.active{background:var(--green);color:#fff}
.result-count{font-family:var(--font-mono);font-size:12px;color:var(--muted);margin-bottom:14px}

/* Tables */
.table-box{border:1px solid var(--border2);background:var(--bg)}
.table-row{display:flex;justify-content:space-between;padding:12px 16px;border-bottom:1px solid var(--border);font-size:16px;gap:12px}
.table-row strong{font-family:var(--font-mono);font-size:14px;text-align:right}

/* Rules list */
.rules-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:12px 32px}
.rule{display:flex;gap:14px;padding:14px 0;border-top:1px solid var(--border)}
.rule span.n{font-family:var(--font-mono);font-size:13px;color:var(--orange)}
.rule span.t{font-size:16px;line-height:1.5}

/* Techniques / hunt categories */
.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,290px),1fr));gap:18px}
.tech-card{background:var(--bg-alt);border:1px solid var(--border);padding:22px;display:flex;flex-direction:column;gap:10px}
.tech-where{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange-dark)}
.tech-name{font-family:var(--font-head);font-size:26px;text-transform:uppercase}
.tech-fish{font-size:14px;color:var(--muted);border-top:1px solid var(--border);padding-top:10px}

.hunt-cat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:18px}
.hunt-cat{background:var(--bg-alt);border:1px solid var(--border);display:flex;flex-direction:column}
.hunt-cat-body{padding:20px;display:flex;flex-direction:column;gap:8px}
.hunt-cat-name{font-family:var(--font-head);font-size:24px;text-transform:uppercase}

/* Calendar */
.cal-table-wrap{overflow-x:auto;border:1px solid var(--border2);background:var(--bg-alt)}
.cal-table{min-width:820px;display:grid;grid-template-columns:180px repeat(12,1fr)}
.cal-head{padding:10px 14px;font-family:var(--font-mono);font-size:11px;color:var(--muted);border-bottom:1px solid var(--border2)}
.cal-month{padding:10px 4px;text-align:center;font-family:var(--font-mono);font-size:11px;border-bottom:1px solid var(--border2)}
.cal-month.current{background:var(--green);color:#fff}
.cal-species{padding:10px 14px;font-size:15px;font-weight:600;border-bottom:1px solid var(--border3);display:flex;flex-direction:column}
.cal-species span{font-size:12px;font-weight:400;color:var(--muted)}
.cal-cell{border-bottom:1px solid var(--border3);border-left:1px solid var(--bg)}
.cal-v0{background:#ece7da}
.cal-v1{background:#e9c9a8}
.cal-v2{background:#e39662}
.cal-v3{background:#d9622b}
.cal-legend{display:flex;gap:18px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--muted);font-family:var(--font-mono)}
.cal-legend span.sw{display:flex;align-items:center;gap:6px}
.cal-legend i{width:14px;height:14px;display:inline-block;border:1px solid var(--border2)}
.moon-guide{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.moon-guide-item{border-top:3px solid var(--green);padding-top:12px;display:flex;flex-direction:column;gap:6px}
.moon-guide-item strong{font-family:var(--font-head);font-size:22px;text-transform:uppercase}

/* Article */
.article{max-width:760px;margin:0 auto;padding:48px 24px 72px}
.back-link{background:none;border:none;padding:0;font-family:var(--font-mono);font-size:12px;letter-spacing:.1em;text-transform:uppercase;color:var(--orange-dark);text-decoration:none}
.article-meta{display:block;margin-top:24px;font-family:var(--font-mono);font-size:12px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.article h1{margin:10px 0 24px;font-size:clamp(40px,5vw,60px);line-height:.98}
.article .excerpt{margin:0 0 22px;font-size:20px;line-height:1.55;font-weight:500}
.article p{font-size:17px;line-height:1.7;color:var(--body-text);margin:0 0 18px}
.article-cta{margin-top:32px;padding:22px;background:var(--green);color:var(--bg);display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.article-cta span{font-family:var(--font-head);font-size:22px;text-transform:uppercase}

/* About */
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:18px}
.team-member{display:flex;flex-direction:column;gap:10px}
.team-photo{aspect-ratio:1/1;background:repeating-linear-gradient(135deg,#ddd7c7 0 10px,#e3ddcf 10px 20px);display:flex;align-items:flex-end;padding:10px;font-family:var(--font-mono);font-size:11px;color:#8a8a7c;overflow:hidden;position:relative}
.team-photo img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.team-name{font-family:var(--font-head);font-size:24px;text-transform:uppercase}
.team-role{font-family:var(--font-mono);font-size:12px;color:var(--orange-dark);letter-spacing:.06em}
.team-text{font-size:15px;line-height:1.5;color:var(--muted2)}
.about-text p{margin:0 0 18px;font-size:17px;line-height:1.7;color:var(--body-text)}

/* Contact */
.contact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:48px}
.contact-info{display:flex;flex-direction:column;gap:22px}
.contact-details{display:grid;grid-template-columns:auto 1fr;gap:12px 24px;font-size:16px;line-height:1.5}
.contact-details span{color:var(--muted)}
.contact-legal{font-size:14px;line-height:1.6;color:var(--muted);border-top:1px solid var(--border);padding-top:14px}
.contact-form{background:var(--bg-alt);border:1px solid var(--border);padding:28px;display:flex;flex-direction:column;gap:14px;align-self:start}
.form-row{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600}
.form-row input,.form-row select,.form-row textarea{padding:12px;border:1px solid var(--border2);background:#fff;font-size:15px;font-family:inherit}
.form-fine{font-size:13px;color:var(--muted);line-height:1.5}
.form-error{font-size:14px;color:var(--error)}
.form-success{margin:0;font-size:17px;line-height:1.6}
.map-embed{border:1px solid var(--border);aspect-ratio:16/10;width:100%}
.map-embed iframe{width:100%;height:100%;border:0}

/* FAQ */
.faq-list{border-top:1px solid var(--border2)}
.faq-item{border-bottom:1px solid var(--border2)}
.faq-item summary{list-style:none;cursor:pointer;padding:18px 0;display:flex;justify-content:space-between;gap:16px;font-size:18px;font-weight:600;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';font-family:var(--font-mono);color:var(--orange)}
.faq-item[open] summary::after{content:'−'}
.faq-item p{margin:0 0 18px;font-size:16px;line-height:1.65;color:var(--muted2)}

/* Legal */
.legal-layout{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start}
.legal-nav{display:flex;flex-direction:column;gap:2px;border-top:3px solid var(--green);padding-top:10px}
.legal-nav-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.16em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.legal-nav a{background:transparent;color:var(--ink);text-align:left;padding:10px 12px;font-size:15px;font-weight:500;text-decoration:none;display:block}
.legal-nav a.active{background:var(--green);color:#fff}
.legal-content{max-width:780px}
.legal-content h1{font-size:clamp(38px,5vw,56px);line-height:1}
.legal-updated{display:block;margin:12px 0 28px;font-family:var(--font-mono);font-size:12px;color:var(--muted)}
.legal-section{margin-bottom:26px}
.legal-section h2{font-size:24px;margin-bottom:10px}
.legal-section p{margin:0 0 10px;font-size:16px;line-height:1.7;color:var(--body-text)}
@media (max-width:760px){.legal-layout{grid-template-columns:1fr}}

/* Thank-you */
.thanks{max-width:640px;margin:0 auto;padding:72px 24px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:16px}

/* Cookie banner */
.cookie-banner{position:fixed;left:16px;right:16px;bottom:16px;z-index:60;display:flex;justify-content:center;pointer-events:none}
.cookie-banner.hidden{display:none}
.cookie-card{pointer-events:auto;max-width:760px;width:100%;background:var(--footer-bg);color:#e8e3d6;padding:20px 22px;display:flex;flex-direction:column;gap:14px;box-shadow:0 10px 40px rgba(0,0,0,.3)}
.cookie-card strong{font-family:var(--font-head);font-size:22px;text-transform:uppercase;color:#fff}
.cookie-card p{font-size:14px;line-height:1.55;margin:0}
.cookie-card p a{color:var(--orange-light)}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap}
.cookie-actions button{font-weight:600;font-size:14px;border:none;padding:11px 18px}
.cookie-accept{background:var(--orange);color:#fff}
.cookie-necessary{background:transparent;color:#fff;border:1px solid #6b716a}
.cookie-reject{background:transparent;color:var(--footer-text);padding:11px 8px;text-decoration:underline}

/* Toast */
.toast{position:fixed;top:90px;right:20px;z-index:70;background:var(--green);color:#fff;padding:14px 18px;font-size:15px;box-shadow:0 8px 24px rgba(0,0,0,.2);border-left:4px solid var(--orange);display:none;max-width:320px}
.toast.show{display:block}

/* Product modal */
.modal-overlay{position:fixed;inset:0;background:rgba(20,24,20,.6);z-index:40;display:none;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal-box{background:var(--bg);max-width:920px;width:100%;max-height:90vh;overflow:auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}
.modal-media{aspect-ratio:1/1;background:repeating-linear-gradient(135deg,#e7e2d4 0 10px,#ece8dc 10px 20px);position:relative;overflow:hidden}
.modal-media img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.modal-body{padding:28px;display:flex;flex-direction:column;gap:12px}
.modal-head{display:flex;justify-content:space-between;gap:12px}
.modal-head span{font-family:var(--font-mono);font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.modal-close{background:none;border:none;font-size:22px;line-height:1;color:var(--ink);padding:0}
.modal-title{font-family:var(--font-head);font-weight:700;font-size:34px;line-height:1;text-transform:uppercase}
.modal-price{display:flex;align-items:baseline;gap:10px}
.modal-price strong{font-family:var(--font-head);font-weight:700;font-size:32px}
.modal-price .old{font-size:15px;color:#8a8a7c;text-decoration:line-through}
.modal-note{font-size:13px;color:var(--muted)}
.modal-desc{margin:0;font-size:16px;line-height:1.6;color:var(--body-text)}
.modal-specs{border-top:1px solid var(--border)}
.modal-specs div{padding:9px 0;border-bottom:1px solid var(--border);font-size:15px}
.modal-add{margin-top:8px;background:var(--orange);color:#fff;border:none;padding:15px;font-family:var(--font-head);font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:.05em}
.modal-add:hover{background:var(--orange-dark)}

/* Cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(20,24,20,.55);z-index:50;display:none;justify-content:flex-end}
.cart-overlay.open{display:flex}
.cart-drawer{background:var(--bg);width:100%;max-width:440px;height:100%;display:flex;flex-direction:column}
.cart-head{padding:20px 22px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.cart-head span{font-family:var(--font-head);font-weight:700;font-size:26px;text-transform:uppercase}
.cart-step{display:none;flex:1;flex-direction:column;overflow:auto}
.cart-step.active{display:flex}
.cart-items{flex:1;overflow:auto;padding:8px 22px}
.cart-empty{font-size:16px;color:var(--muted);padding:30px 0;text-align:center;line-height:1.6}
.cart-item{display:grid;grid-template-columns:64px 1fr auto;gap:12px;padding:14px 0;border-bottom:1px solid var(--border);align-items:center}
.cart-item-thumb{width:64px;height:64px;background:repeating-linear-gradient(135deg,#e7e2d4 0 6px,#ece8dc 6px 12px);position:relative;overflow:hidden}
.cart-item-thumb img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.cart-item-info{display:flex;flex-direction:column;gap:6px;min-width:0}
.cart-item-info>span{font-size:15px;font-weight:600;line-height:1.3}
.qty-ctrl{display:flex;align-items:center;gap:0;border:1px solid var(--border2);align-self:flex-start}
.qty-ctrl button{width:30px;height:30px;background:none;border:none;font-size:16px;color:var(--ink)}
.qty-ctrl span{width:30px;text-align:center;font-family:var(--font-mono);font-size:13px}
.cart-item-end{display:flex;flex-direction:column;align-items:flex-end;gap:6px}
.cart-item-end strong{font-family:var(--font-head);font-size:20px}
.remove-btn{background:none;border:none;padding:0;font-size:12px;color:#8a8a7c;text-decoration:underline}
.cart-summary{padding:18px 22px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:8px;background:var(--bg-alt)}
.cart-summary .row{display:flex;justify-content:space-between;font-size:15px}
.cart-summary .row.total{font-size:20px;font-weight:600;padding-top:8px;border-top:1px solid var(--border)}
.cart-summary .vat{font-size:12px;color:var(--muted)}
.cart-summary .free-left{font-size:13px;color:var(--orange-dark)}
.checkout-fields{padding:18px 22px;display:flex;flex-direction:column;gap:12px}
.pay-opts{display:flex;flex-direction:column;gap:8px}
.pay-opt{display:flex;justify-content:space-between;gap:10px;padding:12px;border:1px solid var(--border2);background:#fff;text-align:left;font-size:14px;color:var(--ink);width:100%}
.pay-opt.selected{border:2px solid var(--green)}
.pay-opt .mark{font-family:var(--font-mono);color:var(--orange)}
.terms-row{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.5;margin-top:6px}
.cart-checkout-foot{padding:18px 22px;border-top:1px solid var(--border);background:var(--bg-alt);display:flex;flex-direction:column;gap:8px}
.cart-checkout-foot .row{display:flex;justify-content:space-between;font-size:20px;font-weight:600}
.cart-back{background:none;border:none;font-size:14px;color:var(--muted);text-decoration:underline;align-self:flex-start}
.order-done{flex:1;padding:36px 22px;display:flex;flex-direction:column;gap:14px}
.order-no{font-family:var(--font-mono);font-size:12px;color:var(--orange-dark);letter-spacing:.1em}
.order-done h3{font-size:34px;line-height:1}
.order-done p{margin:0;font-size:16px;line-height:1.6;color:var(--muted2)}

@media (max-width:600px){
  .topbar{font-size:11px;gap:14px}
  .legal-layout{grid-template-columns:1fr}
}
