/* PRIMAKOUPELNY.cz — styly-v1.55.css
   Základ: dodaná v1.54. Nové komponenty: vzorník v1.02.
   Obal nových popisků: .prima-description. */

:root {

  --color-primary:              #00a8ee;
  --color-primary-dark:         #0F86B8;
  --color-primary-light:        #d6f1fd;
  --color-primary-bg:           #ecf5fe;
  --color-primary-hover:        #D9EBFD;

  --color-text:                 #24242E;
  --color-text-muted:           #A3A3A3;

  --color-border:               #E4E4E4;
  --color-bg-light:             #F6F6F6;
  --color-bg-subtle:            #F9F9F9;

  --color-flag:                 #ff7925;

  --font-primary:               'Poppins', sans-serif;

  --btn-border-radius:          30px;

  --btn-bg:                     var(--color-primary-bg);
  --btn-bg-hover:               var(--color-primary-hover);
  --btn-text:                   var(--color-text);
  --btn-radius:                 4px;
  --btn-h:                      52px;
  --btn-h-mobile:               56px;
  --ico-slot-w:                 55px;
  --ico-slot-h:                 45px;
  --ico-max:                    45px;
  --logo-max:                   30px;
  --text-gap:                   10px;
  --highlight-bg:               #ffe9eb;
  --highlight-bg-hover:         #ffd8db;

  --pk-brand:                   var(--color-primary);
  --pk-accent:                  #1aa3d9;
  --pk-table-radius:            14px;
  --pk-table-border:            #e6f2f8;
  --pk-table-row-bg:            #fbfdff;
  --pk-table-shadow:            0 10px 28px rgba(15, 23, 42, .06),
                                0 1px 0 rgba(15, 23, 42, .04);

  --pk-proc-min:                210px;
  --pk-proc-cislo-min:          150px;
  --pk-proc-bg:                 var(--pk-hero-bg);

  --authorMax:                  840px;
  --quoteMax:                   640px;
  --stripWidth:                 10px;
  --authorLeft:                 230px;
  --authorGap:                  26px;

  --kat-hlavni-bg:              var(--pill-bg);
  --kat-hlavni-bg-hover:        var(--pill-bg-hover);
  --kat-hlavni-border:          rgba(0, 168, 238, 0.18);
  --kat-hlavni-border-hover:    var(--kat-blok-border-akcent);
  --kat-hlavni-bg-blog:         #eef5fc;
  --kat-hlavni-bg-blog-hover:   #daeaf8;
  --kat-hlavni-radius:          12px;
  --kat-hlavni-w:               96px;
  --kat-hlavni-h:               118px;
  --kat-hlavni-img-h:           48px;
  --kat-hlavni-gap:             10px;
  --kat-hlavni-label-size:      11px;
  --kat-hlavni-label-color:     var(--kat-text);
  --kat-hlavni-ikona:           var(--color-primary-dark);
  --kat-hlavni-ikona-velikost:  90%;
  --kat-hlavni-ikona-hover:     var(--kat-text);
  --kat-hlavni-logo-h:          44px;
  --kat-hlavni-logo-h-mobile:   36px;
  --kat-hlavni-h-mobile:        104px;
  --kat-hlavni-img-h-mobile:    42px;
  --kat-hlavni-gap-mobile:      6px;
  --kat-hlavni-label-size-mob:  10px;

  --kat-hlavni-top-bg:          #ffffff;
  --kat-hlavni-top-color:       var(--color-primary-dark);
  --kat-hlavni-top-border:      rgba(0, 168, 238, 0.35);
  --kat-hlavni-top-size:        7px;
  --kat-hlavni-top-size-mob:    6px;
  --kat-hlavni-top-offset:      4px;
  --kat-hlavni-tip-bg:          #ffffff;
  --kat-hlavni-tip-color:       var(--kat-text);
  --kat-hlavni-tip-size:        10px;
  --kat-hlavni-tip-w:           150px;
  --kat-hlavni-uvod-size:       13px;
  --kat-hlavni-uvod-size-mob:   12px;
  --kat-hlavni-serie-h:         54px;
  --kat-hlavni-serie-h-mobile:  44px;
  --kat-hlavni-barva-size:      34px;
  --kat-hlavni-barva-size-mob:  30px;

  --pill-bg:                    rgba(0, 168, 238, 0.07);
  --pill-bg-hover:              rgba(0, 168, 238, 0.14);

  --kat-roz-okno-w:             760px;
  --kat-roz-okno-max-h:         80vh;
  --kat-roz-okno-radius:        var(--kat-blok-radius);
  --kat-roz-okno-stin:          0 24px 64px rgba(15, 23, 42, 0.22);
  --kat-roz-backdrop:           rgba(26, 26, 46, 0.45);
  --kat-roz-zavrit-size:        36px;

  --prod-rozmery-bg:            var(--pill-bg);
  --prod-rozmery-bg-hover:      var(--pill-bg-hover);
  --prod-rozmery-text:          var(--color-text);
  --prod-rozmery-current:       #2e9e44;
  --prod-rozmery-current-bg:    #ffffff;
  --prod-rozmery-radius:        10px;

  --prod-barva-size:            44px;
  --prod-barva-size-mob:        40px;
  --prod-barva-border:          #e0e0e0;
  --prod-barva-current:         #1aa01a;
  --prod-barva-tip-bg:          var(--color-text);
  --prod-barva-tip-text:        #ffffff;

  --param-panel-bg:             #f5f5f5;
  --param-panel-radius:         20px;
  --param-panel-padding:        36px 40px 40px;
  --param-panel-padding-mob:    24px 20px 26px;
  --param-karta-bg:             #ffffff;
  --param-karta-radius:         14px;
  --param-linka:                rgba(26, 26, 46, 0.09);
  --param-popisek:              #6b6b76;
  --param-hodnota:              var(--color-text);
  --param-stitek-size:          11px;

  --rel-karta-min:              185px;
  --rel-gap:                    12px;
  --rel-img-h:                  120px;
  --rel-img-h-mob:              104px;
  --rel-radius:                 14px;
  --rel-border:                 rgba(26, 26, 46, 0.10);
  --rel-nazev-size:             13px;
  --rel-nazev-radky:            4;
  --rel-nazev-line:             1.35;
  --rel-karta-max:              230px;
  --rel-cena-size:              16px;

  --prod-blok-panel-bg:         #f5f5f5;
  --prod-blok-panel-radius:     20px;
  --prod-blok-karta-bg:         #ffffff;
  --prod-blok-karta-radius:     14px;
  --prod-blok-karta-border:     rgba(26, 26, 46, 0.10);
  --prod-blok-linka:            rgba(26, 26, 46, 0.09);
  --prod-blok-popisek:          #6b6b76;
  --prod-blok-ink:              var(--color-text);
  --prod-blok-stitek-size:      11px;
  --prod-blok-ikona-bg:         #f0f0f2;
  --prod-blok-ikona-size:       38px;
  --prod-blok-ano:              #2e9e44;
  --prod-blok-ne:               #a3a3ad;
  --prod-blok-min:              260px;

  --prod-hero-ink-2:            #8a8a94;

  --pk-carousel-gap:            8px;
  --pk-carousel-radius:         14px;

  --pk-hero-bg:                 #f3f7fe;
  --pk-hero-accent:             var(--color-primary);
  --pk-hero-ink:                #1a1a2e;
  --pk-hero-ink-soft:           #3a4a63;
  --pk-hero-ink-mute:           #5a6a82;
  --pk-hero-radius:             24px;

  --pk-hero-stat-min:           200px;
  --pk-benefit-min:             250px;

  --kat-blok-radius:            16px;
  --kat-blok-radius-lg:         20px;
  --kat-blok-border:            rgba(26, 26, 46, 0.12);
  --kat-blok-border-akcent:     rgba(0, 168, 238, 0.35);
  --kat-blok-bg:                #ffffff;

  --kat-blok-bg-tlumeny:        var(--pk-hero-bg);
  --kat-blok-linka:             rgba(26, 26, 46, 0.10);
  --kat-ikona-radius:           12px;
  --kat-ikona-bg:               rgba(0, 168, 238, 0.10);
  --kat-text:                   var(--pk-hero-ink);
  --kat-text-soft:              var(--pk-hero-ink-soft);
  --kat-text-mute:              var(--pk-hero-ink-mute);

  --srv-primary:                #4ba6e8;
  --srv-primary-dark:           #2e8fd0;
  --srv-text:                   var(--color-text);
  --srv-muted:                  #6b6b7a;
  --srv-border:                 var(--color-border);
  --srv-bg:                     #f7f7f8;
  --srv-white:                  #ffffff;
  --srv-radius:                 12px;
  --srv-radius-sm:              8px;
  --srv-font:                   var(--font-primary);
}

html,
body {
  font-family: var(--font-primary) !important;
}

h1, h2, h3, h4, h5, h6,
.h1, .h2, .h3, .h4, .h5, .h6 {
  font-family: var(--font-primary) !important;
}

.navigation-in a,
.menu-helper > ul > li a,
.fav-cat li a,
.user-action-tabs li a {
  font-family: var(--font-primary) !important;
}

.price strong,
.products-block.products .p .price span,
.price-final,
.price-wrapper,
.payment-shipping-price {
  font-family: var(--font-primary) !important;
}

.btn:not(.cart-count),
a.btn:not(.cart-count) {
  font-family: var(--font-primary) !important;
}

.cart-widget .popup-widget-inner::before,
.cart-widget-product-name a,
.cart-widget-product > span,
.cart-item-name,
.cart-item-price,
.cart-table tr td.p-name a,
a.cart-related-name,
.empty-cart-boxes ul li a,
.payment-info,
ol.cart-header li a,
ol.cart-header li strong,
.order-summary-item.helper,
.recapitulation-single,
.reca-number,
.id--15 .cart-table .p-name,
.id--15 .cart-table .p-price {
  font-family: var(--font-primary) !important;
}

.quantity .increase::before,
.quantity .decrease::before,
.header-top .btn.cart-count .cart-price,
.navigation-buttons > a[data-target="cart"] i,
.header-top .oblibeneBtn em {
  font-family: var(--font-primary) !important;
}

.search-whisperer ul::before,
.search-whisperer .p-info span,
.search-whisperer .price,
.search-box::before,
.search-whisperer-documents a,
.search-whisperer-empty,
.search-results-groups #search-group-categories .search-results-group-list ul li a {
  font-family: var(--font-primary) !important;
}

.box-filters::before,
.param-filter-top::before,
.filtrovat,
.tab-mobil,
.box-bg-variant .categories a {
  font-family: var(--font-primary) !important;
}

.subcategories.with-image li a .text,
.name,
.category-header label,
.dropdown-menu > li > a,
.category-appendix {
  font-family: var(--font-primary) !important;
}

.pagination > a,
.pagination > strong {
  font-family: var(--font-primary) !important;
}

.availability-value,
.all-param span,
#productsAlternative::before,
.rate-average,
.vote-form::before,
#variants::before,
.var-dostupnost,
.variant-name,
.vote-title,
.shp-tabs-holder ul.shp-tabs li a {
  font-family: var(--font-primary) !important;
}

.vote-form > form::before {
  font-family: var(--font-primary) !important;
}

.free-gift-name,
.p-gifts-heading,
.p-gift-name,
.id--9 .free-product-gifts-wrapper::before {
  font-family: var(--font-primary) !important;
}

#register-form > fieldset .form-group:not(.consents) label,
a.login-btn.facebook,
a.login-btn.google,
a.login-btn.seznam {
  font-family: var(--font-primary) !important;
}

ul.manufacturers ul li,
#footer .contact-box::before {
  font-family: var(--font-primary) !important;
}

.news-item-widget h5 {
  font-family: var(--font-primary) !important;
}

.compact-form .form-control {
  font-family: var(--font-primary) !important;
}

h1, .h1 { font-size: 2.3em; }

@media only screen and (max-width: 800px) {
  h2, .h2 { font-size: 35px !important; }
}

.btn:not(.cart-count),
.compact-form .form-control,
.pagination > a,
.pagination > strong,
a.login-btn {
  border-radius: var(--btn-border-radius);
}

.flag.flag-action,
.flag.flag-tip,
.flag.flag-new,
.flag.flag-gift,
.flag.flag-discount,
.flag.flag-freeshipping {
  background-color: var(--color-flag);
}

.zvyraznenybox {
  background-color: var(--color-bg-subtle);
  padding:          20px;
  border-radius:    10px;
}

.zvyraznenybox h2 { margin-top:    0; }
.zvyraznenybox p  { margin-bottom: 5px; }

@media screen and (min-width: 768px) {
  #header::after {
    background-color: var(--color-primary-light);
  }

  .navigation-in {
    background-color: transparent;
  }

  .navigation-in > ul > li > a,
  .submenu-arrow::after,
  .menu-helper::after {
    color: var(--color-text);
  }

  .top-navigation-menu     { flex: 1 1 33% !important; }
  .top-navigation-contacts { flex: 1 1 40% !important; }
  .top-navigation-tools    { flex: 1 1 27% !important; }

  .project-phone {
    font-weight: 400 !important;
    font-size:   14px !important;
  }

  .top-navigation-bar .project-phone::after {
    content: " (Po - Pá 8:00 - 17:00)" !important;
  }

  .navigation-in > ul > .menu-item-9828.ext > ul > li > div > ul {
    height: 220px !important;
  }
}

@media screen and (min-width: 768px) and (max-width: 1199px) {
  .project-email {
    font-weight: 400 !important;
    font-size:   14px !important;
  }
}

@media screen and (min-width: 992px) {
  .top-navigation-bar .project-phone::after {
    color:        var(--color-text-muted);
    font-size:    13px;
    font-weight:  400;
    margin-left:  5px;
    display:      inline-block;
  }
}

@media screen and (min-width: 1200px) {
  .navigation-in > ul > li > a {
    padding: 25px 32px;
  }

  .top-navigation-bar .project-email {
    display:     inline-block;
    font-size:   16px;
    font-weight: bold;
    margin-left: 24px;
    color:       var(--color-primary);
  }

  a.project-email::before {
    content:   '\e910';
    font-size: 16px;
  }
}

@media screen and (min-width: 360px) and (max-width: 767px) {
  .top-navigation-contacts {
    display: block !important;
  }

  .top-navigation-contacts .project-phone {
    display: none !important;
  }

  .top-navigation-contacts .project-email {
    display:  block !important;
    position: absolute;
    right:    164px;
    top:      15px;
    color:    #A3A3AF;
  }

  a.project-email::before { content: '\e910'; }

  .top-navigation-contacts .project-email span { display: none; }
}

.mjs-products-related      { display: none; }
.mjs-related > .product    { display: block !important; }
.mjs-related-expand        { display: none; }

@media (max-width: 768px) {
  .mjs-related-expand {
    display:         flex;
    justify-content: center;
    margin-bottom:   20px;
    margin-top:      -50px;
  }

  .mjs-related > .product:nth-child(n+5) { display: none !important; }

  .mjs-related.mjs-related-full > .product { display: block !important; }
}

#category-filter-hover.visible {
  display:        flex;
  flex-direction: column;
}

:is(
  .subcategories.seo-subcategories.with-image,
  .seo-subcategories.with-image,
  body.type-post .subcategories.with-image
) {
  display:     flex !important;
  flex-wrap:   wrap !important;
  align-items: stretch !important;
  padding:     4px 0 !important;
  margin:      0 -6px 12px -6px !important;
  position:    relative !important;
}

:is(
  .subcategories.seo-subcategories.with-image,
  .seo-subcategories.with-image,
  body.type-post .subcategories.with-image,
  .subcategories,
  .seo-subcategories
)::before,
:is(
  .subcategories.seo-subcategories.with-image,
  .seo-subcategories.with-image,
  body.type-post .subcategories.with-image,
  .subcategories,
  .seo-subcategories
)::after {
  height: 0 !important;
}

.subcategories,
.seo-subcategories {
  padding-top:    0 !important;
  padding-bottom: 0 !important;
}

.category-perex { margin-bottom: 0 !important; }

:is(
  .subcategories.seo-subcategories.with-image li,
  .seo-subcategories.with-image li,
  body.type-post .subcategories.with-image li
) {
  list-style: none !important;
  flex:       0 0 auto !important;
  padding:    4px !important;
  box-sizing: border-box !important;
}

:is(h1,h2,h3,.h1,.h2,.h3) + :is(
  .subcategories.seo-subcategories.with-image,
  .seo-subcategories.with-image,
  .subcategories.with-image
) {
  margin-top: 0 !important;
}

@supports selector(:has(*)) {
  :is(h1,h2,h3,.h1,.h2,.h3):has(+ :is(
    .subcategories.seo-subcategories.with-image,
    .seo-subcategories.with-image,
    .subcategories.with-image
  )) {
    margin-bottom: 10px !important;
  }
}

:is(
  .subcategories.seo-subcategories.with-image li a,
  .seo-subcategories.with-image li a,
  body.type-post .subcategories.with-image li a
) {
  display:          flex !important;
  align-items:      center !important;
  position:         relative !important;
  height:           var(--btn-h) !important;
  padding:          6px 10px !important;
  font-weight:      bold !important;
  text-decoration:  none !important;
  background-color: var(--btn-bg) !important;
  border-radius:    var(--btn-radius) !important;
  box-shadow:       inset 0 -1px 0 0 rgba(0, 0, 0, .1) !important;
  border:           0 !important;
  color:            var(--btn-text) !important;
  transition:       background-color 0.15s ease;
}

:is(
  .subcategories.seo-subcategories.with-image li:not(.highlitedsub) a:hover,
  .seo-subcategories.with-image li:not(.highlitedsub) a:hover,
  body.type-post .subcategories.with-image li:not(.highlitedsub) a:hover
) {
  background-color: var(--btn-bg-hover) !important;
}

:is(
  .subcategories.seo-subcategories.with-image li a,
  .seo-subcategories.with-image li a,
  body.type-post .subcategories.with-image li a,
  .subcategories li a,
  .seo-subcategories li:not(.highlitedsub) a
)::before,
:is(
  .subcategories.seo-subcategories.with-image li a,
  .seo-subcategories.with-image li a,
  body.type-post .subcategories.with-image li a,
  .subcategories li a,
  .seo-subcategories li:not(.highlitedsub) a
)::after {
  display: none !important;
}

.subcategories li a { box-shadow: none; }

:is(
  .subcategories.seo-subcategories.with-image li.highlitedsub a,
  .seo-subcategories.with-image li.highlitedsub a,
  body.type-post .subcategories.with-image li.highlitedsub a,
  .highlitedsub a
) {
  background: var(--highlight-bg) !important;
}

:is(
  .subcategories.seo-subcategories.with-image li.highlitedsub a:hover,
  .seo-subcategories.with-image li.highlitedsub a:hover,
  body.type-post .subcategories.with-image li.highlitedsub a:hover,
  .highlitedsub a:hover
) {
  background: var(--highlight-bg-hover) !important;
}

:is(
  .subcategories.seo-subcategories.with-image li a .image,
  .seo-subcategories.with-image li a .image,
  body.type-post .subcategories.with-image li a .image
) {
  flex:            0 0 var(--ico-slot-w) !important;
  width:           var(--ico-slot-w) !important;
  height:          var(--ico-slot-h) !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  overflow:        hidden !important;
}

:is(
  .subcategories.seo-subcategories.with-image li a .image img,
  .seo-subcategories.with-image li a .image img,
  body.type-post .subcategories.with-image li a .image img
) {
  width:      auto !important;
  height:     auto !important;
  max-width:  var(--ico-max) !important;
  max-height: var(--ico-max) !important;
  object-fit: contain !important;
  display:    block !important;
}

:is(
  .subcategories.seo-subcategories.with-image li a .text,
  .seo-subcategories.with-image li a .text,
  body.type-post .subcategories.with-image li a .text
) {
  padding-left:       var(--text-gap) !important;
  min-width:          0 !important;
  white-space:        normal !important;
  overflow:           hidden !important;
  text-overflow:      clip !important;
  overflow-wrap:      normal !important;
  word-break:         normal !important;
  hyphens:            none !important;
  font-size:          14px !important;
  font-weight:        bold !important;
  line-height:        1.15 !important;
  display:            -webkit-box !important;
  -webkit-box-orient: vertical !important;
  -webkit-line-clamp: 2 !important;
  max-height:         calc(2 * 1.15em) !important;
}

:is(
  .subcategories.seo-subcategories.with-image li.highlitedsub a .text,
  .seo-subcategories.with-image li.highlitedsub a .text,
  body.type-post .subcategories.with-image li.highlitedsub a .text
) {
  text-overflow: ellipsis !important;
}

html .type-category .seo-subcategories li a .text {
  font-size:   14px !important;
  line-height: 1.3em !important;
  font-weight: bold !important;
}

.seo-subcategories .text { font-weight: bold; }

.imageznacka {
  width:           100% !important;
  display:         flex !important;
  align-items:     center !important;
  justify-content: center !important;
  text-align:      center !important;
}

.imageznacka img {
  width:      auto !important;
  height:     auto !important;
  max-height: var(--logo-max) !important;
  max-width:  100% !important;
  object-fit: contain !important;
  display:    block !important;
}

@media (min-width: 768px) {
  .subcategories li a,
  .seo-subcategories li a { height: 70px !important; }

  .subcategories.with-image li a .image,
  .seo-subcategories.with-image li a .image { width: 55px !important; }

  .subcategories.with-image li a .image img { max-height: 45px !important; }

  .subcategories.with-image li a .text,
  .seo-subcategories.with-image li a .text { width: auto !important; }
}

@media (max-width: 767px) {
  :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li,
    body.type-post .subcategories.with-image li,
    .subcategories li
  ) {
    width: 50% !important;
  }

  :is(
    .subcategories.seo-subcategories.with-image li a,
    .seo-subcategories.with-image li a,
    body.type-post .subcategories.with-image li a
  ) {
    height: var(--btn-h-mobile) !important;
  }

  .subcategories.with-image li a            { width: 100%; }
  .subcategories.with-image li a .image     { width: 30% !important; }
  .subcategories.with-image li a .text      { width: 70% !important; }

  .seo-subcategories.with-image li a .image { width: 30% !important; }
  .seo-subcategories li                     { padding: 4px; }
  .seo-subcategories li a                   { height: 73px; }

  body.type-page:not(.type-post):not(.type-category) :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li,
    .subcategories.with-image li
  ) {
    width: 50% !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li,
    body.type-post .subcategories.with-image li
  ) {
    width: 33.333% !important;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  body.type-page:not(.type-post):not(.type-category) :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li,
    .subcategories.with-image li
  ) {
    width: 33.333% !important;
  }
}

@media (min-width: 992px) and (max-width: 1279px) {
  html .type-category :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li
  ) {
    width: 33.333% !important;
  }

  body.type-post :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li,
    .subcategories.with-image li
  ) {
    width: 33.333% !important;
  }
}

@media (min-width: 1200px) {
  body.type-post :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li,
    .subcategories.with-image li
  ) {
    width: 25% !important;
  }

  body.type-page:not(.type-post):not(.type-category) :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li,
    .subcategories.with-image li
  ) {
    width: 25% !important;
  }
}

@media (min-width: 1280px) and (max-width: 1599px) {
  html .type-category :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li
  ) {
    width: 25% !important;
  }
}

@media (min-width: 1600px) {
  html .type-category :is(
    .subcategories.seo-subcategories.with-image li,
    .seo-subcategories.with-image li
  ) {
    width: 20% !important;
  }
}

@supports selector(:has(*)) {
  :where(html .type-category, body.type-page, body.type-post)
  :is(.subcategories.with-image, .seo-subcategories.with-image)
  li:has(
    img[src*="/upload/barva/" i],
    img[src*="/documents/upload/barva/" i],
    img[src*="/ikony-kategorie/" i][src*="/barvy/" i]
  ) a {
    height:      var(--btn-h) !important;
    display:     flex !important;
    align-items: center !important;
  }

  :where(html .type-category, body.type-page, body.type-post)
  :is(.subcategories.with-image, .seo-subcategories.with-image)
  li:has(
    img[src*="/upload/barva/" i],
    img[src*="/documents/upload/barva/" i],
    img[src*="/ikony-kategorie/" i][src*="/barvy/" i]
  ) a .image {
    flex:            0 0 var(--ico-slot-w) !important;
    width:           var(--ico-slot-w) !important;
    height:          var(--ico-slot-h) !important;
    display:         flex !important;
    align-items:     center !important;
    justify-content: center !important;
    padding:         4px !important;
    box-sizing:      border-box !important;
    overflow:        hidden !important;
  }

  :where(html .type-category, body.type-page, body.type-post)
  :is(.subcategories.with-image, .seo-subcategories.with-image)
  li a .image img:is(
    [src*="/upload/barva/" i],
    [src*="/documents/upload/barva/" i],
    [src*="/ikony-kategorie/" i][src*="/barvy/" i]
  ) {
    width:      auto !important;
    height:     auto !important;
    max-width:  100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    display:    block !important;
  }
}

@supports not selector(:has(*)) {
  :where(html .type-category, body.type-page, body.type-post)
  :is(.subcategories.with-image, .seo-subcategories.with-image)
  li a .image img:is(
    [src*="/upload/barva/" i],
    [src*="/documents/upload/barva/" i],
    [src*="/ikony-kategorie/" i][src*="/barvy/" i]
  ) {
    width:      auto !important;
    height:     auto !important;
    max-width:  var(--ico-max) !important;
    max-height: var(--ico-max) !important;
    object-fit: contain !important;
    display:    block !important;
  }

  :where(html .type-category, body.type-page, body.type-post)
  :is(.subcategories.with-image, .seo-subcategories.with-image)
  li a .image {
    padding:    4px !important;
    box-sizing: border-box !important;
    overflow:   hidden !important;
  }
}

.seo-subcategories {
  display:     flex;
  flex-wrap:   wrap;
  align-items: center;
  margin:      0 -6px 36px -6px;
  padding:     26px 0;
  position:    relative;
}

.seo-subcategories li {
  list-style: none;
  flex:       0 0 auto;
  padding:    6px;
}

.seo-subcategories li a {
  box-shadow:      none;
  position:        relative;
  display:         flex;
  align-items:     center;
  padding:         12px;
  font-weight:     500;
  color:           var(--color-text);
  border:          1px solid var(--color-border);
  text-decoration: none !important;
  transition:      border-color 0.15s ease;
}

.seo-subcategories li a:hover {
  border-color: var(--color-primary) !important;
}

.seo-subcategories.with-image li a {
  display:     flex;
  align-items: center;
}

.seo-subcategories.with-image li a .image { text-align: center; }

.seo-subcategories.with-image li a .text {
  padding-left:  5px;
  flex-grow:     0;
  text-align:    left;
  display:       inline-block;
  overflow:      hidden;
  text-overflow: ellipsis;
}

.seo-subcategories li a .text {
  max-height:  62px;
  overflow:    hidden;
  line-height: 20px;
  font-size:   14px;
  font-weight: bold;
}

.type-post .subcategories.with-image li a,
.type-post .seo-subcategories.with-image li a {
  box-shadow:    0 0 15px rgba(0, 0, 0, 0.05);
  border:        1px solid rgba(0, 0, 0, 0.07);
  padding-right: 0;
}

.type-post .subcategories.with-image li a .text {
  font-size:   85%;
  line-height: 1.3em;
  color:       #000 !important;
  padding:     0 0 0 10px !important;
  width:       100% !important;
}

.type-post .subcategories li a::after,
.type-post .subcategories li a::before { display: none; }

.type-post .subcategories .text { padding-top: 25px; }

.news-item-detail .text { margin-bottom: 0 !important; }

.products-block.products .p .name { height: 80px; }

.type-category .products-top-wrapper { display: none; }

.filter-sections,
.box-filters {
  background-color: transparent !important;
  border:           0 !important;
}

.filter-section {
  padding:    0 !important;
  border-top: 0 !important;
}

.type-category .filter-section form {
  padding:        15px;
  padding-bottom: 0 !important;
  margin-bottom:  20px !important;
  background:     var(--color-bg-light);
  border-radius:  5px;
  border:         1px solid var(--color-border) !important;
}

.type-category #filters .param-filter-top form[action="/action/ProductsListing/setStockFilter/"] {
  padding:    0 !important;
  border:     0 !important;
  background: transparent !important;
  margin:     0 !important;
}

.type-category .filter-section form:not(:has(div)),
.type-category #filters .param-filter-top form,
.type-category .filter-section form:has(input[disabled]) {
  border-color: transparent !important;
  background:   transparent !important;
}

.filter-section form > fieldset > div:not(.advanced-filters-wrapper):hover {
  background-color: transparent !important;
}

.filter-section form:first-of-type { padding-top: 0 !important; }

.filter-section input[type="checkbox"]:disabled + label,
.filter-section input[type="radio"]:disabled + label {
  display: none;
}

.slider-wrapper.dkLab__slider-parameter { margin: unset !important; }
.filters-wrapper > .filters > .slider-wrapper { display: none; }

.more-param:not(.rozbaleno) form fieldset div:nth-child(n+6) { display: none; }

.more-param-link {
  display:         inline-block;
  margin-top:      12px;
  margin-bottom:   15px;
  font-size:       13px;
  color:           var(--color-primary);
  text-decoration: underline;
  cursor:          pointer;
}

.more-param-link:hover { text-decoration: none; }

.more-param-link::after            { content: " více"; }
.rozbaleno .more-param-link::after { content: " méně"; }

.filter-section fieldset div:first-of-type label { margin-top:    15px; }
.filter-section fieldset div:last-of-type  label { margin-bottom: 15px; }

body[class*="in-topne-tyce"] .filter-section-parametric-id-93   { order: -100; }
body[class*="in-topne-tyce"] .filter-section-parametric-id-99   { order: -99;  }
body[class*="in-topne-tyce"] .filter-section-parametric-id-1034 { order: -98;  }
body[class*="in-topne-tyce"] .filter-section-parametric-id-30   { order: -97;  }
body[class*="in-topne-tyce"] .filter-section-parametric-id-135  { order: -96;  }
body[class*="in-topne-tyce"] .filter-section-parametric-id-117  { order: -95;  }
body[class*="in-topne-tyce"] .filter-section-parametric-id-45   { order: -94;  }

:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-396 { order: -101; }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-93  { order: -100; }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-18  { order: -99;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-21  { order: -98;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-99  { order: -97;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-120 { order: -96;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-30  { order: -95;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-45  { order: -94;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-36  { order: -93;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-929 { order: -92;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-941 { order: -91;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-117 { order: -90;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-210 { order: -89;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-135 { order: -88;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-27  { order: -87;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-102 { order: -86;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-60  { order: -85;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-96  { order: -84;  }
:is(body[class*="-topne-zebriky"], body[class*="in-koupelnove-radiatory"]) .filter-section-parametric-id-114 { order: -83;  }

body[class*="zlaby"] .filter-section-parametric-id-396 { order: -101; }
body[class*="zlaby"] .filter-section-parametric-id-93  { order: -100; }
body[class*="zlaby"] .filter-section-parametric-id-57  { order: -99;  }
body[class*="zlaby"] .filter-section-parametric-id-18  { order: -98;  }
body[class*="zlaby"] .filter-section-parametric-id-21  { order: -97;  }
body[class*="zlaby"] .filter-section-parametric-id-60  { order: -96;  }
body[class*="zlaby"] .filter-section-parametric-id-45  { order: -95;  }
body[class*="zlaby"] .filter-section-parametric-id-30  { order: -94;  }
body[class*="zlaby"] .filter-section-parametric-id-27  { order: -93;  }
body[class*="zlaby"] .filter-section-parametric-id-195 { order: -92;  }
body[class*="zlaby"] .filter-section-parametric-id-114 { order: -91;  }
body[class*="zlaby"] .filter-section-parametric-id-324 { order: -90;  }

.in-vse-o-nakupu .subcategories img {
  display:      block !important;
  width:        40px;
  height:       40px;
  margin-right: 10px;
}

.in-vse-o-nakupu .subcategories li a {
  text-align:  left;
  line-height: 1.4;
}

@media screen and (min-width: 768px) {
  .in-vse-o-nakupu .subcategories li { width: 25%; }
}

.r-bottom .vote-wrap {
  width:            calc(25% - 20px) !important;
  margin:           10px !important;
  background-color: var(--color-bg-light);
  border-radius:    10px;
}

.vote-summary { padding-bottom: 10px !important; }

.votes-wrap {
  background-color: var(--color-bg-light);
  border-radius:    10px;
  padding:          2rem;
}

.r-bottom .stars {
  padding-top: 10px;
  left:        10px !important;
}

@media (max-width: 768px) {
  .r-bottom .vote-wrap { width: calc(50% - 20px) !important; }
}

.proklikhodnoceni {
  width:         100%;
  margin-top:    20px;
  margin-bottom: 20px;
  text-align:    center;
}

.proklikhodnoceni .btn { max-width: 100px; }

#content .p-detail {
  display:        flex;
  flex-direction: column;
}

#content .p-detail #related               { order: 31 !important; }
#content .p-detail .p-detail-tabs-wrapper { order: 32 !important; }
#content .p-detail #productsAlternative   { order: 33 !important; }

#related .products.products-related {
  display:         flex;
  flex-wrap:       wrap;
  justify-content: center;
  align-items:     stretch;
  gap:             var(--rel-gap);
  margin:          0;
  padding:         0;
  border:          0 !important;
  background:      transparent !important;
}

#related .products.products-related > .product {
  flex:       1 1 var(--rel-karta-min) !important;
  width:      auto !important;
  max-width:  var(--rel-karta-max) !important;
  min-width:  0;
  float:      none !important;
  margin:     0 !important;
  padding:    0 !important;
  border:     0 !important;
  background: transparent !important;
}

#related .products.products-related > .product::before,
#related .products.products-related > .product::after {
  display: none !important;
}

#related .products.products-related > .product > .p {
  height:          100%;
  display:         flex;
  flex-direction:  column;
  padding:         12px;
  background:      #fff;
  border:          1px solid var(--rel-border);
  border-radius:   var(--rel-radius);
  box-sizing:      border-box;
  transition:      border-color 0.15s ease-in-out,
                   box-shadow   0.15s ease-in-out;
}

#related .products.products-related > .product > .p:hover {
  border-color: var(--kat-hlavni-border-hover);
  box-shadow:   0 6px 18px rgba(15, 23, 42, 0.07);
}

#related .p a.image {
  display:         flex;
  align-items:     center;
  justify-content: center;
  height:          var(--rel-img-h);
  margin-bottom:   10px;
  position:        relative;
}

#related .p a.image img {
  max-width:  100%;
  max-height: 100%;
  width:      auto;
  height:     auto;
  object-fit: contain;
}

#related .p .flags-extra {
  position: absolute;
  top:      0;
  left:     0;
  margin:   0;
}

#related .p .flag-discount {
  transform:        scale(0.7);
  transform-origin: top left;
}

#related .p .name {
  display:            -webkit-box;
  -webkit-line-clamp: var(--rel-nazev-radky);
  -webkit-box-orient: vertical;
  overflow:           hidden;
  height:             auto !important;
  min-height:         calc(var(--rel-nazev-size) * var(--rel-nazev-line) * var(--rel-nazev-radky)) !important;
  margin:             0 0 6px;
  font-size:          var(--rel-nazev-size);
  font-weight:        600;
  line-height:        var(--rel-nazev-line);
}

#related .p .p-desc { display: none !important; }

#related .p .ratings-wrapper:not(:has(.stars)) { display: none; }

#related .p .p-bottom { padding: 0; }

#related .p .price-final strong {
  font-size:   var(--rel-cena-size);
  font-weight: 700;
}

#related .p .availability {
  font-size:   11.5px;
  line-height: 1.3;
  margin:      2px 0 8px;
}

#related .p-code {
  display:    block;
  position:   static !important;
  margin-top: 8px;
  font-size:  10.5px;
  color:      var(--color-text-muted);
}

#related .p .p-tools { margin: 0; }

#related .p .btn-cart {
  width:       100% !important;
  padding:     8px 10px !important;
  font-size:   12.5px !important;
  line-height: 1.2 !important;
  min-height:  0 !important;
  height:      auto !important;
}

#content .p-detail                        { gap: 0 !important; }

.type-detail .p-detail-inner,
.type-detail .p-detail-inner > form,
.type-detail .row.product-top,
.type-detail .p-info-wrapper,
.type-detail .social-buttons-wrapper,
.type-detail .addit-info {
  margin-bottom:  0 !important;
  padding-bottom: 0 !important;
}

#related.souvisejici-produkty {
  margin-top:     16px !important;
  padding-top:    0 !important;
  margin-bottom:  40px !important;
  padding-bottom: 8px !important;
}

#related .products-related-header {
  margin-top:    0 !important;
  margin-bottom: 14px !important;
  font-size:     20px !important;
}

@media (max-width: 640px) {
  #related .products.products-related { gap: 10px; }

  #related .products.products-related > .product {
    flex:      1 1 calc(50% - 5px) !important;
    max-width: calc(50% - 5px) !important;
  }

  #related .p a.image { height: var(--rel-img-h-mob); }

  #related .products.products-related > .product > .p { padding: 10px; }

  #related .p .name { font-size: 12.5px; }

  #related .products.products-related.mjs-related > .product:nth-child(n+5) {
    display: block !important;
  }

  #related .mjs-related-expand {
    display: none !important;
  }
}

.type-detail .all-param { display: none !important; }

.type-detail .description-inner {
  display: block;
}

.type-detail .description-inner > .basic-description,
.type-detail .description-inner > .extended-description.more-param {
  display:      block !important;
  width:        100%  !important;
  max-width:    85%   !important;
  margin-left:  auto  !important;
  margin-right: auto  !important;
  float:        none  !important;
}

.type-detail .description-inner > .basic-description {
  padding-left:  0 !important;
  padding-right: 0 !important;
}

.type-detail .description-inner > .extended-description.more-param {
  clear:      both;
  margin-top: 32px;
}

@media (max-width: 991px) {
  .type-detail .description-inner > .basic-description,
  .type-detail .description-inner > .extended-description.more-param {
    max-width: 100% !important;
  }
}

.type-detail .extended-description:not(.otevreno) table tr:nth-child(n+9) {
  display: table-row !important;
}

.type-detail .extended-description.more-param {
  background:    var(--param-panel-bg);
  border-radius: var(--param-panel-radius);
  padding:       var(--param-panel-padding);
  box-sizing:    border-box;
}

.type-detail .extended-description.more-param > h3 {
  display:        inline-block;
  margin:         0 0 24px;
  padding:        8px 18px;
  background:     var(--param-karta-bg);
  border-radius:  999px;
  font-family:    var(--font-primary);
  font-size:      var(--param-stitek-size);
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  line-height:    1.2;
  color:          var(--color-text);
}

.type-detail .extended-description .detail-parameters {
  width:           100%;
  border-collapse: collapse;
  background:      transparent;
  border:          0;
  box-shadow:      none;
  font-family:     var(--font-primary);
  font-size:       15px;
  line-height:     1.6;
  margin:          0;
}

.type-detail .extended-description .detail-parameters th,
.type-detail .extended-description .detail-parameters td {
  padding:        14px 0;
  background:     transparent;
  border:         0;
  border-top:     1px solid var(--param-linka);
  text-align:     left;
  vertical-align: top;
}

.type-detail .extended-description .detail-parameters tr:first-child th,
.type-detail .extended-description .detail-parameters tr:first-child td {
  border-top: 0;
}

.type-detail .extended-description .detail-parameters th {
  width:          250px;
  padding-right:  28px;
  color:          var(--param-popisek);
  font-weight:    400;
  text-transform: none;
  letter-spacing: 0;
}

.type-detail .extended-description .detail-parameters .row-header-label {
  font-weight: 400;
}

.type-detail .extended-description .detail-parameters td {
  color:       var(--param-hodnota);
  font-weight: 600;
}

.type-detail .extended-description .detail-parameters td a {
  color:                  var(--color-primary-dark);
  font-weight:            600;
  text-decoration:        underline;
  text-decoration-color:  rgba(15, 134, 184, 0.35);
  text-underline-offset:  3px;
  text-decoration-thickness: 1px;
  transition:             color 0.15s ease-in-out,
                          text-decoration-color 0.15s ease-in-out;
}

.type-detail .extended-description .detail-parameters td a:hover {
  color:                 var(--color-text);
  text-decoration-color: var(--color-text);
}

.type-detail .extended-description .produkt-kat {
  margin-top:    32px;
  padding:       18px 22px;
  background:    var(--param-karta-bg);
  border-radius: var(--param-karta-radius);
}

.type-detail .extended-description .produkt-kat h5 {
  margin:         0 0 6px;
  padding:        0;
  font-family:    var(--font-primary);
  font-size:      var(--param-stitek-size);
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  line-height:    1.3;
  color:          var(--param-popisek);
}

.type-detail .extended-description .produkt-kat td {
  display: block;
  padding: 0;
  border:  0;
}

.type-detail .extended-description .produkt-kat a {
  font-family:            var(--font-primary);
  font-size:              15px;
  font-weight:            600;
  color:                  var(--color-primary-dark);
  text-decoration:        underline;
  text-decoration-color:  rgba(15, 134, 184, 0.35);
  text-underline-offset:  3px;
}

.type-detail .extended-description .produkt-kat a:hover {
  color:                 var(--color-text);
  text-decoration-color: var(--color-text);
}

@media (max-width: 640px) {
  .type-detail .extended-description.more-param {
    padding:       var(--param-panel-padding-mob);
    border-radius: 16px;
  }

  .type-detail .extended-description .detail-parameters { font-size: 14px; }

  .type-detail .extended-description .detail-parameters tr,
  .type-detail .extended-description .detail-parameters th,
  .type-detail .extended-description .detail-parameters td {
    display: block;
    width:   auto;
  }

  .type-detail .extended-description .detail-parameters tr {
    border-top: 1px solid var(--param-linka);
    padding:    12px 0;
  }

  .type-detail .extended-description .detail-parameters tr:first-child {
    border-top:  0;
    padding-top: 0;
  }

  .type-detail .extended-description .detail-parameters th,
  .type-detail .extended-description .detail-parameters td {
    border-top:    0;
    padding:       0;
    padding-right: 0;
  }

  .type-detail .extended-description .detail-parameters th {
    font-size: 12px;
    color:     var(--param-popisek);
  }
}

.c-product-interconnection-detail-params__products.is-type--photos {
  gap: 10px !important;
}

.c-product-interconnection-detail-params__products.is-type--photos span.item-type-img {
  width:         80px !important;
  height:        80px !important;
  border-radius: 8px !important;
  border:        2px solid transparent !important;
  transition:    all 0.2s ease !important;
}

.c-product-interconnection-detail-params__products.is-type--photos a.is-current span.item-type-img {
  border: 2px solid #000000 !important;
}

.c-product-interconnection-detail-params__products a.is-current .item-type-img:before {
  display: none !important;
}

.c-product-interconnection-detail-params__products.is-type--photos .item-label {
  display: none !important;
}

.c-product-interconnection-detail-params__products.is-type--photos a:hover span.item-type-img {
  transform:  scale(1.1) !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15) !important;
}

.dm-coupon-div {
  border:           dashed 1px #1eace2 !important;
  border-radius:    0 !important;
  background-color: #e0ffff !important;
  color:            #000 !important;
  padding:          12px !important;
  font-size:        16px !important;
}

.dm-coupon-div span { color: #1eace2 !important; }

.dm-coupon-div::before {
  background-color: var(--color-primary) !important;
  color:            #fff !important;
  font-size:        16px !important;
}

input[type="checkbox"] + label[for="add-note"]::after {
  width:            22px;
  height:           22px;
  content:          "\e919";
  font-family:      ikony;
  color:            #fff;
  left:             0;
  font-size:        10px;
  text-align:       center;
  line-height:      22px;
  background-color: var(--color-primary);
}

#order-billing-methods .radio-wrapper.inactive-child { display: none; }

body.id-927 .content-inner table {
  border-collapse: collapse;
  width:           100%;
}

body.id-927 .content-inner th,
body.id-927 .content-inner td {
  padding: 10px;
  border:  1px solid var(--color-border);
}

body.id-927 .content-inner tr:nth-child(even) { background-color: #f2f2f2; }
body.id-927 .content-inner tr:hover           { background-color: #f5f5f5; }
body.id-927 .content-inner th                 { background-color: #f1f1f1; }

.type-post .content-inner { max-width: 1394px; }

main#content .news-item-detail {
  max-width:     900px;
  width:         100%;
  margin-left:   auto;
  margin-right:  auto;
  padding-left:  16px;
  padding-right: 16px;
}

@media (max-width: 860px) {
  main#content .news-item-detail {
    padding-left:  12px;
    padding-right: 12px;
  }
}

.pk-table,
.pk-table--plain {
  width:           100%;
  border-collapse: separate;
  border-spacing:  0;
  background:      #fff;
  border:          1px solid var(--pk-table-border);
  border-radius:   var(--pk-table-radius);
  overflow:        hidden;
  box-shadow:      var(--pk-table-shadow);
  font-size:       16px;
  line-height:     1.6;
}

.pk-table th,
.pk-table td {
  padding:        14px 16px;
  vertical-align: top;
  text-align:     left;
  color:          #334155;
  border-right:   1px solid var(--pk-table-border);
}

.pk-table th:last-child,
.pk-table td:last-child { border-right: 0; }

.pk-table thead th {
  background:   var(--pk-brand);
  color:        #fff;
  font-weight:  700;
  border-right: 1px solid rgba(255, 255, 255, .18);
}

.pk-table thead th:last-child { border-right: 0; }

.pk-table tbody th,
.pk-table tbody td { border-top: 1px solid var(--pk-table-border); }

.pk-table tbody tr:nth-child(even) td { background: var(--pk-table-row-bg); }
.pk-table tbody tr:hover td           { background: #f7fbff; }

.pk-table tbody th {
  width:          170px;
  background:     #f5fbff;
  color:          var(--pk-brand);
  font-weight:    700;
  text-transform: none;
  letter-spacing: 0;
}

.pk-table--plain td {
  padding:        14px 16px;
  vertical-align: top;
  color:          #334155;
  border-top:     1px solid var(--pk-table-border);
}

.pk-table--plain tr:first-child td     { border-top: 0; }
.pk-table--plain td + td               { border-left: 1px solid var(--pk-table-border); }
.pk-table--plain tr:nth-child(even) td { background: var(--pk-table-row-bg); }
.pk-table--plain tr:hover td           { background: #f7fbff; }

@media (max-width: 720px) {
  .pk-table,
  .pk-table--plain   { font-size: 15px; }
  .pk-table tbody th { width: auto; }
}

.pk-compare {
  --t:     #0f172a;
  --m:     #475569;
  --b:     #d7e7f5;
  --plus:  #15803d;
  --minus: #b91c1c;

  margin: 22px 0;
  color:  var(--t);
}

.pk-compare__table {
  display:               grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  border:                1.5px dashed var(--b);
  border-radius:         18px;
  background:            #fff;
  overflow:              hidden;
}

.pk-compare__col { padding: 18px 18px 16px; }

.pk-compare__col + .pk-compare__col { border-left: 1.5px dashed var(--b); }

.pk-compare__head {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             12px;
  margin:          0 0 12px;
}

.pk-compare__title {
  margin:         0;
  font-weight:    800;
  font-size:      1.75rem;
  line-height:    1.15;
  letter-spacing: -.015em;
  color:          var(--t);
}

.pk-compare__tag {
  padding:       6px 10px;
  border-radius: 999px;
  border:        1px solid rgba(14, 165, 233, .25);
  background:    rgba(14, 165, 233, .10);
  color:         var(--t);
  font-weight:   600;
  font-size:     1.02rem;
  white-space:   nowrap;
}

.pk-compare__list {
  list-style: none;
  margin:     0;
  padding:    0;
  display:    grid;
  gap:        10px;
}

.pk-compare__col .pk-compare__list + .pk-compare__list { margin-top: 14px; }

.pk-compare__item { display: flex; align-items: center; gap: 12px; }

.pk-compare__text {
  color:       #475569;
  font-size:   16px;
  line-height: 1.4;
}

.pk-compare__icon {
  width:         28px;
  height:        28px;
  border-radius: 999px;
  flex:          0 0 auto;
  display:       grid;
  place-items:   center;
  font-weight:   600;
  font-size:     22px;
  line-height:   1;
}

.pk-compare__item--plus .pk-compare__icon {
  color:      var(--plus);
  background: rgba(21, 128, 61, .08);
  border:     1.5px solid rgba(21, 128, 61, .25);
  transform:  translateY(-1px);
}

.pk-compare__item--minus .pk-compare__icon {
  color:      var(--minus);
  background: rgba(185, 28, 28, .08);
  border:     1.5px solid rgba(185, 28, 28, .25);
  transform:  translateY(-1.5px);
}

@media (max-width: 860px) {
  .pk-compare__table { grid-template-columns: 1fr; }

  .pk-compare__col + .pk-compare__col {
    border-left: 0;
    border-top:  1.5px dashed var(--b);
  }
}

.pk-bullets--dot {
  --lh:  1.65;
  --dot: 8px;

  list-style: none;
  margin:     0;
  padding:    0;
}

.pk-bullets--dot li {
  display:     flex;
  align-items: flex-start;
  gap:         10px;
  margin:      10px 0;
  line-height: var(--lh);
}

.pk-bullets--dot li::before {
  content:       "";
  width:         var(--dot);
  height:        var(--dot);
  border-radius: 50%;
  background:    var(--pk-accent);
  flex:          0 0 var(--dot);
  margin-top:    calc((1em * var(--lh) - var(--dot)) / 2);
}

.bullets-box,
.faq {
  padding:       16px 18px;
  margin:        18px 0;
  background:    #fbfdff;
  border:        1px solid var(--pk-table-border);
  border-left:   4px solid var(--pk-accent);
  border-radius: 14px;
}

.bullets-box ul { list-style: none; margin: 0; padding: 0; }

.bullets-box li {
  position:     relative;
  padding-left: 34px;
  line-height:  1.6;
  margin:       10px 0;
}

.bullets-box li::before {
  content:       "";
  position:      absolute;
  left:          0;
  top:           0.8em;
  transform:     translateY(-50%);
  width:         22px;
  height:        22px;
  border-radius: 50%;
  background:    #e6f6ff;
  border:        1px solid #9fd6f0;
}

.bullets-box li::after {
  content:       "";
  position:      absolute;
  left:          7px;
  top:           0.8em;
  transform:     translateY(-60%) rotate(-45deg);
  width:         9px;
  height:        5px;
  border-left:   3px solid var(--pk-accent);
  border-bottom: 3px solid var(--pk-accent);
}

.bullets-box.is-2cols ul {
  display:               grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap:            28px;
  row-gap:               10px;
}

.bullets-box.is-2cols li { margin: 0; }
.bullets-box.is-2cols li:nth-child(even)::after { left: 6px; }

@media (max-width: 640px) {
  .bullets-box.is-2cols ul { grid-template-columns: 1fr; }
}

.faq details + details   { border-top: 1px solid var(--pk-table-border); }
.faq details             { padding: 12px 0; }
.faq details:first-child { padding-top: 0; }
.faq details:last-child  { padding-bottom: 0; }

.faq summary {
  cursor:       pointer;
  font-weight:  700;
  line-height:  1.45;
  list-style:   none;
  position:     relative;
  padding-left: 34px;
  user-select:  none;
}

.faq summary::-webkit-details-marker { display: none; }

.faq summary::before {
  content:       "";
  position:      absolute;
  left:          0;
  top:           50%;
  transform:     translateY(-50%);
  width:         22px;
  height:        22px;
  border-radius: 50%;
  background:    #e6f6ff;
  border:        1px solid #9fd6f0;
}

.faq summary::after {
  content:       "";
  position:      absolute;
  left:          11px;
  top:           50%;
  transform:     translate(-50%, -50%);
  width:         10px;
  height:        2px;
  background:    var(--pk-accent);
  border-radius: 2px;
}

.faq details:not([open]) summary::after {
  background:
    linear-gradient(var(--pk-accent), var(--pk-accent)) center / 10px 2px no-repeat,
    linear-gradient(var(--pk-accent), var(--pk-accent)) center / 2px 10px no-repeat;
  width:  10px;
  height: 10px;
}

.faq .a {
  margin:       8px 0 0;
  padding-left: 34px;
  line-height:  1.65;
  color:        #334155;
}

.pk-steps {
  --brand:  #0ea5e9;
  --brand2: #0b84c6;
  --t:      #0f172a;
  --m:      #475569;
  --b:      #d7e7f5;
  --bg:     #f7fbff;

  margin: 22px 0;
  color:  var(--t);
}

.pk-steps__title {
  margin:         0 0 14px;
  font-size:      1.9rem;
  font-weight:    800;
  line-height:    1.2;
  letter-spacing: -.01em;
}

.pk-steps__list {
  list-style:            none;
  margin:                0;
  padding:               0;
  display:               grid;
  gap:                   14px;
  grid-template-columns: 1fr;
}

.pk-step {
  position:      relative;
  padding:       12px 16px;
  border:        1.5px dashed var(--b);
  border-radius: 16px;
  background:    var(--bg);
}

.pk-step__badge {
  position:      absolute;
  left:          24px;
  top:           -6px;
  width:         40px;
  height:        40px;
  border-radius: 999px;
  display:       grid;
  place-items:   center;
  background:    var(--brand);
  color:         #fff;
  font-weight:   900;
  border:        4px solid #fff;
  box-shadow:    0 8px 18px rgba(15, 23, 42, .12);
}

.pk-step__head {
  margin:         0 0 4px;
  padding-left:   60px;
  font-size:      1.6rem;
  font-weight:    900;
  line-height:    1.2;
  letter-spacing: -.01em;
}

.pk-step__text {
  margin:       0;
  padding-left: 60px;
  color:        var(--m);
  line-height:  1.5;
}

.pk-step:not(:last-child)::after {
  content:       "";
  position:      absolute;
  left:          44px;
  top:           34px;
  bottom:        -14px;
  width:         2px;
  background:    rgba(14, 165, 233, .35);
  border-radius: 2px;
}

body.type-post .pk-step {
  --_badge-left:  24px;
  --_badge-size:  40px;
  --_badge-gap:   4px;
  --_text-offset: calc(var(--_badge-left) + var(--_badge-size) + var(--_badge-gap));
}

body.type-post .pk-step__badge { left: var(--_badge-left) !important; }

body.type-post .pk-step__head,
body.type-post .pk-step__text { padding-left: var(--_text-offset) !important; }

body.type-post .pk-step__head { margin: 0 0 6px !important; }

body.type-post .pk-step__text,
body.type-post .pk-step__text p       { margin: 0 !important; }
body.type-post .pk-step__text > *     { margin: 0 !important; }
body.type-post .pk-step__text > * + * { margin-top: 8px !important; }
body.type-post .pk-step__text p:empty { display: none !important; }

body.type-post .pk-step:not(:last-child)::after {
  left:      calc(var(--_badge-left) + var(--_badge-size) / 2) !important;
  transform: translateX(-50%) !important;
}

ol.pk-steps {
  counter-reset: i;
  list-style:    none;
  padding:       0;
  margin:        16px 0;
}

ol.pk-steps > li {
  counter-increment: i;
  display:           flex;
  align-items:       center;
  gap:               12px;
  margin:            10px 0;
  line-height:       1.6;
}

ol.pk-steps > li::before {
  content:               counter(i);
  width:                 26px;
  height:                26px;
  border-radius:         999px;
  background:            var(--pk-brand);
  color:                 #fff;
  flex:                  0 0 26px;
  display:               flex;
  align-items:           center;
  justify-content:       center;
  font-weight:           700;
  font-size:             13px;
  line-height:           1;
  font-variant-numeric:  tabular-nums;
  font-feature-settings: "tnum" 1;
}

ol.pk-steps > li:nth-child(n+10)::before {
  padding-left: 1px;
  box-sizing:   border-box;
}

.tip-box {
  display:       flex;
  align-items:   flex-start;
  gap:           3px;
  padding:       14px 16px;
  margin:        16px 0;
  background:    var(--color-primary-bg);
  border:        2px solid #1EAAE0;
  border-radius: 10px;
}

.tip-box__icon {
  flex:        0 0 auto;
  line-height: 1;
  font-size:   16px;
  margin-top:  2px;
}

.tip-box__text {
  margin:      0;
  color:       var(--color-text);
  font-size:   16px;
  line-height: 1.45;
}

.tip-box__label { font-weight: 700; }

.tip-box__text a {
  color:                 #1EAAE0;
  font-weight:           700;
  text-decoration:       underline;
  text-underline-offset: 2px;
}

.tip-box__text a:hover { color: var(--color-primary-dark); }

.tip-box__text a:focus-visible {
  outline:        2px solid var(--pk-brand);
  outline-offset: 2px;
  border-radius:  4px;
}

body.type-post .tip-box__text,
body.type-post .tip-box__text p              { margin: 0 !important; }
body.type-post .tip-box__text > *:last-child { margin-bottom: 0 !important; }
body.type-post .tip-box__text p:empty        { display: none !important; }

.author-card {
  position:      relative;
  overflow:      hidden;
  padding:       22px 14px 16px 18px;
  background:    #fff;
  border:        1px solid #e7eded;
  border-radius: 14px;
  box-shadow:
    inset 4px 0 0 rgba(40, 173, 226, .10),
    0 10px 26px rgba(0, 0, 0, .06),
    0 2px 8px rgba(0, 0, 0, .04);
  width:         100%;
  max-width:     var(--authorMax);
  margin-inline: auto;
}

.author-card::before {
  content:        "";
  position:       absolute;
  left: 0; top: 0; bottom: 0;
  width:          var(--stripWidth);
  pointer-events: none;
  background: linear-gradient(
    90deg,
    rgba(0, 168, 238, .18),
    rgba(0, 168, 238, .10) 45%,
    rgba(0, 168, 238, .04) 70%,
    rgba(0, 168, 238, 0)
  );
  z-index: 0;
}

.author-card__stripe { display: none; }

.author-card__inner {
  position:              relative;
  z-index:               1;
  padding:               0 24px 0 20px;
  display:               grid;
  grid-template-columns: max-content 1fr;
  gap:                   var(--authorGap);
  align-items:           start;
}

.author-card__inner::before {
  content:       "";
  position:      absolute;
  top: 14px; bottom: 14px;
  left:          calc(var(--authorLeft) + var(--authorGap));
  width:         1px;
  border-radius: 2px;
  background:    rgba(0, 168, 238, .65);
}

.author-card__left {
  display:        flex;
  flex-direction: column;
  gap:            10px;
  align-items:    center;
  text-align:     center;
}

.author-card__meta { width: 100%; overflow-wrap: anywhere; }

.author-card__avatar {
  width:         116px;
  height:        116px;
  border-radius: 999px;
  overflow:      hidden;
  background:    #fff;
  border:        0;
  box-shadow:
    inset 0 0 0 3px #fff,
    inset 0 0 0 4px rgba(0, 0, 0, .08),
    0 10px 24px rgba(0, 0, 0, .08);
}

.author-card__avatar img {
  width:      100%;
  height:     100%;
  object-fit: cover;
  display:    block;
}

.author-card__quote {
  position:    relative;
  padding:     34px 0 4px 22px;
  line-height: 1.6;
  max-width:   var(--quoteMax);
}

.author-card__quote::before {
  content:     "\201C";
  position:    absolute;
  left:        22px;
  top:         6px;
  font-family: Georgia, "Times New Roman", serif;
  font-size:   54px;
  line-height: 1;
  color:       var(--pk-brand);
  opacity:     .30;
}

.author-card__quote p { margin: 0; font-style: italic; font-size: 13.5px; color: #2b3a3b; }
.author-card__name    { font-weight: 700; color: #1d2a2b; font-size: 16px; white-space: nowrap; }
.author-card__role    { margin-top: 0; color: #5a6a6b; font-size: 13px; line-height: 1.35; }

@media (max-width: 520px) {
  :root {
    --authorGap: 14px;
    --quoteMax:  100%;
  }

  .author-card {
    padding:   14px;
    max-width: 100%;
    box-shadow:
      inset 3px 0 0 rgba(40, 173, 226, .10),
      0 10px 26px rgba(0, 0, 0, .06),
      0 2px 8px rgba(0, 0, 0, .04);
  }

  .author-card::before { width: 6px; }

  .author-card__inner {
    grid-template-columns: 1fr;
    padding:               0 12px;
    gap:                   12px;
  }

  .author-card__inner::before { display: none; }

  .author-card__left {
    flex-direction:  row;
    align-items:     center;
    justify-content: flex-start;
    text-align:      left;
    gap:             12px;
  }

  .author-card__meta { width: auto; }

  .author-card__avatar {
    width:  74px;
    height: 74px;
    box-shadow:
      0 0 0 8px #fff,
      0 0 0 9px rgba(0, 0, 0, .08),
      0 8px 18px rgba(0, 0, 0, .10);
  }

  .author-card__name { white-space: normal; }

  .author-card__quote {
    padding:   26px 0 0 0;
    max-width: 100%;
  }

  .author-card__quote::before { left: 0; top: 2px; font-size: 46px; }
}

.pk-tiles {
  --t: #0f172a;
  --m: #475569;
  --b: #e5edf5;
  --a: #0ea5e9;

  display: grid;
  gap:     14px;
  margin:  18px 0;
}

@media (min-width: 900px) {
  .pk-tiles { grid-template-columns: repeat(3, 1fr); }
}

.pk-tile {
  border:        1px solid var(--b);
  border-radius: 16px;
  background:    #fff;
  padding:       16px 16px 14px;
  box-shadow:    0 8px 22px rgba(15, 23, 42, .06);
  color:         var(--t);
}

.pk-tile__icon {
  width:         38px;
  height:        38px;
  display:       grid;
  place-items:   center;
  border-radius: 12px;
  background:    rgba(14, 165, 233, .10);
  color:         var(--a);
  font-size:     18px;
  margin-bottom: 10px;
}

.pk-tile__title {
  font-size:      1.55rem !important;
  font-weight:    800 !important;
  line-height:    1.2;
  letter-spacing: -.01em;
  margin:         0 0 10px;
}

.pk-tile__text { margin: 0; color: var(--m); line-height: 1.45; }

.pk-quote {
  margin:        24px 0;
  padding:       22px 26px;
  background:    #f6fbff;
  border-radius: 14px;
  box-shadow:    var(--pk-table-shadow);
}

.pk-quote p    { margin: 0; font-style: italic; line-height: 1.85; color: #667085; }
.pk-quote cite { display: block; margin-top: 14px; font-style: normal; font-size: .9em; color: #8a94a6; }

.pk-split {
  --b:     #e6f2f8;
  --bg:    #fbfdff;
  --txt:   #0f172a;
  --muted: #475569;

  display:               grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap:                   28px;
  align-items:           start;
  margin:                26px 0;
}

.pk-split__media {
  background:    var(--bg);
  border:        1px solid var(--b);
  border-radius: 14px;
  overflow:      hidden;
  box-shadow:    var(--pk-table-shadow);
}

.pk-split__media img { display: block; width: 100%; height: auto; }

.pk-split__content h2,
.pk-split__content h3 {
  margin:         0 0 12px;
  color:          var(--txt);
  font-weight:    800;
  letter-spacing: .01em;
}

.pk-split__content h2 {
  font-size:      28px;
  line-height:    1.2;
  padding-bottom: 10px;
  border-bottom:  3px solid rgba(0, 168, 238, .25);
}

.pk-split__content p            { margin: 0 0 12px; color: var(--muted); line-height: 1.8; font-size: 16px; }
.pk-split__content p:last-child { margin-bottom: 0; }
.pk-split__content strong       { color: var(--txt); }

.pk-split.is-reverse .pk-split__media   { order: 2; }
.pk-split.is-reverse .pk-split__content { order: 1; }

@media (max-width: 900px) {
  .pk-split { grid-template-columns: 1fr; gap: 16px; }

  .pk-split.is-reverse .pk-split__media,
  .pk-split.is-reverse .pk-split__content { order: unset; }

  .pk-split__content h2 { font-size: 22px; }
}

.pk-perex {
  margin:        18px 0 24px;
  padding:       16px 18px;
  background:    #f6fbff;
  border-radius: 14px;
  box-shadow:    var(--pk-table-shadow);
  border-top:    3px solid var(--pk-brand);
}

.pk-perex p { margin: 0; font-size: 18px; line-height: 1.85; color: #475569; font-weight: 500; }

.reviews__grid {
  display:               grid;
  grid-template-columns: repeat(4, minmax(220px, 1fr));
  gap:                   18px;
}

.review-card {
  background:     #f5f5f5;
  border-radius:  14px;
  padding:        18px 20px;
  display:        flex;
  flex-direction: column;
}

.review-card__stars { color: #f6b300; font-size: 18px; letter-spacing: 2px; line-height: 1; margin-bottom: 8px; }
.review-card__text  { margin: 0 0 14px; color: #2b2f33; font-size: 14px; line-height: 1.45; flex: 1; }
.review-card__user  { display: flex; align-items: center; gap: 12px; margin-top: auto; }

.review-card__avatar {
  width:           34px;
  height:          34px;
  border-radius:   999px;
  border:          2px solid var(--pk-brand);
  color:           var(--pk-brand);
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  flex:            0 0 34px;
}

.review-card__name { font-weight: 700; color: #1f2327; font-size: 14px; line-height: 1.2; }
.review-card__date { color: #6b7280; font-size: 12px; margin-top: 2px; }

@media (max-width: 1100px) { .reviews__grid { grid-template-columns: repeat(2, minmax(220px, 1fr)); } }
@media (max-width: 560px)  { .reviews__grid { grid-template-columns: 1fr; } }

.pk-usp,
.pk-usp--3 {
  --bd:  #e7eded;
  --txt: #24242e;

  display: grid;
  margin:  16px 0;
}

.pk-usp {
  grid-template-columns: repeat(4, minmax(160px, 1fr));
  gap:                   16px;
}

.pk-usp--3 {
  grid-template-columns: repeat(3, minmax(180px, 1fr));
  gap:                   18px;
  margin:                22px 0 16px;
}

.pk-usp__item {
  background:    #fff;
  border:        1px solid var(--bd);
  border-radius: 14px;
  padding:       16px 14px;
  text-align:    center;
  box-shadow:    0 10px 28px rgba(15, 23, 42, .06);
}

.pk-usp__icon {
  width:           auto;
  height:          auto;
  margin:          0 auto 10px;
  border:          0;
  border-radius:   0;
  color:           var(--pk-brand);
  display:         flex;
  align-items:     center;
  justify-content: center;
  font-size:       20px;
  line-height:     1;
}

.pk-usp__title { font-weight: 800; color: var(--txt); font-size: 14px; line-height: 1.25; }
.pk-usp__text  { margin-top: 6px; color: #5b6470; font-size: 13px; line-height: 1.45; }

.pk-usp--3 .pk-usp__item {
  position:      relative;
  background:    linear-gradient(180deg, rgba(0, 168, 238, .06), #fff 70%);
  padding:       40px 16px 16px;
  transition:    background-color .2s, border-color .2s, box-shadow .2s;
}

.pk-usp--3 .pk-usp__item:hover {
  background:   rgba(0, 168, 238, .04);
  border-color: rgba(0, 168, 238, .22);
  box-shadow:   0 14px 34px rgba(15, 23, 42, .08);
}

.pk-usp--3 .pk-usp__icon {
  position:        absolute;
  left:            50%;
  top:             0;
  transform:       translate(-50%, -50%);
  width:           60px;
  height:          60px;
  border-radius:   999px;
  background:      #fff;
  border:          2px solid rgba(0, 168, 238, .35);
  display:         flex;
  align-items:     center;
  justify-content: center;
  box-shadow:      0 10px 22px rgba(15, 23, 42, .08);
}

.pk-usp--3 .pk-usp__icon img { width: 36px; height: 36px; object-fit: contain; display: block; }

@media (max-width: 900px) {
  .pk-usp    { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .pk-usp--3 { grid-template-columns: 1fr; }
}

@media (max-width: 520px) {
  .pk-usp { grid-template-columns: 1fr; }
}

.pk-proc {
  container-type: inline-size;
  container-name: pk-proc-pas;
  background:     var(--pk-proc-bg);
  border-radius:  16px;
  padding:        16px 18px 18px;
  margin:         18px 0;
  width:          100%;
  max-width:      100%;
  box-sizing:     border-box;
}

.pk-proc--tichy {
  background:    transparent;
  padding:       0;
  border-radius: 0;
  margin:        14px 0;
}

#content .pk-proc__nadpis,
.pk-proc__nadpis {
  font-family:    var(--font-primary);
  font-weight:    700;
  font-size:      16px;
  line-height:    1.25;
  letter-spacing: -0.005em;
  color:          var(--pk-hero-ink);
  margin:         0 0 12px;
  padding:        0;
  text-transform: none;
}

.pk-proc__cisla {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--pk-proc-cislo-min), 100%), 1fr));
  gap:                   12px 18px;
  margin:                0 0 14px;
  padding:               0 0 14px;
  border-bottom:         1px solid rgba(26, 26, 46, 0.10);
  list-style:            none;
  width:                 100%;
  box-sizing:            border-box;
}

#content .pk-proc__cisla,
#content .pk-proc__cisla > li {
  list-style:   none;
  padding-left: 0;
  background:   none;
}

#content .pk-proc__cisla > li::before,
.pk-proc__cisla > li::before { content: none; }

.pk-proc__cislo { min-width: 0; }

.pk-proc__hodnota {
  display:        block;
  font-family:    var(--font-primary);
  font-weight:    700;
  font-size:      clamp(19px, 2.2vw, 22px);
  line-height:    1.15;
  letter-spacing: -0.01em;
  color:          var(--pk-hero-ink);
  overflow-wrap:  break-word;
}

.pk-proc__popis {
  display:       block;
  margin-top:    4px;
  font-size:     12px;
  line-height:   1.4;
  color:         var(--pk-hero-ink-mute);
  overflow-wrap: break-word;
}

.pk-proc__cislo-odkaz {
  display:         block;
  text-decoration: none !important;
  color:           inherit;
  transition:      opacity 0.2s ease;
}

.pk-proc__cislo-odkaz:hover                  { opacity: 0.82; }
.pk-proc__cislo-odkaz:hover .pk-proc__popis  { text-decoration: underline; }

.pk-proc__cislo-odkaz:focus-visible {
  outline:        2px solid var(--pk-hero-accent);
  outline-offset: 3px;
  border-radius:  6px;
}

.pk-proc__mrizka {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--pk-proc-min), 100%), 1fr));
  gap:                   10px;
  margin:                0;
  padding:               0;
  list-style:            none;
  width:                 100%;
  max-width:             100%;
  box-sizing:            border-box;
}

.pk-proc--sest .pk-proc__mrizka {
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
}

@media (min-width: 900px) {
  .pk-proc--sest .pk-proc__mrizka { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.pk-proc--dva .pk-proc__mrizka {
  grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
  max-width:             none;
}

#content .pk-proc__mrizka,
#content .pk-proc__mrizka > li {
  list-style:  none;
  padding-left: 0;
  background:  none;
}

#content .pk-proc__mrizka > li::before,
.pk-proc__mrizka > li::before { content: none; }

.pk-proc__polozka {
  display:               grid;
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap:            10px;
  row-gap:               3px;
  align-content:         start;
  min-width:             0;
  background:            #ffffff;
  border:                1px solid rgba(26, 26, 46, 0.10);
  border-radius:         12px;
  padding:               12px 13px 13px;
  box-sizing:            border-box;

  transition:            border-color 0.2s ease, box-shadow 0.2s ease;
}

.pk-proc__polozka:hover {
  border-color: rgba(0, 168, 238, 0.35);
  box-shadow:   0 8px 20px rgba(15, 23, 42, 0.06);
}

.pk-proc__ikona {
  grid-row:        span 2;
  align-self:      start;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           34px;
  height:          34px;
  border-radius:   10px;
  background:      rgba(0, 168, 238, 0.10);
  color:           var(--pk-hero-accent);
  flex:            none;
}

.pk-proc__ikona svg {
  width:           18px;
  height:          18px;
  display:         block;
  stroke:          currentColor;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
}

.pk-proc__titulek {
  font-family:   var(--font-primary);
  font-weight:   700;
  font-size:     13.5px;
  line-height:   1.3;
  color:         var(--pk-hero-ink);
  align-self:    center;
  min-width:     0;
  overflow-wrap: break-word;
}

.pk-proc__text {
  font-family:   var(--font-primary);
  font-size:     12.5px;
  line-height:   1.45;
  color:         var(--pk-hero-ink-mute);
  min-width:     0;
  overflow-wrap: break-word;
}

.pk-proc__text a {
  color:                     var(--pk-hero-ink-soft);
  text-decoration:           underline;
  text-decoration-color:     rgba(0, 168, 238, 0.45);
  text-underline-offset:     2px;
  text-decoration-thickness: 1px;
  transition:                color 0.2s ease;
}

.pk-proc__text a:hover { color: var(--pk-hero-accent); }

#content .pk-proc a,
.pk-proc a {
  display:     inline !important;
  float:       none !important;
  width:       auto !important;
  max-width:   none !important;
  margin:      0 !important;
  padding:     0 !important;
  white-space: normal !important;
  line-height: inherit !important;
  background:  none !important;
  border:      0 !important;
}

@container pk-proc-pas (max-width: 420px) {
  .pk-proc__polozka { padding: 11px 12px; column-gap: 9px; }
  .pk-proc__nadpis  { font-size: 15px; }
}

@media (max-width: 520px) {
  .pk-proc          { padding: 14px 14px 16px; }
  .pk-proc__polozka { padding: 11px 12px; }
}

.pk-infoline {
  display:       flex;
  align-items:   flex-start;
  gap:           10px;
  padding:       12px 14px;
  border-radius: 14px;
  background:    transparent;
  border:        1px solid rgba(0, 168, 238, .35);
  color:         var(--color-text);
  line-height:   1.6;
}

.pk-infoline__icon {
  width:           26px;
  height:          26px;
  border-radius:   999px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  border:          2px solid rgba(0, 168, 238, .35);
  color:           var(--pk-brand);
  background:      #fff;
  font-weight:     700;
  font-size:       13px;
  line-height:     1;
  flex:            0 0 26px;
}

.pk-infoline strong { white-space: nowrap; }

.top-topics-wrap {
  display:       flex;
  align-items:   center;
  flex-wrap:     wrap;
  gap:           6px;
  margin-top:    -12px;
  margin-bottom: 16px;
}

.top-topics-wrap .top-topic {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  padding:         6px 14px;
  border-radius:   999px;
  background:      var(--color-bg-light);
  border:          1px solid var(--color-border);
  color:           var(--color-text) !important;
  text-decoration: none !important;
  font-size:       14px;
  line-height:     1.2;
  transition:      background-color .2s, border-color .2s, box-shadow .2s, transform .05s;
}

.top-topics-wrap .top-topic:hover {
  background:      #eeeeee;
  border-color:    var(--color-border);
  box-shadow:      0 2px 8px rgba(0, 0, 0, .08);
  transform:       translateY(-1px);
  text-decoration: none !important;
}

.top-topics-wrap .top-topic:focus-visible {
  outline:        2px solid #9e9e9e;
  outline-offset: 2px;
}

.top-topics-wrap .top-topic:active { transform: translateY(0); }

.top-topics-wrap .top-topic.is-active,
.top-topics-wrap .top-topic[aria-current="page"] {
  background:   var(--color-text);
  border-color: var(--color-text);
  color:        #fff !important;
  box-shadow:   none;
  transform:    none;
}

.pk-cta {
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  height:          44px;
  padding:         0 28px;
  border-radius:   999px;
  background:      var(--pk-brand);
  color:           #fff;
  border:          0;
  font-weight:     700;
  font-size:       14px;
  line-height:     1;
  text-transform:  uppercase;
  letter-spacing:  .04em;
  cursor:          pointer;
  transition:      background-color .2s ease;
}

.pk-cta:hover { background: var(--color-primary-dark); }

.pk-cta:focus-visible {
  outline:        3px solid rgba(0, 168, 232, .35);
  outline-offset: 3px;
}

a.pk-cta,
a.pk-cta * {
  color:           #fff;
  text-decoration: none !important;
  box-shadow:      none !important;
  border-bottom:   0 !important;
}

.kat-stitek,
.prod-stitek {
  display:          inline-block;
  padding:          0;
  font-family:      var(--font-primary);
  font-size:        11.5px;
  font-weight:      700;
  text-transform:   uppercase;
  letter-spacing:   0.12em;
  line-height:      1.2;
  color:            var(--color-primary);
  background-color: transparent;
  border:           none;
  border-radius:    0;
}

p:has(> .kat-stitek),
p:has(> .prod-stitek) {
  margin-bottom: 0 !important;
  margin-top:    0 !important;
}

.kat-hlavni-uvod {
  margin:      0;
  padding-top: 15px;
  color:       var(--kat-text);
  font-family: var(--font-primary);
  font-size:   var(--kat-hlavni-uvod-size);
  line-height: 1.5;
}

.kat-hlavni-uvod + .kat-hlavni-grid {
  padding-top: 8px;
}

.kat-hlavni-grid {
  display:         flex;
  flex-wrap:       wrap;
  gap:             var(--kat-hlavni-gap);
  padding:         15px 0;
  list-style:      none;
  margin:          0;
  justify-content: flex-start;
}

.kat-hlavni-item {
  flex:          0 0 var(--kat-hlavni-w);
  margin-bottom: 5px !important;
  display:       flex;
}

.kat-hlavni-link {
  display:          flex;
  flex-direction:   column;
  align-items:      center;
  justify-content:  center;
  position:         relative;
  background-color: var(--kat-hlavni-bg);
  border-radius:    var(--kat-hlavni-radius);
  padding:          12px 8px;
  min-height:       var(--kat-hlavni-h);
  flex:             1 1 auto;
  text-decoration:  none !important;
  box-sizing:       border-box;
  border:           1px solid var(--kat-hlavni-border);
  transition:       background-color 0.2s ease-in-out,
                    border-color     0.2s ease-in-out;
}

.kat-hlavni-link:hover {
  background-color: var(--kat-hlavni-bg-hover);
  border-color:     var(--kat-hlavni-border-hover);
}

.kat-hlavni-link:focus-visible {
  outline:        2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius:  var(--kat-hlavni-radius);
}

.kat-hlavni-link-blog {
  background-color: var(--kat-hlavni-bg-blog);
  border-color:     rgba(0, 168, 238, 0.30);
}

.kat-hlavni-link-blog:hover {
  background-color: var(--kat-hlavni-bg-blog-hover);
  border-color:     var(--kat-hlavni-border-hover);
}

.kat-hlavni-img-wrapper {
  display:         flex;
  align-items:     center;
  justify-content: center;
  height:          var(--kat-hlavni-img-h);
  width:           100%;
  margin-bottom:   8px;
}

.kat-hlavni-img-wrapper img {
  max-height:     100%;
  max-width:      100%;
  object-fit:     contain;
  display:        block;
  mix-blend-mode: multiply;
}

.kat-hlavni-link-znacka .kat-hlavni-img-wrapper {
  height:        auto;
  flex:          1 1 auto;
  margin-bottom: 0;
}

.kat-hlavni-link-znacka .kat-hlavni-img-wrapper img {
  max-height: var(--kat-hlavni-logo-h);
  max-width:  84%;
}

.kat-hlavni-link-serie .kat-hlavni-img-wrapper {
  height:  var(--kat-hlavni-serie-h);
  padding: 2px;
}

.kat-hlavni-link-serie .kat-hlavni-img-wrapper img {
  height:     100%;
  width:      100%;
  max-height: 100%;
  max-width:  100%;
  object-fit: contain;
}

.kat-hlavni-img-wrapper svg {
  height:     var(--kat-hlavni-ikona-velikost);
  width:      auto;
  max-width:  100%;
  display:    block;
  color:      var(--kat-hlavni-ikona);
  transition: color 0.2s ease-in-out;
}

.kat-hlavni-link:hover .kat-hlavni-img-wrapper svg {
  color: var(--kat-hlavni-ikona-hover);
}

.kat-hlavni-barva {
  display:       block;
  width:         var(--kat-hlavni-barva-size);
  height:        var(--kat-hlavni-barva-size);
  border-radius: 50%;
  border:        1px solid var(--prod-barva-border);
  box-sizing:    border-box;
}

.kat-hlavni-label {
  color:         var(--kat-hlavni-label-color);
  min-height:    2.4em;
  font-size:     var(--kat-hlavni-label-size);
  font-family:   var(--font-primary);
  font-weight:   700;
  text-align:    center;
  line-height:   1.2;
  margin:        0;
  word-wrap:     break-word;
  overflow-wrap: break-word;
}

.kat-hlavni-top {
  position:         absolute;
  top:              var(--kat-hlavni-top-offset);
  right:            var(--kat-hlavni-top-offset);
  padding:          0 3px;
  background-color: var(--kat-hlavni-top-bg);
  color:            var(--kat-hlavni-top-color);
  border-radius:    3px;
  font-family:      var(--font-primary);
  font-size:        var(--kat-hlavni-top-size);
  font-weight:      800;
  line-height:      1.6;
  letter-spacing:   0.3px;
  text-transform:   uppercase;
}

@media (hover: hover) {
  .kat-hlavni-top::after {
    content:          attr(data-tip);
    position:         absolute;
    top:              calc(100% + 6px);
    right:            0;
    width:            max-content;
    max-width:        var(--kat-hlavni-tip-w);
    padding:          6px 8px;
    background-color: var(--kat-hlavni-tip-bg);
    color:            var(--kat-hlavni-tip-color);
    border:           1px solid var(--kat-hlavni-top-border);
    border-radius:    8px;
    box-shadow:       0 4px 12px rgba(0, 0, 0, 0.10);
    font-size:        var(--kat-hlavni-tip-size);
    font-weight:      500;
    line-height:      1.35;
    letter-spacing:   0;
    text-transform:   none;
    text-align:       left;
    white-space:      normal;
    opacity:          0;
    visibility:       hidden;
    transition:       opacity 0.15s ease-in-out;
  }

  .kat-hlavni-top:hover::after {
    opacity:    1;
    visibility: visible;
  }
}

@media (max-width: 767px) {
  .kat-hlavni-grid {
    gap:             var(--kat-hlavni-gap-mobile);
    justify-content: flex-start;
  }

  .kat-hlavni-item {
    flex:      0 0 calc(33.333% - 4px);
    min-width: 0;
  }

  .kat-hlavni-link {
    min-height:    var(--kat-hlavni-h-mobile);
    padding:       8px 4px;
    border-radius: 10px;
  }

  .kat-hlavni-img-wrapper { height:    var(--kat-hlavni-img-h-mobile); }
  .kat-hlavni-label       { font-size: var(--kat-hlavni-label-size-mob); }

  .kat-hlavni-uvod  { font-size: var(--kat-hlavni-uvod-size-mob); }

  .kat-hlavni-barva {
    width:  var(--kat-hlavni-barva-size-mob);
    height: var(--kat-hlavni-barva-size-mob);
  }

  .kat-hlavni-top {
    top:       3px;
    right:     3px;
    padding:   0 2px;
    font-size: var(--kat-hlavni-top-size-mob);
  }

  .kat-hlavni-link-serie .kat-hlavni-img-wrapper      { height: var(--kat-hlavni-serie-h-mobile); }
  .kat-hlavni-link-znacka .kat-hlavni-img-wrapper     { height: auto; }
  .kat-hlavni-link-znacka .kat-hlavni-img-wrapper img { max-height: var(--kat-hlavni-logo-h-mobile); }
}

.kat-parametricka-link,
.prod-varianta-link,
.prod-kategorie__link {
  display:          inline-flex;
  align-items:      center;
  padding:          6px 13px;
  background-color: var(--pill-bg);
  border:           1px solid rgba(0, 168, 238, 0.18);
  border-radius:    50px;
  font-family:      var(--font-primary);
  font-size:        12px;
  font-weight:      600;
  color:            var(--kat-text);
  text-decoration:  none !important;
  white-space:      nowrap;
  transition:       background-color 0.2s ease-in-out,
                    border-color     0.2s ease-in-out,
                    color            0.2s ease-in-out;
}

.kat-parametricka-link:hover,
.prod-varianta-link:hover,
.prod-kategorie__link:hover {
  background-color: var(--pill-bg-hover);
  border-color:     var(--kat-blok-border-akcent);
}

.kat-parametricka-link:focus-visible,
.prod-varianta-link:focus-visible,
.prod-kategorie__link:focus-visible {
  outline:        2px solid var(--color-primary);
  outline-offset: 2px;
}

.kat-parametricka-link-blog       { background-color: var(--kat-hlavni-bg-blog); }
.kat-parametricka-link-blog:hover { background-color: #dceaf7; }

@media (max-width: 767px) {
  .kat-parametricka-link,
  .prod-varianta-link,
  .prod-kategorie__link {
    font-size: 11px;
    padding:   5px 11px;
  }
}

.kat-parametricka-grid {
  display:    flex;
  flex-wrap:  wrap;
  gap:        8px;
  padding:    12px 0 10px;
  list-style: none;
  margin:     0;
}

.kat-roz {
  margin: 18px 0 6px;
}

.kat-roz-grid {
  display:   flex;
  flex-wrap: wrap;
  gap:       8px;
  padding:   12px 0 10px;
}

#content .kat-roz-spoustec {
  display:            inline-flex;
  align-items:        center;
  gap:                8px;
  margin:             0;
  padding:            6px 13px;
  min-height:         0;
  background-color:   var(--pill-bg);
  border:             1px solid rgba(0, 168, 238, 0.18);
  border-radius:      50px;
  box-shadow:         none;
  font-family:        var(--font-primary);
  font-size:          12px;
  font-weight:        600;
  line-height:        1.5;
  color:              var(--kat-text);
  text-transform:     none;
  letter-spacing:     normal;
  white-space:        nowrap;
  cursor:             pointer;
  -webkit-appearance: none;
  appearance:         none;
  transition:         background-color 0.2s ease-in-out,
                      border-color     0.2s ease-in-out;
}

#content .kat-roz-spoustec::after {
  content:       "";
  width:         6px;
  height:        6px;
  margin-top:    -3px;
  border-right:  1.5px solid var(--color-primary-dark);
  border-bottom: 1.5px solid var(--color-primary-dark);
  transform:     rotate(45deg);
  flex-shrink:   0;
}

#content .kat-roz-spoustec:hover,
#content .kat-roz-spoustec[aria-expanded="true"] {
  background-color: var(--pill-bg-hover);
  border-color:     var(--kat-blok-border-akcent);
}

#content .kat-roz-spoustec:focus-visible {
  outline:        2px solid var(--color-primary);
  outline-offset: 2px;
}

@supports selector(:popover-open) {

  .kat-roz-okno {
    width:            min(var(--kat-roz-okno-w), calc(100vw - 32px));
    max-width:        none;
    max-height:       min(var(--kat-roz-okno-max-h), 720px);
    margin:           auto;
    padding:          0;
    background-color: var(--kat-blok-bg);
    border:           1px solid var(--kat-blok-border);
    border-radius:    var(--kat-roz-okno-radius);
    box-shadow:       var(--kat-roz-okno-stin);
    color:            var(--kat-text);
    overflow:         hidden;
  }

  .kat-roz-okno:popover-open {
    display:        flex;
    flex-direction: column;
  }

  .kat-roz-okno::backdrop {
    background-color: var(--kat-roz-backdrop);
  }

  body:has(.kat-roz-okno:popover-open) {
    overflow: hidden;
  }
}

.kat-roz-hlava {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  gap:             16px;
  padding:         16px 16px 14px 24px;
  border-bottom:   1px solid var(--kat-blok-linka);
  flex-shrink:     0;
}

#content .kat-roz-nadpis {
  margin:      0;
  font-family: var(--font-primary);
  font-size:   17px;
  font-weight: 700;
  line-height: 1.3;
  color:       var(--kat-text);
}

#content .kat-roz-zavrit {
  display:            inline-flex;
  align-items:        center;
  justify-content:    center;
  flex-shrink:        0;
  width:              var(--kat-roz-zavrit-size);
  height:             var(--kat-roz-zavrit-size);
  min-height:         0;
  margin:             0;
  padding:            0;
  background-color:   var(--pill-bg);
  border:             1px solid rgba(0, 168, 238, 0.18);
  border-radius:      50%;
  box-shadow:         none;
  color:              var(--kat-text);
  cursor:             pointer;
  -webkit-appearance: none;
  appearance:         none;
  transition:         background-color 0.2s ease-in-out,
                      border-color     0.2s ease-in-out;
}

#content .kat-roz-zavrit svg {
  width:  18px;
  height: 18px;
}

#content .kat-roz-zavrit:hover {
  background-color: var(--pill-bg-hover);
  border-color:     var(--kat-blok-border-akcent);
}

#content .kat-roz-zavrit:focus-visible {
  outline:        2px solid var(--color-primary);
  outline-offset: 2px;
}

.kat-roz-telo {
  min-height:                 0;
  padding:                    8px 24px 20px;
  overflow-y:                 auto;
  overscroll-behavior:        contain;
  -webkit-overflow-scrolling: touch;
}

.kat-roz-sekce {
  display:               grid;
  grid-template-columns: 80px 1fr;
  align-items:           start;
  gap:                   12px;
  padding:               4px 0;
  border-bottom:         1px solid var(--kat-blok-linka);
}

.kat-roz-sekce:last-child {
  border-bottom: none;
}

#content .kat-roz-podnadpis {
  margin:         0;
  padding-top:    19px;
  font-family:    var(--font-primary);
  font-size:      11.5px;
  font-weight:    700;
  line-height:    1.2;
  letter-spacing: 0.04em;
  color:          var(--kat-text-mute);
}

@supports not selector(:popover-open) {
  .kat-roz-grid,
  #content .kat-roz-zavrit {
    display: none;
  }

  .kat-roz-okno {
    margin-top: 12px;
  }

  .kat-roz-hlava,
  .kat-roz-telo {
    padding-left:  0;
    padding-right: 0;
  }
}

@media (max-width: 767px) {
  #content .kat-roz-spoustec {
    font-size: 11px;
    padding:   5px 11px;
  }

  .kat-roz-okno:popover-open {
    width:      calc(100vw - 20px);
    max-height: 85vh;
  }

  .kat-roz-hlava {
    padding: 12px 12px 12px 16px;
  }

  #content .kat-roz-nadpis {
    font-size: 15px;
  }

  .kat-roz-telo {
    padding: 4px 16px 16px;
  }

  .kat-roz-sekce {
    grid-template-columns: 1fr;
    gap:                   0;
  }

  #content .kat-roz-podnadpis {
    padding-top: 14px;
  }
}

.kat-tip {
  position:         relative;
  background-color: #f0faf3;
  border-radius:    8px;
  padding:          12px 16px 12px 44px;
  font-size:        14px;
  line-height:      1.6;
  color:            var(--color-text);
  margin:           16px 0;
}

.kat-tip::before {
  content:     '\1F4A1';
  position:    absolute;
  left:        14px;
  top:         12px;
  font-size:   16px;
  line-height: 1.6;
}

.kat-vedeli {
  position:         relative;
  margin:           20px 0;
  padding:          14px 18px 14px 50px;
  background-color: #fff8e6;
  border:           1px solid #f3e1a8;
  border-radius:    8px;
}

.kat-vedeli::before {
  content:     '\1F4AD';
  position:    absolute;
  left:        14px;
  top:         12px;
  font-size:   18px;
  line-height: 1.4;
}

.kat-vedeli__nadpis {
  margin:         0 0 4px;
  font-family:    var(--font-primary);
  font-size:      11px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color:          #8a6d1a;
  line-height:    1.3;
}

.kat-vedeli__text {
  margin:      0;
  font-family: var(--font-primary);
  font-size:   14px;
  line-height: 1.6;
  color:       var(--color-text);
}

@media (max-width: 767px) {
  .kat-vedeli         { padding: 12px 14px 12px 42px; }
  .kat-vedeli::before { font-size: 16px; left: 12px; top: 12px; }
  .kat-vedeli__text   { font-size: 13px; }
}

.kat-faq__ikona,
.kat-pruvodce__ikona {
  flex-shrink:   0;
  display:       inline-block;
  width:         28px;
  height:        28px;
  border:        1px solid var(--kat-blok-border);
  border-radius: 50%;
  background:    #ffffff;
  position:      relative;
  transition:    transform    0.25s ease-in-out,
                 border-color 0.15s ease-in-out,
                 background   0.15s ease-in-out;
}

.kat-faq__ikona::after,
.kat-pruvodce__ikona::after {
  content:       '';
  position:      absolute;
  top:           50%;
  left:          50%;
  width:         7px;
  height:        7px;
  border-right:  2px solid var(--kat-text-mute);
  border-bottom: 2px solid var(--kat-text-mute);
  transform:     translate(-50%, -65%) rotate(45deg);
  transition:    border-color 0.15s ease-in-out,
                 transform    0.25s ease-in-out;
}

.kat-faq { margin: 28px 0; padding: 0; }

.kat-faq__nadpis {
  font-family:    var(--font-primary);
  font-size:      22px;
  font-weight:    700;
  line-height:    1.25;
  letter-spacing: -0.01em;
  color:          var(--kat-text);
  margin:         0 0 14px;
  padding:        0;
}

.kat-faq__seznam {
  display:        flex;
  flex-direction: column;
  gap:            8px;
  margin:         0;
  padding:        0;
}

.kat-faq__polozka {
  border:        1px solid var(--kat-blok-border);
  border-radius: var(--kat-blok-radius);
  background:    var(--kat-blok-bg-tlumeny);
  overflow:      hidden;
  transition:    border-color 0.15s ease-in-out,
                 background   0.15s ease-in-out;
}

.kat-faq__polozka:hover { border-color: var(--kat-blok-border-akcent); }

.kat-faq__polozka:has(.kat-faq__otazka[aria-expanded="true"]) {
  border-color: var(--kat-blok-border-akcent);
  background:   var(--kat-blok-bg);
}

.kat-faq__otazka {
  display:       flex;
  align-items:   center;
  gap:           12px;
  width:         100%;
  box-sizing:    border-box;
  padding:       14px 18px !important;
  background:    none;
  border:        none;
  cursor:        pointer;
  text-align:    left;
  font-family:   var(--font-primary);
  font-size:     15px;
  font-weight:   700;
  line-height:   1.4;
  color:         var(--kat-text);
  transition:    color 0.15s ease-in-out;
  min-width:     0;
  overflow-wrap: break-word;
  word-break:    break-word;
}

.kat-faq__otazka:hover { color: var(--color-primary); }

.kat-faq__otazka:focus-visible {
  outline:        2px solid var(--color-primary);
  outline-offset: -2px;
  border-radius:  var(--kat-blok-radius);
}

.kat-faq__otazka[aria-expanded="true"] .kat-faq__ikona {
  border-color: var(--color-primary);
  background:   #e8f6fd;
}

.kat-faq__otazka[aria-expanded="true"] .kat-faq__ikona::after {
  border-color: var(--color-primary);
  transform:    translate(-50%, -30%) rotate(225deg);
}

.kat-faq__otazka:hover .kat-faq__ikona,
.kat-faq__otazka:hover .kat-faq__ikona::after {
  border-color: var(--color-primary);
}

.kat-faq__polozka.je-zabaleno .kat-faq__odpoved { display: none; }

.kat-faq__odpoved {
  margin:      0;
  padding:     0 18px 18px 58px !important;
  font-family: var(--font-primary);
  font-size:   14.5px;
  line-height: 1.7;
  color:       var(--kat-text-soft);
}

.kat-faq__odpoved p             { margin: 0 0 10px; }
.kat-faq__odpoved p:last-child  { margin-bottom: 0; }

.kat-faq__odpoved .kat-faq__autor {
  display:     block;
  margin:      14px 0 0;
  padding-top: 12px;
  border-top:  1px solid var(--kat-blok-linka);
  font-family: var(--font-primary);
  font-size:   13px;
  line-height: 1.4;
}

.kat-faq__autor-jmeno        { font-weight: 700; color: var(--kat-text); }
.kat-faq__autor-jmeno::after { content: ', '; font-weight: 400; color: var(--kat-text-mute); }
.kat-faq__autor-role         { font-weight: 400; color: var(--kat-text-mute); }

.kat-faq__odpoved a,
.kat-pruvodce__obsah a,
.kat-postup__text a,
.kat-tip-expert__text a {
  color:                     inherit;
  text-decoration:           underline;
  text-decoration-color:     rgba(0, 168, 238, 0.45);
  text-underline-offset:     3px;
  text-decoration-thickness: 1px;
  transition:                color 0.2s ease;
}

.kat-faq__odpoved a:hover,
.kat-pruvodce__obsah a:hover,
.kat-postup__text a:hover,
.kat-tip-expert__text a:hover { color: var(--color-primary); }

@media (max-width: 767px) {
  .kat-faq__nadpis { font-size: 17px; }

  .kat-faq__otazka {
    font-size: 14px;
    padding:   12px 14px;
    gap:       10px;
  }

  .kat-faq__ikona { width: 26px; height: 26px; }

  .kat-faq__odpoved {
    font-size: 13px;
    padding:   0 14px 14px 50px !important;
  }

  .kat-faq__odpoved .kat-faq__autor { font-size: 11px; }
}

@media (min-width: 768px) and (max-width: 1280px) {
  .kat-faq__otazka { font-size: 14px; }
}

.kat-pruvodce {
  margin:        28px 0;
  padding:       28px 32px 26px;
  border:        1px solid transparent;
  border-radius: var(--kat-blok-radius-lg);
  background:    var(--pk-hero-bg);
  box-sizing:    border-box;
  transition:    background 0.15s ease-in-out;
}

.kat-pruvodce__kicker {
  display:        inline-block;
  font-family:    var(--font-primary);
  font-size:      11.5px;
  font-weight:    700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height:    1;
  color:          var(--color-primary);
  background:     #ffffff;
  border-radius:  999px;
  padding:        9px 16px;
}

.kat-pruvodce__hlavicka {
  display:     flex;
  align-items: center;
  gap:         14px;
  margin:      18px 0 0;
}

.kat-pruvodce__ikona-kniha {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           48px;
  height:          48px;
  border-radius:   var(--kat-ikona-radius);
  background:      var(--kat-ikona-bg);
  color:           var(--color-primary);
  font-size:       18px;
  line-height:     1;
}

.kat-pruvodce__ikona-kniha svg {
  width:           24px;
  height:          24px;
  stroke:          currentColor;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.kat-pruvodce__ikona-kniha:empty::before { content: '\1F4A1'; }

.kat-pruvodce__nadpis {
  font-family:    var(--font-primary);
  font-size:      24px;
  font-weight:    700;
  line-height:    1.2;
  letter-spacing: -0.01em;
  color:          var(--kat-text);
  margin:         0;
  padding:        0;
}

.kat-pruvodce__perex {
  font-family: var(--font-primary);
  font-size:   15px;
  line-height: 1.7;
  color:       var(--kat-text-soft);
  margin:      16px 0 0;
  max-width:   none;
}

.kat-pruvodce__body {
  list-style: none;
  margin:     18px 0 0;
  padding:    0;
}

.kat-pruvodce__bod {
  display:     flex;
  align-items: flex-start;
  gap:         14px;
  padding:     14px 0;
  margin:      0;
  border-top:  1px solid var(--kat-blok-linka);
}

.kat-pruvodce__bod:first-child { border-top: none; }

.kat-pruvodce__fajfka {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           26px;
  height:          26px;
  margin-top:      1px;
  border-radius:   50%;
  background:      #ffffff;
  color:           var(--color-primary);
}

.kat-pruvodce__fajfka svg {
  width:           14px;
  height:          14px;
  stroke:          currentColor;
  fill:            none;
  stroke-width:    2.4;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.kat-pruvodce__bod-text {
  font-family: var(--font-primary);
  font-size:   14.5px;
  line-height: 1.65;
  color:       var(--kat-text-soft);
  min-width:   0;
}

.kat-pruvodce__bod-text strong { color: var(--kat-text); font-weight: 700; }

.kat-pruvodce.je-zabaleno .kat-pruvodce__obsah { display: none; }

.kat-pruvodce__obsah {
  margin:     22px 0 0;
  padding:    24px 0 0;
  border-top: 1px solid var(--kat-blok-linka);
}

.kat-pruvodce__sekce + .kat-pruvodce__sekce { margin-top: 24px; }

.kat-pruvodce__podnadpis {
  font-family:    var(--font-primary);
  font-size:      12px;
  font-weight:    700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  line-height:    1.3;
  color:          var(--color-primary);
  margin:         0 0 10px;
  padding:        0;
}

.kat-pruvodce__obsah p {
  font-family: var(--font-primary);
  font-size:   14.5px;
  line-height: 1.7;
  color:       var(--kat-text-soft);
  margin:      0 0 12px;
}

.kat-pruvodce__obsah p:last-child { margin-bottom: 0; }

.kat-pruvodce__seznam {
  margin:      0 0 12px;
  padding:     0 0 0 20px;
  font-family: var(--font-primary);
  font-size:   14.5px;
  line-height: 1.7;
  color:       var(--kat-text-soft);
}

.kat-pruvodce__seznam li            { margin-bottom: 6px; }
.kat-pruvodce__seznam li:last-child { margin-bottom: 0; }

.kat-pruvodce__tabulka-wrapper {
  overflow-x:     auto;
  margin:         16px 0;
  border:         none;
  border-radius:  var(--kat-blok-radius);
  background:     #ffffff;
}

.kat-pruvodce__tabulka {
  width:           100%;
  border-collapse: collapse;
  font-family:     var(--font-primary);
  font-size:       13.5px;
  line-height:     1.6;
  color:           var(--kat-text-soft);
}

.kat-pruvodce__tabulka th {
  background:     var(--color-primary);
  color:          #ffffff;
  font-size:      11.5px;
  font-weight:    700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-align:     left;
  padding:        13px 18px;
  white-space:    nowrap;
}

.kat-pruvodce__tabulka th:first-child { border-top-left-radius:  var(--kat-blok-radius); }
.kat-pruvodce__tabulka th:last-child  { border-top-right-radius: var(--kat-blok-radius); }

.kat-pruvodce__tabulka td {
  padding:        13px 18px;
  border-bottom:  1px solid var(--kat-blok-linka);
  vertical-align: top;
}

.kat-pruvodce__tabulka td:first-child {
  font-weight: 700;
  color:       var(--kat-text);
  white-space: nowrap;
}

.kat-pruvodce__tabulka tr:last-child td  { border-bottom: none; }
.kat-pruvodce__tabulka tbody tr:hover td { background: var(--pk-hero-bg); }

.kat-pruvodce__cta {
  margin:        22px 0 0;
  padding:       22px 24px;
  background:    #ffffff;
  border-radius: var(--kat-blok-radius);
}

.kat-pruvodce__cta-text {
  font-family: var(--font-primary);
  font-size:   15px;
  font-weight: 700;
  line-height: 1.5;
  color:       var(--kat-text);
  margin:      0 0 14px;
}

.kat-pruvodce__cta-btn {
  display:         inline-flex;
  align-items:     center;
  gap:             9px;
  padding:         12px 22px;
  border-radius:   999px;
  background:      var(--color-primary);
  color:           #ffffff !important;
  font-family:     var(--font-primary);
  font-size:       14.5px;
  font-weight:     700;
  line-height:     1;
  text-decoration: none !important;
  transition:      transform 0.2s ease;
}

.kat-pruvodce__cta-btn:hover { transform: translateY(-2px); }

.kat-pruvodce__cta-btn svg {
  width:           17px;
  height:          17px;
  stroke:          currentColor;
  fill:            none;
  stroke-width:    1.9;
  stroke-linecap:  round;
  stroke-linejoin: round;
  flex:            none;
}

.kat-pruvodce__prepinac {
  display:         inline-flex;
  align-items:     center;
  gap:             10px;
  margin:          22px 0 0;
  padding:         12px 22px;
  background:      #ffffff;
  border:          1px solid var(--kat-blok-border);
  border-radius:   999px;
  cursor:          pointer;
  font-family:     var(--font-primary);
  font-size:       14.5px;
  font-weight:     700;
  line-height:     1;
  color:           var(--color-primary);
  transition:      border-color 0.15s ease-in-out, transform 0.15s ease-in-out;
}

.kat-pruvodce__prepinac:hover {
  border-color: var(--kat-blok-border-akcent);
  transform:    translateY(-2px);
}

.kat-pruvodce__prepinac:focus-visible {
  outline:        2px solid var(--color-primary);
  outline-offset: 2px;
}

.kat-pruvodce.je-zabaleno .kat-pruvodce__prepinac-text--skryt,
.kat-pruvodce:not(.je-zabaleno) .kat-pruvodce__prepinac-text--zobrazit { display: none; }

.kat-pruvodce__prepinac .kat-pruvodce__ikona {
  width:  22px;
  height: 22px;
  border: none;
  background: transparent;
}

.kat-pruvodce__prepinac .kat-pruvodce__ikona::after {
  border-color: var(--color-primary);
  width:        7px;
  height:       7px;
}

.kat-pruvodce:not(.je-zabaleno) .kat-pruvodce__ikona::after {
  border-color: var(--color-primary);
  transform:    translate(-50%, -30%) rotate(225deg);
}

.kat-pruvodce__krok { padding-top: 22px; }

.kat-pruvodce__krok + .kat-pruvodce__krok { border-top: 1px solid var(--kat-blok-linka); }

.kat-pruvodce__krok-nadpis {
  display:     flex;
  align-items: center;
  gap:         10px;
  font-family: var(--font-primary);
  font-size:   15.5px;
  font-weight: 700;
  color:       var(--kat-text);
  margin:      0 0 10px;
  padding:     0;
}

.kat-pruvodce__cislo {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           28px;
  height:          28px;
  border-radius:   50%;
  background:      var(--color-primary);
  color:           #ffffff;
  font-size:       13px;
  font-weight:     700;
  line-height:     1;
}

@media (max-width: 767px) {
  .kat-pruvodce              { padding: 20px 18px; }
  .kat-pruvodce__nadpis      { font-size: 19px; }
  .kat-pruvodce__hlavicka    { gap: 12px; margin-top: 16px; }
  .kat-pruvodce__ikona-kniha { width: 42px; height: 42px; }
  .kat-pruvodce__ikona-kniha svg { width: 21px; height: 21px; }
  .kat-pruvodce__perex       { font-size: 14px; }
  .kat-pruvodce__bod         { gap: 11px; padding: 12px 0; }
  .kat-pruvodce__bod-text    { font-size: 13.5px; }
  .kat-pruvodce__obsah p,
  .kat-pruvodce__seznam      { font-size: 13.5px; }
  .kat-pruvodce__cta         { padding: 18px; }
  .kat-pruvodce__cta-text    { font-size: 14px; }

  .kat-pruvodce__prepinac,
  .kat-pruvodce__cta-btn     { width: 100%; justify-content: center; box-sizing: border-box; }

  .kat-pruvodce__tabulka th,
  .kat-pruvodce__tabulka td  { font-size: 12.5px; padding: 10px 12px; }
}

.kat-postup {
  margin:        28px 0;
  padding:       22px 24px;
  border:        1px solid var(--kat-blok-border);
  border-radius: var(--kat-blok-radius);
  background:    var(--kat-blok-bg);
}

.kat-postup__nadpis {
  font-family: var(--font-primary);
  font-size:   17px;
  font-weight: 700;
  color:       var(--kat-text);
  margin:      0 0 14px;
  padding:     0;
  line-height: 1.4;
}

.kat-postup__seznam { list-style: none; margin: 0; padding: 0; }

.kat-postup__krok {
  display:     flex;
  align-items: flex-start;
  gap:         14px;
  padding:     14px 0;
  border-top:  1px solid var(--kat-blok-linka);
  margin:      0;
}

.kat-postup__krok:first-child { padding-top: 4px; border-top: none; }
.kat-postup__krok:last-child  { padding-bottom: 0; }

.kat-postup__cislo {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           28px;
  height:          28px;
  border-radius:   50%;
  background:      var(--color-primary);
  color:           #ffffff;
  font-family:     var(--font-primary);
  font-size:       13px;
  font-weight:     700;
  line-height:     1;
  margin-top:      1px;
}

.kat-postup__obsah { flex: 1; min-width: 0; }

.kat-postup__titulek {
  font-family: var(--font-primary);
  font-size:   15.5px;
  font-weight: 700;
  color:       var(--kat-text);
  margin:      0 0 6px;
  line-height: 1.4;
}

.kat-postup__text {
  font-family: var(--font-primary);
  font-size:   14.5px;
  line-height: 1.7;
  color:       var(--kat-text-soft);
  margin:      0;
}

.kat-postup__text + .kat-postup__text { margin-top: 8px; }

@media (max-width: 767px) {
  .kat-postup          { padding: 16px; }
  .kat-postup__nadpis  { font-size: 15px; margin: 0 0 12px; }
  .kat-postup__krok    { gap: 10px; padding: 12px 0; }
  .kat-postup__cislo   { width: 26px; height: 26px; font-size: 12px; }
  .kat-postup__titulek { font-size: 14px; }
  .kat-postup__text    { font-size: 13px; }
}

.kat-identita {
  margin:        32px 0 16px;
  padding:       20px 24px;
  border:        1px solid var(--color-border);
  border-left:   3px solid var(--color-primary);
  border-radius: 10px;
  background:    var(--kat-hlavni-bg);
}

.kat-identita__text { margin-bottom: 16px; }

.kat-identita__text p {
  font-family: var(--font-primary);
  font-size:   14px;
  line-height: 1.75;
  color:       var(--color-text);
  margin:      0;
}

.kat-identita__benefity {
  display:     flex;
  flex-wrap:   wrap;
  gap:         8px;
  list-style:  none;
  margin:      0;
  padding:     16px 0 0;
  border-top:  1px solid var(--color-border);
}

.kat-identita__benefit {
  display:       inline-flex;
  align-items:   center;
  gap:           6px;
  padding:       6px 14px;
  background:    #ffffff;
  border:        1px solid var(--color-border);
  border-radius: 50px;
  font-family:   var(--font-primary);
  font-size:     13px;
  font-weight:   500;
  color:         var(--color-text);
  white-space:   nowrap;
}

.kat-identita__benefit-ikona { font-size: 14px; line-height: 1; flex-shrink: 0; }

@media (max-width: 767px) {
  .kat-identita          { padding: 16px; }
  .kat-identita__text p  { font-size: 13px; }
  .kat-identita__benefit { font-size: 12px; padding: 5px 11px; }
}

.kat-citace {
  position:      relative;
  margin:        24px 0;
  padding:       18px 24px 18px 60px;
  border:        1px solid var(--color-border);
  border-left:   3px solid var(--color-primary);
  border-radius: 10px;
  background:    #fafbfc;
}

.kat-citace::before {
  content:     '\201C';
  position:    absolute;
  top:         4px;
  left:        18px;
  font-family: Georgia, 'Times New Roman', serif;
  font-size:   54px;
  line-height: 1;
  color:       var(--color-primary);
  opacity:     0.6;
}

.kat-citace__text { margin: 0 0 14px; padding: 0; border: none; }

.kat-citace__text p {
  font-family: var(--font-primary);
  font-size:   15px;
  line-height: 1.7;
  color:       var(--color-text);
  font-style:  italic;
  margin:      0 0 8px;
}

.kat-citace__text p:last-child { margin-bottom: 0; }

.kat-citace__autor {
  display:     block;
  font-family: var(--font-primary);
  font-size:   13px;
  line-height: 1.4;
  padding-top: 10px;
  border-top:  1px solid #ebebec;
  font-style:  normal;
}

.kat-citace__jmeno { display: block; font-weight: 700; color: var(--color-text); }
.kat-citace__role  { display: block; margin-top: 2px; font-weight: 400; color: #6b7280; }

@media (max-width: 767px) {
  .kat-citace          { padding: 14px 16px 14px 46px; }
  .kat-citace::before  { font-size: 42px; top: 2px; left: 14px; }
  .kat-citace__text p  { font-size: 14px; }
  .kat-citace__autor   { font-size: 12px; }
}

.kat-tip-expert {
  margin:        28px 0;
  padding:       24px 28px;
  background:    var(--pk-hero-bg);
  border-radius: var(--kat-blok-radius-lg);
  box-sizing:    border-box;
}

.kat-tip-expert__hlavicka {
  display:       flex;
  align-items:   center;
  gap:           12px;
  margin-bottom: 14px;
}

.kat-tip-expert__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           42px;
  height:          42px;
  border-radius:   var(--kat-ikona-radius);
  background:      var(--color-primary);
}

.kat-tip-expert__ikona svg {
  width:           21px;
  height:          21px;
  stroke:          #ffffff;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
}

.kat-tip-expert__nadpis {
  font-family:    var(--font-primary);
  font-size:      17px;
  font-weight:    700;
  line-height:    1.2;
  color:          var(--pk-hero-ink);
  letter-spacing: 0.01em;
}

.kat-tip-expert__text {
  margin:      0;
  font-family: var(--font-primary);
  font-size:   15px;
  line-height: 1.75;
  color:       var(--pk-hero-ink-soft);
}

.kat-tip-expert__autor {
  margin:      14px 0 0;
  padding-top: 14px;
  border-top:  1px solid var(--kat-blok-linka);
  font-family: var(--font-primary);
  font-size:   13px;
  line-height: 1.4;
}

.kat-tip-expert__autor-jmeno { font-weight: 700; color: var(--pk-hero-ink); }
.kat-tip-expert__autor-role  { font-weight: 400; color: var(--pk-hero-ink-mute); }

@media (max-width: 767px) {
  .kat-tip-expert            { padding: 18px; border-radius: 16px; }
  .kat-tip-expert__nadpis    { font-size: 16px; }
  .kat-tip-expert__text      { font-size: 14px; }
  .kat-tip-expert__ikona     { width: 38px; height: 38px; }
  .kat-tip-expert__ikona svg { width: 19px; height: 19px; }
}

.p-short-description div:has(> .kat-stitek),
.p-short-description div:has(> .prod-stitek),
.short-description div:has(> .kat-stitek),
.short-description div:has(> .prod-stitek) {
  display:       block;
  width:         100%;
  margin-top:    16px;
  margin-bottom: 6px;
}

.p-short-description div:has(> .kat-stitek):first-child,
.p-short-description div:has(> .prod-stitek):first-child,
.short-description div:has(> .kat-stitek):first-child,
.short-description div:has(> .prod-stitek):first-child {
  margin-top: 0;
}

.prod-vyrobce__toggle {
  cursor:              pointer;
  display:             inline-flex !important;
  align-items:         center;
  gap:                 6px;
  user-select:         none;
  -webkit-user-select: none;
  transition:          background-color 0.15s ease-in-out,
                       border-color     0.15s ease-in-out,
                       color            0.15s ease-in-out;
}

.prod-vyrobce__toggle::after {
  content:       '';
  display:       inline-block;
  width:         6px;
  height:        6px;
  border-right:  1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform:     rotate(45deg) translateY(-2px);
  transition:    transform 0.2s ease-in-out;
  flex-shrink:   0;
  margin-left:   2px;
}

.prod-vyrobce__toggle[aria-expanded="true"]::after {
  transform: rotate(225deg) translateY(-2px);
}

.prod-vyrobce__toggle:hover {
  background-color: var(--pill-bg-hover);
  border-color:     #999;
}

.prod-vyrobce__toggle:focus-visible {
  outline:        2px solid var(--color-primary);
  outline-offset: 2px;
  border-radius:  50px;
}

.prod-vyrobce__obsah.je-zabaleno { display: none; }

.prod-vyrobce__obsah {
  margin-top:    12px;
  padding:       14px 18px;
  background:    var(--kat-hlavni-bg);
  border:        1px solid var(--color-border);
  border-radius: 8px;
  font-family:   var(--font-primary);
  font-size:     13px;
  line-height:   1.7;
  color:         var(--color-text);
}

.prod-vyrobce__obsah p            { margin: 0 0 8px; }
.prod-vyrobce__obsah p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
  .prod-vyrobce__obsah { font-size: 12px; padding: 12px 14px; }
}

.prod-varianta-grid {
  display:    flex;
  flex-wrap:  wrap;
  gap:        8px;
  padding:    10px 0;
  list-style: none;
  margin:     0;
}

.prod-kategorie { margin: 32px 0 16px; padding: 0; }

.prod-kategorie__nadpis {
  font-family:    var(--font-primary);
  font-size:      11px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color:          #aaa;
  margin:         0 0 10px;
  padding:        0;
}

.prod-kategorie__grid {
  display:    flex;
  flex-wrap:  wrap;
  gap:        8px;
  list-style: none;
  margin:     0;
  padding:    0;
}

.prod-rozmery-grid,
.prod-provedeni-grid,
.prod-verze-grid,
.prod-slim-grid,
.prod-konstrukce-grid,
.prod-barvy-text-grid,
.prod-umyvadlo-grid {
  display:    flex;
  flex-wrap:  wrap;
  gap:        10px;
  padding:    10px 0 4px;
  list-style: none;
  margin:     0;
}

.prod-rozmery-item,
.prod-provedeni-item,
.prod-verze-item,
.prod-slim-item,
.prod-konstrukce-item,
.prod-barvy-text-item,
.prod-umyvadlo-item {
  flex:      0 0 auto;
  margin:    0;
  min-width: 0;
}

.prod-rozmery-link,
.prod-provedeni-link,
.prod-verze-link,
.prod-slim-link,
.prod-konstrukce-link,
.prod-barvy-text-link,
.prod-umyvadlo-link {
  display:          inline-flex;
  align-items:      center;
  justify-content:  center;
  padding:          11px 18px;
  background-color: var(--prod-rozmery-bg);
  border:           2px solid transparent;
  border-radius:    var(--prod-rozmery-radius);
  font-family:      var(--font-primary);
  font-size:        14px;
  font-weight:      700;
  line-height:      1.2;
  color:            var(--prod-rozmery-text);
  text-decoration:  none !important;
  white-space:      nowrap;
  box-sizing:       border-box;
  transition:       background-color 0.18s ease-in-out,
                    border-color     0.18s ease-in-out;
}

a.prod-rozmery-link:hover,
a.prod-provedeni-link:hover,
a.prod-verze-link:hover,
a.prod-slim-link:hover,
a.prod-konstrukce-link:hover,
a.prod-barvy-text-link:hover,
a.prod-umyvadlo-link:hover {
  background-color: var(--prod-rozmery-bg-hover);
}

.prod-rozmery-link:focus-visible,
.prod-provedeni-link:focus-visible,
.prod-verze-link:focus-visible,
.prod-slim-link:focus-visible,
.prod-konstrukce-link:focus-visible,
.prod-barvy-text-link:focus-visible,
.prod-umyvadlo-link:focus-visible {
  outline:        2px solid var(--color-primary);
  outline-offset: 2px;
}

.prod-rozmery-link.is-current,
.prod-provedeni-link.is-current,
.prod-verze-link.is-current,
.prod-slim-link.is-current,
.prod-konstrukce-link.is-current,
.prod-barvy-text-link.is-current,
.prod-umyvadlo-link.is-current {
  background-color: var(--prod-rozmery-current-bg);
  border-color:     var(--prod-rozmery-current);
  color:            var(--prod-rozmery-text);
  cursor:           default;
  pointer-events:   none;
}

@media (max-width: 767px) {
  .prod-rozmery-grid,
  .prod-provedeni-grid,
  .prod-verze-grid,
  .prod-slim-grid,
  .prod-konstrukce-grid,
  .prod-barvy-text-grid,
  .prod-umyvadlo-grid { gap: 8px; }

  .prod-rozmery-link,
  .prod-provedeni-link,
  .prod-verze-link,
  .prod-slim-link,
  .prod-konstrukce-link,
  .prod-barvy-text-link,
  .prod-umyvadlo-link { padding: 9px 13px; font-size: 13px; }
}

.prod-barvy-grid {
  display:    flex;
  flex-wrap:  wrap;
  gap:        12px;
  padding:    10px 0 4px;
  list-style: none;
  margin:     0;
}

.prod-barvy-item { flex: 0 0 auto; margin: 0; }

.prod-barva {
  position:        relative;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  text-decoration: none !important;
  border-radius:   50%;
  cursor:          pointer;
}

.prod-barva.is-current { cursor: default; }

.prod-barva__kruh {
  position:      relative;
  display:       block;
  width:         var(--prod-barva-size);
  height:        var(--prod-barva-size);
  border-radius: 50%;
  border:        1px solid var(--prod-barva-border);
  box-sizing:    border-box;
  transition:    transform  0.15s ease-in-out,
                 box-shadow 0.15s ease-in-out;
}

.prod-barva:not(.is-current):hover .prod-barva__kruh {
  transform:  scale(1.08);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.18);
}

.prod-barva:focus-visible { outline: none; }

.prod-barva:focus-visible .prod-barva__kruh {
  outline:        2px solid var(--color-primary);
  outline-offset: 2px;
}

.prod-barva.is-current .prod-barva__kruh {
  border:     3px solid var(--prod-barva-current);
  box-shadow: 0 0 0 1px #ffffff inset;
}

.prod-barva.is-current .prod-barva__kruh::after {
  content:       '';
  position:      absolute;
  left:          50%;
  top:           48%;
  width:         8px;
  height:        15px;
  border-right:  3px solid #ffffff;
  border-bottom: 3px solid #ffffff;
  transform:     translate(-50%, -58%) rotate(45deg);
  filter:        drop-shadow(0 0 1px rgba(0, 0, 0, 0.55));
}

.prod-barva--bila            { background: #ffffff; }
.prod-barva--cerna           { background: #1f1f1f; }
.prod-barva--antracit        { background: #3a3a40; }
.prod-barva--chrom           { background: linear-gradient(135deg, #f2f2f2 0%, #c2c2c2 42%, #fafafa 52%, #9e9e9e 100%); }
.prod-barva--nerez           { background: linear-gradient(135deg, #e3e3e3 0%, #b6b6b6 50%, #d8d8d8 100%); }
.prod-barva--stribrna        { background: linear-gradient(135deg, #ededed 0%, #c8c8c8 50%, #e0e0e0 100%); }
.prod-barva--zlata           { background: linear-gradient(135deg, #f0d98c 0%, #c9a23d 100%); }
.prod-barva--piskovec        { background: #cbb48f; }
.prod-barva--bronz           { background: #8c6b3f; }
.prod-barva--verde           { background: #5f7a5b; }
.prod-barva--siena           { background: #a4522e; }
.prod-barva--moca            { background: #6e5743; }
.prod-barva--bridlice        { background: linear-gradient(135deg, #555c61 0%, #3f4549 55%, #4d545a 100%); }
.prod-barva--med             { background: linear-gradient(135deg, #e3a07a 0%, #b87333 55%, #d68a5e 100%); }
.prod-barva--gunmetal        { background: linear-gradient(135deg, #6a7079 0%, #3a3f45 55%, #565b62 100%); }
.prod-barva--agila           { background: #9a9b86; }
.prod-barva--fallback        { background: #d8d8da; }

.prod-barva--dub-platin      { background: linear-gradient(135deg, #cfc1a8 0%, #a8967a 55%, #bdac8d 100%); }
.prod-barva--dub             { background: linear-gradient(135deg, #b88f5c 0%, #8c6a3f 55%, #a87f4f 100%); }
.prod-barva--dub-cerny       { background: linear-gradient(135deg, #3c322a 0%, #201913 55%, #2e251d 100%); }
.prod-barva--cerna-mat       { background: #262626; }
.prod-barva--bila-dub-platin { background: linear-gradient(135deg, #ffffff 0%, #ffffff 48%, #cfc1a8 52%, #a8967a 100%); }

.prod-barva--bila-mat        { background: #f3f3f0; }
.prod-barva--seda            { background: #9b9b9d; }
.prod-barva--ivory           { background: #efe7d4; }
.prod-barva--hneda           { background: #6f5642; }
.prod-barva--bezova          { background: #d6c3a1; }
.prod-barva--cerna-bila      { background: linear-gradient(135deg, #1f1f1f 0%, #1f1f1f 50%, #ffffff 50%, #ffffff 100%); }
.prod-barva--bila-seda       { background: linear-gradient(135deg, #ffffff 0%, #ffffff 50%, #6f757a 50%, #6f757a 100%); }
.prod-barva--bila-antracit   { background: linear-gradient(135deg, #ffffff 0%, #ffffff 50%, #3a3f45 50%, #3a3f45 100%); }
.prod-barva--bila-hneda      { background: linear-gradient(135deg, #ffffff 0%, #ffffff 50%, #6f5642 50%, #6f5642 100%); }
.prod-barva--bila-bezova     { background: linear-gradient(135deg, #ffffff 0%, #ffffff 50%, #d6c3a1 50%, #d6c3a1 100%); }

.prod-barva--cervena         { background: #b1372f; }
.prod-barva--modra           { background: #2f5f9e; }
.prod-barva--zelena          { background: #4e7a4a; }
.prod-barva--bordo           { background: #7b2233; }
.prod-barva--grafit          { background: linear-gradient(135deg, #5a5e63 0%, #3d4145 55%, #4d5157 100%); }
.prod-barva--nikl            { background: linear-gradient(135deg, #dedbd3 0%, #b0aca2 55%, #cbc7bd 100%); }
.prod-barva--ruzove-zlato    { background: linear-gradient(135deg, #f2cbb6 0%, #cd8a6c 100%); }
.prod-barva--kamen           { background: linear-gradient(135deg, #aca79f 0%, #817c75 55%, #9c968e 100%); }
.prod-barva--starobila       { background: #efe9df; }

.prod-barva--beton           { background: linear-gradient(135deg, #bcbcb9 0%, #979794 55%, #adadaa 100%); }
.prod-barva--borovice        { background: linear-gradient(135deg, #e3c79c 0%, #c39d63 100%); }
.prod-barva--briza           { background: linear-gradient(135deg, #ecdcc2 0%, #d0b892 100%); }
.prod-barva--buk             { background: linear-gradient(135deg, #e2bf95 0%, #c19765 100%); }
.prod-barva--mahagon         { background: linear-gradient(135deg, #8d4a35 0%, #5d2b1e 100%); }
.prod-barva--mali-wenge      { background: linear-gradient(135deg, #4d3c31 0%, #291e18 100%); }
.prod-barva--moreny-smrk     { background: linear-gradient(135deg, #6d4c35 0%, #452f1f 100%); }
.prod-barva--orech           { background: linear-gradient(135deg, #9e6d43 0%, #6d4526 100%); }
.prod-barva--wenge           { background: linear-gradient(135deg, #3d2d25 0%, #20160f 100%); }
.prod-barva--prirodni        { background: linear-gradient(135deg, #dabe93 0%, #b79867 100%); }
.prod-barva--jilm-bardini    { background: linear-gradient(135deg, #cbaa7a 0%, #98784d 100%); }

.prod-barva[data-barva]::after              { content: attr(data-barva); }
.prod-barva[title]:not([data-barva])::after { content: attr(title); }

.prod-barva[data-barva]::after,
.prod-barva[title]::after {
  position:       absolute;
  left:           50%;
  bottom:         calc(100% + 9px);
  transform:      translateX(-50%) translateY(4px);
  z-index:        30;
  padding:        5px 9px;
  border-radius:  6px;
  background:     var(--prod-barva-tip-bg);
  color:          var(--prod-barva-tip-text);
  font-family:    var(--font-primary);
  font-size:      12px;
  font-weight:    600;
  line-height:    1.2;
  white-space:    nowrap;
  pointer-events: none;
  opacity:        0;
  visibility:     hidden;
  transition:     opacity   0.15s ease-in-out,
                  transform 0.15s ease-in-out;
}

.prod-barva[data-barva]::before,
.prod-barva[title]::before {
  content:          '';
  position:         absolute;
  left:             50%;
  bottom:           calc(100% + 4px);
  transform:        translateX(-50%) translateY(4px);
  z-index:          30;
  border:           5px solid transparent;
  border-top-color: var(--prod-barva-tip-bg);
  pointer-events:   none;
  opacity:          0;
  visibility:       hidden;
  transition:       opacity   0.15s ease-in-out,
                    transform 0.15s ease-in-out;
}

.prod-barva[data-barva]:hover::after,
.prod-barva[data-barva]:hover::before,
.prod-barva[data-barva]:focus-visible::after,
.prod-barva[data-barva]:focus-visible::before,
.prod-barva[title]:hover::after,
.prod-barva[title]:hover::before,
.prod-barva[title]:focus-visible::after,
.prod-barva[title]:focus-visible::before {
  opacity:    1;
  visibility: visible;
  transform:  translateX(-50%) translateY(0);
}

@media (max-width: 767px) {
  .prod-barvy-grid  { gap: 10px; }
  .prod-barva__kruh {
    width:  var(--prod-barva-size-mob);
    height: var(--prod-barva-size-mob);
  }
}

.prod-galerie-barev {
  display:   flex;
  flex-wrap: wrap;
  gap:       6px;
  margin:    12px 0 16px;
  padding:   0;
}

.prod-galerie-barev .plus-gallery-item {
  width:         64px !important;
  height:        64px !important;
  border-radius: 6px;
  overflow:      hidden;
  border:        1px solid var(--color-border);
  display:       inline-block;
  transition:    border-color 0.15s ease-in-out,
                 box-shadow   0.15s ease-in-out;
}

.prod-galerie-barev .plus-gallery-item:hover {
  border-color: var(--color-primary);
  box-shadow:   0 2px 8px rgba(0, 168, 238, 0.15);
}

.prod-galerie-barev .plus-gallery-item a {
  display: block;
  width:   100%;
  height:  100%;
}

.prod-galerie-barev .plus-gallery-item img {
  display:    block;
  width:      100%;
  height:     100%;
  object-fit: cover;
}

@media (max-width: 767px) {
  .prod-galerie-barev .plus-gallery-item {
    width:  52px !important;
    height: 52px !important;
  }
}

.prod-parametry {
  list-style:    none;
  margin:        10px 0 6px;
  padding:       0;
  border:        1px solid #e6e6e8;
  border-radius: var(--prod-rozmery-radius);
  overflow:      hidden;
  font-family:   var(--font-primary);
}

.prod-parametry li {
  display:         flex;
  align-items:     baseline;
  justify-content: space-between;
  gap:             16px;
  padding:         10px 14px;
  font-size:       14px;
  line-height:     1.4;
}

.prod-parametry li:nth-child(even) { background-color: var(--kat-hlavni-bg); }
.prod-parametry li + li            { border-top: 1px solid #efeff1; }

.prod-parametry__nazev { color: #6b6b76; flex: 1 1 auto; }

.prod-parametry__hodnota {
  color:       var(--prod-rozmery-text);
  font-weight: 700;
  text-align:  right;
  flex:        0 0 auto;
  white-space: nowrap;
}

@media (max-width: 480px) {
  .prod-parametry li       { padding: 9px 12px; font-size: 13px; gap: 10px; }
  .prod-parametry__hodnota { white-space: normal; }
}

.prod-panel {
  background:    var(--prod-blok-panel-bg);
  border-radius: var(--prod-blok-panel-radius);
  padding:       36px 40px 40px;
  margin:        0 0 28px;
  font-family:   var(--font-primary);
  box-sizing:    border-box;
}

.prod-panel__stitek {
  display:        inline-block;
  margin:         0 0 18px;
  padding:        8px 18px;
  background:     var(--prod-blok-karta-bg);
  border-radius:  999px;
  font-size:      var(--prod-blok-stitek-size);
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  line-height:    1.2;
  color:          var(--prod-blok-ink);
}

.prod-panel__nadpis {
  margin:      0 0 14px !important;
  padding:     0;
  font-size:   28px !important;
  font-weight: 700;
  line-height: 1.25;
  color:       var(--prod-blok-ink);
}

.prod-panel__perex {
  margin:      0 0 26px;
  font-size:   16px;
  line-height: 1.6;
  color:       var(--prod-blok-popisek);
}

.prod-usp-grid {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--prod-blok-min), 1fr));
  gap:                   0 40px;
  margin:                0;
  padding:               0;
  list-style:            none;
}

.prod-usp {
  display:     flex;
  gap:         14px;
  align-items: flex-start;
  padding:     16px 0;
  border-top:  1px solid var(--prod-blok-linka);
}

.prod-usp-grid { clip-path: inset(1px 0 0 0); }

.prod-usp__ikona {
  flex:            0 0 auto;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           26px;
  height:          26px;
  margin-top:      1px;
  border-radius:   50%;
  background:      var(--prod-blok-karta-bg);
  color:           var(--prod-blok-ink);
}

.prod-usp__ikona svg { width: 14px; height: 14px; display: block; }

.prod-usp__text {
  font-size:   15.5px;
  line-height: 1.55;
  color:       var(--prod-blok-popisek);
}

.prod-usp__text strong { color: var(--prod-blok-ink); font-weight: 700; }

.prod-fakta {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
  gap:                   16px;
  margin:                0 0 34px;
  padding:               0;
  list-style:            none;
}

.prod-fakta__karta {
  background:    var(--prod-blok-panel-bg);
  border-radius: var(--prod-blok-karta-radius);
  padding:       22px 24px 24px;
}

.prod-fakta__hodnota {
  display:     block;
  font-family: var(--font-primary);
  font-size:   26px;
  font-weight: 700;
  line-height: 1.2;
  color:       var(--prod-blok-ink);
  margin:      0 0 8px;
}

.prod-fakta__popis {
  display:     block;
  font-size:   14.5px;
  line-height: 1.5;
  color:       var(--prod-blok-popisek);
}

.prod-sekce__nadpis {
  margin:      0 0 10px !important;
  font-size:   26px !important;
  font-weight: 700;
  line-height: 1.25;
  color:       var(--prod-blok-ink);
}

.prod-sekce__perex {
  margin:      0 0 22px;
  font-size:   16px;
  line-height: 1.6;
  color:       var(--prod-blok-popisek);
}

.prod-funkce {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--prod-blok-min), 1fr));
  gap:                   16px;
  margin:                0 0 34px;
  padding:               0;
  list-style:            none;
}

.prod-funkce__karta {
  background:    var(--prod-blok-karta-bg);
  border:        1px solid var(--prod-blok-karta-border);
  border-radius: var(--prod-blok-karta-radius);
  padding:       22px 24px 24px;
}

.prod-funkce__hlavicka {
  display:       flex;
  align-items:   center;
  gap:           14px;
  margin-bottom: 16px;
}

.prod-funkce__ikona {
  flex:            0 0 auto;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           var(--prod-blok-ikona-size);
  height:          var(--prod-blok-ikona-size);
  border-radius:   10px;
  background:      var(--prod-blok-ikona-bg);
  color:           var(--prod-blok-ink);
}

.prod-funkce__ikona svg {
  width:   20px;
  height:  20px;
  display: block;
}

.prod-funkce__nadpis {
  margin:      0 !important;
  font-size:   16px !important;
  font-weight: 700;
  line-height: 1.3;
  color:       var(--prod-blok-ink);
}

.prod-funkce__text {
  margin:      0;
  font-size:   15px;
  line-height: 1.6;
  color:       var(--prod-blok-popisek);
}

.prod-checklist {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(var(--prod-blok-min), 1fr));
  gap:                   0 40px;
}

.prod-checklist__nadpis {
  margin:      0 0 4px !important;
  font-size:   16px !important;
  font-weight: 700;
  line-height: 1.3;
  color:       var(--prod-blok-ink);
}

.prod-checklist__seznam {
  margin:     0;
  padding:    0;
  list-style: none;
}

.prod-checklist__seznam li {
  display:     flex;
  gap:         14px;
  align-items: flex-start;
  padding:     14px 0;
  border-top:  1px solid var(--prod-blok-linka);
  font-size:   15px;
  line-height: 1.55;
  color:       var(--prod-blok-ink);
}

.prod-checklist__seznam li:first-child { border-top: 0; }

.prod-checklist__seznam--pozor li { color: var(--prod-blok-popisek); }

.prod-checklist__ikona {
  flex:            0 0 auto;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           24px;
  height:          24px;
  margin-top:      1px;
  border-radius:   50%;
  background:      var(--prod-blok-karta-bg);
  color:           var(--prod-blok-ano);
}

.prod-checklist__seznam--pozor .prod-checklist__ikona { color: var(--prod-blok-ne); }

.prod-checklist__ikona svg { width: 13px; height: 13px; display: block; }

.prod-panel a,
.prod-funkce a,
.prod-fakta a {
  color:                     var(--color-primary-dark);
  font-weight:               600;
  text-decoration:           underline;
  text-decoration-color:     rgba(15, 134, 184, 0.35);
  text-underline-offset:     3px;
  text-decoration-thickness: 1px;
}

.prod-panel a:hover,
.prod-funkce a:hover,
.prod-fakta a:hover {
  color:                 var(--prod-blok-ink);
  text-decoration-color: var(--prod-blok-ink);
}

#content .prod-tabulka {
  width:           100%;
  margin:          0 0 28px;
  background:      var(--prod-blok-karta-bg);
  border:          1px solid var(--prod-blok-karta-border);
  border-radius:   var(--prod-blok-karta-radius);
  border-collapse: separate;
  border-spacing:  0;
  overflow:        hidden;
  font-family:     var(--font-primary);
  font-size:       15px;
  line-height:     1.6;
}

#content .prod-tabulka th,
#content .prod-tabulka td {
  padding:        14px 22px;
  background:     transparent;
  border:         0;
  border-top:     1px solid var(--prod-blok-linka);
  text-align:     left;
  vertical-align: top;
}

#content .prod-tabulka tr:first-child th,
#content .prod-tabulka tr:first-child td { border-top: 0; }

#content .prod-tabulka th {
  width:         260px;
  padding-right: 28px;
  color:         var(--prod-blok-popisek);
  font-weight:   400;
}

#content .prod-tabulka td {
  color:       var(--prod-blok-ink);
  font-weight: 700;
}

#content .prod-tabulka a {
  color:                 var(--color-primary-dark);
  text-decoration:       underline;
  text-underline-offset: 3px;
}

#content .prod-cenik {
  width:           100%;
  margin:          0 0 14px;
  background:      var(--prod-blok-karta-bg);
  border:          1px solid var(--prod-blok-karta-border);
  border-radius:   var(--prod-blok-karta-radius);
  border-collapse: separate;
  border-spacing:  0;
  overflow:        hidden;
  font-family:     var(--font-primary);
  font-size:       15px;
  line-height:     1.55;
}

#content .prod-cenik thead th {
  padding:        13px 22px;
  background:     transparent;
  border:         0;
  border-bottom:  1px solid var(--prod-blok-linka);
  color:          var(--prod-blok-popisek);
  font-size:      var(--prod-blok-stitek-size);
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 1.1px;
  text-align:     left;
}

#content .prod-cenik thead th:last-child { text-align: right; }

#content .prod-cenik td {
  padding:        14px 22px;
  background:     transparent;
  border:         0;
  border-top:     1px solid var(--prod-blok-linka);
  color:          var(--prod-blok-ink);
  text-align:     left;
  vertical-align: top;
}

#content .prod-cenik td:nth-child(2) {
  width:       190px;
  color:       var(--prod-blok-popisek);
  font-size:   14px;
  white-space: nowrap;
}

#content .prod-cenik td:nth-child(3) {
  width:       130px;
  text-align:  right;
  font-weight: 700;
  white-space: nowrap;
}

#content .prod-cenik__skupina th {
  padding:        16px 22px 8px;
  background:     transparent;
  border:         0;
  border-top:     1px solid var(--prod-blok-linka);
  color:          var(--prod-blok-popisek);
  font-size:      var(--prod-blok-stitek-size);
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 1.1px;
  text-align:     left;
}

#content .prod-cenik__skupina + tr td { border-top: 0; }

#content .prod-cenik thead + tbody .prod-cenik__skupina:first-child th { border-top: 0; }

#content .prod-cenik__hlavni td            { background: var(--prod-blok-panel-bg); }
#content .prod-cenik__hlavni td:first-child { font-weight: 700; }

.prod-cenik__pozn {
  margin:      0 0 28px;
  padding:     0;
  list-style:  none;
  font-family: var(--font-primary);
  font-size:   14px;
  line-height: 1.6;
  color:       var(--prod-blok-popisek);
}

.prod-cenik__pozn li {
  position: relative;
  padding:  0 0 0 18px;
  margin:   0 0 6px;
}

.prod-cenik__pozn li:before {
  content:       "";
  position:      absolute;
  top:           9px;
  left:          0;
  width:         6px;
  height:        6px;
  border-radius: 50%;
  background:    var(--prod-blok-ne);
}

@media (max-width: 640px) {
  #content .prod-tabulka { font-size: 14px; }

  #content .prod-tabulka tr,
  #content .prod-tabulka th,
  #content .prod-tabulka td {
    display: block;
    width:   auto;
  }

  #content .prod-tabulka tr {
    padding:    12px 18px;
    border-top: 1px solid var(--prod-blok-linka);
  }

  #content .prod-tabulka tr:first-child { border-top: 0; }

  #content .prod-tabulka th,
  #content .prod-tabulka td {
    padding:       0;
    padding-right: 0;
    border-top:    0;
  }

  #content .prod-tabulka th { font-size: 12px; }

  .prod-panel {
    padding:       24px 20px 26px;
    border-radius: 16px;
    margin-bottom: 22px;
  }

  .prod-panel__nadpis  { font-size: 22px !important; }
  .prod-sekce__nadpis  { font-size: 21px !important; }
  .prod-panel__perex,
  .prod-sekce__perex   { font-size: 15px; }

  .prod-fakta          { gap: 12px; }
  .prod-fakta__karta   { padding: 18px 18px 20px; }
  .prod-fakta__hodnota { font-size: 22px; }

  #content .prod-cenik       { font-size: 14px; }
  #content .prod-cenik thead { display: none; }

  #content .prod-cenik tr {
    display:               grid;
    grid-template-columns: 1fr auto;
    column-gap:            14px;
    padding:               12px 18px;
    border-top:            1px solid var(--prod-blok-linka);
  }

  #content .prod-cenik tbody tr:first-child { border-top: 0; }

  #content .prod-cenik td,
  #content .prod-cenik__skupina th {
    padding:    0;
    border-top: 0;
  }

  #content .prod-cenik td:first-child {
    grid-column: 1 / -1;
    margin:      0 0 4px;
  }

  #content .prod-cenik td:nth-child(2),
  #content .prod-cenik td:nth-child(3) { width: auto; }

  #content .prod-cenik__skupina    { padding-bottom: 4px; }
  #content .prod-cenik__skupina th { grid-column: 1 / -1; }

  #content .prod-cenik__hlavni    { background: var(--prod-blok-panel-bg); }
  #content .prod-cenik__hlavni td { background: transparent; }
}

.prod-hero__stitek,
.prod-blok__stitek {
  display:        inline-block;
  margin:         0 0 18px;
  padding:        8px 18px;
  background:     var(--prod-blok-panel-bg);
  border-radius:  999px;
  font-family:    var(--font-primary);
  font-size:      var(--prod-blok-stitek-size);
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 1.2px;
  line-height:    1.2;
  color:          var(--prod-blok-ink);
}

.prod-blok--sedy .prod-blok__stitek,
.prod-nakres .prod-blok__stitek { background: var(--prod-blok-karta-bg); }

.prod-hero {
  margin:      0 0 16px;
  padding:     8px 0 0;
  text-align:  center;
  font-family: var(--font-primary);
}

#content .prod-hero__nadpis {
  margin:         0 auto 20px !important;
  padding:        0;
  max-width:      900px;
  font-size:      50px !important;
  font-weight:    700;
  line-height:    1.08;
  letter-spacing: -0.03em;
  color:          var(--prod-blok-ink);
}

#content .prod-hero__nadpis span,
#content .prod-blok__nadpis span {
  display: block;
  color:   var(--prod-hero-ink-2);
}

#content .prod-hero__perex {
  margin:      0 auto 32px;
  max-width:   640px;
  font-size:   16.5px;
  line-height: 1.65;
  color:       var(--prod-blok-popisek);
}

.prod-hero__obrazek {
  margin:        0;
  border-radius: var(--prod-blok-panel-radius);
  overflow:      hidden;
  background:    var(--prod-blok-panel-bg);
}

.prod-hero__obrazek img {
  display:    block;
  width:      100%;
  height:     auto;
  max-height: 640px;
  object-fit: contain;
  margin:     0 auto;
}

.prod-blok {
  display:               grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap:                   48px;
  align-items:           center;
  margin:                0 0 28px;
  padding:               40px;
  background:            var(--prod-blok-karta-bg);
  border:                1px solid var(--prod-blok-karta-border);
  border-radius:         var(--prod-blok-panel-radius);
  font-family:           var(--font-primary);
  box-sizing:            border-box;
}

.prod-blok--sedy {
  background: var(--prod-blok-panel-bg);
  border:     0;
}

.prod-blok--obracene .prod-blok__obrazek { order: 2; }

.prod-blok__obrazek {
  margin:        0;
  border-radius: var(--prod-blok-karta-radius);
  overflow:      hidden;
  background:    var(--prod-blok-panel-bg);
}

.prod-blok--sedy .prod-blok__obrazek { background: var(--prod-blok-karta-bg); }

.prod-blok__obrazek img {
  display:    block;
  width:      100%;
  height:     auto;
  max-height: 480px;
  object-fit: contain;
}

#content .prod-blok__nadpis {
  margin:         0 0 16px !important;
  padding:        0;
  font-size:      34px !important;
  font-weight:    700;
  line-height:    1.12;
  letter-spacing: -0.025em;
  color:          var(--prod-blok-ink);
}

#content .prod-blok__popis {
  margin:      0 0 8px;
  font-size:   16px;
  line-height: 1.65;
  color:       var(--prod-blok-popisek);
}

#content .prod-blok__popis:last-child { margin-bottom: 0; }

#content .prod-cisla,
#content .prod-cisla > li,
#content .prod-blok__cisla,
#content .prod-blok__cisla > li {
  list-style:   none;
  padding-left: 0;
  margin-left:  0;
  background:   none;
}

#content .prod-cisla > li::before,
#content .prod-blok__cisla > li::before { content: none; }

.prod-cisla {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap:                   20px 16px;
  margin:                24px 0 40px;
  padding:               0;
  text-align:            center;
  font-family:           var(--font-primary);
}

.prod-blok__cisla {
  display:   flex;
  flex-wrap: wrap;
  gap:       16px 36px;
  margin:    24px 0 0;
  padding:   0;
}

.prod-cisla__hodnota {
  display:     block;
  margin:      0 0 4px;
  font-size:   22px;
  font-weight: 700;
  line-height: 1.2;
  color:       var(--prod-blok-ink);
  white-space: nowrap;
}

.prod-cisla__popis {
  display:     block;
  font-size:   13px;
  line-height: 1.45;
  color:       var(--prod-blok-popisek);
}

.prod-nakres {
  margin:        0 0 28px;
  padding:       36px 40px 40px;
  background:    var(--prod-blok-panel-bg);
  border-radius: var(--prod-blok-panel-radius);
  text-align:    center;
  font-family:   var(--font-primary);
}

.prod-nakres__karta {
  margin:        0;
  padding:       32px;
  background:    var(--prod-blok-karta-bg);
  border-radius: var(--prod-blok-karta-radius);
}

.prod-nakres__karta img {
  display:    block;
  width:      auto;
  max-width:  100%;
  height:     auto;
  max-height: 520px;
  margin:     0 auto;
}

@media (max-width: 900px) {
  #content .prod-hero__nadpis { font-size: 40px !important; }
  #content .prod-blok__nadpis { font-size: 28px !important; }
  .prod-blok { gap: 32px; padding: 32px; }
}

@media (max-width: 720px) {
  #content .prod-hero__nadpis { font-size: 32px !important; }
  #content .prod-hero__perex  { font-size: 15.5px; margin-bottom: 24px; }

  .prod-blok {
    grid-template-columns: 1fr;
    gap:                   22px;
    padding:               20px 20px 26px;
  }
  .prod-blok--obracene .prod-blok__obrazek { order: 0; }
  #content .prod-blok__nadpis { font-size: 26px !important; }

  .prod-nakres        { padding: 24px 20px; }
  .prod-nakres__karta { padding: 16px; }

  .prod-cisla { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 420px) {
  .prod-cisla { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.prod-blok--bez-ramu { border: 0; }

@media (min-width: 721px) {
  .prod-usp-grid:has(> li:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

.prod-galerie {
  margin:      0 0 28px;
  padding:     8px 0 0;
  text-align:  center;
  font-family: var(--font-primary);
}

#content .prod-galerie__mrizka,
#content .prod-galerie__mrizka > li {
  list-style:   none;
  padding-left: 0;
  margin-left:  0;
  background:   none;
}

#content .prod-galerie__mrizka > li::before { content: none; }

.prod-galerie__mrizka {
  display:               grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:                   16px;
  margin:                8px 0 0;
  padding:               0;
}

.prod-galerie__polozka figure {
  margin:        0;
  aspect-ratio:  4 / 3;
  display:       flex;
  align-items:   center;
  justify-content: center;
  background:    var(--prod-blok-panel-bg);
  border-radius: var(--prod-blok-karta-radius);
  overflow:      hidden;
}

.prod-galerie__polozka img {
  display:    block;
  width:      100%;
  height:     100%;
  object-fit: contain;
}

@media (max-width: 720px) {
  .prod-galerie__mrizka { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

.in-index #content-wrapper.container               { order: 3 !important; }
.in-index .content-wrapper.middle-banners-wrapper  { order: 2 !important; }

@media (min-width: 992px) {
  .in-index .overall-wrapper { display: flex; flex-direction: column; }

  .in-index .top-navigation-bar                                  { order: 0; }
  .in-index #header                                              { order: 1; }
  .in-index #content-wrapper                                     { order: 2; }
  .in-index .content-wrapper.homepage-box.before-carousel        { order: 2; }
  .in-index .content-wrapper.latest-contribution-box             { order: 2; }
  .in-index .content-wrapper.homepage-box.middle-banners-wrapper { order: 2; }
  .in-index .content-wrapper.container                           { order: 3; }
  .in-index .content-wrapper.homepage-box.welcome-wrapper        { order: 3; }
}

.in-index .content-wrapper.middle-banners-wrapper {
  margin-top:  0 !important;
  padding-top: 20px !important;
}

.in-index .content-wrapper.middle-banners-wrapper .content-wrapper-in {
  padding-top: 0 !important;
  margin-top:  0 !important;
}

.in-index .content-wrapper-in > .pk-carousel:first-child,
.in-index > .pk-carousel:first-child {
  margin-top: 20px !important;
}

.banners-content.body-banners > div { width: 100% !important; }

.type-index .benefitBanner { border-bottom: none !important; margin-top: 10px; }
.fav-cat                   { margin-top: 5px !important; }

.homepage-box:hover,
.homepage-box:hover * { box-shadow: none !important; }

.pk-carousel {
  position:     relative;
  overflow:     hidden;
  user-select:  none;
  touch-action: pan-y;
  margin-top:   20px !important;
}

.pk-carousel.is-dragging { cursor: grabbing; }

.pk-carousel__viewport {
  overflow:      hidden;
  border-radius: var(--pk-carousel-radius);
}

.pk-carousel__track {
  display:     flex;
  gap:         var(--pk-carousel-gap);
  transition:  transform 0.35s cubic-bezier(.4, 0, .2, 1);
  will-change: transform;
}

.pk-carousel__slide {
  flex:          0 0 calc((100% - 3 * var(--pk-carousel-gap)) / 4);
  min-width:     0;
  border-radius: var(--pk-carousel-radius);
  overflow:      hidden;
}

.pk-carousel__slide a { display: block; line-height: 0; }

.pk-carousel__slide img {
  width:         100%;
  height:        auto;
  display:       block;
  border-radius: var(--pk-carousel-radius);
}

.pk-carousel__arrow {
  position:        absolute;
  top:             50%;
  transform:       translateY(-50%);
  width:           40px;
  height:          40px;
  border-radius:   999px;
  background:      #fff;
  border:          1px solid var(--color-border);
  box-shadow:      0 2px 8px rgba(0, 0, 0, .12);
  display:         flex;
  align-items:     center;
  justify-content: center;
  cursor:          pointer;
  z-index:         10;
  transition:      opacity .2s, box-shadow .2s;
}

.pk-carousel__arrow svg {
  width:           20px;
  height:          20px;
  stroke:          var(--color-text);
  fill:            none;
  stroke-width:    2.5;
  stroke-linecap:  round;
  stroke-linejoin: round;
}

.pk-carousel__arrow--prev     { left:  8px; }
.pk-carousel__arrow--next     { right: 8px; }
.pk-carousel__arrow:hover     { box-shadow: 0 4px 16px rgba(0, 0, 0, .18); }
.pk-carousel__arrow.is-hidden { display: none; }

.pk-carousel__dots {
  display:         flex;
  justify-content: center;
  gap:             6px;
  margin-top:      10px;
}

.pk-carousel__dot {
  width:         8px;
  height:        8px;
  border-radius: 999px;
  background:    var(--color-border);
  border:        0;
  padding:       0;
  cursor:        pointer;
  transition:    background .2s, width .2s;
}

.pk-carousel__dot.is-active {
  background: var(--color-primary);
  width:      22px;
}

@media (max-width: 991px) {
  .pk-carousel__slide {
    flex-basis: calc((100% - 1 * var(--pk-carousel-gap)) / 2);
  }
}

@media (max-width: 575px) {
  .pk-carousel__slide { flex-basis: 100%; }
}

.pk-cat-grid {
  display:               grid !important;
  grid-template-columns: 1fr 1fr 1fr !important;
  gap:                   16px !important;
  margin:                0 0 16px !important;
  list-style:            none !important;
}

.pk-cat-card {
  position:        relative !important;
  overflow:        hidden !important;
  border-radius:   14px !important;
  padding:         36px 40px 32px !important;
  min-height:      340px !important;
  display:         flex !important;
  flex-direction:  column !important;
  justify-content: space-between !important;
  box-sizing:      border-box !important;
}

.pk-cat-card__content {
  position:  relative !important;
  z-index:   2 !important;
  max-width: 60% !important;
}

.pk-cat-card__img {
  position:        absolute !important;
  right:           4% !important;
  top:             50% !important;
  bottom:          auto !important;
  transform:       translateY(-50%) !important;
  z-index:         0 !important;
  height:          88% !important;
  width:           auto !important;
  max-width:       40% !important;
  max-height:      none !important;
  object-fit:      contain !important;
  object-position: center right !important;
  pointer-events:  none !important;
  display:         block !important;
}

.pk-cat-card__tag {
  display:        inline-block !important;
  font-size:      11px !important;
  font-weight:    700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color:          #666 !important;
  margin-bottom:  8px !important;
}

.pk-cat-card h3 {
  margin:         0 0 4px !important;
  font-size:      20px !important;
  font-weight:    800 !important;
  color:          var(--pk-hero-ink) !important;
  text-transform: uppercase !important;
  letter-spacing: .01em !important;
  line-height:    1.2 !important;
}

.pk-cat-card__desc {
  font-size: 12px !important;
  color:     #555 !important;
  margin:    0 0 14px !important;
}

.pk-cat-card ul {
  list-style: none !important;
  padding:    0 !important;
  margin:     0 0 20px !important;
}

.pk-cat-card ul li { margin: 4px 0 !important; }

.pk-cat-card ul li a {
  font-size:       13px !important;
  color:           #222 !important;
  text-decoration: none !important;
}

.pk-cat-card ul li a:hover {
  color:           var(--color-primary) !important;
  text-decoration: underline !important;
}

.pk-cat-card__all {
  display:         inline-flex !important;
  align-items:     center !important;
  gap:             6px !important;
  font-size:       12px !important;
  font-weight:     700 !important;
  color:           var(--pk-hero-ink) !important;
  text-transform:  uppercase !important;
  letter-spacing:  .04em !important;
  text-decoration: none !important;
  border-bottom:   2px solid var(--pk-hero-ink) !important;
  padding-bottom:  1px !important;
  border-radius:   0 !important;
}

.pk-cat-card__all:hover {
  color:        var(--color-primary) !important;
  border-color: var(--color-primary) !important;
}

.pk-cat-card.c-baterie,
.pk-cat-card.c-sprchy,
.pk-cat-card.c-vany,
.pk-cat-card.c-zebriky,
.pk-cat-card.c-nabytek,
.pk-cat-card.c-program { background: #eaf3fd !important; }

@media (max-width: 991px) {
  .pk-cat-grid { grid-template-columns: 1fr 1fr !important; }

  .pk-cat-card {
    padding:    28px 28px 26px !important;
    min-height: 280px !important;
  }
}

@media (max-width: 767px) {
  .pk-cat-grid { grid-template-columns: 1fr !important; }

  .pk-cat-card {
    min-height: auto !important;
    padding:    28px 24px !important;
  }

  .pk-cat-card__content { max-width: 100% !important; }
  .pk-cat-card__img     { display: none !important; }
}

.pk-kat-rozcestnik {
  background:    var(--color-bg-light);
  border-radius: 16px;
  padding:       28px 20px;
  margin:        24px 0;
}

.pk-kat-grid {
  display:               grid;
  grid-template-columns: repeat(6, 1fr);
  gap:                   12px;
}

.pk-kat-item {
  display:         flex !important;
  flex-direction:  column !important;
  align-items:     center !important;
  justify-content: flex-start !important;
  gap:             12px;
  width:           100%;
  min-height:      120px;
  padding:         22px 8px 16px;
  background:      #fff;
  border:          0.5px solid var(--color-border);
  border-radius:   14px;
  text-decoration: none !important;
  text-align:      center !important;
  transition:      border-color .15s ease, transform .15s ease;
}

.pk-kat-item:hover {
  border-color: var(--color-primary);
  transform:    translateY(-2px);
}

.pk-kat-item__icon {
  width:        36px;
  height:       36px;
  display:      block;
  flex:         0 0 auto;
  margin-left:  auto;
  margin-right: auto;
}

.pk-kat-item__icon path,
.pk-kat-item__icon rect,
.pk-kat-item__icon circle,
.pk-kat-item__icon line,
.pk-kat-item__icon polyline {
  fill:            none;
  stroke:          var(--pk-hero-ink);
  stroke-width:    1.6;
  stroke-linecap:  round;
  stroke-linejoin: round;
  transition:      stroke .15s ease;
}

.pk-kat-item:hover .pk-kat-item__icon path,
.pk-kat-item:hover .pk-kat-item__icon rect,
.pk-kat-item:hover .pk-kat-item__icon circle,
.pk-kat-item:hover .pk-kat-item__icon line,
.pk-kat-item:hover .pk-kat-item__icon polyline {
  stroke: var(--color-primary);
}

.pk-kat-item__label {
  display:     block;
  width:       100%;
  font-size:   12.5px;
  font-weight: 500;
  line-height: 1.3;
  color:       var(--pk-hero-ink);
  text-align:  center;
}

.pk-kat-item__ab {
  display:        block;
  width:          100%;
  text-align:     center;
  font-size:      30px;
  font-weight:    500;
  letter-spacing: .04em;
  line-height:    1;
}

.pk-kat-item--znacky        { background: #fbecec; border-color: #f3d3d3; }
.pk-kat-item--znacky:hover  { border-color: #cf2d2d; transform: translateY(-2px); }

.pk-kat-item--znacky .pk-kat-item__label,
.pk-kat-item--znacky .pk-kat-item__ab { color: #cf2d2d; }

@media (max-width: 991px) { .pk-kat-grid { grid-template-columns: repeat(4, 1fr); } }

@media (max-width: 767px) {
  .pk-kat-grid { grid-template-columns: repeat(3, 1fr); }
  .pk-kat-item { min-height: 110px; padding: 18px 6px 14px; }
}

@media (max-width: 480px) { .pk-kat-grid { grid-template-columns: repeat(2, 1fr); } }

.pk-brands {
  background:            var(--color-bg-light);
  border-radius:         14px;
  padding:               32px 40px;
  display:               grid;
  grid-template-columns: 1fr 2fr;
  gap:                   24px;
  align-items:           center;
  margin:                20px 0;
}

.pk-brands__left h2 {
  margin:      0 0 8px;
  font-size:   22px;
  font-weight: 700;
  color:       var(--pk-hero-ink);
  line-height: 1.25;
}

.pk-brands__left a {
  font-size:       13px;
  color:           var(--pk-hero-ink);
  text-decoration: underline;
}

.pk-brands__left a:hover { color: var(--color-primary); }

.pk-brands__grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   10px;
}

.pk-brand-item {
  background:      #fff;
  border:          1px solid #e8e8e8;
  border-radius:   10px;
  height:          70px;
  display:         flex;
  align-items:     center;
  justify-content: center;
  padding:         10px 20px;
  transition:      border-color 0.2s, box-shadow 0.2s;
}

.pk-brand-item:hover {
  border-color: var(--color-primary);
  box-shadow:   0 2px 10px rgba(0, 168, 238, 0.12);
}

.pk-brand-item img {
  max-height: 48px;
  max-width:  100%;
  width:      auto;
  height:     auto;
  object-fit: contain;
  display:    block;
  margin:     0 auto;
}

@media (max-width: 900px) {
  .pk-brands { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .pk-brands       { padding: 24px 20px; }
  .pk-brands__grid { grid-template-columns: repeat(2, 1fr); }
  .pk-brand-item   { height: 84px; padding: 12px 16px; }
  .pk-brand-item img { max-height: 56px; }
}

.content-wrapper.welcome-wrapper {
  max-width:     1100px;
  margin-left:   auto;
  margin-right:  auto;
  width:         100%;
  padding-left:  16px;
  padding-right: 16px;
  box-sizing:    border-box;
}

@media (max-width: 767px) {
  .content-wrapper.welcome-wrapper {
    padding-left:  12px;
    padding-right: 12px;
  }
}

.pk-hero {
  position:      relative;
  overflow:      hidden;
  border-radius: var(--pk-hero-radius);
  background:    var(--pk-hero-bg);
  color:         var(--pk-hero-ink);

  padding:       clamp(26px, 3.6vw, 48px) clamp(18px, 3.2vw, 44px);
  margin:        28px 0;
  width:         100%;
  max-width:     100%;
  box-sizing:    border-box;
}

.pk-hero::after {
  content:        "";
  position:       absolute;
  right:          -60px;
  bottom:         -60px;
  width:          260px;
  height:         260px;
  border-radius:  50%;
  background:     radial-gradient(circle, rgba(0, 168, 238, 0.08), transparent 70%);
  pointer-events: none;
}

.pk-hero__inner {
  position:       relative;
  z-index:        2;
  width:          100%;
  box-sizing:     border-box;
  container-name: pk-hero-panel;
  container-type: inline-size;
}

.pk-hero__kicker {
  display:        inline-block;
  font-family:    var(--font-primary);
  font-weight:    700;
  font-size:      12.5px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color:          var(--pk-hero-accent);
}

.pk-hero__nadpis {
  font-family: var(--font-primary);
  color:       var(--pk-hero-ink);
  font-size:   clamp(26px, 3.6vw, 36px);
  font-weight: 700;
  line-height: 1.14;
  margin:      10px 0 0;
  padding:     0;
  max-width:   none;
}

.pk-hero__sub {
  color:       var(--pk-hero-ink-soft);
  margin:      16px 0 0;
  max-width:   none;
  font-size:   16px;
  line-height: 1.65;
}

.pk-hero__sub strong { color: var(--pk-hero-ink); font-weight: 600; }

#content .pk-hero .pk-hero__sub a,
.pk-hero .pk-hero__inner .pk-hero__sub a,
.pk-hero__sub a,
#content .pk-hero .pk-hero__disc a,
.pk-hero .pk-hero__inner .pk-hero__disc a,
.pk-hero__disc a {
  display:                     inline !important;
  float:                       none !important;
  width:                       auto !important;
  max-width:                   none !important;
  margin:                      0 !important;
  padding:                     0 !important;
  background:                  none !important;
  border:                      0 !important;
  color:                       var(--pk-hero-ink-soft);
  text-decoration:             underline;
  text-decoration-color:       rgba(0, 168, 238, 0.45);
  text-underline-offset:       3px;
  text-decoration-thickness:   1px;
  transition:                  color 0.2s ease;
}

#content .pk-hero .pk-hero__sub a:hover,
.pk-hero__sub a:hover,
#content .pk-hero .pk-hero__disc a:hover,
.pk-hero__disc a:hover { color: var(--pk-hero-accent); }

.pk-hero__stats {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--pk-hero-stat-min), 100%), 1fr));
  gap:                   22px 24px;
  margin:                32px 0 0;
  padding:               22px 0;
  width:                 100%;
  max-width:             100%;
  border-top:            1px solid rgba(26, 26, 46, 0.10);
  border-bottom:         1px solid rgba(26, 26, 46, 0.10);
  list-style:            none;
  box-sizing:            border-box;
}

.pk-hero__stat { min-width: 0; }

.pk-hero__stat-big {
  display:        block;
  font-family:    var(--font-primary);
  font-weight:    700;
  font-size:      clamp(23px, 3vw, 28px);

  line-height:    1.15;
  letter-spacing: -0.01em;
  color:          var(--pk-hero-ink);
  overflow-wrap:  break-word;
}

.pk-hero__stat-lbl {
  display:       block;
  color:         var(--pk-hero-ink-mute);
  font-size:     13px;
  margin-top:    7px;
  line-height:   1.4;
  overflow-wrap: break-word;
}

.pk-hero__stat-link {
  display:         block;
  text-decoration: none !important;
  color:           inherit;
  transition:      opacity 0.2s ease;
}

.pk-hero__stat-link:hover                    { opacity: 0.82; }
.pk-hero__stat-link:hover .pk-hero__stat-lbl { text-decoration: underline; }

.pk-hero__stat-link:focus-visible {
  outline:        2px solid var(--pk-hero-accent);
  outline-offset: 3px;
  border-radius:  6px;
}

.pk-hero__benefity {
  display:               grid;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--pk-benefit-min), 100%), 1fr));
  gap:                   14px;
  margin:                26px 0 0;
  padding:               0;
  width:                 100%;
  max-width:             100%;
  list-style:            none;
  box-sizing:            border-box;
}

.pk-benefit {
  display:               grid;

  grid-template-columns: 42px minmax(0, 1fr);
  column-gap:            14px;
  row-gap:               5px;
  min-width:             0;
  background:            #ffffff;
  border:                1px solid rgba(26, 26, 46, 0.10);
  border-radius:         14px;
  padding:               18px 18px 19px;
  box-sizing:            border-box;
  transition:            border-color 0.2s ease, box-shadow 0.2s ease,
                         transform 0.2s ease;
}

.pk-benefit:hover {
  border-color: rgba(0, 168, 238, 0.35);
  box-shadow:   0 10px 26px rgba(15, 23, 42, 0.07);
  transform:    translateY(-2px);
}

.pk-benefit__ikona {
  grid-row:        span 2;
  align-self:      start;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           42px;
  height:          42px;
  border-radius:   12px;
  background:      rgba(0, 168, 238, 0.10);
  color:           var(--pk-hero-accent);
}

.pk-benefit__ikona svg {
  width:             21px;
  height:            21px;
  stroke:            currentColor;
  fill:              none;
  stroke-width:      1.7;
  stroke-linecap:    round;
  stroke-linejoin:   round;
  display:           block;
}

.pk-benefit__nadpis {
  font-family:   var(--font-primary);
  font-weight:   700;
  font-size:     14.5px;
  line-height:   1.3;
  color:         var(--pk-hero-ink);
  align-self:    center;
  min-width:     0;
  overflow-wrap: break-word;
}

.pk-benefit__text {
  font-family:   var(--font-primary);
  font-size:     13.5px;
  line-height:   1.5;
  color:         var(--pk-hero-ink-mute);
  min-width:     0;
  overflow-wrap: break-word;
}

#content .pk-benefit__text a,
.pk-benefit__text a {
  display:                   inline !important;
  float:                     none !important;
  width:                     auto !important;
  margin:                    0 !important;
  padding:                   0 !important;
  background:                none !important;
  border:                    0 !important;
  color:                     var(--pk-hero-ink-soft);
  text-decoration:           underline;
  text-decoration-color:     rgba(0, 168, 238, 0.45);
  text-underline-offset:     2px;
  text-decoration-thickness: 1px;
  transition:                color 0.2s ease;
}

.pk-benefit__text a:hover { color: var(--pk-hero-accent); }

.pk-hero--kompakt {

  --pk-hero-stat-min: 160px;
  --pk-benefit-min:   230px;

  padding:       clamp(18px, 2.2vw, 26px) clamp(16px, 2.4vw, 26px);
  margin:        18px 0;
  border-radius: 16px;
}

.pk-hero--kompakt::after { display: none; }

.pk-hero--tichy {
  background:    transparent;
  padding:       0;
  border-radius: 0;
  margin:        14px 0;
}

#content .pk-hero--kompakt .pk-hero__nadpis,
.pk-hero--kompakt .pk-hero__nadpis {
  font-size:     19px !important;
  line-height:   1.25;
  margin:        0 0 16px;
  text-align:    center;
  hyphens:       none;
  overflow-wrap: normal;
}

.pk-hero--kompakt .pk-hero__kicker { font-size: 11.5px; }
.pk-hero--kompakt .pk-hero__kicker + .pk-hero__nadpis { margin-top: 8px; }

.pk-hero--kompakt .pk-hero__sub {
  font-size:   14px;
  line-height: 1.55;
  margin:      10px 0 0;
}

.pk-hero--kompakt .pk-hero__stats {
  gap:           14px 20px;
  margin:        0;
  padding:       0 0 16px;
  border-top:    0;
  border-bottom: 1px solid rgba(26, 26, 46, 0.10);
}

.pk-hero--kompakt .pk-hero__stat-big { font-size: clamp(19px, 2.2vw, 22px); }

.pk-hero--kompakt .pk-hero__stat-lbl {
  font-size:  12px;
  margin-top: 4px;
}

.pk-hero--kompakt .pk-hero__benefity {
  gap:    10px;
  margin: 16px 0 0;
}

.pk-hero--kompakt .pk-benefit {
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap:            10px;
  row-gap:               3px;
  padding:               12px 13px 13px;
  border-radius:         12px;
}

.pk-hero--kompakt .pk-benefit:hover {
  transform:  none;
  box-shadow: 0 8px 20px rgba(15, 23, 42, 0.06);
}

.pk-hero--kompakt .pk-benefit__ikona {
  width:         34px;
  height:        34px;
  border-radius: 10px;
}

.pk-hero--kompakt .pk-benefit__ikona svg { width: 18px; height: 18px; }

.pk-hero--kompakt .pk-benefit__nadpis { font-size: 13.5px; }

.pk-hero--kompakt .pk-benefit__text {
  font-size:   12.5px;
  line-height: 1.45;
}

@media (max-width: 560px) {
  #content .pk-hero--kompakt .pk-hero__nadpis,
  .pk-hero--kompakt .pk-hero__nadpis { font-size: 18px !important; }

  .pk-hero--kompakt {
    padding:       16px 14px 18px;
    border-radius: 14px;
  }

  .pk-hero--kompakt .pk-hero__stat-big { font-size: 18px; }
  .pk-hero--kompakt .pk-hero__stat-lbl { font-size: 11.5px; }

  #content .pk-hero--kompakt .pk-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap:                   12px 14px !important;
    padding:               0 0 14px !important;
  }
}

@container pk-hero-panel (max-width: 419px) {
  #content .pk-hero--kompakt .pk-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

.pk-hero--kompakt .pk-hero__cta { margin: 16px 0 0; }

.pk-hero--kompakt .pk-hero__btn {
  font-size: 13.5px;
  padding:   10px 16px;
}

.pk-hero__points {
  display:    flex;
  flex-wrap:  wrap;
  gap:        10px;
  margin:     26px 0 0;
  padding:    0;
  list-style: none;
}

.pk-hero__point {
  display:       inline-flex;
  align-items:   center;
  gap:           8px;
  font-family:   var(--font-primary);
  font-size:     14px;
  font-weight:   600;
  color:         var(--pk-hero-ink);
  background:    rgba(0, 168, 238, 0.08);
  border:        1px solid rgba(0, 168, 238, 0.22);
  padding:       9px 14px;
  border-radius: 999px;
}

.pk-hero__point svg {
  width:  15px;
  height: 15px;
  color:  var(--pk-hero-accent);
  flex:   none;
  stroke: currentColor;
}

.pk-hero__cta {
  display:     flex;
  flex-wrap:   wrap;
  align-items: center;
  gap:         10px;
  margin:      28px 0 0;
  width:       100%;
}

.pk-hero__btn {
  display:         inline-flex;
  align-items:     center;
  gap:             9px;
  text-decoration: none !important;
  font-family:     var(--font-primary);
  font-weight:     700;
  font-size:       14.5px;
  border-radius:   12px;
  padding:         13px 20px;
  transition:      transform 0.2s ease, background 0.2s ease,
                   border-color 0.2s ease;
  box-sizing:      border-box;
  max-width:       100%;
  text-align:      center;
}

.pk-hero__btn svg { width: 17px; height: 17px; stroke: currentColor; fill: none; flex: none; }

.pk-hero__btn--primary {
  background: var(--pk-hero-accent);
  color:      #ffffff !important;
}

.pk-hero__btn--primary:hover { transform: translateY(-2px); }

.pk-hero__btn--outline {
  background: #ffffff;
  color:      var(--pk-hero-ink) !important;
  border:     1px solid rgba(26, 26, 46, 0.14);
}

.pk-hero__btn--outline:hover {
  border-color: rgba(0, 168, 238, 0.45);
  transform:    translateY(-2px);
}

.pk-hero__disc {
  margin:      24px 0 0;
  font-size:   12.5px;
  color:       var(--pk-hero-ink-mute);
  max-width:   none;
  line-height: 1.6;
}

@media (max-width: 620px) {
  .pk-hero__nadpis { font-size: 24px; max-width: none; }
  .pk-hero__sub    { font-size: 15px; }
  .pk-benefit      { padding: 15px 16px; }
  .pk-hero__btn    { flex: 1 1 100%; justify-content: center; }

  .pk-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 20px 16px;
  }
}

@media (max-width: 360px) {
  .pk-hero__stats { grid-template-columns: minmax(0, 1fr); }
}

@container pk-hero-panel (max-width: 869px) {
  .pk-hero__stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@container pk-hero-panel (max-width: 419px) {
  .pk-hero__stats { grid-template-columns: minmax(0, 1fr); }
}

#content .pk-hero__stats {
  display:               grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--pk-hero-stat-min), 100%), 1fr)) !important;
  gap:                   22px 24px !important;
  padding:               22px 0 !important;
  width:                 100%;
  box-sizing:            border-box;
}

#content .pk-hero__benefity {
  display:               grid !important;
  grid-template-columns: repeat(auto-fit, minmax(min(var(--pk-benefit-min), 100%), 1fr)) !important;
  gap:                   14px !important;
  padding:               0;
  width:                 100%;
  box-sizing:            border-box;
}

#content .pk-benefit {
  display:               grid;
  grid-template-columns: 42px minmax(0, 1fr);
  column-gap:            14px;
  row-gap:               5px;
}

#content .pk-hero--kompakt .pk-hero__benefity {
  gap: 10px !important;
}

#content .pk-hero--kompakt .pk-benefit {
  grid-template-columns: 34px minmax(0, 1fr);
  column-gap:            10px;
  row-gap:               3px;
}

#content .pk-hero--radek .pk-hero__benefity,
.pk-hero--radek .pk-hero__benefity {
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap:                   10px !important;
}

#content .pk-hero--radek .pk-benefit,
.pk-hero--radek .pk-benefit {
  grid-template-columns: minmax(0, 1fr);
  justify-items:         center;
  text-align:            center;
  column-gap:            0;
  row-gap:               6px;
  padding:               16px 10px 17px;
}

#content .pk-hero--radek .pk-benefit__ikona,
.pk-hero--radek .pk-benefit__ikona {
  grid-row:   auto;
  align-self: center;
}

#content .pk-hero--radek .pk-benefit__nadpis,
.pk-hero--radek .pk-benefit__nadpis {
  font-size:   13px;
  line-height: 1.3;
  align-self:  start;
}

#content .pk-hero--radek .pk-benefit__text,
.pk-hero--radek .pk-benefit__text {
  font-size:   12px;
  line-height: 1.4;
}

@media (max-width: 1180px) {
  #content .pk-hero--radek .pk-hero__benefity,
  .pk-hero--radek .pk-hero__benefity {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  #content .pk-hero--radek .pk-hero__benefity,
  .pk-hero--radek .pk-hero__benefity {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@container pk-hero-panel (max-width: 1040px) {
  #content .pk-hero--radek .pk-hero__benefity,
  .pk-hero--radek .pk-hero__benefity {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@container pk-hero-panel (max-width: 600px) {
  #content .pk-hero--radek .pk-hero__benefity,
  .pk-hero--radek .pk-hero__benefity {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@container pk-hero-panel (min-width: 1041px) {
  #content .pk-hero--radek .pk-hero__benefity,
  .pk-hero--radek .pk-hero__benefity {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 420px) {
  #content .pk-hero--radek .pk-benefit,
  .pk-hero--radek .pk-benefit {
    padding: 13px 8px 14px;
  }

  #content .pk-hero--radek .pk-benefit__nadpis,
  .pk-hero--radek .pk-benefit__nadpis { font-size: 12.5px; }

  #content .pk-hero--radek .pk-benefit__text,
  .pk-hero--radek .pk-benefit__text   { font-size: 11.5px; }
}

#content .pk-hero__stat     { min-width: 0; padding-right: 0; }
#content .pk-benefit__nadpis,
#content .pk-benefit__text,
#content .pk-hero__stat-lbl { min-width: 0; overflow-wrap: break-word; }

@media (max-width: 620px) {
  #content .pk-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px 16px !important;
  }
}

@media (max-width: 360px) {
  #content .pk-hero__stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

@container pk-hero-panel (max-width: 869px) {
  #content .pk-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@container pk-hero-panel (max-width: 419px) {
  #content .pk-hero__stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

.pk-social {
  background: transparent;
  padding:    28px 0;
  margin:     24px 0;
  box-sizing: border-box;
}

.pk-social__nadpis {
  margin:      0 0 18px;
  font-size:   18px;
  font-weight: 700;
  color:       var(--pk-hero-ink);
  text-align:  center;
}

.pk-social__grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   14px;
}

.pk-social__item {
  display:         flex !important;
  flex-direction:  column !important;
  align-items:     center !important;
  justify-content: center !important;
  gap:             12px;
  width:           100%;
  min-height:      118px;
  padding:         22px 10px;
  background:      #fff;
  border:          0.5px solid var(--color-border);
  border-radius:   14px;
  text-decoration: none !important;
  text-align:      center !important;
  transition:      border-color .15s ease, transform .15s ease, box-shadow .15s ease;
}

.pk-social__item:hover {
  border-color: var(--color-primary);
  transform:    translateY(-2px);
  box-shadow:   0 4px 14px rgba(26, 26, 46, 0.08);
}

.pk-social__icon {
  display:         flex;
  align-items:     center;
  justify-content: center;
  width:           34px;
  height:          34px;
  margin:          0 auto;
  flex:            0 0 auto;
}

.pk-social__icon svg { display: block; width: 34px; height: 34px; }

.pk-social__icon img {
  display:    block;
  width:      34px;
  height:     34px;
  object-fit: contain;
}

.pk-social__label {
  display:     block;
  width:       100%;
  font-size:   13px;
  font-weight: 600;
  line-height: 1.3;
  color:       var(--pk-hero-ink);
  text-align:  center;
}

.pk-social__grid--3 { grid-template-columns: repeat(3, 1fr); }

@media (max-width: 600px) {
  .pk-social__grid { grid-template-columns: repeat(2, 1fr); }
  .pk-social__item { min-height: 108px; padding: 18px 8px; }
}

.reels-section { margin: 24px 0; }

.reels-section__heading {
  font-size:   20px;
  font-weight: 700;
  color:       var(--color-text);
  margin:      0 0 16px;
}

.reels-grid {
  display:               grid;
  grid-template-columns: repeat(4, 1fr);
  gap:                   12px;
  max-width:             900px;
  margin:                0 auto 24px;
}

.reel-card {
  position:      relative;
  border-radius: 12px;
  overflow:      hidden;
  aspect-ratio:  9 / 16;
  background:    #111;
  display:       block;
  transition:    transform 0.3s ease, box-shadow 0.3s ease;
}

.reel-card:hover {
  transform:  scale(1.03);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
}

.reel-card iframe {
  position: absolute;
  inset:    0;
  width:    100% !important;
  height:   100% !important;
  border:   0;
  display:  block;
}

@media (max-width: 767px) { .reels-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .reels-grid { grid-template-columns: 1fr; } }

.srv-page {
  max-width:   860px;
  margin:      0 auto;
  font-family: var(--srv-font);
  font-size:   15px;
  line-height: 1.75;
  color:       var(--srv-text);
  padding:     0 0 40px;
}

.srv-page a       { color: var(--color-primary); text-decoration: underline; }
.srv-page a:hover { text-decoration: none; }

.srv-hero {
  background:    var(--srv-primary);
  border-radius: var(--srv-radius);
  padding:       36px 40px;
  margin:        0 0 28px;
  text-align:    center;
}

.srv-hero,
.srv-hero p,
.srv-hero span,
.srv-hero a,
.srv-hero a:link,
.srv-hero a:visited,
.srv-hero a:hover,
.srv-hero a:active {
  color: #ffffff !important;
}

.srv-hero a,
.srv-hero a:link,
.srv-hero a:visited,
.srv-hero a:hover,
.srv-hero a:active {
  text-decoration: none !important;
}

.srv-hero__pretitulek {
  font-size:      11px;
  font-weight:    600;
  text-transform: uppercase;
  letter-spacing: 1px;
  opacity:        0.75;
  margin:         0 0 8px;
}

.srv-hero__intro {
  font-size:   15px;
  line-height: 1.6;
  opacity:     0.9;
  margin:      0 0 28px;
}

.srv-hero__kontakty {
  display:         flex;
  flex-direction:  column;
  justify-content: center;
  align-items:     center;
  gap:             24px;
  flex-wrap:       wrap;
}

.srv-hero__telefon,
.srv-hero__email {
  display:        flex;
  flex-direction: column;
  align-items:    center;
  gap:            4px;
}

.srv-hero__hodnota {
  font-size:      38px;
  font-weight:    700;
  line-height:    1.1;
  letter-spacing: -0.5px;
}

.srv-hero__hodnota:hover { opacity: 0.85; }

.srv-hero__popisek {
  font-size:   15px;
  opacity:     0.9;
  font-weight: 400;
}

.srv-hero__divider { display: none; }

@media (max-width: 640px) {
  .srv-hero          { padding: 24px 20px; }
  .srv-hero__hodnota { font-size: 26px; }
}

.srv-card {
  background:    var(--srv-white);
  border:        1px solid var(--srv-border);
  border-radius: var(--srv-radius);
  padding:       24px 28px;
  margin-bottom: 20px;
}

.srv-card--highlight { border-left: 3px solid var(--color-primary); }

.srv-card--warning {
  border-left: 3px solid var(--srv-primary);
  background:  #fff8f8;
}

.srv-card__nadpis {
  font-family:    var(--srv-font);
  font-size:      13px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  color:          var(--srv-muted);
  margin:         0 0 16px;
  padding:        0;
  display:        flex;
  align-items:    center;
  gap:            8px;
}

.srv-card__nadpis-ikona { font-size: 16px; line-height: 1; flex-shrink: 0; }

@media (max-width: 640px) {
  .srv-card { padding: 18px; }
}

.srv-grid-2 {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   16px;
  margin-bottom:         20px;
}

.srv-grid-2 .srv-card { margin-bottom: 0; }

@media (max-width: 640px) {
  .srv-grid-2 { grid-template-columns: 1fr; }
}

.srv-table {
  width:           100%;
  border-collapse: collapse;
  font-family:     var(--srv-font);
  font-size:       14px;
  line-height:     1.6;
  color:           var(--srv-text);
}

.srv-table td {
  padding:        9px 0;
  border-bottom:  1px solid var(--srv-border);
  vertical-align: top;
}

.srv-table tr:last-child td { border-bottom: none; }

.srv-table td:first-child {
  color:         var(--srv-muted);
  font-weight:   500;
  white-space:   nowrap;
  padding-right: 20px;
  min-width:     160px;
}

.srv-table td:last-child { font-weight: 500; color: var(--srv-text); }

.srv-table a       { color: var(--color-primary); text-decoration: underline; }
.srv-table a:hover { text-decoration: none; }

@media (max-width: 480px) {
  .srv-table td:first-child { min-width: 120px; font-size: 12px; }
  .srv-table td:last-child  { font-size: 13px; }
}

.srv-section-title {
  display:         flex;
  align-items:     baseline;
  justify-content: space-between;
  gap:             12px;
  margin:          32px 0 16px;
  flex-wrap:       wrap;
}

.srv-section-title h2 {
  font-family: var(--srv-font);
  font-size:   18px;
  font-weight: 700;
  color:       var(--srv-text);
  margin:      0;
  padding:     0;
}

.srv-section-title a {
  font-size:       13px;
  font-weight:     500;
  color:           var(--color-primary);
  white-space:     nowrap;
  text-decoration: underline;
}

.srv-section-title a:hover { text-decoration: none; }

.srv-gallery {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   8px;
  margin:                0 0 20px;
}

.srv-gallery__item {
  border-radius: var(--srv-radius-sm);
  overflow:      hidden;
  aspect-ratio:  4 / 3;
}

.srv-gallery__item a { display: block; width: 100%; height: 100%; }

.srv-gallery__item img {
  display:    block;
  width:      100%;
  height:     100%;
  object-fit: cover;
  transition: transform 0.25s ease-in-out;
}

.srv-gallery__item:hover img { transform: scale(1.04); }

@media (max-width: 640px) {
  .srv-gallery { grid-template-columns: repeat(2, 1fr); }
}

.srv-links {
  list-style:     none;
  margin:         0;
  padding:        0;
  display:        flex;
  flex-direction: column;
}

.srv-links li             { border-bottom: 1px solid var(--srv-border); }
.srv-links li:last-child  { border-bottom: none; }

.srv-links li a {
  display:         flex;
  align-items:     center;
  justify-content: space-between;
  padding:         12px 0;
  font-family:     var(--srv-font);
  font-size:       14px;
  font-weight:     500;
  color:           var(--srv-text);
  text-decoration: none !important;
  transition:      color 0.15s ease-in-out;
}

.srv-links li a::after {
  content:      '';
  display:      inline-block;
  width:        6px;
  height:       6px;
  border-right: 2px solid var(--srv-muted);
  border-top:   2px solid var(--srv-muted);
  transform:    rotate(45deg);
  flex-shrink:  0;
  transition:   border-color 0.15s ease-in-out;
}

.srv-links li a:hover         { color: var(--color-primary); }
.srv-links li a:hover::after  { border-color: var(--color-primary); }

.srv-action {
  display:       flex;
  align-items:   center;
  gap:           24px;
  background:    var(--srv-bg);
  border:        1px solid var(--srv-border);
  border-radius: var(--srv-radius);
  padding:       24px 28px;
  margin-bottom: 20px;
}

.srv-action__img { flex-shrink: 0; }

.srv-action__img img {
  display:    block;
  max-width:  120px;
  max-height: 80px;
  object-fit: contain;
}

.srv-action__text { flex: 1; min-width: 0; }

.srv-action__text h3 {
  font-family: var(--srv-font);
  font-size:   16px;
  font-weight: 700;
  color:       var(--srv-text);
  margin:      0 0 6px;
  padding:     0;
}

.srv-action__text p {
  font-size:   14px;
  line-height: 1.6;
  color:       var(--srv-muted);
  margin:      0 0 14px;
}

.srv-action__btn {
  display:         inline-flex;
  align-items:     center;
  padding:         9px 20px;
  background:      var(--srv-primary);
  color:           #ffffff !important;
  font-family:     var(--srv-font);
  font-size:       13px;
  font-weight:     600;
  border-radius:   var(--btn-border-radius);
  text-decoration: none !important;
  transition:      background 0.2s ease-in-out;
  white-space:     nowrap;
}

.srv-action__btn:hover { background: var(--srv-primary-dark); }

@media (max-width: 540px) {
  .srv-action {
    flex-direction: column;
    align-items:    flex-start;
    gap:            16px;
    padding:        18px;
  }

  .srv-action__img img { max-width: 80px; max-height: 56px; }
}

.srv-eshopy {
  display:   flex;
  flex-wrap: wrap;
  gap:       8px;
  margin:    8px 0 0;
}

.srv-eshopy a {
  display:         inline-flex;
  align-items:     center;
  padding:         5px 14px;
  background:      var(--pill-bg);
  border:          1px solid var(--srv-border);
  border-radius:   50px;
  font-family:     var(--srv-font);
  font-size:       13px;
  font-weight:     600;
  color:           var(--srv-text) !important;
  text-decoration: none !important;
  transition:      background 0.15s, border-color 0.15s;
}

.srv-eshopy a:hover { background: var(--pill-bg-hover); border-color: #ccc; }

.srv-hodnoceni { text-align: center; margin: 24px 0 0; }

.srv-hodnoceni a { display: inline-block; text-decoration: none !important; }

.srv-hodnoceni img {
  max-width:     100%;
  height:        auto;
  display:       block;
  margin:        0 auto;
  border-radius: var(--srv-radius-sm);
}

.srv-auto-img {
  display:   block;
  max-width: 100%;
  height:    auto;
  margin:    16px auto 0;
}

.srv-dp-tabulka,
.srv-dp-info {
  width:           100%;
  border-collapse: separate;
  border-spacing:  0;
  border:          1px solid var(--srv-border);
  border-radius:   var(--srv-radius);
  overflow:        hidden;
  font-family:     var(--srv-font);
  font-size:       14px;
  margin-bottom:   20px;
}

.srv-dp-tabulka thead tr { background: var(--srv-bg); }

.srv-dp-tabulka thead th {
  padding:        12px 16px;
  font-size:      11px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color:          var(--srv-muted);
  border-bottom:  1px solid var(--srv-border);
  white-space:    nowrap;
}

.srv-dp-tabulka thead th:first-child  { text-align: center; }
.srv-dp-tabulka thead th:nth-child(2) { text-align: left; }
.srv-dp-tabulka thead th:nth-child(3),
.srv-dp-tabulka thead th:nth-child(4) { text-align: center; }

.srv-dp-tabulka tbody tr {
  background: #ffffff;
  transition: background 0.15s ease-in-out;
}

.srv-dp-tabulka tbody tr:hover  { background: #fafafa; }
.srv-dp-tabulka tbody tr + tr   { border-top: 1px solid var(--srv-border); }

.srv-dp-tabulka tbody td {
  padding:        16px;
  vertical-align: middle;
  color:          var(--srv-text);
  line-height:    1.5;
}

.srv-dp-tabulka tbody td:first-child { text-align: center; width: 90px; }

.srv-dp-tabulka tbody td:nth-child(3),
.srv-dp-tabulka tbody td:nth-child(4) {
  text-align:  center;
  white-space: nowrap;
  font-weight: 600;
  width:       140px;
}

.srv-dp-tabulka img {
  max-height: 36px;
  max-width:  130px;
  object-fit: contain;
  display:    block;
  margin:     0 auto;
}

.srv-dp-zdarma {
  color:       var(--color-primary) !important;
  font-weight: 700 !important;
}

.srv-dp-poznamka {
  font-size:   12px;
  color:       var(--srv-muted);
  margin-top:  3px;
  font-weight: 400;
}

.srv-dp-info td {
  padding:        12px 16px;
  vertical-align: top;
  line-height:    1.6;
  color:          var(--srv-text);
}

.srv-dp-info tr + tr td { border-top: 1px solid var(--srv-border); }

.srv-dp-info td:first-child {
  font-weight: 600;
  white-space: nowrap;
  width:       260px;
  background:  var(--srv-bg);
  color:       var(--srv-muted);
}

@media (max-width: 640px) {
  .srv-dp-tabulka thead { display: none; }

  .srv-dp-tabulka,
  .srv-dp-tabulka tbody,
  .srv-dp-tabulka tr,
  .srv-dp-tabulka td {
    display: block;
    width:   100%;
  }

  .srv-dp-tabulka tbody tr {
    border-top: 1px solid var(--srv-border);
    padding:    16px;
    position:   relative;
  }

  .srv-dp-tabulka tbody tr:first-child { border-top: none; }

  .srv-dp-tabulka tbody td:first-child {
    text-align:    left;
    margin-bottom: 10px;
    padding:       0;
    width:         auto;
  }

  .srv-dp-tabulka tbody td:first-child img { margin: 0; }

  .srv-dp-tabulka tbody td:nth-child(2) {
    padding:       0;
    margin-bottom: 12px;
    font-size:     14px;
  }

  .srv-dp-tabulka tbody td:nth-child(3),
  .srv-dp-tabulka tbody td:nth-child(4) {
    display:      inline-block;
    width:        auto;
    padding:      0;
    margin-right: 16px;
    font-size:    14px;
    text-align:   left;
  }

  .srv-dp-tabulka tbody td:nth-child(3)::before,
  .srv-dp-tabulka tbody td:nth-child(4)::before {
    content:        attr(data-label);
    display:        block;
    font-size:      10px;
    font-weight:    700;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    color:          var(--srv-muted);
    margin-bottom:  2px;
  }

  .srv-dp-info,
  .srv-dp-info tbody,
  .srv-dp-info tr,
  .srv-dp-info td {
    display: block;
    width:   100%;
  }

  .srv-dp-info tr + tr { border-top: 1px solid var(--srv-border); }

  .srv-dp-info td:first-child {
    background:     var(--srv-bg);
    font-size:      11px;
    text-transform: uppercase;
    letter-spacing: 0.4px;
    padding:        10px 14px 4px;
    width:          auto;
    border-bottom:  none;
  }

  .srv-dp-info td:last-child { padding: 4px 14px 12px; }
}

.srv-dop-grid {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   14px;
  margin:                0 0 20px;
  padding:               0;
  list-style:            none;
}

.srv-dop-karta {
  display:        flex;
  flex-direction: column;
  gap:            14px;
  background:     var(--srv-white);
  border:         1px solid var(--kat-blok-border);
  border-radius:  14px;
  padding:        20px;
  box-sizing:     border-box;
  transition:     border-color 0.2s ease, box-shadow 0.2s ease,
                  transform 0.2s ease;
}

.srv-dop-karta:hover {
  border-color: var(--kat-blok-border-akcent);
  box-shadow:   0 10px 26px rgba(15, 23, 42, 0.07);
  transform:    translateY(-2px);
}

.srv-dop-karta__logo {
  display:     flex;
  align-items: center;
  height:      32px;
}

.srv-dop-karta__logo img {
  max-height: 32px;
  max-width:  120px;
  object-fit: contain;
  display:    block;
}

.srv-dop-karta__telo { flex: 1; min-width: 0; }

.srv-dop-karta__nadpis {
  font-family: var(--srv-font);
  font-size:   16px;
  font-weight: 700;
  line-height: 1.3;
  color:       var(--kat-text);
  margin:      0 0 6px;
  padding:     0;
}

.srv-dop-karta__popis {
  font-family: var(--srv-font);
  font-size:   13.5px;
  line-height: 1.55;
  color:       var(--kat-text-mute);
  margin:      0;
}

.srv-dop-karta__ceny {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   8px;
}

.srv-dop-karta__ceny--jedna { grid-template-columns: 1fr; }

.srv-dop-cena {
  display:        flex;
  flex-direction: column;
  gap:            3px;
  background:     var(--pill-bg);
  border-radius:  10px;
  padding:        10px 12px;
  box-sizing:     border-box;
}

.srv-dop-cena--zdarma { background: var(--pill-bg-hover); }

.srv-dop-cena__label {
  font-family:    var(--srv-font);
  font-size:      10px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color:          var(--srv-muted);
  line-height:    1.2;
}

.srv-dop-cena__hodnota {
  font-family: var(--srv-font);
  font-size:   16px;
  font-weight: 700;
  line-height: 1.15;
  color:       var(--kat-text);
}

.srv-dop-cena--zdarma .srv-dop-cena__hodnota { color: var(--color-primary); }

.srv-dop-limit {
  display:       flex;
  align-items:   center;
  gap:           16px;
  background:    var(--pk-hero-bg);
  border-radius: var(--kat-blok-radius);
  padding:       18px 22px;
  margin:        0 0 28px;
  box-sizing:    border-box;
}

.srv-dop-limit__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           42px;
  height:          42px;
  border-radius:   var(--kat-ikona-radius);
  background:      var(--color-primary);
}

.srv-dop-limit__ikona svg {
  width:           21px;
  height:          21px;
  stroke:          #ffffff;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.srv-dop-limit__text {
  font-family: var(--srv-font);
  font-size:   14px;
  line-height: 1.6;
  color:       var(--kat-text-soft);
  margin:      0;
}

.srv-dop-limit__text strong { color: var(--kat-text); font-weight: 700; }

.srv-dop-karta--platba {
  flex-direction: row;
  align-items:    center;
  gap:            16px;
  padding:        16px 18px;
}

.srv-dop-karta--platba .srv-dop-karta__logo {
  justify-content: center;
  flex-shrink:     0;
  width:           58px;
  height:          42px;
  background:      var(--srv-bg);
  border-radius:   10px;
}

.srv-dop-karta--platba .srv-dop-karta__logo img {
  max-height: 26px;
  max-width:  44px;
}

.srv-dop-karta--platba .srv-dop-karta__nadpis { font-size: 14.5px; margin-bottom: 4px; }
.srv-dop-karta--platba .srv-dop-karta__popis  { font-size: 12.5px; }

.srv-dop-badge {
  flex-shrink:    0;
  margin-left:    auto;
  font-family:    var(--srv-font);
  font-size:      13px;
  font-weight:    700;
  line-height:    1;
  white-space:    nowrap;
  padding:        7px 13px;
  border-radius:  999px;
  background:     var(--pill-bg);
  color:          var(--kat-text);
}

.srv-dop-badge--zdarma {
  background: var(--pill-bg-hover);
  color:      var(--color-primary);
}

.srv-dop-ucet {
  background:    var(--pk-hero-bg);
  border-radius: var(--kat-blok-radius-lg);
  padding:       24px 28px;
  margin:        0 0 24px;
  box-sizing:    border-box;
}

.srv-dop-ucet__hlavicka {
  display:       flex;
  align-items:   center;
  gap:           12px;
  margin-bottom: 16px;
}

.srv-dop-ucet__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           42px;
  height:          42px;
  border-radius:   var(--kat-ikona-radius);
  background:      var(--color-primary);
}

.srv-dop-ucet__ikona svg {
  width:           21px;
  height:          21px;
  stroke:          #ffffff;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.srv-dop-ucet__nadpis {
  font-family:    var(--srv-font);
  font-size:      17px;
  font-weight:    700;
  line-height:    1.2;
  color:          var(--kat-text);
  letter-spacing: 0.01em;
  margin:         0;
  padding:        0;
}

.srv-dop-ucet__radky {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   12px;
}

.srv-dop-ucet__radek {
  background:    var(--srv-white);
  border-radius: 12px;
  padding:       14px 16px;
  box-sizing:    border-box;
}

.srv-dop-ucet__label {
  display:        block;
  font-family:    var(--srv-font);
  font-size:      10px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color:          var(--srv-muted);
  margin-bottom:  5px;
}

.srv-dop-ucet__hodnota {
  display:        block;
  font-family:    var(--srv-font);
  font-size:      20px;
  font-weight:    700;
  line-height:    1.25;
  letter-spacing: 0.01em;
  color:          var(--kat-text);
}

.srv-dop-ucet__hodnota--text {
  font-size:      14px;
  font-weight:    500;
  line-height:    1.55;
  letter-spacing: 0;
  color:          var(--kat-text-soft);
}

.srv-dop-ucet__pozn {
  margin:      14px 0 0;
  padding-top: 14px;
  border-top:  1px solid var(--kat-blok-linka);
  font-family: var(--srv-font);
  font-size:   13px;
  line-height: 1.6;
  color:       var(--kat-text-mute);
}

@media (max-width: 767px) {
  .srv-dop-grid  { grid-template-columns: 1fr; gap: 12px; }
  .srv-dop-karta { padding: 18px; }

  .srv-dop-limit {
    flex-direction: column;
    align-items:    flex-start;
    gap:            12px;
    padding:        18px;
  }

  .srv-dop-ucet        { padding: 18px; border-radius: 16px; }
  .srv-dop-ucet__radky { grid-template-columns: 1fr; }
  .srv-dop-ucet__nadpis { font-size: 16px; }
}

@media (max-width: 420px) {
  .srv-dop-karta--platba {
    flex-wrap: wrap;
    row-gap:   12px;
  }

  .srv-dop-badge { margin-left: 74px; }
}

.srv-kon-spojeni {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   14px;
  margin:                26px 0 0;
  padding:               0;
  list-style:            none;
}

.srv-kon-spojeni__polozka {
  display:         flex;
  align-items:     center;
  gap:             14px;
  background:      var(--srv-white);
  border:          1px solid var(--kat-blok-border);
  border-radius:   14px;
  padding:         16px 18px;
  box-sizing:      border-box;
  text-decoration: none !important;
  transition:      border-color 0.2s ease, box-shadow 0.2s ease,
                   transform 0.2s ease;
}

.srv-kon-spojeni__polozka:hover {
  border-color: var(--kat-blok-border-akcent);
  box-shadow:   0 10px 26px rgba(15, 23, 42, 0.07);
  transform:    translateY(-2px);
}

.srv-kon-spojeni__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           42px;
  height:          42px;
  border-radius:   var(--kat-ikona-radius);
  background:      rgba(0, 168, 238, 0.10);
  color:           var(--color-primary);
}

.srv-kon-spojeni__ikona svg {
  width:           21px;
  height:          21px;
  stroke:          currentColor;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.srv-kon-spojeni__telo { min-width: 0; }

.srv-kon-spojeni__label {
  display:        block;
  font-family:    var(--srv-font);
  font-size:      10px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color:          var(--srv-muted);
  margin-bottom:  3px;
}

.srv-kon-spojeni__hodnota {
  display:     block;
  font-family: var(--srv-font);
  font-size:   18px;
  font-weight: 700;
  line-height: 1.2;
  color:       var(--kat-text);
  word-break:  break-word;
}

.srv-kon-spojeni__pozn {
  display:     block;
  font-family: var(--srv-font);
  font-size:   12.5px;
  line-height: 1.4;
  color:       var(--kat-text-mute);
  margin-top:  3px;
}

.srv-kon-adresy {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   14px;
  margin:                0 0 20px;
  padding:               0;
  list-style:            none;
}

.srv-kon-adresa {
  background:    var(--srv-white);
  border:        1px solid var(--kat-blok-border);
  border-radius: 14px;
  padding:       20px;
  box-sizing:    border-box;
}

.srv-kon-adresa--siroka { grid-column: 1 / -1; }

.srv-kon-adresa--zvyraznena { border-color: var(--kat-blok-border-akcent); }

.srv-kon-adresa__hlavicka {
  display:       flex;
  align-items:   flex-start;
  gap:           12px;
  margin-bottom: 14px;
}

.srv-kon-adresa__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           40px;
  height:          40px;
  border-radius:   var(--kat-ikona-radius);
  background:      rgba(0, 168, 238, 0.10);
  color:           var(--color-primary);
}

.srv-kon-adresa__ikona svg {
  width:           20px;
  height:          20px;
  stroke:          currentColor;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.srv-kon-adresa__nadpis {
  font-family: var(--srv-font);
  font-size:   16px;
  font-weight: 700;
  line-height: 1.3;
  color:       var(--kat-text);
  margin:      0;
  padding:     0;
}

.srv-kon-adresa__stitek {
  font-family: var(--srv-font);
  font-size:   12.5px;
  line-height: 1.4;
  color:       var(--kat-text-mute);
  margin:      3px 0 0;
}

.srv-kon-adresa__adresa {
  font-family: var(--srv-font);
  font-size:   14.5px;
  line-height: 1.65;
  color:       var(--kat-text-soft);
  margin:      0;
}

.srv-kon-adresa__adresa strong { color: var(--kat-text); font-weight: 700; }

.srv-kon-adresa__meta {
  display:     grid;
  gap:         8px;
  margin:      14px 0 0;
  padding:     14px 0 0;
  border-top:  1px solid var(--kat-blok-linka);
  list-style:  none;
}

.srv-kon-adresa--siroka .srv-kon-adresa__meta {
  grid-template-columns: repeat(2, 1fr);
  gap:                   8px 24px;
}

.srv-kon-adresa__meta li {
  display:         flex;
  align-items:     baseline;
  justify-content: space-between;
  gap:             12px;
  font-family:     var(--srv-font);
  font-size:       13.5px;
  line-height:     1.5;
}

.srv-kon-adresa__klic {
  flex-shrink: 0;
  color:       var(--srv-muted);
}

.srv-kon-adresa__hodnota {
  text-align: right;
  color:      var(--kat-text);
  min-width:  0;
}

.srv-kon-cta {
  display:       flex;
  align-items:   center;
  gap:           18px;
  background:    var(--pk-hero-bg);
  border-radius: var(--kat-blok-radius-lg);
  padding:       22px 26px;
  margin:        0 0 28px;
  box-sizing:    border-box;
}

.srv-kon-cta__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           42px;
  height:          42px;
  border-radius:   var(--kat-ikona-radius);
  background:      var(--color-primary);
}

.srv-kon-cta__ikona svg {
  width:           21px;
  height:          21px;
  stroke:          #ffffff;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.srv-kon-cta__telo { flex: 1; min-width: 0; }

.srv-kon-cta__nadpis {
  font-family: var(--srv-font);
  font-size:   17px;
  font-weight: 700;
  line-height: 1.25;
  color:       var(--kat-text);
  margin:      0 0 5px;
  padding:     0;
}

.srv-kon-cta__text {
  font-family: var(--srv-font);
  font-size:   14px;
  line-height: 1.6;
  color:       var(--kat-text-soft);
  margin:      0;
}

.srv-kon-odkazy {
  background:    var(--srv-white);
  border:        1px solid var(--kat-blok-border);
  border-radius: 14px;
  padding:       8px 20px 20px;
  margin:        0 0 24px;
  box-sizing:    border-box;
}

.srv-kon-odkazy .srv-links {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap:            24px;
}

@media (max-width: 767px) {
  .srv-kon-spojeni { grid-template-columns: 1fr; gap: 12px; }

  .srv-dop-ucet__hodnota { font-size: 17px; word-break: break-word; }

  .srv-kon-adresy { grid-template-columns: 1fr; gap: 12px; }
  .srv-kon-adresa { padding: 18px; }
  .srv-kon-adresa--siroka .srv-kon-adresa__meta { grid-template-columns: 1fr; }

  .srv-kon-cta {
    flex-direction: column;
    align-items:    flex-start;
    gap:            14px;
    padding:        18px;
    border-radius:  16px;
  }

  .srv-kon-odkazy { padding: 4px 16px 16px; }
  .srv-kon-odkazy .srv-links { grid-template-columns: 1fr; }
}

@media (max-width: 420px) {
  .srv-kon-spojeni__hodnota { font-size: 16px; }

  .srv-kon-adresa__meta li {
    flex-direction: column;
    gap:            1px;
  }

  .srv-kon-adresa__hodnota { text-align: left; }
}

.srv-rozcestnik {
  display:               grid;
  grid-template-columns: repeat(3, 1fr);
  gap:                   14px;
  margin:                20px 0 24px;
  padding:               0;
  list-style:            none;
}

.srv-rozcestnik li {
  list-style: none;
  margin:     0;
  padding:    0;
}

.srv-rozcestnik__polozka {
  display:         flex;
  align-items:     center;
  gap:             12px;
  height:          100%;
  min-height:      76px;
  background:      var(--srv-white);
  border:          1px solid var(--kat-blok-border);
  border-radius:   14px;
  padding:         14px 16px;
  box-sizing:      border-box;
  text-decoration: none !important;
  transition:      border-color 0.2s ease, box-shadow 0.2s ease,
                   transform 0.2s ease;
}

.srv-rozcestnik__polozka:hover {
  border-color: var(--kat-blok-border-akcent);
  box-shadow:   0 10px 26px rgba(15, 23, 42, 0.07);
  transform:    translateY(-2px);
}

.srv-rozcestnik__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           44px;
  height:          44px;
}

.srv-rozcestnik__ikona img {
  max-width:  40px;
  max-height: 40px;
  object-fit: contain;
  display:    block;
}

.srv-rozcestnik__label {
  flex:        1;
  min-width:   0;
  font-family: var(--srv-font);
  font-size:   14.5px;
  font-weight: 700;
  line-height: 1.3;
  color:       var(--kat-text);
}

.srv-rozcestnik__sipka {
  flex-shrink:  0;
  width:        8px;
  height:       8px;
  border-top:   2px solid var(--srv-muted);
  border-right: 2px solid var(--srv-muted);
  transform:    rotate(45deg);
  transition:   border-color 0.2s ease;
}

.srv-rozcestnik__polozka:hover .srv-rozcestnik__sipka {
  border-top-color:   var(--color-primary);
  border-right-color: var(--color-primary);
}

@media (max-width: 767px) {
  .srv-rozcestnik { grid-template-columns: repeat(2, 1fr); gap: 12px; }
}

@media (max-width: 480px) {
  .srv-rozcestnik            { grid-template-columns: 1fr; }
  .srv-rozcestnik__polozka   { min-height: 68px; padding: 12px 14px; }
  .srv-rozcestnik__ikona     { width: 38px; height: 38px; }
  .srv-rozcestnik__ikona img { max-width: 34px; max-height: 34px; }
}

.srv-panel {
  background:    var(--pk-hero-bg);
  border-radius: 24px;
  padding:       40px;
  margin:        0 0 24px;
  box-sizing:    border-box;
}

.srv-panel__hlava {
  display:       flex;
  align-items:   center;
  gap:           20px;
  margin-bottom: 22px;
}

.srv-panel__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           46px;
  height:          46px;
  border-radius:   14px;
  background:      var(--color-primary);
}

.srv-panel__ikona svg {
  width:           22px;
  height:          22px;
  stroke:          #ffffff;
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.srv-panel__nadpis {
  font-family: var(--srv-font);
  font-size:   22px;
  font-weight: 700;
  line-height: 1.25;
  color:       var(--kat-text);
  margin:      0;
  padding:     0;
}

.srv-panel__perex {
  font-family:   var(--srv-font);
  font-size:     15.5px;
  line-height:   1.65;
  color:         var(--kat-text-soft);
  margin:        0 0 22px;
  overflow-wrap: break-word;
}

.srv-panel__perex strong { color: var(--kat-text); font-weight: 700; }

.srv-panel__pozn {
  margin:      26px 0 0;
  padding-top: 20px;
  border-top:  1px solid var(--kat-blok-linka);
  font-family: var(--srv-font);
  font-size:   15px;
  line-height: 1.6;
  color:       var(--kat-text-soft);
}

.srv-panel__pozn a,
.srv-panel__perex a,
.srv-volba__pozn a {
  color:           var(--color-primary);
  text-decoration: underline;
}

.srv-panel__pozn a:hover,
.srv-panel__perex a:hover,
.srv-volba__pozn a:hover { text-decoration: none; }

.srv-volby {
  display:               grid;
  grid-template-columns: 1fr;
  gap:                   16px;
  margin:                0;
  padding:               0;
  list-style:            none;
}

.srv-volba {
  display:       flex;
  align-items:   center;
  gap:           16px;
  background:    var(--srv-white);
  border-radius: 16px;
  padding:       20px;
  box-sizing:    border-box;
  transition:    box-shadow 0.2s ease;
}

.srv-volba:hover { box-shadow: 0 8px 22px rgba(15, 23, 42, 0.06); }

.srv-volba__logo {
  flex:            0 0 130px;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  height:          44px;
}

.srv-volba__logo img {
  max-width:  112px;
  max-height: 40px;
  object-fit: contain;
  display:    block;
}

.srv-volba__text { flex: 1; min-width: 0; }

.srv-volba__nazev {
  font-family:   var(--srv-font);
  font-size:     16px;
  font-weight:   700;
  line-height:   1.35;
  color:         var(--kat-text);
  margin:        0 0 20px;
  padding:       0;
  overflow-wrap: break-word;
}

.srv-volba__pozn {
  font-family:   var(--srv-font);
  font-size:     14px;
  line-height:   1.6;
  color:         var(--kat-text-soft);
  margin:        0;
  padding:       0;
  overflow-wrap: break-word;
}

.srv-volba__ceny {
  flex-shrink:    0;
  display:        grid;
  grid-auto-flow: column;
  gap:            8px;
}

.srv-volba__cena {
  display:        flex;
  flex-direction: column;
  gap:            6px;
  min-width:      121px;
  background:     var(--pill-bg);
  border-radius:  10px;
  padding:        12px 14px;
  text-align:     center;
  box-sizing:     border-box;
}

.srv-volba__cena-stitek {
  font-family:    var(--srv-font);
  font-size:      10px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.6px;
  line-height:    1.2;
  color:          var(--kat-text-mute);
}

.srv-volba__cena-hodnota {
  font-family: var(--srv-font);
  font-size:   17px;
  font-weight: 700;
  line-height: 1.2;
  color:       var(--kat-text);
}

.srv-volba__cena-hodnota--zdarma { color: var(--color-primary); }

.srv-panel__mrizka {
  display:               grid;
  grid-template-columns: 1fr 1fr;
  gap:                   18px;
  margin:                0;
}

.srv-panel__pole {
  background:    var(--srv-white);
  border-radius: 14px;
  padding:       18px 22px;
  box-sizing:    border-box;
  min-width:     0;
}

.srv-panel__pole-stitek {
  display:        block;
  font-family:    var(--srv-font);
  font-size:      11px;
  font-weight:    700;
  text-transform: uppercase;
  letter-spacing: 0.8px;
  color:          var(--kat-text-mute);
  margin-bottom:  10px;
}

.srv-panel__pole-hodnota {
  display:       block;
  font-family:   var(--srv-font);
  font-size:     22px;
  font-weight:   700;
  line-height:   1.3;
  color:         var(--kat-text);
  overflow-wrap: break-word;
}

.srv-panel__pole-hodnota--text {
  font-size:   16px;
  font-weight: 400;
  line-height: 1.6;
  color:       var(--kat-text-soft);
}

.srv-panel__podnadpis {
  font-family: var(--srv-font);
  font-size:   15.5px;
  font-weight: 700;
  line-height: 1.4;
  color:       var(--kat-text);
  margin:      0 0 14px;
  padding:     0;
}

.srv-panel__akce {
  display:     flex;
  align-items: center;
  gap:         28px;
  flex-wrap:   wrap;
}

.srv-panel__akce-text {
  flex:          1 1 320px;
  font-family:   var(--srv-font);
  font-size:     15px;
  line-height:   1.65;
  color:         var(--kat-text-soft);
  margin:        0;
  overflow-wrap: break-word;
}

.srv-panel__akce .pk-hero__btn { flex: 0 0 auto; }

.srv-adresy {
  display:               grid;
  grid-template-columns: repeat(2, 1fr);
  gap:                   18px;
  margin:                0;
  padding:               0;
  list-style:            none;
}

.srv-adresa {
  display:        flex;
  flex-direction: column;
  background:     var(--srv-white);
  border-radius:  16px;
  padding:        24px;
  box-sizing:     border-box;
}

.srv-adresa__hlavicka {
  display:     flex;
  align-items: flex-start;
  gap:         16px;
}

.srv-adresa__ikona {
  flex-shrink:     0;
  display:         inline-flex;
  align-items:     center;
  justify-content: center;
  width:           44px;
  height:          44px;
  border-radius:   var(--kat-ikona-radius);
  background:      var(--kat-ikona-bg);
}

.srv-adresa__ikona svg {
  width:           22px;
  height:          22px;
  stroke:          var(--color-primary);
  fill:            none;
  stroke-width:    1.7;
  stroke-linecap:  round;
  stroke-linejoin: round;
  display:         block;
}

.srv-adresa__nadpis {
  font-family: var(--srv-font);
  font-size:   16.5px;
  font-weight: 700;
  line-height: 1.3;
  color:       var(--kat-text);
  margin:      0 0 4px;
  padding:     0;
}

.srv-adresa__stitek {
  font-family: var(--srv-font);
  font-size:   13px;
  line-height: 1.45;
  color:       var(--kat-text-mute);
  margin:      0;
  padding:     0;
}

.srv-adresa__adresa {
  font-family:   var(--srv-font);
  font-size:     15.5px;
  line-height:   1.65;
  color:         var(--kat-text-soft);
  margin:        22px 0 0;
  padding:       0;
  overflow-wrap: break-word;
}

.srv-adresa__adresa strong { color: var(--kat-text); font-weight: 700; }

.srv-adresa__meta {
  margin:      auto 0 0;
  padding:     16px 0 0;
  border-top:  1px solid var(--kat-blok-linka);
  list-style:  none;
}

.srv-adresa__meta li {
  display:         flex;
  align-items:     baseline;
  justify-content: space-between;
  gap:             14px;
  flex-wrap:       wrap;
  margin:          0;
  padding:         6px 0;
  list-style:      none;
}

.srv-adresa__klic {
  font-family: var(--srv-font);
  font-size:   14px;
  line-height: 1.5;
  color:       var(--kat-text-mute);
}

.srv-adresa__hodnota {
  font-family:   var(--srv-font);
  font-size:     14px;
  font-weight:   600;
  line-height:   1.5;
  color:         var(--kat-text);
  text-align:    right;
  margin-left:   auto;
  overflow-wrap: break-word;
}

.srv-adresa__hodnota a {
  color:           var(--color-primary);
  text-decoration: underline;
}

.srv-adresa__hodnota a:hover { text-decoration: none; }

.srv-panel__mrizka--kompakt .srv-panel__pole-hodnota {
  font-size:   17px;
  line-height: 1.5;
}

@media (max-width: 767px) {
  .srv-panel         { padding: 22px; border-radius: 18px; }
  .srv-panel__hlava  { gap: 14px; margin-bottom: 18px; }
  .srv-panel__nadpis { font-size: 19px; }
  .srv-panel__perex  { font-size: 15px; }

  .srv-volby { gap: 12px; }

  .srv-volba { flex-wrap: wrap; gap: 12px; padding: 18px; }

  .srv-volba__logo  { flex: 0 0 90px; height: 36px; }
  .srv-volba__logo img { max-width: 84px; max-height: 32px; }

  .srv-volba__text  { flex: 1 1 150px; }
  .srv-volba__nazev { margin-bottom: 10px; }

  .srv-volba__ceny {
    flex:                  1 1 100%;
    grid-auto-flow:        row;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  }

  .srv-volba__cena { min-width: 0; }

  .srv-panel__mrizka       { grid-template-columns: 1fr; gap: 12px; }
  .srv-panel__pole         { padding: 16px 18px; }
  .srv-panel__pole-hodnota { font-size: 19px; word-break: break-word; }

  .srv-panel__pozn { margin-top: 20px; padding-top: 16px; font-size: 14px; }

  .srv-panel__akce { gap: 18px; }
  .srv-panel__akce .pk-hero__btn { flex: 1 1 100%; justify-content: center; }

  .srv-adresy  { grid-template-columns: 1fr; gap: 12px; }
  .srv-adresa  { padding: 18px; }
  .srv-adresa__adresa { margin-top: 18px; font-size: 15px; }
}

@media (max-width: 420px) {
  .srv-volba       { align-items: flex-start; }
  .srv-volba__ceny { grid-template-columns: 1fr; }

  .srv-adresa__meta li     { flex-direction: column; gap: 2px; }
  .srv-adresa__hodnota     { text-align: left; margin-left: 0; }
}

.uvodni-kategorie {
  display:       flex;
  flex-wrap:     wrap;
  gap:           20px;
  margin-bottom: 20px;
}

.uvodni-kategorie .col-sm-4 { padding-bottom: 20px; }
.uvodni-kategorie > div     { flex: 1; }

.uvodni-kategorie h3        { font-size: 20px; font-weight: bold; text-transform: uppercase; }
.uvodni-kategorie ul        { list-style: none; padding-left: 0; }
.uvodni-kategorie a         { color: #000; }
.uvodni-kategorie a:hover   { text-decoration: underline !important; }
.uvodni-kategorie a.vsechny { color: #000; font-weight: bold; }

.uvodni-kategorie .vodovodni-baterie  { background: #f4f0ec; }
.uvodni-kategorie .sprchove-kouty     { background: #f3ecfb; }
.uvodni-kategorie .vany               { background: #ecf3dd; }
.uvodni-kategorie .zebriky            { background: #f3dddd; }
.uvodni-kategorie .koupelnovy-nabytek { background: #cde3d1; }
.uvodni-kategorie .sprchovy-program   { background: #f4ecfb; }

@media (max-width: 991px) {
  .uvodni-kategorie           { display: block; }
  .uvodni-kategorie > div     { width: 86%; margin: 0 7%; flex-basis: auto; }
  .uvodni-kategorie h3        { padding-top: 20px !important; }
  .uvodni-kategorie .col-sm-4 { margin-bottom: 20px; }
}

@media (max-width: 768px) {
  .uvodni-kategorie { margin-bottom: 0; margin-top: -20px; }
}

@media (min-width: 992px) {
  .uvodni-kategorie .vodovodni-baterie,
  .uvodni-kategorie .sprchove-kouty,
  .uvodni-kategorie .vany,
  .uvodni-kategorie .zebriky,
  .uvodni-kategorie .koupelnovy-nabytek,
  .uvodni-kategorie .sprchovy-program {
    background-size:     cover;
    background-position: center;
  }

  .uvodni-kategorie .vodovodni-baterie {
    background-image: url('https://www.primakoupelny.cz/user/documents/upload/styly-nemazat/uvod-rozcestnik/rozcestnik-pozadi-baterie.png');
  }
  .uvodni-kategorie .sprchove-kouty {
    background-image: url('https://www.primakoupelny.cz/user/documents/upload/styly-nemazat/uvod-rozcestnik/rozcestnik-pozadi-sprchy.png');
  }
  .uvodni-kategorie .vany {
    background-image: url('https://www.primakoupelny.cz/user/documents/upload/styly-nemazat/uvod-rozcestnik/rozcestnik-pozadi-vany.png');
  }
  .uvodni-kategorie .zebriky {
    background-image: url('https://www.primakoupelny.cz/user/documents/upload/styly-nemazat/uvod-rozcestnik/rozcestnik-pozadi-zebriky.png');
  }
  .uvodni-kategorie .koupelnovy-nabytek {
    background-image: url('https://www.primakoupelny.cz/user/documents/upload/styly-nemazat/uvod-rozcestnik/rozcestnik-pozadi-koupelnovy-nabytek.png');
  }
  .uvodni-kategorie .sprchovy-program {
    background-image: url('https://www.primakoupelny.cz/user/documents/upload/styly-nemazat/uvod-rozcestnik/rozcestnik-pozadi-sprchovy-program.png');
  }
}

#content .srv-op {
  --op-ink: var(--kat-text, #1a1a2e);
  --op-soft: var(--kat-text-soft, #3a4a63);
  --op-bg: var(--pk-hero-bg, #f3f7fe);
  --op-accent: var(--color-primary, #00a8ee);
  --op-link: #08759f;
  color: var(--op-ink); font-family: var(--srv-font, Arial, sans-serif);
  font-size: 16px; line-height: 1.75; text-align: left;
  max-width: 1120px; margin: 0 auto; overflow-wrap: anywhere;
}
#content .srv-op *, #content .srv-op *::before, #content .srv-op *::after { box-sizing: border-box; }
#content .srv-op p { font-size: inherit; line-height: inherit; margin: 0 0 16px; color: inherit; }
#content .srv-op a { color: var(--op-link); text-decoration: underline; text-underline-offset: 3px; }
#content .srv-op a:hover { color: #095d7d; }
#content .srv-op a:focus-visible { outline: 3px solid var(--op-link); outline-offset: 4px; }
#content .srv-op h2, #content .srv-op h3 { font-family: inherit; color: var(--op-ink); font-weight: 700; text-transform: none; letter-spacing: normal; }
#content .srv-op h2 { font-size: 25px; line-height: 1.3; margin: 0 0 22px; padding: 0; }
#content .srv-op h3 { font-size: 19px; line-height: 1.4; margin: 0 0 10px; padding: 0; }
#content .srv-op .srv-op__uvod { background: var(--op-bg); border-radius: 24px; padding: 34px; margin-bottom: 24px; }
#content .srv-op .srv-op__stitek { display: block; color: var(--op-link); font-size: 12px; font-weight: 700; letter-spacing: 1.4px; text-transform: uppercase; margin-bottom: 12px; }
#content .srv-op .srv-op__uvod h2 { font-size: clamp(26px, 3vw, 34px); max-width: 700px; margin-bottom: 14px; }
#content .srv-op .srv-op__uvod > p { color: var(--op-soft); max-width: 740px; }
#content .srv-op .srv-op__rychle { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
#content .srv-op .srv-op__rychle a { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 17px; border: 1px solid #c9dce8; border-radius: 12px; background: #fff; font-size: 14px; font-weight: 700; text-decoration: none; }
#content .srv-op .srv-op__rychle a:first-child { background: var(--op-link); border-color: var(--op-link); color: #fff; }
#content .srv-op .srv-op__rychle a:hover { box-shadow: 0 3px 12px #20364c12; }
#content .srv-op .srv-op__obsah { border: 1px solid #e0e7ee; border-radius: 20px; padding: 26px; margin-bottom: 32px; }
#content .srv-op .srv-op__obsah h2 { font-size: 19px; margin-bottom: 18px; }
#content .srv-op .srv-op__obsah ol { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 8px 16px; margin: 0; padding: 0; list-style: none; }
#content .srv-op .srv-op__obsah li { margin: 0; padding: 0; }
#content .srv-op .srv-op__obsah a { display: flex; align-items: baseline; gap: 10px; min-height: 46px; padding: 10px 9px; border-radius: 9px; font-size: 14px; line-height: 1.45; color: var(--op-soft); text-decoration: none; }
#content .srv-op .srv-op__obsah a:hover { background: var(--op-bg); color: var(--op-link); }
#content .srv-op .srv-op__obsah a span { color: var(--op-link); min-width: 24px; font-size: 12px; font-weight: 700; }
#content .srv-op .srv-op__firma { padding: 28px; border-radius: 20px; background: var(--op-bg); margin-bottom: 32px; }
#content .srv-op .srv-op__udaje { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; margin: 0 0 18px; }
#content .srv-op .srv-op__udaje > div { background: #fff; border-radius: 12px; padding: 18px; min-width: 0; }
#content .srv-op .srv-op__udaje dt { font-size: 12px; color: var(--op-soft); margin: 0 0 6px; }
#content .srv-op .srv-op__udaje dd { font-size: 16px; font-weight: 700; margin: 0; line-height: 1.55; }
#content .srv-op .srv-op__registr { font-size: 14px; color: var(--op-soft); margin-bottom: 0; }
#content .srv-op .srv-op__clanek { border: 1px solid #e0e7ee; border-radius: 20px; padding: 30px; margin: 0 0 20px; scroll-margin-top: 110px; }
#content .srv-op .srv-op__clanek > h2 { display: flex; gap: 15px; align-items: baseline; padding-bottom: 20px; border-bottom: 1px solid #e5ebf1; }
#content .srv-op .srv-op__cislo { color: var(--op-link); font-size: 18px; min-width: 32px; flex-shrink: 0; }
#content .srv-op .srv-op__clanek ol { margin: 0; padding-left: 25px; list-style: decimal outside; }
#content .srv-op .srv-op__clanek ul { margin: 12px 0; padding-left: 23px; list-style: disc outside; }
#content .srv-op .srv-op__clanek li { padding-left: 7px; margin: 0 0 18px; }
#content .srv-op .srv-op__clanek li::marker { color: var(--op-link); font-weight: 700; }
#content .srv-op .srv-op__clanek li:last-child, #content .srv-op .srv-op__clanek li > p:last-child { margin-bottom: 0; }
#content .srv-op .srv-op__clanek li > ol { margin-top: 14px; }
#content .srv-op .srv-op__nahoru { display: inline-block; margin-top: 24px; font-size: 13px; }
#content .srv-op #op-prevzeti, #content .srv-op #op-prilohy, #content .srv-op #op-obsah { scroll-margin-top: 110px; }
#content .srv-op .srv-op__prevzeti { margin: 24px 0; padding: 32px; border: 0; background: var(--op-bg); border-radius: 24px; color: var(--op-soft); }
#content .srv-op .srv-op__prevzeti h3 { color: var(--op-ink); font-size: 24px; margin: 0; }
#content .srv-op .srv-op__prevzeti .srv-op__stitek { color: var(--op-link); font-size: 11px; margin-bottom: 6px; }
#content .srv-op .srv-op__hlavicka { display: flex; align-items: center; gap: 18px; margin-bottom: 24px; }
#content .srv-op .srv-op__hlavicka > div { min-width: 0; }
#content .srv-op .srv-op__ikona { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 46px; width: 46px; height: 46px; border-radius: 14px; background: var(--op-accent); color: #fff; }
#content .srv-op .srv-op__ikona svg { display: block; width: 24px; height: 24px; fill: none; stroke: currentColor; }
#content .srv-op .srv-op__kroky { display: grid; gap: 16px; margin: 24px 0; }
#content .srv-op .srv-op__krok { position: relative; padding: 24px 24px 24px 82px; border-radius: 16px; background: #fff; }
#content .srv-op .srv-op__krok h4 { color: var(--op-ink); font-family: inherit; font-size: 17px; line-height: 1.4; margin: 0 0 10px; }
#content .srv-op .srv-op__krok > span { position: absolute; left: 22px; top: 22px; display: grid; place-items: center; width: 40px; height: 40px; background: #ecf7fd; color: var(--op-link); border-radius: 12px; font-size: 17px; font-weight: 700; }
#content .srv-op .srv-op__krok p { margin-bottom: 0; }
#content .srv-op .srv-op__krok li { margin-bottom: 7px; }
#content .srv-op .srv-op__prava { font-size: 14px; border-top: 1px solid #dfe5ee; padding-top: 22px; margin-bottom: 0; color: var(--op-soft); }
#content .srv-op .srv-op__prilohy { border-radius: 20px; padding: 28px; background: var(--op-bg); margin: 28px 0; }
#content .srv-op .srv-op__soubory { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 12px; list-style: none; padding: 0; margin: 0; }
#content .srv-op .srv-op__soubory li { margin: 0; padding: 0; }
#content .srv-op .srv-op__soubory a { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; height: 100%; background: #fff; border-radius: 12px; border: 1px solid transparent; padding: 20px; color: var(--op-ink); text-decoration: none; font-weight: 700; line-height: 1.5; }
#content .srv-op .srv-op__soubory a:hover { border-color: var(--op-accent); }
#content .srv-op .srv-op__soubory span { font-size: 11px; letter-spacing: 1px; color: var(--op-link); background: var(--op-bg); border-radius: 5px; padding: 4px 8px; }
#content .srv-op .srv-op__pomoc { padding: 28px; border: 0; border-radius: 24px; background: var(--op-bg); margin-bottom: 22px; }
#content .srv-op .srv-op__pomoc p:last-child { margin-bottom: 0; }
#content .srv-op .srv-op__datum { font-size: 13px; color: var(--op-soft); }
@media (max-width: 800px) {
  #content .srv-op .srv-op__obsah ol, #content .srv-op .srv-op__udaje { grid-template-columns: repeat(2,minmax(0,1fr)); }
  #content .srv-op .srv-op__soubory { grid-template-columns: 1fr; }
}
@media (max-width: 520px) {
  #content .srv-op { font-size: 15px; }
  #content .srv-op h2 { font-size: 22px; }
  #content .srv-op .srv-op__uvod, #content .srv-op .srv-op__firma, #content .srv-op .srv-op__prilohy, #content .srv-op .srv-op__pomoc { padding: 22px 18px; border-radius: 16px; }
  #content .srv-op .srv-op__obsah, #content .srv-op .srv-op__clanek { padding: 22px 16px; border-radius: 16px; }
  #content .srv-op .srv-op__obsah ol, #content .srv-op .srv-op__udaje { grid-template-columns: 1fr; }
  #content .srv-op .srv-op__clanek > h2 { gap: 8px; }
  #content .srv-op .srv-op__cislo { min-width: 30px; font-size: 16px; }
  #content .srv-op .srv-op__clanek ol { padding-left: 20px; }
  #content .srv-op .srv-op__clanek li { padding-left: 3px; }
  #content .srv-op .srv-op__prevzeti { padding: 22px 14px; margin-left: -20px; border-radius: 18px; }
  #content .srv-op .srv-op__prevzeti h3 { font-size: 21px; }
  #content .srv-op .srv-op__hlavicka { gap: 12px; align-items: flex-start; }
  #content .srv-op .srv-op__krok { padding: 70px 16px 20px; }
  #content .srv-op .srv-op__krok > span { top: 15px; left: 15px; }
}
@media print {
  #content .srv-op { max-width: none; color: #000; font-size: 10pt; }
  #content .srv-op .srv-op__obsah, #content .srv-op .srv-op__rychle, #content .srv-op .srv-op__nahoru { display: none; }
  #content .srv-op .srv-op__clanek, #content .srv-op .srv-op__uvod, #content .srv-op .srv-op__firma { background: #fff; border: 0; padding: 12px 0; margin: 0; }
  #content .srv-op h2, #content .srv-op h3, #content .srv-op h4 { break-after: avoid; }
  #content .srv-op .srv-op__krok, #content .srv-op .srv-op__soubory li { break-inside: avoid; }
}

#content .srv-op .srv-op__udaje {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 240px), 1fr));
  align-items: stretch;
}
#content .srv-op .srv-op__udaje > div {
  display: block;
  padding: 18px;
  text-align: left;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}
#content .srv-op .srv-op__udaje .srv-op__udaj-stitek {
  display: block;
  margin: 0 0 8px;
  padding: 0;
  font-size: 14px;
  line-height: 1.5;
  font-weight: 600;
  color: var(--op-soft);
}
#content .srv-op .srv-op__udaj-stitek strong { font-weight: inherit; }
#content .srv-op .srv-op__udaje .srv-op__udaj-hodnota {
  display: block;
  margin: 0;
  padding: 0;
  font-size: 16px;
  line-height: 1.625;
  font-weight: 600;
  color: var(--op-ink);
}
#content .srv-op .srv-op__udaj-hodnota a { overflow-wrap: anywhere; }
#content .srv-op .srv-op__udaje .srv-op__bez-zalomeni {
  display: inline-block;
  white-space: nowrap;
  overflow-wrap: normal;
  word-break: normal;
  hyphens: none;
}

/* PRIMA — komponenty dolního popisku.
   Tabulky: .prima-table-wrap, .prima-table--parameters, .prima-table--layout.
   Hotspoty: --prima-x / --prima-y podle fotografie. Zoom a přepínání potřebují JS. */

:is(.prima-description, #content .prima-description) { margin:0;background:transparent;color:#202b33;font-family:'Poppins',Arial,sans-serif;font-size:15px;line-height:1.7;--prima-accent:#087eae;--prima-bright:#00a8ee;--prima-blue-bg:#f2f9fd;--prima-ink:#202b33;--prima-muted:#65717a;--prima-line:#dce3e7;--prima-panel:#f2f9fd;--prima-radius:24px;--prima-radius-sm:15px;--prima-green:#257943 }
:is(.prima-description, #content .prima-description) *,
:is(.prima-description, #content .prima-description) *::before,
:is(.prima-description, #content .prima-description) *::after { box-sizing:border-box }
:is(.prima-description, #content .prima-description) button,
:is(.prima-description, #content .prima-description) select { font:inherit }
:is(.prima-description, #content .prima-description) button,
:is(.prima-description, #content .prima-description) a { -webkit-tap-highlight-color:transparent }
:is(.prima-description, #content .prima-description) button { cursor:pointer }
:is(.prima-description, #content .prima-description) button:focus-visible,
:is(.prima-description, #content .prima-description) a:focus-visible,
:is(.prima-description, #content .prima-description) summary:focus-visible,
:is(.prima-description, #content .prima-description) select:focus-visible { outline:3px solid var(--prima-accent);outline-offset:4px }
:is(.prima-description, #content .prima-description) h1,
:is(.prima-description, #content .prima-description) h2,
:is(.prima-description, #content .prima-description) h3,
:is(.prima-description, #content .prima-description) p,
:is(.prima-description, #content .prima-description) ul,
:is(.prima-description, #content .prima-description) ol,
:is(.prima-description, #content .prima-description) figure,
:is(.prima-description, #content .prima-description) dl { margin:0 }
:is(.prima-description, #content .prima-description) h2 { font-size:clamp(26px,3vw,36px);line-height:1.25;letter-spacing:-1.15px;font-weight:600 }
:is(.prima-description, #content .prima-description) h2 span { color:var(--prima-muted) }
:is(.prima-description, #content .prima-description) h3 { font-size:16px;line-height:1.5;font-weight:600;letter-spacing:-.2px }
:is(.prima-description, #content .prima-description) p { color:var(--prima-muted) }
:is(.prima-description, #content .prima-description) a { color:var(--prima-accent) }
:is(.prima-description, #content .prima-description) .prima-small { font-size:12px;line-height:1.7;margin-top:18px }
:is(.prima-description, #content .prima-description) .prima-icon { width:24px;height:24px;flex-shrink:0;vertical-align:middle }
:is(.prima-description, #content .prima-description) .prima-section { margin-top:56px;scroll-margin-top:100px }
:is(.prima-description, #content .prima-description) .prima-panel { padding:40px;background:var(--prima-panel);border-radius:var(--prima-radius) }
:is(.prima-description, #content .prima-description) .prima-eyebrow { display:inline-block;color:var(--prima-accent);font-size:10px;font-weight:600;letter-spacing:1.6px;margin-bottom:14px }
:is(.prima-description, #content .prima-description) .prima-section-head { margin-bottom:28px }
:is(.prima-description, #content .prima-description) .prima-section-head p { margin-top:14px;max-width:840px }
:is(.prima-description, #content .prima-description) .prima-section-head .prima-eyebrow { margin-bottom:12px }
:is(.prima-description, #content .prima-description) .prima-hero { display:grid;grid-template-columns:1fr 1.04fr;align-items:stretch;padding:0;overflow:hidden }
:is(.prima-description, #content .prima-description) .prima-hero-copy { padding:46px 32px 42px 40px;align-self:center }
:is(.prima-description, #content .prima-description) .prima-hero h2 { font-size:clamp(30px,3.8vw,43px);letter-spacing:-1.6px;line-height:1.18;margin-bottom:24px }
:is(.prima-description, #content .prima-description) .prima-hero p { font-size:14px;line-height:1.85 }
:is(.prima-description, #content .prima-description) .prima-tags { display:flex;gap:7px;flex-wrap:wrap;margin-top:23px }
:is(.prima-description, #content .prima-description) .prima-tags span { font-size:10px;border:1px solid #dae3e8;background:white;padding:5px 9px;border-radius:5px }
:is(.prima-description, #content .prima-description) .prima-actions { display:flex;align-items:center;gap:17px;flex-wrap:wrap;margin-top:25px }
:is(.prima-description, #content .prima-description) .prima-button { display:inline-flex;justify-content:center;align-items:center;gap:12px;background:var(--prima-accent);border:1px solid var(--prima-accent);color:white;text-decoration:none;padding:13px 18px;border-radius:var(--prima-radius-sm);font-size:12px;line-height:1.5;font-weight:600;transition:background .15s }
:is(.prima-description, #content .prima-description) .prima-button:hover { background:#06678f;border-color:#06678f }
:is(.prima-description, #content .prima-description) .prima-button .prima-icon { width:18px;height:18px }
:is(.prima-description, #content .prima-description) .prima-button--secondary { color:var(--prima-accent);background:white;border-color:#bed8e5 }
:is(.prima-description, #content .prima-description) .prima-button--secondary:hover { background:#f6fbff }
:is(.prima-description, #content .prima-description) .prima-link { font-size:12px;font-weight:500;display:inline-flex;align-items:center;gap:8px;text-underline-offset:4px }
:is(.prima-description, #content .prima-description) .prima-image { display:block;max-width:100%;width:100%;height:auto }
:is(.prima-description, #content .prima-description) .prima-photo-button { position:relative;display:block;width:100%;padding:0;border:0;background:#f2f9fd;border-radius:var(--prima-radius);overflow:hidden;text-align:left }
:is(.prima-description, #content .prima-description) .prima-photo-button img { transition:filter .2s }
:is(.prima-description, #content .prima-description) .prima-photo-button:hover img { filter:brightness(.96) }
:is(.prima-description, #content .prima-description) .prima-hero-photo { border-radius:0 }
:is(.prima-description, #content .prima-description) .prima-hero-photo img { height:100%;object-fit:contain;min-height:470px }
:is(.prima-description, #content .prima-description) .prima-zoom-label { position:absolute;right:12px;bottom:12px;display:flex;align-items:center;gap:6px;padding:7px 10px;background:rgba(255,255,255,.94);border:1px solid #dae3e8;border-radius:6px;font-size:10px;color:var(--prima-ink) }
:is(.prima-description, #content .prima-description) .prima-zoom-label .prima-icon { width:14px;height:14px }
:is(.prima-description, #content .prima-description) .prima-facts { display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:14px!important }
:is(.prima-description, #content .prima-description) .prima-facts>div { display:flex;flex-direction:column;padding:20px 22px;background:var(--prima-panel);border-radius:var(--prima-radius-sm) }
:is(.prima-description, #content .prima-description) .prima-facts dt,
:is(.prima-description, #content .prima-description) .prima-stats dt { font-size:11px;color:var(--prima-muted);order:2;margin-top:6px }
:is(.prima-description, #content .prima-description) .prima-facts dd,
:is(.prima-description, #content .prima-description) .prima-stats dd { font-weight:600;font-size:25px;line-height:1.2;margin:0;letter-spacing:-.8px }
:is(.prima-description, #content .prima-description) .prima-facts small,
:is(.prima-description, #content .prima-description) .prima-stats small { font-size:14px;font-weight:500;letter-spacing:0 }
:is(.prima-description, #content .prima-description) .prima-centered { text-align:center }
:is(.prima-description, #content .prima-description) .prima-centered .prima-section-head p { margin-left:auto;margin-right:auto;max-width:680px }
:is(.prima-description, #content .prima-description) .prima-wide-photo { background:var(--prima-panel);border-radius:var(--prima-radius);overflow:hidden }
:is(.prima-description, #content .prima-description) .prima-wide-photo .prima-photo-button { background:transparent }
:is(.prima-description, #content .prima-description) .prima-wide-photo img { height:520px;object-fit:contain }
:is(.prima-description, #content .prima-description) .prima-stats { display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--prima-line);border-bottom:1px solid var(--prima-line);padding:26px 0 }
:is(.prima-description, #content .prima-description) .prima-stats>div { padding:0 24px;border-right:1px solid var(--prima-line);display:flex;flex-direction:column }
:is(.prima-description, #content .prima-description) .prima-stats>div:last-child { border:0 }
:is(.prima-description, #content .prima-description) .prima-usp { list-style:none;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:0 28px }
:is(.prima-description, #content .prima-description) .prima-usp li { display:flex;gap:12px;padding:22px 0;border-top:1px solid var(--prima-line) }
:is(.prima-description, #content .prima-description) .prima-usp li:nth-child(-n+3) { border-top:0;padding-top:0 }
:is(.prima-description, #content .prima-description) .prima-usp h3 { font-size:13px;margin-bottom:5px }
:is(.prima-description, #content .prima-description) .prima-usp p { font-size:12px;line-height:1.8 }
:is(.prima-description, #content .prima-description) .prima-check { display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#e5f1e9;color:var(--prima-green);width:23px;height:23px;flex:0 0 23px;margin-top:1px }
:is(.prima-description, #content .prima-description) .prima-check .prima-icon { width:14px;height:14px }
:is(.prima-description, #content .prima-description) .prima-grid { display:grid;gap:16px }
:is(.prima-description, #content .prima-description) .prima-grid--3 { grid-template-columns:repeat(3,minmax(0,1fr)) }
:is(.prima-description, #content .prima-description) .prima-grid--2 { grid-template-columns:repeat(2,minmax(0,1fr)) }
:is(.prima-description, #content .prima-description) .prima-card { padding:27px;border:1px solid var(--prima-line);border-radius:var(--prima-radius);background:white }
:is(.prima-description, #content .prima-description) .prima-icon-box { display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;background:var(--prima-blue-bg);color:var(--prima-accent);border-radius:var(--prima-radius-sm);flex:0 0 42px }
:is(.prima-description, #content .prima-description) .prima-card h3 { margin:17px 0 10px }
:is(.prima-description, #content .prima-description) .prima-card p { font-size:13px;line-height:1.85 }
:is(.prima-description, #content .prima-description) .prima-split { display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:50px }
:is(.prima-description, #content .prima-description) .prima-split--reverse .prima-photo-button { order:2 }
:is(.prima-description, #content .prima-description) .prima-split--reverse .prima-copy { order:1 }
:is(.prima-description, #content .prima-description) .prima-split .prima-photo-button img { aspect-ratio:1.07;object-fit:contain;background:#f2f9fd }
:is(.prima-description, #content .prima-description) .prima-copy .prima-section-head { margin:0 }
:is(.prima-description, #content .prima-description) .prima-copy .prima-link { margin-top:20px }
:is(.prima-description, #content .prima-description) .prima-copy p { font-size:14px;line-height:1.85 }
:is(.prima-description, #content .prima-description) .prima-inline-note { display:flex;align-items:flex-start;gap:12px;margin-top:24px;border-top:1px solid var(--prima-line);padding-top:18px;color:var(--prima-accent) }
:is(.prima-description, #content .prima-description) .prima-inline-note p { font-size:11px }
:is(.prima-description, #content .prima-description) .prima-numbered { list-style:none;padding:0;counter-reset:prima-step;margin-top:25px!important }
:is(.prima-description, #content .prima-description) .prima-numbered li { position:relative;padding:20px 0 20px 34px;border-top:1px solid var(--prima-line);counter-increment:prima-step }
:is(.prima-description, #content .prima-description) .prima-numbered li::before { content:counter(prima-step,decimal-leading-zero);position:absolute;left:0;top:23px;font-size:11px;color:var(--prima-accent);font-weight:600 }
:is(.prima-description, #content .prima-description) .prima-numbered h3 { font-size:13px }
:is(.prima-description, #content .prima-description) .prima-numbered p { font-size:12px;margin-top:6px;line-height:1.8 }
:is(.prima-description, #content .prima-description) .prima-detail-grid { display:grid;grid-template-columns:1.05fr 1fr;gap:30px;align-items:start }
:is(.prima-description, #content .prima-description) .prima-hotspot-stage { position:relative;border-radius:var(--prima-radius);overflow:hidden;background:white;aspect-ratio:961/900 }
:is(.prima-description, #content .prima-description) .prima-hotspot-stage>img { width:100%;height:100%;object-fit:contain }
:is(.prima-description, #content .prima-description) .prima-hotspot { position:absolute;width:34px;height:34px;padding:0;border-radius:50%;color:white;background:var(--prima-accent);border:3px solid white;box-shadow:0 0 0 1px #b7d0de;font-size:12px;font-weight:600;transform:translate(-50%,-50%) }
:is(.prima-description, #content .prima-description) .prima-hotspot[aria-expanded=true] { background:var(--prima-ink);box-shadow:0 0 0 4px #ffffff80 }
:is(.prima-description, #content .prima-description) .prima-stage-zoom { position:absolute;right:10px;bottom:10px;width:34px;height:34px;background:white;border:1px solid var(--prima-line);border-radius:6px }
:is(.prima-description, #content .prima-description) .prima-stage-zoom .prima-icon { width:18px;height:18px }
:is(.prima-description, #content .prima-description) .prima-tabs { display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-top:10px }
:is(.prima-description, #content .prima-description) .prima-tab { border:1px solid var(--prima-line);border-radius:6px;padding:10px 4px;background:white;font-size:10px!important;color:var(--prima-muted) }
:is(.prima-description, #content .prima-description) .prima-tab[aria-pressed=true] { background:var(--prima-ink);color:white;border-color:var(--prima-ink) }
:is(.prima-description, #content .prima-description) .prima-detail { background:white;border:1px solid var(--prima-line);border-radius:var(--prima-radius-sm);overflow:hidden;margin-bottom:10px }
:is(.prima-description, #content .prima-description) .prima-detail summary { display:flex;align-items:center;gap:13px;cursor:pointer;list-style:none;padding:19px 20px;font-size:13px;font-weight:600;line-height:1.6 }
:is(.prima-description, #content .prima-description) .prima-detail summary::-webkit-details-marker { display:none }
:is(.prima-description, #content .prima-description) .prima-detail-num { font-size:10px;color:var(--prima-accent) }
:is(.prima-description, #content .prima-description) .prima-plus { position:relative;margin-left:auto;width:12px;height:12px;flex:0 0 12px;color:var(--prima-accent) }
:is(.prima-description, #content .prima-description) .prima-plus::before,
:is(.prima-description, #content .prima-description) .prima-plus::after { content:'';position:absolute;left:0;top:5px;width:12px;height:1.5px;background:currentColor }
:is(.prima-description, #content .prima-description) .prima-plus::after { transform:rotate(90deg) }
:is(.prima-description, #content .prima-description) .prima-detail[open] .prima-plus::after { transform:rotate(0) }
:is(.prima-description, #content .prima-description) .prima-detail[open] { border-color:#b9d5e4 }
:is(.prima-description, #content .prima-description) .prima-detail>p { padding:0 20px 21px;font-size:12px;line-height:1.85 }
:is(.prima-description, #content .prima-description) .prima-aside { border:0;padding:18px;border-radius:var(--prima-radius-sm);background:var(--prima-panel);margin-top:24px;font-size:12px }
:is(.prima-description, #content .prima-description) .prima-aside p { font-size:11px;margin-top:5px }
:is(.prima-description, #content .prima-description) .prima-gallery img { aspect-ratio:1.13;object-fit:contain;background:var(--prima-panel) }
:is(.prima-description, #content .prima-description) .prima-gallery figcaption { font-size:11px;color:var(--prima-muted);margin:10px 4px 0 }
:is(.prima-description, #content .prima-description) .prima-drawing { background:white;border-radius:var(--prima-radius);overflow:hidden }
:is(.prima-description, #content .prima-description) .prima-drawing img { height:520px;object-fit:contain }
:is(.prima-description, #content .prima-description) .prima-drawing .prima-photo-button { background:white }
:is(.prima-description, #content .prima-description) .prima-check-columns { display:grid;grid-template-columns:1fr 1fr;gap:45px }
:is(.prima-description, #content .prima-description) .prima-check-columns h3 { margin-bottom:10px }
:is(.prima-description, #content .prima-description) .prima-checklist { list-style:none;padding:0 }
:is(.prima-description, #content .prima-description) .prima-checklist li { display:flex;align-items:flex-start;gap:12px;padding:15px 0;border-bottom:1px solid var(--prima-line);font-size:12px;color:var(--prima-muted) }
:is(.prima-description, #content .prima-description) .prima-checklist--neutral .prima-check { background:#f2f9fd;color:#717b81 }
:is(.prima-description, #content .prima-description) .prima-tile { display:flex;align-items:center;gap:15px;background:var(--prima-panel);border:1px solid transparent;border-radius:var(--prima-radius-sm);padding:23px;color:var(--prima-ink)!important;text-decoration:none }
:is(.prima-description, #content .prima-description) .prima-tile strong { font-size:12px;font-weight:500 }
:is(.prima-description, #content .prima-description) .prima-tile>.prima-icon:first-child { color:var(--prima-accent) }
:is(.prima-description, #content .prima-description) .prima-tile>.prima-icon:last-child { width:15px;height:15px;margin-left:auto;color:#7c8c96 }
:is(.prima-description, #content .prima-description) .prima-tile:hover { border-color:#afcfdf;background:var(--prima-blue-bg) }
:is(.prima-description, #content .prima-description) .prima-product-card { background:white;border:1px solid var(--prima-line);border-radius:var(--prima-radius);padding:24px }
:is(.prima-description, #content .prima-description) .prima-product-meta { display:flex;justify-content:space-between;align-items:center;gap:10px }
:is(.prima-description, #content .prima-description) .prima-product-meta .prima-eyebrow { margin:0;font-size:9px }
:is(.prima-description, #content .prima-description) .prima-badge { font-size:9px;color:var(--prima-muted);border:1px solid var(--prima-line);border-radius:5px;padding:3px 7px }
:is(.prima-description, #content .prima-description) .prima-product-card>img { height:250px;object-fit:contain;margin:22px 0 }
:is(.prima-description, #content .prima-description) .prima-product-card h3 { font-size:35px;letter-spacing:-1px;line-height:1.3 }
:is(.prima-description, #content .prima-description) .prima-product-card h3 small { font-size:17px;font-weight:500;color:var(--prima-muted);letter-spacing:0 }
:is(.prima-description, #content .prima-description) .prima-product-card p { font-size:12px;margin-top:5px }
:is(.prima-description, #content .prima-description) .prima-product-list { list-style:none;padding:14px 0;border-top:1px solid var(--prima-line);border-bottom:1px solid var(--prima-line);margin:18px 0!important;font-size:11px;color:var(--prima-muted) }
:is(.prima-description, #content .prima-description) .prima-product-card .prima-button { width:100% }
:is(.prima-description, #content .prima-description) .prima-callouts { display:grid;gap:14px }
:is(.prima-description, #content .prima-description) .prima-callout { display:flex;align-items:flex-start;gap:20px;padding:24px 28px;background:var(--prima-blue-bg);border-radius:var(--prima-radius);border:0 }
:is(.prima-description, #content .prima-description) .prima-callout h3 { font-size:14px }
:is(.prima-description, #content .prima-description) .prima-callout p { font-size:12px;margin-top:6px }
:is(.prima-description, #content .prima-description) .prima-callout .prima-icon-box { background:white }
:is(.prima-description, #content .prima-description) .prima-callout--neutral { background:var(--prima-panel);border:0 }
:is(.prima-description, #content .prima-description) .prima-callout--neutral .prima-icon-box { color:#697780 }
:is(.prima-description, #content .prima-description) .prima-callout--amber { background:#fff8ea;border:0 }
:is(.prima-description, #content .prima-description) .prima-callout--amber .prima-icon-box { color:#996a15 }
:is(.prima-description, #content .prima-description) .prima-document { display:flex;align-items:center;text-align:left;gap:15px;padding:19px;border:1px solid var(--prima-line);border-radius:var(--prima-radius-sm);background:white;color:var(--prima-ink) }
:is(.prima-description, #content .prima-description) .prima-document:hover { border-color:#9fc8dc;background:#f8fcfe }
:is(.prima-description, #content .prima-description) .prima-document strong { display:block;font-size:12px;font-weight:600 }
:is(.prima-description, #content .prima-description) .prima-document small { display:block;font-size:8px;letter-spacing:.6px;color:var(--prima-muted);margin-top:5px }
:is(.prima-description, #content .prima-description) .prima-document>.prima-icon { margin-left:auto;width:16px;height:16px;color:var(--prima-accent) }
:is(.prima-description, #content .prima-description) .prima-table-wrap { border:1px solid var(--prima-line);border-radius:var(--prima-radius);overflow:hidden }
:is(.prima-description, #content .prima-description) .prima-table { width:100%;border-collapse:collapse;font-size:13px;text-align:left }
:is(.prima-description, #content .prima-description) .prima-table caption { text-align:left;padding:19px 24px;background:var(--prima-panel);font-size:12px;font-weight:600;border-bottom:1px solid var(--prima-line) }
:is(.prima-description, #content .prima-description) .prima-table th,
:is(.prima-description, #content .prima-description) .prima-table td { padding:14px 24px;border-bottom:1px solid var(--prima-line);vertical-align:top }
:is(.prima-description, #content .prima-description) .prima-table th { font-weight:400;color:var(--prima-muted);background:#f2f9fd }
:is(.prima-description, #content .prima-description) .prima-table td { font-weight:500 }
:is(.prima-description, #content .prima-description) .prima-table tr:last-child>* { border:0 }
:is(.prima-description, #content .prima-description) .prima-original { font-size:13px;line-height:1.9 }
:is(.prima-description, #content .prima-description) .prima-original p { margin:12px 0;color:#4f5c65;text-align:left!important }
:is(.prima-description, #content .prima-description) .prima-original h3 { margin-top:27px }
:is(.prima-description, #content .prima-description) .prima-original ul { padding-left:22px;color:#4f5c65;margin:16px 0 24px }
:is(.prima-description, #content .prima-description) .prima-original li { padding:4px 0 }
:is(.prima-description, #content .prima-description) .prima-original table { width:100%;border-collapse:separate;border-spacing:0;border:1px solid var(--prima-line);border-radius:var(--prima-radius-sm);overflow:hidden;margin:22px 0 }
:is(.prima-description, #content .prima-description) .prima-original th,
:is(.prima-description, #content .prima-description) .prima-original td { text-align:left;padding:10px 20px;border-bottom:1px solid var(--prima-line);font-size:12px }
:is(.prima-description, #content .prima-description) .prima-original th { font-weight:400;background:var(--prima-panel);color:var(--prima-muted); }
:is(.prima-description, #content .prima-description) .prima-original tr:last-child>* { border:0 }
:is(.prima-description, #content .prima-description) .prima-faq .prima-detail summary { font-size:14px;padding:21px 24px }
:is(.prima-description, #content .prima-description) .prima-faq .prima-detail p { padding:0 24px 24px;font-size:13px }
:is(.prima-description, #content .prima-description) .prima-cta { display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;padding:40px;background:var(--prima-blue-bg);border-radius:var(--prima-radius) }
:is(.prima-description, #content .prima-description) .prima-cta h2 { font-size:28px }
:is(.prima-description, #content .prima-description) .prima-cta p { font-size:12px;margin-top:12px;max-width:590px }
:is(.prima-description, #content .prima-description) .prima-cta-actions { display:grid;gap:10px;min-width:210px }
:is(.prima-description, #content .prima-description) .prima-dialog { max-width:min(1100px,94vw);max-height:94dvh;width:1100px;border:0;border-radius:16px;padding:18px;background:white;color:var(--prima-ink);box-shadow:0 24px 90px #0005;font-family:'Poppins',Arial,sans-serif }
:is(.prima-description, #content .prima-description) .prima-dialog::backdrop { background:#17252ed9 }
:is(.prima-description, #content .prima-description) .prima-dialog-head { display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:12px;font-size:13px;font-weight:500 }
:is(.prima-description, #content .prima-description) .prima-dialog-close { border:1px solid #d7e0e5;background:white;border-radius:6px;width:36px;height:36px;font-size:22px;color:#31434e }
:is(.prima-description, #content .prima-description) .prima-dialog-image { display:block;width:100%;height:76dvh;object-fit:contain }
:is(.prima-description, #content .prima-description) .prima-dialog--note { max-width:520px;padding:25px }
:is(.prima-description, #content .prima-description) .prima-dialog--note p { font-size:13px;line-height:1.8;margin:12px 0 20px }
@media(max-width:1000px) {
:is(.prima-description, #content .prima-description) .prima-panel { padding:28px }
:is(.prima-description, #content .prima-description) .prima-hero { padding:0 }
:is(.prima-description, #content .prima-description) .prima-hero-copy { padding:30px }
:is(.prima-description, #content .prima-description) .prima-hero h2 { font-size:34px }
:is(.prima-description, #content .prima-description) .prima-hero-photo img { min-height:440px }
:is(.prima-description, #content .prima-description) .prima-split { gap:30px }
:is(.prima-description, #content .prima-description) .prima-facts>div { padding:18px 14px }
:is(.prima-description, #content .prima-description) .prima-facts dd { font-size:22px }
:is(.prima-description, #content .prima-description) .prima-stats>div { padding:0 16px }
:is(.prima-description, #content .prima-description) .prima-tiles { grid-template-columns:repeat(2,minmax(0,1fr)) }
:is(.prima-description, #content .prima-description) .prima-cta { grid-template-columns:1fr }
:is(.prima-description, #content .prima-description) .prima-cta-actions { display:flex;flex-wrap:wrap }
:is(.prima-description, #content .prima-description) .prima-usp { gap:0 20px }
:is(.prima-description, #content .prima-description) .prima-card { padding:22px }
}
@media(max-width:720px) {
:is(.prima-description, #content .prima-description) .prima-section { margin-top:38px;scroll-margin-top:120px }
:is(.prima-description, #content .prima-description) .prima-panel { padding:24px }
:is(.prima-description, #content .prima-description) .prima-hero { display:flex;flex-direction:column;padding:0 }
:is(.prima-description, #content .prima-description) .prima-hero-copy { padding:28px 24px }
:is(.prima-description, #content .prima-description) .prima-hero h2 { font-size:34px }
:is(.prima-description, #content .prima-description) .prima-hero-photo img { min-height:0;max-height:none;aspect-ratio:961/900;object-fit:contain }
:is(.prima-description, #content .prima-description) .prima-hero-photo { border-radius:0 }
:is(.prima-description, #content .prima-description) .prima-facts { grid-template-columns:repeat(2,1fr);gap:9px }
:is(.prima-description, #content .prima-description) .prima-facts dd { font-size:23px }
:is(.prima-description, #content .prima-description) .prima-wide-photo img { height:auto;max-height:490px }
:is(.prima-description, #content .prima-description) h2 { font-size:27px;letter-spacing:-.9px }
:is(.prima-description, #content .prima-description) .prima-stats { grid-template-columns:repeat(2,1fr);row-gap:24px }
:is(.prima-description, #content .prima-description) .prima-stats>div:nth-child(2) { border:0 }
:is(.prima-description, #content .prima-description) .prima-stats dd { font-size:23px }
:is(.prima-description, #content .prima-description) .prima-stats dt { font-size:10px }
:is(.prima-description, #content .prima-description) .prima-grid--3 { grid-template-columns:repeat(2,minmax(0,1fr)) }
:is(.prima-description, #content .prima-description) .prima-usp { grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px }
:is(.prima-description, #content .prima-description) .prima-usp li:nth-child(3) { border-top:1px solid var(--prima-line);padding-top:22px }
:is(.prima-description, #content .prima-description) .prima-split,
:is(.prima-description, #content .prima-description) .prima-detail-grid,
:is(.prima-description, #content .prima-description) .prima-check-columns { grid-template-columns:1fr;gap:25px }
:is(.prima-description, #content .prima-description) .prima-split--reverse .prima-photo-button { order:0 }
:is(.prima-description, #content .prima-description) .prima-split--reverse .prima-copy { order:1 }
:is(.prima-description, #content .prima-description) .prima-split .prima-photo-button img { aspect-ratio:auto;max-height:450px }
:is(.prima-description, #content .prima-description) .prima-drawing img { height:auto }
:is(.prima-description, #content .prima-description) .prima-gallery { grid-template-columns:repeat(3,minmax(0,1fr)) }
:is(.prima-description, #content .prima-description) .prima-gallery .prima-zoom-label { right:5px;bottom:5px;padding:5px;font-size:0;gap:0 }
:is(.prima-description, #content .prima-description) .prima-gallery figcaption { font-size:9px }
:is(.prima-description, #content .prima-description) .prima-document { padding:16px;gap:12px }
:is(.prima-description, #content .prima-description) .prima-documents { grid-template-columns:1fr }
:is(.prima-description, #content .prima-description) .prima-product-card { padding:18px }
:is(.prima-description, #content .prima-description) .prima-product-meta { flex-wrap:wrap;gap:7px }
:is(.prima-description, #content .prima-description) .prima-product-card>img { height:180px }
:is(.prima-description, #content .prima-description) .prima-product-card h3 { font-size:26px }
:is(.prima-description, #content .prima-description) .prima-product-card .prima-button { font-size:10px;padding:12px 10px }
:is(.prima-description, #content .prima-description) .prima-product-card .prima-button .prima-icon { display:none }
:is(.prima-description, #content .prima-description) .prima-callout { padding:20px;gap:14px }
:is(.prima-description, #content .prima-description) .prima-table th,
:is(.prima-description, #content .prima-description) .prima-table td { padding:13px 18px }
:is(.prima-description, #content .prima-description) .prima-original th,
:is(.prima-description, #content .prima-description) .prima-original td { padding:10px 14px }
:is(.prima-description, #content .prima-description) .prima-cta { padding:27px }
:is(.prima-description, #content .prima-description) .prima-dialog-image { height:70dvh }
}
@media(max-width:600px) {
:is(.prima-description, #content .prima-description) .prima-product-grid { grid-template-columns:1fr }
:is(.prima-description, #content .prima-description) .prima-product-card { padding:24px }
:is(.prima-description, #content .prima-description) .prima-product-card>img { height:260px }
:is(.prima-description, #content .prima-description) .prima-product-card h3 { font-size:32px }
:is(.prima-description, #content .prima-description) .prima-product-card .prima-button { font-size:12px }
}
@media(max-width:430px) {
:is(.prima-description, #content .prima-description) .prima-grid--3:not(.prima-gallery) { grid-template-columns:1fr }
:is(.prima-description, #content .prima-description) .prima-usp { grid-template-columns:1fr }
:is(.prima-description, #content .prima-description) .prima-usp li:nth-child(2) { border-top:1px solid var(--prima-line);padding-top:22px }
:is(.prima-description, #content .prima-description) .prima-usp li:last-child { padding-bottom:0 }
:is(.prima-description, #content .prima-description) .prima-panel { padding:22px }
:is(.prima-description, #content .prima-description) .prima-hero { padding:0 }
:is(.prima-description, #content .prima-description) .prima-card { padding:24px }
:is(.prima-description, #content .prima-description) .prima-tiles { grid-template-columns:1fr }
:is(.prima-description, #content .prima-description) .prima-product-card h3 { font-size:30px }
:is(.prima-description, #content .prima-description) .prima-product-card h3 small { font-size:13px }
:is(.prima-description, #content .prima-description) .prima-product-card>img { height:240px }
:is(.prima-description, #content .prima-description) .prima-product-card { padding:22px }
:is(.prima-description, #content .prima-description) .prima-product-meta .prima-eyebrow { font-size:8px }
:is(.prima-description, #content .prima-description) .prima-badge { font-size:8px }
:is(.prima-description, #content .prima-description) .prima-product-card p { font-size:12px }
:is(.prima-description, #content .prima-description) .prima-product-list { font-size:10px }
:is(.prima-description, #content .prima-description) .prima-product-card .prima-button { font-size:12px }
:is(.prima-description, #content .prima-description) .prima-callout .prima-icon-box { width:32px;height:32px;flex-basis:32px }
:is(.prima-description, #content .prima-description) .prima-callout .prima-icon { width:21px;height:21px }
:is(.prima-description, #content .prima-description) .prima-callout { padding:18px 16px;gap:12px }
:is(.prima-description, #content .prima-description) .prima-table th {  }
:is(.prima-description, #content .prima-description) .prima-gallery { gap:8px }
:is(.prima-description, #content .prima-description) .prima-gallery figcaption { font-size:8px }
}
@media(prefers-reduced-motion:reduce) {
:is(.prima-description, #content .prima-description) * { transition:none!important;scroll-behavior:auto!important }
}
@media print {
:is(.prima-description, #content .prima-description) .prima-zoom-label { display:none }
:is(.prima-description, #content .prima-description) { background:white }
:is(.prima-description, #content .prima-description) .prima-section { break-inside:avoid }
:is(.prima-description, #content .prima-description) .prima-dialog { display:none }
}
:is(.prima-description, #content .prima-description) .prima-variants { padding:42px }
:is(.prima-description, #content .prima-description) .prima-variants .prima-section-head { margin-bottom:42px }
:is(.prima-description, #content .prima-description) .prima-variant-eyebrow { background:white;border-radius:999px;padding:7px 15px;color:var(--prima-ink);letter-spacing:1.4px }
:is(.prima-description, #content .prima-description) .prima-variants .prima-section-head h2 { font-size:clamp(29px,3.4vw,42px);line-height:1.2 }
:is(.prima-description, #content .prima-description) .prima-variants .prima-section-head p { max-width:none }
:is(.prima-description, #content .prima-description) .prima-variant-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;align-items:stretch }
:is(.prima-description, #content .prima-description) .prima-variant-card { position:relative;min-width:0;display:flex;flex-direction:column;padding:26px;background:white;border:2px solid transparent;border-radius:var(--prima-radius) }
:is(.prima-description, #content .prima-description) .prima-variant-card--current { border-color:var(--prima-bright) }
:is(.prima-description, #content .prima-description) .prima-variant-current { position:absolute;left:24px;top:0;transform:translateY(-50%);border-radius:999px;background:var(--prima-accent);color:white;padding:5px 12px;font-size:9px;font-weight:700;line-height:1.5;letter-spacing:.6px;text-transform:uppercase;white-space:nowrap }
:is(.prima-description, #content .prima-description) .prima-variant-meta { display:flex;align-items:center;justify-content:space-between;gap:10px;margin:4px 0 23px;font-size:10px;color:var(--prima-muted);flex-wrap:wrap }
:is(.prima-description, #content .prima-description) .prima-variant-meta .prima-eyebrow { margin:0;font-size:10px;letter-spacing:1.2px }
:is(.prima-description, #content .prima-description) .prima-variant-image { width:100%;aspect-ratio:961/900;object-fit:contain;border-radius:0;background:white }
:is(.prima-description, #content .prima-description) .prima-variant-size { font-size:clamp(29px,3.6vw,46px);line-height:1.25;font-weight:700;letter-spacing:-1.8px;white-space:nowrap;margin-top:22px }
:is(.prima-description, #content .prima-description) .prima-variant-size small { font-size:20px;color:var(--prima-muted);font-weight:600;letter-spacing:0;margin-left:4px }
:is(.prima-description, #content .prima-description) .prima-variant-name { font-size:14px;line-height:1.6;font-weight:500;color:var(--prima-ink);margin-top:12px;margin-bottom:22px }
:is(.prima-description, #content .prima-description) .prima-variant-specs { list-style:none;padding:18px 0;border-top:1px solid var(--prima-line);border-bottom:1px solid var(--prima-line);font-size:11px;line-height:1.9;color:var(--prima-muted);margin-top:auto!important;margin-bottom:22px!important }
:is(.prima-description, #content .prima-description) .prima-variant-specs li+li { margin-top:4px }
:is(.prima-description, #content .prima-description) .prima-variant-button { width:100%;background:var(--prima-ink);border-color:var(--prima-ink);font-size:13px;padding:15px 12px }
:is(.prima-description, #content .prima-description) .prima-variant-button:hover { background:#35434d;border-color:#35434d }
:is(.prima-description, #content .prima-description) .prima-variant-button--current { background:var(--prima-panel);border-color:var(--prima-panel);color:var(--prima-ink) }
:is(.prima-description, #content .prima-description) .prima-variant-button--current:hover { background:#dfedf6;border-color:#dfedf6 }
:is(.prima-description, #content .prima-description) .prima-variant-note { margin-top:22px;font-size:11px }
@media(max-width:1100px) {
:is(.prima-description, #content .prima-description) .prima-variants { padding:30px }
:is(.prima-description, #content .prima-description) .prima-variant-grid { gap:16px }
:is(.prima-description, #content .prima-description) .prima-variant-card { padding:21px }
:is(.prima-description, #content .prima-description) .prima-variant-size { font-size:34px }
:is(.prima-description, #content .prima-description) .prima-variant-size small { font-size:16px }
:is(.prima-description, #content .prima-description) .prima-variant-name { font-size:12px }
}
@media(max-width:850px) {
:is(.prima-description, #content .prima-description) .prima-variant-grid { grid-template-columns:1fr }
:is(.prima-description, #content .prima-description) .prima-variant-card { padding:28px }
:is(.prima-description, #content .prima-description) .prima-variant-image { max-height:360px }
:is(.prima-description, #content .prima-description) .prima-variant-size { font-size:42px }
:is(.prima-description, #content .prima-description) .prima-variant-size small { font-size:20px }
:is(.prima-description, #content .prima-description) .prima-variant-name { font-size:15px }
:is(.prima-description, #content .prima-description) .prima-variant-specs { font-size:13px }
:is(.prima-description, #content .prima-description) .prima-variant-grid { gap:30px }
:is(.prima-description, #content .prima-description) .prima-variant-meta { font-size:11px }
}
@media(max-width:430px) {
:is(.prima-description, #content .prima-description) .prima-variants { padding:22px }
:is(.prima-description, #content .prima-description) .prima-variant-card { padding:22px }
:is(.prima-description, #content .prima-description) .prima-variant-size { font-size:35px }
:is(.prima-description, #content .prima-description) .prima-variant-size small { font-size:17px }
:is(.prima-description, #content .prima-description) .prima-variant-name { font-size:13px }
:is(.prima-description, #content .prima-description) .prima-variant-specs { font-size:11px }
:is(.prima-description, #content .prima-description) .prima-variant-current { font-size:8px;left:18px }
:is(.prima-description, #content .prima-description) .prima-variant-meta { font-size:9px }
}

:is(.prima-description, #content .prima-description) { width:100%; max-width:100%; min-width:0; text-align:left; overflow-wrap:anywhere; }
:is(.prima-description, #content .prima-description) h2, :is(.prima-description, #content .prima-description) h3 { font-family:inherit; color:var(--prima-ink); text-transform:none; }
:is(.prima-description, #content .prima-description) button { text-transform:none; letter-spacing:normal; }
:is(.prima-description, #content .prima-description) img { max-width:100%; }
:is(.prima-description, #content .prima-description) [hidden] { display:none!important; }
:is(.prima-description, #content .prima-description) .prima-section:first-child { margin-top:0; }
:is(.prima-description, #content .prima-description) .prima-grid>*, :is(.prima-description, #content .prima-description) .prima-hero>*, :is(.prima-description, #content .prima-description) .prima-split>*, :is(.prima-description, #content .prima-description) .prima-detail-grid>*, :is(.prima-description, #content .prima-description) .prima-check-columns>*, :is(.prima-description, #content .prima-description) .prima-facts>*, :is(.prima-description, #content .prima-description) .prima-stats>*, :is(.prima-description, #content .prima-description) .prima-cta>* { min-width:0; }
:is(.prima-description, #content .prima-description) .prima-button, :is(.prima-description, #content .prima-description) .prima-tile, :is(.prima-description, #content .prima-description) .prima-document { text-decoration:none; white-space:normal; }
:is(.prima-description, #content .prima-description) .prima-document { width:100%; }
:is(.prima-description, #content .prima-description) .prima-usp, :is(.prima-description, #content .prima-description) .prima-numbered, :is(.prima-description, #content .prima-description) .prima-checklist, :is(.prima-description, #content .prima-description) .prima-product-list, :is(.prima-description, #content .prima-description) .prima-variant-specs { list-style:none; padding-left:0; }
:is(.prima-description, #content .prima-description) .prima-hotspot { left:var(--prima-x,50%); top:var(--prima-y,50%); }
:is(.prima-description, #content .prima-description) .prima-table-wrap { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; }
:is(.prima-description, #content .prima-description) .prima-table { table-layout:auto; margin:0; border-spacing:0; }
:is(.prima-description, #content .prima-description) .prima-table th, :is(.prima-description, #content .prima-description) .prima-table td { width:auto; vertical-align:top; }
:is(.prima-description, #content .prima-description) .prima-table thead th { font-weight:600; }
:is(.prima-description, #content .prima-description) .prima-table--parameters th { width:45%; }
:is(.prima-description, #content .prima-description) .prima-original { color:#4f5c65; }
:is(.prima-description, #content .prima-description) .prima-original h2 { margin:28px 0 14px; font-size:24px; letter-spacing:-.4px; }
:is(.prima-description, #content .prima-description) .prima-original h3 { margin:24px 0 12px; font-size:18px; }
:is(.prima-description, #content .prima-description) .prima-original ol { padding-left:24px; margin:16px 0 24px; list-style:decimal; }
:is(.prima-description, #content .prima-description) .prima-original ul { list-style:disc; }
:is(.prima-description, #content .prima-description) .prima-original img { max-width:100%; height:auto; }
:is(.prima-description, #content .prima-description) .prima-original th, :is(.prima-description, #content .prima-description) .prima-original td { vertical-align:top; width:auto; }
:is(.prima-description, #content .prima-description) .prima-original thead th { font-weight:600; }
:is(.prima-description, #content .prima-description) .prima-original .prima-table--parameters th { width:45%; }
:is(.prima-description, #content .prima-description) .prima-original .prima-table-wrap { margin:22px 0; }
:is(.prima-description, #content .prima-description) .prima-original .prima-table-wrap table { margin:0; border:0; border-radius:0; }
:is(.prima-description, #content .prima-description) .prima-table--layout,
:is(.prima-description, #content .prima-description) .prima-original .prima-table--layout { border:0; background:transparent; }
:is(.prima-description, #content .prima-description) .prima-table--layout th, :is(.prima-description, #content .prima-description) .prima-table--layout td { width:auto; padding:10px; border:0; background:transparent; color:inherit; font-weight:inherit; }
:is(.prima-description, #content .prima-description) .prima-original .prima-table--layout th, :is(.prima-description, #content .prima-description) .prima-original .prima-table--layout td { width:auto; border:0; background:transparent; color:inherit; font-weight:inherit; }
:is(.prima-description, #content .prima-description) .prima-variant-size { white-space:normal; }
:is(.prima-description, #content .prima-description) .prima-variant-current { max-width:calc(100% - 36px); white-space:normal; }
@media(max-width:720px) {
 :is(.prima-description, #content .prima-description) .prima-grid--2 { grid-template-columns:1fr; }
 :is(.prima-description, #content .prima-description) .prima-variant-size { white-space:normal; }
 :is(.prima-description, #content .prima-description) .prima-table--wide { min-width:600px; }
 :is(.prima-description, #content .prima-description) .prima-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media(max-width:430px) {
 :is(.prima-description, #content .prima-description) .prima-hero h2 { font-size:28px; }
 :is(.prima-description, #content .prima-description) .prima-gallery { grid-template-columns:1fr; }
 :is(.prima-description, #content .prima-description) .prima-cta-actions { min-width:0; }
}
