/* Vousario — pánský barbershop. Sdílené styly pro celý web. */

:root{
  --bg:#17181a;
  --bg-soft:#1c1d1f;
  --bg-dark:#111213;
  --bg-panel:#1f2123;
  --bg-input:#17181a;

  --text:#f1efec;
  --text-heading:#f5f3f0;
  --text-muted:#a9a6a1;
  --text-muted-2:#8f8c88;
  --text-faint:#7a7773;
  --text-faint-2:#6f6c68;
  --text-nav:#cfcdc9;

  --border:rgba(255,255,255,0.06);
  --border-soft:rgba(255,255,255,0.08);
  --border-mid:rgba(255,255,255,0.12);
  --border-strong:rgba(255,255,255,0.15);
  --border-stronger:rgba(255,255,255,0.2);

  --accent:oklch(0.68 0.13 45);
  --accent-hover:oklch(0.78 0.11 45);
  --accent-btn:oklch(0.62 0.13 45);
  --accent-active:oklch(0.72 0.12 45);
  --accent-price:oklch(0.7 0.12 45);
  --icon-border:oklch(0.5 0.06 55);
  --accent-ink:#17181a;

  --tan-bg:oklch(0.24 0.03 55);
  --tan-accent:#e2c9a8;
  --tan-text:#d8cfc4;
  --tan-panel:#1c1a18;
  --tan-border:rgba(255,255,255,0.08);
  --tan-muted:#a89b8a;

  --success-bg:oklch(0.28 0.05 145 / 0.25);
  --success-border:oklch(0.5 0.1 145);
  --success-text:#cdeedd;

  --placeholder-a:#232527;
  --placeholder-b:#2b2d30;
  --placeholder-tan-a:#2c2622;
  --placeholder-tan-b:#332b26;

  --font-heading:'Oswald','Arial Narrow',Arial,sans-serif;
  --font-body:'Inter',-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Helvetica,Arial,sans-serif;

  --max:1280px;
  --radius:2px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  font-family:var(--font-body);
  color:var(--text);
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{color:var(--accent-hover)}
h1,h2,h3,h4{font-family:var(--font-heading);margin:0}
p{margin:0}
button{font-family:var(--font-body);cursor:pointer}
input,select,textarea{font-family:var(--font-body)}
.container{max-width:var(--max);margin:0 auto;padding:0 32px}
.eyebrow{
  display:inline-block;
  font-size:13px;letter-spacing:3px;text-transform:uppercase;color:var(--accent);
}
.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
.skip-link{
  position:absolute;left:-9999px;top:0;background:var(--accent);color:#17181a;padding:12px 20px;z-index:200;
  font-family:var(--font-heading);text-transform:uppercase;letter-spacing:1px;font-size:13px;
}
.skip-link:focus{left:12px;top:12px}

.img-cover{width:100%;height:100%;object-fit:cover;display:block}
.ph-box{
  background:repeating-linear-gradient(45deg,var(--placeholder-a),var(--placeholder-a) 10px,var(--placeholder-b) 10px,var(--placeholder-b) 20px);
  display:flex;align-items:center;justify-content:center;color:#6f6c68;
  font-family:monospace;font-size:11px;text-align:center;padding:12px;border-radius:var(--radius);
}

/* Buttons */
.btn{
  font-family:var(--font-heading);font-size:15px;letter-spacing:1px;text-transform:uppercase;
  padding:16px 30px;border-radius:var(--radius);font-weight:600;border:none;display:inline-block;
  text-align:center;
}
.btn-primary{background:var(--accent-btn);color:var(--accent-ink)}
.btn-primary:hover{background:var(--accent-hover);color:var(--accent-ink)}
.btn-outline{background:transparent;border:1px solid var(--border-stronger);color:var(--text)}
.btn-outline:hover{border-color:var(--accent);color:var(--text)}
.btn-tan{background:var(--tan-accent);color:#211c17}
.btn-tan:hover{background:#ecd9bc;color:#211c17}
.btn-sm{font-size:13px;padding:10px 18px}
.btn-block{width:100%;display:block}

/* Header */
.site-header{
  position:sticky;top:0;z-index:50;background:var(--bg);border-bottom:1px solid var(--border-soft);
}
.header-inner{
  max-width:var(--max);margin:0 auto;padding:14px 32px;display:flex;align-items:center;
  justify-content:space-between;gap:20px;flex-wrap:wrap;
}
.logo{display:flex;flex-direction:column;line-height:1.1}
.logo-title{font-family:var(--font-heading);font-weight:700;font-size:26px;letter-spacing:4px;color:var(--text)}
.logo-sub{font-family:var(--font-body);font-size:10px;letter-spacing:3px;color:var(--accent);text-transform:uppercase}
.main-nav{display:flex;gap:24px;flex-wrap:wrap;align-items:center}
.nav-link{
  font-family:var(--font-body);font-size:14px;font-weight:500;color:var(--text-nav);
  text-transform:uppercase;letter-spacing:1px;padding-bottom:4px;border-bottom:2px solid transparent;
}
.nav-link:hover{color:var(--text)}
.nav-link.active{font-weight:600;color:var(--accent-active);border-bottom-color:var(--accent-active)}
.header-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.phone-link{font-size:13px;color:var(--text-nav);white-space:nowrap}
.cart-link{font-size:13px;color:var(--text-nav);border:1px solid var(--border-strong);padding:8px 14px;border-radius:var(--radius)}
.nav-toggle{
  display:none;background:transparent;border:1px solid var(--border-strong);border-radius:var(--radius);
  width:40px;height:40px;align-items:center;justify-content:center;color:var(--text);
}
.nav-toggle span,.nav-toggle span::before,.nav-toggle span::after{
  content:"";display:block;width:18px;height:2px;background:var(--text);position:relative;
}
.nav-toggle span::before{position:absolute;top:-6px}
.nav-toggle span::after{position:absolute;top:6px}

/* Sections */
section{padding:100px 32px}
.section-tight{padding-top:20px}
.bg-soft-gradient{background:linear-gradient(180deg,var(--bg-soft),var(--bg))}
.bg-dark{background:var(--bg-dark);border-top:1px solid var(--border);border-bottom:1px solid var(--border)}
.section-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:48px;flex-wrap:wrap;gap:16px}
.section-head h2{font-weight:600;font-size:36px;margin-top:12px;color:var(--text-heading)}
.section-link{font-size:14px;border-bottom:1px solid var(--accent);padding-bottom:2px;white-space:nowrap}

/* Hero */
.hero{position:relative;padding:110px 32px 100px;overflow:hidden}
.hero-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1.1fr 1fr;gap:56px;align-items:center}
.hero-title{font-weight:700;font-size:56px;line-height:1.08;margin:18px 0 24px;color:var(--text-heading)}
.hero-text{font-size:17px;line-height:1.7;color:var(--text-muted);max-width:480px}
.hero-actions{display:flex;gap:16px;margin-top:36px;flex-wrap:wrap}
.hero-image{aspect-ratio:4/5;border-radius:var(--radius);overflow:hidden}

/* USPs */
.usps-grid{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:repeat(4,1fr);gap:32px}
.usp-number{font-size:34px;color:var(--accent);font-weight:600}
.usp-title{font-size:16px;letter-spacing:0.5px;color:var(--text);margin-top:8px}
.usp-desc{font-size:13px;color:var(--text-muted-2);margin-top:6px;line-height:1.6}

/* Service cards */
.services-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.service-card{background:var(--bg-panel);border-radius:var(--radius);padding:32px 24px;border:1px solid var(--border)}
.service-icon{width:44px;height:44px;border:1px solid var(--icon-border);border-radius:50%;margin-bottom:20px}
.service-title{font-size:19px;color:var(--text);margin-bottom:10px}
.service-desc{font-size:13px;color:var(--text-muted-2);line-height:1.6;margin-bottom:16px}
.service-price{font-size:14px;color:var(--accent-price);font-weight:600}

/* Gallery */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.gallery-item{aspect-ratio:1;border-radius:var(--radius);overflow:hidden;position:relative}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.gallery-item:hover img{transform:scale(1.06)}
.gallery-caption{
  position:absolute;left:0;right:0;bottom:0;padding:10px 12px;font-size:12px;color:#f1efec;
  background:linear-gradient(0deg,rgba(0,0,0,.65),transparent);
}

/* Shop teaser (home) */
.shop-teaser{background:var(--tan-bg)}
.shop-teaser-inner{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 1.1fr;gap:56px;align-items:center}
.shop-teaser-image{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden}
.shop-teaser .eyebrow{color:var(--tan-accent)}
.shop-teaser h2{font-weight:600;font-size:34px;margin:12px 0 18px;color:var(--text-heading)}
.shop-teaser-text{font-size:15px;line-height:1.7;color:var(--tan-text);max-width:460px;margin-bottom:28px}
.featured-products{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:32px}
.featured-product{background:var(--tan-panel);border-radius:var(--radius);padding:16px;border:1px solid var(--tan-border)}
.featured-product-img{aspect-ratio:1;border-radius:var(--radius);margin-bottom:10px;overflow:hidden}
.featured-product-name{font-size:12px;color:#e8e4de}
.featured-product-price{font-size:13px;color:var(--tan-accent);font-weight:600;margin-top:4px}

/* Reviews */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review-card{background:var(--bg-panel);padding:28px;border-radius:var(--radius);border:1px solid var(--border)}
.review-stars{color:var(--accent);font-size:14px;letter-spacing:2px;margin-bottom:14px}
.review-text{font-size:14px;line-height:1.7;color:#c9c6c1;margin:0 0 16px}
.review-name{font-family:var(--font-heading);font-size:13px;color:var(--text)}

/* Articles */
.articles-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.article-card{display:block;background:var(--bg-panel);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}
.article-image{aspect-ratio:16/10;overflow:hidden}
.article-image img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.article-card:hover .article-image img{transform:scale(1.05)}
.article-body{padding:22px}
.article-tag{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px}
.article-title{font-family:var(--font-heading);font-size:17px;color:var(--text);line-height:1.35}

/* CTA */
.cta-section{background:var(--bg-dark);border-top:1px solid var(--border)}
.cta-inner{max-width:900px;margin:0 auto;text-align:center}
.cta-inner h2{font-weight:600;font-size:32px;margin:0 0 16px;color:var(--text-heading)}
.cta-inner p{font-size:15px;color:var(--text-muted);margin:0 0 28px}

/* Footer */
.site-footer{background:var(--bg-dark);border-top:1px solid var(--border-soft);margin-top:96px}
.footer-grid{max-width:var(--max);margin:0 auto;padding:64px 32px 32px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:40px}
.footer-logo{font-family:var(--font-heading);font-weight:700;font-size:24px;letter-spacing:4px;color:var(--text)}
.footer-desc{font-size:14px;line-height:1.7;color:#9d9a95;margin-top:14px;max-width:320px}
.social-links{display:flex;gap:12px;margin-top:20px}
.social-link{
  width:36px;height:36px;border:1px solid var(--border-strong);border-radius:50%;display:flex;
  align-items:center;justify-content:center;font-size:12px;color:var(--text-nav);
}
.footer-heading{font-family:var(--font-heading);font-size:13px;letter-spacing:2px;text-transform:uppercase;color:var(--text);margin-bottom:16px}
.footer-links{display:flex;flex-direction:column;gap:10px}
.footer-links a{font-size:14px;color:var(--text-muted)}
.footer-contact{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--text-muted);line-height:1.6}
.footer-contact a{color:var(--text-muted)}
.footer-bottom{
  max-width:var(--max);margin:0 auto;padding:24px 32px;border-top:1px solid var(--border);
  display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;
}
.footer-bottom span{font-size:12px;color:var(--text-faint-2)}

/* Cookie banner */
.cookie-banner{
  position:fixed;left:0;right:0;bottom:0;z-index:100;background:var(--bg-dark);
  border-top:1px solid var(--border-mid);padding:18px 32px;display:none;gap:24px;align-items:center;
  justify-content:space-between;flex-wrap:wrap;
}
.cookie-banner.is-visible{display:flex}
.cookie-text{font-size:13px;color:#c9c6c1;max-width:640px;line-height:1.6}
.cookie-text a{color:var(--accent-price)}
.cookie-actions{display:flex;gap:12px}
.btn-cookie-decline{
  font-size:13px;background:transparent;border:1px solid var(--border-stronger);color:var(--text-nav);
  padding:10px 18px;border-radius:var(--radius);
}
.btn-cookie-accept{
  font-size:13px;background:var(--accent-btn);border:none;color:var(--accent-ink);font-weight:600;
  padding:10px 18px;border-radius:var(--radius);
}

/* Generic page hero (inner pages) */
.page-hero{padding:90px 32px 60px;text-align:center}
.page-hero .container{max-width:900px}
.page-hero h1{font-weight:700;font-size:44px;margin:16px 0;color:var(--text-heading)}
.page-hero p{font-size:16px;color:var(--text-muted);line-height:1.7}
.page-hero-wide .container{max-width:1000px;text-align:left}

/* Forms */
.form-group{display:flex;flex-direction:column;gap:16px}
.field label{font-size:12px;color:var(--text-muted-2);display:block;margin-bottom:6px}
.field input[type=text],
.field input[type=tel],
.field input[type=email],
.field input[type=date],
.field input[type=time],
.field input[type=address],
.field select,
.field textarea{
  width:100%;background:var(--bg-input);border:1px solid var(--border-mid);color:var(--text);
  padding:12px 14px;border-radius:var(--radius);font-size:14px;
}
.field textarea{resize:vertical}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.checkbox-field{display:flex;gap:10px;align-items:start;font-size:12px;color:var(--text-muted-2);line-height:1.6}
.checkbox-field input{margin-top:2px}
.checkbox-field a{color:var(--text-muted);text-decoration:underline}
.form-note{font-size:11px;color:var(--text-faint-2);line-height:1.6;margin:14px 0 0}
.form-note a{color:var(--text-muted-2);text-decoration:underline}

/* Contact page */
.contact-grid{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start}
.booking-card{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius);padding:36px}
.booking-card h2{font-size:22px;color:var(--text);margin:0 0 24px}
.success-box{background:var(--success-bg);border:1px solid var(--success-border);padding:24px;border-radius:var(--radius)}
.success-box .success-title{font-family:var(--font-heading);font-size:18px;color:var(--success-text);margin-bottom:8px}
.success-box p{font-size:14px;color:var(--success-text);line-height:1.6;margin:0}
.error-text{font-size:13px;color:#f3a9a0;background:oklch(0.32 0.09 25 / 0.25);border:1px solid oklch(0.55 0.13 25);padding:12px 14px;border-radius:var(--radius);margin:0}
.side-stack{display:flex;flex-direction:column;gap:24px}
.map-embed{aspect-ratio:16/10;border-radius:var(--radius);overflow:hidden;border:0}
.map-embed iframe{width:100%;height:100%;border:0;display:block}
.info-card{background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius);padding:28px}
.info-card h3{font-size:18px;color:var(--text);margin-bottom:16px}
.info-lines{display:flex;flex-direction:column;gap:10px;font-size:14px;color:var(--text-muted);line-height:1.7}
.info-lines a{color:var(--text-muted)}
.hours-row{display:flex;justify-content:space-between;font-size:14px;color:var(--text-muted)}
.hours-list{display:flex;flex-direction:column;gap:8px}
.hidden{display:none !important}

/* Services / pricing page */
.pricing-list{max-width:960px;margin:0 auto;display:flex;flex-direction:column;gap:56px}
.pricing-category h2{font-weight:600;font-size:26px;color:var(--text);margin:0 0 6px;padding-bottom:14px;border-bottom:2px solid oklch(0.4 0.05 55)}
.pricing-category-desc{font-size:14px;color:var(--text-muted-2);margin:14px 0 20px}
.pricing-items{display:flex;flex-direction:column;gap:2px}
.pricing-item{display:flex;justify-content:space-between;align-items:baseline;padding:16px 0;border-bottom:1px solid var(--border)}
.pricing-item-name{font-size:16px;color:var(--text)}
.pricing-item-meta{font-size:13px;color:var(--text-faint);margin-top:4px}
.pricing-item-price{font-family:var(--font-heading);font-size:18px;color:var(--accent-price);white-space:nowrap;padding-left:20px}
.tan-panel{max-width:960px;margin:0 auto;background:var(--tan-bg);border-radius:var(--radius);padding:48px;display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:center}
.tan-panel h3{font-weight:600;font-size:24px;color:var(--text-heading);margin:0 0 12px}
.tan-panel p{font-size:14px;color:var(--tan-text);line-height:1.7;margin:0 0 20px}
.tan-panel-image{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden}

/* About page */
.about-images{max-width:1100px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:24px}
.about-image{aspect-ratio:4/3;border-radius:var(--radius);overflow:hidden}
.values-section{background:var(--bg-dark)}
.values-grid{max-width:1100px;margin:0 auto;padding:80px 0;display:grid;grid-template-columns:repeat(4,1fr);gap:32px;text-align:center}
.value-icon{width:48px;height:48px;border:1px solid var(--icon-border);border-radius:50%;margin:0 auto 18px}
.value-title{font-size:17px;color:var(--text);margin-bottom:10px}
.value-desc{font-size:13px;color:var(--text-muted-2);line-height:1.6}
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.team-photo{aspect-ratio:3/4;border-radius:var(--radius);overflow:hidden;margin-bottom:18px}
.team-name{font-size:19px;color:var(--text)}
.team-role{font-size:13px;color:var(--accent);margin:6px 0 12px}
.team-bio{font-size:13px;color:var(--text-muted-2);line-height:1.7}
.about-cta{max-width:1100px;margin:0 auto;background:var(--tan-bg);border-radius:var(--radius);padding:48px;text-align:center}
.about-cta h3{font-weight:600;font-size:26px;color:var(--text-heading);margin:0 0 14px}
.about-cta p{font-size:14px;color:var(--tan-text);line-height:1.7;margin:0 0 24px;max-width:560px;margin-left:auto;margin-right:auto}

/* Blog & article */
.article-body-content{font-size:16px;line-height:1.85;color:#c9c6c1}
.article-body-content h2{font-family:var(--font-heading);font-size:22px;color:var(--text);margin:36px 0 14px}
.article-body-content p{margin:0 0 16px}
.article-page-hero{aspect-ratio:16/9;border-radius:var(--radius);margin-bottom:36px;overflow:hidden}
.article-meta{font-size:12px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:14px}
.article-h1{font-weight:700;font-size:38px;line-height:1.2;color:var(--text-heading);margin:0 0 28px}
.article-narrow{max-width:760px;margin:0 auto}
.article-actions{display:flex;gap:14px;margin-top:44px;flex-wrap:wrap}

/* Legal pages */
.legal-content{max-width:820px;margin:0 auto}
.legal-content h1{font-weight:700;font-size:36px;color:var(--text-heading);margin:0 0 8px}
.legal-date{font-size:13px;color:var(--text-faint);margin:0 0 40px}
.legal-body{font-size:15px;line-height:1.85;color:#c9c6c1}
.legal-body h2{font-family:var(--font-heading);font-size:20px;color:var(--text);margin:32px 0 12px}
.legal-body p{margin:0 0 16px}
.legal-body a{text-decoration:underline}

/* Shop page */
.shop-hero{padding:80px 32px 40px}
.shop-hero .container{max-width:var(--max)}
.shop-hero h1{font-weight:700;font-size:40px;margin:14px 0 12px;color:var(--text-heading)}
.shop-hero p{font-size:15px;color:var(--text-muted);max-width:640px;line-height:1.7}
.shop-layout{max-width:var(--max);margin:0 auto;display:grid;grid-template-columns:1fr 340px;gap:40px;align-items:start}
.category-filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:32px}
.filter-btn{
  font-size:13px;padding:9px 16px;border-radius:var(--radius);border:1px solid var(--border-strong);
  background:transparent;color:var(--text-nav);font-weight:400;
}
.filter-btn.active{border-color:var(--accent-btn);background:var(--accent-btn);color:var(--accent-ink);font-weight:600}
.product-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.product-card{background:var(--bg-panel);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.product-image{aspect-ratio:1;overflow:hidden}
.product-image img{width:100%;height:100%;object-fit:cover}
.product-body{padding:18px;display:flex;flex-direction:column;flex:1}
.product-category{font-size:11px;color:var(--accent);text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}
.product-name{font-size:16px;color:var(--text);margin-bottom:8px}
.product-desc{font-size:12px;color:var(--text-muted-2);line-height:1.6;flex:1}
.product-footer{display:flex;justify-content:space-between;align-items:center;margin-top:16px}
.product-price{font-family:var(--font-heading);font-size:18px;color:var(--text)}
.btn-add{font-size:12px;background:var(--accent-btn);color:var(--accent-ink);border:none;padding:9px 14px;border-radius:var(--radius);font-weight:600}

.cart-panel{position:sticky;top:88px;background:var(--bg-panel);border:1px solid var(--border-soft);border-radius:var(--radius);padding:24px}
.cart-title{font-size:18px;color:var(--text);margin-bottom:16px;letter-spacing:0.5px}
.cart-lines{display:flex;flex-direction:column;gap:14px;margin-bottom:18px}
.cart-line{display:flex;justify-content:space-between;gap:10px;align-items:start;border-bottom:1px solid var(--border);padding-bottom:12px}
.cart-line-name{font-size:13px;color:var(--text)}
.qty-controls{display:flex;align-items:center;gap:8px;margin-top:8px}
.qty-btn{width:22px;height:22px;background:#26282b;border:1px solid var(--border-mid);color:var(--text-nav);border-radius:var(--radius);font-size:12px;line-height:1}
.qty-value{font-size:13px;color:var(--text-nav)}
.remove-btn{margin-left:8px;font-size:11px;color:var(--text-muted-2);background:none;border:none;text-decoration:underline}
.cart-line-total{font-family:var(--font-heading);font-size:14px;color:var(--accent-price);white-space:nowrap}
.cart-row{display:flex;justify-content:space-between;font-family:var(--font-heading);font-size:16px;color:var(--text);padding-top:8px;margin-bottom:8px}
.cart-total-row{display:flex;justify-content:space-between;font-family:var(--font-heading);font-size:19px;color:var(--text);padding-top:8px;border-top:1px solid var(--border-mid);margin-bottom:18px}
.cart-empty{font-size:13px;color:var(--text-faint)}
.checkout-fields{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.checkout-fields input{background:var(--bg-input);border:1px solid var(--border-mid);color:var(--text);padding:10px 12px;border-radius:var(--radius);font-size:13px}
.order-success{margin-top:16px;background:var(--success-bg);border:1px solid var(--success-border);padding:14px;border-radius:var(--radius);font-size:13px;color:var(--success-text)}

/* 404 */
.error-page{padding:140px 32px;text-align:center}
.error-page .code{font-family:var(--font-heading);font-size:96px;color:var(--accent);line-height:1}
.error-page h1{font-size:28px;color:var(--text-heading);margin:12px 0 16px}
.error-page p{color:var(--text-muted);margin-bottom:28px}

/* Responsive */
@media (max-width: 1024px){
  .hero-inner{grid-template-columns:1fr;gap:40px}
  .hero-image{order:-1;aspect-ratio:16/9}
  .usps-grid{grid-template-columns:repeat(2,1fr)}
  .services-grid{grid-template-columns:repeat(2,1fr)}
  .gallery-grid{grid-template-columns:repeat(3,1fr)}
  .shop-teaser-inner{grid-template-columns:1fr;gap:32px}
  .shop-teaser-image{order:-1}
  .reviews-grid{grid-template-columns:1fr 1fr}
  .articles-grid{grid-template-columns:1fr 1fr}
  .contact-grid{grid-template-columns:1fr}
  .about-images{grid-template-columns:1fr}
  .values-grid{grid-template-columns:repeat(2,1fr)}
  .team-grid{grid-template-columns:1fr 1fr}
  .tan-panel{grid-template-columns:1fr}
  .shop-layout{grid-template-columns:1fr}
  .cart-panel{position:static}
  .product-grid{grid-template-columns:repeat(2,1fr)}
}

@media (max-width: 768px){
  section{padding:64px 24px}
  .hero{padding:60px 20px 60px}
  .hero-title{font-size:38px}
  .page-hero h1{font-size:32px}
  .header-inner{padding:12px 20px}
  .main-nav{
    display:none;width:100%;flex-direction:column;align-items:flex-start;gap:2px;
    order:5;background:var(--bg);border-top:1px solid var(--border-soft);margin-top:12px;padding-top:12px;
  }
  .main-nav.is-open{display:flex}
  .nav-link{width:100%;padding:10px 0;border-bottom:1px solid var(--border)}
  .nav-toggle{display:flex}
  .header-actions{order:4}
  .phone-link{display:none}
  .usps-grid{grid-template-columns:1fr 1fr;gap:20px}
  .services-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .reviews-grid{grid-template-columns:1fr}
  .articles-grid{grid-template-columns:1fr}
  .featured-products{grid-template-columns:1fr 1fr}
  .field-row{grid-template-columns:1fr}
  .values-grid{grid-template-columns:1fr 1fr}
  .team-grid{grid-template-columns:1fr}
  .footer-grid{grid-template-columns:1fr 1fr;gap:32px}
  .product-grid{grid-template-columns:1fr 1fr}
  .pricing-item-price{padding-left:10px}
}

@media (max-width: 480px){
  .hero-title{font-size:30px}
  .usps-grid{grid-template-columns:1fr}
  .gallery-grid{grid-template-columns:1fr 1fr}
  .footer-grid{grid-template-columns:1fr}
  .featured-products{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr}
  .tan-panel{padding:28px}
  .about-cta{padding:28px}
  .hero-actions .btn,.cta-inner .btn{width:100%}
}
