/* PremiumStore CSS bundle 2026-10-03: cro + main + mobile-overflow-fix + pdp-final + ux-fixes-20261002-v2 + audit-fixes-20261003 (v tomto poradí = rovnaká kaskáda ako samostatné <link>). Zdroj: samostatné súbory v tomto priečinku. */
/*
 * PremiumStore.sk – UX/CRO doplnky pre Shoptet (šablóna Disco)
 * Vloženie: Design -> Vlastné CSS (hlavička)
 * Zodpovedajúci JS: assets/ux/premiumstore-cro.js, načítaný cez <script src="...">
 * v Design -> Rozšírené nastavenia -> Vlastný HTML kód -> pätička.
 */


/* WCAG AA: tmavšia zelená pre bežný text na primárnych akciách. */
:root {
  --p: #167450 !important;
  --ph: #145e41 !important;
}

/* Textové a akčné zelené mimo hlavných CTA. */
body ol.cart-header {
  --color-primary: #167450 !important;
  --color-primary-hover: #145e41 !important;
}
body ol.cart-header li.active,
body ol.cart-header li.active a,
body ol.cart-header li.active span,
body ol.cart-header li.completed,
body ol.cart-header li.completed a,
body ol.cart-header li.completed span { color: #167450 !important; }body.type-detail .ps-mobile-parent-link::before{ color: #167450 !important; }
#fs-sheet .fs-apply-btn,
#fs-sheet .fs-apply-btn:hover,
#fs-sheet .fs-apply-btn:focus-visible {
  background: #167450 !important;
  border-color: #167450 !important;
  color: #fff !important;
}

body, div, h1, h2, h3, h4, h5, h6, .h1, .h2, .h3, .h4,
p, li, a, label, input, button, textarea, select {
  font-family: 'Plus Jakarta Sans', sans-serif !important;
}

/* Svetlozelené pozadie za menu kategórií v ľavom sidebari - rovnaký odtieň
   zelenej ako tlačidlo "Do košíka" (var(--p): #24b47e z pôvodného
   custom CSS v administrácii). */
.sidebar.sidebar-left .box-categories {
  background-color: #eaf7f1 !important;
  border-radius: 12px !important;
  padding: 16px !important;
}

body {
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: .5px;
}

/* Hlavička: kruhová fotografia + telefón a email (klikateľné) +
   hodiny, plus presunuté natívne tlačidlo Prihlásenie (JS presúva skutočný
   #header .top-navigation-tools .top-nav-button-login prvok, nie kópiu).
   Nahrádza pôvodný nefunkčný ::before text "Zákaznícka linka" z existujúceho
   vlastného CSS - ten najprv vypíname. Starý horný panel (.top-navigation-bar)
   je teraz úplne skrytý, keďže Prihlásenie/Registrácia sú dostupné inde. */
@media (min-width: 992px) {
  #header .navigation-buttons:before {
    content: none !important;
  }
}

.top-navigation-bar {
  display: none;
}

/* Mobil: logo (.site-name, natívne flex-basis:200px) + 4 ikonky
   (.navigation-buttons, natívne margin-left:40px na každú) sa spolu
   nezmestia do jedného riadku na bežnej šírke telefónu a natívne sa
   preto zalamujú na 2 riadky. Vynucujeme 1 riadok: menšie logo,
   tesnejšie ikonky. */
@media (max-width: 991px) {
  #header .header-top-wrapper {
    flex-wrap: nowrap !important;
  }
  #header .site-name {
    flex: 0 0 auto !important;
    max-width: 110px !important;
    min-width: 0 !important;
  }
  #header .site-name img {
    max-height: 26px !important;
    height: 26px !important;
    width: auto !important;
    max-width: 100% !important;
  }
  #header .navigation-buttons a {
    margin-left: 8px !important;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
  }
}

/* Po kliknutí na lupu si natívne vyhľadávanie vyžaduje vlastný riadok na
   celú šírku (.search{width:100%;order:3}), čo náš flex-wrap:nowrap vyššie
   blokoval - pole sa tak zle vtláčalo do existujúceho riadku ikoniek.
   V otvorenom stave vyhľadávania preto zalomenie znova povolíme. */
@media (max-width: 991px) {
  body.search-window-visible #header .header-top-wrapper {
    flex-wrap: wrap !important;
  }
}


@media (max-width: 991px) {
  #header .navigation-buttons a[data-target="navigation"] {
    display: none !important;
  }
  /* Zjednotenie výšky/zarovnania VŠETKÝCH ikoniek v rade (telefón,
     prihlásenie, vyhľadávanie, košík) - natívne majú rôzny padding/
     line-height podľa pôvodnej triedy (napr. .btn.btn-icon pri košíku),
     čo spôsobovalo výškový rozdiel medzi nimi. */
  #header .navigation-buttons a {
    margin-left: 8px !important;
    width: 36px !important;
    height: 36px !important;
    line-height: 36px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    box-sizing: border-box !important;
  }
  #header .header-top-wrapper {
    align-items: center;
    padding-top: 8px !important;
    padding-bottom: 8px !important;
  }
  .ps-menu-trigger {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    background: none;
    border: none;
    padding: 4px 10px 4px 14px;
    margin: 0;
    color: inherit;
    font-family: inherit;
    cursor: pointer;
    flex-shrink: 0;
  }
  .ps-menu-trigger-label {
    font-size: 11px;
    line-height: 1;
  }

  /* Vysúvacie menu je natívne ukotvené right:0 a pri otvorení rastie do
     šírky odprava (vizuálne "prilieta zľava doprava"). Keďže tlačidlo
     Menu je teraz vľavo, menu má logicky vysúvať sa tiež zľava. */
  #navigation {
    right: auto !important;
    left: 0 !important;
  }
}
@media (min-width: 992px) {
  .ps-menu-trigger {
    display: none !important;
  }
}
/* Druhý riadok hlavičky (hlavné menu kategórií) je na checkoute prázdny -
   Shoptet obsah #navigation na checkoute zámerne nevykresľuje (rovnaký
   dôvod ako pri tlačidle Menu vyššie), no riadok si aj tak drží výšku
   (min-height podľa breakpointu z natívneho main-13...css). */
@media (min-width: 768px) {
  body.ordering-process .header-bottom {
    display: none !important;
  }
}


body.ordering-process .navigation-buttons {
  display: flex !important;
}
body.ordering-process #header .navigation-buttons a[data-target="search"],
body.ordering-process #header .navigation-buttons a[data-target="navigation"] {
  display: none !important;
}

/* PS blok vo vysúvacom mobilnom menu - default skrytý, viditeľný len na
   mobile (aj keby .navigationActions bolo súčasťou aj desktopového
   mega-menu, na desktope sa toto nikdy nezobrazí). */
.ps-header-support.ps-header-support--mobile-menu {
  display: none;
  margin: 16px 20px;
}
@media (max-width: 991px) {
  .ps-header-support.ps-header-support--mobile-menu {
    display: grid;
  }
}

/* Natívne #header .header-top-wrapper>div (logo/vyhľadávanie/ikonky) má
   pevný flex-basis:33.33% na každý stĺpec. Náš objemnejší blok ikoniek
   (PS avatar + telefón + prihlásenie + košík) sa do tretiny nezmestí a
   celý riadok sa zalomí. Namiesto pevných tretín necháme stĺpce brať len
   toľko miesta, koľko reálne potrebujú, a vyhľadávacie pole nech sa
   pružne zmenší/naťiahne podľa zvyšného priestoru. */
@media (min-width: 992px) {
  #header .header-top-wrapper {
    flex-wrap: nowrap !important;
  }
  #header .header-top-wrapper > div {
    flex: 0 1 auto !important;
  }
  #header .header-top-wrapper .search {
    flex: 1 1 auto !important;
    min-width: 0;
  }
}

.ps-header-support {
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  align-items: center;
  gap: 6px 12px;
  margin-right: 20px;
}
.ps-header-avatar {
  grid-row: 1 / 3;
  width: 56px;
  height: 56px;
  overflow: hidden;
  border-radius: 50%;
  background: #24b47e;
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  font-size: 14px;
  flex-shrink: 0;
}
/* Pevný rozmer rezervuje miesto aj pred načítaním fotografie. */
.ps-header-avatar img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  border-radius: 50%;
}
/* Širší desktop: dva kontakty vedľa seba; užší desktop a menu pod sebou. */
@media (min-width: 1440px) {
  #header .navigation-buttons .ps-header-support {
    grid-template-columns: 56px max-content max-content;
    column-gap: 16px;
  }
  #header .navigation-buttons .ps-header-avatar {
    grid-row: auto;
  }
}
.ps-header-support-text {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  line-height: 1.3;
  min-width: 0;
}
#header .ps-header-support .ps-header-support-text a,
#header .ps-header-support .ps-header-support-text span {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: left !important;
  float: none !important;
  text-indent: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  line-height: 1.3 !important;
  white-space: normal;
  overflow-wrap: anywhere;
}
#header .ps-header-support .ps-header-support-text a {
  font-weight: 700;
  font-size: 15px;
  color: #1a1a1a;
  text-decoration: none;
}
.ps-header-support-text a:hover {
  text-decoration: underline;
}
.ps-header-support-hours {
  font-size: 13px;
  color: #767676;
}
@media (max-width: 991px) {
  .ps-header-support {
    display: none; /* na mobile nie je v hlavičke miesto */
  }
}
/* Na mobile checkoute (aj mimo neho) telefónne číslo v hlavičke NIE JE
   potrebné - stačí ikona Prihlásenie (rovnaké správanie ako inde na
   webe, .ps-header-support ostáva na mobile skrytý). */

/* Presunuté tlačidlo Prihlásenie: ikonka namiesto textu */
.navigation-buttons .top-nav-button-login {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  padding: 0 !important;
}
.navigation-buttons .top-nav-button-login:before {
  display: block !important;
  font-size: 20px;
  /* .top-nav-button-login:before nemá vlastné font-family:shoptet v natívnom
     CSS (na rozdiel od iných ikoniek), takže dedí náš globálny prepis na
     Plus Jakarta Sans a namiesto ikonky osoby sa zobrazí nezmyselný znak.
     Vraciame späť ikon-font, v ktorom je "\e922" definované. */
  font-family: shoptet !important;
}
.navigation-buttons .top-nav-button-login span {
  display: none;
}

/* Zaoblené rohy vysúvacieho okna košíka (#cart-widget), v rovnakom duchu
   ako tlačidlo Do košíka (border-radius:999px - to je len skratka pre
   "úplne oblé" pri jeho malej výške; na veľkom paneli by 999px spravilo
   ovál, nie pekný zaoblený obdĺžnik, preto 16px). overflow:hidden zaistí,
   že vnútorný biely pás s tlačidlom (.cart-widget-bottom) sa orezáva
   podľa rovnakého zaoblenia, nie hranato. */
#cart-widget.cart-widget {
  border-radius: 16px !important;
  overflow: hidden;
}

/* Vynútené minimum 13px pre čitateľný text (Google/prístupnosť odporúča
   neísť pod túto hranicu). Ide o miesta, kde natívna Shoptet šablóna (alebo
   pôvodné vlastné CSS) používala menšie písmo - overené v main-13.less...css
   a v existujúcom vlastnom CSS v hlavičke. Ikonky (šípky v sidebar-kategóriách,
   +/- pri množstve, checkbox fajočka) sú zámerne vynechané - sú to grafické
   znaky z ikon-fontu (font-size im určuje veľkosť ikony, nie textu), ich
   zväčšenie by rozbilo layout. */
.top-navigation-bar,
.top-navigation-bar a,
#categories a,
#categories .expandable > .topic > a,
.flag-text,
.flags-extra .flag,
.flags-extra .flag .price-save,
.flags-extra .flag .price-standard,
.search-whisperer,
.search-whisperer-documents em,
.site-msg,
.variant-price-wrap .price-additional,
.variant-price-wrap .price-measure,
.filter-count,
.news-item-widget time {
  font-size: 13px !important;
}

/* Progress bar dopravy zadarmo - zatiaľ nevyužité, JS ho nevolá (pripravené na neskôr) */
.ps-freeship-bar {
  margin: 16px 0;
  padding: 14px 16px;
  border: 1px solid #d8dee3;
  border-radius: 8px;
  background: #f7f9fa;
  font-size: 14px;
}
.ps-freeship-bar strong { color: #1a7f37; }
.ps-freeship-bar.is-reached { background: #eaf7ee; border-color: #bfe6c9; }
.ps-freeship-track {
  margin-top: 8px;
  height: 8px;
  border-radius: 4px;
  background: #e2e6e9;
  overflow: hidden;
}
.ps-freeship-fill {
  height: 100%;
  background: #1a7f37;
  border-radius: 4px;
  transition: width .3s ease;
}

.ps-trust-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #eaeaea;
  font-size: 13px;
  color: #444;
}
.ps-trust-badges span {
  display: flex;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
}
.ps-trust-badges a {
  color: inherit;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.ps-trust-badges a:hover {
  color: #1a7f37;
}
.ps-trust-badges span::before {
  content: "\2713";
  color: #1a7f37;
  font-weight: 700;
}


:root {
  /* Svetlé zelenkasté pozadia (pás krokov, zvolený riadok dopravy/platby)
     nahradené požadovanou svetlomodrou D1E5EC - podľa zadania sa mení len
     TOTO svetlé pozadie, nie sýta zelená na tlačidle/odkazoch/kruhu kroku
     (tá necháva dostatočný kontrast s bielym textom, D1E5EC by ho nemala). */
  --dn-b50: #eef4f6;   /* pozadie pásu krokov / zvýraznených blokov */
  --dn-b75: #b3cdbf;
  --dn-b100: #94b9a4;
  --dn-b200: #659b7d;  /* zvolená doprava/platba - okraj + text kroku */
  --dn-b300: #468662;  /* aktívny krok - okraj kruhu */
  --dn-b400: #0e151c;
  --dn-g50: #ebebeb;   /* okraj kariet dopravy/platby */
  --dn-g75: #acacad;
  --dn-g200: #898a8b;
  /* Text v obsahu checkoutu (kroky, názvy dopravy/platby, ceny...) - podľa
     zadania zjednotený na 0C151D namiesto pôvodných dvoch odtieňov sivej. */
  --dn-g300: #0c151d;  /* hlavný text */
  --dn-g400: #0c151d;  /* cena, názov dopravy - tmavý text */
  --dn-s300: #f3ece4;  /* krémový zvýraznený blok "Celkom k úhrade" */
}


ol.cart-header {
  position: relative !important;
  margin: 0 !important;
  padding: 16px 0 !important;
}

ol.cart-header::before {
  content: "" !important;
  position: absolute !important;
  width: calc(100vw - var(--scrollbar-width, 0px)) !important;
  height: 100% !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%) !important;
  background: var(--dn-b50) !important;
}
ol.cart-header li {
  position: relative !important;
  z-index: 1 !important;
}
/* Rovnaký dôvod pre body.ordering-process predponu ako pri kruhoch nižšie -
   staršie "Vlastné CSS" v administrácii cieli `li.active a{color:#24b47e!important}`
   na rovnakej úrovni špecifickosti. */
body.ordering-process #content ol.cart-header li a,
body.ordering-process #content ol.cart-header li strong {
  background: transparent !important;
  color: var(--dn-g300) !important;
  letter-spacing: 1px !important;
}
body.ordering-process #content ol.cart-header li.active a,
body.ordering-process #content ol.cart-header li.completed a,
body.ordering-process #content ol.cart-header li.active strong,
body.ordering-process #content ol.cart-header li.completed strong {
  background: transparent !important;
}
/* Staršie "Vlastné CSS" v administrácii cieli aj `li.completed a{color:
   #24b47e!important}` (rovnaká špecifickosť ako li.active) - dokončený
   krok má byť tiež tmavý text, nie zelený. */
body.ordering-process #content ol.cart-header li.completed a {
  color: var(--dn-g300) !important;
}
/* Text popisku kroku je tmavý (--dn-g400), NIE zelený - zelená patrí len
   kruhu/číslu. Predtým tu bola omylom zelená (--dn-b400). */
body.ordering-process #content ol.cart-header li.active a,
body.ordering-process #content ol.cart-header li.active strong {
  color: var(--dn-g400) !important;
  font-weight: 700 !important;
}
/* KĽÚČOVÉ: staršie "Vlastné CSS" farbí priamo vnútorný <span> (nie len
   obalový a/strong) - `li.active span, li.completed span{color:#24b47e
   !important}". Farba na a/strong vyššie sa naň vôbec nevzťahovala (span
   má vlastnú explicitnú farbu, nededí z rodiča), preto zostával zelený aj
   po predošlej oprave. */
body.ordering-process #content ol.cart-header li.active span {
  color: var(--dn-g400) !important;
}
body.ordering-process #content ol.cart-header li.completed span {
  color: var(--dn-g300) !important;
}

body.ordering-process #content ol.cart-header li a:before,
body.ordering-process #content ol.cart-header li strong:before {
  background-color: transparent !important;
  border-color: var(--dn-b75) !important;
  color: var(--dn-b300) !important;
  font-weight: 700 !important;
  display: inline-block !important;
  vertical-align: middle !important;
  margin: 0 12px 0 0 !important;
}
body.ordering-process #content ol.cart-header li a span,
body.ordering-process #content ol.cart-header li strong span {
  display: inline-block !important;
  vertical-align: middle !important;
}
body.ordering-process #content ol.cart-header li.active a:before,
body.ordering-process #content ol.cart-header li.active strong:before {
  background-color: transparent !important;
  border-color: var(--dn-b300) !important;
  color: var(--dn-b300) !important;
}
body.ordering-process #content ol.cart-header li.completed a:before,
body.ordering-process #content ol.cart-header li.completed strong:before {
  background-color: #fff !important;
  border-color: #fff !important;
  color: var(--dn-b300) !important;
}

ol.cart-header li a span:after,
ol.cart-header li strong span:after {
  content: none !important;
}
ol.cart-header > li:not(:last-child):after {
  content: "" !important;
  position: absolute !important;
  right: -32px !important;
  top: 50%;
  width: 64px !important;
  height: 1px !important;
  background: var(--dn-b75) !important;
  transform: translateY(-50%) !important;
}


@media (max-width: 767px) {
  #content ol.cart-header {
    padding: 8px 0 !important;
  }
  #content ol.cart-header li a,
  #content ol.cart-header li strong {
    padding: 0 5px !important;
  }
  #content ol.cart-header li span {
    font-size: 12px !important;
    line-height: 1.1 !important;
    letter-spacing: 1px !important;
    max-width: 90px !important;
  }
  #content ol.cart-header li a:before,
  #content ol.cart-header li strong:before {
    width: 32px !important;
    height: 32px !important;
    line-height: 30px !important;
  }
  #content ol.cart-header > li:not(:last-child):after {
    width: 48px !important;
    right: -25px !important;
  }
}


.shipping-billing-table .radio-wrapper {
  border: 1px solid var(--dn-g50) !important;
  padding: 16px 24px !important;
  margin-bottom: 8px !important;
  border-radius: 8px !important;
  display: flex !important;
  align-items: center !important;
  min-height: 84px !important;
}
.shipping-billing-table .radio-wrapper:last-child {
  margin-bottom: 0 !important;
}
.shipping-billing-table .radio-wrapper.active {
  border-color: var(--dn-b200) !important;
  background: var(--dn-b50) !important;
}
.shipping-billing-table .radio-wrapper > label .payment-logo {
  order: -1 !important;
  flex: 0 0 100px !important;
  margin-right: 20px !important;
  height: 50px !important;
  background-color: #fff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
.shipping-billing-table .payment-info {
  line-height: 1 !important;
}
.shipping-billing-table .payment-info .shipping-billing-name {
  font-size: 15px !important;
  line-height: 1.1 !important;
  letter-spacing: 1px !important;
  color: var(--dn-g400) !important;
}
/* Natívne .radio-wrapper input+label{align-items:flex-start} zarovnáva
   logo/text/cenu hore, nie na stred riadku - napriek tomu, že samotný
   .radio-wrapper (o úroveň vyššie) má align-items:center. */
.shipping-billing-table .radio-wrapper input[type="radio"] + label {
  padding-left: 40px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  align-items: center !important;
}
#order-shipping-methods .payment-info > span a,
#order-billing-methods .payment-info > span a {
  font-size: 13px !important;
  color: var(--dn-b400) !important;
  text-decoration: underline !important;
  line-height: 1.7 !important;
}
.radio-wrapper .payment-shipping-price {
  color: var(--dn-g400) !important;
  letter-spacing: 1px !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 600 !important;
}

.shipping-billing-table .radio-wrapper input[type="radio"] + label {
  flex-wrap: nowrap !important;
}
.shipping-billing-table .payment-info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
.radio-wrapper .payment-shipping-price {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
}
.payment-logo img {
  max-height: 40px !important;
  max-width: 88px !important;
}
#order-billing-methods .payment-logo {
  order: -1 !important;
}
@media screen and (max-width: 767px) {
  .shipping-billing-table .radio-wrapper > label .payment-logo {
    display: block !important;
    height: auto !important;
    background-color: transparent !important;
  }
  .payment-logo img {
    max-height: 26px !important;
    max-width: 56px !important;
  }
}

@media (max-width: 767px) {
  .shipping-billing-table .radio-wrapper > label .payment-logo {
    order: unset !important;
    flex-basis: 64px !important;
    margin-right: 0 !important;
  }
  /* Rovnaký problém ako pri logu dopravy vyššie - #order-billing-methods
     .payment-logo{order:-1!important} (nescopované, vyššie v súbore) malo
     vyššiu špecificitu (ID) než generické pravidlo pre dopravu, takže logo
     platby (karta/Apple Pay/Google Pay...) na mobile ostávalo pred textom. */
  #order-billing-methods .payment-logo {
    order: unset !important;
    max-width: 64px !important;
  }
}

@media (max-width: 499px) {
  .shipping-billing-table .radio-wrapper {
    padding: 16px 16px 20px 16px !important;
  }

  .shipping-billing-table .radio-wrapper input[type="radio"] + label {

    padding-left: 42px !important;
    margin-right: 0 !important;
  }
  /* Vlastný posun "left" bodky (skúšané 16/24/19px) spôsoboval na
     zvolenom (aktívnom, zeleným pozadím zvýraznenom) riadku posun len
     vonkajšieho krúžku (:before), nie aj vnútornej vyplnenej bodky
     (:checked+label:after má vlastný natívny výpočet pozície voči
     krúžku) - výsledok bol nekonzistentný vzhľad medzi zvoleným a
     nezvoleným stavom. Necháva sa preto natívna pozícia (left:0) - pri
     padding-left:42px vyššie je aj tak dostatok miesta pred textom. */
  .shipping-billing-table .payment-info .shipping-billing-name {
    font-size: 14px !important;
    padding-right: 0 !important;
  }
  .radio-wrapper input[type="radio"] + label .payment-shipping-price {
    font-size: 13px !important;
  }
}

.shipping-billing-table .radio-wrapper input[type="radio"]:checked + label:before {
  border-color: var(--p, #24b47e) !important;
}
.shipping-billing-table .radio-wrapper input[type="radio"]:checked + label:after {
  background-color: var(--p, #24b47e) !important;
}
.desktop .shipping-billing-table .radio-wrapper:hover {
  box-shadow: none !important;
  border-color: var(--dn-b200) !important;
}


.id--16 .order-icon::before,
.id--17 .order-icon::before {
  content: none !important;
}


body.ordering-process .co-box h2 {
  padding-left: 0 !important;
}
body.ordering-process .co-box.co-contact-information h2::before,
body.ordering-process .co-box.co-billing-address h2::before,
body.ordering-process .co-box.co-shipping-address h2::before {
  display: none !important;
}

#checkoutContent .form-control-wrapper {
  flex: 1 !important;
  max-width: unset !important;
}
#checkoutContent .smart-label-wrapper label {
  flex: 1 !important;
  margin: 0 !important;
  max-width: 240px !important;
  position: relative !important;
  left: unset !important;
  top: unset !important;
  transform: unset !important;
}
#checkoutContent .form-group {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

@media (max-width: 767px) {
  #checkoutContent .form-group {
    flex-direction: column !important;

    align-items: stretch !important;
  }
  #checkoutContent .smart-label-wrapper label {
    max-width: 100% !important;
  }
  /* Na mobile sa #checkoutSidebar (karta "Zhrnutie objednávky") natívne
     zaraďuje hneď pod obsah bez medzery - na desktope/tablete rieši
     odstup layout dvoch stĺpcov, na mobile (jeden stĺpec pod sebou) tam
     medzera chýbala a karta bola "nalepená" na posledný riadok obsahu. */
  #checkoutSidebar {
    margin-top: 24px !important;
  }
}

#checkoutContent .form-group {
  margin-bottom: 20px !important;
}
#checkoutContent .form-group:not(.phone-form-group) input {
  width: 100% !important;
  max-width: 580px !important;
  height: 54px !important;
  border-radius: 100px !important;
  border-color: var(--dn-g75) !important;
  padding: 11px 18px !important;
}
#checkoutContent .form-group.phone-form-group .phone-combined-input {
  max-width: 580px !important;
  width: 100% !important;
}
#checkoutContent .form-group.phone-form-group .phone-combined-input input {
  height: 54px !important;
  border-radius: 100px !important;
  padding: 11px 18px 11px 105px !important;
  border-color: var(--dn-g75) !important;
}


.shipping-billing-table input[type="radio"] + label:before {
  width: 20px !important;
  height: 20px !important;
  border-color: var(--dn-g75) !important;
}


body.ordering-process .question-tooltip {
  background-color: var(--p, #24b47e) !important;
  border-color: var(--p, #24b47e) !important;
}

/* --- Rozloženie stĺpcov (checkout, body.id--16 aj id--17) ---------------- */

@media (min-width: 768px) {
  .id--16 .row.cart-row,
  .id--17 .row.cart-row {
    display: flex !important;
    align-items: flex-start !important;
    justify-content: space-between !important;
  }
  .id--16 .row.cart-row:before,
  .id--16 .row.cart-row:after,
  .id--17 .row.cart-row:before,
  .id--17 .row.cart-row:after {
    content: none !important;
  }
  #checkoutSidebar {
    max-width: 360px !important;
    padding: 0 !important;

    position: sticky !important;
    top: 20px !important;
    align-self: flex-start !important;
  }
  #checkoutContent {
    width: 100% !important;
    max-width: 940px !important;
    margin-left: 0 !important;
    padding: 0 !important;
  }

  .id--17 #checkoutContent {
    max-width: 820px !important;
  }
}

.cart-inner {
  padding-top: 48px !important;
}

/* --- Karta "Zhrnutie objednávky" - zvýraznený krémový blok sumy --------- */

#checkoutSidebar .order-summary .checkout-box {
  display: none !important;
}
/* Natívne .order-summary{margin-bottom:22px} (na obaľujúcom div, nie na
   samotnej karte .order-summary-inner) robí medzeru pred tlačidlom
   .next-step, ktoré nasleduje hneď za ním - karta a krémový blok s
   tlačidlom majú byť jeden spojitý tvar bez medzery. */
#checkoutSidebar .order-summary {
  margin-bottom: 0 !important;
}
/* Karta je JEDEN celok vrátane tlačidla - .next-step sa sem premiestňuje
   cez JS (relocateCheckoutNextStep v premiumstore-cro.js) ako posledné
   dieťa, aby nemohla vzniknúť žiadna medzera z marginu medzi súrodencami
   (opakovane sa to dialo aj po vynulovaní všetkých okolitých marginov -
   pravdepodobne kvôli ďalšiemu staršiemu pravidlu v administrácii, ktoré
   sa nedá odtiaľto vidieť/testovať). overflow:hidden + border-radius na
   samotnej karte zaručí správne zaoblené rohy bez ohľadu na presné
   hodnoty na vnorených prvkoch. */
#checkoutSidebar .order-summary-inner {
  border: 1px solid var(--dn-g50) !important;
  border-radius: 12px !important;
  padding: 32px 24px 0 !important;
  margin: 0 !important;
  overflow: hidden !important;

  box-shadow: none !important;
}
/* KĽÚČOVÉ: staršie "Vlastné CSS" v administrácii cieli `#checkoutSidebar
   #summary-box` - DVE ID selektory naraz (špecifickosť 2,0,0), čo je
   vyššie než moje vyššie `#checkoutSidebar .order-summary-inner` (ID +
   trieda, 1,1,0). Preto z neho stále vyhrávalo najmä margin-bottom:20px
   (biely priestor pod kartou) a čiastočne aj padding-left. Tu rovnaká
   dvoj-ID špecifickosť, aby vyhralo moje. */
#checkoutSidebar #summary-box {
  margin: 0 !important;
  padding: 32px 24px 0 !important;
}

#checkoutSidebar .order-summary-item {
  padding: 15px 0 !important;
  border: none !important;
}
#checkoutSidebar .order-summary-item[data-micro="cartItem"],
#checkoutSidebar .order-summary-item[data-testid="recapCartItem"] {
  border-bottom: 1px solid var(--dn-g50) !important;
}

#checkoutSidebar .recapitulation-single {
  border: none !important;
  padding: 5px 0 !important;
}

#checkoutSidebar #shipping-billing-summary {
  padding: 14px 0 26px !important;
}
#checkoutSidebar .order-summary-item.helper {
  font-weight: 600 !important;
  border-bottom: 2px solid var(--dn-g400) !important;
}

#checkoutSidebar .order-summary-item.price {
  margin: 0 -24px !important;
  width: calc(100% + 48px) !important;
  background: var(--dn-s300) !important;
  padding: 24px 0 0 !important;
}
#checkoutSidebar .order-summary-item.price .price-wrapper {
  padding: 0 24px !important;
}

#checkoutSidebar .price-wrapper .price-label.price-primary,
#checkoutSidebar .price-wrapper .price.price-primary,
#checkoutSidebar .price-wrapper .price-label.price-secondary,
#checkoutSidebar .price-wrapper .price-secondary {
  flex: 1 1 50% !important;
}
#checkoutSidebar .price-wrapper .price-label.price-primary,
#checkoutSidebar .price-wrapper .price-label.price-secondary {
  text-align: left !important;
}
#checkoutSidebar .price-wrapper .price.price-primary {
  font-size: 24px !important;
  font-weight: 600 !important;
  line-height: 1.4 !important;
  text-align: right !important;
  white-space: normal !important;
}
#checkoutSidebar .price-wrapper .price-label.price-primary {
  font-size: 16px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  margin-bottom: 9px !important;
}
#checkoutSidebar .price-wrapper .price-label.price-secondary,
#checkoutSidebar .price-wrapper .price-secondary {
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 400 !important;
  color: var(--dn-g300) !important;
  text-align: right !important;
}
/* .next-step (tlačidlo "Pokračovať" + odkaz "Späť") - po presune JS-om
   je teraz POSLEDNÉ dieťa .order-summary-inner, hneď za .price, so
   zdieľaným krémovým pozadím - vizuálne jeden spojitý blok bez medzery. */
#checkoutSidebar .order-summary-inner .next-step {
  margin: 0 -24px !important;
  width: calc(100% + 48px) !important;
  padding: 20px 24px 24px !important;
  background: var(--dn-s300) !important;
  display: flex !important;
  flex-direction: column-reverse !important;
}
/* Box s upozornením na neregulovanú kartu (zobrazuje sa len podmienene cez
   triedu js-unregulated-card-warning) sedí v DOM medzi .price a .next-step
   vnútri .order-summary-inner - ak by z akéhokoľvek dôvodu nebol skrytý
   natívnym js-hidden, spôsobil by presne biely priestor pod krémovým
   blokom pred zaobleným spodným rohom karty. */
#checkoutSidebar .preauthorization-box {
  display: none !important;
}

#checkoutSidebar .next-step .btn.btn-lg {
  width: 100% !important;
  justify-content: center !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 2px !important;
  line-height: 1.7 !important;
  padding: 16px 20px !important;
}
/* Natívne .order-button-text{font-size:18px} je na samotnom <span>, takže
   veľkosť z rodičovského tlačidla (vyššie) sa nededí - vlastná explicitná
   hodnota na potomkovi vždy vyhrá. Treba prepísať priamo tu. */
#checkoutSidebar .next-step .btn.btn-lg .order-button-text {
  font-size: 13px !important;
}

#checkoutSidebar .next-step .next-step-back {
  display: none !important;
}


body.ordering-process h1,
body.ordering-process h2,
body.ordering-process h3,
body.ordering-process h4,
body.ordering-process h5,
body.ordering-process h6,
body.ordering-process .h1,
body.ordering-process .h2,
body.ordering-process .h3,
body.ordering-process .h4 {
  font-weight: 500 !important;
  letter-spacing: 1px !important;
}



#cboxContent {
  border-radius: 20px !important;
}

.shipping-options-popup {
  padding: 48px 40px !important;
}

.shipping-options-popup h1 {
  text-align: center !important;
  margin: 0 0 16px !important;
}

.shipping-options-popup .shipping-row {
  border-top: 1px solid var(--dn-g50) !important;
  border-bottom: none !important;
  padding: 20px 0 !important;
  align-items: center !important;
  gap: 0 !important;
}

.shipping-options-popup .shipping-row .payment-logo {
  order: -1 !important;
  margin-right: 12px !important;
}

.shipping-options-popup .shipping-row .payment-logo img {
  max-height: 50px !important;
}

.shipping-options-popup .payment-info b {
  font-weight: 500 !important;
  letter-spacing: .5px !important;
}

.shipping-options-popup .shipping-row .payment-shipping-price {
  font-weight: 500 !important;
  letter-spacing: .5px !important;
  color: #242527 !important;
}

@media (max-width: 499px) {
  .shipping-options-popup {
    padding: 24px 16px !important;
  }
}

/* Menu Produkty: dlaždice hlavných kategórií, nezávislé od stĺpcov stránky.
   Natívny Shoptet strom sa nemení. Pod 992px ostáva pôvodné mobilné menu. */
.ps-catalog-nav,
.ps-catalog-backdrop {
  display: none;
}
@media (min-width: 992px) {
  #header .ps-catalog-ready > #navigation,
  #header .ps-catalog-ready > .menu-helper {
    display: none !important;
  }
  #header .ps-catalog-nav {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 68px;
    width: 100%;
    padding: 14px 0;
    position: relative;
    box-sizing: border-box;
  }
  #header .ps-catalog-active {
    z-index: 1001;
  }
  #header .ps-catalog-trigger,
  #header .ps-catalog-info {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 10px 20px;
    min-height: 40px;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 1px;
    text-decoration: none;
    color: #0e151c;
    border-radius: 100px;
    background: transparent;
    border: 1px solid transparent;
    cursor: pointer;
    transition: background-color .16s ease, color .16s ease;
  }
  #header .ps-catalog-trigger { border-color: #0e151c; }
  #header .ps-catalog-info { color: #242527; }
  #header .ps-catalog-info:hover { background: #eff4f6; color: #0e151c; }
  #header .ps-catalog-nav.is-open .ps-catalog-trigger {
    border-color: #fff;
    background: #fff;
    border-radius: 14px 14px 0 0;
    position: relative;
    z-index: 2;
  }
  #header .ps-catalog-panel {
    position: absolute;
    top: calc(100% - 14px);
    left: 0;
    width: min(100%, 1100px);
    padding: 20px;
    box-sizing: border-box;
    background: #fff;
    border-radius: 0 14px 14px 14px;
    box-shadow: 0 12px 32px rgba(12, 21, 29, .1);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
  #header .ps-catalog-panel[hidden] { display: none !important; }
  #header .ps-catalog-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 20px;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  #header .ps-catalog-grid > li { margin: 0; padding: 0; min-width: 0; }
  #header .ps-catalog-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 18px;
    min-height: 208px;
    height: 100%;
    padding: 22px 10px;
    box-sizing: border-box;
    border-radius: 14px;
    color: #0e151c;
    text-decoration: none;
    text-align: center;
    transition: background-color .16s ease;
  }
  #header .ps-catalog-card:hover,
  #header .ps-catalog-card:focus-visible { background: #eff4f6; }
  #header .ps-catalog-icon {
    width: 100px;
    height: 100px;
    flex: 0 0 100px;
    border-radius: 4px;
    background: #eff4f6;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  #header .ps-catalog-label {
    font-size: 14px;
    font-weight: 700;
    line-height: 1.25;
    letter-spacing: .5px;
    overflow-wrap: anywhere;
  }
  #header .ps-catalog-nav :focus-visible { outline: 2px solid #0e151c; outline-offset: 3px; }
  .ps-catalog-open > .ps-catalog-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, .32);
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #header .ps-catalog-grid { gap: 10px; }
  #header .ps-catalog-card { padding: 16px 6px; }
  #header .ps-catalog-icon { width: 88px; height: 88px; flex-basis: 88px; }
}
@media (prefers-reduced-motion: reduce) {
  #header .ps-catalog-nav * { transition: none; }
}


.ps-mobile-catalog { display: none; }
@media (max-width: 991px) {
  #header #navigation.ps-mobile-catalog-ready {
    max-width: calc(100vw - 48px);
    background: #fff;
  }
  #header #navigation.ps-mobile-catalog-ready > .navigation-in {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
  }
  #header #navigation.ps-mobile-catalog-ready > .navigation-in > .menu-level-1 { display: none !important; }
  #header #navigation .ps-mobile-catalog { display: block; width: 100%; }
  #header #navigation .ps-mobile-heading {
    display: block;
    width: 100%;
    min-height: 54px;
    padding: 14px 20px;
    border: 0;
    border-bottom: 1px solid #e5e9e6;
    background: #eff4f6;
    color: #0e151c;
    font: inherit;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.4;
    text-align: left;
    cursor: pointer;
  }
  #header #navigation .ps-mobile-rows { display: block; margin: 0; padding: 0; list-style: none; }
  #header #navigation .ps-mobile-rows > li {
    display: flex;
    align-items: stretch;
    margin: 0;
    padding: 0;
    border-bottom: 1px solid #e5e9e6;
  }
  #header #navigation .ps-mobile-rows > li > a {
    display: flex;
    flex: 1 1 auto;
    min-width: 0;
    align-items: center;
    gap: 12px;
    padding: 10px 12px;
    min-height: 54px;
    color: #0e151c;
    font-size: 14px;
    line-height: 1.4;
    font-weight: 600;
    text-decoration: none;
    white-space: normal;
    overflow-wrap: anywhere;
  }
  #header #navigation .ps-mobile-icon {
    width: 46px;
    height: 46px;
    flex: 0 0 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 4px;
    background: #eff4f6;
  }
  #header #navigation .ps-mobile-next {
    flex: 0 0 44px;
    min-height: 54px;
    border: 0;
    border-left: 1px solid #f1f3f1;
    background: #fff;
    color: #0e151c;
    font-size: 28px;
    cursor: pointer;
  }
  #header #navigation .ps-mobile-rows a:active,
  #header #navigation .ps-mobile-next:active { background: #eff4f6; }
  #header #navigation .ps-mobile-catalog :focus-visible { outline: 2px solid #0e151c; outline-offset: -3px; }
  #header #navigation .ps-mobile-rows .ps-mobile-all { font-weight: 700; }
  body.navigation-window-visible #header .ps-menu-trigger svg { display: none; }
  body.navigation-window-visible #header .ps-menu-trigger::before {
    content: "×";
    display: block;
    height: 22px;
    font-size: 30px;
    line-height: 22px;
  }
}

/* Rovnaký štvorcový rám pre kategóriové obrázky na desktope aj mobile. */
#header .ps-catalog-icon,
#header #navigation .ps-mobile-icon { position: relative; overflow: hidden; }
#header .ps-catalog-icon img,
#header #navigation .ps-mobile-icon img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  background: #fff;
  opacity: 0;
}
#header .ps-category-image-loaded img,
#header #navigation .ps-mobile-icon.ps-category-image-loaded img { opacity: 1; }
#header .ps-category-image-loaded svg { visibility: hidden; }

@media (max-width: 991px) {
  body.navigation-window-visible > .ps-catalog-backdrop {
    display: block;
    position: fixed;
    inset: 0;
    z-index: 55; /* Disco mobilná hlavička má z-index 56. */
    background: rgba(0, 0, 0, .32);
  }
}

@media (max-width: 991px) {
  body.navigation-window-visible #header #navigation.ps-mobile-catalog-ready {
    width: min(320px, calc(100vw - 48px));
  }
}

/* Desktop header geometry is present before CRO JS relocates the catalogue nav.
   The compact-header class below only adds presentation and interaction styles. */
@media (min-width: 992px) {
  #header .header-top-wrapper {
    position: relative;
    gap: 16px;
    min-height: 96px;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    align-items: center;
  }
  #header .site-name {
    flex: 0 0 220px !important;
    width: 220px !important;
    margin: 0;
  }
  #header .site-name img {
    display: block;
    width: 220px !important;
    max-width: 220px !important;
    height: auto !important;
    max-height: none !important;
  }
  #header .header-bottom {
    height: 0;
    min-height: 0;
    border: 0;
    overflow: hidden;
  }
  #header .header-bottom-wrapper {
    height: 0;
    min-height: 0;
    padding: 0;
  }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #header .header-top-wrapper { gap: 8px; }
  #header .site-name {
    flex-basis: 175px !important;
    width: 175px !important;
  }
  #header .site-name img {
    width: 175px !important;
    max-width: 175px !important;
  }
}

/* Kompaktná hlavička. Aktivuje sa až po zostavení menu; checkout má svoj layout. */
#header.ps-compact-header { --ps-surface: #eff4f6; --ps-ink: #0e151c; }
#header.ps-compact-header .navigation-buttons { color: var(--ps-ink); }
#header .ps-header-phone { display: none !important; }
@media (min-width: 992px) {
  #header.ps-compact-header .header-top-wrapper {
    position: relative;
    gap: 16px;
    min-height: 96px;
    padding-top: 12px !important;
    padding-bottom: 12px !important;
    align-items: center;
  }
  #header.ps-compact-header .site-name {
    flex: 0 0 150px !important;
    width: 150px;
    margin: 0;
  }
  #header.ps-compact-header .site-name img { width: 150px; height: auto; max-height: 52px; object-fit: contain; }
  #header.ps-compact-header .ps-catalog-nav {
    flex: 1 1 auto;
    width: auto;
    position: static;
    min-width: 0;
    padding: 0;
    gap: 2px;
  }
  #header.ps-compact-header .ps-catalog-trigger,
  #header.ps-compact-header .ps-catalog-info { padding: 12px 14px; letter-spacing: .3px; white-space: nowrap; }
  #header.ps-compact-header .ps-catalog-trigger { background: var(--ps-surface); border-color: var(--ps-ink); }
  #header.ps-compact-header .ps-catalog-nav.is-open .ps-catalog-trigger { background: white; }
  #header.ps-compact-header .ps-catalog-panel { top: calc(100% - 12px); left: 16px; width: calc(100% - 32px); border-radius: 14px; }
  body.ps-catalog-open #header.ps-compact-header .header-top-wrapper { z-index: 1001; }
  #header.ps-compact-header .navigation-buttons { flex: 0 0 auto !important; gap: 8px; margin-left: auto; }
  #header.ps-compact-header .navigation-buttons > a[data-target="search"],
  #header.ps-compact-header .navigation-buttons > .top-nav-button-login,
  #header.ps-compact-header .navigation-buttons > .cart-count {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 44px;
    padding: 0;
    margin: 0 !important;
    color: var(--ps-ink);
    background: transparent;
    border: 0;
  }
  #header.ps-compact-header .navigation-buttons > a[data-target="search"] { order: 1; }
  #header.ps-compact-header .navigation-buttons > .top-nav-button-login { order: 2; }
  #header.ps-compact-header .navigation-buttons > .cart-count { order: 3; }
  #header.ps-compact-header .cart-price { display: none !important; }
  #header.ps-compact-header .navigation-buttons .ps-header-support {
    grid-template-columns: 44px max-content;
    gap: 4px 10px;
    margin-right: 8px;
  }
  #header.ps-compact-header .navigation-buttons .ps-header-avatar { width: 44px; height: 44px; grid-row: 1 / 3; background: var(--ps-surface); }
  #header.ps-compact-header .ps-header-support .ps-header-support-text a { font-size: 13px; color: var(--ps-ink); white-space: nowrap; }
  #header.ps-compact-header .ps-header-support-hours { font-size: 11px; color: #56616b; }
  #header.ps-compact-header .header-top-wrapper > .search { display: none; }
  body.search-window-visible #header.ps-compact-header .header-top-wrapper > .search {
    display: block;
    position: absolute;
    top: 100%;
    left: 0;
    width: 100%;
    padding: 20px;
    background: white;
    box-shadow: 0 12px 24px #0e151c1a;
    z-index: 1002;
  }
  #header.ps-compact-header .header-bottom { min-height: 0; border: 0; }
  #header.ps-compact-header .header-bottom-wrapper { min-height: 0; }
}
@media (min-width: 992px) and (max-width: 1199px) {
  #header.ps-compact-header .header-top-wrapper { gap: 8px; }
  #header.ps-compact-header .site-name { flex-basis: 125px !important; width: 125px; }
  #header.ps-compact-header .ps-catalog-trigger,
  #header.ps-compact-header .ps-catalog-info { font-size: 12px; padding: 12px 8px; }
  #header.ps-compact-header .navigation-buttons { gap: 2px; }
}
@media (max-width: 991px) {
  #header.ps-compact-header .navigation-buttons { gap: 2px; }
  #header.ps-compact-header .navigation-buttons > .ps-header-phone,
  #header.ps-compact-header .navigation-buttons > a[data-target="search"],
  #header.ps-compact-header .navigation-buttons > .top-nav-button-login,
  #header.ps-compact-header .navigation-buttons > .cart-count {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    width: 36px !important;
    height: 44px !important;
    padding: 0 !important;
    margin: 0 !important;
    color: var(--ps-ink);
  }
  #header.ps-compact-header .ps-header-phone { order: 0; }
  #header.ps-compact-header .navigation-buttons > a[data-target="search"] { order: 1; }
  #header.ps-compact-header .top-nav-button-login { order: 2; }
  #header.ps-compact-header .cart-count { order: 3; }
  #header.ps-compact-header .ps-menu-trigger { color: var(--ps-ink); }
}
@media (max-width: 359px) {
  #header.ps-compact-header .site-name { max-width: 86px !important; }
  #header.ps-compact-header .header-top-wrapper { padding-left: 8px; padding-right: 8px; }
  #header.ps-compact-header .navigation-buttons { gap: 0; }
}

@media (min-width: 992px) {
  #header.ps-compact-header .header-top { padding: 0; }
}

/* Jednotný vzhľad obchodu. Nákupné tlačidlá si ponechávajú pôvodnú zelenú. */
:root { --ps-ink:#0e151c; --ps-surface:#eff4f6; --dn-s300:#eff4f6; }
body { color:#0e151c; }
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.p-name,.p-name a { color:#0e151c; }
#footer {
  background:#eff4f6 !important;
  color:#0e151c;
}

.sidebar-inner,
.subcategories li {
  background:#fff !important;
  color:#0e151c;
}
#footer a { color:#0e151c; }
.subcategories li,.sidebar-inner { border-radius:14px; }
.subcategories a:hover { background:#fff; border-radius:14px; }
.siteCookies.siteCookies--dark,.siteCookies__content { background:#eff4f6 !important; color:#0e151c !important; border-radius:14px; }
.siteCookies { box-shadow:0 8px 30px #0e151c26 !important; border:1px solid #dce4e8; }
.siteCookies a,.siteCookies__text { color:#0e151c !important; }
.siteCookies .siteCookies__button,.siteCookies .siteCookies__link {
  background:#fff !important; color:#0e151c !important; border:1px solid #0e151c !important; border-radius:999px !important;
}
.siteCookies .siteCookies__button:hover,.siteCookies .siteCookies__link:hover { background:#dce4e8 !important; }body:not(.type-detail) .benefitBanner__item{ display:flex !important; align-items:center !important; gap:14px !important; }body:not(.type-detail) .benefitBanner__picture{
  flex:0 0 44px !important; width:44px !important; height:44px !important; margin:0 !important; padding:0 !important;
}body:not(.type-detail) .benefitBanner__picture img{
  width:44px !important; height:44px !important; max-width:none !important; object-fit:contain; filter:grayscale(1) brightness(.28);
}body:not(.type-detail) .benefitBanner__content{ flex:1; min-width:0; }body:not(.type-detail) .benefitBanner__data{ color:#56616b; }
#header .ps-catalog-icon,#header #navigation .ps-mobile-icon { border-radius:10px; }
#header .ps-catalog-icon img,#header #navigation .ps-mobile-icon img { object-fit:contain; padding:4px; box-sizing:border-box; }
@media (min-width:992px) {
  #header.ps-compact-header .site-name { flex:0 0 220px !important; width:220px !important; }
  #header.ps-compact-header .site-name img { width:220px !important; max-width:220px !important; height:auto !important; max-height:none !important; }
}
@media (min-width:992px) and (max-width:1199px) {
  #header.ps-compact-header .site-name { flex-basis:175px !important; width:175px !important; }
  #header.ps-compact-header .site-name img { width:175px !important; max-width:175px !important; }
  #header.ps-compact-header .ps-header-support .ps-header-support-text a { font-size:12px; }
}
.siteCookies .siteCookies__form { background:#eff4f6 !important; color:#0e151c !important; border-radius:14px; }
.siteCookies .siteCookies__content { border-radius:0; }
@media (min-width:992px) {
  #header.ps-compact-header .site-name a { display:block; overflow:visible; }
  #header.ps-compact-header .site-name img { display:block; width:100% !important; max-width:100% !important; }
}
/* Pätička: existujúce odkazy, štyri skupiny. */
#footer .ps-footer-grid { display:grid; grid-template-columns:1fr 1.15fr 1fr 1.2fr; gap:36px; padding:56px 0 40px; text-align:left; }
#footer .ps-footer-grid section { min-width:0; }
#footer .ps-footer-grid h3 { font-size:17px; font-weight:700; margin:0 0 22px; }
#footer .ps-footer-grid ul { list-style:none; margin:0; padding:0; }
#footer .ps-footer-grid li { margin:0 0 12px; padding:0; }
#footer .ps-footer-grid a { font-size:14px; line-height:1.6; text-decoration:none; overflow-wrap:anywhere; }
#footer .ps-footer-grid a:hover { text-decoration:underline; text-underline-offset:4px; }
#footer .ps-footer-grid a:focus-visible { outline:2px solid #0e151c; outline-offset:4px; }
#footer .ps-footer-person { display:flex; align-items:center; gap:12px; margin-bottom:20px; }
#footer .ps-footer-person img { width:56px; height:56px; border-radius:50%; object-fit:cover; }
#footer .ps-footer-person a { font-size:16px; font-weight:700; }
#footer .ps-footer-person span,#footer .ps-footer-help p { display:block; font-size:13px; color:#56616b; margin:4px 0 0; }
#footer .footer-bottom { background:#eff4f6; border-top:1px solid #dce4e8; padding:22px 0; color:#56616b; }
@media(max-width:991px) { #footer .ps-footer-grid { gap:24px; grid-template-columns:1fr 1fr; } }
@media(max-width:575px) { #footer .ps-footer-grid { grid-template-columns:1fr; gap:28px; padding:32px 4px; } #footer .ps-footer-grid h3 { margin-bottom:12px; } #footer .ps-footer-grid li { margin-bottom:8px; } #footer .ps-footer-grid a { display:inline-block; padding:4px 0; } }

#footer .ps-footer-source[hidden] { display:none !important; }

/* Mobilná pätička: tri rozbaľovacie sekcie a stále viditeľný kontakt. */
#footer .ps-footer-grid [hidden] { display:none !important; }
@media (max-width:991px) {
  #footer .ps-footer-grid { grid-template-columns:1fr; gap:0; padding:24px 4px 32px; }
  #footer .ps-footer-collapsible { border-bottom:1px solid #d4dde2; }
  #footer .ps-footer-grid .ps-footer-collapsible h3 { margin:0; }
  #footer .ps-footer-label {
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
  }
  #footer .ps-footer-toggle {
    display:flex; align-items:center; justify-content:space-between; gap:16px;
    width:100%; min-height:56px; padding:16px 0; margin:0; border:0;
    border-radius:0; background:transparent; color:inherit; font:inherit;
    text-align:left; text-transform:none; cursor:pointer; box-shadow:none;
  }
  #footer .ps-footer-toggle::before { content:attr(aria-label); }
  #footer .ps-footer-toggle::after {
    content:''; width:8px; height:8px; margin-right:4px; flex-shrink:0;
    border-right:2px solid currentColor; border-bottom:2px solid currentColor;
    transform:rotate(45deg);
  }
  #footer .ps-footer-toggle[aria-expanded="true"]::after { transform:rotate(225deg); }
  #footer .ps-footer-toggle:focus-visible { outline:2px solid #0e151c; outline-offset:2px; }
  #footer .ps-footer-collapsible ul { padding:0 0 12px; }
  #footer .ps-footer-grid li { margin-bottom:8px; }
  #footer .ps-footer-grid a { display:inline-block; padding:4px 0; }
  #footer .ps-footer-help { padding-top:28px; }
  #footer .ps-footer-grid .ps-footer-help h3 { margin-bottom:16px; }
}

/* Logo rešpektuje vlastný pomer strán a priestor medzi menu a ikonami. */
#header .header-top-wrapper .site-name a {
  display:block; width:100%; padding:0 !important; margin:0; overflow:visible;
}
#header .header-top-wrapper .site-name a img {
  display:block; width:100% !important; max-width:100% !important;
  height:auto !important; max-height:52px !important;
  object-fit:contain !important; object-position:left center;
}
@media (max-width:991px) {
  #header .header-top-wrapper { gap:8px; }
  #header .header-top-wrapper .site-name {
    flex:1 1 150px !important; width:auto !important;
    min-width:0 !important; max-width:150px !important; padding:0 !important;
  }
  #header .header-top-wrapper .site-name a img { max-height:32px !important; }
  #header .header-top-wrapper .navigation-buttons { flex:0 0 auto !important; margin-left:auto; }
  #header .header-top-wrapper .ps-menu-trigger { flex:0 0 36px; min-width:0; width:36px; padding:4px 0; margin:0; box-sizing:border-box; }
}

/* Tablet používa rovnaký panel kategórií ako mobil. */
@media (min-width:768px) and (max-width:991px) {
  #header.ps-compact-header { position:relative; z-index:56; }
  #header.ps-compact-header .header-bottom { min-height:0; height:0; border:0; }
  #header.ps-compact-header .header-bottom-wrapper { min-height:0; height:0; padding:0; }
  #header.ps-compact-header .menu-helper { display:none !important; }
  #header.ps-compact-header #navigation.ps-mobile-catalog-ready {
    display:none !important; position:fixed !important;
    top:var(--ps-tablet-menu-top, 76px) !important; left:0 !important; right:auto !important; bottom:0 !important;
    width:320px !important; height:calc(100dvh - var(--ps-tablet-menu-top, 76px)) !important;
    margin:0 !important; padding:0 !important; transform:none !important; z-index:1000;
    overflow:auto; visibility:visible !important;
  }
  body.navigation-window-visible #header.ps-compact-header #navigation.ps-mobile-catalog-ready { display:block !important; }
  #header.ps-compact-header #navigation.ps-mobile-catalog-ready > .navigation-in {
    position:static !important; display:block !important; height:auto !important;
    max-height:none !important; margin:0 !important; padding:0 !important; overflow:visible;
  }
  #header.ps-compact-header .header-top-wrapper > .search { display:none; }
  body.search-window-visible #header.ps-compact-header .header-top-wrapper > .search {
    display:block; flex:0 0 100% !important; width:100%; order:10;
  }
  body.navigation-window-visible { overflow:hidden; }
}

/* Trvalo viditeľné vyhľadávanie v hlavičke. Kontakty ostávajú v pätičke a na stránke Kontakt. */
#header.ps-compact-header .navigation-buttons > .ps-header-support,
#header.ps-compact-header .navigation-buttons > .ps-header-phone,
#header.ps-compact-header .navigation-buttons > a[data-target="search"] {
  display: none !important;
}

@media (min-width: 992px) {
  #header.ps-compact-header .header-top-wrapper > .search,
  body.search-window-visible #header.ps-compact-header .header-top-wrapper > .search {
    position: static !important;
    display: block !important;
    flex: 1 1 320px !important;
    min-width: 220px !important;
    width: auto !important;
    max-width: none !important;
    order: 2;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: auto !important;
  }
  #header.ps-compact-header .ps-catalog-nav { flex: 0 1 auto; }
}

@media (max-width: 991px) {
  #header.ps-compact-header .header-top-wrapper { flex-wrap: wrap !important; }
  #header.ps-compact-header .header-top-wrapper > .search,
  body.search-window-visible #header.ps-compact-header .header-top-wrapper > .search {
    position: static !important;
    display: block !important;
    flex: 0 0 100% !important;
    min-width: 0 !important;
    width: 100% !important;
    max-width: none !important;
    order: 10 !important;
    margin: 0 !important;
    padding: 8px 0 2px !important;
    background: transparent !important;
    box-shadow: none !important;
    z-index: auto !important;
  }
  #header.ps-compact-header .navigation-buttons > .ps-header-phone,
  #header.ps-compact-header .navigation-buttons > a[data-target="search"] {
    display: none !important;
  }
}

#header.ps-compact-header .search-form,
body.search-window-visible #header.ps-compact-header .search-form {
  display: flex !important;
  align-items: stretch;
  width: 100% !important;
  max-width: none !important;
  min-height: 50px;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border: 1px solid #cbd4dc !important;
  border-radius: 12px !important;
  background: #fff !important;
  box-shadow: none !important;
}

#header.ps-compact-header #formSearchForm > div {
  display: flex !important;
  align-items: center;
  width: 100%;
  min-width: 0;
}

#header.ps-compact-header .search-input {
  flex: 1 1 auto !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  margin: 0 !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-size: 16px !important;
}

#header.ps-compact-header .search-button {
  position: static !important;
  display: inline-flex !important;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  min-width: 96px;
  height: 42px !important;
  margin: 3px !important;
  padding: 0 18px !important;
  border: 0 !important;
  border-radius: 12px !important;
  background: #0757a5 !important;
  color: #fff !important;
  font-weight: 700;
  line-height: 1.2;
  box-shadow: none !important;
}

#header.ps-compact-header .search-button:hover { background: #064785 !important; }
#header.ps-compact-header .search-form:focus-within {
  outline: 3px solid rgba(7, 87, 165, .2);
  outline-offset: 2px;
}
@media (max-width: 575px) {
  #header.ps-compact-header .search-button {
    min-width: 78px;
    padding: 0 12px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  #header.ps-compact-header .search-button { transition: none !important; }
}

/* Desktop: keep search between category links and account actions. */
@media (min-width: 992px) {
  #header.ps-compact-header .site-name { order: 0 !important; }
  #header.ps-compact-header .ps-catalog-nav { order: 1 !important; flex: 0 1 auto !important; }
  #header.ps-compact-header .header-top-wrapper > .search { order: 2 !important; flex: 1 1 300px !important; min-width: 190px !important; }
  #header.ps-compact-header .navigation-buttons { order: 3 !important; margin-left: 0 !important; flex: 0 0 auto !important; }
}

/* Leave room for the search icon inside the input. */
#header.ps-compact-header .search-input { padding-left: 44px !important; }

/* Mobile and tablet keep the original icon-triggered search panel. */
@media (max-width: 991px) {
  body #header.ps-compact-header .navigation-buttons > a[data-target="search"] { display: inline-flex !important; }
  body:not(.search-window-visible) #header.ps-compact-header .header-top-wrapper > .search { display: none !important; }
  body.search-window-visible #header.ps-compact-header .header-top-wrapper > .search {
    position: static !important; display: block !important; flex: 0 0 100% !important;
    min-width: 0 !important; width: 100% !important; max-width: none !important;
    order: 10 !important; margin: 0 !important; padding: 8px 0 2px !important;
    background: transparent !important; box-shadow: none !important; z-index: auto !important;
  }
}

/* Mobile guardrails: keep Shoptet gallery tracks and cards inside the page. */
@media (max-width: 767px) {body.type-detail,
body.type-detail #content,
body.type-detail .p-detail-inner,
body.type-detail .p-image-wrapper,
body.type-detail .p-data-wrapper{
    box-sizing: border-box !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }
  body.type-detail .p-thumbnails {
    max-width: 100% !important;
    overflow: hidden !important;
  }
  html body.type-detail { overflow-x: clip !important; }
  @supports not (overflow-x: clip) {
    html body.type-detail { overflow-x: hidden !important; }
  }
}

/* ==========================================================================
   Kompaktné dlaždice podkategórií (nadradené kategórie, desktop aj mobil).
   Prepisuje inline štýly #ps-cat-<id> v popise kategórie (vrátane starších
   variantov .psh-*/.tile): dlaždica = malý obrázok + názov v jednom riadku,
   bez popisu, aby sa produkty dostali hneď pod dlaždice. Selektor začína
   #content, aby prebil inline pravidlá s ID a !important. Koncové kategórie
   dlaždice nemajú a nemenia sa.
   ========================================================================== */
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-intro,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-intro,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-intro,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-intro,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-intro{ display: block !important; margin: 0 0 14px !important; }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-intro p{ max-width: 900px !important; font-size: 15px !important; line-height: 1.55 !important; }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-skip,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-skip,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-skip,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-skip,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-skip{ display: none !important; }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-head,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-section-head,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-head,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-head,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-head{ margin: 0 0 10px !important; }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-head > span{ display: none !important; }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) h2{ font-size: 20px !important; }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-grid{
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)) !important;
  gap: 8px !important;
  margin: 0 0 18px !important;
}
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-tile{ grid-column: auto !important; margin: 0 !important; min-width: 0 !important; }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) a.psh-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-main{
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: 0 !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
}
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-no-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-photo{
  grid-column: auto !important;
  grid-row: auto !important;
  flex: 0 0 48px !important;
  width: 48px !important;
  height: 48px !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 4px !important;
  border-radius: 8px !important;
}
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-no-photo{ font-size: 0 !important; }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-copy{
  grid-column: auto !important;
  grid-row: auto !important;
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  padding: 0 !important;
}
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-title{
  grid-column: auto !important;
  grid-row: auto !important;
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  font-size: 15px !important;
  line-height: 1.3 !important;
  text-decoration: none !important;
  hyphens: auto;
}
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-arrow,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-arrow,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-arrow,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-arrow,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-arrow,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-caption,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-caption,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-caption,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-caption,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .caption,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-caption{ display: none !important; }
@media (max-width: 900px) {
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
  }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) a.psh-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .tile,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-main{
    display: flex !important;
    min-height: 0 !important;
    padding: 6px 8px !important;
    gap: 8px !important;
  }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-no-photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .photo,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-photo{
    flex-basis: 40px !important;
    width: 40px !important;
    height: 40px !important;
  }
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-label,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-title{ font-size: 14px !important; }
}
@media (max-width: 360px) {
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ps-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pw-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .pa-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .ph-grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .grid,
body.type-category #content :is([id^="ps-cat-"]:not([id$="-help"]),#ps-tech,#psh-domacnost,[id^="psh-workshop-"],[id^="psh-automoto-"],[id^="psh-health-"]) .psh-grid{ grid-template-columns: 1fr !important; }
}

/* ==== premiumstore-main.css ==== */
:root{--p:#24b47e;--ph:#1d996a}@media(min-width:768px){body.type-index main#content.content{display:flex!important;flex-direction:column!important}body.type-index main#content.content .banners-row{order:1!important}body.type-index main#content.content .welcome-wrapper{order:2!important}body.type-index main#content.content > *{order:3}}body:not(.type-detail) .btn.btn-cart,body:not(.type-detail) .btn.btn-conversion,body:not(.type-detail) a.btn.btn-cart,body:not(.type-detail) a.btn.btn-conversion{background-color:var(--p)!important;border-color:var(--p)!important;border-radius:999px!important;font-weight:600!important;font-size:18px!important;color:#fff!important;padding:10px 24px!important;box-shadow:none!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:10px!important}body:not(.type-detail) .btn.btn-cart:hover,body:not(.type-detail) .btn.btn-conversion:hover,body:not(.type-detail) a.btn.btn-cart:hover,body:not(.type-detail) a.btn.btn-conversion:hover{background-color:var(--ph)!important;border-color:var(--ph)!important}#header .navigation-buttons i,.navigation-buttons a:before{-webkit-text-stroke:.6px currentColor!important;text-shadow:0 0 .4px currentColor!important;font-size:1.15em!important}@media(max-width:767px){.p-detail-inner{display:flex!important;flex-direction:column!important}.p-image-wrapper{order:1!important;display:flex!important;flex-direction:column!important}.p-image-wrapper .p-image{order:1!important}.p-image-wrapper .p-detail-inner-header-mobile,.p-image-wrapper .row{order:2!important;margin-top:12px!important}.p-image-wrapper .p-detail-inner-header-mobile{order:3!important}.p-data-wrapper{order:2!important}.p-detail-inner-header-mobile .h1,.p-detail-inner-header-mobile div.h1{font-size:22px!important;line-height:1.25!important}body:not(.type-detail) .benefitBanner{display:flex!important;flex-direction:column!important;gap:6px!important}body:not(.type-detail) .benefitBanner img,
body:not(.type-detail) .benefitBanner svg,
body:not(.type-detail) .benefitBanner__icon{width:20px!important;height:20px!important;flex:none!important}body:not(.type-detail) .benefitBanner b,
body:not(.type-detail) .benefitBanner strong,
body:not(.type-detail) .benefitBanner__title{font-weight:400!important;font-size:14px!important}body:not(.type-detail) .benefitBanner__item{display:flex!important;align-items:center!important;gap:10px!important}body:not(.type-detail) .benefitBanner__content{line-height:1.2!important}#header .logo a img,#header .logo img,#header .site-name a img,#header .site-name img,#header a.logo img{max-height:40px!important;height:40px!important;max-width:none!important;width:auto!important;object-fit:contain!important}}.menu-level-1>li>a{font-family:Quicksand,sans-serif!important;font-size:16px!important;font-weight:500!important;color:#2c2c2c!important;padding-left:10px!important;padding-right:10px!important}.menu-level-2>li>a,.menu-level-2>li>div>a{font-family:Quicksand,sans-serif!important;font-weight:700!important;font-size:14px!important;color:#1a1a1a!important}.menu-level-3 a{font-family:Quicksand,sans-serif!important;font-weight:400!important;font-size:16px!important;color:#4a4a4a!important}.menu-level-1>li:hover>a,.menu-level-1>li>a:hover,.menu-level-2 a:hover,.menu-level-3 a:hover{color:var(--p)!important}@media(max-width:991px){.navigation-in .menu-level-2>li,.navigation-in .menu-level-3>li,.navigation-in li,.navigation-in li>div{position:relative!important}.navigation-in a.menu-image{display:block!important;position:absolute!important;left:10px!important;top:50%!important;transform:translateY(-50%)!important;width:22px!important;height:22px!important;margin:0!important;padding:0!important;z-index:5!important}.navigation-in a.menu-image img{width:22px!important;height:22px!important;object-fit:contain!important;display:block!important}.navigation-in li>div{padding-left:0!important}.navigation-in .menu-level-2 a:not(.menu-image),.navigation-in .menu-level-3 a:not(.menu-image),.navigation-in li>div>a:not(.menu-image){padding-left:40px!important}}#checkoutSidebar .order-summary{border:none!important;background:0 0!important;box-shadow:none!important;padding:0!important}#checkoutSidebar #summary-box,#checkoutSidebar .checkout-box,#checkoutSidebar .order-summary-inner{border:1px solid #eaeaea!important;border-radius:12px!important;box-shadow:0 8px 24px rgba(0,0,0,.08)!important;background-color:#fff!important;padding:20px!important;margin-bottom:20px!important}#submit-order,.next-step-finish{background-color:var(--p)!important;border-color:var(--p)!important;border-radius:8px!important;padding:14px 28px!important;font-size:16px!important;font-weight:700!important;color:#fff!important;height:auto!important;width:auto!important;max-width:100%!important;line-height:1.3!important;box-shadow:none!important}#submit-order:hover,.next-step-finish:hover{background-color:var(--ph)!important;border-color:var(--ph)!important}ol.cart-header{--color-primary:#24b47e!important;--color-primary-hover:#1d996a!important}ol.cart-header li,ol.cart-header li *{background:0 0!important}ol.cart-header li.active,ol.cart-header li.active a,ol.cart-header li.active span,ol.cart-header li.completed,ol.cart-header li.completed a,ol.cart-header li.completed span{color:#24b47e!important}ol.cart-header li.active a:before,ol.cart-header li.active span:before,ol.cart-header li.active strong:before,ol.cart-header li.active:before,ol.cart-header li.completed a:before,ol.cart-header li.completed span:before,ol.cart-header li.completed strong:before,ol.cart-header li.completed:before{background-color:#24b47e!important;border-color:#24b47e!important;color:#fff!important}ol.cart-header li.active:after,ol.cart-header li.completed:after{border-color:#24b47e!important}#categories a{display:flex!important;justify-content:space-between!important;align-items:center!important}#categories span.cat-trigger{font-size:0!important;width:16px!important;height:16px!important;flex-shrink:0!important;margin-left:8px!important}#categories span.cat-trigger::before{content:""!important;display:inline-block!important;width:6px!important;height:6px!important;border-right:2px solid #24b47e!important;border-bottom:2px solid #24b47e!important;transform:rotate(-45deg)!important}#categories .active>a span.cat-trigger::before,#categories .expanded>a span.cat-trigger::before{transform:rotate(45deg)!important}.welcome-wrapper{padding-top:40px!important;padding-bottom:16px!important}.pageArticleDetail header[itemprop="headline"]{text-align:center!important}@media(max-width:767px){#footer{text-align:center!important}#footer ul{padding-left:0!important}}#carousel .carousel-inner,.next-to-carousel-banners .banner-wrapper a{border-radius:24px!important;overflow:hidden!important}.next-to-carousel-banners .banner-wrapper a{box-shadow:0 8px 24px rgba(0,0,0,.12)!important;display:block!important}#carousel .carousel-inner{box-shadow:0 8px 24px rgba(0,0,0,.12)!important}#carousel .carousel-inner img{border-radius:24px!important}#carousel .carousel-inner .item a img{transition:transform .3s ease-in-out!important}#carousel .carousel-inner .item a:hover img{transform:scale(1.03)!important}.breadcrumbs.navigation-home-icon-wrapper{display:block!important;text-align:left!important;width:100%!important;margin-bottom:12px!important}#header .navigation-buttons .cart-price{white-space:nowrap!important}.homepage-group-title{margin-top:24px!important;mar

}
/* ==== premiumstore-mobile-overflow-fix.css ==== */
/* PremiumStore.sk – ochrana proti horizontálnemu pretekaniu na mobile.
   Rieši príčiny (dlhé slová, obrázky, tabuľky, iframe), nie len symptóm. */
@media(max-width:991px){
  /* dlhé nezalomiteľné reťazce (formáty, kódy, URL) v popisoch a tabuľkách */
  .p-detail-inner,.p-detail-tabs-wrapper,#description,.basic-description,.description-inner,.p-short-description,.extended-description,.p-detail-info,.table-wrapper,.pageArticleDetail,.article-detail,.content-wrapper,.category-perex,.category-description,.product-description,.cart-content,.cart-table,.checkout-box,#content{overflow-wrap:anywhere;word-break:normal;min-width:0}
  .basic-description li,.basic-description p,.basic-description td,.basic-description th,.p-short-description li,.p-short-description p,#description li,#description p,#description td,#description th{overflow-wrap:anywhere;max-width:100%}
  /* médiá */
  #content img,#content video,#content canvas,#content svg:not(.icon):not([class*=icon]),.basic-description img,#description img{max-width:100%;height:auto}
  #content iframe,#content embed,#content object{max-width:100%}
  /* tabuľky v popisoch: horizontálny posun vnútri tabuľky, nie celej stránky */
  .basic-description table,#description table,.p-detail-tabs-wrapper table,.pageArticleDetail table{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  /* predformátovaný text a kód */
  .basic-description pre,#description pre,.pageArticleDetail pre{max-width:100%;overflow-x:auto;white-space:pre-wrap}
  /* flex/grid deti sa nesmú nafúknuť nad šírku rodiča */
  .p-data-wrapper,.p-image-wrapper,.products .product,.cart-table td{min-width:0}
}
/* poistka: orezať presah bez vytvorenia scroll kontajnera (nerozbije position:sticky) */
@supports(overflow:clip){
  @media(max-width:991px){html,body{overflow-x:clip}}
}

/* ==== premiumstore-pdp-final.css ==== */
/*
 * =========================================================
 * PremiumStore.sk – PRODUCT DETAIL
 * FINAL STABLE VERSION
 * 2026-09-21
 *
 * Desktop / Tablet / Mobile
 *
 * Zachovava:
 * - Shoptet galeriu a zoom
 * - kosik a mnozstvo
 * - dostupnost a cenu
 * - rich produktove popisy
 * - parametre
 * - podobne produkty
 *
 * FINAL baseline pred systematickou lokalizaciou produktov.
 * =========================================================
 */

:root {
  --ps-pdp-green: #24b47e;
  --ps-pdp-green-hover: #1d996a;
  --ps-pdp-green-soft: #eefaf5;
  --ps-pdp-text: #172033;
  --ps-pdp-muted: #637083;
  --ps-pdp-border: #e4eaf0;
  --ps-pdp-surface: #ffffff;
  --ps-pdp-soft: #f7f9fb;
  --ps-pdp-shadow: 0 10px 32px rgba(15, 23, 42, .065);
}


/* =========================================================
   PRODUCT LAYOUT – DESKTOP
   ========================================================= */

/* Apply the page geometry from the first style calculation. The JS class is
   retained for compatibility, but must not gate layout after first paint. */
body.type-detail .p-detail-inner {
  display: grid !important;
  grid-template-columns:
    minmax(0, 1.08fr)
    minmax(370px, .92fr);
  gap: 38px !important;
  align-items: start !important;
}

body.type-detail .p-image-wrapper,
body.type-detail .p-data-wrapper {
  float: none !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* =========================================================
   PRODUCT GALLERY
   Zoom a Shoptet spravanie ostavaju nedotknute.
   ========================================================= */

body.type-detail .p-image-wrapper .p-image {
  background: #fff !important;
}

body.type-detail .p-image-wrapper .p-image img {
  border-radius: 16px;
}

body.type-detail .p-image-wrapper .row {
  margin-top: 14px !important;
}

body.type-detail .p-image-wrapper img {
  image-rendering: auto;
}


/* =========================================================
   TITLE
   ========================================================= */

body.type-detail
.p-detail-inner-header h1,

body.type-detail
.p-detail-inner-header .h1,

body.type-detail
.p-detail-inner-header-mobile h1,

body.type-detail
.p-detail-inner-header-mobile .h1 {
  margin-top: 0 !important;
  margin-bottom: 8px !important;

  color: var(--ps-pdp-text) !important;

  font-size: clamp(27px, 2.15vw, 36px) !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  letter-spacing: -.025em !important;
}


/* =========================================================
   BRAND LOGO
   Vklada ho premiumstore-pdp-v1.js.
   ========================================================= */

body.type-detail .ps-brand-logo {
  display: flex;
  align-items: center;

  width: fit-content;
  min-height: 28px;

  margin: 8px 0 14px;
}

body.type-detail .ps-brand-logo img {
  display: block;

  width: auto;
  height: auto;

  max-width: 120px;
  max-height: 28px;

  object-fit: contain;
  object-position: left center;
}


/* The brand mark is added by JS after the PDP markup is painted. Keep it
   visually beneath the title but out of document flow so its insertion cannot
   push availability, price or the description tabs down. Mobile keeps its
   existing in-flow layout. */
@media (min-width: 992px) {
  body.type-detail .p-detail-inner-header {
    position: relative;
  }
  body.type-detail .p-detail-inner-header > .ps-brand-logo {
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 1;
    margin: 0;
  }
}


/* =========================================================
   DESCRIPTION / PARAMETERS
   Nezasahujeme do obsahu rich popisov.
   ========================================================= */

body.type-detail .p-detail-tabs-wrapper img {
  max-width: 100%;
  height: auto;
}


/* =========================================================
   TABLET LANDSCAPE / SMALL DESKTOP
   ========================================================= */

@media (max-width: 1199px) {

  body.type-detail .p-detail-inner {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(340px, .92fr);

    gap: 28px !important;
  }

  body.type-detail
  .p-detail-inner-header h1,

  body.type-detail
  .p-detail-inner-header .h1 {
    font-size: 28px !important;
  }

}


/* =========================================================
   TABLET PORTRAIT
   ========================================================= */

@media (min-width: 768px) and (max-width: 991px) {

  body.type-detail .p-detail-inner {
    grid-template-columns:
      minmax(0, 1fr)
      minmax(320px, .95fr);

    gap: 22px !important;
  }

}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {

  body.type-detail .p-detail-inner {
    display: flex !important;

    flex-direction: column !important;

    gap: 0 !important;
  }

  body.type-detail .p-image-wrapper,
  body.type-detail .p-data-wrapper {
    width: 100% !important;
    max-width: 100% !important;
  }


  /* Galeria */

  body.type-detail
  .p-image-wrapper .p-image {
    order: 1 !important;
  }

  body.type-detail
  .p-image-wrapper .row {
    order: 2 !important;

    margin-top: 10px !important;
  }

  body.type-detail
  .p-image-wrapper .p-detail-inner-header-mobile {
    order: 3 !important;

    margin-top: 16px !important;
  }


  /* Nazov */

  body.type-detail
  .p-detail-inner-header-mobile h1,

  body.type-detail
  .p-detail-inner-header-mobile .h1 {
    margin-bottom: 7px !important;

    font-size: 22px !important;
    line-height: 1.22 !important;
  }


  /* Logo */

  body.type-detail .ps-brand-logo {
    min-height: 23px;

    margin: 7px 0 12px;
  }

  body.type-detail
  .ps-brand-logo img {
    max-width: 102px;
    max-height: 23px;
  }

}


/* =========================================================
   PDP V1.2 – MOBILE + TABLET REFINEMENT
   2026-09-21
   ========================================================= */


/* ---------------------------------------------------------
   TABLET PORTRAIT
   Na uzsom tablete je jeden stlpec citatelnejsi ako
   natlacena galeria + nakupny blok vedla seba.
   --------------------------------------------------------- */

@media (min-width: 768px) and (max-width: 991px) {

  body.type-detail .p-detail-inner {
    display: grid !important;

    grid-template-columns: 1fr !important;

    gap: 26px !important;
  }

  body.type-detail
  .p-image-wrapper,

  body.type-detail
  .p-data-wrapper {
    width: 100% !important;

    max-width: 720px !important;

    margin-left: auto !important;
    margin-right: auto !important;
  }

}


/* ---------------------------------------------------------
   MOBILE
   --------------------------------------------------------- */

@media (max-width: 767px) {


  /* TITLE */

  body.type-detail
  .p-detail-inner-header-mobile h1,

  body.type-detail
  .p-detail-inner-header-mobile .h1 {

    margin-top: 0 !important;
    margin-bottom: 5px !important;

    font-size: 21px !important;
    line-height: 1.2 !important;

    letter-spacing: -.025em !important;
  }


  /* BRAND */

  body.type-detail
  .ps-brand-logo {

    min-height: 20px !important;

    margin-top: 8px !important;
    margin-bottom: 16px !important;
  }

  body.type-detail
  .ps-brand-logo img {

    max-width: 92px !important;
    max-height: 21px !important;
  }

}




/* =========================================================
   PDP V1.4 – MOBILE CLEANUP
   2026-09-21

   - mobil: jednoduche "spat do nadradenej kategorie"
   - mensia medzera pred obsahom Popisu
   - kompaktnejsia sticky nakupna lista
   ========================================================= */


/* Na desktope/tablete mobilny back-link nezobrazujeme. */

body.type-detail
.ps-mobile-parent-link {
  display: none;
}


/* =========================================================
   MOBILE
   ========================================================= */

@media (max-width: 767px) {


  /* -------------------------------------------------------
     BREADCRUMB

     Povodny breadcrumb ostava v DOM kvoli strukture/SEO,
     ale na mobile ho vizualne nahradime jednym jasnym
     odkazom na nadradenu kategoriu.
     ------------------------------------------------------- */

  body.type-detail
  .breadcrumbs.navigation-home-icon-wrapper {
    display: none !important;
  }


  body.type-detail
  .ps-mobile-parent-link {
    display: inline-flex !important;

    align-items: center;

    gap: 6px;

    max-width: 100%;

    margin: 2px 0 14px;

    color: #566575 !important;

    font-size: 13px;
    font-weight: 600;
    line-height: 1.3;

    text-decoration: none !important;
  }


  body.type-detail
  .ps-mobile-parent-link::before {
    content: "←";

    color: #24b47e;

    font-size: 17px;
    font-weight: 700;
    line-height: 1;
  }


  body.type-detail
  .ps-mobile-parent-link span {
    display: block;

    min-width: 0;

    overflow: hidden;

    white-space: nowrap;

    text-overflow: ellipsis;
  }


  body.type-detail
  .ps-mobile-parent-link:hover,
  body.type-detail
  .ps-mobile-parent-link:focus {
    color: #1d996a !important;
  }



  /* -------------------------------------------------------
     POPIS / PARAMETRE

     Zmensime prazdny priestor medzi nadpisom Popis
     a samotnym obsahom.
     ------------------------------------------------------- */

  body.type-detail
  .p-detail-tabs-wrapper {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  body.type-detail
  .p-detail-tabs-wrapper h2,

  body.type-detail
  .p-detail-tabs-wrapper .h2 {
    margin-top: 0 !important;
    margin-bottom: 10px !important;

    padding-bottom: 0 !important;
  }


  body.type-detail
  .p-detail-tabs-wrapper .tab-content {
    margin-top: 0 !important;
    padding-top: 6px !important;
  }


  body.type-detail
  .p-detail-tabs-wrapper .tab-pane,

  body.type-detail
  .p-detail-tabs-wrapper .detail-description {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }


  body.type-detail
  .p-detail-tabs-wrapper
  .tab-content > *:first-child,

  body.type-detail
  .p-detail-tabs-wrapper
  .tab-pane > *:first-child,

  body.type-detail
  .p-detail-tabs-wrapper
  .detail-description > *:first-child {
    margin-top: 0 !important;
  }

}


/* =========================================================
   VERY SMALL MOBILE
   ========================================================= */

@media (max-width: 360px) {


}




/* PremiumStore catalogue product description pilot: beyerdynamic DT 1990 PRO MKII. */
.ps-product-catalog {
  --psc-text: #0e151c;
  --psc-muted: #52616c;
  --psc-green: #24b47e;
  --psc-green-dark: #176b4e;
  --psc-line: #dce5e8;
  color: var(--psc-text);
  font-family: "Plus Jakarta Sans", Arial, sans-serif;
  font-size: 17px;
  line-height: 1.65;
}
.ps-product-catalog * { box-sizing: border-box; }
.ps-product-catalog h2, .ps-product-catalog h3 { display: block !important; color: var(--psc-text); line-height: 1.25; }
.ps-product-catalog h2 { margin: 10px 0 18px; font-size: clamp(25px, 3vw, 34px); letter-spacing: -.025em; }
.ps-product-catalog h3 { margin: 8px 0 10px; font-size: 20px; }
.ps-product-catalog p { margin: 0 0 18px; }
.ps-product-catalog a { color: var(--psc-green-dark); text-decoration: underline; text-underline-offset: 3px; }
.ps-product-catalog a:focus-visible, .ps-product-catalog summary:focus-visible { outline: 3px solid var(--psc-green-dark); outline-offset: 3px; }
.ps-product-catalog img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 16px; }
.ps-product-catalog .psc-hero { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 26px; margin: 8px 0 20px; padding: 32px; border-radius: 20px; background: #eff4f6; }
.ps-product-catalog .psc-hero img { max-height: 430px; object-fit: contain; }
.ps-product-catalog .psc-hero-copy p:last-child { margin-bottom: 0; }
.ps-product-catalog .psc-eyebrow { color: var(--psc-green-dark); font-size: 14px; font-weight: 700; letter-spacing: 1.1px; }
.ps-product-catalog .psc-muted, .ps-product-catalog .psc-fine, .ps-product-catalog .psc-sources { color: var(--psc-muted); font-size: 14px; }
.ps-product-catalog .psc-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; margin: 20px 0; }
.ps-product-catalog .psc-facts > div, .ps-product-catalog .psc-cards article { padding: 18px; border: 1px solid var(--psc-line); border-radius: 16px; background: #fff; }
.ps-product-catalog .psc-facts strong, .ps-product-catalog .psc-facts span { display: block; }
.ps-product-catalog .psc-facts span { color: var(--psc-muted); font-size: 14px; }
.ps-product-catalog .psc-nav { display: flex; flex-wrap: wrap; gap: 9px; margin: 20px 0 30px; }
.ps-product-catalog .psc-nav a { display: inline-flex; align-items: center; min-height: 44px; padding: 8px 15px; border-radius: 999px; background: #eff4f6; font-size: 14px; font-weight: 700; text-decoration: none; }
.ps-product-catalog .psc-nav a:hover { background: #dceee6; }
.ps-product-catalog .psc-row { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 32px; margin: 0 0 30px; }
.ps-product-catalog .psc-soft { padding: 28px; border-radius: 20px; background: #f5f8f9; }
.ps-product-catalog .psc-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin: 20px 0; }
.ps-product-catalog .psc-cards article { border-top: 3px solid var(--psc-green); }
.ps-product-catalog .psc-note, .ps-product-catalog .psc-tip { padding: 18px 20px; border-left: 4px solid var(--psc-green); border-radius: 0 14px 14px 0; background: #eef8f3; }
.ps-product-catalog .psc-note p { margin: 6px 0 0; }
.ps-product-catalog .psc-specs { display: grid; grid-template-columns: 1fr 1fr; gap: 0 28px; }
.ps-product-catalog .psc-specs > div { display: flex; justify-content: space-between; gap: 15px; padding: 12px 0; border-bottom: 1px solid var(--psc-line); }
.ps-product-catalog .psc-specs span { text-align: right; }
.ps-product-catalog .psc-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; padding-left: 24px; }
.ps-product-catalog .psc-steps > div { padding: 18px; border: 1px solid var(--psc-line); border-radius: 16px; background: #fff; }
.ps-product-catalog .psc-num { display: inline-grid; width: 32px; height: 32px; place-items: center; border-radius: 50%; background: #e3f5ec; color: var(--psc-green-dark); font-weight: 700; }
.ps-product-catalog details { padding: 16px 0; border-bottom: 1px solid var(--psc-line); }
.ps-product-catalog summary { min-height: 44px; padding: 8px 24px 8px 0; font-weight: 700; cursor: pointer; }
.ps-product-catalog details p { margin: 6px 0 10px; }
.ps-product-catalog .psc-help { margin: 28px 0; padding: 28px; border-radius: 20px; background: #eff4f6; }
.ps-product-catalog .psc-help > a { display: inline-flex; align-items: center; min-height: 44px; padding: 9px 18px; border-radius: 999px; background: var(--psc-green); color: #0e151c; font-weight: 700; text-decoration: none; }
.ps-product-catalog .psc-links { display: flex; flex-wrap: wrap; gap: 20px; margin: 18px 0 0; }
.ps-product-catalog .psc-sources { margin-top: 22px; }
@media (max-width: 767px) {
  .ps-product-catalog .psc-hero, .ps-product-catalog .psc-row { grid-template-columns: 1fr; gap: 20px; }
  .ps-product-catalog .psc-hero { padding: 22px; }
  .ps-product-catalog .psc-facts { gap: 8px; }
  .ps-product-catalog .psc-facts > div { padding: 12px 9px; }
  .ps-product-catalog .psc-facts strong { font-size: 16px; }
  .ps-product-catalog .psc-facts span { font-size: 14px; }
  .ps-product-catalog .psc-nav { gap: 7px; }
  .ps-product-catalog .psc-nav a { padding: 8px 11px; font-size: 14px; }
  .ps-product-catalog .psc-soft, .ps-product-catalog .psc-help { padding: 22px; }
  .ps-product-catalog .psc-cards, .ps-product-catalog .psc-specs, .ps-product-catalog .psc-steps { grid-template-columns: 1fr; }
  .ps-product-catalog .psc-specs > div { align-items: flex-start; }
  .ps-product-catalog .psc-specs span { max-width: 58%; }
  .ps-product-catalog .psc-help > a { font-size: 14px; }
}



/* PDP add-to-cart: match category buttons while keeping the native button geometry. */
body.type-detail #product-detail-form .add-to-cart-button {
  background-color: #167450 !important;
  border-color: #167450 !important;
  border-radius: 999px !important;
  color: #fff !important;
  font-size: 18px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
body.type-detail #product-detail-form .add-to-cart-button:hover,
body.type-detail #product-detail-form .add-to-cart-button:focus-visible {
  background-color: #145e41 !important;
  border-color: #145e41 !important;
}


/* PDP product benefits: reduce the oversized icons while retaining readable text. */
body.type-detail .benefitBanner.position--benefitProduct .benefitBanner__item {
  flex: 1 1 25% !important;
  min-width: 0 !important;
  justify-content: center !important;
}
body.type-detail .benefitBanner.position--benefitProduct .benefitBanner__picture {
  flex: 0 0 53px !important;
  width: 53px !important;
  height: 53px !important;
  margin-right: 7px !important;
}
body.type-detail .benefitBanner.position--benefitProduct .benefitBanner__img {
  display: block !important;
  width: 53px !important;
  height: 53px !important;
  object-fit: contain !important;
}
body.type-detail .benefitBanner.position--benefitProduct .benefitBanner__content {
  font-size: 14px !important;
  line-height: 1.35 !important;
}
body.type-detail .benefitBanner.position--benefitProduct .benefitBanner__title {
  font-size: 15px !important;
  line-height: 1.3 !important;
}
body.type-detail .benefitBanner.position--benefitProduct .benefitBanner__data {
  font-size: 14px !important;
  line-height: 1.35 !important;
}

/* ==== premiumstore-ux-fixes-20261002-v2.css ==== */
/* PremiumStore UX fixes v2 – 2026-10-02 (zlúčená verzia: živý súbor + doplnky z auditu)
   Samostatný doplnkový súbor, načítať ako POSLEDNÝ stylesheet (po premiumstore-cro.css / main.css).
   Rollback = odstrániť <link>. Nemení markup ani správanie formulárov. */

/* 1) Košík (desktop): tlačidlo „Odstrániť" bolo opacity:0 -> vždy viditeľné */
.cart-table .remove-item,
.cart-table tr.removeable .remove-item {
  opacity: 1 !important;
  visibility: visible !important;
  min-width: 44px;
  min-height: 44px;
  cursor: pointer;
}

/* 2) Okno „Pridané do košíka" – kompaktné, jasná primárna/sekundárna akcia */
#colorbox,
#cboxWrapper,
#cboxContent,
#cboxLoadedContent {
  max-width: calc(100vw - 32px);
}
@media (min-width: 768px) {
  #colorbox,
  #cboxWrapper,
  #cboxContent,
  #cboxLoadedContent {
    width: 520px !important;
    max-width: 520px;
  }
  #colorbox { left: calc(50% - 260px) !important; }
}
.advanced-order .extras-wrap:empty { display: none; }
.advancedOrder__buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
}
.advancedOrder__buttons .btn {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.advancedOrder__buttons .next-step-back {
  background: #fff !important;
  color: #167450 !important;
  border: 2px solid #167450 !important;
  border-radius: 999px;
  font-weight: 600;
}
.advancedOrder__buttons .next-step-back:hover,
.advancedOrder__buttons .next-step-back:focus-visible {
  background: #eefaf5 !important;
  color: #145e41 !important;
  border-color: #145e41 !important;
}
/* Košík a objednávka: „Späť do obchodu" / „Späť" ako tlačidlo s obrysom */
body.ordering-process .btn.next-step-back {
  background: #fff !important;
  color: #167450 !important;
  border: 2px solid #167450 !important;
  border-radius: 999px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
}
body.ordering-process .btn.next-step-back:hover,
body.ordering-process .btn.next-step-back:focus-visible {
  background: #eefaf5 !important;
  color: #145e41 !important;
  border-color: #145e41 !important;
}
@media (max-width: 767px) {
  /* primárna akcia navrchu, sekundárna pod ňou */
  .advancedOrder__buttons { flex-direction: column-reverse; }
  .advancedOrder__buttons .btn { width: 100%; }
}

/* 3) Dotykové ciele (mobil) – min. 44 px */
@media (max-width: 767px) {
  .quantity .increase,
  .quantity .decrease {
    min-width: 44px;
    min-height: 44px;
  }
  .navigation-buttons > a,
  .navigation-buttons .btn-icon {
    min-width: 44px;
    min-height: 44px;
  }
  .link-icons .link-icon,
  .link-icon.print,
  .link-icon.chat,
  .link-icon.watchdog,
  .link-icon.share {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
  }
  .p-detail-inner .availability-label,
  .p-detail-info a,
  .breadcrumbs a {
    display: inline-block;
    padding-block: 12px;
  }
  footer a {
    display: inline-block;
    padding-block: 10px;
  }
}

/* 4) Dlaždice podkategórií – bez automatického delenia slov, názvy produktov do 3 riadkov */
body.type-category #content [id^="ps-cat-"]:not([id$="-help"]) a,
body.type-category #content [id^="ps-cat-"]:not([id$="-help"]) [class*="tile"],
body.type-category #content [id^="ps-cat-"]:not([id$="-help"]) [class*="label"],
body.type-category #content [id^="ps-cat-"]:not([id$="-help"]) [class*="title"],
.ps-tile,
.ps-tile *,
.subcategories a,
.category-navigation a {
  hyphens: none !important;
  -webkit-hyphens: none !important;
  overflow-wrap: normal;
  word-break: normal;
}
@media (max-width: 767px) {
  .products .product .name span,
  .products .product a.name {
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
  }
}

/* 5) Krok 2 – pole Telefón na celú šírku, indikátor hotových krokov */
.phone-combined-input {
  display: flex;
  align-items: center;
  gap: 8px;
  width: 100%;
}
.phone-combined-input #phone,
.phone-combined-input .js-phone-form-control {
  flex: 1 1 auto;
  width: auto !important;
  max-width: none !important;
  min-width: 0;
}
.cart-header .step.completed > a::before {
  content: "✓";
  color: #fff;
  background: #167450;
  border-radius: 50%;
  display: inline-block;
  width: 20px;
  height: 20px;
  line-height: 20px;
  text-align: center;
  font-size: 12px;
  margin-right: 6px;
  vertical-align: middle;
}

/* 6) Mobil: lepkavý CTA – košík (sticky) a krok 1 (fixný spodný panel, súhrn je až na konci stránky) */
@media (max-width: 767px) {
  .next-step.next-step--cart {
    position: sticky;
    bottom: 0;
    z-index: 20;
    background: #fff;
    padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
    box-shadow: 0 -4px 12px rgba(0, 0, 0, .08);
  }
  /* premiumstore-cro.css má #checkoutSidebar .order-summary-inner .next-step { margin:0 -24px !important; width:calc(100% + 48px) !important; padding:20px 24px 24px !important }
     – preto rovnako špecifický selektor (ID) a neskoršie poradie. */
  #checkoutSidebar .order-summary-inner .next-step.next-step--step-1 {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: 100% !important;
    max-width: 100vw !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    z-index: 30;
    padding: 10px 16px calc(10px + env(safe-area-inset-bottom)) !important;
    background: #fff !important;
    box-shadow: 0 -4px 12px rgba(0, 0, 0, .12);
  }
  #checkoutSidebar .order-summary-inner .next-step.next-step--step-1 .btn {
    width: 100% !important;
    min-height: 52px;
    margin: 0 !important;
  }
  .order-summary-inner { padding-bottom: 96px; }
}

/* 7) Detail produktu (mobil + tablet): rezerva pod lepkavým buybarom (.ps-buybar skrytý od 1024 px) */
@media (max-width: 1023px) {
  body.type-detail { padding-bottom: 84px; }
}

/* 8) Košík/objednávka: medzera medzi primárnym a sekundárnym tlačidlom (na iPhone sa dotýkali) */
body.ordering-process .next-step .btn + .btn,
body.ordering-process .next-step .next-step-back {
  margin-top: 12px;
}

/* ==== premiumstore-audit-fixes-20261003.css ==== */
/* PremiumStore audit fixes – 2026-10-03
   Samostatný doplnkový súbor, načítať ako POSLEDNÝ stylesheet (po premiumstore-ux-fixes-20261002-v2.css).
   Rollback = odstrániť <link>. Len vzhľad, nemení markup ani formuláre. Iba mobil (max-width: 767px). */

@media (max-width: 767px) {

  /* 1) Cookie lišta: kompaktná (bola ~31 % výšky obrazovky) */
  .siteCookies.siteCookies--bottom {
    max-height: none;
  }
  .siteCookies .siteCookies__form {
    padding: 12px 14px !important;
  }
  .siteCookies .siteCookies__content {
    margin: 0 !important;
    padding: 0 !important;
  }
  .siteCookies .siteCookies__text {
    font-size: 13px !important;
    line-height: 1.4 !important;
    margin: 0 0 6px !important;
  }
  .siteCookies .siteCookies__links {
    margin: 0 0 6px !important;
    padding: 0 !important;
    text-align: left !important;
    line-height: 1.2 !important;
  }
  .siteCookies .siteCookies__link {
    background: transparent !important;
    border: 0 !important;
    padding: 4px 0 !important;
    min-height: 0 !important;
    height: auto !important;
    width: auto !important;
    margin: 0 !important;
    font-size: 13px !important;
    text-decoration: underline;
  }
  .siteCookies .siteCookies__buttonWrap {
    display: flex !important;
    flex-direction: row !important;
    gap: 8px;
    margin: 0 !important;
  }
  .siteCookies .siteCookies__button {
    flex: 1 1 0;
    min-height: 44px;
    height: 44px !important;
    padding: 0 10px !important;
    font-size: 15px !important;
    margin: 0 !important;
  }

  /* 2) Detail produktu: vianočný rámček „Vyberáte vianočné osvetlenie?“ nezaberá miesto nad cenou */
  .ps-christmas-bridge {
    padding: 8px 12px !important;
    margin: 0 0 10px !important;
    font-size: 14px !important;
    line-height: 1.35 !important;
  }
  .ps-christmas-bridge > span {
    display: none !important;
  }
  .ps-christmas-bridge > div {
    display: flex;
    flex-wrap: wrap;
    gap: 4px 14px;
    margin-top: 4px !important;
  }
  .ps-christmas-bridge a {
    display: inline-flex !important;
    align-items: center;
    width: auto !important;
    margin: 0 !important;
    min-height: 32px;
  }

  /* 3) Úvodná stránka: štyri výhody doručenia ako kompaktná mriežka 2x2 (zaberali celú obrazovku) */
  body.in-index .benefitBanner.position--benefitHomepage {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px 12px;
    padding-inline: 16px;
  }
  body.in-index .benefitBanner__item {
    padding: 0 !important;
    margin: 0 !important;
    gap: 8px !important;
    align-items: flex-start !important;
  }
  body.in-index .benefitBanner__picture {
    flex: 0 0 24px !important;
    width: 24px !important;
    height: 24px !important;
  }
  body.in-index .benefitBanner__picture .benefitBanner__img {
    width: 24px !important;
    height: 24px !important;
  }
  body.in-index .benefitBanner__title {
    display: block;
    font-size: 13px !important;
    line-height: 1.25 !important;
  }
  body.in-index .benefitBanner__data {
    font-size: 12px !important;
    line-height: 1.3 !important;
  }

  /* 4) Dlaždice podkategórií: názvy max 3 riadky a rovnaká výška */
  body.type-category #content [id^="ps-cat-"]:not([id$="-help"]) a {
    min-height: 56px;
  }
}

/* Rýchlosť (CLS): logo z Shoptetu nemá width/height v HTML, hlavička preto
   po načítaní loga poskočí. Pomer strán 900x165 rezervuje miesto vopred. */
#header .site-name img {
  aspect-ratio: 900 / 165;
}

/* CLS: hlavička má na desktope výšku 96 px aj bez JS (natívny padding 15 px sa
   inak odstráni až po načítaní premiumstore-cro.js a obsah poskočí o 30 px). */
@media (min-width: 992px) {
  body:not(.ordering-process) #header .header-top { padding-top: 0; padding-bottom: 0; }
}

/* CLS (desktop home): blok .welcome-wrapper (H1 + úvod, order:2) je v HTML až za produktmi.
   Kým ho prehliadač nenaparsuje, vykreslí sa benefit lišta hore a po jeho príchode skočí o ~240 px.
   Miesto sa rezervuje, kým blok v DOM neexistuje; ak by na stránke nebol, rezervácia sa po 5 s zruší. */
@media (min-width: 768px) {
  body.type-index main#content.content:not(:has(.welcome-wrapper))::before {
    content: "";
    display: block;
    order: 2;
    height: 240px;
    animation: ps-welcome-ph-off 0s 5s forwards;
  }
}
@keyframes ps-welcome-ph-off { to { height: 0; } }

/* CLS (kategórie): popis kategórie (.category-perex) presúva premiumstore-cro.js pod produkty.
   Do presunu je popis skrytý, aby produkty neskočili hore. Rozcestníky (#psx-hub) a bloky s dlaždicami
   (.ps-grid) sa nemenia. Keby skript nebehol, popis sa po 5 s sám zobrazí. */
body.type-category .category-top > .category-perex:not(:has(.ps-grid)):not(:has(#psx-hub)) {
  display: none;
  animation: ps-perex-show 0s 5s forwards;
}
@keyframes ps-perex-show { to { display: block; } }
