/*
Theme Name: CZZB Moderní (Astra Child)
Theme URI: https://czzb.accou.cz/
Description: Moderní child téma nad Astrou pro e-shop s díly a renovacemi Pionýr/Stadion. Slider s renovacemi, nejprodávanější produkty, hezčí produkty, košík a zákaznická administrace.
Author: CZZB
Template: astra
Version: 1.0.0
Text Domain: czzb-child
*/

/* ============================================================
   Design tokeny
   ============================================================ */
:root {
  --czzb-primary: #6b1c23;
  --czzb-primary-dark: #4e1319;
  --czzb-primary-rgb: 107, 28, 35;
  --czzb-accent: #c79a3b;      /* mosaz – renovační nádech */
  --czzb-accent-dark: #a97f28;
  --czzb-ink: #1c1a1d;
  --czzb-muted: #6b6560;
  --czzb-surface: #ffffff;
  --czzb-bg: #f6f3f0;          /* teplá světlá */
  --czzb-bg-2: #efe9e3;
  --czzb-border: #e7e0d9;
  --czzb-radius: 16px;
  --czzb-radius-sm: 10px;
  --czzb-btn-radius: 6px;   /* tlačítka – jemně zaoblená, ne kulatá */
  --czzb-shadow-sm: 0 2px 8px rgba(28,26,29,.06);
  --czzb-shadow: 0 10px 30px rgba(28,26,29,.10);
  --czzb-shadow-lg: 0 24px 60px rgba(var(--czzb-primary-rgb),.22);
  --czzb-trans: .28s cubic-bezier(.2,.7,.3,1);
}

/* ============================================================
   Celoobrazovkové sekce (breakout z kontejneru Astry)
   ============================================================ */
.czzb-home { width: 100%; overflow: hidden; }
.czzb-fullbleed { width: 100vw; position: relative; left: 50%; right: 50%; margin-left: -50vw; margin-right: -50vw; }
/* Astra dává obsah do grid kontejneru – na titulní stránce ho přepneme na blok
   a roztáhneme na plnou šířku, aby se <main> nesmrskl na nulu. */
.home .site-content .ast-container {
  display: block;
  max-width: 100%;
  padding-left: 0;
  padding-right: 0;
  margin-left: auto;
  margin-right: auto;
  grid-template-columns: none;
}
.home #primary,
.home .site-content #primary,
.home .site-main { margin: 0; padding: 0; max-width: 100%; width: 100%; }
.home .site-content { padding: 0; }

/* ============================================================
   Základ / typografie
   ============================================================ */
body {
  font-family: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color: var(--czzb-ink);
  background: var(--czzb-surface);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, .czzb-display {
  font-family: "Oswald", "Inter", system-ui, sans-serif;
  letter-spacing: .4px;
}
.czzb-section { padding: clamp(48px, 7vw, 96px) 0; }
.czzb-wrap { width: min(1200px, 92vw); margin-inline: auto; }
.czzb-eyebrow {
  display: inline-flex; align-items: center; gap: .5em;
  font-family: "Oswald", sans-serif; text-transform: uppercase;
  letter-spacing: 3px; font-size: .78rem; font-weight: 600;
  color: var(--czzb-accent-dark);
}
.czzb-eyebrow::before { content: ""; width: 28px; height: 2px; background: var(--czzb-accent); }
.czzb-section-head { text-align: center; max-width: 640px; margin: 0 auto clamp(28px,4vw,48px); }
.czzb-section-head h2 { font-size: clamp(1.8rem, 4vw, 2.9rem); margin: .3em 0 .25em; line-height: 1.05; }
.czzb-section-head p { color: var(--czzb-muted); font-size: 1.05rem; margin: 0; }

/* ============================================================
   Tlačítka
   ============================================================ */
.czzb-btn {
  --bg: var(--czzb-primary); --fg: #fff;
  display: inline-flex; align-items: center; gap: .6em;
  padding: .95em 1.7em; border-radius: var(--czzb-btn-radius);
  font-family: "Oswald", sans-serif; font-weight: 600; letter-spacing: .6px;
  text-transform: uppercase; font-size: .9rem; line-height: 1;
  background: var(--bg); color: var(--fg); border: 2px solid var(--bg);
  text-decoration: none; cursor: pointer;
  transition: transform var(--czzb-trans), box-shadow var(--czzb-trans), background var(--czzb-trans);
}
.czzb-btn:hover { transform: translateY(-2px); box-shadow: var(--czzb-shadow-lg); color: #fff; }
.czzb-btn--accent { --bg: var(--czzb-accent); --fg: #231a07; }
.czzb-btn--ghost { background: transparent; color: #fff; border-color: rgba(255,255,255,.7); }
.czzb-btn--ghost:hover { background: #fff; color: var(--czzb-primary); border-color: #fff; }

/* ============================================================
   HERO SLIDER (renovace)
   ============================================================ */
.czzb-hero { position: relative; isolation: isolate; }
.czzb-slider { position: relative; overflow: hidden; }
.czzb-slides { position: relative; height: clamp(460px, 72vh, 760px); }
.czzb-slide {
  position: absolute; inset: 0; opacity: 0; visibility: hidden;
  transform: scale(1.06);
  transition: opacity .9s ease, transform 6s ease, visibility .9s;
  background-size: cover; background-position: center;
  display: grid; align-items: end; padding-bottom: clamp(72px, 12vh, 120px);
}
.czzb-slide.is-active { opacity: 1; visibility: visible; transform: scale(1); z-index: 1; }
.czzb-slide::after {
  content: ""; position: absolute; inset: 0; z-index: 0;
  background:
    linear-gradient(90deg, rgba(var(--czzb-primary-rgb),.95) 0%, rgba(var(--czzb-primary-rgb),.80) 34%, rgba(20,16,17,.55) 64%, rgba(20,16,17,.30) 100%),
    linear-gradient(0deg, rgba(8,6,7,.60), rgba(8,6,7,0) 55%);
}
.czzb-slide__inner { position: relative; z-index: 1; width: min(1200px, 92vw); margin-inline: auto; color: #fff; max-width: 1200px; }
/* pevná struktura -> tlačítka na všech slajdech na stejném místě */
.czzb-slide__box { max-width: 620px; display: flex; flex-direction: column; align-items: flex-start; }
.czzb-slide .czzb-eyebrow { color: var(--czzb-accent); }
.czzb-slide h2 {
  color: #fff;
  font-size: clamp(2.1rem, 5.2vw, 4.4rem); line-height: 1.02; margin: .25em 0 .3em;
  text-shadow: 0 2px 26px rgba(0,0,0,.55), 0 1px 3px rgba(0,0,0,.5);
}
.czzb-slide p {
  font-size: clamp(1.02rem, 1.6vw, 1.28rem); max-width: 48ch; margin: 0 0 1.7em;
  color: #fff; line-height: 1.5;
  text-shadow: 0 1px 14px rgba(0,0,0,.6), 0 1px 2px rgba(0,0,0,.5);
}
.czzb-slide__cta { display: flex; flex-wrap: wrap; gap: 14px; }

.czzb-slider__arrow {
  position: absolute; top: 50%; transform: translateY(-50%); z-index: 3;
  width: 52px; height: 52px; border-radius: 50%; border: 0; cursor: pointer;
  background: rgba(255,255,255,.14); color: #fff; backdrop-filter: blur(6px);
  font-size: 22px; display: grid; place-items: center;
  transition: background var(--czzb-trans), transform var(--czzb-trans);
}
.czzb-slider__arrow:hover { background: var(--czzb-accent); color: #231a07; }
.czzb-slider__arrow--prev { left: clamp(10px, 3vw, 34px); }
.czzb-slider__arrow--next { right: clamp(10px, 3vw, 34px); }
.czzb-slider__dots { position: absolute; z-index: 3; bottom: 26px; left: 50%; transform: translateX(-50%); display: flex; gap: 10px; }
.czzb-slider__dots button { width: 11px; height: 11px; padding: 0; border: 0; border-radius: 50%; background: rgba(255,255,255,.45); cursor: pointer; transition: all var(--czzb-trans); }
.czzb-slider__dots button.is-active { background: var(--czzb-accent); width: 30px; border-radius: 999px; }

/* Feature strip pod sliderem */
.czzb-usp { background: var(--czzb-ink); color: #fff; }
.czzb-usp__grid { display: grid; grid-template-columns: repeat(4,1fr); gap: 0; }
.czzb-usp__item { display: flex; gap: 14px; align-items: center; padding: 22px clamp(16px,2vw,28px); border-left: 1px solid rgba(255,255,255,.08); }
.czzb-usp__item:first-child { border-left: 0; }
.czzb-usp__ico { font-size: 26px; color: var(--czzb-accent); line-height: 1; }
.czzb-usp__t { font-family: "Oswald",sans-serif; text-transform: uppercase; letter-spacing: .5px; font-size: .95rem; }
.czzb-usp__s { font-size: .82rem; color: rgba(255,255,255,.6); }

/* ============================================================
   Sekce produktů / kategorií na homepage
   ============================================================ */
.czzb-bestsellers { background: var(--czzb-bg); }
.czzb-cats__grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 20px; }
.czzb-cat {
  position: relative; display: flex; align-items: flex-end; min-height: 170px;
  padding: 22px; border-radius: var(--czzb-radius); overflow: hidden;
  background: linear-gradient(135deg, var(--czzb-primary), var(--czzb-primary-dark)); color: #fff;
  text-decoration: none; box-shadow: var(--czzb-shadow-sm);
  transition: transform var(--czzb-trans), box-shadow var(--czzb-trans);
}
.czzb-cat:nth-child(even) { background: linear-gradient(135deg, #2a2a30, #17151a); }
.czzb-cat:hover { transform: translateY(-4px); box-shadow: var(--czzb-shadow); color: #fff; }
.czzb-cat__name { font-family: "Oswald",sans-serif; font-size: 1.3rem; text-transform: uppercase; letter-spacing: .5px; }
.czzb-cat__count { display: block; font-size: .82rem; color: var(--czzb-accent); margin-top: 2px; }
.czzb-cat__arrow { position: absolute; top: 18px; right: 18px; opacity: .6; transition: all var(--czzb-trans); }
.czzb-cat:hover .czzb-cat__arrow { opacity: 1; transform: translate(3px,-3px); }

.czzb-cta-band {
  background:
    linear-gradient(90deg, rgba(var(--czzb-primary-rgb),.95), rgba(var(--czzb-primary-rgb),.78)),
    var(--czzb-ink);
  color: #fff; text-align: center;
}
.czzb-cta-band h2 { font-size: clamp(1.7rem,3.5vw,2.6rem); margin: 0 0 .4em; }
.czzb-cta-band p { color: rgba(255,255,255,.85); max-width: 52ch; margin: 0 auto 1.4em; }

/* ============================================================
   WOOCOMMERCE – produkty (grid + karty)
   ============================================================ */
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  background: var(--czzb-surface); border: 1px solid var(--czzb-border);
  border-radius: var(--czzb-radius); padding: 14px 14px 20px; text-align: center;
  box-shadow: var(--czzb-shadow-sm); overflow: hidden;
  transition: transform var(--czzb-trans), box-shadow var(--czzb-trans), border-color var(--czzb-trans);
}
.woocommerce ul.products li.product:hover {
  transform: translateY(-6px); box-shadow: var(--czzb-shadow); border-color: rgba(var(--czzb-primary-rgb),.35);
}
.woocommerce ul.products li.product a img {
  border-radius: var(--czzb-radius-sm); margin-bottom: 14px; background: var(--czzb-bg);
  aspect-ratio: 1/1; object-fit: cover;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: "Oswald",sans-serif; font-size: 1.05rem; color: var(--czzb-ink);
  padding: 0 4px; min-height: 2.6em;
}
.woocommerce ul.products li.product .price { color: var(--czzb-primary); font-weight: 700; font-size: 1.15rem; }
.woocommerce ul.products li.product .price del { color: var(--czzb-muted); font-weight: 400; }
.woocommerce span.onsale {
  background: var(--czzb-accent); color: #231a07; border-radius: 999px; min-height: auto;
  min-width: auto; padding: .35em .8em; font-family: "Oswald",sans-serif; font-weight: 600;
  top: 14px; left: 14px; margin: 0;
}
/* tlačítka u produktů + obecně WC tlačítka */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt, .woocommerce #respond input#submit,
.woocommerce ul.products li.product .button {
  background: var(--czzb-primary); color: #fff; border-radius: var(--czzb-btn-radius);
  font-family: "Oswald",sans-serif; text-transform: uppercase; letter-spacing: .6px;
  padding: .7em 1.3em; font-weight: 600; transition: all var(--czzb-trans);
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce ul.products li.product .button:hover {
  background: var(--czzb-primary-dark); color: #fff; transform: translateY(-2px); box-shadow: var(--czzb-shadow-sm);
}
.woocommerce .added_to_cart { color: var(--czzb-primary); font-weight: 600; }

/* ============================================================
   WOOCOMMERCE – jednotlivý produkt
   ============================================================ */
.single-product div.product .product_title { font-size: clamp(1.6rem,3vw,2.4rem); }
.single-product div.product p.price, .single-product div.product span.price {
  color: var(--czzb-primary); font-size: 1.6rem; font-weight: 700;
}
.single-product div.product .woocommerce-product-gallery { border-radius: var(--czzb-radius); overflow: hidden; }
.single-product .quantity .qty { border: 1px solid var(--czzb-border); border-radius: var(--czzb-radius-sm); padding: .6em; }
/* Taby pod produktem – modernější menu */
.woocommerce div.product .woocommerce-tabs ul.tabs { padding: 0; display: flex; flex-wrap: wrap; gap: 8px; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color: var(--czzb-border); }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background: var(--czzb-bg); border: 1px solid var(--czzb-border); border-radius: var(--czzb-btn-radius);
  margin: 0; padding: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-family: "Oswald",sans-serif; text-transform: uppercase; letter-spacing: .5px;
  color: var(--czzb-muted); padding: .7em 1.4em;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active {
  background: var(--czzb-primary); border-color: var(--czzb-primary);
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }

/* ============================================================
   WOOCOMMERCE – košík
   ============================================================ */
.woocommerce-cart table.shop_table {
  border: 1px solid var(--czzb-border); border-radius: var(--czzb-radius);
  border-collapse: separate; overflow: hidden; box-shadow: var(--czzb-shadow-sm);
}
.woocommerce-cart table.shop_table thead th {
  background: var(--czzb-ink); color: #fff; font-family: "Oswald",sans-serif;
  text-transform: uppercase; letter-spacing: .5px; padding: 16px;
}
.woocommerce-cart table.shop_table td { padding: 18px 16px; vertical-align: middle; }
.woocommerce-cart table.shop_table img { width: 64px; border-radius: var(--czzb-radius-sm); }
.woocommerce-cart .cart_item { transition: background var(--czzb-trans); }
.woocommerce-cart .cart_item:hover { background: var(--czzb-bg); }
.woocommerce a.remove {
  color: var(--czzb-primary) !important; border: 1px solid var(--czzb-border);
  line-height: 1.7; width: 1.9em; height: 1.9em; border-radius: var(--czzb-btn-radius);
}
.woocommerce a.remove:hover { background: var(--czzb-primary) !important; color: #fff !important; }
.woocommerce .cart-collaterals .cart_totals {
  background: var(--czzb-bg); border: 1px solid var(--czzb-border); border-radius: var(--czzb-radius);
  padding: 8px 22px 22px; box-shadow: var(--czzb-shadow-sm);
}
.woocommerce .cart_totals h2 { font-family: "Oswald",sans-serif; text-transform: uppercase; color: var(--czzb-primary); }
.woocommerce .cart_totals .order-total .amount { color: var(--czzb-primary); font-size: 1.3rem; }
.woocommerce .cart-collaterals .checkout-button {
  width: 100%; justify-content: center; text-align: center; font-size: 1.05rem; padding: 1em;
}
.woocommerce .coupon .input-text { border: 1px solid var(--czzb-border); border-radius: var(--czzb-radius-sm); padding: .7em 1em; }

/* ============================================================
   WOOCOMMERCE – pokladna
   ============================================================ */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce form .form-row .select2-selection {
  border: 1px solid var(--czzb-border); border-radius: var(--czzb-radius-sm); padding: .8em 1em;
}
.woocommerce-checkout #payment { background: var(--czzb-bg); border-radius: var(--czzb-radius); }
.woocommerce-checkout #payment ul.payment_methods { border-bottom-color: var(--czzb-border); }

/* ============================================================
   WOOCOMMERCE – Můj účet (zákaznická administrace)
   ============================================================ */
.woocommerce-account .woocommerce-MyAccount-navigation {
  width: 26%; float: left;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul {
  list-style: none; margin: 0; padding: 10px; background: var(--czzb-bg);
  border: 1px solid var(--czzb-border); border-radius: var(--czzb-radius); box-shadow: var(--czzb-shadow-sm);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: block; padding: .85em 1.1em; border-radius: var(--czzb-radius-sm);
  color: var(--czzb-ink); font-family: "Oswald",sans-serif; text-transform: uppercase;
  letter-spacing: .4px; font-size: .9rem; text-decoration: none;
  transition: all var(--czzb-trans);
}
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--czzb-bg-2); padding-left: 1.4em; }
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: var(--czzb-primary); color: #fff; }
.woocommerce-account .woocommerce-MyAccount-content {
  width: 70%; float: right; background: var(--czzb-surface);
  border: 1px solid var(--czzb-border); border-radius: var(--czzb-radius); padding: 26px; box-shadow: var(--czzb-shadow-sm);
}
.woocommerce-account .woocommerce-MyAccount-content a { color: var(--czzb-primary); }
.woocommerce-MyAccount-content .woocommerce-Message, .woocommerce-info {
  border-top-color: var(--czzb-accent);
}
/* login/register formulář účtu */
.woocommerce-account:not(.logged-in) .woocommerce .col2-set .col-1,
.woocommerce-account:not(.logged-in) .woocommerce .col2-set .col-2 {
  background: var(--czzb-bg); border: 1px solid var(--czzb-border);
  border-radius: var(--czzb-radius); padding: 26px; box-shadow: var(--czzb-shadow-sm);
}

/* ============================================================
   Hlavní navigace – hezčí menu
   ============================================================ */
.main-header-menu .menu-link, .ast-builder-menu .menu-link {
  font-family: "Oswald",sans-serif; text-transform: uppercase; letter-spacing: .6px; font-weight: 500;
}
.main-header-menu > .menu-item > .menu-link { position: relative; }
.main-header-menu > .menu-item > .menu-link::after {
  content: ""; position: absolute; left: 1em; right: 1em; bottom: .5em; height: 2px;
  background: var(--czzb-accent); transform: scaleX(0); transform-origin: left; transition: transform var(--czzb-trans);
}
.main-header-menu > .menu-item:hover > .menu-link::after,
.main-header-menu > .menu-item.current-menu-item > .menu-link::after { transform: scaleX(1); }

/* boční menu kategorií produktů – hezčí */
.widget_product_categories ul, .wc-block-product-categories-list, .widget_layered_nav ul {
  list-style: none; margin: 0; padding: 0;
}
.widget_product_categories ul li {
  margin: 0; border-bottom: 1px solid var(--czzb-border);
}
.widget_product_categories ul li a {
  display: block; padding: .7em .2em; color: var(--czzb-ink);
  font-family: "Oswald",sans-serif; text-transform: uppercase; letter-spacing: .4px;
  font-size: .92rem; text-decoration: none; transition: all var(--czzb-trans);
}
.widget_product_categories ul li a:hover { color: var(--czzb-primary); padding-left: .9em; }
.widget_product_categories ul li.current-cat > a { color: var(--czzb-primary); font-weight: 600; }
.widget_product_categories ul ul.children { padding-left: 14px; border-left: 2px solid var(--czzb-bg-2); margin-left: 4px; }
.widget_product_categories ul ul.children li:last-child { border-bottom: 0; }
.widget-title, .wp-block-heading.widget-title { font-family: "Oswald",sans-serif; text-transform: uppercase; color: var(--czzb-primary); letter-spacing: .5px; }

/* badge košíku v hlavičce */
.ast-site-header-cart .ast-cart-menu-wrap .count,
.ast-cart-menu-wrap .count { background: var(--czzb-accent); color: #231a07; border-color: var(--czzb-accent); }

/* ============================================================
   Responsivita
   ============================================================ */
@media (max-width: 921px) {
  .czzb-usp__grid { grid-template-columns: repeat(2,1fr); }
  .czzb-usp__item:nth-child(odd) { border-left: 0; }
  .czzb-cats__grid { grid-template-columns: repeat(2,1fr); }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content { width: 100%; float: none; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom: 20px; }
}
@media (max-width: 600px) {
  .czzb-usp__grid { grid-template-columns: 1fr; }
  .czzb-usp__item { border-left: 0; border-top: 1px solid rgba(255,255,255,.08); }
  .czzb-cats__grid { grid-template-columns: 1fr; }
  .czzb-slide__inner { text-align: left; }
  .czzb-slide__box { height: auto; min-height: 0; }
  .czzb-slide h2, .czzb-slide p { height: auto; }
  .czzb-slider__arrow { display: none; }
}

/* ============================================================
   In-page galerie slider (stránka Renovace motocyklů)
   ============================================================ */
.czzb-slider--gallery {
  position: relative; border-radius: var(--czzb-radius); overflow: hidden;
  box-shadow: var(--czzb-shadow); margin: 10px 0 30px;
}
.czzb-slider--gallery .czzb-slides { height: clamp(300px, 46vw, 520px); }
.czzb-slider--gallery .czzb-slide { display: block; background-size: cover; background-position: center; }
.czzb-slider--gallery .czzb-slide::after {
  background: linear-gradient(0deg, rgba(8,6,7,.55), rgba(8,6,7,0) 42%);
}
.czzb-slider--gallery .czzb-gcap {
  position: absolute; z-index: 2; left: 18px; bottom: 18px;
  background: rgba(var(--czzb-primary-rgb), .92); color: #fff;
  font-family: "Oswald", sans-serif; text-transform: uppercase; letter-spacing: .5px;
  font-size: .82rem; padding: .45em .9em; border-radius: var(--czzb-btn-radius);
}
.czzb-slider--gallery .czzb-slider__arrow { width: 44px; height: 44px; font-size: 18px; }
.czzb-slider--gallery .czzb-slider__dots { bottom: 16px; }

/* Mapa na stránce Kontakt */
.czzb-map { position: relative; border-radius: var(--czzb-radius); overflow: hidden; box-shadow: var(--czzb-shadow); margin: 18px 0; }
.czzb-map iframe { display: block; width: 100%; height: clamp(320px, 42vw, 460px); border: 0; }

/* Kontakt – dvousloupcově: text vlevo, mapa vpravo */
.czzb-contact-grid { display: grid; grid-template-columns: auto minmax(460px, 640px); justify-content: center; align-items: center; gap: 50px; max-width: 1140px; margin: 10px auto; }
.czzb-contact-info p { margin: 0 0 1.1em; line-height: 1.6; }
.czzb-contact-info .czzb-contact-name { font-family: "Oswald",sans-serif; text-transform: uppercase; letter-spacing: .5px; font-size: 1.15rem; color: var(--czzb-primary); }
.czzb-contact-grid .czzb-map { margin: 0; }
.czzb-contact-grid .czzb-map iframe { height: clamp(340px, 34vw, 440px); }
@media (max-width: 782px) { .czzb-contact-grid { grid-template-columns: 1fr; text-align: center; max-width: 520px; } .czzb-contact-grid .czzb-map iframe { height: 320px; } }

/* ============================================================
   Přístupnost (WCAG 2.1 AA) – kontrast, focus, pohyb
   ============================================================ */
/* eyebrow na světlém pozadí: tmavší brass (kontrast 4.85:1 místo 3.3:1) */
.czzb-eyebrow { color: #8a6414; }
.czzb-slide .czzb-eyebrow, .czzb-cta-band .czzb-eyebrow { color: var(--czzb-accent); } /* na tmavém zůstává zlatá */

/* viditelný focus rámeček pro klávesnici – funguje na světlém i tmavém pozadí */
.czzb-btn:focus-visible,
.woocommerce a.button:focus-visible, .woocommerce button.button:focus-visible,
.woocommerce input.button:focus-visible, .woocommerce #respond input#submit:focus-visible,
.czzb-slider__arrow:focus-visible, .czzb-slider__dots button:focus-visible,
.czzb-cat:focus-visible,
.main-header-menu a:focus-visible, #ast-desktop-header a:focus-visible,
.woocommerce-MyAccount-navigation a:focus-visible,
.czzb-contact-info a:focus-visible, a.remove:focus-visible {
  outline: 3px solid var(--czzb-accent);
  outline-offset: 2px;
  box-shadow: 0 0 0 5px rgba(28, 26, 29, .6);
}

/* zvětšený dotykový cíl u teček slideru (hit-area ~24px) */
.czzb-slider__dots button { position: relative; }
.czzb-slider__dots button::before { content: ""; position: absolute; inset: -7px; }

/* respektuj „omezit pohyb" – vypni Ken-Burns zoom a zkrať přechod */
@media (prefers-reduced-motion: reduce) {
  .czzb-slide { transition: opacity .25s ease, visibility .25s; transform: none !important; }
}
