:root{--paper:#FFFFFF;--mat:#F3F3F1;--ink:#161616;--ink-muted:#55554F;--line:#D9DCD8;--line-strong:#6B6E69;--jungle:#0E4A33;--jungle-deep:#0A3826;--on-jungle:#FFFFFF;--leaf:#CFE3D8;--leaf-soft:#E7F0EB;--danger:#B42318;--focus:var(--jungle);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--space-12:48px;--space-16:64px;--radius-none:0px;--border-hairline:1px;--border-focus:2px;--page-max:1200px;--measure:65ch;--tap-min:44px;--font-serif:"Newsreader", Georgia, "Times New Roman", serif;--font-sans:"Schibsted Grotesk", "Helvetica Neue", Arial, sans-serif}
/* Story House Prague — vlastní vzhled pro Shoptet, šablona Classic.
   Identita „Linka a džungle“: design/brand/ + Design System (docs/design.md).
   Tokeny (:root proměnné) generuje build.mjs z design/brand/tokens.json. */

/* ---------- Základ ---------- */
html body { font-family: var(--font-sans); color: var(--ink); background: var(--paper); -webkit-font-smoothing: antialiased; }
body a { color: var(--jungle); }
body a:hover { color: var(--ink); }
body *:focus-visible { outline: var(--border-focus) solid var(--focus) !important; outline-offset: 2px; }
body .overall-wrapper { background: var(--paper); }

body h1, body h2, body h3, body .h1, body .h2, body .h3,
body .category-title, body .p-detail-inner h1 {
  font-family: var(--font-sans); font-weight: 600; color: var(--ink); letter-spacing: -0.03em; text-wrap: balance;
}
body h1, body .h1 { font-size: clamp(34px, 4.2vw, 56px); line-height: 1; }
body h2, body .h2 { font-size: clamp(28px, 3vw, 40px); line-height: 1.05; }
body h3, body .h3 { font-size: 22px; line-height: 1.25; font-weight: 600; letter-spacing: -0.015em; }

/* Delší texty (popisy, stránky, uvítací text): Schibsted Grotesk jako na obálce knihy – patkové písmo se na webu špatně četlo */
body .welcome, body .welcome-wrapper, body .p-detail-tabs-wrapper .description-inner,
body .basic-description, body .content .text, body .article-content, body .pageArticleDetail {
  font-family: var(--font-sans); font-size: 17px; line-height: 1.6;
}
body .welcome p, body .basic-description p, body .description-inner p { max-width: var(--measure); }

/* ---------- Tlačítka a pole ---------- */
body .btn, body button.btn, body input.btn, body a.btn { border-radius: var(--radius-none) !important; font-family: var(--font-sans); font-weight: 700; letter-spacing: 0; text-transform: none; }
body .btn.btn-primary, body a.btn.btn-primary, body .btn.btn-conversion, body a.btn.btn-conversion,
body .btn-cart, body .add-to-cart-button {
  background: var(--jungle) !important; border-color: var(--jungle) !important; color: var(--on-jungle) !important; box-shadow: none;
}
body .btn.btn-primary:hover, body a.btn.btn-primary:hover, body .btn.btn-conversion:hover, body a.btn.btn-conversion:hover,
body .btn-cart:hover, body .add-to-cart-button:hover {
  background: var(--jungle-deep) !important; border-color: var(--jungle-deep) !important;
}
body .btn.btn-secondary, body .btn.btn-default { background: transparent; color: var(--ink); border: var(--border-hairline) solid var(--ink); }
body input[type="text"], body input[type="email"], body input[type="search"], body input[type="tel"],
body input[type="password"], body input[type="number"], body select, body textarea, body .form-control {
  border-radius: var(--radius-none) !important; border-color: var(--line-strong); font-family: var(--font-sans); color: var(--ink);
}

/* ---------- Horní lišta ---------- */
body .top-navigation-bar { background: var(--paper); border-bottom: var(--border-hairline) solid var(--line); font-size: 13px; }
body .top-navigation-bar, body .top-navigation-bar a, body .top-navigation-bar button { color: var(--ink-muted); }
body .top-navigation-bar a:hover { color: var(--jungle); }
body .top-navigation-bar .top-navigation-bar-menu a { text-transform: none; letter-spacing: 0; }
body .languagesMenu__header { border: 0; }
body .top-navigation-bar .top-navigation-menu { display: none !important; }
/* Jazyk s vlajkou aktuálního jazyka (vlajky v rozbalovacím seznamu má Shoptet vlastní) */
body .languagesMenu__header--actual { display: inline-flex !important; align-items: center; gap: 8px; }
body .languagesMenu__header--actual::before { content: ""; width: 20px; height: 14px; flex: none; background: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 6 4%27%3E%3Cpath fill=%27%23fff%27 d=%27M0 0h6v2H0z%27/%3E%3Cpath fill=%27%23d7141a%27 d=%27M0 2h6v2H0z%27/%3E%3Cpath fill=%27%2311457e%27 d=%27M0 0l3 2-3 2z%27/%3E%3C/svg%3E") center / cover no-repeat; box-shadow: 0 0 0 1px var(--line); }
html[lang="en"] body .languagesMenu__header--actual::before { background-image: url("data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 viewBox=%270 0 60 30%27%3E%3CclipPath id=%27t%27%3E%3Cpath d=%27M30 15h30v15zv15H0zH0V0zV0h30z%27/%3E%3C/clipPath%3E%3Cpath fill=%27%23012169%27 d=%27M0 0v30h60V0z%27/%3E%3Cpath stroke=%27%23fff%27 stroke-width=%276%27 d=%27M0 0l60 30m0-30L0 30%27/%3E%3Cpath stroke=%27%23C8102E%27 stroke-width=%274%27 clip-path=%27url%28%23t%29%27 d=%27M0 0l60 30m0-30L0 30%27/%3E%3Cpath stroke=%27%23fff%27 stroke-width=%2710%27 d=%27M30 0v30M0 15h60%27/%3E%3Cpath stroke=%27%23C8102E%27 stroke-width=%276%27 d=%27M30 0v30M0 15h60%27/%3E%3C/svg%3E"); }
body .languagesMenu__list__link { display: flex; align-items: center; gap: 8px; }
body .languagesMenu__list__link svg { width: 20px; height: 14px; flex: none; }   /* právní odkazy jsou v patičce */
@media (min-width: 992px) { body .top-navigation-bar .container { display: flex; align-items: center; justify-content: space-between; } }

/* ---------- Hlavička ---------- */
body #header { background: var(--paper); border-bottom: var(--border-hairline) solid var(--line); }
/* Logo: dvouřádkové, varan vedle celého bloku (logo-stacked-wide.svg, poměr ≈ 6,9 : 1).
   Varan nejméně 120 px široký → logo nejméně ~35 px vysoké. */
body #header .site-name a img, body #header .site-name img { height: 60px; max-height: none; width: auto; max-width: none; }
/* Hlavička v jednom řádku (desktop): logo | menu | hledání | košík.
   .header-top se „rozpustí“ (display: contents) a jeho děti i #navigation sdílí jednu mřížku. */
@media (min-width: 992px) {
  body #header .navigation-wrapper {
    display: grid; grid-template-columns: auto 260px minmax(260px, 1fr) auto;   /* menu má šířku shora omezenou: Classic JS mu nafukuje min-content */
    align-items: center; column-gap: var(--space-12); padding-top: var(--space-6); padding-bottom: var(--space-6);
  }
  body #header .navigation-wrapper::before, body #header .navigation-wrapper::after { display: none; }
  body #header .header-top { display: contents; }
  body #header .header-top > .site-name-wrapper { grid-column: 1; grid-row: 1; width: auto; float: none; max-width: none; padding: 0; margin: 0; }
  body #header .site-name, body #header .site-name a { padding: 0; margin: 0; }
  body #header #navigation { grid-column: 2; grid-row: 1; border: 0 !important; margin: 0; width: auto; float: none; position: static; }
  body #header #navigation .navigation-in { padding: 0; position: static; background: transparent !important; }
  /* Classic menu „fitted“ měří šířku a přesouvá položky do „Více“ (.splitted) — v jednom řádku je místa dost */
  body #header #navigation .menu-level-1 {
    position: static !important; display: flex; align-items: center; gap: var(--space-8); width: auto !important;
    background: transparent !important; transform: none !important;
  }
  body #header #navigation .menu-level-1 > li { position: relative; margin: 0 !important; float: none; }
  body #header #navigation .menu-level-1 > li.splitted { visibility: visible !important; display: block !important; }
  /* Classic dává odkazu při hoveru/rozbalení margin −1 px → položky poskakují */
  body #header #navigation .menu-level-1 > li > a, body #header #navigation .menu-level-1 > li:hover > a,
  body #header #navigation .menu-level-1 > li.exp > a { margin: 0 !important; padding-left: 0 !important; padding-right: 0 !important; border: 0 !important; }
  body #header #navigation { overflow: visible !important; position: relative !important; min-width: 0; width: 260px; max-width: 260px; }
  body #header #navigation .navigation-in, body #header #navigation .menu-level-1 { max-width: 100%; }
  /* Podkategorie (Tisky ▸ Umělecká edice, Ilustrace z knihy): jednoduchý seznam místo panelu s obrázky */
  body #header #navigation .menu-level-2 {
    flex-direction: column; align-items: stretch; width: max-content !important; min-width: 240px; left: -20px !important;
    padding: var(--space-2) 0; background: var(--paper) !important; border: var(--border-hairline) solid var(--line) !important;
    box-shadow: none; z-index: 1001;
  }
  body #header #navigation .menu-level-2 > li { width: auto !important; float: none; margin: 0 !important; padding: 0 !important; border: 0 !important; min-height: 0 !important; height: auto !important; }
  body #header #navigation .menu-level-2 .menu-image { display: none !important; }
  body #header #navigation .menu-level-2 > li > div { padding: 0 !important; margin: 0 !important; min-height: 0 !important; height: auto !important; }
  body #header #navigation .menu-level-2 a { display: block; padding: 10px 20px; font-family: var(--font-sans); font-size: 16px; font-weight: 500; color: var(--ink) !important; white-space: nowrap; text-decoration: none; }
  body #header #navigation .menu-level-2 a { display: inline-block !important; margin: 6px 20px !important; padding: 4px 0 !important; }
  body #header .header-top > .search { grid-column: 3; grid-row: 1; width: 100%; max-width: 560px; justify-self: end; float: none; margin: 0; padding: 0; }
  body #header .search form, body #header .search .search-form { width: 100%; display: flex; }
  body #header .search .form-control, body #header .search input[type="search"], body #header .search input[type="text"] { flex: 1 1 auto; width: auto; }
  body #header .header-top > .navigation-buttons { grid-column: 4; grid-row: 1; width: auto; float: none; margin: 0; }
  body #header .menu-helper { display: none !important; }
  body #header .search .form-control, body #header .search input[type="search"], body #header .search input[type="text"] { height: 40px; font-size: 14px; }
  body #header .search .btn, body #header .search button { height: 40px; padding: 0 14px; font-size: 14px; }
}
/* Mobil: dvouřádkové logo (shp.js) 54 px; pevná horní lišta Classic zvýšena z 50 na 76 px.
   Classic pozicuje logo a košík absolutně vůči #header (fixed pod lištou) záporným „top“ → přepočteno. */
@media (max-width: 991px) {
  body .top-navigation-bar { height: 76px; min-height: 76px; }
  body .top-navigation-bar > .container { height: 76px; display: flex; align-items: center; justify-content: flex-end; }
  body #header { top: 76px !important; }
  body .overall-wrapper { padding-top: 76px !important; }
  body #header .site-name { top: -65px !important; height: 54px; }
  body #header .site-name a { height: 54px; }
  body #header .site-name a img, body #header .site-name img { height: 54px; padding: 0 !important; }
  body #header a.cart-count { top: -51px !important; }
}
body #header .search .form-control, body #header .search input[type="search"], body #header .search input[type="text"] {
  border: var(--border-hairline) solid var(--line-strong); height: 44px; font-size: 15px;
}
body #header .search .btn, body #header .search button { background: var(--jungle) !important; border-color: var(--jungle) !important; color: var(--on-jungle) !important; height: 44px; }
body #header .navigation-buttons a, body #header .navigation-buttons a.btn { background: transparent !important; border: 0 !important; color: var(--ink) !important; font-weight: 700; }
body #header .cart-price { color: var(--ink); font-family: var(--font-sans); font-weight: 700; }
/* počet kusů v košíku = <i> uvnitř odkazu košíku */
body #header .navigation-buttons a.cart-count i { background: var(--jungle) !important; color: var(--on-jungle) !important; border-radius: 0 !important; font-style: normal; }

/* Hledání: focus jako zelený rámeček pole (bez odsazeného obrysu), našeptávač v našem stylu */
body #header .search input[type="search"]:focus, body #header .search input[type="text"]:focus { outline: none !important; border-color: var(--jungle) !important; box-shadow: inset 0 0 0 1px var(--jungle) !important; }
body #header .search form { position: relative; }
body .search-whisperer { left: 0 !important; right: 0 !important; width: auto !important; border: var(--border-hairline) solid var(--line) !important; border-radius: 0 !important; box-shadow: none !important; background: var(--paper) !important; font-family: var(--font-sans); }
body .search-whisperer li a { display: flex !important; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3) !important; color: var(--ink) !important; text-decoration: none; border-bottom: var(--border-hairline) solid var(--line); }
body .search-whisperer li a:hover { background: var(--leaf-soft) !important; }
body .search-whisperer .p-name { font-family: var(--font-sans); font-weight: 500; font-size: 16px !important; line-height: 1.25; color: var(--ink) !important; white-space: normal !important; }
body .search-whisperer .availability-label { color: var(--jungle) !important; font-size: 13px; }
body .search-whisperer .price-final { font-size: 15px !important; font-weight: 700; color: var(--ink) !important; margin-left: auto; white-space: nowrap; }
body .search-whisperer-empty { font-size: 14px !important; color: var(--ink-muted) !important; padding: var(--space-3) !important; }

/* Hlavní menu: místo modrého pruhu bílá s vlasovými čarami */
body #navigation, body #navigation .navigation-in, body #navigation .menu-level-1 { background: var(--paper) !important; }
@media (max-width: 991px) { body #navigation { border-top: var(--border-hairline) solid var(--line); } }
body #navigation .menu-level-1 > li { border: 0 !important; margin-right: 32px; }
body #navigation .menu-level-1 > li > a {
  color: var(--ink) !important; font-family: var(--font-sans); font-size: 17px; font-weight: 500; text-transform: none; letter-spacing: 0;
  background: transparent !important; border: 0 !important; padding-left: 0; padding-right: 0;
}
/* Hover: linka, která „přijede“ zleva (background-size 0 → 100 %), aktivní položka ji má trvale */
body #navigation .menu-level-1 > li > a, body #header #navigation .menu-level-2 a {
  text-decoration: none !important;
  background-image: linear-gradient(currentColor, currentColor) !important; background-repeat: no-repeat !important;
  background-size: 0% 1px !important; background-position: 0 calc(100% - 3px) !important;
  transition: background-size 0.25s ease-out, color 0.2s ease-out !important;
}
body #navigation .menu-level-1 > li > a:hover, body #navigation .menu-level-1 > li > a:focus-visible,
body #navigation .menu-level-1 > li.exp > a, body #navigation .menu-level-1 > li.active > a,
body #header #navigation .menu-level-2 a:hover, body #header #navigation .menu-level-2 a:focus-visible {
  color: var(--jungle) !important; background-size: 100% 1px !important; text-decoration: none !important;
}
body #navigation .menu-level-2, body #navigation .menu-level-1 ul { background: var(--paper); border: var(--border-hairline) solid var(--line); box-shadow: none; }

/* ---------- Drobečková navigace, štítky ---------- */
body .breadcrumbs, body .breadcrumbs a { color: var(--ink-muted); font-size: 13px; }
body .flag, body .flags .flag {
  border-radius: var(--radius-none) !important; background: var(--paper) !important; color: var(--ink) !important;
  border: var(--border-hairline) solid var(--ink); font-family: var(--font-sans); font-size: 11px; font-weight: 700;
  letter-spacing: 0.1em; text-transform: uppercase; padding: 3px 8px;
}

/* ---------- Výpis produktů: obrázek celý na paspartou ---------- */
body .products-block .product, body .products-block .product .p { border: 0 !important; }
body .products-block .product .p { border: 0 !important; box-shadow: none !important; background: transparent; padding: 0 0 var(--space-6);
  display: flex; flex-direction: column; height: 100%; }
/* Shoptet doplňuje náhledy bílou → paspartou je bílá s vlasovou linkou (u tisků působí jako rám) */
body .products-block .product .p .p-in { display: flex; flex-direction: column; flex: 1 1 auto; }
body .products-block .product .p .p-bottom { margin-top: auto; }
body .products-block .product .p a.image {
  display: flex; align-items: center; justify-content: center; background: var(--paper); padding: var(--space-6);
  border: var(--border-hairline) solid var(--line); aspect-ratio: 3 / 4; height: auto !important; box-sizing: border-box;
}
body .products-block .product .p a.image img { width: auto !important; height: auto !important; max-width: 100%; max-height: 100%; object-fit: contain; }
body .products-block .product .p .name, body .products-block .product .p a.name {
  font-family: var(--font-sans); font-size: 20px; line-height: 1.25; font-weight: 600; letter-spacing: -0.015em; color: var(--ink); text-decoration: none;
  height: auto !important; max-height: none !important; overflow: visible !important;
}
body .products-block .product .p a.name:hover { text-decoration: underline; text-underline-offset: 3px; }
body .products-block .product .p-code { display: none; }
body .products-block .product .p-desc { font-family: var(--font-sans); font-size: 15px; color: var(--ink-muted); }
body .products-block .product .availability, body .availability-label { color: var(--jungle); font-size: 13px; font-weight: 500; }
body .products-block .product .price-final, body .products-block .product .price-final strong { font-family: var(--font-sans); font-weight: 700; color: var(--ink); }

/* Řazení a filtr */
body .category-header, body .listSorting { border-color: var(--line); }
body .listSorting a, body .category-header a { color: var(--ink-muted); }
body .listSorting .active a, body .category-header .active a { color: var(--ink); font-weight: 700; }

/* ---------- Detail produktu ---------- */
body .p-detail .price-final, body .p-final-price-wrapper .price-final { font-family: var(--font-sans); font-weight: 700; font-size: 28px; color: var(--ink); }
body .p-detail .p-image-wrapper .p-image, body .p-detail .p-image { background: var(--mat); }
body .p-detail .p-image img { object-fit: contain; }

/* ---------- Úvodní stránka: úvod s knihou (Titulní strana → uvítací text, obsah v shoptet/obsah/) ---------- */
body .welcome-wrapper, body .homepage-box.welcome-wrapper { background: var(--paper) !important; }
body .homepage-box.welcome-wrapper { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body .welcome:has(.shp-hero) > .h1 { display: none; }   /* nadpis z adminu nahrazuje skutečné h1 v .shp-hero */
body .welcome:has(.shp-hero), body .welcome:has(.shp-hero) > div, body .welcome:has(.shp-hero) .shp-hero * { max-width: none; }
body .welcome:has(.shp-hero) .shp-hero__body { max-width: var(--measure); }
.shp-label { margin: 0; font-family: var(--font-sans); font-size: 13px; line-height: 1.25; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--jungle); }
.shp-link { color: var(--jungle); text-decoration: underline; text-underline-offset: 4px; text-decoration-thickness: 1px; font-family: var(--font-sans); font-weight: 500; }
.shp-link:hover { color: var(--ink); }
.shp-hero { max-width: none !important; width: 100%; margin: 0 !important; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--space-12); align-items: center; padding: var(--space-12) 0 var(--space-16); }
.shp-hero__text { display: flex; flex-direction: column; gap: var(--space-4); }
.shp-hero__text > p { margin: 0; }
body .shp-hero .shp-hero__title { margin: 0; font-family: var(--font-sans); font-weight: 600; font-size: clamp(40px, 5.4vw, 76px); line-height: 1; letter-spacing: -0.04em; }
.shp-hero__lead { font-family: var(--font-sans); font-weight: 400; font-size: 22px; line-height: 1.4; }
.shp-hero__body { font-family: var(--font-sans); font-size: 18px; line-height: 1.6; max-width: var(--measure); }
.shp-hero__meta { font-family: var(--font-sans); font-size: 14px; line-height: 1.5; color: var(--ink-muted); }
body .shp-hero__cta a.btn, body .shp-hero__cta a.btn:hover { color: var(--on-jungle) !important; text-decoration: none !important; }
.shp-hero__cta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-6); margin-top: var(--space-2) !important; }
body .shp-hero__cta .btn { min-height: 52px; padding: 0 30px; display: inline-flex; align-items: center; font-size: 18px; }
.shp-hero__media { margin: 0; }
.shp-hero__media a { display: block; }
.shp-hero__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; }
/* Desktop: úvod přesně na výšku okna pod hlavičkou (hlavička + horní lišta ≈ 150 px), fotka vyplní výšku */
@media (min-width: 992px) {
  .shp-hero { height: calc(100svh - 150px); min-height: 520px; max-height: 920px; padding: var(--space-8) 0; box-sizing: border-box; align-items: stretch; }
  .shp-hero__text { justify-content: center; }
  .shp-hero__media { height: 100%; min-height: 0; }
  .shp-hero__media a { display: block; height: 100%; }
  .shp-hero__media img { height: 100%; aspect-ratio: auto; object-fit: cover; object-position: 50% 45%; }
  body .shp-hero .shp-hero__title { font-size: clamp(40px, min(5.4vw, 8svh), 76px); }
}
@media (max-width: 767px) {
  .shp-hero { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); padding: var(--space-12) 0 var(--space-12) !important; }
  .shp-hero__media img { aspect-ratio: 1 / 1; }
}

/* ---------- Patička ---------- */
body #footer, body footer#footer { background: var(--jungle); color: var(--on-jungle); }
body #footer a { color: var(--on-jungle); }
body #footer .footer-bottom { border-top: 0; color: var(--leaf); background: transparent !important; }
body #footer .footer-bottom strong { color: var(--on-jungle); }
/* Sloupce patičky: značka | obchod | vše o nákupu | kontakt */
body #footer .footer-rows { background: transparent !important; display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, 3fr); gap: var(--space-12); padding: var(--space-16) 20px var(--space-12) !important; }
body #footer .footer-bottom::before, body #footer .footer-bottom::after, body #footer .footer-rows::before, body #footer .footer-rows::after, body #footer .custom-footer::before, body #footer .custom-footer::after { display: none !important; content: none !important; }
body #footer .footer-rows > .site-name { margin: 0 !important; width: auto !important; max-width: none !important; height: auto !important; float: none !important; grid-column: 1; grid-row: 1; padding: 0 !important; align-self: start; position: static !important; display: block !important; }
body #footer .footer-rows > .site-name > a { display: inline-block; height: auto !important; }
body #footer .shp-footer-brand img.shp-footer-logo { height: 64px; width: auto; max-width: none; display: block; }
/* Bílý pruh nad patičkou: samotný varan (černý na bílém, kresba beze změny) „leží“ na horní hraně zelené, vpravo */
body .shp-footer-band { background: var(--paper); padding-top: var(--space-16); line-height: 0; }
body .shp-footer-band .container { padding-left: 20px; padding-right: 20px; display: flex; justify-content: flex-end; }
body .shp-footer-band .container::before, body .shp-footer-band .container::after { display: none !important; content: none !important; }
body .shp-footer-band__varan { display: block; width: 340px; height: auto; max-width: 100%; }
@media (max-width: 767px) { body .shp-footer-band { padding-top: var(--space-12); } body .shp-footer-band__varan { width: 220px; } }
body #footer .shp-footer-about { margin: var(--space-6) 0 0; font-family: var(--font-sans); font-size: 15px; line-height: 1.6; color: var(--leaf); max-width: 34ch; }
body #footer .custom-footer { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--space-8); width: auto !important; max-width: none !important; padding: 0 !important; margin: 0 !important; grid-column: 2; grid-row: 1; border: 0 !important; align-self: start; }
body #footer .custom-footer > div { width: auto !important; float: none !important; padding: 0 !important; margin: 0 !important; }
body #footer .pageElement__heading { margin: 0 0 var(--space-4); font-family: var(--font-sans); font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--leaf); border: 0; }
body #footer .custom-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
body #footer .custom-footer li { padding: 0 !important; margin: 0 !important; background: none !important; border: 0 !important; }
body #footer .custom-footer li::before, body #footer .contact-box li span::before { display: none !important; content: none !important; }
body #footer .custom-footer a, body #footer .contact-box a { color: var(--on-jungle) !important; text-decoration: none; font-size: 16px; line-height: 1.4;
  background-image: linear-gradient(currentColor, currentColor); background-repeat: no-repeat; background-size: 0% 1px; background-position: 0 100%; transition: background-size 0.25s ease-out; }
body #footer .custom-footer a:hover, body #footer .contact-box a:hover { background-size: 100% 1px; }
body #footer .contact-box, body #footer .contact-box ul { padding: 0 !important; }
body #footer .contact-box li span { padding-left: 0 !important; background: none !important; }
body #footer .shp-footer-seller { margin: var(--space-4) 0 0; font-size: 14px; line-height: 1.5; color: var(--leaf); }
body #footer .footer-bottom { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3) var(--space-8); border-top: var(--border-hairline) solid rgba(255,255,255,0.18) !important; padding-top: var(--space-6); padding-bottom: var(--space-6); }
body #footer .shp-footer-service { margin: 0; flex: 1 1 100%; font-size: 14px; color: var(--on-jungle); text-align: left; }
body #footer .footer-bottom { padding-left: 20px !important; padding-right: 20px !important; flex-direction: row !important; justify-content: flex-start !important; text-align: left !important; }
body #footer .footer-bottom .shp-footer-service { order: 0; }
body #footer .footer-bottom .copyright { order: 1; margin: 0 auto 0 0 !important; padding: 0 !important; text-align: left !important; }
body #footer .footer-bottom #signature { order: 2; margin: 0 !important; padding: 0 !important; }
body #footer .contact-box a[href^="mailto"] { overflow-wrap: normal; word-break: normal; }
@media (max-width: 991px) {
  body #footer .footer-rows { grid-template-columns: minmax(0, 1fr); gap: var(--space-8); padding-top: var(--space-12); }
  body #footer .custom-footer { grid-column: 1; grid-row: 2; }
  body #footer .custom-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 560px) { body #footer .custom-footer { grid-template-columns: minmax(0, 1fr); } }

/* Podpis „Vytvořil Shoptet“ Shoptet vynucuje (inline display/visibility !important) → neskrývat, jen ztlumit */
body #footer #signature, body #footer #signature a { color: var(--leaf); font-size: 13px; opacity: 0.85; }
body #footer #signature img, body #footer #signature a.image { display: none !important; }   /* jako shop.yachtnet.cz: logo pryč, odkaz na Shoptet zůstává */
/* Text odkazu: „Běží na Shoptetu“ / „Running on Shoptet“ místo „Vytvořil Shoptet“ (odkaz i jeho cíl beze změny) */
body #footer #signature a.title { font-size: 0 !important; }
body #footer #signature a.title::after { content: "Běží na Shoptetu"; font-size: 13px; }
html[lang="en"] body #footer #signature a.title::after { content: "Running on Shoptet"; }
body #footer *:focus-visible { outline-color: var(--paper) !important; }

/* ---------- Mobil: ikony v hlavičce, hamburger ---------- */
@media (max-width: 991px) {
  body .responsive-tools a, body .responsive-tools button { color: var(--ink) !important; background: transparent !important; }
  body .responsive-tools a::before, body .responsive-tools button::before { background: transparent !important; color: var(--ink) !important; border-radius: 0 !important; }
}

/* Mobilní menu (hamburger): všechny řádky stejně – odsazení 20 px, vlasové čáry, šipka podmenu vpravo */
@media (max-width: 991px) {
  body #navigation .navigation-in { padding-top: 56px; }
  body #navigation .navigation-close { position: absolute; top: 8px; right: 8px; }
  body #navigation .menu-level-1, body #navigation .navigationActions { margin: 0 !important; padding: 0 !important; border-top: var(--border-hairline) solid var(--line); }
  body #navigation .navigationActions { border-top: 0; }
  body #navigation .menu-level-1 > li, body #navigation .navigationActions > li { position: relative; width: 100% !important; margin: 0 !important; border: 0 !important; border-bottom: var(--border-hairline) solid var(--line) !important; }
  body #navigation .menu-level-1 > li > a { display: flex !important; align-items: center; min-height: 56px; padding: 0 64px 0 20px !important; font-size: 20px; font-weight: 500;
    background-image: none !important; }
  body #navigation .menu-level-1 > li > a:hover, body #navigation .menu-level-1 > li.active > a { background-image: none !important; }
  body #navigation .menu-level-1 > li > a .submenu-arrow, body #navigation .menu-level-1 > li .submenu-arrow { position: absolute; right: 0; top: 0; height: 56px; width: 56px; padding: 0 !important; display: flex; align-items: center; justify-content: center; }
  body #navigation .navigationActions > li > a { min-height: 56px; padding: 0 64px 0 20px !important; align-items: center; color: var(--ink-muted) !important; font-size: 16px; }
  body #navigation .navigationActions .navigationActions__flagWrapper { gap: 10px; padding: 0 !important; align-items: center; }
  body #navigation .navigationActions .submenu-arrow { position: absolute; right: 0; top: 0; height: 56px; width: 56px; padding: 0 !important; display: flex; align-items: center; justify-content: center; }
  body #navigation .menu-level-2 { border: 0 !important; padding: 0 0 12px !important; margin: 0 !important; }
  body #navigation .menu-level-2 .menu-image { display: none !important; }
  body #navigation .menu-level-2 > li, body #navigation .menu-level-2 > li > div { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; min-height: 0 !important; height: auto !important; border: 0 !important; text-align: left !important; }
  body #navigation .menu-level-2 a { display: block !important; padding: 10px 20px 10px 36px !important; margin: 0 !important; font-family: var(--font-sans); font-size: 17px !important; font-weight: 500; color: var(--ink) !important; text-align: left !important; background-image: none !important; }
  body .languagesMenu__header--actual { flex-direction: row; }
}

/* ---------- Lišta cookies (Shoptet) ---------- */
body .siteCookies, body .siteCookies > *, body .siteCookies__form, body .siteCookies__content { background: var(--ink) !important; color: var(--paper) !important; border-radius: 0 !important; font-family: var(--font-sans); }
body .siteCookies a { color: var(--paper) !important; }
body .siteCookies .btn, body .siteCookies button { border-radius: 0 !important; font-family: var(--font-sans); font-weight: 700; }
body .siteCookies .btn-primary, body .siteCookies button[class*="accept"], body .siteCookies .siteCookies__button--accept { background: var(--paper) !important; color: var(--ink) !important; border-color: var(--paper) !important; }

@media (prefers-reduced-motion: reduce) { body * { transition: none !important; animation: none !important; } }
