/* Avtoservis Dom — global styles */
:root{
  --dark:oklch(0.16 0.004 255);
  --dark-2:oklch(0.22 0.005 255);
  --dark-3:oklch(0.24 0.006 255);
  --dark-4:oklch(0.26 0.006 255);
  --dark-5:oklch(0.28 0.006 255);
  --dark-border:oklch(0.35 0.01 255);
  --dark-border-2:oklch(0.4 0.01 255);
  --accent:oklch(0.65 0.15 41);
  --accent-dark:oklch(0.55 0.15 41);
  --accent-2:oklch(0.6 0.15 41);
  --blue:oklch(0.65 0.13 230);
  --blue-soft:oklch(0.93 0.02 230);
  --blue-soft-border:oklch(0.75 0.04 230);
  --blue-soft-text:oklch(0.3 0.02 230);
  --bg:oklch(0.96 0.003 255);
  --surface:oklch(0.99 0.001 255);
  --surface-2:oklch(0.97 0.003 255);
  --border:oklch(0.88 0.004 255);
  --border-2:oklch(0.85 0.004 255);
  --text:oklch(0.2 0.006 255);
  --text-2:oklch(0.25 0.006 255);
  --text-muted:oklch(0.45 0.01 255);
  --text-muted-2:oklch(0.5 0.01 255);
  --text-muted-3:oklch(0.55 0.008 255);
  --light:oklch(0.98 0.003 255);
  --light-2:oklch(0.97 0.003 255);
  --light-3:oklch(0.9 0.005 255);
  --light-muted:oklch(0.75 0.01 255);
  --light-muted-2:oklch(0.7 0.01 255);
  --light-muted-3:oklch(0.65 0.01 255);
  --placeholder-a:oklch(0.32 0.01 255);
  --placeholder-b:oklch(0.27 0.008 255);
  --placeholder-light-a:oklch(0.88 0.006 255);
  --placeholder-light-b:oklch(0.82 0.006 255);
  --font-display:'Barlow Condensed','Arial Narrow',Oswald,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--font-body);background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button{font-family:inherit}
p{margin:0}
.container{max-width:1200px;margin:0 auto;padding:0 24px}
.container-narrow{max-width:800px;margin:0 auto;padding:0 24px}

/* ---------- Top bar & header ---------- */
.topbar{background:var(--dark);color:var(--light-muted);display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px;padding:8px 24px;font-size:13px;letter-spacing:0.02em}
.topbar a{color:inherit}
.topbar .topbar-row{display:flex;gap:20px;flex-wrap:wrap}
.topbar .topbar-phone{color:var(--accent);font-weight:600}
.topbar .topbar-mail{color:var(--light-3)}

.mainheader{background:var(--dark-3);border-bottom:3px solid var(--accent);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:16px 24px;position:relative}
.brand{display:flex;align-items:center;gap:10px}
.brand-mark{width:42px;height:42px;border-radius:8px;background:linear-gradient(135deg,var(--accent-dark),var(--accent));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;color:var(--dark);font-size:22px}
.brand-text{font-family:var(--font-display);color:var(--light);line-height:1.05}
.brand-title{font-size:21px;font-weight:800;letter-spacing:0.01em}
.brand-sub{font-size:11px;color:var(--accent);letter-spacing:0.15em;font-weight:600}

.nav{display:flex;gap:4px;flex-wrap:wrap;align-items:center}
.nav a{padding:10px 14px;border-radius:6px;font-size:14px;font-weight:600;color:var(--light-muted)}
.nav a.active{color:var(--accent);background:var(--dark-5)}
.nav a:hover{color:var(--accent)}
.nav .shop-btn{margin-left:8px;background:var(--accent);color:var(--dark);font-weight:700;font-size:14px;padding:9px 18px;border-radius:6px;display:flex;align-items:center;gap:6px}
.nav .shop-btn:hover{filter:brightness(1.08)}

.nav-toggle{display:none;background:none;border:1px solid var(--dark-border-2);color:var(--light);border-radius:6px;padding:8px 12px;font-size:20px;cursor:pointer;line-height:1}

@media (max-width:880px){
  .nav-toggle{display:inline-flex}
  .nav{display:none;width:100%;flex-direction:column;align-items:stretch;background:var(--dark-3);order:3;padding-top:8px}
  .nav.open{display:flex}
  .nav a{width:100%}
  .nav .shop-btn{margin-left:0;justify-content:center}
}

/* Cookie banner */
.cookie-banner{position:fixed;bottom:16px;left:16px;right:16px;max-width:340px;background:var(--dark);color:var(--light-3);padding:18px;border-radius:10px;display:flex;flex-direction:column;gap:12px;z-index:999;box-shadow:0 8px 30px rgba(0,0,0,0.35);font-size:13px}
.cookie-banner.hidden{display:none}
.cookie-banner-text{line-height:1.5}
.cookie-banner-text a{color:var(--accent);text-decoration:underline}
.cookie-banner-actions{display:flex;gap:10px}
.btn-cookie-reject{background:transparent;border:1px solid var(--dark-border-2);color:oklch(0.85 0.005 255);padding:8px 14px;border-radius:6px;font-size:12.5px;cursor:pointer}
.btn-cookie-accept{background:var(--accent);border:none;color:var(--dark);font-weight:700;padding:8px 16px;border-radius:6px;font-size:12.5px;cursor:pointer}

/* ---------- Hero ---------- */
.hero{position:relative;background:linear-gradient(120deg,var(--dark),var(--dark-3));padding:88px 24px;overflow:hidden}
.hero::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,var(--dark-4) 0 26px,oklch(0.19 0.005 255) 26px 52px);opacity:0.5}
.hero-inner{position:relative;max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(280px,0.9fr);gap:48px;align-items:center}
.hero-badge{display:inline-flex;align-items:center;gap:8px;background:var(--dark-5);color:oklch(0.7 0.15 41);padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600;margin-bottom:20px}
.hero h1{font-family:var(--font-display);font-size:56px;line-height:1.02;font-weight:800;color:var(--light);margin:0 0 20px}
.hero p{font-size:18px;line-height:1.6;color:var(--light-muted);max-width:520px;margin:0 0 32px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap}
.hero-photo{border-radius:14px;overflow:hidden;border:1px solid var(--dark-border);height:340px}
.hero-photo img{width:100%;height:100%;object-fit:cover}

.btn{display:inline-block;font-weight:700;padding:15px 28px;border-radius:8px;font-size:16px;border:none;cursor:pointer;font-family:inherit}
.btn-primary{background:var(--accent);color:var(--dark)}
.btn-primary:hover{filter:brightness(1.08)}
.btn-outline{background:transparent;border:1.5px solid var(--dark-border-2);color:var(--light-3)}
.btn-blue{background:var(--blue);color:var(--dark)}
.btn-blue:hover{filter:brightness(1.08)}

/* ---------- Stats ---------- */
.stats{max-width:1200px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:24px;text-align:center}
.stat-value{font-family:var(--font-display);font-size:40px;font-weight:800;color:oklch(0.3 0.008 255)}
.stat-label{font-size:14px;color:var(--text-muted);margin-top:4px}

/* ---------- Sections ---------- */
.section{max-width:1200px;margin:0 auto;padding:24px 24px 72px}
.section-head{text-align:center;margin-bottom:44px}
.eyebrow{color:var(--accent-2);font-weight:700;letter-spacing:0.1em;font-size:13px;text-transform:uppercase;margin-bottom:8px}
.eyebrow.blue{color:var(--blue)}
.section-head h2,h2.section-title{font-family:var(--font-display);font-size:38px;font-weight:800;margin:0}

.card-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px}
.service-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:28px;display:block;color:inherit}
.service-card:hover{border-color:var(--accent);transform:translateY(-2px)}
.service-icon{width:48px;height:48px;border-radius:10px;background:oklch(0.93 0.005 255);display:flex;align-items:center;justify-content:center;font-size:24px;margin-bottom:16px}
.service-title{font-family:var(--font-display);font-size:21px;font-weight:700;margin-bottom:8px}
.service-desc{font-size:14.5px;color:var(--text-muted);line-height:1.55;margin:0 0 14px}
.service-more{color:var(--accent-dark);font-weight:600;font-size:14px}

/* ---------- Why-us dark band ---------- */
.band-dark{background:var(--dark-2);padding:64px 24px}
.band-dark-inner{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:minmax(280px,0.9fr) minmax(0,1.1fr);gap:48px;align-items:center}
.band-photo{border-radius:14px;overflow:hidden;border:1px solid var(--dark-border);height:300px}
.band-photo img{width:100%;height:100%;object-fit:cover}
.band-dark h2{font-family:var(--font-display);font-size:34px;font-weight:800;color:var(--light);margin:0 0 20px}
.reason-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.reason{display:flex;gap:12px;align-items:flex-start}
.reason-check{color:var(--accent);font-size:20px;flex-shrink:0}
.reason-title{color:oklch(0.95 0.003 255);font-weight:600;font-size:15px}
.reason-desc{color:var(--light-muted-3);font-size:13.5px;margin-top:2px;line-height:1.5}

/* ---------- Reviews ---------- */
.review-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:26px}
.review-stars{color:var(--accent);font-size:15px;margin-bottom:10px}
.review-text{font-size:14.5px;line-height:1.6;color:oklch(0.3 0.008 255);margin:0 0 16px}
.review-name{font-weight:700;font-size:14px}
.review-car{font-size:12.5px;color:var(--text-muted-2)}

/* ---------- CTA band ---------- */
.cta-band{background:linear-gradient(120deg,var(--accent-2),var(--accent));padding:56px 24px;text-align:center}
.cta-band h2{font-family:var(--font-display);font-size:32px;font-weight:800;color:var(--dark);margin:0 0 12px}
.cta-band p{color:oklch(0.2 0.01 255);font-size:16px;margin:0 0 26px}
.cta-band .btn{background:var(--dark);color:var(--light-2)}

/* ---------- Page hero (inner pages) ---------- */
.page-hero{background:linear-gradient(120deg,var(--dark),var(--dark-3));padding:64px 24px}
.page-hero h1{font-family:var(--font-display);font-size:44px;font-weight:800;color:var(--light);margin:0 0 14px}
.page-hero p{color:var(--light-muted);font-size:17px;max-width:640px;line-height:1.6;margin:0}
.page-hero .eyebrow{margin-bottom:10px}
.page-hero.legal{padding:44px 24px}
.page-hero.legal h1{font-size:34px;margin:0;max-width:800px;margin:0 auto}

/* ---------- Two-col service layout ---------- */
.service-layout{max-width:1200px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr);gap:40px}
.service-layout h2{font-family:var(--font-display);font-size:26px;font-weight:700;margin:0 0 18px}
.check-item{display:flex;gap:14px;align-items:flex-start;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:18px 20px}
.check-item .icon{font-size:20px}
.check-item .title{font-weight:700;font-size:15.5px}
.check-item .desc{font-size:14px;color:var(--text-muted);margin-top:3px;line-height:1.5}
.item-list{display:flex;flex-direction:column;gap:14px;margin-bottom:36px}
.grid-2{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px;margin-bottom:36px}

.interval-table{border:1px solid var(--border);border-radius:10px;overflow:hidden;margin-bottom:36px}
.interval-row{display:grid;grid-template-columns:1fr 1fr 1fr;padding:14px 20px;font-size:14px}
.interval-row .name{font-weight:600}
.interval-row .km,.interval-row .time{color:var(--text-muted)}
.interval-row:nth-child(odd){background:var(--surface)}
.interval-row:nth-child(even){background:var(--surface-2)}

.steps-box{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:26px}
.steps-box .steps-title{font-family:var(--font-display);font-weight:700;font-size:19px;margin-bottom:10px}
.steps-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:18px}
.step-num{width:32px;height:32px;border-radius:50%;background:var(--accent);color:var(--dark);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:14px;margin-bottom:10px}
.step-title{font-weight:600;font-size:14px;margin-bottom:4px}
.step-desc{font-size:13px;color:var(--text-muted);line-height:1.5}

.side-card{background:var(--dark-2);border-radius:12px;padding:26px;margin-bottom:20px}
.side-photo{height:160px;border-radius:8px;overflow:hidden;margin-bottom:18px}
.side-photo img{width:100%;height:100%;object-fit:cover}
.side-card .label{font-family:var(--font-display);color:var(--light);font-weight:700;font-size:19px;margin-bottom:8px}
.side-card .price{color:var(--accent);font-weight:800;font-size:30px;font-family:var(--font-display);margin-bottom:14px}
.side-card.blue .price{color:var(--blue)}
.side-card p{color:var(--light-muted-2);font-size:13.5px;line-height:1.55;margin:0 0 18px}
.side-card .btn{display:block;text-align:center;width:100%}
.related-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:22px}
.related-card .title{font-weight:700;font-size:15px;margin-bottom:10px}
.related-list{display:flex;flex-direction:column;gap:8px;font-size:14px}
.related-list a{color:oklch(0.3 0.008 255)}
.related-list a:hover{color:var(--accent-dark)}

.info-box{background:var(--blue-soft);border:1px solid var(--blue-soft-border);border-radius:12px;padding:22px}
.info-box .title{font-weight:700;font-size:15px;margin-bottom:6px}
.info-box p{font-size:14px;line-height:1.6;color:var(--blue-soft-text);margin:0}

/* ---------- Areas grid (popravila) ---------- */
.areas-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:20px;margin-bottom:48px}
.area-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:24px}
.area-card .icon{font-size:26px;margin-bottom:12px}
.area-card .title{font-family:var(--font-display);font-weight:700;font-size:19px;margin-bottom:8px}
.area-card p{font-size:14px;color:var(--text-muted);line-height:1.55;margin:0}
.process-list{display:flex;flex-direction:column;gap:14px}
.process-item{display:flex;gap:16px;align-items:flex-start}
.process-num{width:36px;height:36px;border-radius:50%;background:var(--accent);color:var(--dark);font-weight:800;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.process-item .title{font-weight:700;font-size:15.5px}
.process-item .desc{font-size:14px;color:var(--text-muted);margin-top:3px;line-height:1.5}

/* ---------- Seasonal ---------- */
.season-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:28px;margin-bottom:48px}
.season-card{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:30px}
.season-card .icon{font-size:30px;margin-bottom:10px}
.season-card .title{font-family:var(--font-display);font-weight:800;font-size:24px;margin-bottom:10px}
.season-list{display:flex;flex-direction:column;gap:10px}
.season-list div{display:flex;gap:10px;align-items:flex-start;font-size:14.5px}
.season-check-blue{color:var(--blue)}
.season-check-orange{color:var(--accent)}
.season-band{background:var(--dark-2);border-radius:14px;padding:36px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(220px,0.9fr);gap:32px;align-items:center}
.season-band .title{font-family:var(--font-display);color:var(--light);font-weight:800;font-size:24px;margin-bottom:12px}
.season-band p{color:var(--light-muted-2);font-size:14.5px;line-height:1.6;margin:0 0 16px}
.season-band .price{color:var(--accent);font-weight:800;font-size:26px;font-family:var(--font-display)}
.season-band-photo{height:150px;border-radius:8px;overflow:hidden}
.season-band-photo img{width:100%;height:100%;object-fit:cover}

/* ---------- About page ---------- */
.about-story{max-width:1200px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(260px,0.9fr);gap:44px;align-items:center}
.about-story h2{font-family:var(--font-display);font-size:28px;font-weight:700;margin:0 0 16px}
.about-story p{font-size:15.5px;line-height:1.7;color:oklch(0.35 0.01 255);margin:0 0 16px}
.about-photo{height:280px;border-radius:14px;overflow:hidden}
.about-photo img{width:100%;height:100%;object-fit:cover}
.values-band{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:56px 24px}
.values-band h2,.team-section h2{font-family:var(--font-display);font-size:28px;font-weight:700;text-align:center;margin:0 0 32px}
.values-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:24px}
.value-item{text-align:center}
.value-item .icon{font-size:30px;margin-bottom:10px}
.value-item .title{font-weight:700;font-size:16px;margin-bottom:6px}
.value-item .desc{font-size:13.5px;color:var(--text-muted);line-height:1.5}
.team-section{max-width:1200px;margin:0 auto;padding:56px 24px}
.team-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:22px}
.team-card{text-align:center}
.team-photo{width:100%;aspect-ratio:1;border-radius:12px;overflow:hidden;margin-bottom:12px}
.team-photo img{width:100%;height:100%;object-fit:cover}
.team-name{font-weight:700;font-size:15px}
.team-role{font-size:13px;color:var(--accent-2)}

/* ---------- Tips / articles ---------- */
.articles-grid{max-width:1200px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px}
.article-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden}
.article-photo{height:120px;overflow:hidden}
.article-photo img{width:100%;height:100%;object-fit:cover}
.article-body{padding:22px}
.article-tag{color:var(--accent-dark);font-weight:700;font-size:12px;letter-spacing:0.06em;margin-bottom:8px}
.article-title{font-family:var(--font-display);font-weight:700;font-size:19px;margin-bottom:10px;line-height:1.2}
.article-text{font-size:14px;color:var(--text-muted);line-height:1.6;margin:0}
.faq-band{background:var(--dark-2);padding:56px 24px}
.faq-wrap{max-width:900px;margin:0 auto}
.faq-wrap h2{font-family:var(--font-display);color:var(--light);font-size:28px;font-weight:800;text-align:center;margin:0 0 30px}
.faq-item{background:var(--dark-4);border-radius:10px;padding:18px 22px}
.faq-q{color:var(--light);font-weight:700;font-size:15px;margin-bottom:6px}
.faq-a{color:var(--light-muted-3);font-size:14px;line-height:1.55}
.faq-list{display:flex;flex-direction:column;gap:12px}

/* ---------- Shop ---------- */
.shop-hero{background:linear-gradient(120deg,var(--dark),var(--dark-3));padding:56px 24px}
.shop-hero-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-end;flex-wrap:wrap;gap:16px}
.shop-hero h1{font-family:var(--font-display);font-size:40px;font-weight:800;color:var(--light);margin:0}
.shop-hero p{color:var(--light-muted);font-size:15.5px;margin:10px 0 0;max-width:520px}
.cart-btn{background:var(--accent);color:var(--dark);font-weight:700;padding:13px 22px;border:none;border-radius:8px;font-size:15px;cursor:pointer;display:flex;align-items:center;gap:8px}
.cat-filters{max-width:1200px;margin:0 auto;padding:16px 24px 0;display:flex;gap:10px;flex-wrap:wrap}
.cat-btn{background:var(--surface);color:oklch(0.3 0.01 255);border:1px solid var(--border-2);padding:9px 16px;border-radius:20px;font-size:13.5px;font-weight:600;cursor:pointer}
.cat-btn.active{background:var(--dark-2);color:#fff;border-color:transparent}
.products-grid{max-width:1200px;margin:0 auto;padding:32px 24px 64px;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:20px}
.product-card{background:var(--surface);border:1px solid var(--border);border-radius:12px;overflow:hidden;display:flex;flex-direction:column}
.product-photo{height:130px;overflow:hidden}
.product-photo img{width:100%;height:100%;object-fit:cover}
.product-body{padding:18px;display:flex;flex-direction:column;flex:1}
.product-cat{font-size:11.5px;color:var(--accent-dark);font-weight:700;letter-spacing:0.05em;margin-bottom:6px}
.product-name{font-weight:700;font-size:15.5px;margin-bottom:6px;flex:1}
.product-desc{font-size:12.5px;color:var(--text-muted-2);margin-bottom:12px}
.product-footer{display:flex;justify-content:space-between;align-items:center}
.product-price{font-family:var(--font-display);font-weight:800;font-size:20px}
.add-btn{background:var(--dark-2);color:var(--light-2);border:none;padding:9px 16px;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer}
.add-btn:hover{background:var(--dark)}

/* Cart drawer */
.cart-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);z-index:1000}
.cart-overlay.hidden{display:none}
.cart-drawer{position:fixed;top:0;right:0;bottom:0;width:min(400px,100%);background:oklch(0.98 0.002 255);z-index:1001;box-shadow:-8px 0 30px rgba(0,0,0,0.2);display:flex;flex-direction:column;transition:transform .2s ease}
.cart-drawer.hidden{transform:translateX(100%)}
.cart-head{padding:20px 22px;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}
.cart-head .title{font-family:var(--font-display);font-weight:800;font-size:20px}
.cart-close{background:none;border:none;font-size:22px;cursor:pointer;color:var(--text-muted-3)}
.cart-body{flex:1;overflow-y:auto;padding:16px 22px}
.cart-empty{text-align:center;color:var(--text-muted-2);padding:40px 0;font-size:14px}
.cart-line{display:flex;gap:12px;padding:12px 0;border-bottom:1px solid oklch(0.92 0.003 255);align-items:center}
.cart-thumb{width:52px;height:52px;border-radius:8px;overflow:hidden;flex-shrink:0}
.cart-thumb img{width:100%;height:100%;object-fit:cover}
.cart-line-name{font-weight:600;font-size:13.5px}
.cart-line-price{font-size:12.5px;color:var(--text-muted-2)}
.qty-row{display:flex;gap:8px;margin-top:6px;align-items:center}
.qty-btn{width:22px;height:22px;border-radius:5px;border:1px solid var(--border-2);background:white;cursor:pointer;font-size:13px}
.qty-val{font-size:13px;min-width:14px;text-align:center}
.remove-btn{margin-left:auto;color:var(--accent-dark);font-size:12px;background:none;border:none;cursor:pointer}
.cart-footer{padding:20px 22px;border-top:1px solid var(--border)}
.cart-total-row{display:flex;justify-content:space-between;font-weight:700;font-size:16px;margin-bottom:14px}
.checkout-btn{width:100%;background:var(--accent);color:var(--dark);font-weight:700;padding:14px;border:none;border-radius:8px;font-size:15px;cursor:pointer}
.checkout-btn:disabled{opacity:.5;cursor:not-allowed}
.cart-note{text-align:center;font-size:11.5px;color:var(--text-muted-2);margin-top:10px}

.order-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.55);z-index:1100;display:flex;align-items:center;justify-content:center;padding:24px}
.order-modal-overlay.hidden{display:none}
.order-modal{background:white;border-radius:14px;padding:40px;max-width:400px;text-align:center}
.order-modal .emoji{font-size:44px;margin-bottom:14px}
.order-modal .title{font-family:var(--font-display);font-weight:800;font-size:22px;margin-bottom:10px}
.order-modal p{color:var(--text-muted);font-size:14px;line-height:1.6;margin:0 0 20px}
.order-modal .btn{background:var(--dark-2);color:#fff;border:none;padding:12px 26px;border-radius:8px;font-weight:600;cursor:pointer}

/* checkout mini-form inside cart */
.checkout-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.checkout-fields input{padding:10px 12px;border:1px solid var(--border-2);border-radius:8px;font-size:13.5px;font-family:inherit}

/* ---------- Contact page ---------- */
.contact-layout{max-width:1200px;margin:0 auto;padding:56px 24px;display:grid;grid-template-columns:minmax(280px,0.9fr) minmax(0,1.1fr);gap:44px}
.contact-info{display:flex;flex-direction:column;gap:20px;margin-bottom:28px}
.contact-row{display:flex;gap:14px;align-items:flex-start}
.contact-row .icon{font-size:20px}
.contact-row .title{font-weight:700;font-size:15px}
.contact-row .val{font-size:14px;color:var(--text-muted)}
.map-photo{height:220px;border-radius:12px;overflow:hidden}
.map-photo img{width:100%;height:100%;object-fit:cover}
.form-panel{background:var(--surface);border:1px solid var(--border);border-radius:14px;padding:32px}
.form-panel h2{font-family:var(--font-display);font-size:22px;font-weight:700;margin:0 0 20px}
.form-grid{display:flex;flex-direction:column;gap:14px}
.form-row-2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-grid input,.form-grid select,.form-grid textarea{padding:12px 14px;border:1px solid var(--border-2);border-radius:8px;font-size:14px;font-family:inherit;background:#fff;width:100%}
.form-grid textarea{resize:vertical}
.gdpr-row{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:var(--text-muted)}
.gdpr-row a{color:var(--accent-dark)}
.form-submit{background:var(--accent);color:var(--dark);font-weight:700;padding:14px;border:none;border-radius:8px;font-size:15px;cursor:pointer}
.form-submit:disabled{opacity:.55;cursor:not-allowed}
.form-success{text-align:center;padding:40px 0}
.form-success .emoji{font-size:44px;margin-bottom:14px}
.form-success .title{font-family:var(--font-display);font-weight:700;font-size:22px;margin-bottom:8px}
.form-success .desc{color:var(--text-muted);font-size:14.5px}
.form-error{color:var(--accent-dark);font-size:13px;margin-top:-4px}
.hp-field{position:absolute;left:-9999px;top:-9999px}

/* ---------- Legal pages ---------- */
.legal-body{max-width:800px;margin:0 auto;padding:48px 24px;font-size:15px;line-height:1.75;color:var(--text-2)}
.legal-body h2{font-family:var(--font-display);font-weight:700;font-size:22px;margin-top:36px}
.legal-body .updated{color:var(--text-muted);font-size:13px}
.impressum-card{background:white;border:1px solid var(--border);border-radius:12px;padding:30px}
.impressum-card .biz{font-family:var(--font-display);font-weight:800;font-size:22px;margin-bottom:16px}
.impressum-grid{display:grid;grid-template-columns:180px 1fr;gap:10px 16px;font-size:14.5px}
.impressum-grid .k{color:var(--text-muted-2)}
.cookie-type{background:white;border:1px solid var(--border);border-radius:10px;padding:18px 20px}
.cookie-type .title{font-weight:700;margin-bottom:6px}
.cookie-type .desc{font-size:14px;color:var(--text-muted)}
.cookie-types{display:flex;flex-direction:column;gap:14px;margin-top:16px}

/* ---------- Footer ---------- */
.site-footer{background:var(--dark);color:var(--light-muted)}
.footer-grid{max-width:1200px;margin:0 auto;padding:56px 24px 32px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:36px}
.footer-brand{font-family:var(--font-display);font-size:22px;font-weight:800;color:var(--light);margin-bottom:10px}
.footer-desc{font-size:14px;line-height:1.6;color:var(--light-muted-3);max-width:280px}
.social-row{display:flex;gap:10px;margin-top:16px}
.social-btn{width:34px;height:34px;border-radius:50%;background:var(--dark-4);display:flex;align-items:center;justify-content:center;font-size:15px}
.footer-col-title{color:var(--light);font-weight:700;margin-bottom:14px;font-size:15px}
.footer-links{display:flex;flex-direction:column;gap:10px;font-size:14px}
.footer-links a:hover{color:var(--accent)}
.footer-bottom{border-top:1px solid var(--dark-5);padding:18px 24px;max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;font-size:12.5px;color:var(--text-muted-3)}

@media (max-width:900px){
  .hero-inner,.band-dark-inner,.about-story,.service-layout,.contact-layout,.season-band{grid-template-columns:1fr}
  .hero h1{font-size:40px}
  .hero-photo{order:-1;height:220px}
}
@media (max-width:600px){
  .form-row-2{grid-template-columns:1fr}
  .interval-row{grid-template-columns:1fr;gap:2px}
  .impressum-grid{grid-template-columns:1fr}
}
