/* Reklamní Poutače Ostrava — hlavní styl */
:root{
  --bg:#f3f2f2;
  --ink:#201e1d;
  --accent:#ec3013;
  --accent-dark:#a8200b;
  --accent-hover:#c9260d;
  --panel:#ebe9e8;
  --muted:#5f5a57;
  --muted2:#3d3936;
  --line:#201e1d;
  --line-light:#c9c5c3;
  --white:#fff;
  --font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --wrap:1360px;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);}
body{font-family:var(--font);color:var(--ink);min-height:100vh;font-size:16px;line-height:1.55;}
a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
a:hover{color:var(--accent);}
img{max-width:100%;display:block;}
::selection{background:#fbd3cb;color:var(--ink);}
button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px;}
input[type=range]{accent-color:var(--accent);width:100%;}
input[type=checkbox],input[type=radio]{accent-color:var(--accent);}
button{font-family:inherit;}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,48px);}

/* Top bar */
.topbar{background:var(--ink);color:var(--bg);font-size:13px;}
.topbar .wrap{display:flex;flex-wrap:wrap;gap:8px 28px;justify-content:space-between;padding:8px clamp(16px,4vw,48px);}
.topbar a{color:var(--bg);text-decoration:none;}
.topbar a:hover{color:#ff8a72;}
.topbar .contacts{display:flex;flex-wrap:wrap;gap:8px 24px;}

/* Header */
header.site{background:var(--bg);border-bottom:2px solid var(--line);position:sticky;top:0;z-index:40;}
header.site .inner{max-width:var(--wrap);margin:0 auto;padding:0 clamp(16px,4vw,48px);display:flex;align-items:stretch;gap:24px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--ink);padding:14px 0;}
.brand .mark{width:40px;height:40px;background:var(--accent);display:flex;align-items:flex-end;padding:5px;color:#fff;font-weight:900;font-size:15px;line-height:1;}
.brand .name{display:flex;flex-direction:column;line-height:1;}
.brand .name .t1{font-weight:800;font-size:18px;letter-spacing:0.01em;}
.brand .name .t2{font-size:12px;letter-spacing:0.18em;margin-top:4px;}

nav.main{display:flex;flex-wrap:wrap;flex:1 1 640px;order:3;gap:0 2px;align-items:stretch;min-width:0;border-top:2px solid var(--line);margin:0 calc(-1 * clamp(16px,4vw,48px));padding:0 clamp(4px,3vw,36px);}
nav.main a{display:flex;align-items:center;padding:10px 12px 8px;white-space:nowrap;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;border-bottom:4px solid transparent;border-top:4px solid transparent;}
nav.main a:hover{color:var(--accent);}
nav.main a.active{border-bottom-color:var(--accent);}

.header-actions{display:flex;align-items:center;gap:10px;padding:10px 0;margin-left:auto;order:2;}
.btn-cart{display:flex;align-items:center;gap:10px;padding:10px 14px;border:2px solid var(--ink);background:transparent;font-weight:700;font-size:15px;cursor:pointer;color:var(--ink);text-decoration:none;}
.btn-cart:hover{background:var(--ink);color:var(--bg);}
.btn-cart .count{min-width:24px;height:24px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;}
.btn-cta{padding:12px 16px;background:var(--accent);color:#fff;border:2px solid var(--accent);font-weight:700;font-size:15px;cursor:pointer;text-align:left;text-decoration:none;display:inline-block;}
.btn-cta:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;}

/* Generic buttons */
.btn{padding:14px 18px;background:transparent;border:2px solid var(--ink);font-weight:700;font-size:16px;cursor:pointer;text-align:left;color:var(--ink);text-decoration:none;display:inline-flex;align-items:center;gap:14px;}
.btn:hover{background:var(--ink);color:var(--bg);}
.btn.primary{background:var(--accent);border-color:var(--accent);color:#fff;}
.btn.primary:hover{background:var(--accent-hover);border-color:var(--accent-hover);color:#fff;}
.btn.on-dark{background:transparent;border-color:var(--bg);color:var(--bg);}
.btn.on-dark:hover{background:var(--bg);color:var(--ink);}
.btn-row{display:flex;flex-wrap:wrap;gap:12px;}

/* Sections */
section{border-bottom:2px solid var(--line);}
.section-pad{padding:clamp(48px,7vw,96px) clamp(16px,4vw,48px);}
.section-pad-sm{padding:clamp(40px,6vw,80px) clamp(16px,4vw,48px);}
.eyebrow{font-size:13px;font-weight:700;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent-dark);}
.eyebrow.on-dark{color:#ff6a50;}
h1{margin:0;font-size:clamp(44px,6.6vw,96px);line-height:0.9;font-weight:850;letter-spacing:-0.01em;}
h1.hero{font-size:clamp(48px,7.4vw,108px);}
h2{margin:12px 0 0;font-size:clamp(36px,5vw,68px);line-height:0.95;font-weight:800;}
h3{margin:0;font-size:28px;line-height:1.05;font-weight:800;}
.lead{margin:0;font-size:20px;max-width:760px;}
p{margin:0 0 12px;}
.muted{color:var(--muted);}
.muted2{color:var(--muted2);}

/* Hero (home) */
.hero-grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,520px),1fr));}
.hero-left{padding:clamp(40px,6vw,88px) clamp(16px,4vw,48px);display:flex;flex-direction:column;gap:28px;border-right:2px solid var(--line);}
.hero-left p{max-width:560px;}
.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));border-top:2px solid var(--line);margin-top:8px;}
.stat-row .stat{padding:16px 16px 0 0;}
.stat-row .num{font-size:34px;font-weight:800;}
.stat-row .label{font-size:14px;color:var(--muted);}

.hero-right{padding:clamp(24px,4vw,48px);display:flex;flex-direction:column;gap:18px;background:var(--panel);}
.hero-right .row-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;}
.sign-preview{position:relative;aspect-ratio:4/3;border:2px solid var(--line);overflow:hidden;display:flex;align-items:center;justify-content:center;}
.sign-preview.day{background:repeating-linear-gradient(0deg,#d8d4d1 0 22px,#cfcac7 22px 24px);}
.sign-preview.night{background:#1a1817;}
.sign-preview .ground{position:absolute;left:0;right:0;bottom:0;height:28%;border-top:2px solid var(--line);}
.sign-preview.day .ground{background:#bdb8b4;}
.sign-preview.night .ground{background:#0f0e0d;}
.sign-preview .door-small{position:absolute;left:12%;bottom:0;width:22%;height:28%;border-bottom:0;}
.sign-preview .door-big{position:absolute;right:10%;bottom:6%;width:38%;height:18%;}
.sign-preview.day .door-small,.sign-preview.day .door-big{border:2px solid var(--line);background:#e8e6e4;}
.sign-preview.night .door-small,.sign-preview.night .door-big{border:2px solid #3a3633;background:#26221f;}
.sign-preview .box{position:relative;margin-bottom:22%;width:84%;padding:22px 18px;border:6px solid #2b2826;display:flex;align-items:center;justify-content:center;}
.sign-preview.day .box{background:#fff;box-shadow:none;}
.sign-preview.night .box{background:#141211;box-shadow:0 0 60px rgba(236,48,19,0.45);}
.sign-preview .box span{font-weight:850;font-size:clamp(22px,3.6vw,46px);line-height:1;letter-spacing:0.02em;text-transform:uppercase;text-align:center;word-break:break-word;}
.sign-preview.day .box span{color:var(--accent);text-shadow:none;}
.sign-preview.night .box span{color:#fff4ef;text-shadow:0 0 6px #ff6a50,0 0 18px var(--accent),0 0 40px var(--accent);}
.field label{display:flex;flex-direction:column;gap:6px;font-size:14px;font-weight:600;}
.field input[type=text]{padding:14px;border:2px solid var(--line);background:#fff;font-family:inherit;font-size:17px;font-weight:600;border-radius:0;width:100%;}
.daynight{display:grid;grid-template-columns:1fr 1fr;border:2px solid var(--line);}
.daynight button{padding:12px 14px;border:0;font-weight:700;font-size:15px;cursor:pointer;text-align:left;background:#f3f2f2;color:var(--ink);}
.daynight button:first-child{border-right:2px solid var(--line);}
.daynight button.active{background:var(--ink);color:var(--bg);}

/* Marquee strip */
.marquee{background:var(--ink);color:var(--bg);}
.marquee .wrap{padding:18px clamp(16px,4vw,48px);display:flex;flex-wrap:wrap;gap:10px 36px;font-weight:700;font-size:18px;text-transform:uppercase;letter-spacing:0.04em;}
.marquee .dot{color:var(--accent);}

/* Grid blocks */
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:40px;}
.grid-fit-280{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:2px;background:var(--line);border:2px solid var(--line);}
.grid-fit-300{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:2px;background:var(--line);border:2px solid var(--line);}
.grid-fit-260{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:2px;background:var(--line);border:2px solid var(--line);}
.grid-fill-290{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,290px),1fr));gap:2px;background:var(--line);border:2px solid var(--line);}
.cell{background:var(--bg);padding:28px;}
.cell.white{background:#fff;}

.head-row{display:flex;flex-wrap:wrap;gap:24px;justify-content:space-between;align-items:flex-end;margin-bottom:40px;}

/* Service tiles (home) */
.service-tile{display:flex;flex-direction:column;gap:14px;min-height:280px;background:var(--bg);padding:28px;cursor:pointer;text-decoration:none;color:var(--ink);}
.service-tile:hover{background:#fff;}
.service-tile .top{display:flex;justify-content:space-between;font-weight:700;}
.service-tile .top .n{color:var(--accent);font-size:15px;}
.service-tile .top .price{font-size:14px;color:var(--muted);}
.service-tile .more{margin-top:auto;font-weight:700;font-size:15px;}

/* Banner / split strip */
.split-banner{background:var(--accent);color:#fff;}
.split-banner p{font-size:clamp(36px,5.6vw,80px);line-height:0.95;font-weight:850;max-width:1100px;margin:16px 0 0;}

/* Steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));border-top:2px solid var(--line);}
.step{padding:24px 24px 24px 0;border-bottom:2px solid var(--line);display:flex;flex-direction:column;gap:10px;}
.step .n{font-size:56px;font-weight:850;line-height:1;color:var(--accent);}
.step .t{font-size:20px;font-weight:800;}
.step .d{font-size:15px;color:var(--muted2);}
.step .time{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}

/* Photo placeholder / figure */
.ph{position:relative;border:2px solid var(--line);overflow:hidden;background:#e4e2e1;}
.ph img{width:100%;height:100%;object-fit:cover;display:block;}
.ph.ar-4-3{aspect-ratio:4/3;}
.ph.ar-16-10{aspect-ratio:16/10;}
.ph.ar-3-2{aspect-ratio:3/2;}
.ph.ar-1-1{aspect-ratio:1/1;}
.ph.ar-16-9{aspect-ratio:16/9;}
.ph.ar-4-5{aspect-ratio:4/5;}
.tag{position:absolute;top:0;left:0;background:var(--accent);color:#fff;font-weight:700;font-size:12px;padding:6px 10px;text-transform:uppercase;letter-spacing:0.08em;}

.card-realizace{display:flex;flex-direction:column;gap:12px;}
.card-realizace .meta{display:flex;justify-content:space-between;gap:12px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;}
.card-realizace .meta .cat{color:var(--accent-dark);}
.card-realizace .ttl{font-size:22px;font-weight:800;line-height:1.1;}

/* Product card */
.product-card{background:#fff;padding:20px;display:flex;flex-direction:column;gap:12px;}
.product-card .cat{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent-dark);}
.product-card .name{font-size:18px;font-weight:800;line-height:1.2;}
.product-card .desc{margin:0;font-size:14px;color:var(--muted2);}
.product-card .stock{font-size:13px;color:#1f7a3a;font-weight:700;}
.product-card .buyrow{margin-top:auto;display:flex;justify-content:space-between;align-items:center;gap:12px;border-top:2px solid var(--line);padding-top:14px;}
.product-card .price{font-size:24px;font-weight:800;}
.product-card .unit{font-size:12px;color:var(--muted);}
.btn-add{padding:12px 14px;background:var(--accent);color:#fff;border:0;font-weight:700;cursor:pointer;text-align:left;font-family:inherit;}
.btn-add:hover{background:var(--accent-hover);}

/* Testimonials */
.testimonial{margin:0;border-top:4px solid var(--accent);padding-top:20px;display:flex;flex-direction:column;gap:16px;}
.testimonial blockquote{margin:0;font-size:20px;line-height:1.4;}
.testimonial figcaption{font-size:14px;}

/* City grid */
.city-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));border-top:2px solid var(--line);border-left:2px solid var(--line);align-self:start;}
.city-grid .city{padding:14px 16px;border-right:2px solid var(--line);border-bottom:2px solid var(--line);font-weight:700;display:flex;justify-content:space-between;gap:8px;}
.city-grid .city .km{color:var(--muted);font-weight:500;font-size:14px;}

/* Footer */
footer.site{background:var(--ink);color:#d9d5d3;font-size:15px;}
footer.site .cols{max-width:var(--wrap);margin:0 auto;padding:56px clamp(16px,4vw,48px) 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:36px;}
footer.site .col{display:flex;flex-direction:column;gap:8px;}
footer.site .col .ttl{color:#fff;font-weight:800;margin-bottom:4px;}
footer.site a{color:#d9d5d3;text-decoration:none;}
footer.site a:hover{color:#ff8a72;}
footer.site button.linklike{padding:0;border:0;background:transparent;color:#d9d5d3;font-family:inherit;font-size:15px;cursor:pointer;text-align:left;text-decoration:underline;}
footer.site .brandrow{display:flex;align-items:center;gap:12px;}
footer.site .bottom{max-width:var(--wrap);margin:0 auto;padding:20px clamp(16px,4vw,48px);border-top:2px solid #3d3936;display:flex;flex-wrap:wrap;gap:8px 24px;justify-content:space-between;font-size:13px;color:#a39e9b;}

/* Tables */
table.specs{width:100%;border-collapse:collapse;font-size:15px;}
table.specs td{padding:10px 0;border-bottom:1px solid var(--line-light);}
table.specs td.k{color:var(--muted);width:45%;}
table.specs td.v{font-weight:600;}
.table-scroll{overflow-x:auto;}
table.compare{width:100%;min-width:720px;border-collapse:collapse;font-size:15px;}
table.compare th{text-align:left;padding:12px;background:var(--ink);color:var(--bg);}
table.compare td{padding:12px;border-bottom:2px solid var(--line);}
table.compare td:first-child{font-weight:700;}

/* Lists */
ul.points{margin:0;padding:0;list-style:none;border-top:2px solid var(--line);}
ul.points li{padding:10px 0;border-bottom:1px solid var(--line-light);display:flex;gap:12px;}
ul.points li::before{content:"■";color:var(--accent);font-weight:800;}
ul.plain{margin:0;padding:0;list-style:none;}
ul.plain li{padding:10px 0;border-bottom:1px solid var(--line-light);}
ul.deliver{margin:0;padding:8px 20px 20px;list-style:none;border:2px solid var(--line);background:#fff;}
ul.deliver li{padding:10px 0;border-bottom:1px solid var(--line-light);}
ul.deliver li:last-child{border-bottom:0;}

/* Filters */
.filters{display:flex;flex-wrap:wrap;gap:8px;}
.filter-btn{padding:10px 14px;border:2px solid var(--ink);font-weight:700;font-size:14px;cursor:pointer;background:#fff;color:var(--ink);font-family:inherit;}
.filter-btn.active{background:var(--ink);color:var(--bg);}

/* Forms */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid .full{grid-column:1/-1;}
label.f{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;}
input,select,textarea{padding:12px;border:2px solid var(--line);font-family:inherit;font-size:15px;border-radius:0;background:#fff;width:100%;}
textarea{resize:vertical;}
.check-row{display:flex;gap:10px;align-items:flex-start;font-size:14px;}
.check-row input{width:18px;height:18px;margin-top:2px;flex:0 0 auto;}
form.panel{border:2px solid var(--line);background:#fff;display:flex;flex-direction:column;}
form.panel .panel-head{padding:18px 20px;border-bottom:2px solid var(--line);font-weight:800;font-size:20px;}
form.panel .panel-body{padding:20px;display:grid;grid-template-columns:1fr 1fr;gap:12px;}
form.panel table{margin:0 20px;border-collapse:collapse;font-size:15px;border-top:2px solid var(--line);width:calc(100% - 40px);}
form.panel table td{padding:8px 0;}
form.panel table tr.total td{padding:12px 0;border-top:2px solid var(--line);font-weight:800;font-size:20px;}
form.panel .panel-checks{padding:16px 20px;display:flex;flex-direction:column;gap:10px;font-size:14px;}
.submit-row{margin:0 20px 20px;display:flex;justify-content:space-between;padding:18px 20px;background:var(--accent);color:#fff;border:0;font-weight:700;font-size:17px;cursor:pointer;text-align:left;width:calc(100% - 40px);font-family:inherit;}
.submit-row:hover{background:var(--accent-hover);}

/* Calculator */
.calc-grid{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,480px),1fr));}
.calc-left{padding:clamp(24px,4vw,48px);border-right:2px solid var(--line);display:flex;flex-direction:column;gap:28px;}
.calc-right{padding:clamp(24px,4vw,48px);background:var(--ink);color:var(--bg);display:flex;flex-direction:column;gap:20px;}
.calc-right .price{font-size:clamp(48px,7vw,96px);font-weight:850;line-height:0.9;}
.calc-right table{width:100%;border-collapse:collapse;font-size:15px;border-top:2px solid var(--bg);}
.calc-right table td{padding:10px 0;border-bottom:1px solid #4a4542;}
.calc-right table td:last-child{text-align:right;font-weight:700;}
.calc-right .note{margin:0;font-size:13px;color:#c9c5c3;}
.type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:2px;background:var(--line);border:2px solid var(--line);}
.type-grid button, .mount-grid button{padding:14px;border:0;cursor:pointer;text-align:left;background:#f3f2f2;color:var(--ink);font-family:inherit;}
.type-grid button.active, .mount-grid button.active{background:var(--accent);color:#fff;}
.type-grid button .lbl, .mount-grid button .lbl{font-weight:800;font-size:16px;}
.type-grid button .sub, .mount-grid button .sub{font-size:13px;opacity:0.85;}
.mount-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:2px;background:var(--line);border:2px solid var(--line);}
.range-row{display:flex;justify-content:space-between;font-weight:800;margin-bottom:6px;}
.cta-dark{display:flex;justify-content:space-between;padding:18px 20px;background:var(--accent);color:#fff;border:0;font-weight:700;font-size:17px;cursor:pointer;text-align:left;width:100%;font-family:inherit;text-decoration:none;}
.cta-dark:hover{background:#ff4a2c;}

/* Cart */
.cart-line{display:grid;grid-template-columns:72px minmax(0,1fr) auto;gap:16px;padding:16px 0;border-bottom:2px solid var(--line);align-items:center;}
.cart-line .thumb{width:72px;height:72px;background:#e4e2e1;object-fit:cover;}
.qty-box{display:flex;align-items:center;gap:0;margin-top:8px;border:2px solid var(--line);width:max-content;}
.qty-box button{width:34px;height:32px;border:0;background:#fff;font-weight:800;cursor:pointer;font-family:inherit;}
.qty-box span{min-width:36px;text-align:center;font-weight:700;}
.ship-pay{border:2px solid var(--line);}
.ship-pay button{width:100%;display:flex;justify-content:space-between;gap:12px;padding:14px 16px;border:0;border-bottom:1px solid var(--line-light);font-size:15px;cursor:pointer;text-align:left;background:#fff;color:var(--ink);font-family:inherit;}
.ship-pay button:last-child{border-bottom:0;}
.ship-pay button.active{background:#f3f2f2;}

/* FAQ / articles */
details.faq{border-bottom:2px solid var(--line);}
details.faq summary{list-style:none;width:100%;display:flex;justify-content:space-between;gap:20px;padding:20px 0;font-size:20px;font-weight:800;cursor:pointer;color:var(--ink);}
details.faq summary::-webkit-details-marker{display:none;}
details.faq summary .sign{color:var(--accent);}
details.faq summary .sign::after{content:"+";}
details.faq[open] summary .sign::after{content:"\2212";}
details.faq p{margin:0 0 20px;font-size:17px;color:var(--muted2);max-width:820px;}
article.post{border-bottom:2px solid var(--line);padding:32px 0;display:flex;flex-direction:column;gap:12px;}
article.post .meta{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:0.08em;color:var(--accent-dark);}
article.post h2{margin:0;font-size:clamp(26px,3vw,38px);line-height:1.05;}
article.post summary{cursor:pointer;color:var(--ink);font-weight:700;padding:10px 14px;border:2px solid var(--ink);display:inline-block;list-style:none;}
article.post summary::-webkit-details-marker{display:none;}
article.post details p{margin:12px 0 0;font-size:16px;color:var(--muted2);}

/* Legal */
.legal-wrap{display:flex;flex-wrap:wrap;gap:40px;align-items:flex-start;}
.legal-nav{flex:1 1 240px;max-width:320px;border:2px solid var(--line);background:#fff;display:flex;flex-direction:column;}
.legal-nav a{padding:12px 16px;border-bottom:1px solid var(--line-light);text-decoration:none;font-weight:700;font-size:15px;color:var(--ink);}
.legal-nav a:last-child{border-bottom:0;}
.legal-nav a.active{background:var(--ink);color:var(--bg);}
.legal-body{flex:999 1 420px;min-width:0;max-width:820px;display:flex;flex-direction:column;gap:28px;}
.legal-sec{border-top:2px solid var(--line);padding-top:16px;display:flex;flex-direction:column;gap:10px;}
.legal-sec h2{margin:0;font-size:22px;font-weight:800;}
.legal-sec p{margin:0;font-size:16px;color:var(--muted2);}

/* Success blocks */
.success{display:flex;flex-direction:column;gap:16px;}
.success .check{width:56px;height:56px;background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:800;}

/* Toast */
#toast{position:fixed;right:20px;top:96px;z-index:60;background:var(--ink);color:#fff;padding:16px 18px;border-left:6px solid var(--accent);display:none;gap:16px;align-items:center;max-width:360px;}
#toast.show{display:flex;}
#toast a{color:#fff;padding:8px 12px;background:var(--accent);border:0;font-weight:700;text-decoration:none;white-space:nowrap;}

/* Cookie banner */
#cookieBanner{position:fixed;left:16px;right:16px;bottom:16px;z-index:70;max-width:720px;background:#fff;border:2px solid var(--line);box-shadow:0 12px 32px rgba(32,30,29,0.18);}
#cookieBanner .inner{padding:20px;display:flex;flex-direction:column;gap:10px;}
#cookieBanner .ttl{font-weight:800;font-size:18px;}
#cookieBanner p{margin:0;font-size:14px;color:var(--muted2);}
#cookieBanner .actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));border-top:2px solid var(--line);}
#cookieBanner .actions button{padding:14px 16px;border:0;font-weight:700;cursor:pointer;text-align:left;font-family:inherit;}
#cookieBanner .actions .necessary{background:#fff;border-right:2px solid var(--line);color:var(--ink);}
#cookieBanner .actions .necessary:hover{background:#f3f2f2;}
#cookieBanner .actions .all{background:var(--accent);color:#fff;}
#cookieBanner .actions .all:hover{background:var(--accent-hover);}

/* Utility */
.hide{display:none !important;}
.mono-ph{font-family:ui-monospace,Menlo,monospace;font-size:12px;color:var(--muted);}
.info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:24px;}
.info-grid .ttl{font-size:13px;font-weight:700;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent-dark);margin-bottom:6px;}
.info-grid .big{font-size:22px;font-weight:800;text-decoration:none;}
.billing-box{border:2px solid var(--line);background:#fff;padding:20px;font-size:15px;}
.perk-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));border:2px solid var(--line);background:#fff;}
.perk-strip div{padding:16px 20px;border-right:2px solid var(--line);}
.perk-strip div:last-child{border-right:0;}

@media (max-width:640px){
  .form-grid{grid-template-columns:1fr;}
  form.panel .panel-body{grid-template-columns:1fr;}
}
