/* ===================================================================
   ARIES MEDISHOP — přesná kopie ariesmedishop.cz
   Každý detail laděn podle screenshotů originálu
   =================================================================== */
@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;600;700&display=swap');

/* ── Proměnné ─────────────────────────────────────────────────────── */
:root {
  --orange:       #f7941d;
  --orange-dark:  #d97c0e;
  --orange-hover: #d46510;
  --gray:         #333333;
  --gray-mid:     #666666;
  --gray-light:   #999999;
  --border:       #DDDDDD;
  --red:          #CC0000;
  --blue-zp:      #1A3A6E;
  --blue-new:     #2B7EC4;
  --green:        #28a745;
  --footer-bg:    #3a3a3a;
  --footer-dark:  #2a2a2a;
}

/* ── Reset ────────────────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; }
body { font-family:'Open Sans',Arial,sans-serif; font-size:14px; color:var(--gray); margin:0; background:#fff; overflow-x:hidden; }
a { color:var(--gray); text-decoration:none; }
a:hover { color:var(--orange); }
img { max-width:100%; height:auto; }
button { font-family:inherit; }

/* ── Skrýt výchozí panel (My Account, Sign In...) ───────────────── */
.panel.wrapper { display:none !important; }

/* ── Široká stránka — jako M1 (1400px), neomezit blank theme defaultem 1280px ── */
.page-wrapper { width:100%; }
.cms-index-index .page-main,
.cms-index-index .columns,
.cms-index-index main#maincontent {
  max-width:none !important; padding:0 !important; margin:0 auto !important;
}
.cms-index-index .columns .column.main { padding:0 !important; }
/* Pro ostatní stránky stejný container jako header (1280 px max) */
.page-main, main#maincontent { max-width:1280px; }

/* ════════════════════════════════════════════════════════════════════
   HEADER — M1 STYLE (85×85 boxes, 5px gray separators)
   header NENÍ přes celou šířku, drží se v 1280px max
   ════════════════════════════════════════════════════════════════════ */
.page-header {
  background:#fff;
  border-bottom:none;
  position:relative; z-index:500;
  width:100%;
}
.page-header > .panel.wrapper { display:none !important; }

/* Header content: max-width 1280px, centrované */
.header.content {
  max-width:1280px; margin:0 auto; padding:0;
  position:relative; min-height:90px;
  display:flex; flex-direction:row; align-items:center; gap:0;
  flex-wrap:nowrap;
}

/* Hamburger skrýt na desktopu */
.nav-toggle { display:none !important; }

/* ── Logo vlevo ─────────────────────────────────────────────────── */
.logo {
  flex:0 0 auto; order:0;
  margin-right:auto; padding:0 20px 0 16px;
  line-height:1;
}
.logo strong { display:none; }
.logo img {
  display:block;
  max-height:70px; max-width:320px;
  height:auto !important; width:auto !important;
  object-fit:contain;
}

/* ── Top-links: 5 boxů 85×85 (M1: search | stores | user | wishlist | cart) */
.block-search { order:1; flex:0 0 90px; margin:0 !important; padding:0 !important; }
.aries-header-extra {
  order:2; flex:0 0 auto; display:flex !important;
  margin:0 !important; padding:0 !important; gap:0 !important;
}
.aries-header-extra > .aries-hicon { margin:0 !important; padding:0 !important; }
.minicart-wrapper {
  order:3; flex:0 0 90px;
  margin:0 !important; padding:0 !important;
  border-right:5px solid #e6e6e6;
}
.minicart-wrapper > .action.showcart { margin:0 !important; }

/* Box pro každou ikonu — 85×85 white box, 5px gray left border.
   PNG sprite je 85×53 (jen ikona, label se rendruje CSS pseudo elementem
   pod ikonou). Pozice background = top-left, žádné scaling — přesně M1. */
.block-search,
.aries-header-extra > .aries-hicon,
.minicart-wrapper > .action.showcart {
  background-color:#fff;
  background-repeat:no-repeat;
  background-position:0 0;
  background-size:auto;
  background-clip:padding-box;     /* hover BG nepokrývá border-left → symetrické oddělovače */
  border-left:5px solid #e6e6e6;
  box-sizing:content-box;
  width:85px; height:85px;
  display:block; float:none;
  text-align:center; text-transform:uppercase;
  color:#000; font-size:11px; font-weight:400; letter-spacing:.5px;
  text-decoration:none; cursor:pointer; white-space:nowrap;
  position:relative;
  font-family:Arial,sans-serif;
  line-height:1;
}

/* Hover: pale orange */
.block-search:hover, .block-search.active, .block-search._active,
.aries-header-extra > .aries-hicon:hover,
.aries-header-extra > .aries-hicon.active,
.minicart-wrapper > .action.showcart:hover,
.minicart-wrapper.active > .action.showcart {
  background-color:#FFE3C1;
}

/* Ikony jako CSS background (PNG 85×53 z M1) */
.block-search { background-image:url("../images/top-search.png"); }
.aries-header-extra .aries-hicon-stores   { background-image:url("../images/top-stores.png"); }
.aries-header-extra .aries-hicon-account  { background-image:url("../images/top-user.png"); }
.aries-header-extra .aries-hicon-wishlist { background-image:url("../images/top-wishlist.png"); }
.minicart-wrapper > .action.showcart      { background-image:url("../images/top-cart.png"); }

/* "Najít" label uvnitř search boxu */
.block-search::after {
  content:'Najít';
  position:absolute; bottom:10px; left:0; right:0;
  font-size:11px; font-weight:400; line-height:1;
  text-transform:uppercase; color:#000;
  pointer-events:none;
}

/* Hide block-title + label, show only on dropdown */
.block-search > .block-title { display:none; }
.block-search > .block-content > .form .label,
.block-search .field.search > label { display:none !important; }

/* Skrýt SVG ikony uvnitř ikon-tlačítek (používáme background image) */
.aries-header-extra .aries-hicon svg,
.aries-header-extra .aries-hicon::before,
.minicart-wrapper .action.showcart svg { display:none !important; }

/* Skrýt Magento blank theme font icon ::before na cart, search, ostatní */
.minicart-wrapper > .action.showcart::before,
.block-search > .label::before {
  content:none !important;
  display:none !important;
}
/* My pseudo elements pro labels MUSÍ být ::after (ne ::before) */

/* ── Texty pod ikonami (zobrazené ve spodní části 85×85 boxu) ─── */
.block-search .block-title { display:none; }
.block-search > .label > span { font-size:0; line-height:0; }
.block-search > .label > span::after {
  content:'Najít';
  position:absolute; bottom:10px; left:5px; right:0;
  font-size:11px; font-weight:400; line-height:1;
  text-transform:uppercase; color:#000;
}

/* PRODEJNY */
.aries-hicon-stores > span:not(.aries-hicon-count) { font-size:0; line-height:0; }
.aries-hicon-stores > span:not(.aries-hicon-count)::after {
  content:'Prodejny';
  position:absolute; bottom:10px; left:5px; right:0;
  font-size:11px; font-weight:400; line-height:1;
  text-transform:uppercase; color:#000;
}

/* PŘIHLÁSIT */
.aries-hicon-account > span:not(.aries-hicon-count) { font-size:0; line-height:0; }
.aries-hicon-account > span:not(.aries-hicon-count)::after {
  content:'Přihlásit';
  position:absolute; bottom:10px; left:5px; right:0;
  font-size:11px; font-weight:400; line-height:1;
  text-transform:uppercase; color:#000;
}

/* OBLÍBENÉ */
.aries-hicon-wishlist .aries-hicon-label { font-size:0; line-height:0; }
.aries-hicon-wishlist .aries-hicon-label::after {
  content:'Oblíbené';
  position:absolute; bottom:10px; left:5px; right:0;
  font-size:11px; font-weight:400; line-height:1;
  text-transform:uppercase; color:#000;
}
/* (early dup-rule replaced — see consolidated rule below at line ~232) */

/* KOŠÍK label "Košík" pod ikonou (override Magento clip:rect default) */
.minicart-wrapper > .action.showcart .text {
  position:absolute; bottom:10px; left:0; right:0;
  font-size:11px; font-weight:400; line-height:1;
  text-transform:uppercase; color:#000;
  display:block;
  width:auto !important; height:auto !important;
  clip:auto !important; clip-path:none !important;
  overflow:visible !important;
  text-align:center;
  margin:0; padding:0;
}
.minicart-wrapper > .action.showcart::after { display:none; }
.minicart-wrapper > .action.showcart .counter-label { display:none; }
/* Counter — číslo PŘES kruh v PNG ikoně (M1 styl).
   PNG sprite je 85×53, kruh má střed na (59, 37) v souřadnicích PNG.
   Box má 5px border-left → střed kruhu v boxu je (64, 37). */
.minicart-wrapper .counter.qty {
  background:transparent !important; color:#000 !important;
  font-size:11px !important; font-weight:400 !important; line-height:12px !important;
  padding:0 !important; border-radius:0 !important; border:none !important;
  margin:0 !important;                                /* M2 default 3px top margin -> off */
  position:absolute !important;
  left:57px !important; top:31px !important;
  right:auto !important; bottom:auto !important;
  width:14px !important; height:12px !important;
  min-width:0 !important; text-align:center !important;
  display:block !important;
}
.minicart-wrapper .counter-number { display:inline; }
/* Hide loader/spinner before */
.minicart-wrapper .counter.qty::before { display:none !important; content:none !important; }
/* Když je košík prázdný, zobraz "0" v kruhu */
.minicart-wrapper .counter.qty.empty::after {
  content:'0' !important; display:block !important;
  color:#000; font-size:11px !important; line-height:12px !important;
  position:static;
  margin:0 !important; padding:0 !important;
}
.minicart-wrapper .counter.qty .counter-number {
  font-size:11px !important; line-height:12px !important;
  display:block !important;
}
/* Stejné pro OBLÍBENÉ wishlist counter — střed kruhu (64, 37) v boxu */
.aries-hicon-wishlist .aries-hicon-count {
  position:absolute;
  left:57px; top:31px;
  right:auto; bottom:auto;
  font-size:11px; line-height:12px; color:#000;
  background:transparent; padding:0;
  width:14px; height:12px; text-align:center;
  font-style:normal;
}

/* Skrýt výchozí header.links */
.header.links { display:none !important; }

/* ── Search dropdown — M1 styl: dvě formy (název / ZP kód) ───── */
.block-search .block-content {
  display:none;
  position:absolute; top:85px; right:-5px;
  background:rgba(255, 227, 193, 0.97);
  padding:18px 20px;
  width:430px; z-index:1000;
  line-height:1;
  text-align:left; cursor:auto;
}
/* Hover bridge: 12px invisible area above panel so mouse can travel from
   button to panel without losing :hover. Without it, the gap between
   button (85px tall) and panel (top:90px) made the dropdown close. */
.block-search .block-content::before {
  content:'';
  position:absolute;
  top:-12px; left:0; right:0; height:12px;
  background:transparent;
}
.block-search:hover .block-content,
.block-search:focus-within .block-content,
.block-search.active .block-content,
.block-search._active .block-content { display:block; }

.block-search .form.minisearch + .form.minisearch { margin-top:10px; }
.block-search .form.minisearch { display:flex; align-items:stretch; }
.block-search .field.search { display:flex; flex:1; margin:0; padding:0; }
.block-search .control { flex:1; min-width:0; padding:0; border:none; }
.block-search input {
  border:1px solid #ccc; border-radius:0;
  padding:9px 12px; font-size:13px; width:100%;
  background:#fff; height:36px; box-sizing:border-box;
  text-transform:none; color:#000;
}
.block-search input:focus { border-color:var(--orange); outline:none; }
.block-search .actions {
  flex:0 0 auto;
}
.block-search .action.search {
  background:var(--orange); border:none; border-radius:0;
  padding:0 16px; color:#fff; cursor:pointer; font-size:13px; font-weight:600;
  height:36px; opacity:1;
}
.block-search .action.search:hover { background:var(--orange-dark); }
.block-search .action.search > span {
  position:static; clip:auto; clip-path:none; width:auto; height:auto; overflow:visible;
  font-size:13px; line-height:1; color:#fff; font-weight:600;
}
.block-search .nested { display:none; }
.block-search label,
.block-search .block-title { display:none !important; }

/* ════════════════════════════════════════════════════════════════════
   NAVIGACE — M1 styl. Wrapper full-width pozadí bílé, vnitřek 1280px orange
   ════════════════════════════════════════════════════════════════════ */
.nav-sections { background:#fff !important; margin:0; }
.nav-sections-item-content { background:#fff !important; padding:0 !important; }
.nav-sections-items { background:#fff !important; }
/* Navigace — každé tlačítko je samostatný oranžový blok, mezi nimi bílá
   mezera (parent má bílé pozadí, gap mezi flex položkami). */
.navigation {
  background:#fff !important;
  padding:0 !important; margin:0 auto !important;
  max-width:1280px !important;
}
.navigation ul {
  display:flex !important; flex-flow:row nowrap;
  list-style:none; margin:0; padding:0;
  background:#fff;
  gap:3px;
  align-items:stretch !important;
}

/* Skrýt všechny down-arrows / submenu indikátory ze Magento blank theme */
.navigation .level0.submenu .all-category,
.navigation .ui-menu-icon { display:none !important; }
.nav-sections-item-title { display:none !important; }

/* Level 0 — top-level kategorie. Pack tightly so `gap` is the only spacing
   between buttons (predtim space-between rozhazoval prostor a gap byl
   ignorovany). */
.navigation > ul {
  width:100%; max-width:1280px;
  justify-content:flex-start !important;
}

/* Filler za posledním menu tlačítkem — vyplňuje prostor až ke konci KOŠÍK.
   Není klikatelný, bez textu, designově navazuje na oranžový pruh. */
.navigation > ul::after {
  content:'';
  flex:1 1 auto;
  height:32px;
  background:var(--orange);
  display:block;
  pointer-events:none;
}
.navigation > ul > li.level0 {
  flex:0 1 auto; min-width:0;
  text-align:center;
}
/* Top-nav buttons matching M1 ariesmedishop.cz proportions —
   ~32px tall orange tiles, 12px uppercase, narrow white gap between. */
.navigation > ul > li.level0 > a {
  display:block !important;
  height:32px !important; line-height:32px !important;
  padding:0 16px !important;
  color:#fff !important; font-size:12px !important; font-weight:700 !important;
  text-transform:uppercase; white-space:nowrap;
  background:var(--orange) !important;
  border:none !important;
  text-decoration:none;
  transition:background .15s;
  font-family:Arial, sans-serif;
  letter-spacing:0;
  margin:0 !important;
}
.navigation > ul > li.level0 { margin:0 !important; padding:0 !important; }
.navigation > ul > li.level0:last-child > a { border-right:none; }
.navigation > ul > li.level0:first-child > a::before { content:''; }

/* Auto-shrink padding/font on smaller screens */
@media (max-width:1300px) {
  .navigation > ul > li.level0 > a { padding:0 11px !important; font-size:11px !important; }
}
@media (max-width:1100px) {
  .navigation > ul > li.level0 > a { padding:0 7px !important; font-size:10px !important; }
}
@media (max-width:900px) {
  .navigation > ul > li.level0 > a { padding:0 5px !important; font-size:10px !important; }
}

/* Hover/active top-nav: M1 = #ffe3c1 BG, orange text */
.navigation > ul > li.level0:hover > a,
.navigation > ul > li.level0 > a:hover,
.navigation > ul > li.level0.active > a,
.navigation > ul > li.level0._active > a {
  background:#ffe3c1 !important; color:var(--orange) !important;
  text-decoration:none;
}

/* ── Submenu (lev2) — dropdown VŽDY přes celou šířku stránky ─── */
/* Klíč: position:static na lev0, dropdown absolute s left:0/right:0 vůči .nav-sections (ne lev0) */
.nav-sections { position:relative; }
.navigation > ul > li.level0 { position:static !important; }
.navigation > ul > li.level0 > .submenu {
  display:none !important;
  position:absolute !important;
  top:100% !important; left:0 !important; right:0 !important;
  width:100% !important; max-width:none !important; min-width:0 !important;
  background:#fff; padding:24px 24px 30px;
  box-shadow:0 6px 16px rgba(0,0,0,.18); z-index:1001;
  margin:0;
  box-sizing:border-box;
}
@media (min-width:769px) {
  .navigation > ul > li.level0:hover > .submenu { display:block !important; }
}
.nav-sections-items { position:relative; }

/* Megamenu — grid layout (5 sloupců). DEFAULT skryté, na hover grid.
   Compact spacing — radky bliž u sebe nez puvodne (24/30 → 14/16). */
.navigation > ul > li.level0 > ul.submenu.aries-megamenu {
  display:none !important;
  grid-template-columns:repeat(5, 1fr);
  list-style:none; margin:0 auto; padding:14px 24px 16px;
  max-width:1280px; width:100%;
  gap:12px 24px;
  box-sizing:border-box;
  text-align:left;
}
/* Hover otevírání jen na desktopu (>768px) — mobile používá .aries-open accordion */
@media (min-width:769px) {
  .navigation > ul > li.level0:hover > ul.submenu.aries-megamenu,
  .navigation > ul > li.level0._active > ul.submenu.aries-megamenu {
    display:grid !important;
  }
}
.navigation > ul > li.level0 > ul.submenu.aries-megamenu > li.level1 {
  padding-left:80px;
  position:relative;
  list-style:none;
  min-height:64px;
  width:auto;
  text-align:left;
  display:block;
  margin:0;
}

/* Sloupec mega menu — položka level1 */
.aries-nav-cat-link {
  display:block !important;
  text-decoration:none; padding:0;
  position:relative; min-height:64px;
}

/* Větší ikonka (64×64) absolutně vlevo */
.aries-nav-cat-img {
  position:absolute; left:-82px; top:0;
  width:64px; height:64px;
  display:flex; align-items:center; justify-content:center;
}
.aries-nav-cat-img img {
  margin:auto; max-width:100%; max-height:64px; display:block;
  width:auto; height:auto;
}
.aries-nav-noimg { display:none; }

/* Název kategorie — bold orange, 14px */
.aries-nav-cat-name {
  display:flex; align-items:center; min-height:36px;
  font-size:14px; font-weight:700; color:var(--orange);
  line-height:1.2; text-transform:none;
}
.aries-nav-cat-link:hover .aries-nav-cat-name { color:var(--orange-dark); text-decoration:underline; }

/* Level 2 — sub-list pod nadpisem (M1 styl).
   Sublist je <div> s <a> sourozenci (žádné <li>!). Použít NATURAL height
   přes line-height (ne height!) — když text wrapuje na dva řádky kvůli
   úzkému sloupci, anchor naroste a nepřekrývá další položku. */
.navigation .aries-nav-cat-sublist {
  display:block !important; margin:6px 0 0; padding:0;
  text-align:left !important;
}
.navigation .aries-nav-sublink {
  display:block !important;
  line-height:1.35 !important;
  padding:1px 0 !important; margin:0 !important;
  font-size:13px; color:#000 !important; text-decoration:none;
  text-align:left !important; text-transform:none !important;
  font-weight:400;
  /* Allow wrap if text is longer than column. */
  white-space:normal;
  word-wrap:break-word;
  overflow-wrap:break-word;
}
.navigation .aries-nav-sublink:hover { color:var(--orange) !important; text-decoration:underline; }

/* Level 2/3 submenu items (děti pod každou kategorií, fallback) */
.navigation .submenu li.level1 > ul,
.navigation .submenu li.level1 .submenu {
  list-style:none; margin:2px 0 0; padding:0;
  display:block !important; position:static !important;
  background:transparent; box-shadow:none; border:none; width:auto;
  column-count:1;
}
.navigation .submenu li.level2 { padding:0; margin:0; }
.navigation .submenu li.level2 > a {
  display:block; padding:0;
  font-size:12px; color:#000; text-decoration:none; line-height:1.55;
}
.navigation .submenu li.level2 > a:hover { color:var(--orange); }

/* ════════════════════════════════════════════════════════════════════
   DROBEČKOVÁ NAVIGACE
   ════════════════════════════════════════════════════════════════════ */
.breadcrumbs { padding:10px 0; }
.breadcrumbs .items { display:flex; flex-wrap:wrap; list-style:none; margin:0; padding:0; }
.breadcrumbs .item { font-size:13px; color:var(--gray-mid); }
.breadcrumbs .item > a { color:var(--gray-mid); }
.breadcrumbs .item > a:hover { color:var(--orange); }
.breadcrumbs .item:not(:last-child)::after { content:' ▶ '; color:var(--orange); font-size:9px; margin:0 2px; }
/* Skrýt "Domů" první položku breadcrumbs (M1 styl — bez Home) */
.breadcrumbs .items .item.home { display:none !important; }

/* ════════════════════════════════════════════════════════════════════
   STRÁNKA KATEGORIE
   ════════════════════════════════════════════════════════════════════ */
.page-title-wrapper .page-title {
  color:var(--orange); font-size:22px; font-weight:700; margin:12px 0 16px;
}
/* Category banner image (the M2 default 'image' attribute) — skrýt, banner je v description */
.category-image { display:none; }
/* Aries banner — vložen do description jako <p class="aries-cat-banner"><img></p> */
.aries-cat-banner { margin:0 0 16px; text-align:center; }
.aries-cat-banner img { max-width:100%; height:auto; display:inline-block; }
/* Orange odkazy v popisu kategorie (M1 styl) */
.category-description { margin-bottom:18px; line-height:1.5; color:var(--gray); }
.category-description a,
.category-cms a,
.product.attribute.description a,
.product-info-main .description a {
  color:var(--orange) !important; text-decoration:underline;
}
.category-description a:hover,
.category-cms a:hover,
.product.attribute.description a:hover,
.product-info-main .description a:hover { color:var(--orange-dark) !important; }

/* ── Podkategorie s obrázky (M1 styl) ─────────────────────────── */
.aries-subcategories {
  display:flex; flex-wrap:wrap; gap:8px; margin-bottom:24px;
  padding:12px 0;
}
.aries-subcat-tile {
  display:flex; flex-direction:row; align-items:center;
  flex:1 1 calc(33.33% - 8px); min-width:240px; max-width:calc(33.33% - 8px);
  border:1px solid var(--border); background:#fff; border-radius:3px;
  padding:14px 18px; text-align:left; transition:box-shadow .2s, border-color .2s;
  color:var(--gray); text-decoration:none;
  position:relative;
}
.aries-subcat-tile::before {
  content:'▶'; position:absolute; left:6px; top:50%; transform:translateY(-50%);
  color:var(--gray-light); font-size:8px;
}
.aries-subcat-tile:hover { box-shadow:0 3px 12px rgba(0,0,0,.1); border-color:var(--orange); color:var(--orange); }
.aries-subcat-tile img {
  width:60px; height:60px; object-fit:contain; margin-right:14px; flex-shrink:0;
  margin-left:14px;
}
.aries-subcat-noimg { width:60px; height:60px; background:#f5f5f5; margin-right:14px; margin-left:14px; }
.aries-subcat-name { font-size:14px; font-weight:600; line-height:1.3; color:inherit; }
@media (max-width:768px) { .aries-subcat-tile { flex-basis:calc(50% - 6px); max-width:calc(50% - 6px); } }
@media (max-width:480px) { .aries-subcat-tile { flex-basis:100%; max-width:100%; } }

/* SORT ZÁLOŽKY — jako originál: Nejnovější | Doporučujeme | ... | ☐ Akce | ☐ Na poukaz ZP */
.aries-sort-bar {
  display:flex; align-items:center; flex-wrap:wrap; gap:0;
  border:1px solid var(--border); border-radius:3px;
  background:#fff; margin-bottom:20px; overflow:hidden;
  /* Sort/filter links use #aries-sort-bar anchor to land here after reload
     (instead of jumping to top). The margin keeps subcategory banners + page
     title visible above the bar after the anchor scroll. */
  scroll-margin-top:20px;
}
.aries-sort-tab {
  padding:9px 14px; font-size:13px; font-weight:400; color:var(--gray);
  background:#fff; border:none; border-right:1px solid var(--border);
  cursor:pointer; white-space:nowrap; transition:background .15s;
}
.aries-sort-tab:last-child { border-right:none; }
.aries-sort-tab:hover { background:#f5f5f5; }
.aries-sort-tab.active { background:var(--orange); color:#fff; font-weight:600; }
.aries-sort-check {
  display:flex; align-items:center; gap:6px;
  padding:9px 14px; font-size:13px; color:var(--gray); border-right:1px solid var(--border);
  cursor:pointer; white-space:nowrap;
}
.aries-sort-check input[type=checkbox] { width:16px; height:16px; cursor:pointer; accent-color:var(--orange); }
/* ── Horizontální filtry (dropdown) ─────────────────────────────────────── */
.aries-filter-bar {
  position:relative;
  border:1px solid var(--border);
  border-radius:3px;
  background:#fff;
  margin-bottom:16px;
  z-index:50;
}
/* Tab lišta */
.aries-ftabs { display:flex; }
.aries-ftab {
  display:flex; align-items:center; gap:6px;
  padding:9px 16px;
  font-size:13px; font-weight:600; color:var(--gray);
  background:none; border:none; border-right:1px solid var(--border);
  cursor:pointer; transition:background .15s, color .15s;
  white-space:nowrap;
}
.aries-ftab:last-child { border-right:none; }
.aries-ftab:hover, .aries-ftab.open {
  background:var(--orange); color:#fff;
}
.aries-ftab.has-selection {
  background:#fff5e6; color:var(--orange);
}
.aries-ftab.has-selection.open {
  background:var(--orange); color:#fff;
}
.aries-ftab-dot {
  display:inline-block; width:7px; height:7px; border-radius:50%;
  background:var(--orange); flex-shrink:0; margin-left:2px;
}
.aries-ftab.open .aries-ftab-dot,
.aries-ftab:hover .aries-ftab-dot { background:#fff; }

/* Active filter shown inside panel: "Vybráno: [chip] ✕ Zrušit" */
.aries-fselected {
  display:flex; align-items:center; gap:10px; flex-wrap:wrap;
  max-width:100%;
}
.aries-fselected-label { font-size:13px; color:var(--gray); font-weight:600; flex-shrink:0; }
.aries-fchip-active {
  background:var(--orange); color:#fff !important; border-color:var(--orange) !important;
  cursor:default; pointer-events:none;
  /* Při dlouhém výpisu (např. 14 barev) povolíme zalomit do více řádků */
  white-space:normal !important;
  word-break:break-word;
  max-width:calc(100% - 80px);
  line-height:1.4;
}
.aries-fremove {
  font-size:12px; color:#fff; background:#999;
  padding:5px 11px; border-radius:20px;
  text-decoration:none; transition:background .15s;
}
.aries-fremove:hover { background:#666; color:#fff; }
.aries-ftab-arr {
  width:10px; height:6px; flex-shrink:0;
  transition:transform .2s;
}
.aries-ftab.open .aries-ftab-arr { transform:rotate(180deg); }

/* Dropdown panel */
.aries-fpanel {
  position:absolute;
  top:100%; left:-1px; right:-1px;
  background:#fff;
  border:1px solid var(--border); border-top:none;
  border-radius:0 0 3px 3px;
  padding:14px 16px;
  box-shadow:0 6px 16px rgba(0,0,0,.10);
  z-index:200;
}

/* Chips inside panel */
.aries-fchips { display:flex; flex-wrap:wrap; gap:6px; }
.aries-filter-chip {
  display:inline-flex; align-items:center; gap:4px;
  padding:5px 11px; font-size:12px; color:var(--gray);
  border:1px solid var(--border); border-radius:20px;
  transition:background .15s, border-color .15s; cursor:pointer;
  white-space:nowrap;
}
.aries-filter-chip:hover {
  background:var(--orange); color:#fff; border-color:var(--orange);
}
.aries-filter-count { font-size:11px; color:#aaa; font-weight:400; }
.aries-filter-chip:hover .aries-filter-count { color:rgba(255,255,255,.75); }

/* Color swatch inside chip */
.aries-color-swatch {
  display:inline-block; flex-shrink:0;
  width:16px; height:16px; border-radius:3px;
  border:1px solid rgba(0,0,0,.18);
  vertical-align:middle;
  background:#eee;
}
.aries-color-chip:hover .aries-color-swatch { border-color:rgba(255,255,255,.5); }

/* Price slider */
.aries-pslider { max-width:420px; }
.aries-pslider-vals {
  display:flex; align-items:center; gap:6px;
  margin-bottom:10px; font-size:13px; font-weight:600; color:var(--gray);
}
.aries-pval-sep { color:#bbb; }

.aries-range-wrap {
  position:relative; height:24px; margin:0 8px 12px;
}
.aries-range-track {
  position:absolute; top:50%; transform:translateY(-50%);
  width:100%; height:4px;
  background:var(--border); border-radius:2px;
}
.aries-range-fill {
  position:absolute; top:0; height:100%;
  background:var(--orange); border-radius:2px;
  left:0; right:0;
}
.aries-range {
  position:absolute; top:50%; transform:translateY(-50%);
  width:100%; height:4px;
  background:transparent; pointer-events:none;
  -webkit-appearance:none; appearance:none; margin:0;
  outline:none;
}
.aries-range::-webkit-slider-thumb {
  pointer-events:all; -webkit-appearance:none;
  width:18px; height:18px; border-radius:50%;
  background:var(--orange); cursor:pointer;
  border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.aries-range::-moz-range-thumb {
  pointer-events:all; width:14px; height:14px; border-radius:50%;
  background:var(--orange); cursor:pointer;
  border:2px solid #fff; box-shadow:0 1px 4px rgba(0,0,0,.25);
}
.aries-papply {
  display:inline-block; padding:6px 18px;
  font-size:12px; font-weight:600; color:#fff;
  background:var(--orange); border:none; border-radius:3px;
  cursor:pointer; transition:opacity .15s;
}
.aries-papply:hover { opacity:.85; }

/* Skrýt výchozí Magento toolbar sorter — používáme vlastní aries-sort-bar */
.toolbar-sorter { display:none !important; }
.toolbar.toolbar-products {
  display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap;
  gap:6px; margin-bottom:10px; padding:0;
  border:none; background:none;
}
.toolbar-amount { font-size:13px; color:var(--gray-mid); }
.limiter { display:none; } /* Skrýt limiter — stránkování postačuje */

/* ════════════════════════════════════════════════════════════════════
   GRID PRODUKTŮ — výpis
   ════════════════════════════════════════════════════════════════════ */
.products-grid .product-items {
  display:flex; flex-wrap:wrap; list-style:none; margin:0; padding:0;
}
/* 4 produkty v řadě — čtvercový design (M1 styl) */
.products-grid .product-items { display:flex !important; flex-wrap:wrap !important; }
.products-grid .product-item {
  width:calc(25% - 0.5px) !important;
  flex:0 0 calc(25% - 0.5px) !important;
  max-width:calc(25% - 0.5px) !important;
  padding:0 0 20px !important;
  margin:0 !important;
}
@media (max-width:1024px){
  .products-grid .product-item { width:calc(33.333% - 0.5px) !important; flex-basis:calc(33.333% - 0.5px) !important; max-width:calc(33.333% - 0.5px) !important; }
}
@media (max-width:640px) {
  .products-grid .product-item { width:calc(50% - 0.5px) !important; flex-basis:calc(50% - 0.5px) !important; max-width:calc(50% - 0.5px) !important; }
}

.product-item-info {
  border:none; background:#fff;
  position:relative; overflow:hidden;
  display:flex; flex-direction:column;
  height:100%; margin:0 8px;
  transition:box-shadow .2s;
}
.product-item-info:hover { box-shadow:0 4px 16px rgba(0,0,0,.10); }

/* Product image — čtvercový kontejner, žádné rámečky.
   Scoped to .products-grid (category list) and .product.media (PDP) so it
   doesn't override .minicart-items / .cart.item where Magento's own layout
   (float:left + max-width:100px) is correct. */
.products-grid .product-item-photo,
.product.media .product-item-photo { display:block; background:#fff; border:none; position:relative; }
.products-grid .product-item-photo .product-image-container,
.product.media .product-item-photo .product-image-container {
  display:block !important; width:100% !important;
  position:relative; padding-bottom:100%; /* čtverec 1:1 */
  overflow:hidden; background:#fff;
}
.products-grid .product-item-photo .product-image-wrapper,
.product.media .product-item-photo .product-image-wrapper {
  position:absolute !important; top:0; left:0; right:0; bottom:0;
  background:#fff; padding-bottom:0 !important; height:100%;
  display:flex; align-items:center; justify-content:center;
}
.products-grid .product-item-photo .product-image-photo,
.product.media .product-item-photo .product-image-photo {
  position:static !important;
  max-width:100%; max-height:100%; width:auto !important; height:auto !important;
  object-fit:contain; border:none;
}
.products-grid .product-item-info:hover .product-item-photo .product-image-photo { opacity:.95; }

/* Minicart: keep Magento blank's float-left layout but make sure the image
   is visible (no width:0 collapse) — explicit dimensions match the
   image_with_borders.html template's width=78 / height=auto. */
.minicart-items .product-item-photo {
  display:block; float:left; max-width:78px; max-height:78px;
  margin-right:8px;
}
.minicart-items .product-item-photo .product-image-container {
  display:block !important; width:78px !important;
}
.minicart-items .product-item-photo .product-image-wrapper {
  display:block !important; position:relative !important;
  padding-bottom:100% !important; height:auto !important;
}
.minicart-items .product-item-photo .product-image-photo {
  position:absolute !important; top:0; left:0;
  width:78px !important; height:78px !important; object-fit:contain;
}

.product-item-details { padding:10px 10px 8px; flex:1; display:flex; flex-direction:column; }
h2.product-item-name, .product-item-name { flex:1; min-height:36px; margin:0 0 8px; font-weight:400; }
h2.product-item-name a, .product-item-name a {
  font-size:13px; color:var(--gray); line-height:1.4; font-weight:400;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.product-item-name a:hover { color:var(--orange); }

/* Spodní řádek karty produktu: ceny vlevo, lupa vpravo */
.product-item .aries-price-action-row {
  display:flex !important; align-items:center; justify-content:space-between;
  gap:8px; margin-top:auto; padding-top:6px; width:100%;
}
.product-item .aries-price-action-row > .product-item-inner {
  margin:0 !important; flex:0 0 auto; padding:0;
}

/* Ceny stackované sloupcově: sleva badge → stará cena → nová cena */
.product-item .price-box.aries-price-box {
  display:flex !important; flex-direction:column !important;
  align-items:flex-start; flex-wrap:nowrap !important;
  gap:2px; margin:0; flex:1 1 auto; min-width:0;
}
.aries-price-box .aries-discount { align-self:flex-start; }
.aries-price-box .old-price,
.aries-price-box .special-price { display:block; margin:0; }
.price { font-size:16px; font-weight:700; color:var(--orange); }
.old-price .price { font-size:12px; color:var(--gray-light); text-decoration:line-through; font-weight:400; }
.special-price .price { color:var(--orange); }

.product-item-actions { margin:0; }
.product-item-actions .actions-primary { display:flex; justify-content:flex-end; align-items:center; }

/* Tlačítko "Zobrazit detaily" (jako M1 btn-cart) */
.product-item-actions .action.tocart,
.product-item-actions .action.details {
  background:var(--orange); color:#fff; border:none;
  padding:6px 14px; border-radius:2px; font-size:13px; font-weight:600;
  cursor:pointer; text-decoration:none; display:inline-block;
}
.product-item-actions .action.tocart:visited,
.product-item-actions .action.details:visited { color:#fff; }
.product-item-actions .action.tocart:hover,
.product-item-actions .action.details:hover { background:var(--orange-dark); color:#fff; }

/* Sleva badge */
.aries-discount { background:var(--red); color:#fff; font-size:11px; font-weight:700; padding:2px 6px; border-radius:2px; }

/* ── Odznaky produktu ────────────────────────────────────────────── */
.aries-badge {
  position:absolute; z-index:5; font-size:11px; font-weight:700;
  padding:3px 8px; border-radius:2px; text-transform:uppercase; pointer-events:none;
}
.aries-badge-sale { top:6px; left:6px; background:var(--red); color:#fff; }
.aries-badge-new  { top:6px; left:6px; background:var(--blue-new); color:#fff; }
.aries-badge-zp   { top:6px; right:6px; background:var(--blue-zp); color:#fff; font-size:10px; }
.aries-badge-top  { top:6px; left:6px; background:var(--orange); color:#fff; }
/* Dva odznaky vlevo — posunout druhý */
.aries-badge-sale ~ .aries-badge-new,
.aries-badge-new ~ .aries-badge-sale { top:30px; }

/* ════════════════════════════════════════════════════════════════════
   HOMEPAGE — slider + tabulkové sekce (M1 styl)
   ════════════════════════════════════════════════════════════════════ */

/* Slider — přes CELOU šířku okna (ne max-width) */
.aries-slider { width:100%; max-width:none; margin:0 0 24px; padding:0; }
.aries-slider-inner {
  position:relative; overflow:hidden; background:#f0f0f0;
  width:100%; min-height:380px; max-height:520px;
}
/* Plynulý fade přechod mezi slidy (místo problikávání) */
.aries-slide {
  position:absolute; top:0; left:0; right:0;
  opacity:0; visibility:hidden;
  transition:opacity .6s ease-in-out, visibility .6s;
  pointer-events:none;
}
.aries-slide.active {
  position:relative; opacity:1; visibility:visible; pointer-events:auto;
}
.aries-slide img { width:100%; min-height:380px; max-height:520px; object-fit:cover; display:block; }
.aries-slide a { display:block; }
.aries-sl-prev, .aries-sl-next {
  position:absolute; top:50%; transform:translateY(-50%);
  background:rgba(255,255,255,.8); border:none; cursor:pointer;
  width:36px; height:36px; border-radius:50%;
  font-size:14px; display:flex; align-items:center; justify-content:center;
  color:var(--gray); z-index:10; transition:background .15s;
}
.aries-sl-prev { left:10px; }
.aries-sl-next { right:10px; }
.aries-sl-prev:hover, .aries-sl-next:hover { background:#fff; color:var(--orange); }
.aries-sl-dots {
  position:absolute; bottom:10px; left:50%; transform:translateX(-50%);
  display:flex; gap:6px; z-index:10;
}
.aries-sl-dot {
  width:10px; height:10px; border-radius:50%;
  background:rgba(255,255,255,.55); border:none; cursor:pointer; padding:0;
  transition:background .15s;
}
.aries-sl-dot.active { background:var(--orange); }

/* ── Tabulkové sekce ─────────────────────────────────────────────── */
.aries-hp-tabs-wrap { max-width:1400px; margin:0 auto; padding:0 8px; }
.aries-tab-group { margin-bottom:24px; }

/* Tab navigace (M1: background #ffe3c1, text orange, uppercase) */
.aries-tab-nav {
  background:#ffe3c1; display:flex; margin:0;
}
.aries-tab-link {
  flex:1; display:block; text-align:center;
  padding:15px 8px;
  color:var(--orange); font-size:18px; font-weight:600;
  text-transform:uppercase; text-decoration:none;
  border-left:2px solid #fff; transition:background .15s, color .15s;
}
.aries-tab-link:first-child { border-left:none; }
.aries-tab-link:hover { background:#ffd4a0; color:var(--orange-dark); }
.aries-tab-link.active {
  background:var(--orange); color:#fff;
}

/* Tab obsah — skrytý/zobrazený */
.aries-tab-section { display:none; background:#fff; }
.aries-tab-section.active { display:block; }

/* Karusel navigace — Předchozí/Další jsou ve společné liště NAD gridem,
   oba na stejné výšce. Žádné floats → nepostrkávají produkty. */
.aries-prod-carousel { position:relative; padding:32px 0 8px; }
.aries-car-nav {
  position:absolute; top:0; height:24px; line-height:24px;
  margin:0; padding:0 8px;
}
.aries-car-prev { left:0; }
.aries-car-next { right:0; }
.aries-car-arr {
  color:var(--orange); text-decoration:none; font-size:14px; font-weight:600;
}
.aries-car-arr:hover { color:var(--orange-dark); text-decoration:underline; }

/* Mřížka produktů — 4 na řádku (jako M1) */
.aries-products-grid {
  list-style:none; margin:0; padding:0;
  display:flex; flex-wrap:wrap;
}
.hp-item {
  width:25%; box-sizing:border-box;
  padding:8px; border-right:1px solid var(--border); border-bottom:1px solid var(--border);
}
.hp-item:nth-child(4n) { border-right:none; }
.hp-no-products { padding:20px; color:var(--gray-mid); font-size:13px; }

/* Karta produktu (M1 styl) */
.hp-product-box {
  text-align:center; cursor:pointer;
  transition:box-shadow .2s; height:100%;
}
.hp-product-box:hover { box-shadow:0 2px 8px rgba(0,0,0,.12); }

.hp-product-image {
  position:relative; display:block; text-align:center;
  border:none; transition:none;
}
.hp-product-image:hover { border:none; }
.hp-product-image img {
  width:100%; height:220px; object-fit:contain; display:block;
  transition:transform .3s;
}
.hp-product-box:hover .hp-product-image img { transform:scale(1.03); }
.hp-no-img { width:100%; height:220px; background:#f5f5f5; display:block; }

/* Odznaky (flag) */
.hp-flag-area {
  position:absolute; top:4px; left:4px; right:4px;
  display:flex; justify-content:space-between; pointer-events:none; z-index:5;
}
.hp-flag {
  display:inline-block; font-size:10px; font-weight:700;
  padding:2px 6px; text-transform:uppercase;
}
.hp-flag-new  { background:var(--blue-new); color:#fff; }
.hp-flag-akce { background:var(--red);      color:#fff; }
.hp-flag-zp   { background:var(--blue-zp);  color:#fff; }

/* Produktové info pod obrázkem */
.hp-product-info { padding:8px 4px; text-align:left; }
.hp-product-name {
  font-size:13px; font-weight:400; margin:0 0 8px;
}
.hp-product-name a {
  color:var(--gray); text-decoration:none; line-height:1.4;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
  min-height:37px;
}
.hp-product-name a:visited { color:var(--gray); }
.hp-product-name a:hover { color:var(--orange); }

/* Tlačítko "Zobrazit detaily" (M1 styl) */
.hp-add-to-cart { margin:6px 0; }
.hp-btn-detail {
  display:inline-block; background:var(--orange); color:#fff;
  padding:6px 14px; font-size:12px; font-weight:600;
  text-decoration:none; border-radius:2px; transition:background .15s;
}
.hp-btn-detail:visited { color:#fff; }
.hp-btn-detail:hover { background:var(--orange-dark); color:#fff; }

/* Cena (M1 styl) */
.hp-price-box { margin-top:6px; }
.hp-final-price .hp-price {
  font-size:16px; font-weight:700; color:var(--orange);
}
.hp-special-price .hp-price {
  font-size:16px; font-weight:700; color:var(--orange);
}
.hp-old-price { margin:0 0 2px; }
.hp-old-price .hp-price {
  font-size:13px; color:var(--gray-light); text-decoration:line-through;
}
.hp-discount {
  font-size:11px; color:var(--gray-mid); margin-left:4px;
}

/* "Zobrazit vše" odkaz pod každou sekcí */
.aries-show-all {
  text-align:center; padding:10px 0 14px;
  border-top:1px solid var(--border); margin-top:0;
}
.aries-show-all a {
  color:var(--orange); font-size:13px; font-weight:600; text-decoration:none;
}
.aries-show-all a:hover { text-decoration:underline; color:var(--orange-dark); }

/* ════════════════════════════════════════════════════════════════════
   DETAIL PRODUKTU — M1 1:1 PORT
   ════════════════════════════════════════════════════════════════════ */

/* Layout: image LEFT | info RIGHT (M1 product-essential = float layout) */
.catalog-product-view .columns .column.main {
  display:block;
  position:relative;
}
.catalog-product-view .product.media {
  width:48%; float:left; padding:0 16px 16px 0;
  box-sizing:border-box;
}
.catalog-product-view .product-info-main {
  width:52%; float:right; padding:0 0 0 16px;
  box-sizing:border-box;
}
.catalog-product-view .product.info.detailed {
  width:100%; clear:both; padding:24px 16px 0;
  box-sizing:border-box;
}

/* Title NAD obrázkem (přesunuto layout XML) — full width */
.catalog-product-view .product.media .page-title-wrapper {
  margin:0 0 16px 0; padding:0;
}
.catalog-product-view .product.media .page-title-wrapper .page-title,
.catalog-product-view .page-title-wrapper.product .page-title {
  color:var(--orange); font-size:24px; font-weight:700;
  line-height:1.25; margin:0;
}

/* Dostupnost — M1 styl: "Skladem | Předpokládaný termín doručení 12. 5. 2026" inline */
.catalog-product-view .product-info-stock-sku {
  font-size:13px; line-height:1.6; margin-bottom:6px;
  display:flex; flex-wrap:wrap; gap:6px 18px; align-items:baseline;
}
.catalog-product-view .product-info-stock-sku .stock {
  font-weight:600; color:#28a745; font-size:14px;
}
.catalog-product-view .product-info-stock-sku .stock::before {
  content:none;
}
.catalog-product-view .product-info-stock-sku .stock.unavailable { color:#cc0000; }

/* Předpokládaný termín doručení — vedle Skladem (M1 inline) */
.aries-delivery-info {
  display:inline; font-size:13px; color:#666; font-weight:400;
  margin:0;
}
.aries-delivery-info strong { color:#666; font-weight:400; }

/* Move delivery info INLINE next to stock */
.catalog-product-view .product-info-main {
  display:flex; flex-direction:column;
}
.catalog-product-view .product-info-stock-sku { order:1; }

/* Skrýt SKU box (originál M1 ho neukazuje) */
.catalog-product-view .product.attribute.sku { display:none; }

/* Předpokládaný termín doručení (M1) — inline vedle Skladem */
.aries-delivery-info {
  display:inline; margin:0 0 0 12px;
  font-size:13px; color:#666; font-weight:400;
}
.aries-delivery-info strong { color:#666; font-weight:400; }

/* Skrýt Magento default towishlist/tocompare tlačítka pod KOUPIT — M1 nemá */
.product-social-links,
.catalog-product-view .product-social-links {
  display:none !important;
}

/* Social share + print + email — M1 ikony pod KOUPIT */
.aries-product-share {
  display:flex; gap:6px; margin:14px 0; align-items:center;
}
.aries-product-share a {
  display:inline-flex; align-items:center; justify-content:center;
  width:34px; height:34px;
  border:1px solid #ddd; border-radius:2px;
  color:#666; text-decoration:none; font-size:16px; font-weight:bold;
  transition:all .15s;
  background:#fff;
}
.aries-product-share a:hover { border-color:var(--orange); color:var(--orange); background:#fff8f0; }

/* Více informací link */
.aries-product-more-info {
  display:block; padding:10px 0 6px; margin:14px 0 4px;
  border-top:1px solid #eee;
  font-size:13px; color:#666; text-decoration:none;
}
.aries-product-more-info:hover { text-decoration:underline; color:var(--orange); }
.aries-product-more-info::before { content:'➜ '; color:var(--orange); }

/* Výrobce */
.aries-product-manufacturer {
  font-size:13px; color:#666;
  padding:4px 0 14px;
  border-bottom:1px solid #eee;
}
.aries-product-manufacturer strong { color:#333; font-weight:600; }

/* Související produkty - "Možná Vás zaujme" (M1 carousel) */
.aries-related-products {
  margin:36px 0 24px;
  width:100%; clear:both;
}
.aries-related-title {
  color:var(--orange); font-size:20px; font-weight:700;
  margin:0 0 16px; padding-bottom:6px;
  border-bottom:2px solid var(--orange);
}
.aries-related-list {
  display:flex; flex-wrap:nowrap; gap:14px;
  list-style:none; margin:0; padding:0;
  overflow-x:auto;
}
.aries-related-item {
  flex:0 0 calc(16.666% - 12px); min-width:160px; max-width:200px;
  border:1px solid #eee; background:#fff;
  transition:border-color .15s, box-shadow .15s;
}
.aries-related-item:hover {
  border-color:var(--orange);
  box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.aries-related-link {
  display:flex; flex-direction:column; gap:8px;
  padding:10px; text-decoration:none; color:#333;
  height:100%;
}
.aries-related-img {
  display:block; width:100%; height:140px; overflow:hidden;
  display:flex; align-items:center; justify-content:center;
  background:#fff;
}
.aries-related-img img { max-width:100%; max-height:140px; object-fit:contain; display:block; }
.aries-related-noimg { background:#f5f5f5; }
.aries-related-name {
  font-size:12px; line-height:1.4; color:#333;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden; min-height:32px;
}
.aries-related-link:hover .aries-related-name { color:var(--orange); }
.aries-related-price { font-size:14px; font-weight:700; color:var(--orange); margin-top:auto; }
.aries-related-old { display:block; font-size:11px; color:#999; text-decoration:line-through; font-weight:400; }

@media (max-width:1024px) {
  .aries-related-item { flex-basis:calc(33.333% - 10px); max-width:none; }
}
@media (max-width:640px) {
  .aries-related-item { flex-basis:calc(50% - 7px); }
}

/* Štítky / Tags v product info */
.aries-product-tags {
  margin:14px 0; display:flex; flex-wrap:wrap; gap:6px;
  padding:10px 0; border-top:1px solid #eee;
}
.aries-product-tags-label {
  font-size:13px; color:#666; font-weight:600; margin-right:6px;
}
.aries-product-tag {
  display:inline-block; padding:4px 10px;
  background:#fff; border:1px solid #ddd; border-radius:14px;
  font-size:12px; color:#666; text-decoration:none;
  transition:all .15s;
}
.aries-product-tag:hover { background:var(--orange); color:#fff; border-color:var(--orange); }

/* Kód produktu (SKU) */
.aries-product-sku {
  font-size:13px; color:#666; padding:4px 0;
}
.aries-product-sku strong { color:#333; font-weight:600; }

/* Cart "Zpět do obchodu" link */
.cart.actions .action.continue {
  background:#fff; color:var(--orange) !important;
  border:1px solid var(--orange);
  padding:8px 16px; font-weight:600;
  text-decoration:none; display:inline-flex; align-items:center;
}
.cart.actions .action.continue::before {
  content:'◄ '; margin-right:4px;
}

.product-info-price { margin-bottom:16px; }
.product-info-price .price { font-size:28px; font-weight:700; color:var(--orange); }
.product-info-price .old-price .price { font-size:17px; color:var(--gray-mid); font-weight:400; text-decoration:line-through; }

/* Skrýt "As low as" / "Nejnižší cena od" / "Regular Price" label */
.price-box .price-label { display:none !important; }

/* Zobrazit přeškrtnutou starou cenu (Magento ji skrývá přes .no-display) */
.catalog-product-view .price-box .old-price.sly-old-price,
.catalog-product-view .price-box .old-price { display:inline-block !important; margin-right:6px; }

/* Cena jako na M1: stará cena nahoře, nová cena velká dole */
.catalog-product-view .price-box {
  display:flex; flex-direction:column; gap:4px;
}
/* Řádek se starou cenou a textem slevy */
.catalog-product-view .price-box .old-price { display:flex !important; align-items:center; gap:10px; }
/* Akční cena (final) – velká oranžová */
.catalog-product-view .price-box .normal-price .price,
.catalog-product-view .price-box .special-price .price { font-size:30px; font-weight:700; color:var(--orange); }
/* Stará cena – menší přeškrtnutá */
.catalog-product-view .price-box .old-price .price { font-size:16px; color:var(--gray-mid); font-weight:400; }

/* Skrýt placeholder "Zbývá jen %1" — zobrazí JS až po výběru varianty */
.availability.only.configurable-variation-qty { display:none; }

/* Skrýt SKU v product-info (nepotřebné na frontendu) */
.catalog-product-view .product-info-stock-sku .product.attribute.sku { display:none; }

/* Skrýt prázdnou sekci recenzí */
.catalog-product-view .product-reviews-summary.empty { display:none; }

/* Dostupnost — jako M1: jen "Skladem" zeleně bez prefixu */
.product-info-stock-sku { margin-bottom:14px; }
.stock.available { color:var(--green); font-weight:700; font-size:13px; }
.stock.unavailable { color:var(--red); font-weight:700; }

/* Krátký popis produktu (overview / short description) */
.product.attribute.overview { margin-bottom:16px; padding:12px 0; border-top:1px solid var(--border); border-bottom:1px solid var(--border); }
.product.attribute.overview .value { font-size:13px; line-height:1.75; color:var(--gray); }

/* AKCE / sleva badge na detailu produktu.
   The `.aries-badge` base rule sets position:absolute (correct for category
   tiles where the positioned ancestor is the photo). On PDP we render them
   inside an inline flex wrap above the price — override back to static so
   they don't pin to top:6/left:6 of product-info-main and overlap the
   title / SKLADEM. */
.aries-product-badge-wrap { display:flex; gap:6px; flex-wrap:wrap; margin-bottom:10px; }
.aries-product-badge-wrap .aries-badge,
.aries-product-badge-wrap .aries-badge-sale,
.aries-product-badge-wrap .aries-badge-discount {
  position:static !important;
  top:auto !important; left:auto !important; right:auto !important; bottom:auto !important;
  margin:0;
}
.aries-badge-discount { background:#e53e3e; color:#fff; font-size:12px; font-weight:700; padding:3px 8px; border-radius:2px; }

/* Barevné vzorky — jako M1 */
.swatch-attribute { margin-bottom:16px; max-width:480px; }
.swatch-attribute-label { font-weight:700; font-size:14px; display:inline-block; margin-bottom:8px; margin-right:8px; padding:0; }
.swatch-attribute-selected-option { font-weight:400; color:var(--orange); margin-left:6px; }
.swatch-opt, .swatch-attribute-options { margin:0; display:flex; flex-wrap:wrap; gap:4px; padding:0; }

.swatch-option {
  display:inline-block; cursor:pointer; padding:0;
  border:1px solid #ccc;
  position:relative; box-sizing:border-box;
  margin:0;
}

/* VIZUÁLNÍ barevný vzorek — čtvereček s hex barvou (Magento renderuje style="background:#XXX") */
.swatch-option.color {
  width:40px; height:40px; min-width:40px; overflow:hidden;
  background-size:cover !important; background-position:center !important;
  background-repeat:no-repeat !important;
}
.swatch-option.color:hover,
.swatch-option.color.selected {
  border:1px solid var(--orange) !important;
  outline:2px solid var(--orange); outline-offset:0;
}
.swatch-option.color.disabled { opacity:.35; cursor:not-allowed; }
.swatch-option.color.disabled::after {
  content:''; position:absolute; inset:0;
  background:linear-gradient(to bottom right,transparent calc(50% - 1px),#c00 50%,transparent calc(50% + 1px));
}

/* OBRÁZKOVÝ swatch (vícebarevné PNG vzory) — stejná velikost jako jednobarevné swatche */
.swatch-option.image {
  width:40px !important; height:40px !important; min-width:40px !important;
  background-size:cover !important; background-position:center !important;
  background-repeat:no-repeat !important;
  overflow:hidden;
}
.swatch-option.image:hover,
.swatch-option.image.selected {
  border:1px solid var(--orange) !important;
  outline:2px solid var(--orange); outline-offset:0;
}
.swatch-option.image.disabled { opacity:.35; cursor:not-allowed; }

/* TEXT swatch — pro velikosti / vzory bez hex */
.swatch-option.text {
  min-width:44px; height:40px; padding:0 12px; line-height:38px;
  text-align:center; font-size:13px; font-weight:600;
  background:#fff; color:var(--gray); border:1px solid #ccc;
}
.swatch-option.text:hover,
.swatch-option.text.selected { border-color:var(--orange); background:var(--orange); color:#fff; }
.swatch-option.text.disabled { color:#bbb; text-decoration:line-through; opacity:.6; cursor:not-allowed; }

/* Konfigurovatelný produkt — vertikální stack (M1 styl) */
.product-options-wrapper { margin:14px 0; max-width:none; }
.product-options-wrapper .fieldset {
  display:flex !important; flex-direction:column !important; gap:14px;
}
.product-options-wrapper .field.configurable {
  margin-bottom:0; display:block; width:100%;
}
/* Swatch-opt obsahuje VŠECHNY swatch atributy — stack je vertikálně */
.swatch-opt { display:block !important; }
.swatch-attribute {
  display:block !important; width:100% !important; float:none !important;
  margin:0 0 14px 0 !important;
  clear:both;
}
.swatch-attribute:last-child { margin-bottom:0 !important; }
.swatch-attribute > .swatch-attribute-label,
.swatch-attribute > label {
  display:block; width:100%;
  font-weight:700; font-size:14px; color:var(--gray);
  margin-bottom:6px; padding:0;
}
.swatch-attribute > .swatch-attribute-options {
  display:block; width:100%;
}
.product-options-wrapper .field.configurable > .label,
.swatch-attribute > .swatch-attribute-label,
label.swatch-attribute-label {
  font-weight:700; font-size:14px; color:var(--gray);
  display:block; margin-bottom:8px; padding:0;
  width:auto; float:none;
}
.product-options-wrapper .field.configurable .control { width:100%; min-width:0; }

/* Dropdown velikosti — full width, never clipped, comfortable padding.
   Magento_Swatches generuje <select class="swatch-select size_option">
   přes JS, takže selektor cílí přesně na něj. */
.swatch-attribute.size .swatch-attribute-options select,
.product-options-wrapper select.swatch-select,
select.swatch-select,
select.super-attribute-select {
  width:100% !important; max-width:100% !important; min-width:0 !important;
  border:1px solid var(--border) !important; border-radius:0 !important;
  padding:0 56px 0 14px !important;
  font-size:14px !important; color:var(--gray) !important;
  appearance:none !important; -webkit-appearance:none !important; -moz-appearance:none !important;
  background-color:#fff !important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M7 10l5 5 5-5z' fill='%23fff'/%3E%3C/svg%3E"), linear-gradient(var(--orange), var(--orange)) !important;
  background-repeat:no-repeat !important;
  background-position:right 0 center, right 0 center !important;
  background-size:42px 42px, 42px 100% !important;
  cursor:pointer !important; height:42px !important; line-height:42px !important;
  box-sizing:border-box !important;
  text-overflow:clip !important; overflow:visible !important;
}
.swatch-attribute.size .swatch-attribute-options select:focus,
select.swatch-select:focus,
select.super-attribute-select:focus {
  outline:none !important; border-color:var(--orange) !important;
}
select option { font-size:13px; padding:5px; line-height:1.3; }

/* Množství s +/- buttons (M1) — same height as KOUPIT button.
   Magento blank theme má vyšší specificity rules na qty input (h:52px),
   takže všechny rozměry vynucujeme přes !important. */
.field.qty {
  display:flex !important; align-items:stretch !important;
  border:1px solid var(--border); border-radius:2px;
  width:fit-content; margin:0 !important;
  position:relative;
  height:42px !important;
  box-sizing:border-box !important;
  align-self:center;
}
.field.qty .label {
  padding:0 14px !important; background:#f0f0f0;
  font-size:13px; font-weight:600;
  border-right:1px solid var(--border);
  display:flex !important; align-items:center;
  height:100% !important; box-sizing:border-box !important;
}
.field.qty .control {
  display:flex !important; align-items:stretch !important;
  position:relative; width:auto;
  height:100% !important; box-sizing:border-box !important;
}
.field.qty input[type=number],
.field.qty input.qty {
  width:60px !important; border:none !important; text-align:center;
  font-size:15px; font-weight:600;
  padding:0 24px 0 4px !important;
  -moz-appearance:textfield;
  height:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
.field.qty input::-webkit-outer-spin-button,
.field.qty input::-webkit-inner-spin-button {
  -webkit-appearance:none; margin:0;
}
.field.qty input:focus { outline:none; }
/* +/- buttons via JS injected pseudo elements */
.field.qty .control::before,
.field.qty .control::after {
  position:absolute; right:0;
  width:22px; height:50%; cursor:pointer;
  background:#f8f8f8; border-left:1px solid var(--border);
  display:flex; align-items:center; justify-content:center;
  font-size:11px; color:var(--gray); user-select:none;
  font-weight:700; line-height:1;
  pointer-events:auto;
}
.field.qty .control::before { content:'▲'; top:0; border-bottom:1px solid var(--border); padding-top:2px; }
.field.qty .control::after { content:'▼'; bottom:0; padding-bottom:2px; }
.field.qty input[type=number] { padding-right:24px; width:60px; }

/* Tlačítko KOUPIT + Množství — M1 styl, side-by-side, stejné výšky.
   Magento blank uses display:table on .box-tocart — override with !important. */
.product-info-main .box-tocart,
.box-tocart {
  display:flex !important; flex-wrap:wrap; gap:10px; align-items:center;
  margin-top:14px;
}
.box-tocart > .fieldset {
  display:flex !important; flex-wrap:wrap; gap:10px; align-items:center;
  width:100%; padding:0; margin:0; border:none;
}
.box-tocart .field.qty {
  display:flex !important; flex:0 0 auto; margin:0;
  padding:0 !important;
}
.box-tocart .actions {
  display:flex !important; flex:1 1 auto; min-width:180px; margin:0;
  padding:0 !important;
}
.action.tocart.primary {
  background:var(--orange); border:none; color:#fff;
  font-size:16px; font-weight:700; padding:0 24px; border-radius:2px;
  width:100%; cursor:pointer; text-transform:uppercase; letter-spacing:.5px;
  display:flex; align-items:center; justify-content:center; gap:10px;
  height:42px; line-height:1; box-sizing:border-box;
}
.action.tocart.primary:hover { background:var(--orange-dark); }
.action.tocart.primary::before { content:'🛒'; font-size:18px; }

/* Záložky produktu — M1 styl: Popis | Hodnocení */
/* M1: aktivní tab = bílé pozadí + ORANGE BOTTOM BORDER (3px) */
/* M1 tabs — works with Magento's mage/tabs widget
   Magento's tabs.js floats .data.item.title elements left and absolute-positions
   .data.item.content to overlay the row. We add the orange under-line and
   restyle. */
.product.info.detailed { margin-top:24px; clear:both !important; width:100% !important; }
.product.info.detailed .product.data.items {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-end !important;
  position:relative;
  border-bottom:3px solid var(--orange);
  margin:0 0 0 0 !important;
  padding:0 !important;
  min-height:42px;
}
.product.info.detailed .data.item.title {
  order:1 !important;
  flex:0 0 auto !important;
  float:none !important;
  width:auto !important;
  margin:0 4px 0 0 !important;
  padding:0 !important;
  background:transparent !important;
  border:none !important;
}
.product.info.detailed .data.item.title > .switch {
  display:block !important;
  padding:10px 22px !important;
  height:auto !important;
  line-height:1.4 !important;
  background:#fff !important;
  color:#999 !important;
  font-size:14px !important;
  font-weight:600 !important;
  text-decoration:none !important;
  text-transform:none !important;
  border:1px solid #ddd !important;
  border-bottom:none !important;
  margin-bottom:-3px !important;
  position:relative;
  z-index:1;
}
.product.info.detailed .data.item.title:hover > .switch {
  color:var(--orange) !important;
}
.product.info.detailed .data.item.title.active > .switch {
  background:#fff !important;
  color:var(--orange) !important;
  border:1px solid var(--orange) !important;
  border-bottom:none !important;
  font-weight:700 !important;
  z-index:2 !important;
}
/* Default: hide all tab content; only the .active tab's adjacent content shows.
   Title + content come in alternating order in DOM, so adjacent-sibling
   selector reliably picks the active tab's panel. */
.product.info.detailed .data.item.content {
  display:none !important;
}
.product.info.detailed .data.item.title.active + .data.item.content {
  display:block !important;
  order:2 !important;
  flex:1 1 100% !important;
  width:100% !important;
  clear:both !important;
  float:none !important;
  margin:0 !important;
  padding:22px 24px !important;
  background:#fff;
  font-size:14px;
  line-height:1.7;
  border:1px solid #ddd;
  border-top:3px solid var(--orange);
  margin-top:-3px !important;
  box-sizing:border-box;
  overflow-wrap:break-word;
  word-wrap:break-word;
}
.product.info.detailed .item.content table {
  width:100%; border-collapse:collapse; margin:14px 0;
}
.product.info.detailed .item.content table th,
.product.info.detailed .item.content table td {
  border:1px solid #ddd; padding:6px 10px;
  font-size:12px; text-align:center;
}
.product.info.detailed .item.content table th { background:#f5f5f5; font-weight:700; }
.product.info.detailed .item.content img { max-width:100%; height:auto; }
.product.info.detailed .item.content p { margin:0 0 12px; }

/* Galerie */
.fotorama__thumb-border { border-color:var(--orange) !important; }
.fotorama__dot { background:var(--orange) !important; }

/* ════════════════════════════════════════════════════════════════════
   PRODEJNY (statická stránka)
   ════════════════════════════════════════════════════════════════════ */
.aries-stores-page { max-width:1280px; margin:0 auto; padding:0; }
.aries-stores-intro { font-size:14px; color:var(--gray); margin:0 0 18px; }
.aries-stores-heading {
  color:var(--orange); font-size:18px; font-weight:700;
  margin:0 0 12px; padding:0 0 6px;
  border-bottom:2px solid var(--orange);
}

/* M1 layout — list LEFT + map RIGHT */
.aries-stores-grid {
  display:grid;
  grid-template-columns: 360px 1fr;
  gap:20px;
}
@media (max-width: 760px) {
  .aries-stores-grid { grid-template-columns: 1fr; }
}

.aries-stores-list { display:block; }
.aries-store-info {
  border:1px solid var(--border); border-radius:3px;
  padding:14px 16px; background:#fff;
  margin:0 0 12px;
}
.aries-store-info.aries-store-closed { background:#fafafa; }
.aries-store-tag-closed {
  display:inline-block; background:#ffff00; color:#000;
  font-weight:700; padding:2px 6px; font-size:12px;
  margin-bottom:4px;
}

/* Map column — Leaflet needs an explicit height */
.aries-stores-map { position:sticky; top:12px; }
#aries-leaflet-map {
  width:100%; height:560px;
  border:1px solid var(--border);
  background:#eef3f7;
}
.aries-stores-map iframe {
  display:block; width:100%; height:520px;
  border:1px solid var(--border);
}
/* Leaflet popup polish */
.leaflet-popup-content { font-size:13px; line-height:1.4; }
.leaflet-popup-content strong { color:var(--orange); }
.aries-store-info h3 {
  color:var(--orange); font-size:16px; font-weight:700;
  margin:0 0 6px;
}
.aries-store-address {
  margin:0 0 14px;
}
.aries-store-address p {
  margin:0; line-height:1.5; font-size:14px; color:var(--gray);
}
.aries-store-info a.aries-store-btn,
a.aries-store-btn,
.aries-store-btn {
  display:inline-block; padding:8px 16px;
  background:var(--orange) !important; color:#fff !important; text-decoration:none !important;
  font-size:13px; font-weight:600; border-radius:2px;
  text-transform:uppercase; letter-spacing:.5px;
  border:none;
}
.aries-store-info a.aries-store-btn:hover,
a.aries-store-btn:hover,
.aries-store-btn:hover {
  background:var(--orange-dark) !important; color:#fff !important;
}

/* Skrýt empty product list a sort bar na prodejny */
.category-prodejny .toolbar.toolbar-products,
.category-prodejny .products.wrapper,
.category-prodejny .message.info.empty,
.category-prodejny .aries-sort-bar,
.category-prodejny .aries-subcategories { display:none !important; }

/* ════════════════════════════════════════════════════════════════════
   KOŠÍK A CHECKOUT — M1 styl
   ════════════════════════════════════════════════════════════════════ */

/* 4-step progress bar (KOŠÍK / DOPRAVA A PLATBA / DODACÍ ÚDAJE / SOUHRN) */
.aries-cart-progress {
  display:flex; margin:24px 0; padding:0;
  list-style:none; background:#fff;
  border:1px solid #ccc;
}
.aries-cart-progress-step {
  flex:1; display:flex; align-items:center; justify-content:flex-start;
  padding:14px 16px 14px 36px; position:relative;
  background:#ededed; color:#888; font-size:13px; font-weight:700;
  text-transform:uppercase;
  border-right:1px solid #ccc;
}
.aries-cart-progress-step:last-child { border-right:none; }
/* Arrow shape between steps */
.aries-cart-progress-step::after {
  content:''; position:absolute; right:-15px; top:50%; transform:translateY(-50%);
  width:0; height:0;
  border-top:25px solid transparent;
  border-bottom:25px solid transparent;
  border-left:15px solid #ededed;
  z-index:2;
}
.aries-cart-progress-step:last-child::after { display:none; }
.aries-cart-progress-step::before {
  content:''; position:absolute; right:-16px; top:50%; transform:translateY(-50%);
  width:0; height:0;
  border-top:25px solid transparent;
  border-bottom:25px solid transparent;
  border-left:15px solid #ccc;
  z-index:1;
}

/* Active step (current) — orange */
.aries-cart-progress-step.active {
  background:var(--orange); color:#fff;
}
.aries-cart-progress-step.active::after {
  border-left-color:var(--orange);
}

/* Done step — dark gray */
.aries-cart-progress-step.done {
  background:#3a3a3a; color:#fff;
}
.aries-cart-progress-step.done::after {
  border-left-color:#3a3a3a;
}

.aries-cart-progress-num {
  display:inline-flex; align-items:center; justify-content:center;
  width:24px; height:24px; border-radius:50%;
  background:#fff; color:#333;
  font-weight:700; font-size:13px;
  margin-right:10px; flex-shrink:0;
}
.aries-cart-progress-step.active .aries-cart-progress-num,
.aries-cart-progress-step.done .aries-cart-progress-num {
  background:rgba(255,255,255,.3); color:#fff;
}
.aries-cart-progress-label {
  font-size:13px; line-height:1;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
}

@media (max-width:768px) {
  .aries-cart-progress { flex-wrap:wrap; }
  .aries-cart-progress-step { flex-basis:50%; padding:8px 12px; font-size:11px; }
  .aries-cart-progress-step::before, .aries-cart-progress-step::after { display:none; }
  .aries-cart-progress-label { font-size:11px; }
}

/* Skrýt page-title H1 ale zachovat wrapper (kvůli progress baru) */
body.checkout-cart-index .page-title-wrapper > h1.page-title,
body.checkout-cart-index .page-title-wrapper > .page-title { display:none !important; }
body.checkout-index-index .page-title-wrapper > h1.page-title,
body.checkout-index-index .page-title-wrapper > .page-title { display:none !important; }
.page-title-wrapper .page-title.cart-title,
.cart-container .page-title { color:var(--orange); }

/* Cart table — M1 styl (Množství | Dostupnost | Cena vč. DPH | Celkem | X) */
.cart.table-wrapper {
  background:#fff;
  border:1px solid #ddd;
  margin-bottom:20px;
}
.cart.table-wrapper .cart {
  width:100%; border-collapse:collapse; margin:0;
}
.cart.table-wrapper .cart thead {
  background:#f5f5f5;
  border-bottom:2px solid var(--orange);
}
.cart.table-wrapper .cart thead th {
  padding:10px 12px; font-size:12px; font-weight:700;
  text-transform:uppercase; color:#333;
  text-align:left; border:none;
}
.cart.table-wrapper .cart tbody td {
  padding:14px 12px; border-bottom:1px solid #eee;
  vertical-align:middle;
}
/* Product image col */
.cart.item .col.item { width:30%; }
.cart.item .product-item-photo {
  display:inline-block; width:80px; vertical-align:middle;
  margin-right:14px; padding:0;
}
.cart.item .product-item-photo img { max-width:80px; height:auto; }
.cart.item .product-item-details {
  display:inline-block; vertical-align:middle; width:calc(100% - 100px);
}
.cart.item .product-item-name {
  font-size:14px; margin:0 0 6px; font-weight:600;
}
.cart.item .product-item-name a { color:var(--orange); text-decoration:none; }
.cart.item .product-item-name a:hover { color:var(--orange-dark); text-decoration:underline; }
.cart.item .item-options { font-size:12px; color:#666; margin:4px 0; }
.cart.item .item-options dt { display:inline-block; font-weight:600; margin-right:4px; }
.cart.item .item-options dd { display:inline-block; margin:0; margin-right:10px; }

/* Qty input */
.cart.item .col.qty {
  text-align:center; width:80px;
}
.cart.item .col.qty input {
  width:50px; text-align:center; font-weight:700;
  border:1px solid #ccc; padding:6px;
}

/* Stock availability */
.cart.item .col.availability {
  text-align:center; color:#28a745; font-weight:600; font-size:13px;
}

/* Prices */
.cart.item .col.price,
.cart.item .col.subtotal {
  text-align:right; color:var(--orange); font-weight:700; font-size:14px;
}
.cart.item .col.subtotal .price { font-size:15px; }

/* Remove button */
.cart.item .col.actions { width:40px; text-align:center; }
.cart.item .col.actions .action.action-delete {
  color:#999; background:none; border:none;
  font-size:0; padding:0; cursor:pointer;
}
.cart.item .col.actions .action.action-delete::before {
  content:'✕'; font-size:18px; line-height:1;
}
.cart.item .col.actions .action.action-delete:hover { color:#cc0000; }

/* Cart actions row (Pokračovat v nákupu, Aktualizovat košík) */
.cart-container .form-cart .actions {
  display:flex; gap:10px; margin:14px 0;
}
.cart.actions .action.continue {
  background:#fff; color:var(--orange);
  border:1px solid var(--orange);
  padding:8px 16px; font-weight:600;
}
.cart.actions .action.update {
  background:#fff; color:var(--orange);
  border:1px solid var(--orange);
  padding:8px 16px; font-weight:600;
}

/* Cart summary sidebar */
.cart-summary {
  background:#fff; border:1px solid #ddd;
  padding:0; margin-top:0;
}
.cart-summary > .title {
  display:block; padding:12px 16px;
  background:#f5f5f5; border-bottom:1px solid #ddd;
  color:var(--orange); font-size:18px; font-weight:700; margin:0;
  text-transform:uppercase;
}
.cart-summary .summary-content,
.cart-summary > * { padding:0 16px; }
.cart-summary > .title { padding:12px 16px; }
.cart-summary .block { margin:0 -16px; padding:14px 16px; border-bottom:1px solid #eee; }
.cart-summary .block:last-child { border-bottom:none; }
.cart-summary .block > .title strong {
  font-size:14px; font-weight:700; color:#333;
}

/* Totals table inside summary */
.cart-totals { padding:14px 16px; }
.cart-totals .table-wrapper { background:none; border:none; }
.cart-totals table { width:100%; }
.cart-totals tbody td { padding:6px 0; border:none; font-size:13px; }
.cart-totals .mark { font-weight:600; color:#333; }
.cart-totals .amount .price { color:#333; font-weight:600; }

.cart-totals .grand .mark,
.cart-totals .grand .amount .price {
  color:var(--orange); font-weight:700; font-size:18px;
}
.cart-totals .grand td { padding-top:12px; border-top:2px solid var(--orange); }

/* Checkout button - big orange */
.cart-summary .checkout-methods-items {
  list-style:none; padding:14px 16px; margin:0;
}
.cart-summary .checkout-methods-items button.action.checkout {
  background:var(--orange); color:#fff; border:none;
  width:100%; padding:14px 24px;
  font-size:15px; font-weight:700; text-transform:uppercase;
  letter-spacing:.5px; cursor:pointer;
  border-radius:2px;
}
.cart-summary .checkout-methods-items button.action.checkout:hover {
  background:var(--orange-dark);
}
.cart-summary .checkout-methods-items .item:not(:first-child) { margin-top:8px; font-size:12px; }
.cart-summary .checkout-methods-items .item.multicheckout a { color:#666; font-size:12px; }

/* Discount code box */
.cart-discount, .cart-discount .block {
  background:#fff; border:none;
}
.cart-discount .block-title {
  cursor:pointer; padding:10px 0; font-weight:600; font-size:13px;
}

/* Kroky checkoutu — jako originál: KOŠÍK → DOPRAVA A PLATBA → DODACÍ ÚDAJE → SOUHRN */
.opc-progress-bar { display:flex; margin-bottom:24px; }
.opc-progress-bar-item {
  flex:1; text-align:center; padding:10px 6px;
  font-size:12px; font-weight:700; text-transform:uppercase;
  background:#ccc; color:#666; position:relative; overflow:hidden;
  clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%, 18px 50%);
}
.opc-progress-bar-item:first-child { clip-path:polygon(0 0, calc(100% - 18px) 0, 100% 50%, calc(100% - 18px) 100%, 0 100%); }
.opc-progress-bar-item:last-child  { clip-path:polygon(0 0, 100% 0, 100% 100%, 0 100%, 18px 50%); }
.opc-progress-bar-item._active { background:var(--footer-bg); color:#fff; }
.opc-progress-bar-item._complete { background:#aaa; color:#555; }

/* Košík tabulka */
.cart.items thead th { font-size:13px; font-weight:700; border-bottom:2px solid var(--border); padding:8px; }
.cart.item .product-item-name a { color:var(--orange); font-weight:600; }
.cart.item .price, .cart.item .subtotal .price { color:var(--orange); font-weight:700; }
.cart.item .availability.available { color:var(--green); font-weight:600; font-size:12px; }
.cart-totals .grand .mark, .cart-totals .grand .amount .price { color:var(--orange); font-weight:700; font-size:18px; }

/* ════════════════════════════════════════════════════════════════════
   LAYERED NAVIGATION (filtry)
   ════════════════════════════════════════════════════════════════════ */
.filter-title { font-size:14px; font-weight:700; color:var(--orange); text-transform:uppercase; border-bottom:2px solid var(--orange); padding-bottom:6px; margin-bottom:10px; }
.filter-options-title { font-weight:700; color:var(--gray); font-size:13px; cursor:pointer; padding:8px 0; border-bottom:1px solid var(--border); }
.filter-options-item.active .filter-options-title { color:var(--orange); }
.filter-options-content a { display:block; padding:3px 0; font-size:13px; color:var(--gray); }
.filter-options-content a:hover { color:var(--orange); }

/* ════════════════════════════════════════════════════════════════════
   STRÁNKOVÁNÍ
   ════════════════════════════════════════════════════════════════════ */
.pages .items { display:flex; list-style:none; gap:4px; padding:0; margin:20px 0; flex-wrap:wrap; }
.pages .item a, .pages .item strong {
  display:flex; align-items:center; justify-content:center;
  width:34px; height:34px; border:1px solid var(--border); border-radius:2px;
  font-size:13px; color:var(--gray);
}
.pages .item a:hover { background:var(--orange); color:#fff; border-color:var(--orange); }
.pages .item.current strong { background:var(--orange); color:#fff; border-color:var(--orange); font-weight:700; }

/* ════════════════════════════════════════════════════════════════════
   TLAČÍTKA A FORMULÁŘE (obecné)
   ════════════════════════════════════════════════════════════════════ */
.action.primary, button.action-primary, .action.checkout {
  background:var(--orange); border:none; color:#fff;
  font-size:14px; font-weight:700; padding:10px 24px; border-radius:2px; cursor:pointer;
}
.action.primary:hover, .action.checkout:hover { background:var(--orange-dark); }
.action.secondary { background:#e0e0e0; border:none; color:var(--gray); font-size:14px; font-weight:700; padding:10px 24px; border-radius:2px; cursor:pointer; }
.input-text, select, textarea {
  border:1px solid var(--border); border-radius:2px; font-size:13px; padding:8px 10px; color:var(--gray);
}
.input-text:focus, select:focus, textarea:focus { border-color:var(--orange); outline:none; }
.message.success { background:#d4edda; border:1px solid #c3e6cb; color:#155724; padding:10px 14px; border-radius:2px; }
.message.error   { background:#f8d7da; border:1px solid #f5c6cb; color:#721c24; padding:10px 14px; border-radius:2px; }
.message.info    { background:#fff8f2; border:1px solid #f5c6a0; color:var(--gray); padding:10px 14px; border-radius:2px; }

/* ════════════════════════════════════════════════════════════════════
   INFO BAR (pred patičkou)
   ════════════════════════════════════════════════════════════════════ */
.aries-info-bar { background:#555; color:#fff; padding:14px 0; }
.aries-info-bar .container { max-width:1200px; margin:0 auto; padding:0 16px; }
.aries-info-bar-grid { display:flex; flex-wrap:wrap; }
.aries-info-bar-item {
  flex:1; min-width:200px; display:flex; align-items:center; gap:10px;
  padding:6px 20px; border-right:1px solid rgba(255,255,255,.15);
}
.aries-info-bar-item:last-child { border-right:none; }
.aries-info-icon { width:28px; height:28px; flex-shrink:0; }
.aries-info-title { font-size:11px; opacity:.75; display:block; }
.aries-info-value { font-size:13px; font-weight:700; display:block; }

/* ════════════════════════════════════════════════════════════════════
   PATIČKA
   ════════════════════════════════════════════════════════════════════ */
.page-footer { background:var(--footer-bg); color:#ccc; }
.aries-footer-newsletter { background:var(--footer-dark); padding:14px 0; border-bottom:1px solid rgba(255,255,255,.08); }
.newsletter-wrap { max-width:1200px; margin:0 auto; padding:0 16px; display:flex; align-items:center; flex-wrap:wrap; gap:20px; justify-content:space-between; }
.newsletter-label { font-size:13px; font-weight:700; color:#fff; white-space:nowrap; }
.newsletter-form-wrap { display:flex; flex:1; max-width:340px; }
.newsletter-form-wrap input {
  flex:1; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.1); color:#fff;
  padding:7px 12px; font-size:13px; border-radius:2px 0 0 2px; border-right:none;
}
.newsletter-form-wrap input::placeholder { color:rgba(255,255,255,.5); }
.newsletter-form-wrap button { background:var(--orange); border:none; color:#fff; font-weight:700; font-size:13px; padding:7px 16px; border-radius:0 2px 2px 0; cursor:pointer; }
.newsletter-form-wrap button:hover { background:var(--orange-dark); }
.social-icons { display:flex; gap:8px; }
.social-icon { display:flex; align-items:center; justify-content:center; width:36px; height:36px; border:1px solid rgba(255,255,255,.3); border-radius:3px; color:#fff; }
.social-icon:hover { border-color:var(--orange); color:var(--orange); }
.social-icon svg { width:18px; height:18px; }

.footer.content { max-width:1200px; margin:0 auto; padding:28px 16px 16px; display:flex; flex-wrap:wrap; gap:28px; }
.footer-column { flex:1; min-width:175px; }
.footer-column-title { color:#fff; font-size:13px; font-weight:700; text-transform:uppercase; border-bottom:2px solid var(--orange); padding-bottom:7px; margin-bottom:12px; display:block; }
.footer-column a { color:#bbb; font-size:13px; display:block; margin-bottom:5px; }
.footer-column a:hover { color:var(--orange); }
.footer-column p, .footer-column-stores p { font-size:12px; color:#bbb; margin:0 0 8px; line-height:1.5; }
.footer-column-stores strong { color:#ddd; }
/* Footer logos bar — Doprava | Platba | Podporujeme */
.footer-logos-bar {
  width:100%; border-top:1px solid rgba(255,255,255,.08); padding:16px 0 4px;
  display:flex; flex-wrap:wrap; gap:20px; align-items:center;
}
.footer-logos-group { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.footer-logos-label { font-size:12px; color:#aaa; font-weight:700; white-space:nowrap; }
.footer-logos-group img { height:26px; width:auto; opacity:.8; filter:brightness(1.1); }
.footer-logos-group img:hover { opacity:1; }
.footer-logos-group a img { opacity:.8; }
.footer-logos-group a img:hover { opacity:1; }

.footer-bottom-bar { width:100%; border-top:1px solid rgba(255,255,255,.08); padding:12px 0 0; margin-top:4px; text-align:center; font-size:12px; color:#777; display:flex; gap:20px; justify-content:center; flex-wrap:wrap; }
.footer-bottom-bar a { color:#777; font-size:12px; }
.footer-bottom-bar a:hover { color:var(--orange); }
/* Hide Magento default copyright block */
small.copyright { display:none !important; }
.footer.content:has(small.copyright) { display:none !important; }

/* ════════════════════════════════════════════════════════════════════
   RESPONZIVNÍ
   ════════════════════════════════════════════════════════════════════ */
/* ════════════════════════════════════════════════════════════════════
   RESPONSIVE — TABLET A MOBIL
   ════════════════════════════════════════════════════════════════════ */
@media (max-width:1200px) {
  .aries-hp-tabs-wrap { padding:0 12px; }
  .aries-slider { padding:0; }
  .navigation .aries-megamenu { padding:0 16px !important; }
}

/* ── Tablet (≤ 991px) ────────────────────────────────────────────── */
@media (max-width:991px) {
  .header.content { min-height:60px; padding:0 10px; }
  .logo { padding:8px 10px; }
  .logo img { max-height:42px; }
  /* Top icons compact — keep M1 natural-position visuals, just smaller box.
     PNG 85×53 → scale to 60-wide auto-height (~37 px tall), top-left. */
  .block-search,
  .aries-header-extra > .aries-hicon,
  .minicart-wrapper > .action.showcart {
    width:60px !important; height:60px !important;
    background-size:60px auto !important;
    background-position:0 0 !important;
    border-left-width:1px !important;
  }
  /* flex-basis override — bez toho by flex:0 0 90px z desktopu přebíjelo width:60px */
  .block-search { flex:0 0 61px !important; }
  .minicart-wrapper { flex:0 0 61px !important; }
  /* Push labels down (stay inside box) */
  .block-search::after,
  .block-search > .label > span::after,
  .aries-hicon-stores > span:not(.aries-hicon-count)::after,
  .aries-hicon-account > span:not(.aries-hicon-count)::after,
  .aries-hicon-wishlist .aries-hicon-label::after,
  .minicart-wrapper > .action.showcart .text {
    bottom:4px !important; font-size:9px !important;
    left:0 !important; right:0 !important;
  }
  /* Counters reposition for smaller box (60×60, bg-size 60px auto → 60×37 PNG).
     Circle center in PNG: (59,37) on 85×53 ≈ (69%, 70%) → (41, 26) on 60×37. */
  .minicart-wrapper .counter.qty,
  .aries-hicon-wishlist .aries-hicon-count {
    left:35px !important; top:20px !important;
    right:auto !important; bottom:auto !important;
    width:12px !important; height:12px !important;
    font-size:9px !important; line-height:12px !important;
  }
  .minicart-wrapper { border-right-width:1px !important; }
  /* Megamenu — méně sloupců */
  .navigation > ul > li.level0 > ul.submenu.aries-megamenu {
    grid-template-columns:repeat(3, 1fr) !important;
  }
}

/* ── Mobil (≤ 768px) ─────────────────────────────────────────────── */
@media (max-width:768px) {
  /* Header layout */
  .header.content {
    padding:6px 6px; flex-wrap:nowrap; gap:0;
    min-height:54px;
    justify-content:space-between; align-items:center;
  }
  .logo { padding:0 6px; flex:1; text-align:center; margin-right:0; }
  .logo img { max-height:36px; width:auto; }

  /* Hamburger ikona vlevo */
  .nav-toggle {
    display:flex !important;
    align-items:center; justify-content:center;
    order:-1; flex:0 0 44px; width:44px; height:44px;
    background:none !important; border:none !important; outline:none !important;
    cursor:pointer; font-size:0; padding:0; margin:0;
    color:transparent !important;
    -webkit-appearance:none; appearance:none;
  }
  .nav-toggle::before {
    content:'☰'; font-size:28px; color:var(--orange) !important;
    line-height:1;
  }
  html.aries-nav-open .nav-toggle::before { content:'✕'; font-size:24px; }
  .nav-toggle > span { display:none !important; }

  /* Magento blank default přidává `html.nav-open .nav-toggle::after`
     plné-obrazovkový tmavý overlay (z-index:1, position:fixed) — zaclonil
     by celou stránku a blokoval kliky do otevřeného menu. Vypneme ho. */
  html.nav-open .nav-toggle::after,
  html.nav-before-open .nav-toggle::after,
  html.aries-nav-open .nav-toggle::after { display:none !important; }

  /* Hide all top icons except cart on mobile (cart vždy visible) */
  .block-search,
  .aries-header-extra { display:none !important; }
  .minicart-wrapper {
    flex:0 0 50px; border-right:none !important;
  }
  .minicart-wrapper > .action.showcart {
    width:44px !important; height:44px !important;
    border-left:none !important;
    background-size:44px auto !important;
    background-position:0 0 !important;
  }
  .minicart-wrapper > .action.showcart .text { display:none !important; }
  /* Mobile cart counter — small "0" centered on the cart icon's circle.
     Mobile cart icon is 44×44 with PNG (85×53 sprite) scaled to 44px wide.
     Original PNG circle center is at (59, 37) → at scale 44/85 = 0.5176
     that's (~30, ~19). We want a ~12px-wide "0" centered on (30, 19).
     Position the BOX at left:24, top:13 (anchor reset right:auto so the
     desktop's left:57 + right:auto inheritance can't push it off-icon). */
  .minicart-wrapper .counter.qty {
    position:absolute !important;
    top:13px !important; left:24px !important;
    right:auto !important; bottom:auto !important;
    background:transparent !important; color:#000 !important;
    border-radius:0 !important; padding:0 !important; margin:0 !important;
    font-size:10px !important; line-height:10px !important;
    width:12px !important; height:10px !important;
    text-align:center !important;
  }
  .minicart-wrapper .counter.qty.empty::after {
    font-size:10px !important; line-height:10px !important;
  }
  .minicart-wrapper .counter.qty .counter-number {
    font-size:10px !important; line-height:10px !important;
  }

  /* Mobile nav — DEFAULT skryté, otevírá se přes class .aries-nav-open */
  .nav-sections {
    display:none !important;
    position:static !important; left:auto !important; top:auto !important;
    height:auto !important; width:100% !important;
    overflow:visible !important; transition:none !important;
    box-shadow:none !important; margin:0 !important;
  }
  /* Vlastní toggle class (Magento default classes also) */
  html.aries-nav-open .nav-sections,
  html.nav-open .nav-sections,
  html.nav-before-open .nav-sections { display:block !important; }
  /* Reset blank theme animations */
  html.nav-before-open, html.nav-open, html.aries-nav-open { height:auto !important; overflow:visible !important; }
  html.nav-before-open .page-wrapper,
  html.nav-open .page-wrapper,
  html.aries-nav-open .page-wrapper { left:0 !important; transition:none !important; overflow:visible !important; }
  html.nav-before-open body,
  html.nav-open body,
  html.aries-nav-open body { height:auto !important; overflow:auto !important; position:static !important; }

  /* Mobile menu — vertikální */
  .nav-sections-items { display:block; }
  .nav-sections-item-content { padding:0 !important; }
  .navigation { padding:0 !important; }
  .navigation > ul {
    display:block !important; flex-direction:column;
    background:var(--orange);
  }
  .navigation > ul > li.level0 {
    flex:none; width:100%; text-align:left;
    border-bottom:1px solid rgba(255,255,255,.2);
  }
  .navigation > ul > li.level0 > a {
    border-right:none; padding:14px 16px; font-size:14px;
    display:block;
  }

  /* Mobile menu — accordion. Submenu DEFAULT skryté */
  .navigation > ul > li.level0 > ul.submenu.aries-megamenu {
    display:none !important;
    position:static !important; width:100% !important;
    grid-template-columns:1fr !important;
    background:#fff; padding:12px 16px !important;
    box-shadow:none; max-width:none !important;
    margin:0 !important;
  }
  /* Otevřené pouze při .aries-open na <li> */
  .navigation > ul > li.level0.aries-open > ul.submenu.aries-megamenu {
    display:block !important;
  }
  .navigation > ul > li.level0 > ul.submenu.aries-megamenu > li.level1 {
    padding:8px 0 8px 56px !important;
    border-bottom:1px solid #eee;
  }
  .navigation > ul > li.level0 > ul.submenu.aries-megamenu > li.level1:last-child { border-bottom:none; }
  /* Šipka indikující rozbalitelnost */
  .navigation > ul > li.level0.parent > a {
    position:relative; padding-right:44px;
  }
  .navigation > ul > li.level0.parent > a::after {
    content:'+'; position:absolute; right:16px; top:50%; transform:translateY(-50%);
    font-size:24px; font-weight:300; line-height:1;
    transition:transform .15s;
  }
  .navigation > ul > li.level0.aries-open.parent > a::after {
    content:'−';
  }

  /* Homepage layout */
  .aries-slider .aries-slider-inner { min-height:200px; max-height:300px; }
  .aries-slide img { min-height:200px; max-height:300px; }
  .aries-tab-link { font-size:12px; padding:10px 4px; line-height:1.2; }
  .hp-item { width:50%; }
  .hp-item:nth-child(2n) { border-right:none; }
  .aries-info-bar-grid { flex-direction:column; }
  .aries-info-bar-item { min-width:100%; border-right:none; border-bottom:1px solid rgba(255,255,255,.1); }

  /* Subcategory tiles full width */
  .aries-subcategories { gap:8px; }
  .aries-subcat-tile { flex-basis:100% !important; max-width:100% !important; min-width:auto !important; }

  /* Footer */
  .footer.content { flex-direction:column; padding:20px 12px; }
  .footer-column { min-width:100%; flex:1 1 100%; }
  .newsletter-wrap { flex-direction:column; gap:10px; }

  /* Detail produktu */
  .catalog-product-view .product.media,
  .catalog-product-view .product-info-main { width:100% !important; float:none !important; }
  .product-options-wrapper { max-width:100% !important; }

  /* Filtry kategorie */
  .columns .column.main { width:100% !important; }
  .sidebar-additional, .sidebar-main { width:100% !important; }

  /* Skrýt blue 'ZDRAVOTNICKÉ POTŘEBY' oddělovač pokud je */
  .panel.wrapper { display:none !important; }
}

/* ── Malý mobil (≤ 480px) ────────────────────────────────────────── */
@media (max-width:480px) {
  .logo img { max-height:30px; }
  .header.content { min-height:48px; }
  /* Keep homepage products at 2 per row on small mobile (matches category
     listing). Previously was 100% which made each product fill a full row. */
  .hp-item { width:50%; }
  .hp-item:nth-child(2n) { border-right:none; }
  /* Carousel "Předchozí / Další" arrows are float:left/right by default,
     which on narrow viewports overlapped the first row of the grid
     (pushing the first product into the right column). On mobile drop the
     floats so the arrows sit above and below the grid as a regular block. */
  .aries-prod-carousel .aries-car-prev,
  .aries-prod-carousel .aries-car-next {
    float:none; display:block; padding:6px 8px;
  }
  .aries-prod-carousel .aries-car-next { text-align:right; }
  .aries-tab-nav { flex-wrap:wrap; }
  .aries-tab-link { flex-basis:33.33%; font-size:11px; padding:8px 2px; }
  .products-grid .product-item { width:100%; padding:6px 0; }
  .product-item-info { margin:0; }
  /* Title sizes */
  .page-title-wrapper .page-title { font-size:18px !important; }
  .catalog-product-view .page-title { font-size:18px !important; }
}

/* ========================================================================
   CHECKOUT M1 STYLE — visual port of M1 onepage checkout
   ======================================================================== */

/* Hide Magento's built-in OPC progress bar (we use our 4-step aries bar) */
.checkout-index-index .opc-progress-bar { display:none !important; }

/* Page-title (like cart) — orange "Pokladna" */
.checkout-index-index .page-title-wrapper { padding-bottom:6px; }
.checkout-index-index .page-title {
  color:var(--orange); font-size:24px; font-weight:700;
  margin:8px 0 14px;
}
.checkout-index-index .nav-toggle,
.checkout-index-index .authentication-wrapper { display:none; }

/* Container: 1180px width, white card */
.checkout-index-index .checkout-container {
  max-width:1180px; margin:0 auto; padding:0 12px;
}

/* Two-column layout: left = shipping/payment forms, right = summary */
.checkout-index-index .opc-wrapper {
  width:62%; float:left; padding:0 16px 0 0; box-sizing:border-box;
}
.checkout-index-index .opc-sidebar {
  width:38%; float:right; padding:0 0 0 16px; box-sizing:border-box;
  margin-top:0;
}
.checkout-index-index .opc-estimated-wrapper { display:none; }

@media (max-width: 880px) {
  .checkout-index-index .opc-wrapper,
  .checkout-index-index .opc-sidebar { width:100%; float:none; padding:0; }
}

/* Step titles — orange, M1 style */
.checkout-index-index .step-title {
  color:var(--orange);
  font-size:16px; font-weight:700;
  border-bottom:2px solid var(--orange);
  padding:0 0 6px; margin:18px 0 14px;
  text-transform:none;
}

/* Shipping method table — M1-style rows: radio | logo+name | price */
.checkout-index-index .table-checkout-shipping-method {
  width:100%; border-collapse:collapse; background:#fff;
  border-top:1px solid #e6e6e6;
}
.checkout-index-index .table-checkout-shipping-method thead { display:none; }
.checkout-index-index .table-checkout-shipping-method tbody tr {
  border-bottom:1px solid #e6e6e6;
  cursor:pointer; transition:background-color .15s;
}
.checkout-index-index .table-checkout-shipping-method tbody tr:hover {
  background:#fff8f0;
}
.checkout-index-index .table-checkout-shipping-method td {
  padding:10px 8px; border:none; vertical-align:middle;
}
.checkout-index-index .table-checkout-shipping-method .col-method:first-child {
  width:40px; text-align:center;
}
.checkout-index-index .table-checkout-shipping-method .col-price {
  width:90px; text-align:right; font-weight:700; color:#333;
}
.checkout-index-index .table-checkout-shipping-method .col-carrier,
.checkout-index-index .table-checkout-shipping-method .col-method:nth-child(3) {
  font-size:13px; color:#333;
}

/* Payment methods — same row pattern */
.checkout-index-index .payment-methods .payment-method {
  border-bottom:1px solid #e6e6e6; padding:0;
}
.checkout-index-index .payment-methods .payment-method-title {
  padding:10px 8px; margin:0;
  display:flex; align-items:center; gap:10px;
  cursor:pointer;
}
.checkout-index-index .payment-methods .payment-method-title .label {
  flex:1; color:#333; font-size:13px; font-weight:400;
}
.checkout-index-index .payment-methods .payment-method-title .payment-icon {
  height:24px; width:auto;
}
.checkout-index-index .payment-methods .payment-method:hover { background:#fff8f0; }

/* Hide unwanted text/links: discount label, gift cards, etc. */
.checkout-index-index .form-discount,
.checkout-index-index .gift-message-summary { display:none; }

/* Big orange "Pokračovat" / "Place Order" buttons */
.checkout-index-index .action.primary.checkout,
.checkout-index-index button.action.primary.continue,
.checkout-index-index .action.action-update,
.checkout-index-index .action.primary.action-show-popup {
  background:var(--orange); border-color:var(--orange); color:#fff;
  font-weight:700; padding:10px 22px; border-radius:0;
  text-transform:uppercase; letter-spacing:.5px;
}
.checkout-index-index .action.primary.checkout:hover,
.checkout-index-index button.action.primary.continue:hover {
  background:#d97a00; border-color:#d97a00;
}

/* "ZPĚT" link */
.checkout-index-index .action.back,
.checkout-index-index a.action.back {
  display:inline-block; background:#bdbdbd; color:#fff;
  padding:10px 22px; text-decoration:none; font-weight:700;
  text-transform:uppercase; letter-spacing:.5px; border-radius:0;
}
.checkout-index-index .action.back:hover { background:#9e9e9e; color:#fff; }

/* Summary sidebar — M1 style */
.checkout-index-index .opc-block-summary {
  background:#fafafa; border:1px solid #e6e6e6; padding:14px;
}
.checkout-index-index .opc-block-summary > .title {
  color:var(--orange); font-size:16px; font-weight:700;
  border-bottom:2px solid var(--orange); padding:0 0 6px; margin:0 0 12px;
}
.checkout-index-index .opc-block-summary .table-totals {
  width:100%; border-collapse:collapse;
}
.checkout-index-index .opc-block-summary .table-totals th,
.checkout-index-index .opc-block-summary .table-totals td {
  padding:5px 0; border:none; font-size:13px;
}
.checkout-index-index .opc-block-summary .table-totals .grand .mark,
.checkout-index-index .opc-block-summary .table-totals .grand .amount {
  color:var(--orange); font-weight:700; font-size:15px;
  border-top:1px solid #e6e6e6; padding-top:8px;
}

/* Bottom doctor mascot illustration */
.aries-checkout-mascot {
  clear:both; margin:32px auto 24px; padding:0 16px;
  text-align:left; max-width:1180px;
}
.aries-checkout-mascot img {
  max-width:220px; height:auto; opacity:.95;
}

/* Login wrap on shipping step — visually quieter */
.checkout-index-index .form-login,
.checkout-index-index .form-shipping-address .field-tooltip { font-size:13px; }

/* ========================================================================
   PRODUCT DETAIL — M1 1:1 fixes (gallery sizing, thumbs below, full-width tabs)
   ======================================================================== */

/* Levý sloupec gallery — pevná maximální velikost odpovídající M1 */
.catalog-product-view .product.media {
  width: 38%;
  max-width: 460px;
}
.catalog-product-view .product-info-main {
  width: 62%;
}
@media (max-width: 880px) {
  .catalog-product-view .product.media,
  .catalog-product-view .product-info-main { width: 100% !important; max-width: 100% !important; }
}

/* Constrain main image height — pouze stage, NE fotorama container
   (jinak nav-wrap s thumbs vyleze mimo container nebo se ořízne).
   .product.media má fixed width, jeho výška se přizpůsobí (stage + thumbs). */
.catalog-product-view .fotorama__stage {
  max-height: 430px !important;
  height: 430px !important;
}
.catalog-product-view .fotorama__stage__frame .fotorama__img {
  max-height: 430px !important;
  width: auto !important;
  margin: 0 auto !important;
  object-fit: contain;
}
.catalog-product-view .product.media {
  height: auto !important;
}

/* Thumbnails BELOW main image (M1 layout) — force render. */
.catalog-product-view .fotorama__nav-wrap {
  margin-top: 8px;
  display: block !important;
  visibility: visible !important;
  position: relative !important;
}
.catalog-product-view .fotorama__nav,
.catalog-product-view .fotorama__nav--thumbs {
  display: block !important;
  height: auto !important;
  min-height: 70px !important;
  visibility: visible !important;
  background: transparent !important;
}
.catalog-product-view .fotorama__nav__shaft {
  display: block !important;
  white-space: nowrap !important;
}
.catalog-product-view .fotorama__nav__frame {
  display: inline-block !important;
  vertical-align: top !important;
}
.catalog-product-view .fotorama__nav__frame--thumb {
  width: 60px !important;
  height: 60px !important;
  margin: 0 4px 4px 0 !important;
  padding: 0 !important;
}
.catalog-product-view .fotorama__nav__frame.fotorama__nav__frame--thumb .fotorama__thumb {
  border: 1px solid #e6e6e6 !important;
  background: #fff !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
}
.catalog-product-view .fotorama__nav__frame--thumb .fotorama__thumb img,
.catalog-product-view .fotorama__nav__frame--thumb .fotorama__thumb .fotorama__img {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  min-width: 0 !important; min-height: 0 !important;
  position: static !important;
  top: auto !important; left: auto !important;
  object-fit: cover !important;
  transform: none !important;
  clip: auto !important; clip-path: none !important;
}
.catalog-product-view .fotorama__nav__frame--thumb.fotorama__active .fotorama__thumb {
  border-color: var(--orange) !important;
}
.catalog-product-view .fotorama__thumb-border { display: none !important; }

/* Arrows VŽDY viditelné — fotorama defaultně dává opacity:0 dokud
   .fotorama__wrap nemá :hover. Zrušíme to.
   Specificita musí přebít `.fotorama__wrap .fotorama__arr.fotorama__arr` (CSS-only). */
.catalog-product-view .fotorama .fotorama__arr.fotorama__arr,
.catalog-product-view .fotorama__wrap .fotorama__arr.fotorama__arr {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  background: rgba(255,255,255,0.85) !important;
  width: 36px !important;
  height: 36px !important;
  top: 50% !important;
  margin-top: -18px !important;
  border-radius: 50%;
  box-shadow: 0 1px 4px rgba(0,0,0,.2);
  z-index: 100 !important;
}
.catalog-product-view .fotorama__arr--prev { left: 8px !important; }
.catalog-product-view .fotorama__arr--next { right: 8px !important; }
.catalog-product-view .fotorama__arr .fotorama__arr__arr {
  background-image: none !important;
  width: 100% !important; height: 100% !important;
  position: relative;
  margin: 0 !important;
  opacity: 1 !important; visibility: visible !important;
}
.catalog-product-view .fotorama__arr--prev .fotorama__arr__arr::before,
.catalog-product-view .fotorama__arr--next .fotorama__arr__arr::before {
  content: '';
  position: absolute;
  top: 50%; left: 50%;
  width: 10px; height: 10px;
  border-top: 2px solid var(--orange);
  border-right: 2px solid var(--orange);
  transform-origin: center;
}
.catalog-product-view .fotorama__arr--prev .fotorama__arr__arr::before {
  transform: translate(-30%, -50%) rotate(-135deg);
}
.catalog-product-view .fotorama__arr--next .fotorama__arr__arr::before {
  transform: translate(-70%, -50%) rotate(45deg);
}

/* Detailed tabs section — make sure full width and visible */
.catalog-product-view .product.info.detailed {
  width: 100% !important;
  clear: both !important;
  margin-top: 28px !important;
  padding: 0 !important;
  display: block !important;
}
.catalog-product-view .product.info.detailed .product.data.items {
  width: 100%;
  display: block;
}
.catalog-product-view .product.info.detailed .data.item.title {
  display: inline-block;
  vertical-align: bottom;
}
.catalog-product-view .product.info.detailed .data.item.content {
  width: 100%;
  display: block;
  clear: both;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-wrap: break-word;
}
.catalog-product-view .product.info.detailed .data.item.content img {
  max-width: 100%;
  height: auto;
}
.catalog-product-view .product.info.detailed .data.item.content table {
  max-width: 100%;
  table-layout: auto;
}
.catalog-product-view .product.info.detailed .data.item.content .aries-section {
  font-size: 16px; color: var(--orange); margin: 16px 0 8px;
  font-weight: 700;
  border-bottom: 1px solid #e6e6e6; padding-bottom: 4px;
}
.catalog-product-view .product.info.detailed .data.item.content .aries-section-body {
  margin-bottom: 14px;
}

/* "Hodnocení" tab content sized properly */
.catalog-product-view #reviews .block-content { max-width: 100%; }
.catalog-product-view .review-form { max-width: 720px; }

/* ════════════════════════════════════════════════════════════════════
   PRODEJNA — DETAIL stránky (Praha 1, Trutnov, Vrchlabí, Pardubice)
   ════════════════════════════════════════════════════════════════════ */
.aries-store-detail-page .toolbar.toolbar-products,
.aries-store-detail-page .products.wrapper,
.aries-store-detail-page .message.info.empty,
.aries-store-detail-page .aries-sort-bar,
.aries-store-detail-page .aries-subcategories { display:none !important; }

.aries-store-detail {
  max-width:1280px; margin:0 auto;
  font-size:14px; line-height:1.5;
}

.aries-store-detail-grid {
  display:grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap:24px;
  margin-bottom:24px;
}
.aries-store-detail-closed .aries-store-detail-grid {
  grid-template-columns: 1fr;
  max-width:760px;
}
@media (max-width: 880px) {
  .aries-store-detail-grid { grid-template-columns:1fr !important; }
}

.aries-store-detail-info p { margin:0 0 10px; }
.aries-store-detail-info .aries-store-contact { color:var(--orange); }
.aries-store-detail-info .aries-store-contact a { color:var(--orange); text-decoration:none; }
.aries-store-detail-info .aries-store-contact a:hover { text-decoration:underline; }

.aries-store-hours {
  border-collapse:collapse; margin:6px 0 12px;
}
.aries-store-hours td {
  padding:3px 14px 3px 0; border:none;
  font-size:13px;
}
.aries-store-hours td:first-child { font-weight:700; padding-right:18px; }

.aries-store-disclaimer {
  font-size:12px; color:#777; font-style:italic;
}

.aries-store-others { list-style:none; padding:0; margin:6px 0 0; }
.aries-store-others li { padding:2px 0; }
.aries-store-others a {
  color:var(--orange); text-decoration:none; font-weight:600;
}
.aries-store-others a::before { content:"› "; }
.aries-store-others a:hover { text-decoration:underline; }

.aries-store-photo img {
  display:block; width:100%; height:auto;
  border:1px solid var(--border);
}

.aries-store-mini-map #aries-leaflet-map {
  width:100%; height:340px;
  border:1px solid var(--border);
  background:#eef3f7;
}

/* Services icons grid (8 items) */
.aries-store-services {
  border-top:2px solid var(--orange);
  padding-top:18px;
  margin-top:14px;
}
.aries-store-services ul {
  display:grid;
  grid-template-columns: repeat(4, 1fr);
  gap:18px;
  list-style:none; padding:0; margin:0;
}
@media (max-width: 760px) {
  .aries-store-services ul { grid-template-columns: repeat(2, 1fr); }
}
.aries-store-services li {
  display:flex; align-items:flex-start; gap:10px;
  font-size:13px; line-height:1.45; color:#333;
}
.aries-store-services li img {
  flex:0 0 64px; width:64px; height:64px; object-fit:contain;
}

/* ── Skrýt přepínač mřížka / seznam (modes) v toolbar kategorie ─── */
.toolbar-products .modes,
.products.wrapper.list { display: none !important; }

/* Voucher messages — fix overlap of success/error icon with text. Magento
   default uses background-image checkmark + small left padding; long Czech
   message wraps under the icon. Add comfortable left padding. */
.message.success,
.message-success,
.messages .message {
  padding-left:50px !important;
  position:relative;
  min-height:36px;
}
.message.success::before,
.message-success::before {
  left:14px !important;
}

/* ── Mageplaza BannerSlider — layout + mobile fix ── */
.carousel-container.mp-banner-slider {
  width: 100%;
  max-width: 100vw;
  overflow: hidden;
  box-sizing: border-box;
  position: relative;
}
#banner-slider-carousel {
  width: 100%;
  overflow: hidden;
}
.mp-banner-slider .owl-carousel {
  width: 100% !important;
  max-width: 100% !important;
}
/* OWL inline-style override — slide max-šířka nesmí překročit viewport */
.mp-banner-slider .owl-stage-outer {
  min-height: 200px;
  overflow: hidden;
  max-width: 100%;
}
.mp-banner-slider .owl-stage {
  max-width: none;
}
.mp-banner-slider .owl-item {
  min-height: 200px;
  max-width: 100vw;
}
.mp-banner-slider .img-responsive,
.mp-banner-slider .owl-item img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
}
.mp-banner-slider picture {
  display: block;
  width: 100%;
}
.mp-banner-slider picture source,
.mp-banner-slider picture img {
  max-width: 100%;
  width: 100%;
  height: auto;
  display: block;
}
.mp-banner-slider .item-image {
  position: relative;
  overflow: hidden;
  width: 100%;
}
.mp-banner-slider .banner-title {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0,0,0,0.4);
  color: #fff;
  padding: 8px 12px;
  font-size: 14px;
}
@media (max-width: 767px) {
  .carousel-container.mp-banner-slider {
    overflow: hidden;
  }
  .mp-banner-slider .owl-stage-outer {
    min-height: 0;
  }
  .mp-banner-slider .owl-item {
    min-height: 0;
  }
  .mp-banner-slider .owl-item img,
  .mp-banner-slider picture img {
    width: 100%;
    height: auto;
    max-height: 60vw;
    object-fit: cover;
  }
}
/* raw OWL test page */
#test-owl .owl-stage-outer { min-height: 200px; }
#test-owl .owl-item img { width: 100%; height: auto; display: block; }
