/* ==========================================================
   soulado.cz – REDESIGN 2026 (Shoptet, šablona template-14)
   Načítá se zatím jen přes přepínač ?redesign=1 (viz custom.js).
   Zadání: docs/redesign/ZADANI.md
   VERZE (stejné hranice všude, i v JS – viz SD.bp()):
     📱 mobil    @media (max-width: 759px)
     📲 tablet   @media (min-width: 760px) and (max-width: 1199px)
     🖥 desktop  @media (min-width: 1200px)      (výchozí styly bez @media = desktop)
     tablet + mobil dohromady: @media (max-width: 1199px)
   Na <html> je navíc třída sd-bp-mobile / sd-bp-tablet / sd-bp-desktop.
   Sekce: tokeny, písma a základ, společné prvky, hlavička, mobilní menu,
   karta produktu, štítky, karusel, recenze, Instagram, patička,
   toast, testovací štítek. Stránky: redesign-pages.css
   ========================================================== */

@import url("redesign-pages.css");
@import url("https://fonts.googleapis.com/css2?family=Jost:ital,wght@0,400;0,500;1,400&family=Caveat:wght@500&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Material+Symbols+Outlined:opsz,wght,FILL,GRAD@20..48,300..400,0..1,0&icon_names=account_balance,add,arrow_forward,assignment_return,call,check,check_circle,chevron_left,chevron_right,close,delete,description,eco,expand_less,expand_more,favorite,handshake,home,info,local_florist,local_shipping,location_on,mail,menu,notifications,package_2,payments,person,qr_code_2,redeem,remove,schedule,search,send,shopping_bag,storefront,swap_vert,tune,visibility,visibility_off&display=block");

/* ---------- Tokeny ---------- */
:root {
  --sd-ink: #2B3242;
  --sd-ink-2: #4F4840;
  --sd-muted: #7A7268;
  --sd-muted-2: #8F877D;
  --sd-sand: #EBDCCB;
  --sd-sand-2: #F5EDE4;
  --sd-cream: #FBF8F4;
  --sd-cream-2: #F7F2EC;
  --sd-img-bg: #F5EFE8;
  --sd-line: #EFE6DC;
  --sd-line-2: #E3D7CA;
  --sd-line-3: #F0E8DF;
  --sd-brown: #9F765A;
  --sd-brown-dark: #7E5A42;
  --sd-tan: #C9AE97;
  --sd-tan-light: #E3C9B2;
  --sd-green: #4E8A34;
  --sd-green-badge: #557F3A;
  --sd-red: #C8473C;
  --sd-star: #B07A2A;
  --sd-radius-sm: 10px;
  --sd-radius: 16px;
  --sd-radius-md: 18px;
  --sd-radius-lg: 20px;
  --sd-radius-xl: 24px;
  --sd-pill: 999px;
  --sd-shadow-card: 0 10px 30px rgba(80, 55, 35, .10);
  --sd-shadow-float: 0 12px 32px rgba(60, 40, 25, .12);
  --sd-max: 1848px;                       /* šířka obsahu jako brainmarket */
  --sd-gutter: clamp(16px, 3.4vw, 60px);   /* okraj stránky */
  --sd-font-head: "Jost", "Open Sans", sans-serif;
  --sd-font-text: "Open Sans", sans-serif;
  /* ikona nákupní tašky (outline) */
  --sd-ico-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 12.2a1 1 0 0 1-1 .8H7a1 1 0 0 1-1-.8L5 8z'/%3E%3Cpath d='M9 10V7a3 3 0 0 1 6 0v3'/%3E%3C/svg%3E");
}

/* ---------- Písma a základ ---------- */
.sd-redesign body { color: var(--sd-ink); }
.sd-redesign h1,
.sd-redesign .h1,
.sd-redesign h2,
.sd-redesign .h2 {
  font-family: var(--sd-font-head);
  font-weight: 500;
  letter-spacing: 0;
  color: var(--sd-ink);
}
.sd-redesign .title { font-weight: 500 !important; }

/* ---------- Karta produktu ---------- */
/* mezery mezi kartami 16 px */
.sd-redesign .products-block { margin-left: -8px; margin-right: -8px; }
.sd-redesign .products-block > .product { padding: 8px; }

.sd-redesign .products .product .p {
  height: 100%;
  background: #fff;
  border: 1px solid #EEE5DB;
  border-radius: var(--sd-radius);
  overflow: hidden;
  transition: box-shadow .2s, transform .2s;
}
.sd-redesign .products .product .p:hover {
  box-shadow: var(--sd-shadow-card);
  transform: translateY(-2px);
}

/* fotka 1:1 */
.sd-redesign .products .p .image {
  position: relative;
  display: block;
  aspect-ratio: 1 / 1;
  background: var(--sd-img-bg);
  overflow: hidden;
}
.sd-redesign .products .p .image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* tělo karty */
.sd-redesign .products .p .p-in {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  padding: 14px 16px 16px;
  text-align: left;
}
.sd-redesign .products .p .p-in *,
.sd-redesign .products .p .p-bottom { text-align: left; }
.sd-redesign .products .p .p-in-in { flex: 1 1 auto; height: auto !important; }
/* název max. 3 řádky */
.sd-redesign .products .p .name {
  display: -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 3 !important;
  overflow: hidden;
  max-height: none !important;
  font-family: var(--sd-font-text);
  font-size: 14.5px;
  font-weight: 600 !important;
  line-height: 1.35;
  letter-spacing: 0 !important;
  color: var(--sd-ink);
  text-decoration: none;
  height: auto !important;
}
.sd-redesign .products .p .name:hover { color: var(--sd-brown-dark); }

/* spodní řádek: vlevo dostupnost + cena, vpravo tlačítko */
.sd-redesign .products .p .p-bottom { margin-top: 12px; }
.sd-redesign .products .p .p-bottom > [data-micro="offer"] {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-areas:
    "avail tools"
    "prices tools";
  align-items: end;
  column-gap: 10px;
}
.sd-redesign .products .p .availability {
  grid-area: avail;
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
}
.sd-redesign .products .p .availability span { color: var(--sd-green) !important; }
.sd-redesign .products .p [data-micro-availability*="OutOfStock"] .availability span,
.sd-redesign .products .p [data-micro-availability*="SoldOut"] .availability span { color: var(--sd-red) !important; }
.sd-redesign .products .p .availability-amount { display: none; }
.sd-redesign .products .p .ratings-wrapper { display: none; }

.sd-redesign .products .p .prices {
  grid-area: prices;
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  column-gap: 6px;
  margin: 2px 0 0;
  text-align: left;
}
.sd-redesign .products .p .price-final,
.sd-redesign .products .p .price-final strong {
  font-family: var(--sd-font-text);
  font-size: 18px;
  font-weight: 700;
  color: var(--sd-ink);
  line-height: 1.25;
}
.sd-redesign .products .p .price-standard ~ .price-final strong,
.sd-redesign .products .p .prices:has(.price-standard) .price-final strong { color: var(--sd-red); }
.sd-redesign .products .p .price-standard,
.sd-redesign .products .p .price-standard strong {
  font-size: 13px;
  font-weight: 400;
  color: var(--sd-muted-2);
  text-decoration: line-through;
}
.sd-redesign .products .p .price-save { display: none; }
.sd-redesign .products .p .price-standard-wrapper-placeholder { display: none; }
.sd-redesign .products .p .price-measure {
  flex-basis: 100%;
  font-size: 11.5px;
  color: var(--sd-muted-2);
  white-space: nowrap;
}

/* tlačítko do košíku = hnědý kruh s taškou */
.sd-redesign .products .p .p-tools {
  grid-area: tools;
  padding: 0;
  margin: 0;
}
.sd-redesign .products .p .p-tools .quantity { display: none !important; }
.sd-redesign .products .p .p-tools form { margin: 0; }
.sd-redesign .products .p .p-tools .btn {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--sd-brown);
  color: transparent;
  font-size: 0;
  overflow: hidden;
  transition: filter .2s, background-color .2s;
}
.sd-redesign .products .p .p-tools .btn:hover { filter: brightness(.92); }
.sd-redesign .products .p .p-tools .btn > span,
.sd-redesign .products .p .p-tools .btn i { display: none; }
.sd-redesign .products .p .p-tools .btn::after {
  content: "";
  width: 21px;
  height: 21px;
  background: #fff;
  -webkit-mask: var(--sd-ico-bag) center / contain no-repeat;
  mask: var(--sd-ico-bag) center / contain no-repeat;
}
/* vyprodáno */
.sd-redesign .products .p [data-micro-availability*="OutOfStock"] .p-tools .btn,
.sd-redesign .products .p [data-micro-availability*="SoldOut"] .p-tools .btn {
  background: #D8CFC5;
  pointer-events: none;
}
/* po přidání do košíku (třídu přidává redesign.js) */
.sd-redesign .products .p .p-tools .btn.sd-added { background: var(--sd-green); }
.sd-redesign .products .p .p-tools .btn.sd-added::after {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}

/* ---------- Štítky (tvar a velikost podle brainmarketu; BARVY z administrace Shoptetu – nepřepisovat) ---------- */
.sd-redesign .products .p .flags-default {
  position: absolute;
  top: 12px;
  left: 12px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  z-index: 2;
  margin: 0 !important;
}
.sd-redesign .flags .flag {
  display: inline-flex !important;
  align-items: center;
  width: auto !important;
  min-width: 0 !important; /* Shoptet dává štítku min. šířku 30 % karty → roztažený štítek */
  margin: 0 !important;
  padding: 5px 10px !important;
  border-radius: 8px !important;
  font: 600 13px/1.2 var(--sd-font-text) !important;
  letter-spacing: 0 !important;
  color: #fff;
  text-transform: none !important;
  box-shadow: none !important;
}
/* štítek s procenty slevy (doplňuje redesign.js z ceny Shoptetu) */
.sd-redesign .flags .flag.sd-flag-save { background-color: var(--sd-red); }
@media (max-width: 759px) {
  .sd-redesign .products .p .flags-default { top: 8px; left: 8px; }
  .sd-redesign .flags .flag { padding: 4px 8px !important; font-size: 12px !important; border-radius: 7px !important; }
}

/* ---------- Společné prvky ---------- */
.sd-redesign body { background: #fff; -webkit-font-smoothing: antialiased; }
.sd-scroll-locked, .sd-scroll-locked body { overflow: hidden; }
.sd-hidden, .sd-redesign .sd-hidden, .sd-redesign body .sd-hidden { display: none !important; }
.sd-redesign body { overflow-x: clip; }
.sd-container { max-width: calc(var(--sd-max) + 2 * var(--sd-gutter)); margin: 0 auto; padding: 0 var(--sd-gutter); box-sizing: border-box; }
.sd-container *, .sd-container *::before, .sd-container *::after { box-sizing: border-box; }
.sd-ico {
  font-family: "Material Symbols Outlined";
  font-weight: normal;
  font-style: normal;
  font-size: 22px;
  line-height: 1;
  letter-spacing: normal;
  text-transform: none;
  display: inline-block;
  white-space: nowrap;
  direction: ltr;
  font-feature-settings: "liga";
  -webkit-font-smoothing: antialiased;
  font-variation-settings: "wght" 400;
  flex: none;
}
.sd-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--sd-brown);
}
.sd-h2, .sd-redesign h2.sd-h2 {
  margin: 0;
  font-family: var(--sd-font-head);
  font-weight: 500;
  font-size: 28px;
  line-height: 1.15;
  color: var(--sd-ink);
  text-transform: none;
  letter-spacing: 0;
}
.sd-accent { color: var(--sd-brown); }
.sd-section { padding: 56px 0 8px; }
.sd-sechead {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 20px;
}
.sd-sechead-l { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.sd-chip, .sd-redesign a.sd-chip {
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--sd-line-2);
  background: #fff;
  border-radius: var(--sd-pill);
  padding: 6px 14px;
  font: 600 12.5px/1.3 var(--sd-font-text);
  color: var(--sd-ink);
  text-decoration: none;
}
.sd-chip:hover { background: var(--sd-sand-2); color: var(--sd-ink); }
.sd-chip-lg { padding: 9px 18px; font-size: 13px; font-weight: 700; }
.sd-btn, .sd-redesign a.sd-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 0;
  border-radius: var(--sd-pill);
  padding: 12px 22px;
  font: 700 14px/1.2 var(--sd-font-text);
  text-decoration: none;
  cursor: pointer;
  transition: filter .2s, background-color .2s, color .2s;
}
.sd-btn-ink { background: var(--sd-ink); color: #fff !important; }
.sd-btn-ink:hover { filter: brightness(1.15); }
.sd-btn-brown { background: var(--sd-brown); color: #fff !important; }
.sd-btn-brown:hover { filter: brightness(.92); }
.sd-btn-white { background: #fff; color: var(--sd-ink) !important; }
.sd-btn-white:hover { background: var(--sd-sand); }
.sd-btn-outline { background: #fff; color: var(--sd-ink) !important; border: 1.5px solid var(--sd-ink); }
.sd-btn-outline:hover { background: var(--sd-ink); color: #fff !important; }
.sd-stars { color: var(--sd-star); letter-spacing: 2px; font-size: 22px; line-height: 1; }
.sd-stars-sm { font-size: 14px; }

/* ---------- Hlavička ---------- */
/* původní prvky Shoptetu schované (popupy přihlášení/košíku zůstávají funkční) */
.sd-redesign #header .header-top .site-name,
.sd-redesign #header .header-top .navigation-buttons,
.sd-redesign #header .header-top .navigation-tools,
.sd-redesign #header .header-bottom { display: none !important; }
.sd-redesign #header .header-top { padding: 0 !important; min-height: 0 !important; height: auto !important; border: 0 !important; background: transparent !important; }
.sd-redesign #header .header-top-wrapper { min-height: 0 !important; height: 0 !important; padding: 0 !important; }
.sd-redesign #header {
  position: sticky !important;
  top: 0 !important;
  z-index: 40;
  background: rgba(255, 255, 255, .97);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid var(--sd-line-3);
  box-shadow: none !important;
  height: auto !important;
  transform: none !important;
}
.sd-redesign .site-msg.information { position: static !important; }
.sd-redesign .overall-wrapper { padding-top: 0 !important; }

.sd-utility { background: var(--sd-sand); color: #4A4038; font: 12.5px/1.4 var(--sd-font-text); }
.sd-utility-in { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; padding-top: 8px; padding-bottom: 8px; }
.sd-utility-usp { display: flex; gap: 22px; flex-wrap: wrap; }
.sd-utility-usp > span { display: inline-flex; align-items: center; gap: 6px; }
.sd-utility-usp .sd-ico { font-size: 17px; }
.sd-utility-links { display: flex; gap: 20px; }
.sd-utility-links a { color: #4A4038 !important; text-decoration: none; }
.sd-utility-links a:hover { color: var(--sd-brown-dark) !important; text-decoration: underline; }
.sd-utility-short { display: none; }

.sd-hbar-in { display: flex; align-items: center; gap: 28px; padding-top: 16px; padding-bottom: 16px; }
.sd-burger { display: none; }
.sd-logo { position: relative; flex: none; display: flex; align-items: center; }
.sd-logo a { display: flex; }
.sd-logo img { height: 30px; width: auto; max-width: none !important; display: block; }
.sd-search {
  flex: 1 1 320px;
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0;
  background: var(--sd-cream-2);
  border: 1px solid #EEE5DB;
  border-radius: var(--sd-pill);
  padding: 6px 6px 6px 18px;
}
.sd-search-ico { font-size: 20px; color: var(--sd-muted-2); }
.sd-search input {
  flex: 1;
  min-width: 0;
  height: auto;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  outline: none;
  padding: 4px 0 !important;
  font: 14px var(--sd-font-text);
  color: var(--sd-ink);
  -webkit-appearance: none;
  appearance: none;
}
.sd-search input::placeholder { color: var(--sd-muted-2); }
.sd-search input::-webkit-search-cancel-button { display: none; }
.sd-search button {
  border: 0;
  background: var(--sd-ink);
  color: #fff;
  font: 600 13px var(--sd-font-text);
  padding: 10px 20px;
  border-radius: var(--sd-pill);
  cursor: pointer;
}
.sd-search button:hover { filter: brightness(1.2); }
.sd-search:focus-within { border-color: var(--sd-tan); }
/* avatar kontaktní osoby – postava vystupuje z béžového kolečka */
.sd-face { --s: 48px; position: relative; width: var(--s); height: var(--s); flex: none; display: inline-block; }
.sd-face::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: var(--sd-sand); }
.sd-face img {
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100% !important;
  height: 125% !important;
  max-width: none !important;
  object-fit: cover;
  object-position: 50% 0;
  border-radius: 0 0 50% 50% / 0 0 40% 40%;
  display: block;
}
.sd-face-lg { --s: 76px; }
.sd-hcontact { display: flex; align-items: center; gap: 10px; flex: none; }
.sd-hcontact-txt { display: flex; flex-direction: column; line-height: 1.25; }
.sd-hcontact a { text-decoration: none; }
.sd-hcontact-phone { font-size: 14px; font-weight: 700; color: var(--sd-ink) !important; }
.sd-hcontact-mail { font-size: 12px; color: var(--sd-muted) !important; white-space: nowrap; }
.sd-hactions { display: flex; align-items: center; gap: 10px; flex: none; }
.sd-iconbtn {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid #EEE5DB;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-ink) !important;
  text-decoration: none !important;
}
.sd-iconbtn:hover { background: var(--sd-sand-2); }
.sd-cartbtn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--sd-brown);
  color: #fff !important;
  border-radius: var(--sd-pill);
  padding: 6px 18px 6px 6px;
  font: 600 14px var(--sd-font-text);
  text-decoration: none !important;
  white-space: nowrap;
}
.sd-cartbtn:hover { filter: brightness(.92); }
.sd-cartbtn-ico {
  position: relative;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(255, 255, 255, .18);
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.sd-cartbtn-ico .sd-ico { font-size: 20px; }
.sd-cart-badge {
  position: absolute;
  top: -4px;
  right: -4px;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 9px;
  background: var(--sd-ink);
  color: #fff;
  font: 700 10.5px/18px var(--sd-font-text);
  text-align: center;
}
.sd-cart-badge[hidden] { display: none; }

.sd-nav-in { display: flex; gap: 4px; flex-wrap: wrap; padding-bottom: 12px; }
.sd-nav-item, .sd-redesign a.sd-nav-item {
  padding: 8px 14px;
  border-radius: var(--sd-pill);
  font: 600 14px/1.3 var(--sd-font-text);
  color: var(--sd-ink);
  text-decoration: none;
  transition: background-color .15s;
}
.sd-nav-item:hover { background: var(--sd-sand-2); color: var(--sd-ink); }
.sd-nav-item.is-active { background: var(--sd-sand-2); color: var(--sd-brown-dark); }
.sd-nav-item.is-sale { color: var(--sd-red); }

/* Rozbalovací panel s podkategoriemi (desktop) – podkategorie ze Shoptetu */
.sd-nav-dd { position: relative; }
.sd-nav-dd .sd-nav-item { display: inline-flex; align-items: center; gap: 2px; padding-right: 10px; }
.sd-nav-caret { font-size: 18px; color: var(--sd-muted-2); transition: transform .15s; }
.sd-nav-dd.is-open .sd-nav-item { background: var(--sd-sand-2); }
.sd-nav-dd.is-open .sd-nav-caret { transform: rotate(180deg); }
.sd-nav-panel {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 60;
  padding-top: 8px;
  opacity: 0;
  visibility: hidden;
  transform: translateY(4px);
  transition: opacity .15s, transform .15s, visibility 0s .15s;
}
.sd-nav-dd.is-open .sd-nav-panel { opacity: 1; visibility: visible; transform: none; transition: opacity .15s, transform .15s; }
.sd-nav-panel-in {
  display: grid;
  grid-template-columns: repeat(2, minmax(220px, 1fr));
  gap: 6px 12px;
  width: max-content;
  max-width: min(640px, 90vw);
  padding: 14px;
  background: #fff;
  border: 1px solid var(--sd-line);
  border-radius: var(--sd-radius-lg);
  box-shadow: var(--sd-shadow-float);
}
.sd-nav-sub { display: flex; flex-direction: column; gap: 4px; }
.sd-redesign a.sd-nav-sub-main, .sd-nav-sub-main {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 6px;
  border-radius: var(--sd-radius-sm);
  font: 600 14px/1.3 var(--sd-font-text);
  color: var(--sd-ink);
  text-decoration: none;
}
.sd-nav-sub-main:hover { background: var(--sd-cream); color: var(--sd-ink); }
.sd-nav-sub-img {
  width: 44px;
  height: 44px;
  flex: none;
  border-radius: var(--sd-radius-sm);
  overflow: hidden;
  background: var(--sd-img-bg);
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-tan);
}
/* miniatura Shoptetu je 140×100 s fotkou uprostřed → zobrazíme jen střední čtverec bez bílých okrajů */
.sd-nav-sub-img img { width: 140%; max-width: none; height: 100%; margin-left: -20%; object-fit: fill; display: block; }
.sd-nav-panel-in.is-plain { grid-template-columns: minmax(200px, 1fr); }
.sd-nav-panel-in.is-plain .sd-nav-sub-img { display: none; }
.sd-nav-panel-in.is-plain .sd-nav-sub-main { padding: 9px 10px; }
.sd-nav-panel-in.is-plain .sd-nav-sub-kids { padding: 0 10px 8px; }
.sd-nav-sub-kids { display: flex; flex-wrap: wrap; gap: 4px 6px; padding: 0 6px 6px 62px; }
.sd-redesign .sd-nav-sub-kids a, .sd-nav-sub-kids a {
  font: 13px/1.4 var(--sd-font-text);
  color: var(--sd-muted);
  text-decoration: none;
  padding: 2px 10px;
  border: 1px solid var(--sd-line);
  border-radius: var(--sd-pill);
}
.sd-nav-sub-kids a:hover { border-color: var(--sd-tan); color: var(--sd-ink); }
.sd-redesign a.sd-nav-all, .sd-nav-all {
  grid-column: 1 / -1;
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  padding: 10px 6px 2px;
  border-top: 1px solid var(--sd-line-3);
  font: 600 13.5px var(--sd-font-text);
  color: var(--sd-brown-dark);
  text-decoration: none;
}
.sd-nav-all .sd-ico { font-size: 18px; }

/* ---------- Mobilní menu ---------- */
.sd-drawer { position: fixed; inset: 0; z-index: 1000; display: flex; }
.sd-drawer[hidden] { display: none; }
.sd-drawer-panel {
  width: min(340px, 88vw);
  height: 100%;
  background: #fff;
  overflow: auto;
  display: flex;
  flex-direction: column;
  transform: translateX(-100%);
  transition: transform .22s ease;
  font-family: var(--sd-font-text);
}
.sd-drawer.is-open .sd-drawer-panel { transform: none; }
.sd-drawer-overlay { flex: 1; background: rgba(30, 25, 20, .45); opacity: 0; transition: opacity .22s; }
.sd-drawer.is-open .sd-drawer-overlay { opacity: 1; }
.sd-drawer-head { display: flex; align-items: center; justify-content: space-between; padding: 12px 12px 12px 20px; border-bottom: 1px solid var(--sd-line-3); }
.sd-drawer-head img { height: 18px; width: auto; }
.sd-drawer-close { width: 44px; height: 44px; border: 0; background: none; display: flex; align-items: center; justify-content: center; color: var(--sd-ink); cursor: pointer; }
.sd-drawer-nav { display: flex; flex-direction: column; padding: 8px 0; }
.sd-drawer-nav a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 20px;
  font: 600 16px var(--sd-font-text);
  color: var(--sd-ink) !important;
  text-decoration: none;
  border-bottom: 1px solid var(--sd-cream-2);
}
.sd-drawer-nav .sd-ico { font-size: 20px; color: #B5ABA0; }
.sd-drawer-group { border-bottom: 1px solid var(--sd-cream-2); }
.sd-drawer-row { display: flex; align-items: stretch; }
.sd-drawer-nav .sd-drawer-row a { flex: 1; border-bottom: 0; }
.sd-drawer-toggle { width: 56px; border: 0; background: none; display: flex; align-items: center; justify-content: center; cursor: pointer; color: var(--sd-ink); }
.sd-drawer-toggle .sd-ico { transition: transform .15s; }
.sd-drawer-toggle[aria-expanded="true"] .sd-ico { transform: rotate(180deg); }
.sd-drawer-subs { display: flex; flex-direction: column; padding: 0 0 10px; background: var(--sd-cream); }
.sd-drawer-subs[hidden] { display: none; }
.sd-drawer-nav .sd-drawer-subs a { padding: 10px 20px 10px 32px; font: 500 15px var(--sd-font-text); border-bottom: 0; }
.sd-drawer-nav .sd-drawer-subs a.sd-drawer-sub3 { padding: 7px 20px 7px 48px; font: 400 14px var(--sd-font-text); color: var(--sd-muted) !important; }
.sd-drawer-links { display: flex; flex-direction: column; gap: 12px; padding: 16px 20px; font-size: 14px; }
.sd-drawer-links a { color: var(--sd-ink) !important; text-decoration: none; }
.sd-drawer-contact { margin-top: auto; background: var(--sd-cream); padding: 20px; display: flex; align-items: center; gap: 12px; font-size: 14px; }
.sd-drawer-contact > span { display: flex; flex-direction: column; gap: 2px; }
.sd-drawer-contact .sd-face { --s: 52px; }
.sd-drawer-contact a { color: var(--sd-ink) !important; text-decoration: none; }
.sd-drawer-contact a + a { color: var(--sd-muted) !important; }

/* Hlavička – tablet + mobil: menu pod ikonou, vyhledávání na vlastním řádku */
@media (max-width: 1199px) {
  .sd-utility-links { display: none; }
  .sd-utility-usp { width: 100%; justify-content: center; }
  .sd-hbar-in {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    grid-template-areas: "burger logo actions" "search search search";
    gap: 0;
    row-gap: 6px;
  }
  .sd-burger {
    grid-area: burger;
    justify-self: start;
    width: 44px;
    height: 44px;
    border: 0;
    background: none;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--sd-ink);
    cursor: pointer;
    padding: 0;
  }
  .sd-burger .sd-ico { font-size: 26px; }
  .sd-logo { grid-area: logo; }
  .sd-hcontact { display: none; }
  .sd-hactions { grid-area: actions; justify-self: end; }
  .sd-search { grid-area: search; }
  .sd-search input { font-size: 16px; }
  .sd-nav { display: none; }
}
/* Hlavička – jen tablet */
@media (min-width: 760px) and (max-width: 1199px) {
  .sd-hbar-in { padding-top: 12px; padding-bottom: 12px; }
  .sd-logo img { height: 26px; }
  .sd-search { height: 48px; padding: 0 5px 0 18px; }
}
/* Hlavička – jen mobil */
@media (max-width: 759px) {
  .sd-utility-usp { display: none; }
  .sd-utility-short { display: block; width: 100%; text-align: center; font-weight: 600; }
  .sd-utility-in { padding-top: 8px; padding-bottom: 8px; }
  .sd-hbar-in { row-gap: 2px; padding: 8px 12px 10px; }
  .sd-logo img { height: 20px; }
  .sd-hactions { gap: 2px; }
  .sd-iconbtn { border: 0; }
  .sd-cartbtn { width: 44px; height: 44px; padding: 0; justify-content: center; border-radius: 50%; }
  .sd-cartbtn-ico { background: none; width: auto; height: auto; }
  .sd-cartbtn-ico .sd-ico { font-size: 22px; }
  .sd-cart-badge { top: -8px; right: -10px; }
  .sd-cart-label { display: none; }
  .sd-search { height: 44px; padding: 0 4px 0 16px; margin-top: 4px; }
  .sd-search button { padding: 8px 14px; }
}

/* ---------- Karusel produktů ---------- */
.sd-arrows { display: flex; gap: 8px; }
.sd-arrow {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  border: 1px solid var(--sd-line-2);
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-ink);
  cursor: pointer;
  padding: 0;
}
.sd-arrow:hover { background: var(--sd-sand-2); }
.sd-track {
  display: flex !important;
  flex-wrap: nowrap !important;
  gap: 16px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scrollbar-width: none;
  padding: 2px 0 6px;
  margin: 0 !important;
}
.sd-track::-webkit-scrollbar { display: none; }
.sd-track { position: relative; }
/* karusel produktů zarovnaný s obsahem: vždy celý počet karet (desktop 5, široký 6, tablet 3) */
.sd-pcarousel .sd-track-item { flex-basis: calc((100% - 4 * 16px) / 5); }
@media (min-width: 1600px) { .sd-pcarousel .sd-track-item { flex-basis: calc((100% - 5 * 16px) / 6); } }
@media (min-width: 760px) and (max-width: 1199px) { .sd-pcarousel .sd-track-item { flex-basis: calc((100% - 2 * 16px) / 3); } }
.sd-arrow:disabled { opacity: .35; cursor: default; }
.sd-track-item { position: relative; flex: 0 0 250px; scroll-snap-align: start; display: flex; }
.sd-track-item > .product { width: 100% !important; max-width: none !important; flex: 1 1 auto !important; padding: 0 !important; margin: 0 !important; display: flex; }
.sd-track-item > .product > .p { width: 100%; }
@media (max-width: 759px) {
  .sd-track-item { flex-basis: 72vw; }
  .sd-pcarousel .sd-arrows { display: none; }
}

/* ---------- Recenze (jeden řádek, posuvné) ---------- */
.sd-reviews { padding-top: 72px; padding-bottom: 24px; }
.sd-reviews-in { display: grid; grid-template-columns: 300px minmax(0, 1fr); gap: 24px; align-items: start; }
.sd-reviews-sum {
  background: var(--sd-sand);
  border-radius: var(--sd-radius-xl);
  padding: 32px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.sd-reviews-sum .sd-eyebrow { color: var(--sd-brown-dark); letter-spacing: .16em; }
.sd-reviews-avg { display: flex; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.sd-reviews-num { font-family: var(--sd-font-head); font-weight: 500; font-size: 64px; line-height: 1; color: var(--sd-ink); }
.sd-reviews-count { font-size: 14px; color: #5A4B3F; }
.sd-reviews-actions { margin-top: auto; padding-top: 12px; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.sd-reviews-actions .sd-btn { padding: 11px 20px; font-size: 13.5px; }
.sd-reviews-actions .sd-arrow { background: rgba(255, 255, 255, .7); border-color: transparent; }
.sd-reviews-list { min-width: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.sd-review { border: 1px solid var(--sd-line); border-radius: var(--sd-radius-lg); padding: 20px; display: flex; flex-direction: column; gap: 8px; background: #fff; box-sizing: border-box; min-width: 0; }
.sd-review-head { display: flex; justify-content: space-between; gap: 8px; }
.sd-review-head b { font-size: 14.5px; color: var(--sd-ink); }
.sd-review-head span { font-size: 12px; color: var(--sd-muted-2); white-space: nowrap; }
.sd-review p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--sd-ink-2); display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 4; overflow: hidden; }
@media (min-width: 760px) and (max-width: 1199px) {
  .sd-reviews-in { grid-template-columns: minmax(0, 1fr); }
  .sd-reviews-sum { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 8px 24px; }
  .sd-reviews-actions { margin-top: 0; padding-top: 0; margin-left: auto; }
  .sd-reviews-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 759px) {
  .sd-reviews-in { grid-template-columns: minmax(0, 1fr); }
  .sd-reviews-list { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; padding-bottom: 4px; }
  .sd-reviews-list::-webkit-scrollbar { display: none; }
  .sd-review { flex: 0 0 80%; scroll-snap-align: start; }
}

/* ---------- Instagram ---------- */
.sd-insta { padding-top: 48px; padding-bottom: 72px; }
.sd-insta-btn { gap: 10px; }
.sd-insta-btn svg { width: 20px; height: 20px; flex: none; }
.sd-insta-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(100px, 1fr)); gap: 8px; }
.sd-insta-grid a { display: block; border-radius: var(--sd-radius); overflow: hidden; aspect-ratio: 1 / 1; background: var(--sd-img-bg); }
.sd-insta-grid img { width: 100%; height: 100%; object-fit: cover; display: block; transition: transform .3s; }
.sd-insta-grid a:hover img { transform: scale(1.04); }
@media (max-width: 759px) { .sd-insta-grid { grid-template-columns: repeat(3, 1fr); } }

/* ---------- Patička ---------- */
.sd-redesign #footer { background: var(--sd-sand) !important; color: var(--sd-ink); margin-top: 0 !important; border: 0 !important; padding: 0 !important; }
.sd-redesign #footer.sd-footer-ready .footer-rows { display: none !important; }
.sd-footer-in { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)) minmax(280px, 1.3fr); gap: 40px; padding-top: 56px; padding-bottom: 32px; }
@media (max-width: 1199px) {
  .sd-footer-in { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 36px 32px; }
  .sd-footer-news { grid-column: span 2; }
}
@media (max-width: 759px) {
  .sd-footer-in { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 20px; padding-top: 40px; }
  .sd-footer-care, .sd-footer-news { grid-column: 1 / -1; }
}
.sd-footer-col { display: flex; flex-direction: column; gap: 9px; font-size: 14px; }
.sd-footer-col a { color: var(--sd-ink) !important; text-decoration: none; font-weight: 400 !important; }
.sd-footer-col a:hover { color: var(--sd-brown-dark) !important; text-decoration: underline; }
.sd-footer-h { font-weight: 700; font-size: 15px; margin-bottom: 4px; }
.sd-footer-logo { height: 26px; width: auto; align-self: flex-start; margin-bottom: 6px; }
.sd-footer-care { gap: 6px; }
.sd-care-person { display: flex; align-items: center; gap: 14px; margin: 22px 0 8px; }
.sd-care-person .sd-face { --s: 72px; }
.sd-care-person .sd-face::before { background: #fff; }
.sd-care-person > span { display: flex; flex-direction: column; line-height: 1.3; }
.sd-care-person b { font-family: var(--sd-font-head); font-weight: 500; font-size: 20px; }
.sd-care-person small { font-size: 13px; color: #5A4B3F; }
.sd-footer-col a.sd-care-phone, .sd-redesign #footer a.sd-care-phone { font: 700 20px/1.2 var(--sd-font-text); color: var(--sd-ink) !important; font-weight: 700 !important; }
.sd-care-hours { font-size: 13px; color: #6B5D51; }
.sd-footer-col a.sd-care-mail { font-weight: 600 !important; }
.sd-footer-social { display: flex; gap: 8px; margin-top: 6px; }
.sd-footer-h-social { margin: 10px 0 2px; }
.sd-footer-social a, .sd-redesign .sd-footer-social a {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: var(--sd-ink) !important;
  text-decoration: none !important;
  transition: background-color .2s, color .2s;
}
.sd-footer-social a svg { width: 22px; height: 22px; }
.sd-footer-social a:hover { background: var(--sd-ink); color: #fff !important; }
.sd-footer-news { gap: 12px; }
.sd-footer-note { line-height: 1.5; color: #4A4038; }
.sd-news-form { display: flex; background: #fff; border-radius: var(--sd-pill); padding: 5px; gap: 6px; margin: 0; }
.sd-news-form input {
  flex: 1;
  min-width: 0;
  border: 0 !important;
  outline: none;
  background: transparent !important;
  box-shadow: none !important;
  padding: 0 12px !important;
  height: auto;
  font: 14px var(--sd-font-text);
}
.sd-news-form button { border: 0; background: var(--sd-ink); color: #fff; font: 700 13px var(--sd-font-text); padding: 10px 16px; border-radius: var(--sd-pill); cursor: pointer; }
.sd-news-msg { font-size: 12.5px; color: var(--sd-brown-dark); min-height: 1em; }
/* formulář newsletteru Shoptetu nad patičkou – v redesignu je newsletter v patičce (odesílá přes něj) */
.sd-redesign .footer-newsletter-full-width { display: none !important; }
.sd-news-consent { font-size: 12px; line-height: 1.45; color: #6B6158; }
.sd-news-consent p { margin: 0; }
.sd-news-consent a { color: inherit; text-decoration: underline; }
.sd-redesign #footer .footer-bottom-full-width { border-top: 1px solid #DCC8B3; background: transparent !important; }
.sd-redesign #footer .footer-bottom {
  max-width: calc(var(--sd-max) + 2 * var(--sd-gutter));
  width: auto !important;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 16px var(--sd-gutter) !important;
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 12px;
  flex-wrap: wrap;
  font-size: 12.5px;
  color: #5A4B3F !important;
  background: transparent !important;
  text-align: left !important;
}
.sd-redesign #footer .footer-bottom::before, .sd-redesign #footer .footer-bottom::after { display: none !important; content: none !important; }
.sd-redesign #footer .footer-bottom > * { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; position: static !important; text-align: left !important; }
.sd-redesign #footer #signature { display: inline-flex !important; align-items: center; gap: 6px; flex-wrap: wrap; }
.sd-redesign #footer #signature a { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; }
.sd-odm { display: inline-flex; align-items: center; gap: 5px; margin-left: 5px; }
.sd-redesign #footer .sd-odm a { font-weight: 700 !important; }
.sd-odm a:hover { text-decoration: underline !important; }
.sd-odm img { width: 20px; height: 20px; mix-blend-mode: multiply; border-radius: 4px; }
@media (max-width: 759px) {
  .sd-redesign #footer .footer-bottom { flex-direction: column; justify-content: center !important; text-align: center !important; }
  .sd-redesign #footer .footer-bottom > * { text-align: center !important; }
  .sd-redesign #footer #signature { justify-content: center; }
}
.sd-redesign #footer .footer-bottom a { color: #5A4B3F !important; }

/* ---------- Bez problikávání: stránka se ukáže, až je nový vzhled hotový (pojistka 2,5 s) ---------- */
body { opacity: 0; animation: sd-reveal .2s 2.5s forwards; }
html.sd-ready body { opacity: 1; animation: none; transition: opacity .15s; }
@keyframes sd-reveal { to { opacity: 1; } }
/* Bez „zmenšování“ při načtení: Shoptet má u dlaždic, tlačítek a políček animaci všech změn (0,3 s) – když je nový
   vzhled přeskládá, plynule se zmenšují. Animace jsou proto vypnuté, dokud se stránka neusadí (třída sd-anim
   přibude chvíli po zobrazení), a dlaždicím produktů trvale (jinak by se zmenšovaly i po „Načíst další“). */
html:not(.sd-anim) body * { transition: none !important; }
.sd-redesign .product, .sd-redesign .product.active, .sd-redesign .product.inactive { transition: none !important; }

/* ---------- Toast ---------- */
.sd-toast {
  position: fixed;
  left: 50%;
  bottom: 28px;
  transform: translate(-50%, 20px);
  background: var(--sd-ink);
  color: #fff;
  padding: 12px 20px;
  border-radius: var(--sd-pill);
  font: 600 14px var(--sd-font-text);
  display: flex;
  gap: 10px;
  align-items: center;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
  z-index: 1001;
  opacity: 0;
  pointer-events: none;
  transition: opacity .2s, transform .2s;
}
.sd-toast.is-visible { opacity: 1; transform: translate(-50%, 0); }
.sd-toast .sd-ico { color: #9BD27D; font-size: 20px; }

/* ---------- Testovací štítek „Jsi v redesignu“ (jen během vývoje) ---------- */
.sd-test-badge, .sd-redesign a.sd-test-badge {
  position: absolute;
  left: 100%;
  top: 50%;
  transform: translateY(-50%);
  margin-left: 12px;
  padding: 4px 10px !important;
  border-radius: var(--sd-pill) !important;
  background: var(--sd-red) !important;
  color: #fff !important;
  font: 700 11.5px/1.3 var(--sd-font-text) !important;
  white-space: nowrap;
  text-decoration: none !important;
  z-index: 30;
  display: inline-block !important;
  width: auto !important;
  height: auto !important;
}
.sd-test-badge:hover { filter: brightness(.92); }
@media (min-width: 1200px) { .sd-logo:has(.sd-test-badge) { margin-right: 118px; } }
@media (max-width: 1199px) {
  .sd-test-badge, .sd-redesign a.sd-test-badge { left: 50%; top: 100%; transform: translateX(-50%); margin: 1px 0 0; font-size: 9.5px !important; padding: 1px 7px !important; }
}

/* ---------- Hlášky Shoptetu (odebráno z košíku apod.) ---------- */
.sd-redesign .messages .msg {
  max-width: 560px;
  margin: 12px auto !important;
  border-radius: var(--sd-pill) !important;
  background: var(--sd-ink) !important;
  color: #fff !important;
  font: 600 14px/1.4 var(--sd-font-text) !important;
  padding: 12px 22px !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
  text-align: center;
  border: 0 !important;
}
.sd-redesign .messages .msg-error { background: var(--sd-red) !important; }

/* ---------- Karta produktu – cena při slevě: nová a přeškrtnutá vedle sebe, zarovnané vlevo ---------- */
.sd-redesign .products .p .prices { justify-content: flex-start !important; align-items: baseline !important; column-gap: 8px !important; }
.sd-redesign .products .p .prices .price-final { flex: 0 0 auto !important; width: auto !important; }
.sd-redesign .products .p .prices .price-standard { margin: 0 !important; padding: 0 !important; left: auto !important; position: static !important; text-align: left !important; flex: 0 0 auto !important; width: auto !important; }
.sd-redesign .products .p .prices .price-measure { flex: 0 0 100% !important; margin: 2px 0 0 !important; text-align: left !important; }
