/* TPmove.sk – finálne vlastné štýly | 18. 7. 2026 */


/* ==========================================================================
   PÔVODNÉ SCHVÁLENÉ ŠTÝLY – VYČISTENÁ VERZIA
   ========================================================================== */

/* ==========================================================================
   TPMove / Puori – Custom CSS (external file)
   ========================================================================== */

/* ==========================================================================
   FOOTER + LAYOUT
   ========================================================================== */
#footer {
  background-color: #dce3df !important;
}

/* Klasické obsahové stránky: širší textový stĺpec bez zásahu do hodnotení. */
@media screen and (min-width: 1200px) {
  body.type-page:not(.in-hodnotenie-obchodu) .content-inner {
    max-width: 960px;
  }
}

/* ==========================================================================
   TOP NAV – DESKTOP (>=1200px) – email v hornom bare
   ========================================================================== */
@media screen and (min-width: 1200px) {

	.extended-description {display:none;}
	.basic-description {padding-right:0!important;}

	.top-navigation-bar {display:none;}
	
	.co-box h4 {font-size: 26px!important;}
} 

/* ==========================================================================
   HEADER + MENU – TABLET/DESKTOP (>=768px)
   ========================================================================== */
@media screen and (min-width: 768px) {
  /* farba pozadia “baru” pod headerom */
  #header::after {
    background-color: #dce3df;
  }

  .navigation-in {
    background-color: transparent;
  }

  /* farba textu v menu */
  .navigation-in > ul > li > a,
  .submenu-arrow::after {
    color: #006460;
  }

  /* farba hamburgeru */
  .menu-helper::after {
    color: #fff;
  }
}

/* ==========================================================================
   KATEGÓRIE – vypnutie prvkov v hlavičke kategórie
   ========================================================================== */
/* .category-top, */
#category-header,
.products-top-wrapper {
  display: none;
}

/* ==========================================================================
   FLAGS + TABS
   ========================================================================== */
.flag.flag-new {
  background-color: #e5ab21;
}

h3.popis-nadpis,
.shp-tabs-holder {
  display: none;
}

/* ==========================================================================
   FOOTER – ikony + certifikácie
   ========================================================================== */
.footer-icon {
  max-width: 75px;
}

.custom-footer div ul#footer-certificates li::before {
  position: static;
  width: 0;
  height: 0;
}

ul#footer-certificates {
  columns: 2;
}

/* ==========================================================================
   FAQ – accordion správanie
   ========================================================================== */
.faq-item label::before {
  display: none !important;
}

.faq-item label + div {
  display: none;
}

.faq-item input:checked + label + div {
  display: block;
  padding: 0 20px;
}

.faq-item {
  border: 1px solid #dadada;
  margin-bottom: 12px;
}

.faq-item label {
  margin: 0 !important;
  cursor: pointer;
  padding: 16px 52px 16px 20px !important;
  width: 100%;
  color: #222 !important;
  background-color: #fff;
  font-size: 20px;
  position: relative !important;
  display: inline-block;
}

.faq-item:hover {
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
}

.faq-item label::after {
  content: "\e911" !important;
  font-family: shoptet !important;
  right: 20px;
  position: absolute !important;
  line-height: 1 !important;
  font-size: 14px !important;
  top: 50% !important;
  margin-top: -8px;
  transform: rotate(180deg) !important;
  background: none !important;
  color: #222 !important;
  left: auto !important;
}

.faq-item input:checked + label::after {
  transform: rotate(0deg) !important;
}

.faq-item:not(.not-last) {
  margin-bottom: 12px;
}

.faq-item input {
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  height: 1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
  width: 1px;
}

.faq-item input:focus-visible + label {
  outline: 2px solid #006460;
  outline-offset: 2px;
}

/* ==========================================================================
   SITE MESSAGE – informačný banner štýl
   ========================================================================== */
.site-msg.information {
  text-align: center !important;
  text-transform: uppercase;
  letter-spacing: 2px;
}

/* ==========================================================================
   BLOG/NEWS – obrázky v zozname
   ========================================================================== */
.news-item .image img {
  width: 100%;
  height: 211px;
  object-fit: cover;
}

/* ==========================================================================
   UPSELL / GIFT wrapper – shadow
   ========================================================================== */
.up-product-gift-wrapper {
  box-shadow: 0px 0px 8px 0px rgba(0, 0, 0, 0.25);
  border-radius: 3px;
}

/* ==========================================================================
   FAQ + Instagram – layout
   ========================================================================== */
.faq-instagram-wrapper {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin-top: 40px;
}

.faq-wrapper {
  flex: 1;
}

.instagram-wrapper {
  flex: 1;
  max-width: 540px;
}

/* ==========================================================================
   Mobile (<=768px) – FAQ/Instagram stĺpce + benefit banner typografia
   ========================================================================== */
@media (max-width: 768px) {
  .faq-instagram-wrapper {
    flex-direction: column;
  }

  .benefitBanner__title {
    font-size: 20px !important;
    line-height: 26px;
  }

  .benefitBanner__data {
    font-size: 16px !important;
  }
}

/* ==========================================================================
   Homepage blog – underline hover
   ========================================================================== */
.homepage-blog-wrapper .news-item a .title,
.homepage-blog-wrapper .read-article {
  text-decoration: underline !important;
}

/* ==========================================================================
   Mobile (<=767px) – skryť posledný blog post + certifikácie footer + H1 kategórie
   ========================================================================== */
@media (max-width: 767px) {
  .homepage-blog-wrapper .news-item:last-child {
    display: none !important;
  }

  .custom-footer > div.custom-footer__banner1 ul,
  .custom-footer > div.custom-footer__banner1 .news-item-widget {
    display: block !important;
  }

  ul#footer-certificates {
    columns: 3;
  }

  .footer-icons img {
    transform: scale(0.7);
    transform-origin: center;
  }

  h1.category-title {
    font-size: 28px !important;
  }
}

/* ==========================================================================
   Footer icons – grayscale hover
   ========================================================================== */
.footer-icons img {
  filter: grayscale(100%) brightness(0.8);
  opacity: 0.5;
  transition: filter 0.3s ease, opacity 0.3s ease;
}

.footer-icons img:hover,
.footer-icons img:focus {
  filter: grayscale(0%) brightness(1);
  opacity: 1;
}

/* ==========================================================================
   Slick slider – arrows + spacing
   ========================================================================== */
.slick-next,
.slick-prev {
  background-color: #dadada !important;
}

.slick-dotted.slick-slider {
  margin-bottom: 50px !important;
}

/* ==========================================================================
   Homepage welcome wrapper – spacing
   ========================================================================== */
.homepage-box.welcome-wrapper.welcimg-wrapper {
  margin-top: 18px !important;
  padding-top: 30px !important;
  padding-bottom: 30px !important;
  margin-bottom: 18px !important;
}

/* ==========================================================================
   MOBILE MENU (<=560px) – hlavné menu + oddelené info menu (top-navigation-bar-menu)
   ========================================================================== */
@media (max-width: 560px) {

  /* --- Hlavné menu: väčší odsadený text zľava + väčšia klikateľnosť --- */
  .navigation-in.menu .menu-level-1 {
    display: flex;
    flex-direction: column;
    gap: 0;
    margin: 0;
  }

  .navigation-in.menu .menu-level-1 > li {
    margin: 0;
  }

  .navigation-in.menu .menu-level-1 > li > a {
    min-height: 56px;
    padding: 14px 22px;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    text-decoration: none;
    font-weight: 700;
    background: #fff;
    border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.1);
    border-radius: 0;
  }

  .navigation-in.menu .menu-level-1 > li > a b {
    font-weight: 800;
    flex: 1 1 auto;
  }

  .navigation-in.menu .menu-level-1 > li > a:active {
    background: #f2f7f6;
  }

  .navigation-in.menu .menu-level-1 > li > a::after {
    content: "›";
    font-size: 20px;
    line-height: 1;
    opacity: 0.55;
    transform: translateY(-1px);
    flex: 0 0 auto;
  }

  /* --- Zvýraznenie: Produkty (primary) --- */
  .navigation-in.menu .menu-level-1 > li.menu-item-705 > a {
    background: #006460;
    color: #fff !important;
    border: 0;
    border-radius: 0;
    box-shadow: none;
  }

  .navigation-in.menu .menu-level-1 > li.menu-item-705 > a::after {
    opacity: 0.9;
  }

  /* Kontajner informačnej sekcie: už žiadny sivý blok */
  .navigation-in.menu .top-navigation-bar-menu {
    margin: 16px 0 0;
    padding: 0;
    border-top: 1px solid rgba(0, 0, 0, 0.14);
    background: #fff;
    border-radius: 0;
    display: flex;
    flex-direction: column;
    gap: 0;
    list-style: none;
  }

  .navigation-in.menu .top-navigation-bar-menu::before {
    content: "Informácie pre vás";
    display: block;
    padding: 18px 22px 10px;
    color: #006460;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.08em;
    text-transform: uppercase;
  }

  .navigation-in.menu .top-navigation-bar-menu > li {
    margin: 0;
  }

  /* Linky: väčší text, väčšia klikateľná plocha, bez "kartičiek" */
  .navigation-in.menu .top-navigation-bar-menu > li > a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 52px;
    padding: 13px 22px !important;
    font-size: 16px !important;
    line-height: 1.3;
    font-weight: 500 !important;
    background: #fff;
    border: 0;
    border-bottom: 1px solid rgba(0, 0, 0, 0.08);
    border-radius: 0;
    text-decoration: none;
  }

  /* Kontakt a Veľkoobchod už sú v hlavnom menu. */
  .navigation-in.menu .top-navigation-bar-menu > li.top-navigation-menu-item-29,
  .navigation-in.menu .top-navigation-bar-menu > li.top-navigation-menu-item-723 {
    display: none !important;
  }

  /* Chevron doprava (intuitívne kliknutie) */
  .navigation-in.menu .top-navigation-bar-menu > li > a::after {
    content: "›";
    opacity: 0.55;
    font-size: 20px;
    line-height: 1;
    transform: translateY(-1px);
    flex: 0 0 auto;
  }

  /* Jemná odozva pri dotyku */
  .navigation-in.menu .top-navigation-bar-menu > li > a:active {
    background: #f2f7f6;
  }
  
  
  .co-box h4 {font-size: 22px!important;}
}





/* ===== Universal variant cards for Shoptet ===== */

/* skryje povodny variantovy riadok, ale select ostava v DOM funkcny */
.tpmove-variant-row-original {
  display: none !important;
}

.tpmove-variant-ui {
  margin: 18px 0 20px;
  padding: 18px;
  background: #f7faf9;
  border: 2px solid #016560;
  border-radius: 10px;
  box-shadow: 0 4px 18px rgba(0,0,0,0.04);
}

.tpmove-variant-ui + .tpmove-variant-ui {
  margin-top: 12px;
}

.tpmove-variant-ui-title {
  display: block;
  margin: 0 0 6px;
  font-size: 18px;
  line-height: 1.3;
  font-weight: 700;
  color: #16302d;
}

.tpmove-variant-ui-subtitle {
  margin: 0 0 14px;
  font-size: 14px;
  line-height: 1.5;
  color: #5f6f6c;
}

.tpmove-variant-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.tpmove-variant-card {
  position: relative;
  display: block;
  width: 100%;
  text-align: left;
  padding: 14px 14px 12px;
  border: 2px solid #d9e4e1;
  border-radius: 12px;
  background: #fff;
  cursor: pointer;
  transition: .2s ease;
  box-sizing: border-box;
}

.tpmove-variant-card:hover {
  border-color: #00938d;
  transform: translateY(-1px);
}

.tpmove-variant-card.is-active {
  border-color: #00938d;
  background: #eefaf8;
  box-shadow: 0 0 0 3px rgba(0,147,141,0.10);
}

.tpmove-variant-card.is-active::after {
  content: "✓";
  position: absolute;
  top: 10px;
  right: 12px;
  width: 22px;
  height: 22px;
  border-radius: 50%;
  background: #00938d;
  color: #fff;
  font-size: 13px;
  font-weight: 700;
  line-height: 22px;
  text-align: center;
}

.tpmove-variant-card-name {
  display: block;
  margin: 0 28px 0 0;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 700;
  color: #16302d;
  word-break: break-word;
}

.tpmove-variant-card-meta {
  display: block;
  margin-top: 6px;
  font-size: 13px;
  line-height: 1.45;
  color: #566764;
}

.tpmove-variant-card-badge {
  display: inline-block;
  margin: 0 0 8px;
  padding: 5px 8px;
  border-radius: 999px;
  background: #dff5f2;
  color: #006460;
  font-size: 12px;
  line-height: 1;
  font-weight: 700;
}

@media (max-width: 640px) {
  .tpmove-variant-ui {
    padding: 14px;
  }

  .tpmove-variant-cards {
    grid-template-columns: 1fr;
  }

  .tpmove-variant-card-name {
    font-size: 16px;
  }

  .tpmove-variant-card-meta {
    font-size: 13px;
  }
}

.quantity-discounts__item--featured{
position:relative;
background:#f7fbfa;
border:2px solid #b8d8d5!important;
border-radius:0!important;
padding-top:48px!important;
box-shadow:none;
overflow:visible;
transition:background-color .2s ease,border-color .2s ease,box-shadow .2s ease
}

.quantity-discounts__item--featured .quantity-discounts__title{
color:#397b77!important;
font-weight:700!important;
line-height:1.5!important
}

.quantity-discounts__badge{
position:absolute;
top:12px;
right:14px;
z-index:2;
background:#78aaa7;
color:#fff;
padding:5px 11px;
border-radius:999px;
font-size:11px;
font-weight:700;
line-height:1.2;
white-space:nowrap;
transition:background-color .2s ease
}

.quantity-discounts__item--featured.quantity-discounts__item--highlighted{
background:#e2f5f2!important;
border-color:#00938d!important;
box-shadow:0 5px 18px rgba(0,147,141,.16),inset 5px 0 0 #00938d
}

.quantity-discounts__item--featured.quantity-discounts__item--highlighted .quantity-discounts__title{
color:#008b85!important
}

.quantity-discounts__item--featured.quantity-discounts__item--highlighted .quantity-discounts__price{
color:#008b85!important;
font-weight:700!important
}

.quantity-discounts__item--featured.quantity-discounts__item--highlighted .quantity-discounts__badge{
background:#00938d
}


/* ==========================================================================
   NOVÉ PRVKY – PODPORA V HLAVIČKE A DOPRAVA
   ========================================================================== */

/* ================================================================
   NOVÝ PRVOK: PODPORA V HLAVIČKE – IBA DESKTOP
   ================================================================ */

.tpmove-header-support {
  display: none;
}

.tpmove-header-trust,
.tpmove-mobile-menu-rating {
  display: none;
}

@media (min-width: 1200px) {
  #header .header-top > .site-name-wrapper {
    flex: 0 0 300px;
    max-width: 300px;
  }

  #header .search {
    flex: 1 1 500px;
    max-width: 500px;
    min-width: 300px;
    position: relative;
    z-index: 1000;
    transform: none;
  }

  #header .navigation-buttons {
    flex: 1 0 484px;
    justify-content: flex-start;
    min-width: 484px;
  }

  .tpmove-header-support {
    align-items: center;
    align-self: stretch;
    display: flex;
    flex: 0 1 170px;
    gap: 7px;
    justify-content: center;
    max-width: 170px;
    min-width: 160px;
    padding: 0 5px;
    transform: none;
  }

  .tpmove-header-support__photo {
    border-radius: 50%;
    display: block;
    flex: 0 0 40px;
    height: 40px;
    object-fit: cover;
    width: 40px;
  }

  .tpmove-header-support__content {
    align-items: flex-start;
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    line-height: 1.2;
    min-width: 0;
  }

  .tpmove-header-support__phone {
    color: #006460;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    white-space: nowrap;
  }

  .tpmove-header-support__phone:hover,
  .tpmove-header-support__phone:focus-visible {
    text-decoration: underline;
  }

  .tpmove-header-support__status,
  .tpmove-header-support__hours {
    color: #777;
    display: flex;
    font-size: 11px;
    margin-top: 3px;
    white-space: nowrap;
  }

  .tpmove-header-support__status {
    align-items: center;
    gap: 5px;
  }

  .tpmove-header-support__status i {
    background: #dc3545;
    border-radius: 50%;
    display: block;
    height: 7px;
    width: 7px;
  }

  .tpmove-header-support.is-open .tpmove-header-support__status i {
    background: #28a745;
  }

  .tpmove-header-trust {
    align-items: center;
    align-self: stretch;
    box-sizing: border-box;
    color: #24242e !important;
    display: flex;
    flex: 0 0 112px;
    gap: 6px;
    justify-content: center;
    min-width: 112px;
    padding: 0 3px;
    text-decoration: none !important;
    transform: none;
  }

  #header .navigation-buttons .top-nav-button-login {
    margin-left: auto;
  }

  .tpmove-header-trust:hover,
  .tpmove-header-trust:focus-visible {
    color: #006460 !important;
    text-decoration: none !important;
  }

  .tpmove-header-trust:focus-visible {
    outline: 2px solid rgba(0, 100, 96, .35);
    outline-offset: -3px;
  }

  .tpmove-header-trust__logo {
    display: block;
    flex: 0 0 32px;
    height: 32px;
    object-fit: contain;
    width: 32px;
  }

  .tpmove-header-trust__content {
    align-items: flex-start;
    display: flex;
    flex: 0 1 auto;
    flex-direction: column;
    max-width: 100px;
    min-width: 0;
    text-align: left;
  }

  .tpmove-header-trust__rating {
    color: #006460;
    font-size: 11px;
    font-weight: 800;
    line-height: 1.15;
    white-space: nowrap;
  }

  .tpmove-header-trust__stars {
    color: #f5ad19;
    letter-spacing: -1px;
  }

  .tpmove-header-trust__orders {
    color: #6b7280;
    font-size: 9.5px;
    line-height: 1.25;
    margin-top: 3px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

@media (min-width: 1200px) and (max-width: 1299px) {
  .tpmove-header-trust {
    display: none;
  }
}

@media (min-width: 1300px) {
  #header .navigation-buttons {
    flex-basis: 554px;
    min-width: 554px;
  }

  .tpmove-header-trust {
    flex-basis: 150px;
    margin-left: 12px;
    margin-right: 10px;
    min-width: 150px;
  }
}

@media (max-width: 767px) {
  .navigation-in.menu .tpmove-mobile-menu-rating {
    align-items: center;
    box-sizing: border-box;
    color: #24242e !important;
    display: flex;
    gap: 14px;
    min-height: 92px;
    padding: 14px 20px;
    background: #f2f8f7;
    border-top: 1px solid rgba(0, 100, 96, .14);
    border-bottom: 1px solid rgba(0, 100, 96, .16);
    text-decoration: none !important;
  }

  .navigation-in.menu .tpmove-mobile-menu-rating:active {
    background: #e8f3f1;
  }

  .tpmove-mobile-menu-rating__logo {
    display: block;
    flex: 0 0 56px;
    height: 56px;
    object-fit: contain;
    width: 56px;
  }

  .tpmove-mobile-menu-rating__content {
    display: flex;
    flex: 1 1 auto;
    flex-direction: column;
    min-width: 0;
  }

  .tpmove-mobile-menu-rating__topline {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
  }

  .tpmove-mobile-menu-rating__average {
    color: #006460;
    font-size: 24px;
    font-weight: 800;
    line-height: 1;
  }

  .tpmove-mobile-menu-rating__stars {
    color: #f5ad19;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: 1px;
    line-height: 1;
    white-space: nowrap;
  }

  .tpmove-mobile-menu-rating__orders {
    color: #4b5563;
    font-size: 13px;
    line-height: 1.35;
    margin-top: 6px;
  }
}

/* ================================================================
   PRODUKT: INFORMÁCIA O DOPRAVE
   ================================================================ */

.shipping-info-box {
  background: transparent;
  border: 1px solid #006460;
  border-radius: 4px;
  box-sizing: border-box;
  color: #006460;
  flex: 0 0 100%;
  font-size: 14px;
  font-weight: 600;
  margin-top: 12px;
  max-width: 100%;
  padding: 10px 12px;
  text-align: center;
  width: 100%;
}

/* ================================================================
   PRODUKT: BOX NAJPREDÁVANEJŠIEHO PRODUKTU
   ================================================================ */

.tpmove-bestseller-box {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-top: 12px;
  padding: 10px 12px;
  color: #384240;
  background: #fff;
  border: 1px solid #dce7e4;
  border-radius: 6px;
  font-size: 13px;
  line-height: 1.4;
}

.tpmove-bestseller-box__rank {
  display: inline-flex;
  width: 34px;
  height: 34px;
  flex: 0 0 34px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 15px;
  font-weight: 800;
  line-height: 1;
}

.tpmove-bestseller-box__message {
  min-width: 0;
}

.tpmove-bestseller-box__message strong {
  color: #24242d;
  font-weight: 700;
}

.tpmove-bestseller-box--gold {
  background: #fffdf6;
  border-color: #eadca8;
}

.tpmove-bestseller-box--gold .tpmove-bestseller-box__rank {
  color: #3f2b00;
  background: #e1b73f;
  box-shadow: inset 0 0 0 1px rgba(100, 70, 0, .14);
}

.tpmove-bestseller-box--silver {
  background: #fafbfc;
  border-color: #d9dfe3;
}

.tpmove-bestseller-box--silver .tpmove-bestseller-box__rank {
  color: #263238;
  background: #c7d0d5;
  box-shadow: inset 0 0 0 1px rgba(38, 50, 56, .12);
}

.tpmove-bestseller-box--bronze {
  background: #fff9f5;
  border-color: #e8c9b2;
}

.tpmove-bestseller-box--bronze .tpmove-bestseller-box__rank {
  color: #3f210b;
  background: #c98a58;
  box-shadow: inset 0 0 0 1px rgba(63, 33, 11, .14);
}

@media (max-width: 767px) {
  .tpmove-bestseller-box,
  .shipping-info-box {
    box-sizing: border-box;
    flex: 0 0 100%;
    max-width: 100%;
    width: 100%;
  }
}

@media (max-width: 480px) {
  .tpmove-bestseller-box {
    gap: 9px;
    padding: 9px 10px;
    font-size: 12px;
  }

  .tpmove-bestseller-box__rank {
    width: 32px;
    height: 32px;
    flex-basis: 32px;
    font-size: 14px;
  }
}

/* ================================================================
   PRODUKT: MOBILNÝ FLOATING NÁKUP
   Pôvodné tlačidlo doplnku ostáva funkčné; dopĺňame iba meta údaje.
   ================================================================ */

.tpmove-floating-meta {
  display: none;
}

@media (max-width: 468px) {
  #js-plugin-header.plugin-fixed-header {
    z-index: 50;
    border-top: 1px solid #d7dfdd;
    border-bottom: 0;
    box-shadow: 0 -4px 16px rgba(23, 48, 46, .12);
  }

  #js-plugin-header .plugin-fixed-header__container {
    display: grid;
    grid-template-columns: minmax(112px, 1fr) minmax(160px, 48%);
    align-items: center;
    gap: 8px;
    padding: 7px 10px calc(7px + env(safe-area-inset-bottom));
  }

  #js-plugin-header .tpmove-floating-meta {
    display: flex;
    min-width: 0;
    flex-direction: column;
    justify-content: center;
    gap: 3px;
    text-align: left;
  }

  #js-plugin-header .tpmove-floating-meta__top {
    display: flex;
    min-width: 0;
    align-items: baseline;
    gap: 8px;
  }

  #js-plugin-header .tpmove-floating-price {
    color: #24242d;
    font-size: 19px;
    font-weight: 800;
    line-height: 1.1;
    white-space: nowrap;
  }

  #js-plugin-header .tpmove-floating-availability {
    overflow: hidden;
    color: #006460;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #js-plugin-header .tpmove-floating-availability::before {
    content: "";
    display: inline-block;
    width: 7px;
    height: 7px;
    margin-right: 5px;
    background: #16874b;
    border-radius: 50%;
    vertical-align: 1px;
  }

  #js-plugin-header .tpmove-floating-availability:not(.is-in-stock) {
    color: #a52a3a;
  }

  #js-plugin-header .tpmove-floating-availability:not(.is-in-stock)::before {
    background: #c53f58;
  }

  #js-plugin-header .tpmove-floating-rating {
    display: flex;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
    align-items: center;
    gap: 6px;
    color: #66706f;
    font-size: 11px;
    line-height: 1;
    white-space: nowrap;
  }

  #js-plugin-header .tpmove-floating-rating .stars {
    display: inline-flex;
    flex: 0 0 auto;
    color: #f5b82e;
    font-size: 13px;
    line-height: 1;
  }

  #js-plugin-header .tpmove-floating-rating .sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    padding: 0 !important;
    margin: -1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
    border: 0 !important;
  }

  #js-plugin-header .tpmove-floating-rating .star-on::before,
  #js-plugin-header .tpmove-floating-rating .star-half::before {
    color: #f5b82e;
  }

  #js-plugin-header .tpmove-floating-rating__label {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  #js-plugin-header .plugin-fixed-header__basket {
    width: auto;
    min-width: 0;
    padding: 0;
  }

  #js-plugin-header .plugin-fixed-header__basket > button {
    min-height: 54px;
    padding: 8px 10px !important;
    font-size: 16px;
    font-weight: 800;
    line-height: 1.1;
  }
}

/* Produktový detail: dostupnosť a termín doručenia patria k rozhodnutiu kúpiť. */
body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary {
  display: flex !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 40px;
  box-sizing: border-box;
  align-items: center;
  flex-wrap: wrap;
  gap: 3px 7px !important;
  margin: 12px 0 10px !important;
  padding: 9px 11px !important;
  border: 1px solid #d7e3e0;
  border-radius: 6px;
  background: #f3f7f6;
  color: #536360;
  font-size: 13px;
  line-height: 1.35;
  white-space: normal !important;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .availability-label {
  display: inline-flex !important;
  align-items: center;
  color: #16874b !important;
  font-weight: 800;
  white-space: nowrap;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .availability-label::after {
  content: "." !important;
  margin-right: 0;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-time {
  display: inline-flex !important;
  min-width: 0;
  align-items: baseline;
  color: #006460;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-time > span {
  display: inline-flex;
  min-width: 0;
  flex-wrap: wrap;
  align-items: baseline;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-time > span::before {
  content: none !important;
}

body.type-product.type-detail #product-detail-form .tpmove-delivery-relative {
  color: #006460;
  font-weight: 800;
}

body.type-product.type-detail #product-detail-form .tpmove-delivery-date {
  color: #536360;
  font-weight: 600;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-in-detail {
  display: block !important;
  width: auto !important;
  margin: 0 0 0 auto !important;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-in-detail th {
  display: block !important;
  width: auto !important;
  padding: 0 !important;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-time-label {
  display: none !important;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .shipping-options {
  margin: 0 !important;
  color: #006460;
  font-size: 12px;
  font-weight: 750;
  text-underline-offset: 2px;
}

body.type-product.type-detail #product-detail-form .tpmove-delivery-variant-prompt {
  display: inline-flex;
  min-width: 0;
  align-items: center;
  color: #536360;
  font-weight: 700;
}

body.type-product.type-detail #product-detail-form .tpmove-delivery-variant-prompt[hidden] {
  display: none !important;
}

body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary--variant-pending .delivery-time {
  display: none !important;
}

.tpmove-sticky-content-nav--mobile {
  display: none;
}

.tpmove-product-scroll-target {
  scroll-margin-top: var(--tpmove-product-scroll-offset, 72px);
}

@media (max-width: 376px) {
  #js-plugin-header .tpmove-floating-rating--mobile {
    gap: 8px;
  }

  #js-plugin-header .tpmove-floating-rating--mobile .stars {
    gap: 1px;
    font-size: 11px;
  }

  #js-plugin-header .tpmove-floating-rating--mobile .star {
    width: 12px !important;
    min-width: 12px !important;
    font-size: 11px !important;
  }

  #js-plugin-header .tpmove-floating-rating--mobile .tpmove-floating-rating__label {
    flex: 0 0 auto;
    overflow: visible;
    text-overflow: clip;
  }
}

@media (max-width: 350px) {
  #js-plugin-header .plugin-fixed-header__container {
    grid-template-columns: minmax(105px, 1fr) 154px;
  }

  #js-plugin-header .tpmove-floating-price {
    font-size: 17px;
  }

  #js-plugin-header .tpmove-floating-rating {
    gap: 4px;
    font-size: 10px;
  }

  #js-plugin-header .tpmove-floating-rating .stars {
    font-size: 11px;
  }
}

@media (min-width: 992px) {
  #js-plugin-header .tpmove-floating-rating--desktop {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-left: 14px;
    color: #66706f;
    font-size: 13px;
    font-weight: 600;
    line-height: 1;
    white-space: nowrap;
    vertical-align: 1px;
  }

  #js-plugin-header .tpmove-floating-rating--desktop .stars {
    display: inline-flex;
    color: #d98400;
    font-size: 14px;
    line-height: 1;
  }

  #js-plugin-header .tpmove-floating-rating--desktop .star-on::before,
  #js-plugin-header .tpmove-floating-rating--desktop .star-half::before {
    color: #d98400;
  }

  #js-plugin-header .tpmove-sticky-content-nav {
    display: block;
    width: 100%;
    border-top: 1px solid #d7dfdd;
    background: #f4f8f7;
  }

  #js-plugin-header .tpmove-sticky-content-nav__inner {
    display: flex;
    align-items: center;
    justify-content: center;
    max-width: 1220px;
    gap: 7px;
    margin: 0 auto;
    padding: 7px 20px 8px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  #js-plugin-header .tpmove-sticky-content-nav__inner::-webkit-scrollbar {
    display: none;
  }

  #js-plugin-header .tpmove-sticky-content-nav a {
    display: inline-flex;
    min-height: 34px;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    padding: 6px 11px;
    border: 1px solid #c9d9d6;
    border-radius: 5px;
    background: #fff;
    color: #006460;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.2;
    text-decoration: none;
    white-space: nowrap;
  }

  #js-plugin-header .tpmove-sticky-content-nav a.is-active {
    border-color: #006460;
    background: #006460;
    color: #fff;
  }

  #js-plugin-header .tpmove-sticky-content-nav__arrow {
    min-width: 12px;
    margin-left: 7px;
    font-size: 15px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
  }

  #js-plugin-header .tpmove-sticky-content-nav a:hover,
  #js-plugin-header .tpmove-sticky-content-nav a:focus-visible {
    border-color: #006460;
    background: #e7f3f1;
    color: #004f4c;
    text-decoration: none;
  }

  #js-plugin-header .tpmove-sticky-content-nav a:focus-visible {
    outline: 2px solid #006460;
    outline-offset: 2px;
  }
}

@media (max-width: 991px) {
  #js-plugin-header .tpmove-floating-rating--desktop,
  #js-plugin-header .tpmove-sticky-content-nav {
    display: none !important;
  }

  .tpmove-sticky-content-nav--mobile {
    display: block;
    position: fixed;
    z-index: 49;
    top: 0;
    right: 0;
    left: 0;
    padding-top: env(safe-area-inset-top);
    border-bottom: 1px solid #c9d9d6;
    background: rgba(244, 248, 247, .97);
    box-shadow: 0 4px 14px rgba(23, 48, 46, .12);
    opacity: 0;
    pointer-events: none;
    transform: translateY(calc(-100% - 4px));
    transition: opacity 160ms ease, transform 200ms ease;
  }

  .tpmove-sticky-content-nav--mobile.is-visible {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
  }

  .tpmove-sticky-content-nav--mobile .tpmove-sticky-content-nav__inner {
    display: flex;
    width: 100%;
    box-sizing: border-box;
    align-items: center;
    gap: 6px;
    padding: 7px 10px 8px;
    overflow-x: auto;
    overscroll-behavior-x: contain;
    scrollbar-width: none;
  }

  .tpmove-sticky-content-nav--mobile .tpmove-sticky-content-nav__inner::-webkit-scrollbar {
    display: none;
  }

  .tpmove-sticky-content-nav--mobile a {
    display: inline-flex;
    min-height: 36px;
    flex: 0 0 auto;
    box-sizing: border-box;
    align-items: center;
    justify-content: center;
    padding: 7px 10px;
    border: 1px solid #c9d9d6;
    border-radius: 5px;
    background: #fff;
    color: #006460;
    font-size: 13px;
    font-weight: 750;
    line-height: 1.15;
    text-decoration: none;
    white-space: nowrap;
  }

  .tpmove-sticky-content-nav--mobile a.is-active {
    border-color: #006460;
    background: #006460;
    color: #fff;
  }

  .tpmove-sticky-content-nav--mobile .tpmove-sticky-content-nav__arrow {
    min-width: 11px;
    margin-left: 6px;
    font-size: 14px;
    font-weight: 900;
    line-height: 1;
    text-align: center;
  }

  body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary {
    min-height: 38px;
    flex-wrap: nowrap;
    gap: 3px 4px !important;
    margin: 10px 0 8px !important;
    padding: 7px 8px !important;
    font-size: 12px;
    letter-spacing: -.01em;
  }

  body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-time {
    min-width: 0;
    flex: 1 1 auto;
  }

  body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-time > span {
    flex-wrap: nowrap;
    overflow: hidden;
    white-space: nowrap;
  }

  body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .delivery-in-detail {
    flex: 0 0 auto;
    margin-left: auto !important;
  }

  body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .shipping-options {
    display: inline-grid !important;
    width: 28px;
    min-width: 28px;
    height: 28px;
    place-items: center;
    overflow: hidden;
    font-size: 0 !important;
    text-decoration: none;
  }

  body.type-product.type-detail #product-detail-form .availability-value.tpmove-delivery-summary .shipping-options::before {
    display: block !important;
    margin: 0 !important;
    font-size: 18px;
    line-height: 1;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpmove-sticky-content-nav--mobile {
    transition-duration: .01ms !important;
  }
}


/* ==========================================================================
   CP3 – CENOVÁ BUBLINA
   ========================================================================== */

.tpmove-price-action--with-bubble {
  display: inline-block;
  position: relative;
}

.tpmove-price-bubble {
  position: absolute;
  z-index: 20;
  top: 50%;
  left: calc(100% + 10px);
  padding: 8px 11px;
  transform: translateY(-50%);
  color: #fff;
  background: #e31e53;
  border-radius: 12px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, .18);
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
  white-space: nowrap;
}

.tpmove-price-bubble span,
.tpmove-price-bubble strong {
  display: block;
}

.tpmove-price-bubble span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .02em;
}

.tpmove-price-bubble strong {
  font-size: 14px;
  line-height: 1.15;
}


/* ==========================================================================
   CP3 – FOMO MODÁL POSLEDNÉ KUSY
   ========================================================================== */

html.tpmove-cp3-fomo-open,
html.tpmove-cp3-fomo-open body {
  overflow: hidden;
}

.tpmove-cp3-fomo {
  position: fixed;
  z-index: 100000000;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(15, 23, 42, .66);
  backdrop-filter: blur(3px);
  opacity: 0;
  transition: opacity .22s ease;
}

.tpmove-cp3-fomo.is-visible {
  opacity: 1;
}

.tpmove-cp3-fomo__dialog {
  position: relative;
  width: min(100%, 560px);
  padding: 46px 48px 42px;
  transform: translateY(10px) scale(.985);
  color: #24242e;
  background: #fff;
  border-radius: 18px;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .28);
  text-align: center;
  transition: transform .22s ease;
}

.tpmove-cp3-fomo.is-visible .tpmove-cp3-fomo__dialog {
  transform: translateY(0) scale(1);
}

.tpmove-cp3-fomo__close {
  position: absolute;
  top: 12px;
  right: 14px;
  width: 40px;
  height: 40px;
  padding: 0;
  color: #7c8381;
  background: transparent;
  border: 0;
  border-radius: 50%;
  font-size: 30px;
  font-weight: 400;
  line-height: 1;
  cursor: pointer;
}

.tpmove-cp3-fomo__close:hover,
.tpmove-cp3-fomo__close:focus-visible {
  color: #006460;
  background: #eef6f5;
  outline: 0;
}

.tpmove-cp3-fomo__badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin: 0 0 24px;
  padding: 9px 20px;
  color: #c74708;
  background: #fff1dc;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .025em;
  line-height: 1.2;
  text-transform: uppercase;
}

.tpmove-cp3-fomo__title {
  margin: 0 0 16px;
  color: #24242e;
  font-size: 28px;
  font-weight: 800;
  line-height: 1.2;
}

.tpmove-cp3-fomo__text {
  margin: 0 auto 28px;
  max-width: 470px;
  color: #4b5563;
  font-size: 16px;
  line-height: 1.65;
}

.tpmove-v-clearance__note {
  margin-top: -14px;
  margin-bottom: 24px;
  color: #66706f;
  font-size: 13.5px;
  line-height: 1.5;
}

.tpmove-cp3-fomo__continue {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: min(100%, 340px);
  min-height: 52px;
  padding: 12px 22px;
  color: #fff;
  background: #006460;
  border: 2px solid #006460;
  border-radius: 6px;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.25;
  cursor: pointer;
}

.tpmove-cp3-fomo__continue:hover,
.tpmove-cp3-fomo__continue:focus-visible {
  color: #fff;
  background: #004d49;
  border-color: #004d49;
  outline: 3px solid rgba(0, 100, 96, .22);
  outline-offset: 2px;
}

@media (max-width: 640px) {
  .tpmove-cp3-fomo {
    padding: 16px;
  }

  .tpmove-cp3-fomo__dialog {
    padding: 42px 22px 26px;
    border-radius: 14px;
  }

  .tpmove-cp3-fomo__badge {
    margin-bottom: 20px;
    padding: 8px 15px;
    font-size: 12px;
  }

  .tpmove-cp3-fomo__title {
    margin-bottom: 14px;
    font-size: 23px;
  }

  .tpmove-cp3-fomo__text {
    margin-bottom: 24px;
    font-size: 15px;
    line-height: 1.55;
  }

  .tpmove-v-clearance__note {
    margin-top: -12px;
    margin-bottom: 20px;
    font-size: 12.5px;
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpmove-cp3-fomo,
  .tpmove-cp3-fomo__dialog {
    transition: none;
  }
}


/* ==========================================================================
   CP3 – SKORO VYPREDANÝ STAV DOSTUPNOSTI
   ========================================================================== */

.tpmove-cp3-low-stock .availability-label.tpmove-cp3-low-stock__label {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #b85c00 !important;
}

.tpmove-cp3-low-stock .availability-label.tpmove-cp3-low-stock__label::before {
  content: '';
  display: inline-block;
  flex: 0 0 10px;
  width: 10px;
  height: 10px;
  background: #f0a02e;
  border-radius: 50%;
  animation: tpmoveCp3StockPulse 1.8s ease-out infinite;
}

.tpmove-cp3-low-stock .delivery-time,
.tpmove-cp3-low-stock .delivery-time span {
  color: #b85c00 !important;
}

@keyframes tpmoveCp3StockPulse {
  0% {
    box-shadow: 0 0 0 0 rgba(240, 160, 46, .55);
  }
  70% {
    box-shadow: 0 0 0 7px rgba(240, 160, 46, 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(240, 160, 46, 0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpmove-cp3-low-stock .availability-label.tpmove-cp3-low-stock__label::before {
    animation: none;
    box-shadow: 0 0 0 4px rgba(240, 160, 46, .2);
  }
}


/* ==========================================================================
   PÔVODNÉ INLINE ŠTÝLY Z HLAVIČKY
   ========================================================================== */

/* vyššia špecificita, aby to neprebilo globálne CSS */
  .contact-box ul li.stav-dostupnosti{
    font-size:15px;
    margin-bottom:8px;
    list-style:none !important;
    position:relative !important;
    display:block !important;
    padding-left:18px !important;
    line-height:1.35;
  }

  .contact-box ul li.stav-dostupnosti::before{
    content:"" !important;
    position:absolute !important;
    left:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:10px !important;
    height:10px !important;
    border-radius:999px !important;
    background:#dc3545 !important;
    display:block !important;
    z-index:2 !important;
    pointer-events:none !important;
  }

  .contact-box ul li.stav-dostupnosti.is-open::before{background:#28a745 !important}
  .contact-box ul li.stav-dostupnosti.is-closed::before{background:#dc3545 !important}

.site-name a[data-testid="linkWebsiteLogo"]{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none}.logo-distributor-text{display:block;margin-top:4px;font-size:11px;line-height:1.2;font-weight:400;color:#6f7f7b;letter-spacing:.01em;white-space:nowrap}@media(max-width:767px){.logo-distributor-text{display:none!important}}

#set-registration+label[for=set-registration] .tpmove-reg-title{display:block;font-weight:800;font-size:16px;line-height:1.25;color:#0f172a}#set-registration+label[for=set-registration] .tpmove-reg-sub{display:block;margin-top:6px;font-size:13px;line-height:1.35;color:rgba(15,23,42,.85)}#set-registration+label[for=set-registration] .tpmove-reg-micro{display:block;margin-top:8px;font-size:12px;line-height:1.35;color:rgba(15,23,42,.7)}@media (max-width:640px){.price-final.price-action.tpmove-price-action--with-bubble{position:relative!important;display:inline-block!important;margin-bottom:0!important;padding-right:112px!important}.tpmove-price-bubble{left:auto!important;right:-10px!important;top:50%!important;transform:translateY(-50%)!important;white-space:nowrap!important;max-width:none!important;text-align:left!important;padding:6px 8px!important;border-radius:5px!important}.tpmove-price-bubble span{font-size:10px!important;line-height:1.15!important}.tpmove-price-bubble strong{font-size:14px!important;line-height:1.15!important}.up-cart-gifts-tab-status-locked{display:none!important}.up-cart-gifts-container{margin:0 12px;border:1px solid #aaa;border-radius:3px}.extra.delivery{border:1px solid #aaa;padding:10px 18px;background:#e3f3ff;border-radius:3px}}
.sk .p-info-wrapper .availability-value .delivery-time > span::before{content:none!important;}
@media screen and (max-width: 479px) {
.extended-banner-texts {padding: 10px!important;} 

.sk .p-info-wrapper .availability-value .delivery-time > span::before{content:none!important;}
}
.benefitBanner.position--benefitHomepage {
    display: flex;
    flex-wrap: wrap;
}

.benefitBanner.position--benefitHomepage::before {
    content: "🇩🇰 Dánska kvalita. Na Slovensku a v Česku už viac ako 12 rokov.";
    display: block;
    width: 100%;
    flex: 0 0 100%;
    text-align: center;
    font-size: 22px;
    font-weight: 600;
    color: #24242E;
    margin: 0 0 20px;
    line-height: 1.4;
}
.extended-banner-texts {padding: 20px;} 

.extended-banner-link {
    border: 1px solid #00847f;
    background: #006460;
    color: white;
    border-radius: 6px;
    margin: 10px;
}
#header .search-form .btn {
    border-color: #595959 !important;
    background-color: #595959 !important;
}

#header .search-form .btn:hover,
#header .search-form .btn:focus-visible {
    border-color: #474747 !important;
    background-color: #474747 !important;
}
.st-cookies-v2 .siteCookies {
  z-index: 100000010 !important;
  pointer-events: auto !important;
}

.st-cookies-v2 .siteCookies *,
.st-cookies-v2 .siteCookies button,
.st-cookies-v2 .siteCookies a,
.st-cookies-v2 .siteCookies .js-cookies-settings {
  pointer-events: auto !important;
}

.st-cookies-v2 .siteCookies button,
.st-cookies-v2 .siteCookies a,
.st-cookies-v2 .siteCookies .js-cookies-settings {
  position: relative;
  z-index: 100000011 !important;
}
.cookie-ag-wrap:empty {
  display: none !important;
  pointer-events: none !important;
}
@media (max-width: 767px) {
    #ec-v-form-slider-handle {
        width: 33%!important;
        opacity:85%;
    }
    #ec-v-form-slider-handle a{
        border-top-right-radius: 10px!important;
        font-size:12px!important;
        font-weight:bold;
        padding-left: 15px!important;
        padding-right: 15px!important;
    }
}


/* ==========================================================================
   PÔVODNÉ INLINE ŠTÝLY Z PÄTIČKY – BADGE
   ========================================================================== */

.tpmove-badge{
  cursor:pointer;
  transition:.18s ease;
}
.tpmove-badge:hover{
  background:#e6f5f3;
  border-color:#0f766e;
  color:#0f766e;
}
.tpmove-product-highlight{
  outline:3px solid #00938d;
  outline-offset:4px;
  border-radius:12px;
  transition:outline .2s ease;
}


/* ==========================================================================
   SPOMENUTÉ V MÉDIÁCH
   ========================================================================== */

/* Štýly bloku médií presunuté do spoločného súboru. */

#puori-press-block{
        width: 100%;
      }

      .puori-press {
        width: 100%;
        max-width: 1400px;
        margin: 36px auto;
        padding: 0 16px;
        box-sizing: border-box;
      }

      .puori-press__box {
        width: 100%;
        background: #ffffff;
        border: 1px solid #e7e7e7;
        border-radius: 10px;
        padding: 28px 18px;
        box-sizing: border-box;
      }

      .puori-press__heading {
        margin: 0 0 10px;
        text-align: center;
        font-size: 28px;
        line-height: 1.2;
        color: #111827;
        font-weight: 700;
      }

      .puori-press__subheading {
        margin: 0 0 24px;
        text-align: center;
        font-size: 15px;
        line-height: 1.6;
        color: #6b7280;
      }

      .puori-press__grid {
        display: grid;
        grid-template-columns: repeat(4, minmax(0, 1fr));
        gap: 16px;
        width: 100%;
      }

      .puori-press__item {
        display: flex;
        align-items: center;
        justify-content: center;
        height: 130px;
        min-height: 130px;
        background: #fff;
        border: 1px solid #ececec;
        border-radius: 8px;
        padding: 12px;
        text-decoration: none;
        transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
        box-sizing: border-box;
        overflow: hidden;
      }

      .puori-press__item:hover {
        transform: translateY(-2px);
        border-color: #d8d8d8;
        box-shadow: 0 10px 24px rgba(0,0,0,0.06);
      }

      .puori-press__item:focus-visible {
        outline: 2px solid #00938d;
        outline-offset: 2px;
      }

      .puori-press__logo {
        display: block;
        width: auto;
        height: 93px;
        max-width: 100%;
        object-fit: contain;
        filter: grayscale(100%);
        opacity: 0.95;
        transition: filter .2s ease, opacity .2s ease;
      }

      .puori-press__item:hover .puori-press__logo {
        filter: grayscale(0%);
        opacity: 1;
      }

      @media (max-width: 991px) {
        .puori-press {
          max-width: 1080px;
          padding: 0 14px;
        }

        .puori-press__grid {
          grid-template-columns: repeat(3, minmax(0, 1fr));
          gap: 14px;
        }

        .puori-press__item {
          height: 118px;
          min-height: 118px;
        }

        .puori-press__logo {
          height: 72px;
        }
      }

      @media (max-width: 640px) {
        .puori-press {
          margin: 28px auto;
          padding: 0 12px;
        }

        .puori-press__box {
          padding: 22px 12px;
          border-radius: 8px;
        }

        .puori-press__heading {
          font-size: 22px;
        }

        .puori-press__subheading {
          font-size: 14px;
          margin-bottom: 18px;
        }

        .puori-press__grid {
          grid-template-columns: repeat(2, minmax(0, 1fr));
          gap: 10px;
        }

        .puori-press__item {
          height: 92px;
          min-height: 92px;
          padding: 4px;
          border-radius: 6px;
        }

        .puori-press__logo {
          height: 72px;
          max-width: 100%;
        }
      }


/* ==========================================================================
   HODNOTENIA OBCHODU – WIDGET A CELÁ STRÁNKA
   ========================================================================== */

/* ========================================================================== 
   HODNOTENIA OBCHODU
   Samostatné scope pre widget na úvodnej stránke a celú stránku hodnotení.
   ========================================================================== */

:root {
  --tp-rating-green: #006460;
  --tp-rating-accent: #00938d;
  --tp-rating-mint: #f1f8f6;
  --tp-rating-border: #dce7e4;
  --tp-rating-text: #24242d;
  --tp-rating-muted: #66706f;
  --tp-rating-stars: #f5b82e;
  --tp-rating-positive: #16874b;
  --tp-rating-negative: #c53f58;
  --tp-rating-shadow: 0 5px 18px rgba(0, 100, 96, .07);
}

/* Hviezdičky – iba oba bloky hodnotení, nie celý web. */
#hodnoceniobchodu .star-on::before,
#ratingWrapper .star-on::before,
#ratingsList .star-on::before {
  color: var(--tp-rating-stars);
}

/* ========================================================================== 
   ÚVODNÁ STRÁNKA – KOMPAKTNÝ WIDGET (4 / 2 / 1 stĺpec)
   ========================================================================== */

#hodnoceniobchodu {
  max-width: 1390px;
  margin: 32px auto;
  padding: 26px;
  background: #fff;
  border: 1px solid var(--tp-rating-border);
  border-radius: 8px;
  box-shadow: var(--tp-rating-shadow);
}

#hodnoceniobchodu h2 {
  margin: 0 0 18px;
  color: var(--tp-rating-green);
  font-size: 26px;
  line-height: 1.25;
  text-align: center;
}

#hodnoceniobchodu .shop-eval-stars {
  margin: 0 0 22px;
  padding: 16px 20px;
  background: var(--tp-rating-mint);
  border: 1px solid #d5ebe6;
  border-radius: 6px;
  text-align: center;
}

#hodnoceniobchodu .rate-average-inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
}

#hodnoceniobchodu .rate-average {
  color: var(--tp-rating-green);
  font-size: 26px !important;
  font-weight: 700;
  line-height: 1;
}

#hodnoceniobchodu .rate-star-wrap {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

#hodnoceniobchodu .stars {
  color: var(--tp-rating-stars);
  font-size: 22px;
  line-height: 1;
}

#hodnoceniobchodu .stars-label {
  margin-top: 5px;
  color: var(--tp-rating-muted);
  font-size: 14px !important;
  text-decoration: underline;
  text-underline-offset: 2px;
}

#hodnoceniobchodu .verified-heureka {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  margin-top: 9px;
  color: var(--tp-rating-positive);
  font-size: 13px;
  font-weight: 600;
}

#hodnoceniobchodu .verified-heureka::before {
  content: "✓";
  font-size: 16px;
  font-weight: 700;
}

#hodnoceniobchodu .shop-eval {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

#hodnoceniobchodu .shop-eval > .vote-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100%;
  margin: 0 !important;
  padding: 18px !important;
  box-sizing: border-box !important;
  flex: none !important;
  background: #fff;
  border: 1px solid var(--tp-rating-border);
  border-radius: 7px;
  box-shadow: 0 2px 9px rgba(27, 54, 52, .05);
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

#hodnoceniobchodu .shop-eval > .vote-wrap:hover {
  background: #fff;
  border-color: #9bc8c2;
  box-shadow: 0 7px 20px rgba(0, 100, 96, .10);
  transform: translateY(-2px);
}

#hodnoceniobchodu .vote-header,
#hodnoceniobchodu .vote-summary {
  display: block;
}

#hodnoceniobchodu .vote-header {
  margin: 0 0 11px;
}

#hodnoceniobchodu .vote-name {
  display: block;
  overflow: hidden;
  margin-bottom: 8px;
  color: var(--tp-rating-green);
  font-size: 14px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#hodnoceniobchodu .vote-rating {
  display: flex;
  align-items: center;
  gap: 7px;
  color: var(--tp-rating-muted);
  font-size: 12px;
}

#hodnoceniobchodu .vote-rating .stars {
  font-size: 17px;
}

#hodnoceniobchodu .vote-delimeter {
  color: #c7cfcd;
}

#hodnoceniobchodu .vote-time {
  margin-left: auto;
  color: var(--tp-rating-muted);
  font-size: 12px;
}

#hodnoceniobchodu .vote-content {
  margin-top: 0;
  color: var(--tp-rating-text);
  font-size: 14px;
  line-height: 1.55;
}

#hodnoceniobchodu .heureka-rating-group.plus {
  margin-top: 10px;
  color: var(--tp-rating-positive);
  font-size: 13px;
  font-weight: 600;
}

#hodnoceniobchodu .shop-stat-all {
  margin-top: 22px;
  text-align: center;
}

#hodnoceniobchodu .shop-stat-all .btn-conversion {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 10px 25px !important;
  color: #fff !important;
  background: var(--tp-rating-green) !important;
  border: 1px solid var(--tp-rating-green) !important;
  border-radius: 4px;
  font-weight: 700;
}

#hodnoceniobchodu .shop-stat-all .btn-conversion:hover,
#hodnoceniobchodu .shop-stat-all .btn-conversion:focus-visible {
  color: var(--tp-rating-green) !important;
  background: #fff !important;
  text-decoration: underline;
}

/* ========================================================================== 
   STRÁNKA HODNOTENÍ – SÚHRN
   ========================================================================== */

#ratingWrapper {
  margin-bottom: 42px;
  padding: 26px;
  background: var(--tp-rating-mint);
  border: 1px solid var(--tp-rating-border);
  border-radius: 8px;
}

#ratingWrapper .rate-wrap {
  display: grid;
  grid-template-columns: minmax(220px, .7fr) minmax(360px, 1.3fr);
  align-items: center;
  gap: 42px;
  margin: 0;
}

/* Bootstrap/Shoptet pridáva na .row pseudo-prvky. V gride by sa správali
   ako ďalšie položky a odsunuli súhrn a graf do dvoch samostatných riadkov. */
#ratingWrapper .rate-wrap.row::before,
#ratingWrapper .rate-wrap.row::after {
  display: none !important;
  content: none !important;
}

#ratingWrapper .rate-average-wrap,
#ratingWrapper .votes {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box;
}

#ratingWrapper .rate-average-inner {
  text-align: center;
}

#ratingWrapper .rate-average {
  color: var(--tp-rating-green);
  font-size: 44px;
  font-weight: 700;
  line-height: 1;
}

#ratingWrapper .rate-star-wrap {
  margin-top: 10px;
}

#ratingWrapper .rate-star-wrap .stars {
  color: var(--tp-rating-stars);
  font-size: 27px;
}

#ratingWrapper .stars-label {
  color: var(--tp-rating-muted);
  font-size: 14px;
}

#ratingWrapper .rate-list {
  display: grid;
  grid-template-columns: 80px 1fr;
  align-items: center;
  gap: 11px;
  margin: 7px 0;
}

#ratingWrapper .rate-star {
  color: var(--tp-rating-muted);
  font-size: 13px;
  white-space: nowrap;
}

#ratingWrapper .rate-block {
  height: 7px;
  overflow: hidden;
  background: #d8e1df;
  border-radius: 4px;
}

#ratingWrapper .rate-bar {
  height: 100%;
  background: var(--tp-rating-green);
  border-radius: inherit;
}

#ratingWrapper .add-comment {
  margin-top: 18px;
}

#ratingWrapper .add-comment .btn {
  min-height: 42px;
  padding: 10px 20px;
  color: #fff;
  background: var(--tp-rating-green);
  border-color: var(--tp-rating-green);
  border-radius: 4px;
  font-weight: 700;
}

/* ========================================================================== 
   STRÁNKA HODNOTENÍ – 4 / 2 / 1 stĺpec
   ========================================================================== */

#ratingsList {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  align-items: stretch;
  gap: 16px;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-wrap: initial !important;
}

#ratingsList > .vote-wrap {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100%;
  margin: 0 !important;
  padding: 19px !important;
  box-sizing: border-box !important;
  flex: none !important;
  background: #fff;
  border: 1px solid var(--tp-rating-border);
  border-radius: 7px;
  box-shadow: 0 3px 12px rgba(27, 54, 52, .06);
}

#ratingsList > .vote-wrap > .vote-header {
  margin-bottom: 13px;
  padding-bottom: 12px;
  border-bottom: 1px solid #e5ecea;
}

#ratingsList .vote-header {
  display: flex;
  align-items: center;
  gap: 10px;
}

#ratingsList .vote-summary {
  display: block;
  min-width: 0;
  flex: 1;
}

#ratingsList .vote-name {
  display: block;
  overflow: hidden;
  margin-bottom: 6px;
  color: var(--tp-rating-green);
  font-size: 14px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}

#ratingsList .vote-rating {
  display: flex;
  align-items: center;
  gap: 6px;
  color: var(--tp-rating-muted);
  font-size: 12px;
}

#ratingsList .vote-rating .stars {
  color: var(--tp-rating-stars);
  font-size: 17px;
}

#ratingsList .vote-time {
  margin-left: auto;
  white-space: nowrap;
}

#ratingsList .vote-content {
  margin: 0;
  color: var(--tp-rating-text);
  font-size: 14px;
  line-height: 1.6;
}

#ratingsList .heureka-rating-group {
  margin-top: 10px;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.45;
}

#ratingsList .heureka-rating-group.plus {
  color: var(--tp-rating-positive);
}

#ratingsList .heureka-rating-group.minus {
  color: var(--tp-rating-negative);
}

/* Odpoveď obchodu – JS iba doplní triedu a názov, vzhľad riadi CSS. */
#ratingsList .votes-wrap.admin-response {
  margin-top: 16px;
  padding: 13px 14px;
  background: var(--tp-rating-mint);
  border-left: 3px solid var(--tp-rating-green);
  border-radius: 0 5px 5px 0;
}

#ratingsList .votes-wrap.admin-response > .vote-wrap {
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
}

#ratingsList .votes-wrap.admin-response .vote-header {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 8px;
}

#ratingsList .votes-wrap.admin-response .vote-pic {
  display: block !important;
  width: 34px !important;
  height: 34px !important;
  flex: 0 0 34px !important;
  overflow: hidden !important;
  border-radius: 50% !important;
}

#ratingsList .votes-wrap.admin-response .vote-pic img {
  position: static !important;
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

#ratingsList .votes-wrap.admin-response .vote-initials,
#ratingsList .votes-wrap.admin-response .vote-rating {
  display: none !important;
}

#ratingsList .votes-wrap.admin-response .vote-summary {
  display: block !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
}

#ratingsList .votes-wrap.admin-response .vote-name {
  margin: 0;
  font-size: 13px;
}

#ratingsList .votes-wrap.admin-response .vote-name::before {
  content: "Odpoveď obchodu";
  display: block;
  margin-bottom: 2px;
  color: var(--tp-rating-muted);
  font-size: 11px;
  font-weight: 500;
}

#ratingsList .votes-wrap.admin-response .vote-content {
  color: #384240;
  font-size: 13px;
}

#ratingsList + .listingControls {
  margin-top: 30px;
}

#ratingsList + .listingControls .pagination__list {
  display: flex;
  justify-content: center;
  gap: 6px;
}

#ratingsList + .listingControls .pagination__list a,
#ratingsList + .listingControls .pagination__list strong {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  min-height: 40px;
  border: 1px solid var(--tp-rating-border);
  border-radius: 4px;
}

@media (max-width: 991px) {
  #hodnoceniobchodu .shop-eval,
  #ratingsList {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  #ratingWrapper .rate-wrap {
    grid-template-columns: 1fr;
    gap: 26px;
  }
}

@media (max-width: 767px) {
  #hodnoceniobchodu {
    margin: 24px auto;
    padding: 18px 14px;
    border-radius: 6px;
  }

  #hodnoceniobchodu h2 {
    margin-bottom: 14px;
    font-size: 22px;
  }

  #hodnoceniobchodu .shop-eval-stars {
    margin-bottom: 14px;
    padding: 14px 10px;
  }

  #hodnoceniobchodu .rate-average-inner {
    gap: 10px;
  }

  #hodnoceniobchodu .rate-average {
    font-size: 28px !important;
  }

  #hodnoceniobchodu .rate-star-wrap {
    align-items: center;
  }

  #hodnoceniobchodu .shop-eval,
  #ratingsList {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  #hodnoceniobchodu .shop-eval > .vote-wrap,
  #ratingsList > .vote-wrap {
    padding: 16px;
  }

  #ratingWrapper {
    margin-bottom: 26px;
    padding: 20px 16px;
    border-radius: 6px;
  }

  #ratingWrapper .rate-wrap {
    gap: 22px;
  }

  #ratingWrapper .rate-average {
    font-size: 38px;
  }

  #ratingWrapper .rate-list {
    grid-template-columns: 68px 1fr;
  }
}

@media (prefers-reduced-motion: reduce) {
  #hodnoceniobchodu .shop-eval > .vote-wrap {
    transition: none;
  }
}


/* ==========================================================================
   OBSAHOVÁ STRÁNKA – 404
   ========================================================================== */

/* Zdroj štýlov pre vlastný obsah 404. Generátor ho vkladá do spoločného CSS. */

body.id-404 .content-inner,
body:has(.tp404-page) .content-inner {
  max-width: 960px;
}

body.id-404 .content-inner > article > header > h1,
body.id-404 .content-inner > header > h1,
body.id-404 .content-inner > h1,
body:has(.tp404-page) .content-inner > article > header > h1,
body:has(.tp404-page) .content-inner > header > h1,
body:has(.tp404-page) .content-inner > h1 {
  display: flex;
  align-items: baseline;
  justify-content: center;
  gap: 15px;
  flex-wrap: wrap;
  margin: 0 0 28px;
  color: #24242e;
  font-size: 36px;
  font-weight: 800;
  line-height: 1.2;
  text-align: center;
  text-wrap: balance;
}

body.id-404 .content-inner > article > header > h1::after,
body.id-404 .content-inner > header > h1::after,
body.id-404 .content-inner > h1::after,
body:has(.tp404-page) .content-inner > article > header > h1::after,
body:has(.tp404-page) .content-inner > header > h1::after,
body:has(.tp404-page) .content-inner > h1::after {
  content: '(404)';
  color: #4d8986;
  font-size: 48px;
  font-weight: 700;
  line-height: .9;
  letter-spacing: -.04em;
  font-variant-numeric: tabular-nums;
}

.tp404-page,
.tp404-page * {
  box-sizing: border-box;
}

.tp404-page {
  width: 100%;
  max-width: 960px;
  margin: 0 auto;
  color: #24242e;
}

.tp404-page h2,
.tp404-page p,
.tp404-page figure {
  margin-top: 0;
}

.tp404-intro {
  position: relative;
  display: grid;
  min-height: 410px;
  grid-template-columns: minmax(0, 1fr) 38%;
  margin: 0;
  overflow: hidden;
  color: #24242e;
  background: #edf7f5;
  border: 1px solid #d5e4e1;
  border-radius: 8px;
  isolation: isolate;
}

.tp404-intro-copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  padding: 42px 38px 46px;
  flex-direction: column;
  justify-content: center;
}

.tp404-kicker {
  margin: 0 0 14px;
  color: #006460;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
}

.tp404-lead {
  max-width: 560px;
  margin: 0 0 26px;
  color: #4f5d5a;
  font-size: 17px;
  line-height: 1.65;
  text-wrap: pretty;
}

.tp404-actions {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  flex-wrap: wrap;
}

.tp404-visual {
  position: relative;
  z-index: 1;
  min-width: 0;
  min-height: 410px;
  margin: 0 !important;
  overflow: hidden;
  background: #b8d8d5;
}

.tp404-visual::before {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0 auto 0 0;
  width: 26%;
  background: linear-gradient(90deg, #edf7f5 0%, rgba(237, 247, 245, 0) 100%);
  pointer-events: none;
}

.tp404-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 410px;
  object-fit: cover;
  object-position: center 54%;
}

.tp404-button {
  display: inline-flex;
  min-height: 48px;
  padding: 11px 22px;
  align-items: center;
  justify-content: center;
  border: 2px solid #006460;
  border-radius: 5px;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
  text-decoration: none !important;
}

.tp404-button:hover,
.tp404-button:focus-visible,
.tp404-button * {
  text-decoration: none !important;
}

.tp404-button--primary {
  color: #fff;
  background: #006460;
}

.tp404-button--primary:hover,
.tp404-button--primary:focus-visible {
  color: #fff;
  background: #004d49;
  border-color: #004d49;
  outline: 3px solid rgba(0, 100, 96, .16);
  outline-offset: 2px;
}

.tp404-button--secondary {
  color: #006460;
  background: #fff;
}

.tp404-button--secondary:hover,
.tp404-button--secondary:focus-visible {
  color: #004d49;
  background: #f2f8f7;
  border-color: #004d49;
  outline: 3px solid rgba(0, 100, 96, .12);
  outline-offset: 2px;
}

.tp404-section {
  margin-top: 50px;
}

.tp404-section > h2 {
  margin: 0 0 8px;
  color: #24242e;
  font-size: 27px;
  font-weight: 800;
  line-height: 1.25;
  text-align: center;
}

.tp404-section-intro {
  margin: 0 0 24px;
  color: #65706e;
  font-size: 15px;
  line-height: 1.5;
  text-align: center;
}

.tp404-product-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.tp404-product-link {
  position: relative;
  display: flex;
  min-width: 0;
  min-height: 132px;
  padding: 20px 48px 18px 20px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-end;
  color: #24242e;
  background: #fff;
  border: 1px solid #d5e1de;
  border-radius: 5px;
  text-decoration: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tp404-product-link:hover,
.tp404-product-link:focus-visible,
.tp404-product-link strong,
.tp404-product-link span {
  text-decoration: none !important;
}

.tp404-product-link::after {
  content: '›';
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(-50%);
  color: #006460;
  font-size: 27px;
  font-weight: 400;
  line-height: 1;
}

.tp404-product-link:hover,
.tp404-product-link:focus-visible {
  color: #24242e;
  border-color: #7ba9a5;
  box-shadow: 0 8px 22px rgba(0, 100, 96, .1);
  outline: 0;
  transform: translateY(-2px);
}

.tp404-product-link strong {
  display: block;
  margin-bottom: 7px;
  color: #006460;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
}

.tp404-product-link > span:not(.tp404-rank-badge) {
  display: block;
  color: #6a7472;
  font-size: 14px;
  line-height: 1.35;
}

.tp404-rank-badge {
  position: absolute;
  top: 17px;
  left: 20px;
  display: inline-flex;
  min-height: 28px;
  padding: 4px 10px 4px 5px;
  align-items: center;
  gap: 6px;
  border: 1px solid;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 800;
  line-height: 1;
  white-space: nowrap;
}

.tp404-rank-badge__number {
  display: inline-flex;
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  font-size: 11px;
  font-weight: 800;
}

.tp404-rank-badge--gold {
  color: #674a00;
  background: #fffaf0;
  border-color: #e9cd78;
}

.tp404-rank-badge--gold .tp404-rank-badge__number {
  color: #3f2c00;
  background: #e6bd45;
}

.tp404-rank-badge--silver {
  color: #4c5a60;
  background: #f6f8f9;
  border-color: #cbd3d7;
}

.tp404-rank-badge--silver .tp404-rank-badge__number {
  color: #263238;
  background: #cbd3d7;
}

.tp404-rank-badge--bronze {
  color: #71401d;
  background: #fff7f1;
  border-color: #dfb38f;
}

.tp404-rank-badge--bronze .tp404-rank-badge__number {
  color: #43230d;
  background: #d69461;
}

.tp404-benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 48px;
}

.tp404-benefit {
  display: block;
  min-width: 0;
  padding: 22px;
  color: #24242e;
  background: #f2f8f7;
  border: 1px solid #d5e4e1;
  border-radius: 5px;
  text-decoration: none !important;
}

a.tp404-benefit:hover,
a.tp404-benefit:focus-visible,
a.tp404-benefit strong,
a.tp404-benefit span {
  text-decoration: none !important;
}

a.tp404-benefit:hover,
a.tp404-benefit:focus-visible {
  color: #24242e;
  border-color: #7ba9a5;
  outline: 3px solid rgba(0, 100, 96, .1);
  outline-offset: 2px;
}

.tp404-benefit strong,
.tp404-benefit span {
  display: block;
}

.tp404-benefit strong {
  margin-bottom: 10px;
  color: #006460;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
}

.tp404-benefit span {
  color: #687370;
  font-size: 13px;
  line-height: 1.55;
}

.tp404-help {
  display: grid;
  grid-template-columns: 130px minmax(0, 1fr) 215px;
  gap: 24px;
  margin-top: 48px;
  padding: 28px 30px;
  align-items: center;
  color: #fff;
  background: #006460;
  border-radius: 5px;
}

.tp404-help-profile {
  display: flex !important;
  width: 124px !important;
  min-width: 124px !important;
  max-width: 124px !important;
  margin: 0 !important;
  padding: 0 !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
}

.tp404-help-photo {
  display: block !important;
  width: 88px !important;
  min-width: 88px !important;
  max-width: 88px !important;
  height: 88px !important;
  min-height: 88px !important;
  max-height: 88px !important;
  aspect-ratio: 1 / 1 !important;
  position: static !important;
  float: none !important;
  margin: 0 auto 9px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 3px solid rgba(255, 255, 255, .72);
  border-radius: 50% !important;
}

.tp404-help-profile figcaption,
.tp404-help-profile figcaption strong,
.tp404-help-profile figcaption span {
  display: block !important;
  width: 124px !important;
  min-width: 124px !important;
  max-width: 124px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  text-align: center !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
}

.tp404-help-profile figcaption strong {
  color: #fff;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
}

.tp404-help-profile figcaption span {
  margin-top: 3px;
  color: rgba(255, 255, 255, .78);
  font-size: 11px;
  line-height: 1.3;
}

.tp404-help-copy {
  min-width: 0;
}

.tp404-help-copy h2 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 25px;
  font-weight: 800;
  line-height: 1.25;
}

.tp404-help-copy > p:not(.tp404-availability) {
  margin: 0 0 10px;
  color: #fff;
  font-size: 14px;
  line-height: 1.55;
}

.tp404-availability {
  display: flex;
  margin: 0;
  align-items: flex-start;
  gap: 7px;
  color: rgba(255, 255, 255, .82);
  font-size: 12px;
  line-height: 1.45;
}

.tp404-availability__dot {
  display: block;
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  margin-top: 4px;
  background: #ef5b67;
  border: 2px solid rgba(255, 255, 255, .82);
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(239, 91, 103, .18);
}

.tp404-availability.is-open .tp404-availability__dot {
  background: #39d98a;
  box-shadow: 0 0 0 2px rgba(57, 217, 138, .18);
}

.tp404-help-actions {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: stretch;
  gap: 12px;
}

.tp404-phone {
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
  text-decoration: underline;
  text-underline-offset: 3px;
  white-space: nowrap;
}

.tp404-phone:hover,
.tp404-phone:focus-visible {
  color: #fff;
  outline: 2px solid rgba(255, 255, 255, .45);
  outline-offset: 3px;
}

.tp404-help-actions .tp404-button--primary {
  color: #006460;
  background: #fff;
  border-color: #fff;
  text-decoration: none !important;
}

.tp404-help-actions .tp404-button--primary:hover,
.tp404-help-actions .tp404-button--primary:focus-visible {
  color: #004d49;
  background: #f2f8f7;
  border-color: #f2f8f7;
}

.tp404-faq {
  margin-top: 52px;
}

.tp404-faq > h2 {
  margin-bottom: 22px;
}

.tp404-faq-list {
  border-top: 1px solid #d6e2df;
}

.tp404-faq-list details {
  border-bottom: 1px solid #d6e2df;
}

.tp404-faq-list summary {
  position: relative;
  padding: 20px 52px 20px 0;
  color: #24242e;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.4;
  cursor: pointer;
  list-style: none;
}

.tp404-faq-list summary::-webkit-details-marker {
  display: none;
}

.tp404-faq-list summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 8px;
  transform: translateY(-50%);
  color: #006460;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.tp404-faq-list details[open] summary::after {
  content: '−';
}

.tp404-faq-list summary:hover,
.tp404-faq-list summary:focus-visible {
  color: #006460;
  outline: 0;
}

.tp404-faq-answer {
  padding: 0 52px 20px 0;
  color: #596461;
  font-size: 14px;
  line-height: 1.65;
}

.tp404-faq-answer p {
  margin-bottom: 0;
}

.tp404-faq-answer a,
.tp404-faq-footer a {
  color: #006460;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.tp404-faq-footer {
  margin: 24px 0 0;
  color: #687370;
  font-size: 14px;
  line-height: 1.6;
  text-align: center;
}

@media (max-width: 767px) {
  body.id-404 .content-inner > article > header > h1,
  body.id-404 .content-inner > header > h1,
  body.id-404 .content-inner > h1,
  body:has(.tp404-page) .content-inner > article > header > h1,
  body:has(.tp404-page) .content-inner > header > h1,
  body:has(.tp404-page) .content-inner > h1 {
    gap: 10px;
    margin-bottom: 22px;
    font-size: 29px;
  }

  body.id-404 .content-inner > article > header > h1::after,
  body.id-404 .content-inner > header > h1::after,
  body.id-404 .content-inner > h1::after,
  body:has(.tp404-page) .content-inner > article > header > h1::after,
  body:has(.tp404-page) .content-inner > header > h1::after,
  body:has(.tp404-page) .content-inner > h1::after {
    font-size: 37px;
  }

  .tp404-intro {
    min-height: 0;
    grid-template-columns: 1fr;
  }

  .tp404-intro-copy {
    padding: 28px 22px 30px;
  }

  .tp404-kicker {
    font-size: 14px;
  }

  .tp404-lead {
    font-size: 15px;
  }

  .tp404-visual,
  .tp404-visual img {
    min-height: 380px;
  }

  .tp404-visual {
    height: 380px;
  }

  .tp404-visual::before {
    inset: 0 0 auto;
    width: 100%;
    height: 18%;
    background: linear-gradient(180deg, #edf7f5 0%, rgba(237, 247, 245, 0) 100%);
  }

  .tp404-visual img {
    object-position: center 54%;
  }

  .tp404-section {
    margin-top: 40px;
  }

  .tp404-product-links {
    grid-template-columns: 1fr;
  }

  .tp404-product-link {
    min-height: 112px;
  }

  .tp404-benefits {
    grid-template-columns: 1fr;
    margin-top: 38px;
  }

  .tp404-help {
    grid-template-columns: 1fr;
    gap: 20px;
    margin-top: 38px;
    padding: 25px 20px;
    text-align: center;
  }

  .tp404-help-profile {
    justify-self: center;
  }

  .tp404-availability {
    justify-content: center;
  }

  .tp404-help-actions {
    width: min(100%, 330px);
    justify-self: center;
  }

  .tp404-faq {
    margin-top: 42px;
  }
}

@media (max-width: 440px) {
  .tp404-actions,
  .tp404-actions .tp404-button {
    width: 100%;
  }

  .tp404-product-link {
    padding-right: 42px;
    padding-left: 16px;
  }

  .tp404-rank-badge {
    left: 16px;
  }

  .tp404-benefit {
    padding: 18px;
  }

  .tp404-faq-list summary {
    padding-right: 42px;
    font-size: 14px;
  }

  .tp404-faq-answer {
    padding-right: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tp404-product-link {
    transition: none;
  }
}


/* ==========================================================================
   OBSAHOVÁ STRÁNKA – KONTAKT
   ========================================================================== */

/* Zdroj štýlov obsahovej stránky /kontakt/. Generátor ho vkladá do spoločného CSS. */

body.in-kontakt .content-inner,
body.type-page:has(.tp-contact-page) .content-inner {
  max-width: 1024px;
}

.tp-contact-page,
.tp-contact-page * {
  box-sizing: border-box;
}

.tp-contact-page {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  color: #24242e;
}

.tp-contact-page h2,
.tp-contact-page h3,
.tp-contact-page p,
.tp-contact-page figure,
.tp-contact-page dl,
.tp-contact-page dd,
.tp-contact-page address {
  margin-top: 0;
}

.tp-contact-page h2 {
  margin-bottom: 14px;
  color: #24242e;
  font-size: 23px;
  font-weight: 800;
  line-height: 1.25;
}

.tp-contact-page h3 {
  margin-bottom: 8px;
  color: #006460;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.3;
}

.tp-contact-page address {
  margin-bottom: 18px;
  font-style: normal;
  line-height: 1.65;
}

.tp-contact-page__top {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  align-items: stretch;
}

.tp-contact-page__left {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: 18px;
  min-width: 0;
}

.tp-contact-support {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  gap: 22px;
  padding: 26px;
  color: #fff;
  background: #006460;
  border-radius: 7px;
  box-shadow: 0 8px 24px rgba(0, 100, 96, .12);
}

.tp-contact-support__profile {
  display: flex !important;
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: start;
  justify-self: center;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.tp-contact-support__photo {
  display: block !important;
  width: 96px !important;
  min-width: 96px !important;
  max-width: 96px !important;
  height: 96px !important;
  min-height: 96px !important;
  max-height: 96px !important;
  aspect-ratio: 1 / 1 !important;
  position: static !important;
  float: none !important;
  flex: 0 0 96px !important;
  margin: 0 auto 10px !important;
  object-fit: cover !important;
  object-position: center center !important;
  border: 3px solid rgba(255, 255, 255, .72);
  border-radius: 50% !important;
}

.tp-contact-support__profile figcaption {
  display: block !important;
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  margin: 0 !important;
  padding: 0 !important;
  text-align: center !important;
}

.tp-contact-support__profile figcaption strong,
.tp-contact-support__profile figcaption span {
  display: block !important;
  width: 128px !important;
  min-width: 128px !important;
  max-width: 128px !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  hyphens: none !important;
  white-space: normal !important;
  text-align: center !important;
}

.tp-contact-support__profile figcaption strong {
  color: #fff;
  font-size: 16px;
  font-weight: 800;
  line-height: 1.3;
}

.tp-contact-support__profile figcaption span {
  margin-top: 3px;
  color: rgba(255, 255, 255, .78);
  font-size: 12px;
  line-height: 1.35;
}

.tp-contact-support__content {
  min-width: 0;
}

.tp-contact-support__content h2 {
  margin-bottom: 12px;
  color: #fff;
  font-size: 22px;
}

.tp-contact-support__lead {
  margin-bottom: 14px;
  color: #fff;
  font-size: 15px;
  line-height: 1.55;
}

.tp-contact-support__promise {
  margin-bottom: 14px;
  padding: 11px 12px;
  color: #fff;
  background: rgba(255, 255, 255, .11);
  border-left: 3px solid rgba(255, 255, 255, .7);
  font-size: 13px;
  line-height: 1.5;
}

.tp-contact-support__status {
  display: flex;
  align-items: flex-start;
  gap: 7px;
  margin-bottom: 14px;
  color: rgba(255, 255, 255, .9);
  font-size: 12px;
  line-height: 1.4;
}

.tp-contact-support__status-dot {
  display: block;
  width: 9px;
  height: 9px;
  flex: 0 0 9px;
  margin-top: 4px;
  background: #ef5b67;
  border: 2px solid rgba(255, 255, 255, .82);
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(239, 91, 103, .18);
}

.tp-contact-support__status.is-open .tp-contact-support__status-dot {
  background: #39d98a;
  box-shadow: 0 0 0 2px rgba(57, 217, 138, .18);
}

.tp-contact-support__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 9px;
}

.tp-contact-support__links a {
  display: flex;
  min-width: 0;
  padding: 10px 11px;
  flex-direction: column;
  color: #fff;
  background: rgba(255, 255, 255, .04);
  border: 1px solid rgba(255, 255, 255, .38);
  border-radius: 5px;
  text-decoration: none !important;
}

.tp-contact-support__links a:hover,
.tp-contact-support__links a:focus-visible {
  color: #fff;
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .72);
  text-decoration: none !important;
  outline: 2px solid rgba(255, 255, 255, .32);
  outline-offset: 2px;
}

.tp-contact-support__links a span,
.tp-contact-support__links a strong,
.tp-contact-support__links a:hover span,
.tp-contact-support__links a:hover strong,
.tp-contact-support__links a:focus-visible span,
.tp-contact-support__links a:focus-visible strong {
  text-decoration: none !important;
}

.tp-contact-support__links span {
  margin-bottom: 3px;
  color: rgba(255, 255, 255, .76);
  font-size: 11px;
  line-height: 1.25;
}

.tp-contact-support__links strong {
  overflow-wrap: normal;
  word-break: normal;
  white-space: nowrap;
  color: #fff;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}

.tp-contact-support__orders {
  margin: 11px 0 0;
  color: rgba(255, 255, 255, .72);
  font-size: 11px;
  line-height: 1.4;
}

.tp-contact-card,
.tp-contact-form,
.tp-contact-store,
.tp-contact-supervision {
  border: 1px solid #d7e2df;
  border-radius: 7px;
}

.tp-contact-card {
  padding: 25px 26px;
  background: #fff;
}

.tp-contact-company {
  height: 100%;
}

.tp-contact-company-data {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 9px;
  margin-bottom: 18px;
}

.tp-contact-company-data div {
  min-width: 0;
  padding: 10px;
  background: #f7faf9;
  border: 1px solid #e3ebe9;
  border-radius: 4px;
}

.tp-contact-company-data dt {
  margin-bottom: 3px;
  color: #697471;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.tp-contact-company-data dd {
  margin-bottom: 0;
  overflow-wrap: anywhere;
  color: #24242e;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.35;
}

.tp-contact-card__small {
  margin-bottom: 18px;
  color: #67726f;
  font-size: 12px;
  line-height: 1.55;
}

.tp-contact-bank {
  padding: 14px 16px;
  background: #f2f8f7;
  border: 1px solid #d6e5e2;
  border-radius: 5px;
}

.tp-contact-bank p {
  margin-bottom: 0;
  color: #3e4846;
  font-size: 13px;
  line-height: 1.55;
}

.tp-contact-form {
  min-width: 0;
  padding: 28px;
  background: #f2f8f7;
}

.tp-contact-form__note {
  margin-bottom: 22px;
  color: #63706d;
  font-size: 14px;
  line-height: 1.55;
}

.tp-contact-form > p:not(.tp-contact-form__note) {
  margin-bottom: 24px;
  color: #303a38;
  font-size: 14px;
  line-height: 1.6;
}

.tp-contact-form form,
.tp-contact-form fieldset {
  min-width: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.tp-contact-form .form-group {
  margin-bottom: 20px;
}

.tp-contact-form .form-group > label:not(.whole-width) {
  display: block;
  margin-bottom: 7px;
  color: #24242e;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}

.tp-contact-form .form-control {
  display: block;
  width: 100%;
  min-height: 52px;
  padding: 12px 14px;
  color: #24242e;
  background: #fff;
  border: 1px solid #cbd8d5;
  border-radius: 4px;
  box-shadow: none;
  font-size: 15px;
  line-height: 1.45;
}

.tp-contact-form textarea.form-control {
  min-height: 156px;
  resize: vertical;
}

.tp-contact-form .form-control:hover {
  border-color: #91aaa5;
}

.tp-contact-form .form-control:focus {
  border-color: #006460;
  box-shadow: 0 0 0 3px rgba(0, 100, 96, .13);
  outline: 0;
}

.tp-contact-form .consents {
  margin-top: -4px;
  color: #65706e;
  font-size: 12px;
  line-height: 1.5;
}

.tp-contact-form .consents a {
  color: #006460;
  text-decoration: underline;
}

.tp-contact-form .submit-wrapper {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.tp-contact-form .submit-wrapper input.btn,
.tp-contact-form .submit-wrapper .btn {
  display: block !important;
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  height: 52px !important;
  min-height: 52px !important;
  margin: 0 !important;
  padding: 0 20px !important;
  color: #fff !important;
  background-color: #006460 !important;
  background-image: none !important;
  border: 1px solid #006460 !important;
  border-radius: 4px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 50px !important;
  text-align: center !important;
  text-indent: 0 !important;
  text-transform: uppercase !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  cursor: pointer !important;
}

.tp-contact-form .submit-wrapper input.btn:hover,
.tp-contact-form .submit-wrapper input.btn:focus-visible,
.tp-contact-form .submit-wrapper .btn:hover,
.tp-contact-form .submit-wrapper .btn:focus-visible {
  color: #fff !important;
  background-color: #004d49 !important;
  border-color: #004d49 !important;
  box-shadow: none !important;
  outline: 3px solid rgba(0, 100, 96, .18);
  outline-offset: 2px;
}

.tp-contact-store {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(310px, .85fr);
  min-height: 330px;
  margin-top: 18px;
  overflow: hidden;
  background: #fff;
}

.tp-contact-store__image {
  display: block;
  min-height: 330px;
  overflow: hidden;
  background: #edf3f1;
}

.tp-contact-store__image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 330px;
  object-fit: cover;
  transition: transform .25s ease;
}

.tp-contact-store__image:hover img,
.tp-contact-store__image:focus-visible img {
  transform: scale(1.015);
}

.tp-contact-store__content {
  padding: 28px 30px;
}

.tp-contact-store__content address {
  margin-bottom: 12px;
}

.tp-contact-store__navigate {
  display: inline-block;
  margin-bottom: 20px;
  color: #006460;
  font-weight: 800;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.tp-contact-store__navigate:hover,
.tp-contact-store__navigate:focus-visible {
  color: #004d49;
}

.tp-contact-hours {
  margin-bottom: 18px;
  padding: 15px 16px;
  background: #f2f8f7;
  border: 1px solid #d6e5e2;
  border-radius: 5px;
}

.tp-contact-hours h3 {
  margin-bottom: 10px;
}

.tp-contact-hours div {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  padding: 5px 0;
  color: #3f4947;
  font-size: 14px;
}

.tp-contact-hours strong {
  color: #24242e;
  font-weight: 800;
}

.tp-contact-store .tp-contact-card__small {
  margin-bottom: 0;
}

.tp-contact-supervision {
  margin-top: 18px;
  overflow: hidden;
  background: #fff;
}

.tp-contact-supervision summary {
  position: relative;
  padding: 20px 54px 20px 22px;
  color: #24242e;
  font-size: 15px;
  font-weight: 800;
  line-height: 1.35;
  cursor: pointer;
  list-style: none;
}

.tp-contact-supervision summary::-webkit-details-marker {
  display: none;
}

.tp-contact-supervision summary::after {
  content: '+';
  position: absolute;
  top: 50%;
  right: 22px;
  transform: translateY(-50%);
  color: #006460;
  font-size: 24px;
  font-weight: 400;
  line-height: 1;
}

.tp-contact-supervision[open] summary::after {
  content: '−';
}

.tp-contact-supervision summary:hover,
.tp-contact-supervision summary:focus-visible {
  color: #006460;
  background: #f7faf9;
  outline: 0;
}

.tp-contact-supervision__content {
  padding: 0 22px 22px;
  color: #4f5a57;
  font-size: 13px;
  line-height: 1.65;
}

.tp-contact-supervision__content p {
  margin-bottom: 0;
}

.tp-contact-supervision__content a {
  color: #006460;
  text-decoration: underline;
}

@media (max-width: 820px) {
  .tp-contact-page__top {
    grid-template-columns: 1fr;
  }

  .tp-contact-page__left {
    grid-template-rows: auto auto;
  }

  .tp-contact-company {
    height: auto;
  }

  .tp-contact-store {
    grid-template-columns: 1fr;
  }

  .tp-contact-store__image,
  .tp-contact-store__image img {
    min-height: 0;
  }

  .tp-contact-store__image img {
    aspect-ratio: 1000 / 606;
  }
}

@media (max-width: 560px) {
  .tp-contact-support {
    grid-template-columns: 1fr;
    gap: 18px;
    padding: 22px 18px;
  }

  .tp-contact-support__profile {
    width: 128px !important;
    min-width: 128px !important;
    max-width: 128px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .tp-contact-support__content h2,
  .tp-contact-support__lead {
    text-align: center;
  }

  .tp-contact-support__status {
    justify-content: center;
  }

  .tp-contact-support__links {
    grid-template-columns: 1fr;
  }

  .tp-contact-support__orders {
    text-align: center;
  }

  .tp-contact-card,
  .tp-contact-form,
  .tp-contact-store__content {
    padding: 22px 18px;
  }

  .tp-contact-company-data {
    grid-template-columns: 1fr;
  }

  .tp-contact-bank .nowrap {
    white-space: normal;
    overflow-wrap: anywhere;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tp-contact-store__image img {
    transition: none;
  }
}


/* ==========================================================================
   KOŠÍK – ANIMOVANÝ POSTUP K DOPRAVE ZADARMO
   ========================================================================== */

.extra.delivery.tpmove-cart-progress {
  --tpmove-cart-accent: #006460;
  --tpmove-cart-track: #d8e9e6;
  box-sizing: border-box;
  padding: 20px 24px 17px !important;
  background: #f2f8f7 !important;
  border: 1px solid rgba(0, 100, 96, .14) !important;
  border-radius: 10px !important;
  color: #24242e !important;
  text-align: center;
}

.extra.delivery.tpmove-cart-progress > span {
  display: block;
  font-size: 16px;
  line-height: 1.5;
}

.extra.delivery.tpmove-cart-progress > span > strong {
  color: #111827;
  font-weight: 800;
}

.extra.delivery.tpmove-cart-progress .price-range {
  position: relative;
  display: block;
  width: 100%;
  height: 14px;
  margin: 28px 0 9px;
  overflow: visible;
  background: var(--tpmove-cart-track);
  border: 0;
  border-radius: 999px;
  box-shadow: none;
}

.extra.delivery.tpmove-cart-progress .price-range > div {
  position: absolute;
  inset: 0 auto 0 0;
  display: block;
  max-width: 100%;
  height: 100%;
  background: var(--tpmove-cart-accent);
  border-radius: inherit;
  transition: width 1s cubic-bezier(.2, .8, .2, 1);
}

.tpmove-cart-truck {
  position: absolute;
  z-index: 2;
  left: clamp(25px, var(--tpmove-cart-progress), calc(100% - 25px));
  bottom: -5px;
  display: block;
  width: 58px;
  height: 40px;
  transform: translateX(-50%);
  filter: drop-shadow(0 3px 3px rgba(15, 23, 42, .18));
  transition: left 1s cubic-bezier(.2, .8, .2, 1);
}

.tpmove-cart-truck svg {
  display: block;
  width: 100%;
  height: 100%;
  overflow: visible;
}

.tpmove-cart-truck__body,
.tpmove-cart-truck__cab {
  fill: #00867f;
  stroke: #006460;
  stroke-width: 2;
  stroke-linejoin: round;
}

.tpmove-cart-truck__window {
  fill: #dff3f1;
  stroke: #006460;
  stroke-width: 1.5;
  stroke-linejoin: round;
}

.tpmove-cart-truck__gift {
  fill: #f7c94b;
  stroke: #a97700;
  stroke-width: 1.6;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tpmove-cart-truck__wheel {
  fill: #fff;
  stroke: #263238;
  stroke-width: 3;
  transform-box: fill-box;
  transform-origin: center;
}

.tpmove-cart-truck.is-driving .tpmove-cart-truck__wheel {
  animation: tpmove-cart-wheel .65s linear 2;
}

.tpmove-cart-progress__labels {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #374151;
  font-size: 13px;
  font-weight: 700;
  line-height: 1.25;
}

.extra.delivery.tpmove-cart-progress.is-free-shipping {
  background: #edf8f3 !important;
}

.extra.delivery.tpmove-cart-progress.is-free-shipping .price-range > div {
  background: #15803d;
}

/* Desktopový košík otvorený hoverom v hlavičke. */
#cart-widget {
  box-sizing: border-box;
  border: 1px solid rgba(0, 100, 96, .22) !important;
  box-shadow: 0 12px 32px rgba(15, 23, 42, .14) !important;
}

#cart-widget .tpmove-hover-cart-host::before,
#cart-widget .tpmove-hover-cart-host > span::before {
  display: none !important;
  content: none !important;
}

#cart-widget .tpmove-hover-cart-host > i:first-child {
  display: none !important;
}

#cart-widget .cart-widget-button .cart-free-shipping.tpmove-hover-cart-host {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: center !important;
}

#cart-widget .cart-widget-button .cart-free-shipping.tpmove-hover-cart-host > div {
  width: 100%;
}

#cart-widget .tpmove-hover-cart-slider {
  display: block;
  width: calc(100% - 24px);
  margin-top: 14px;
}

#cart-widget .tpmove-hover-cart-slider__track {
  position: relative;
  display: block !important;
  width: 100%;
  height: 10px;
  margin: 0 0 6px;
  overflow: visible !important;
  background: #d8e9e6 !important;
  border: 0 !important;
  border-radius: 999px;
  box-shadow: none !important;
}

#cart-widget .tpmove-hover-cart-slider__fill {
  position: absolute;
  inset: 0 auto 0 0;
  width: var(--tpmove-cart-progress);
  max-width: 100%;
  height: 100%;
  background: #006460 !important;
  border-radius: inherit;
  transition: width 1s cubic-bezier(.2, .8, .2, 1);
}

#cart-widget .tpmove-hover-cart-slider__track .tpmove-cart-truck {
  position: absolute;
  left: clamp(22px, var(--tpmove-cart-progress), calc(100% - 22px));
  bottom: -7px;
  display: block;
  width: 48px;
  height: 34px;
  transform: translateX(-50%);
}

#cart-widget .tpmove-hover-cart-slider__labels {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  color: #374151;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.25;
}

/* Desktopový prázdny košík v hlavičke – oddelený od #cart-widget. */
@media (min-width: 992px) {
  .empty-cart-hover.tpmove-empty-cart-enhanced {
    box-sizing: border-box;
    width: 500px !important;
    max-width: calc(100vw - 30px);
    padding: 0 !important;
    overflow: hidden;
    background: #fff !important;
    border: 1px solid rgba(0, 100, 96, .22) !important;
    border-radius: 0 !important;
    box-shadow: 0 12px 32px rgba(15, 23, 42, .16) !important;
    color: #24242e;
    text-align: left;
    z-index: 1001;
  }

  .empty-cart-hover.tpmove-empty-cart-enhanced::after {
    display: none !important;
    content: none !important;
  }

  .empty-cart-hover.tpmove-empty-cart-enhanced.tpmove-empty-cart--open {
    display: block !important;
  }

  .tpmove-empty-cart {
    padding: 22px;
  }

  .tpmove-empty-cart h5 {
    margin: 0 0 7px;
    color: #24242e;
    font-size: 21px;
    line-height: 1.25;
  }

  .tpmove-empty-cart__intro {
    margin: 0 0 16px !important;
    color: #4b5563;
    font-size: 14px;
    line-height: 1.5;
  }

  .tpmove-empty-cart__cta {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    min-height: 48px;
    margin-bottom: 20px;
    padding: 10px 16px;
    background: #006460;
    border: 1px solid #006460;
    border-radius: 4px;
    color: #fff !important;
    font-size: 15px;
    font-weight: 800;
    line-height: 1.2;
    text-decoration: none !important;
  }

  .tpmove-empty-cart__cta:hover,
  .tpmove-empty-cart__cta:focus {
    background: #004e4b;
    border-color: #004e4b;
    color: #fff !important;
    text-decoration: none !important;
  }

  .tpmove-empty-cart__layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 18px;
    padding-bottom: 19px;
  }

  .tpmove-empty-cart__layout section {
    min-width: 0;
  }

  .tpmove-empty-cart__layout h6 {
    margin: 0 0 9px;
    color: #24242e;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: .02em;
  }

  .tpmove-empty-cart__products,
  .tpmove-empty-cart__reasons {
    display: flex;
    flex-direction: column;
    gap: 4px;
    margin: 0;
    padding: 0;
    list-style: none;
  }

  .tpmove-empty-cart__products a,
  .tpmove-empty-cart__reasons a {
    display: flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    padding: 6px 7px;
    border-radius: 4px;
    color: #006460 !important;
    font-size: 13px;
    font-weight: 700;
    line-height: 1.25;
    text-decoration: none !important;
  }

  .tpmove-empty-cart__products a:hover,
  .tpmove-empty-cart__products a:focus,
  .tpmove-empty-cart__reasons a:hover,
  .tpmove-empty-cart__reasons a:focus {
    background: #f2f8f7;
    color: #004e4b !important;
    text-decoration: none !important;
  }

  .tpmove-empty-cart__rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 26px;
    width: 26px;
    height: 26px;
    border: 1px solid #d1d5db;
    border-radius: 50%;
    color: #374151;
    font-size: 11px;
    font-weight: 900;
  }

  .tpmove-empty-cart__rank--1 { background: #fff7d6; border-color: #e2bd43; color: #765600; }
  .tpmove-empty-cart__rank--2 { background: #f1f4f5; border-color: #b9c3c8; color: #4b5960; }
  .tpmove-empty-cart__rank--3 { background: #fff0e6; border-color: #cf8b5f; color: #7a3f1f; }

  .tpmove-empty-cart__reasons a {
    justify-content: space-between;
    border-bottom: 1px solid #e5e7eb;
    border-radius: 0;
  }

  .tpmove-empty-cart__shipping {
    margin: 0 -22px -22px;
    padding: 17px 22px 15px;
    background: #f2f8f7;
    border-top: 1px solid rgba(0, 100, 96, .14);
    text-align: center;
  }

  .tpmove-empty-cart__shipping > strong {
    display: block;
    margin-bottom: 20px;
    color: #24242e;
    font-size: 14px;
    line-height: 1.35;
  }

  .tpmove-empty-cart__track {
    --tpmove-cart-progress: 0%;
    position: relative;
    display: block;
    width: calc(100% - 20px);
    height: 10px;
    margin: 0 auto 7px;
    overflow: visible;
    background: #d8e9e6;
    border-radius: 999px;
  }

  .tpmove-empty-cart__fill {
    position: absolute;
    inset: 0 auto 0 0;
    width: var(--tpmove-cart-progress);
    height: 100%;
    background: #006460;
    border-radius: inherit;
  }

  .tpmove-empty-cart__track .tpmove-cart-truck {
    left: 22px;
    bottom: -7px;
    width: 48px;
    height: 34px;
  }

  .tpmove-empty-cart__labels {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    color: #374151;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
  }
}

@keyframes tpmove-cart-wheel {
  to { transform: rotate(360deg); }
}

@media (max-width: 640px) {
  .extra.delivery.tpmove-cart-progress {
    width: 100%;
    padding: 17px 16px 14px !important;
    border-radius: 8px !important;
  }

  .extra.delivery.tpmove-cart-progress > span {
    font-size: 14px;
  }

  .extra.delivery.tpmove-cart-progress .price-range {
    margin-top: 26px;
  }

}

@media (prefers-reduced-motion: reduce) {
  .extra.delivery.tpmove-cart-progress .price-range > div,
  #cart-widget .tpmove-hover-cart-slider__fill,
  .tpmove-empty-cart__fill,
  .tpmove-cart-truck {
    transition: none;
  }

  .tpmove-cart-truck.is-driving .tpmove-cart-truck__wheel {
    animation: none;
  }
}


/* ==========================================================================
   PRÁZDNY KOŠÍK – PLNÁ STRÁNKA
   ========================================================================== */

/* Plná stránka prázdneho košíka. Kontaktný box Shoptetu zostáva bez zásahu. */
.cart-inner.cart-empty.tpmove-empty-page {
  padding-top: 32px;
  padding-bottom: 72px;
}

.cart-inner.cart-empty.tpmove-empty-page .cart-row {
  align-items: stretch;
  padding-bottom: 30px;
}

.cart-inner.cart-empty.tpmove-empty-page .cart-row > .col-md-8 > .cart-content {
  position: relative;
  display: grid;
  grid-template-columns: minmax(240px, 42%) minmax(0, 1fr);
  align-items: stretch;
  height: 420px;
  min-height: 305px;
  padding: 0;
  overflow: hidden;
  background: #f2f8f7;
  border: 1px solid rgba(0, 100, 96, .16);
  border-radius: 8px;
}

.tpmove-empty-page__visual {
  position: relative;
  height: 100%;
  min-width: 0;
  min-height: 305px;
  margin: 0 !important;
  overflow: hidden;
  background: #dcebea;
}

.tpmove-empty-page__visual::after {
  content: '';
  position: absolute;
  z-index: 1;
  inset: 0 0 0 auto;
  width: 24%;
  background: linear-gradient(90deg, rgba(242, 248, 247, 0) 0%, #f2f8f7 100%);
  pointer-events: none;
}

.tpmove-empty-page__visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: 48% 60%;
}

.tpmove-empty-page__hero-copy {
  position: relative;
  z-index: 2;
  display: flex;
  min-width: 0;
  padding: 42px 42px 46px 30px;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}

.cart-inner.cart-empty.tpmove-empty-page .tpmove-empty-page__title {
  max-width: 680px;
  margin: 0 0 14px;
  padding: 0;
  color: #24242e;
  font-size: clamp(32px, 3.3vw, 46px);
  line-height: 1.12;
  text-align: left;
}

.cart-inner.cart-empty.tpmove-empty-page .tpmove-empty-page__title::before,
.cart-inner.cart-empty.tpmove-empty-page .tpmove-empty-page__title::after {
  display: none !important;
  content: none !important;
}

.tpmove-empty-page__intro {
  max-width: 650px;
  margin: 0 0 24px;
  color: #4b5563;
  font-size: 17px;
  line-height: 1.6;
}

.tpmove-empty-page__primary {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  min-height: 50px;
  padding: 12px 22px;
  border-radius: 4px;
  font-size: 15px;
  font-weight: 800;
  text-decoration: none !important;
}

.tpmove-empty-page__primary:hover,
.tpmove-empty-page__primary:focus {
  text-decoration: none !important;
}

.cart-inner.cart-empty.tpmove-empty-page .empty-cart-boxes {
  display: block;
  margin: 0;
  padding-top: 40px;
}

.tpmove-empty-page__bestsellers {
  width: 100%;
}

.tpmove-empty-page__section-heading {
  margin-bottom: 24px;
  text-align: center;
}

.tpmove-empty-page__section-heading h2 {
  margin: 0 0 7px;
  color: #24242e;
  font-size: 28px;
  line-height: 1.25;
}

.tpmove-empty-page__section-heading p {
  margin: 0;
  color: #6b7280;
  font-size: 15px;
  line-height: 1.5;
}

.tpmove-empty-page__products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.tpmove-empty-page__product {
  min-width: 0;
  margin: 0;
}

.tpmove-empty-page__product-link {
  display: flex;
  height: 100%;
  min-height: 210px;
  padding: 20px;
  color: #24242e !important;
  background: #fff;
  border: 1px solid rgba(0, 100, 96, .18);
  border-radius: 8px;
  box-shadow: 0 6px 20px rgba(15, 23, 42, .05);
  text-decoration: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.tpmove-empty-page__product-link:hover,
.tpmove-empty-page__product-link:focus-visible {
  color: #24242e !important;
  border-color: rgba(0, 100, 96, .5);
  box-shadow: 0 10px 26px rgba(15, 23, 42, .09);
  text-decoration: none !important;
  transform: translateY(-2px);
}

.tpmove-empty-page__product-media {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 116px;
  width: 116px;
  height: 150px;
  margin-right: 18px;
  overflow: hidden;
  background: #f8faf9;
  border-radius: 6px;
}

.tpmove-empty-page__product-media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.tpmove-empty-page__product-monogram {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 62px;
  height: 62px;
  color: #006460;
  background: #e5f2f0;
  border-radius: 50%;
  font-size: 22px;
  font-weight: 900;
}

.tpmove-empty-page__product-content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

.tpmove-empty-page__rank {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  margin-bottom: 12px;
  padding: 4px 9px;
  border: 1px solid #d1d5db;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 900;
  line-height: 1.2;
}

.tpmove-empty-page__rank--1 { color: #765600; background: #fff7d6; border-color: #e2bd43; }
.tpmove-empty-page__rank--2 { color: #4b5960; background: #f1f4f5; border-color: #b9c3c8; }
.tpmove-empty-page__rank--3 { color: #7a3f1f; background: #fff0e6; border-color: #cf8b5f; }

.tpmove-empty-page__product-name {
  margin-bottom: 7px;
  color: #006460;
  font-size: 17px;
  line-height: 1.3;
}

.tpmove-empty-page__product-description {
  margin-bottom: 12px;
  color: #5f6670;
  font-size: 13px;
  line-height: 1.5;
}

.tpmove-empty-page__product-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 12px;
  margin: auto 0 10px;
  color: #374151;
  font-size: 13px;
  line-height: 1.35;
}

.tpmove-empty-page__product-meta .is-in-stock {
  color: #16833d;
  font-weight: 700;
}

.tpmove-empty-page__product-cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-top: auto;
  color: #006460;
  font-size: 13px;
  font-weight: 800;
}

.tpmove-empty-page__benefits {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 28px;
  padding: 18px;
  background: #f2f8f7;
  border: 1px solid rgba(0, 100, 96, .15);
  border-radius: 8px;
}

.tpmove-empty-page__benefit {
  display: flex;
  align-items: center;
  gap: 13px;
  min-width: 0;
  padding: 7px 12px;
}

.tpmove-empty-page__benefit + .tpmove-empty-page__benefit {
  border-left: 1px solid rgba(0, 100, 96, .15);
}

.tpmove-empty-page__benefit-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  color: #006460;
  background: #fff;
  border-radius: 50%;
}

.tpmove-empty-page__benefit-icon svg {
  display: block;
  width: 23px;
  height: 23px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.tpmove-empty-page__benefit strong,
.tpmove-empty-page__benefit small {
  display: block;
}

.tpmove-empty-page__benefit strong {
  margin-bottom: 3px;
  color: #006460;
  font-size: 14px;
  line-height: 1.3;
}

.tpmove-empty-page__benefit small {
  color: #5f6670;
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 1199px) {
  .cart-inner.cart-empty.tpmove-empty-page .cart-row > .col-md-8 > .cart-content {
    grid-template-columns: minmax(210px, 39%) minmax(0, 1fr);
  }

  .tpmove-empty-page__hero-copy {
    padding: 34px 30px 38px 22px;
  }

  .tpmove-empty-page__product-link {
    flex-direction: column;
  }

  .tpmove-empty-page__product-media {
    width: 100%;
    height: 125px;
    margin: 0 0 16px;
  }
}

@media (max-width: 767px) {
  .cart-inner.cart-empty.tpmove-empty-page {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    padding-top: 20px;
    padding-right: 16px;
    padding-bottom: 48px;
    padding-left: 16px;
  }

  .cart-inner.cart-empty.tpmove-empty-page .cart-row {
    margin-right: 0;
    margin-left: 0;
    padding-bottom: 38px;
  }

  .cart-inner.cart-empty.tpmove-empty-page .cart-row > [class*="col-"] {
    width: 100%;
    max-width: 100%;
    padding-right: 0;
    padding-left: 0;
  }

  .cart-inner.cart-empty.tpmove-empty-page .empty-cart-boxes {
    width: 100%;
    max-width: 100%;
    margin-right: 0;
    margin-left: 0;
    padding-top: 30px;
  }

  .cart-inner.cart-empty.tpmove-empty-page .cart-row > .col-md-8 > .cart-content {
    display: grid;
    grid-template-columns: 1fr;
    height: auto;
    min-height: 0;
    padding: 0;
  }

  .tpmove-empty-page__visual {
    height: 300px;
    min-height: 300px;
  }

  .tpmove-empty-page__visual::after {
    inset: auto 0 0;
    width: 100%;
    height: 24%;
    background: linear-gradient(180deg, rgba(242, 248, 247, 0) 0%, #f2f8f7 100%);
  }

  .tpmove-empty-page__visual img {
    min-height: 300px;
    object-position: center 52%;
  }

  .tpmove-empty-page__hero-copy {
    padding: 27px 24px 30px;
  }

  .cart-inner.cart-empty.tpmove-empty-page .tpmove-empty-page__title {
    font-size: 30px;
  }

  .tpmove-empty-page__intro {
    font-size: 15px;
  }

  .tpmove-empty-page__primary {
    width: 100%;
  }

  .tpmove-empty-page__section-heading {
    max-width: 100%;
    text-align: left;
  }

  .tpmove-empty-page__section-heading h2 {
    font-size: 24px;
    white-space: normal;
  }

  .tpmove-empty-page__products,
  .tpmove-empty-page__benefits {
    grid-template-columns: 1fr;
  }

  .tpmove-empty-page__product-link {
    width: 100%;
    max-width: 100%;
    flex-direction: row;
    min-height: 0;
    padding: 16px;
  }

  .tpmove-empty-page__title,
  .tpmove-empty-page__intro,
  .tpmove-empty-page__section-heading h2,
  .tpmove-empty-page__section-heading p,
  .tpmove-empty-page__product-name,
  .tpmove-empty-page__product-description {
    max-width: 100%;
    overflow-wrap: anywhere;
  }

  .tpmove-empty-page__product-media {
    flex-basis: 94px;
    width: 94px;
    height: 120px;
    margin: 0 15px 0 0;
  }

  .tpmove-empty-page__benefit + .tpmove-empty-page__benefit {
    border-top: 1px solid rgba(0, 100, 96, .15);
    border-left: 0;
  }
}

@media (max-width: 420px) {
  .tpmove-empty-page__product-link {
    flex-direction: column;
  }

  .tpmove-empty-page__product-media {
    width: 100%;
    height: 130px;
    margin: 0 0 15px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .tpmove-empty-page__product-link {
    transition: none;
  }
}


/* ==========================================================================
   CHECKOUT KROK 1 – HODNOTENIA OBCHODU
   ========================================================================== */

/* Dôveryhodnosť v prvom kroku checkoutu – vložené bez zásahu do súhrnu objednávky. */
#checkoutSidebar .tpmove-checkout-rating {
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  margin: 16px 0 0;
  padding: 13px 15px;
  color: #24242e !important;
  background: #fff;
  border: 1px solid rgba(0, 100, 96, .2);
  border-radius: 6px;
  box-shadow: 0 5px 18px rgba(15, 23, 42, .05);
  text-align: left;
  text-decoration: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

#checkoutSidebar .tpmove-checkout-rating:hover,
#checkoutSidebar .tpmove-checkout-rating:focus-visible {
  color: #24242e !important;
  border-color: rgba(0, 100, 96, .48);
  box-shadow: 0 8px 22px rgba(15, 23, 42, .09);
  text-decoration: none !important;
  transform: translateY(-1px);
}

#checkoutSidebar .tpmove-checkout-rating:focus-visible {
  outline: 3px solid rgba(0, 100, 96, .18);
  outline-offset: 2px;
}

#checkoutSidebar .tpmove-checkout-rating__logo {
  display: block;
  flex: 0 0 50px;
  width: 50px;
  height: 50px;
  object-fit: contain;
}

#checkoutSidebar .tpmove-checkout-rating__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  align-items: flex-start;
  min-width: 0;
}

#checkoutSidebar .tpmove-checkout-rating__topline {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-bottom: 3px;
}

#checkoutSidebar .tpmove-checkout-rating__stars {
  color: #f5ad19;
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 1px;
  white-space: nowrap;
}

#checkoutSidebar .tpmove-checkout-rating__average {
  color: #24242e;
  font-size: 14px;
  line-height: 1.2;
}

#checkoutSidebar .tpmove-checkout-rating__count {
  max-width: 100%;
  color: #24242e;
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

#checkoutSidebar .tpmove-checkout-rating__link-text {
  margin-top: 2px;
  color: #006460;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.35;
}

@media (max-width: 767px) {
  #checkoutSidebar .tpmove-checkout-rating {
    box-sizing: border-box;
    max-width: 100%;
    margin-top: 14px;
    padding: 13px 14px;
  }

  #checkoutSidebar .tpmove-checkout-rating__logo {
    flex-basis: 46px;
    width: 46px;
    height: 46px;
  }
}

@media (prefers-reduced-motion: reduce) {
  #checkoutSidebar .tpmove-checkout-rating {
    transition: none;
  }
}


/* ==========================================================================
   PRODUKTOVÝ DETAIL – MOBILNÉ USP A SOCIÁLNE TLAČIDLÁ
   ========================================================================== */

/* Mobilné zjednodušenie produktového detailu a zvýraznenie sociálneho dôkazu. */
@media (max-width: 767px) {
  body.type-product.type-detail .buy-box {
    padding-bottom: 0 !important;
  }

  body.type-product.type-detail .social-buttons-wrapper {
    display: none !important;
  }

  body.type-product.type-detail .benefitBanner.position--benefitProduct {
    display: flex !important;
    flex-direction: column !important;
  }

  body.type-product.type-detail
    .benefitBanner.position--benefitProduct
    > .benefitBanner__item {
    order: 0;
  }

  body.type-product.type-detail
    .benefitBanner.position--benefitProduct
    > .benefitBanner__item.tpmove-review-usp {
    order: -1;
    background: #edf7f5;
  }

  body.type-product.type-detail
    .benefitBanner.position--benefitProduct
    > .benefitBanner__item.tpmove-review-usp
    .benefitBanner__link {
    padding-top: 9px;
    padding-bottom: 9px;
  }

  body.type-product.type-detail
    .benefitBanner.position--benefitProduct
    > .benefitBanner__item.tpmove-review-usp
    .benefitBanner__title {
    color: #006460;
  }

  body.type-product.type-detail
    .benefitBanner.position--benefitProduct
    > .benefitBanner__item.tpmove-review-usp
    .benefitBanner__data {
    color: #405c59;
    font-weight: 600;
  }
}


/* ==========================================================================
   PRODUKTOVÝ DETAIL – NATÍVNA MOBILNÁ SWIPE GALÉRIA
   ========================================================================== */

.tpm-mobile-swipe-gallery {
  display: none;
}

body.type-product.type-detail .p-image-wrapper .flags,
body.type-product.type-detail .product-top .p-detail-info > .flags {
  transition: opacity .16s ease, visibility .16s ease;
}

body.type-product.type-detail
  .p-image-wrapper
  .flags.tpm-gallery-flags-hidden,
body.type-product.type-detail
  .product-top
  .p-detail-info
  > .flags.tpm-gallery-flags-hidden {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

@media (max-width: 767px) {
  /* Pôvodný hlavný obrázok sa skryje až po úspešnom vytvorení swipe galérie. */
  body.type-product.type-detail
    .p-image-wrapper.tpm-mobile-swipe-ready
    > .p-image {
    display: none !important;
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery {
    position: relative;
    left: 50%;
    display: block;
    width: 100vw;
    max-width: 100vw;
    margin: 0;
    overflow: hidden;
    background: #fff;
    box-sizing: border-box;
    isolation: isolate;
    transform: translateX(-50%);
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__track {
    display: flex;
    width: 100%;
    margin: 0;
    padding: 0;
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    overscroll-behavior-x: contain;
    touch-action: pan-x pan-y pinch-zoom;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.type-product.type-detail
    .tpm-mobile-swipe-gallery__track::-webkit-scrollbar {
    display: none;
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__slide {
    display: block;
    flex: 0 0 100%;
    width: 100%;
    min-width: 100%;
    margin: 0;
    padding: 0;
    scroll-snap-align: start;
    scroll-snap-stop: always;
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__image {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 0;
    object-fit: contain;
    background: #fff;
    pointer-events: none;
    user-select: none;
    -webkit-user-drag: none;
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__counter {
    position: absolute;
    right: max(12px, env(safe-area-inset-right));
    bottom: 12px;
    z-index: 3;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 26px;
    padding: 4px 8px;
    color: #17302f;
    background: rgba(255, 255, 255, .9);
    border: 1px solid rgba(0, 100, 96, .18);
    border-radius: 999px;
    box-sizing: border-box;
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    pointer-events: none;
    -webkit-backdrop-filter: blur(6px);
    backdrop-filter: blur(6px);
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow {
    position: absolute;
    top: 50%;
    z-index: 4;
    display: inline-grid;
    width: 44px;
    min-width: 44px;
    height: 48px;
    min-height: 48px;
    place-items: center;
    margin: 0;
    padding: 0 0 4px;
    border: 1px solid rgba(255, 255, 255, .72);
    border-radius: 6px;
    color: #fff;
    background: rgba(0, 65, 62, .22);
    box-shadow:
      0 3px 14px rgba(5, 38, 36, .16),
      inset 0 0 0 1px rgba(0, 100, 96, .12);
    font-family: Arial, sans-serif;
    font-size: 38px;
    font-weight: 400;
    line-height: 1;
    text-shadow: 0 1px 4px rgba(0, 24, 23, .78);
    cursor: pointer;
    opacity: 1;
    transform: translateY(-50%);
    transition: opacity 140ms ease, background-color 140ms ease, transform 100ms ease;
    touch-action: manipulation;
    -webkit-appearance: none;
    appearance: none;
    box-sizing: border-box;
    -webkit-tap-highlight-color: transparent;
    -webkit-backdrop-filter: saturate(108%);
    backdrop-filter: saturate(108%);
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow--previous {
    left: max(10px, env(safe-area-inset-left));
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow--next {
    right: max(10px, env(safe-area-inset-right));
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow:active:not(:disabled) {
    background: rgba(0, 65, 62, .38);
    transform: translateY(-50%) scale(.94);
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow:focus-visible {
    outline: 3px solid #fff;
    outline-offset: 2px;
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow:disabled {
    cursor: default;
    opacity: .24;
    box-shadow: none;
  }

  /* Ak má produkt Shoptet príznaky, zostanú viditeľné aj po skrytí originálu. */
  body.type-product.type-detail .tpm-mobile-swipe-gallery > .flags {
    position: absolute;
    top: 12px;
    left: max(12px, env(safe-area-inset-left));
    z-index: 3;
    margin: 0;
    pointer-events: none;
  }

  /* Ak sú príznaky mimo pôvodného obrázka, v mobile sa zobrazí iba ich klon. */
  body.type-product.type-detail
    .product-top
    .p-detail-info
    > .flags.tpm-gallery-source-flags {
    display: none !important;
  }
}

@media (max-width: 767px) and (prefers-reduced-motion: reduce) {
  body.type-product.type-detail .tpm-mobile-swipe-gallery__track {
    scroll-behavior: auto;
  }

  body.type-product.type-detail .p-image-wrapper .flags,
  body.type-product.type-detail .product-top .p-detail-info > .flags {
    transition: none;
  }

  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow {
    transition: none;
  }
}

@media (max-width: 767px) and (prefers-reduced-transparency: reduce) {
  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow {
    background: #006460;
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }
}

@media (max-width: 767px) and (prefers-contrast: more) {
  body.type-product.type-detail .tpm-mobile-swipe-gallery__arrow {
    border: 2px solid #fff;
    background: #004c49;
  }
}
