/* ===== Vše pro minerály — design tokeny (BRAND_MANUAL.md) ===== */
:root{
  /* Barvy */
  --color-primary:#BC6B43;
  --color-primary-dark:#9E5836;
  --color-primary-darker:#854830;
  --color-brown:#7C5C3E;
  --color-ink:#2B2724;
  --color-body:#55504B;
  --color-muted:#6F6862;
  --color-bg:#FFFFFF;
  --color-bg-soft:#F4F1ED;
  --color-border:#E6E0D9;
  --color-line:#E6E0D9;
  --color-overlay:rgba(38,32,27,0.55);

  /* Fonty */
  --font-display:"Playfair Display", Georgia, serif;
  --font-body:"DM Sans", system-ui, sans-serif;

  /* Spacing */
  --space-1:4px; --space-2:8px; --space-3:12px; --space-4:16px;
  --space-6:24px; --space-8:32px; --space-12:48px; --space-16:64px; --space-24:96px;

  /* Layout */
  --max-width:1140px;
  --radius:6px; --radius-lg:8px;

  /* Stíny */
  --shadow-card:0 12px 28px rgba(43,39,36,.10);
}

/* ===== Reset & základ ===== */
*,*::before,*::after{ box-sizing:border-box; margin:0; padding:0; }
html{ scroll-behavior:smooth; }
body{
  font:400 17px/1.7 var(--font-body);
  color:var(--color-body);
  background:var(--color-bg);
  -webkit-font-smoothing:antialiased;
}
img{ max-width:100%; display:block; }
a{ color:var(--color-primary-dark); transition:color .2s ease; }
a:hover{ color:var(--color-primary-darker); }
:focus-visible{ outline:2px solid var(--color-primary); outline-offset:2px; }

h1,h2,h3{ font-family:var(--font-display); color:var(--color-ink); }
h1{ font-size:clamp(32px,5vw,56px); font-weight:700; line-height:1.15; }
h2{ font-size:clamp(28px,4vw,40px); font-weight:700; line-height:1.2; }
h3{ font-size:24px; font-weight:600; line-height:1.3; }

.container{ max-width:var(--max-width); margin:0 auto; padding:0 var(--space-6); }
.section{ padding:var(--space-24) 0; }
.section-soft{ background:var(--color-bg-soft); }
.text-center{ text-align:center; }

.eyebrow{
  font:500 14px/1.4 var(--font-body);
  letter-spacing:.08em; text-transform:uppercase;
  color:var(--color-muted);
}
.section-title{ text-align:center; color:var(--color-primary); }
.section-title::after{
  content:""; display:block; width:64px; height:3px; margin:16px auto 0;
  background:var(--color-primary);
}

/* Skip-link (přeskočit na obsah) */
.skip-link{
  position:absolute; left:-9999px; top:0; z-index:1001;
  background:var(--color-ink); color:#fff; padding:10px 16px; border-radius:0 0 6px 0;
  text-decoration:none;
}
.skip-link:focus{ left:0; }
#main:focus{ outline:none; }

/* ===== Tlačítka ===== */
.btn-primary{
  display:inline-block; text-decoration:none;
  background:var(--color-primary-dark); color:#fff; border:none;
  padding:14px 28px; border-radius:var(--radius); font:600 16px/1 var(--font-body);
  cursor:pointer; transition:background .2s ease;
}
.btn-primary:hover{ background:var(--color-primary-darker); color:#fff; }
.btn-ghost{
  display:inline-block; text-decoration:none;
  background:transparent; color:#fff; border:1.5px solid rgba(255,255,255,.8);
  padding:12px 26px; border-radius:var(--radius); font:600 16px/1 var(--font-body);
  transition:background .2s ease;
}
.btn-ghost:hover{ background:rgba(255,255,255,.12); color:#fff; }

/* ===== Hlavička & navigace ===== */
.site-header{
  position:sticky; top:0; z-index:50; background:#fff;
  border-bottom:1px solid var(--color-border);
}
.header-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:var(--space-6); min-height:72px;
}
.brand{ display:flex; align-items:center; gap:var(--space-3); text-decoration:none; }
.brand-mark{
  display:grid; place-items:center; width:44px; height:44px;
  border:2px solid var(--color-primary); border-radius:50%;
  font:700 14px/1 var(--font-display); color:var(--color-primary);
}
.brand-name{ font:700 22px/1 var(--font-display); color:var(--color-primary); }

.nav ul{ display:flex; gap:var(--space-8); list-style:none; align-items:center; }
.nav a{
  font:500 16px/1 var(--font-body); color:var(--color-ink);
  text-decoration:none; padding-bottom:4px;
}
.nav a:hover, .nav a.active{ color:var(--color-primary-dark); }
.nav a.active{ border-bottom:2px solid var(--color-primary); }
.caret{ font-size:12px; }

/* Dropdown Katalog */
.nav-dropdown{ position:relative; }
/* Pozn.: selektor musí být silnější než `.nav ul` (display:flex), jinak se roletka neskryje */
.nav .nav-dropdown .dropdown-menu{
  position:absolute; top:calc(100% + 12px); left:50%; transform:translateX(-50%);
  background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg);
  box-shadow:var(--shadow-card); min-width:220px; padding:var(--space-2) 0;
  display:none; flex-direction:column; gap:0; z-index:60;
}
/* Neviditelný můstek přes 12px mezeru — ať se roletka nezavře cestou myší k položkám */
.nav .nav-dropdown .dropdown-menu::before{
  content:""; position:absolute; left:0; right:0; top:-14px; height:14px;
}
.dropdown-menu li{ list-style:none; }
.dropdown-menu a{
  display:block; padding:10px var(--space-4); border-bottom:none; white-space:nowrap;
}
.dropdown-menu a:hover{ background:var(--color-bg-soft); }
.nav .nav-dropdown.open .dropdown-menu{ display:flex; }

/* Mobilní menu */
.nav-toggle{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle-bar{
  display:block; width:24px; height:2px; background:var(--color-ink);
  margin:5px 0; transition:transform .2s ease, opacity .2s ease;
}

/* ===== Hero ===== */
.hero{
  position:relative; display:grid; place-items:center; text-align:center;
  min-height:70vh; padding:var(--space-16) var(--space-6);
  background:url("../img/hero.svg") center/cover no-repeat;
}
.hero-sub{ min-height:40vh; background-image:url("../img/hero-sub.svg"); }
.hero-box{
  background:var(--color-overlay); color:#fff;
  padding:var(--space-6) var(--space-8); border-radius:var(--radius-lg);
  max-width:760px;
}
.hero-box h1{ color:#fff; }
.hero-pill{
  display:inline-block; margin-top:var(--space-6);
  background:rgba(255,255,255,.92); color:var(--color-primary);
  font:500 15px/1.5 var(--font-body);
  padding:10px 22px; border-radius:4px;
}

/* ===== Intro ===== */
.intro{ max-width:820px; margin:0 auto; text-align:center; }
.intro h2{ margin-bottom:var(--space-6); }
.intro p{ font-size:18px; }

/* Popis kategorie — souvislý text zarovnaný vlevo (ne centrovaný jako .intro) */
.cat-desc{ max-width:760px; margin:0 0 16px; font-size:18px; }

/* ===== Karty ===== */
.card-grid{
  display:grid; grid-template-columns:repeat(4,1fr); gap:var(--space-6);
  margin-top:var(--space-12);
}
/* Rozcestník podkategorií — vystředěné karty (parent kategorie) */
.card-grid--hub{
  grid-template-columns:repeat(auto-fit, minmax(220px, 300px));
  justify-content:center;
}
.card{
  background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg);
  overflow:hidden; text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.card:hover{ transform:translateY(-4px); box-shadow:var(--shadow-card); }
/* height:auto — bez něj by atribut height v HTML přebil poměr stran a náhled by se protáhl.
   contain — produktové fotky mají různé poměry (často skoro čtverec); s `cover` se z nich
   ořezávalo 17–31 % výšky. Takhle se fotka do rámečku vždy celá vejde a nic se neusekne. */
/* Pozn.: na obrázek nedávat padding — v kombinaci s aspect-ratio kolabuje šířka karty. */
.card img{
  width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; display:block;
  background:var(--color-bg);
}
/* Karta s textem přes obrázek (katalog) — grafiky jsou přesně 4:3, ať vyplní celou plochu */
.card-overlay img{ object-fit:cover; }
.card .label{
  display:block; padding:var(--space-4); text-align:center;
  font:600 18px/1.3 var(--font-display); color:var(--color-ink);
}
.card:hover .label{ color:var(--color-primary); }

/* Varianta s textem přes obrázek (katalog) */
.card-overlay{ position:relative; }
.card-overlay .label{
  position:absolute; inset:auto 0 0 0;
  background:var(--color-overlay); color:#fff; padding:var(--space-4);
}
.card-overlay:hover .label{ color:#fff; }

/* ===== Proč vybrat nás ===== */
.why .eyebrow{ display:block; margin-bottom:var(--space-3); }
.why h2{ color:var(--color-primary); }
.why h3{ margin-top:var(--space-6); }
.checklist{
  list-style:none; margin:var(--space-6) auto 0; max-width:420px; text-align:left;
}
.checklist li{
  display:flex; align-items:flex-start; gap:var(--space-3);
  padding:var(--space-2) 0;
}
.checklist .check{ color:var(--color-primary); flex:none; margin-top:4px; }

/* ===== Kontakt sekce ===== */
.contact-grid{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12);
  align-items:start;
}
.contact-map iframe{
  width:100%; height:380px; border:0; border-radius:var(--radius-lg);
  border:1px solid var(--color-border);
}
.contact-list{ list-style:none; margin-top:var(--space-6); }
.contact-list li{
  display:flex; align-items:flex-start; gap:var(--space-3);
  padding:var(--space-2) 0;
}
.contact-list svg{ flex:none; margin-top:3px; color:var(--color-primary); }
.contact-list a{ text-decoration:none; color:var(--color-body); }
.contact-list a:hover{ color:var(--color-primary); }

/* ===== Formulář ===== */
.form-group{ margin-bottom:var(--space-4); }
.form-group label{
  display:block; font:500 15px/1.4 var(--font-body);
  color:var(--color-ink); margin-bottom:var(--space-1);
}
.form-group input, .form-group textarea{
  width:100%; padding:12px 14px; font:400 16px/1.5 var(--font-body);
  color:var(--color-ink); background:#fff;
  border:1px solid var(--color-border); border-radius:var(--radius);
}
.form-group input:focus, .form-group textarea:focus{
  outline:2px solid var(--color-primary); outline-offset:0; border-color:var(--color-primary);
}
.form-error{ color:#A33B2E; font-size:14px; margin-top:var(--space-1); }
.form-success{
  background:var(--color-bg-soft); border:1px solid var(--color-border);
  border-left:3px solid var(--color-primary);
  padding:var(--space-4); border-radius:var(--radius); margin-bottom:var(--space-6);
}

/* ===== O nás / textové stránky ===== */
.prose{ max-width:760px; margin:0 auto; }
.prose p{ margin-bottom:var(--space-6); }

/* Obsah z editoru (Quill): obrázky nesmí přetékat — hlavně na mobilu */
.prose img, .cat-intro-text img, .cat-desc img, .footer-text img{
  max-width:100%; height:auto;
}

/* ===== Detail produktu ===== */
.product-detail{
  display:grid; grid-template-columns:1fr 1fr; gap:var(--space-12);
  align-items:start;
}
/* Rám má jen hlavní fotka — miniatury si ho řeší samy (.product-gallery .thumb). */
.product-detail > .product-media > .product-main-btn img{
  width:100%; border:1px solid var(--color-border); border-radius:var(--radius-lg);
}
.product-category{ margin-bottom:var(--space-3); }
.product-category a{ text-decoration:none; }
.product-detail h1{ font-size:clamp(28px,4vw,40px); margin-bottom:var(--space-4); }
.product-price{
  font:600 20px/1.4 var(--font-body); color:var(--color-ink);
  margin:var(--space-6) 0;
}
.product-code{
  font-size:16px; font-weight:600; color:var(--color-ink); margin:0 0 var(--space-3);
  letter-spacing:.02em;
}
.product-prices{
  list-style:none; padding:0; margin:var(--space-5) 0;
  border-top:1px solid var(--color-line);
}
.product-prices li{
  padding:10px 0; border-bottom:1px solid var(--color-line);
  font:600 16px/1.4 var(--font-body); color:var(--color-ink);
}
/* ===== Detail produktu (styl dle předlohy) ===== */
/* height:auto — jinak by atribut height v HTML přebil poměr stran a rám by se protáhl.
   Poměr 4:3 sedí na produktové fotky (na šířku), contain = fotka se nikdy neořízne. */
.product-media .product-main-img{
  width:100%; height:auto; border-radius:12px; display:block;
  background:var(--color-bg); border:1px solid var(--color-line);
  aspect-ratio:4/3; object-fit:contain; padding:0;
}
.product-main-btn{
  display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in;
}
.product-gallery{
  display:grid; grid-template-columns:repeat(4,1fr); gap:8px; margin-top:10px;
}
.product-gallery .thumb{
  padding:0; border:2px solid var(--color-line); border-radius:8px; background:var(--color-bg);
  cursor:pointer; overflow:hidden; line-height:0;
  transition:border-color .15s ease;
}
.product-gallery .thumb:hover{ border-color:var(--color-primary); }
.product-gallery .thumb.is-active{ border-color:var(--color-primary); }
/* Stejné rámování jako hlavní fotka (contain) — po kliknutí obrázek "neskáče". */
.product-gallery .thumb img{
  width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; display:block;
  border:0; border-radius:0; background:var(--color-bg);
}
.lightbox{
  position:fixed; inset:0; z-index:1000; background:rgba(20,16,12,.85);
  display:flex; align-items:center; justify-content:center; padding:24px; cursor:zoom-out;
}
.lightbox img{ max-width:100%; max-height:100%; border-radius:8px; }
.lightbox-close{
  position:absolute; top:16px; right:16px; width:44px; height:44px;
  display:flex; align-items:center; justify-content:center;
  border:0; border-radius:50%; background:rgba(255,255,255,.9); color:var(--color-ink);
  font-size:20px; line-height:1; cursor:pointer;
}
.lightbox-close:hover{ background:#fff; }
@media (prefers-reduced-motion:no-preference){ .lightbox{ animation:fade .15s ease; } }
@keyframes fade{ from{ opacity:0 } to{ opacity:1 } }
.product-info .product-code{
  text-transform:uppercase; letter-spacing:.08em; font-size:18px; font-weight:600;
  color:var(--color-ink); margin:0 0 8px;
}
.product-info h1{ margin:0 0 14px; }
.product-lead{ color:var(--color-muted); font-size:17px; line-height:1.6; margin:0 0 22px; }

.price-card{
  background:#fff; border:1px solid var(--color-line); border-radius:12px;
  padding:18px 20px; margin-bottom:22px;
}
.price-card-label{
  display:block; text-transform:uppercase; letter-spacing:.08em;
  font-size:12px; color:var(--color-muted); margin-bottom:4px;
}
.price-card-value{ font:700 26px/1.2 var(--font-display,serif); color:var(--color-primary); }
.price-card-list{ list-style:none; margin:0; padding:0; }
.price-card-list li{ font:600 17px/1.5 var(--font-body); color:var(--color-ink); padding:3px 0; }

.param-mini{ width:100%; border-collapse:collapse; margin:0 0 22px; }
.param-mini th, .param-mini td{
  text-align:left; padding:9px 0; border-bottom:1px solid var(--color-line); font-size:15px; vertical-align:top;
}
.param-mini th{ color:var(--color-muted); font-weight:600; width:130px; }

.feature-list{ list-style:none; margin:0 0 24px; padding:0; }
.feature-list li{
  position:relative; padding:5px 0 5px 28px; font-size:15px; color:var(--color-ink);
}
.feature-list li::before{
  content:"✓"; position:absolute; left:0; top:5px;
  color:var(--color-primary); font-weight:700;
}

.add-to-cart{ display:flex; flex-wrap:wrap; gap:14px; align-items:flex-end; margin-top:8px; }
.add-to-cart .form-field{ display:flex; flex-direction:column; gap:4px; }
.add-to-cart .form-field label{ font-size:13px; color:var(--color-muted); }
.add-to-cart .qty-input{
  padding:10px 12px; border:1px solid var(--color-line); border-radius:8px; font:inherit; min-width:90px;
}
.btn-cart{ flex:1 1 100%; padding:14px 20px; font-size:16px; text-align:center; }

/* Technické parametry + popis */
.product-specs{ margin-top:var(--space-12); }
.product-specs h2{ margin:0 0 14px; }
.spec-table{ width:100%; border-collapse:collapse; border:1px solid var(--color-line); border-radius:10px; overflow:hidden; }
.spec-table th, .spec-table td{ text-align:left; padding:13px 16px; border-bottom:1px solid var(--color-line); font-size:15px; }
.spec-table tr:last-child th, .spec-table tr:last-child td{ border-bottom:0; }
.spec-table th{ background:var(--color-bg-soft,#f3efe9); color:var(--color-ink); font-weight:600; width:180px; }
.product-desc{ margin:0 0 var(--space-8); color:var(--color-ink); line-height:1.7; }
.product-video{ margin-top:var(--space-10); }
.product-video video{ width:100%; max-width:760px; border-radius:var(--radius,8px); background:#000; }
.product-related{ margin-top:var(--space-12); }
.product-related h2{ margin-bottom:var(--space-6); }
.brand-logo{ height:44px; width:auto; display:block; }
.footer-bottom-inner{ display:flex; justify-content:space-between; align-items:center; gap:8px 24px; flex-wrap:wrap; }
@media (max-width:560px){ .footer-bottom-inner{ justify-content:center; text-align:center; } }

/* Úvodka kategorie — banner přes celou šířku pod názvem, nikdy oříznutý */
.cat-banner{
  margin:32px 0 32px;
}
.cat-banner img{
  width:100%; height:auto; display:block;
  border-radius:var(--radius,8px); border:1px solid var(--color-line);
}
.cat-intro-text{
  font-size:16px; line-height:1.7; color:var(--color-ink);
  max-width:900px; margin:0 0 40px;
}
.cat-intro-text h2,.cat-intro-text h3{ margin:0 0 12px; }
.cat-intro-text p{ margin:0 0 12px; }
.cat-intro-text img{ max-width:100%; height:auto; }
.breadcrumbs{
  font-size:14px; color:var(--color-muted); margin-bottom:var(--space-8);
}
.breadcrumbs a{ color:var(--color-muted); text-decoration:none; }
.breadcrumbs a:hover{ color:var(--color-primary); }

/* ===== Patička ===== */
.site-footer{ background:var(--color-bg-soft); border-top:1px solid var(--color-border); margin-top:var(--space-24); }
.footer-grid{
  display:grid; grid-template-columns:2fr 1fr 1fr; gap:var(--space-12);
  padding:var(--space-16) var(--space-6);
}
.footer-brand{ font:700 22px/1.3 var(--font-display); color:var(--color-primary); margin-bottom:var(--space-3); }
.footer-heading{
  font:500 14px/1.4 var(--font-body); letter-spacing:.08em; text-transform:uppercase;
  color:var(--color-muted); margin-bottom:var(--space-4);
}
.footer-text{ font-size:15px; font-style:normal; }
.footer-text a{ color:var(--color-body); text-decoration:none; }
.footer-text a:hover{ color:var(--color-primary); }
.footer-links{ list-style:none; }
.footer-links li{ padding:var(--space-1) 0; }
.footer-links a{ color:var(--color-body); text-decoration:none; font-size:15px; }
.footer-links a:hover{ color:var(--color-primary); }
.footer-bottom{
  border-top:1px solid var(--color-border);
  padding:var(--space-4) 0; font-size:14px; color:var(--color-muted);
}

/* ===== Košík ===== */
.cart-link{
  position:relative; display:grid; place-items:center;
  width:40px; height:40px; color:var(--color-ink);
  text-decoration:none; margin-left:auto;
}
.cart-link:hover{ color:var(--color-primary); }
.cart-badge{
  position:absolute; top:0; right:0;
  background:var(--color-primary); color:#fff;
  font:600 11px/1 var(--font-body);
  min-width:17px; height:17px; padding:0 4px;
  border-radius:9px; display:grid; place-items:center;
}
.header-inner .nav{ order:0; }
.header-inner .cart-link{ order:1; }
.header-inner .nav-toggle{ order:2; }
.header-inner .brand{ order:-1; margin-right:auto; }

.qty-label{ display:block; font:500 15px/1.4 var(--font-body); color:var(--color-ink); margin-bottom:4px; }
.qty-input{
  width:84px; padding:10px 12px; font:400 16px/1.5 var(--font-body);
  color:var(--color-ink); border:1px solid var(--color-border); border-radius:var(--radius);
}
.add-to-cart{ margin-top:var(--space-4); }
.add-to-cart .btn-primary{ margin-top:var(--space-3); display:block; width:fit-content; }

.cart-table{ width:100%; border-collapse:collapse; }
.cart-table th{
  text-align:left; font:500 14px/1.4 var(--font-body); letter-spacing:.08em;
  text-transform:uppercase; color:var(--color-muted);
  padding:var(--space-3); border-bottom:1px solid var(--color-border);
}
.cart-table td{ padding:var(--space-3); border-bottom:1px solid var(--color-border); vertical-align:middle; }
.cart-product{ display:flex; align-items:center; gap:var(--space-4); }
.cart-product img{ width:72px; height:auto; aspect-ratio:4/3; object-fit:cover; border-radius:var(--radius); border:1px solid var(--color-border); }
.cart-product a{ font:600 17px/1.4 var(--font-body); color:var(--color-ink); text-decoration:none; }
.cart-product a:hover{ color:var(--color-primary); }
.cart-remove{
  background:none; border:none; cursor:pointer; color:var(--color-muted);
  font-size:18px; padding:8px; border-radius:var(--radius);
}
.cart-remove:hover{ color:var(--color-primary); }
.btn-ghost-dark{ color:var(--color-ink); border-color:var(--color-border); }
.btn-ghost-dark:hover{ background:var(--color-bg-soft); color:var(--color-ink); }
.cart-inquiry{ margin-top:var(--space-16); }
.cart-inquiry p{ max-width:560px; margin-top:var(--space-3); }

.sr-only{
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; border:0;
}

/* ===== Responzivita ===== */
@media (max-width:1024px){
  .card-grid{ grid-template-columns:repeat(2,1fr); }
  .section{ padding:var(--space-16) 0; }
}
@media (max-width:768px){
  .contact-grid, .product-detail{ grid-template-columns:1fr; }
  .footer-grid{ grid-template-columns:1fr; gap:var(--space-8); }

  .nav-toggle{ display:block; }
  .nav{
    position:absolute; top:100%; left:0; right:0;
    background:#fff; border-bottom:1px solid var(--color-border);
    display:none; padding:var(--space-4) var(--space-6) var(--space-6);
  }
  .nav.open{ display:block; }
  .nav ul{ flex-direction:column; align-items:flex-start; gap:var(--space-4); }
  .nav .nav-dropdown .dropdown-menu{
    position:static; transform:none; display:none; box-shadow:none;
    border:none; border-left:2px solid var(--color-border);
    border-radius:0; margin:var(--space-2) 0 0 var(--space-3); padding:0;
  }
  .nav .nav-dropdown.open .dropdown-menu{ display:flex; }
}
@media (max-width:640px){
  .container{ padding:0 var(--space-4); }
  .card-grid{ grid-template-columns:1fr; }
  .section{ padding:56px 0; }
  .hero{ min-height:60vh; }
  .hero-box{ padding:var(--space-4) var(--space-6); }
}

/* ===== Motion ===== */
@media (prefers-reduced-motion: reduce){
  *{ animation:none !important; transition:none !important; }
  html{ scroll-behavior:auto; }
}

/* ===== Aktuality ===== */
.news-home{ background:var(--color-bg-soft, #f7f4f0); }
.news-home-head{
  display:flex; align-items:flex-end; justify-content:space-between;
  gap:var(--space-6); margin-bottom:var(--space-10); flex-wrap:wrap;
}
.news-home-head h2{ margin:var(--space-2) 0 0; }
.btn-ghost-link{
  color:var(--color-primary); font-weight:600; text-decoration:none; white-space:nowrap;
}
.btn-ghost-link:hover{ text-decoration:underline; }

.news-grid{
  display:grid; grid-template-columns:repeat(3,1fr); gap:var(--space-6);
}
.news-card{ height:100%; }
.news-card-link{
  display:flex; flex-direction:column; height:100%;
  background:#fff; border:1px solid var(--color-border); border-radius:var(--radius-lg);
  overflow:hidden; text-decoration:none; color:inherit;
  transition:transform .2s ease, box-shadow .2s ease;
}
.news-card-link:hover{ transform:translateY(-4px); box-shadow:var(--shadow-card); }
.news-card-link img{
  width:100%; height:auto; aspect-ratio:4/3; object-fit:cover; display:block;
}
.news-card-body{ display:block; padding:var(--space-5) var(--space-5) var(--space-6); }
.news-date{
  display:block; font-size:13px; letter-spacing:.06em; text-transform:uppercase;
  color:var(--color-muted); margin-bottom:6px;
}
.news-card-title{
  display:block; font:600 20px/1.3 var(--font-display); color:var(--color-ink);
  margin-bottom:8px;
}
.news-card-link:hover .news-card-title{ color:var(--color-primary); }
.news-card-perex{ display:block; font-size:15px; line-height:1.6; color:var(--color-muted); }

.news-detail{ max-width:820px; margin:0 auto; }
.news-detail h1{ margin:8px 0 24px; }
.news-detail-media{ margin:0 0 28px; }
.news-detail-media img{
  width:100%; height:auto; display:block;
  border-radius:var(--radius-lg); border:1px solid var(--color-line);
}
.news-perex{ font-size:19px; line-height:1.6; color:var(--color-ink); margin:0 0 24px; }
.news-body img{ max-width:100%; height:auto; }

@media (max-width:1024px){ .news-grid{ grid-template-columns:repeat(2,1fr); } }
@media (max-width:640px){ .news-grid{ grid-template-columns:1fr; } }

/* ===== Ke stažení ===== */
.download-list{ list-style:none; margin:0; padding:0; max-width:820px; }
.download-item{
  display:flex; align-items:center; gap:var(--space-5);
  padding:var(--space-5); border:1px solid var(--color-border);
  border-radius:var(--radius-lg); background:#fff; margin-bottom:var(--space-4);
}
.download-icon{
  flex:0 0 auto; display:flex; align-items:center; justify-content:center;
  width:52px; height:52px; border-radius:10px;
  background:var(--color-bg-soft, #f3efe9); color:var(--color-primary);
  font:600 12px/1 var(--font-body); letter-spacing:.04em;
}
.download-body{ flex:1 1 auto; min-width:0; }
.download-title{
  display:block; font:600 17px/1.4 var(--font-body); color:var(--color-ink);
  text-decoration:none;
}
.download-title:hover{ color:var(--color-primary); text-decoration:underline; }
.download-desc{ display:block; font-size:15px; color:var(--color-muted); margin-top:4px; }
.download-meta{ flex:0 0 auto; font-size:14px; color:var(--color-muted); white-space:nowrap; }
@media (max-width:640px){
  .download-item{ gap:var(--space-4); padding:var(--space-4); }
  .download-icon{ width:44px; height:44px; }
}

/* Vlastní fotka v záhlaví stránky/kategorie (nahraná v adminu) */
.hero-custom{ background-position:center; background-size:cover; }

/* ===== Lišta souhlasu s cookies ===== */
.cookie-bar{
  position:fixed; left:0; right:0; bottom:0; z-index:1000;
  background:var(--color-bg); border-top:1px solid var(--color-border);
  box-shadow:0 -8px 24px rgba(43,39,36,.10);
  padding:var(--space-4) 0;
}
.cookie-bar[hidden]{ display:none; }
.cookie-bar-inner{ display:flex; align-items:center; gap:var(--space-6); justify-content:space-between; }
.cookie-bar p{ font-size:15px; line-height:1.5; margin:0; }
.cookie-bar-actions{ display:flex; gap:var(--space-3); flex-shrink:0; }
.cookie-bar .btn-primary{ padding:12px 22px; }
.btn-outline-dark{
  display:inline-block; background:transparent; color:var(--color-ink);
  border:1.5px solid var(--color-border); padding:12px 22px; border-radius:var(--radius);
  font:600 16px/1 var(--font-body); cursor:pointer; transition:border-color .2s ease;
}
.btn-outline-dark:hover{ border-color:var(--color-ink); }
.cookie-settings-link{
  background:none; border:none; padding:0; font:inherit; color:inherit;
  text-decoration:underline; cursor:pointer;
}
@media (max-width:640px){
  .cookie-bar-inner{ flex-direction:column; align-items:stretch; gap:var(--space-3); }
  .cookie-bar-actions > *{ flex:1; }
}
