/* ==========================================================================
   RUBIKON KOUPELNY — vizuální sjednocení e-shopu s rubikon.cz
   Shoptet, šablona Classic (template-11)
   Vloží se do: Administrace → Vzhled a obsah → Editor vzhledu → Vlastní CSS
   ========================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Hanken+Grotesk:ital,wght@0,300..800;1,300..800&display=swap');

:root{
  --rb-yellow:#FCC300;
  --rb-yellow-d:#E0AC00;
  --rb-ink:#141414;
  --rb-ink-2:#1C1C1A;
  --rb-paper:#FFFFFF;
  --rb-bg:#F5F4EF;
  --rb-bg-2:#ECEAE2;
  --rb-stone:#6E6D66;
  --rb-concrete:#3C403F;
  --rb-line:rgba(20,20,20,.13);
  --rb-font:"Hanken Grotesk",system-ui,Arial,sans-serif;
}

/* --- 0. Typografický základ ------------------------------------------- */
body,
body input, body select, body textarea, body button,
.btn, .product .name, .price-final{
  font-family:var(--rb-font) !important;
}
body{ color:var(--rb-ink); font-size:16px; line-height:1.55; }

h1,h2,h3,h4,h5,
.homepage-group-title,
.products-block .title,
#content h1, #content h2, #content h3{
  font-family:var(--rb-font) !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
  color:var(--rb-ink) !important;
  text-transform:none !important;
}
h1{ font-size:2.1rem; line-height:1.12; }
h2{ font-size:1.65rem; line-height:1.15; }
a{ color:var(--rb-ink); }
a:hover{ color:var(--rb-ink); text-decoration:underline; text-underline-offset:3px; }

/* --- 1. Horní servisní lišta ------------------------------------------- */
.top-navigation-bar{
  background:var(--rb-ink) !important;
  border:0 !important;
}
.top-navigation-bar,
.top-navigation-bar a,
.top-navigation-bar .top-navigation-menu a{
  color:#fff !important;
  font-size:12.5px !important;
  letter-spacing:.06em;
  text-transform:uppercase;
  font-weight:500;
}
.top-navigation-bar a:hover{ color:var(--rb-yellow) !important; text-decoration:none; }

/* doprava zdarma pruh */
.dopravabanner{
  background:var(--rb-ink) !important;
  color:#fff !important;
  font-weight:600; letter-spacing:.04em; text-transform:uppercase; font-size:12.5px;
  margin:0 !important; padding:9px 0 !important;
}
.dopravabanner svg path{ fill:var(--rb-yellow) !important; }

/* --- 2. Hlavička ------------------------------------------------------- */
#header,
.navigation-wrapper,
.header-top{
  background:var(--rb-paper) !important;
  color:var(--rb-ink) !important;
}
#header{ border-bottom:1px solid var(--rb-line); box-shadow:none !important; }
.header-top{ padding:18px 0 16px !important; }
#header a{ color:var(--rb-ink) !important; }
#header a:hover{ color:var(--rb-ink) !important; }
.site-name img{ max-height:56px; width:auto; }

/* kontakty / telefon v hlavičce */
#header .store-info a,
#header .header-top .contact-box a{ font-weight:600; }
#header strong, #header b{ color:var(--rb-ink) !important; }

/* vyhledávání */
#header .search-form input.search-input,
#formSearchForm input.query-input{
  border:1px solid var(--rb-ink) !important;
  border-radius:0 !important;
  height:46px !important;
  padding:0 16px !important;
  font-size:15px !important;
  box-shadow:none !important;
  background:var(--rb-paper) !important;
  color:var(--rb-ink) !important;
}
#header .search-form input.search-input::placeholder{ color:var(--rb-stone) !important; }
#header .search-form .btn,
#formSearchForm button.btn{
  background:var(--rb-yellow) !important;
  border:1px solid var(--rb-ink) !important;
  border-left:0 !important;
  color:var(--rb-ink) !important;
  border-radius:0 !important;
  height:46px !important;
  font-weight:700 !important;
  letter-spacing:.06em; text-transform:uppercase; font-size:13px !important;
  padding:0 22px !important;
}
#header .search-form .btn:hover,
#formSearchForm button.btn:hover{ background:var(--rb-yellow-d) !important; }

/* košík + účet */
.navigation-buttons .cart-count,
#header .cart-count{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
  border-radius:0 !important; font-weight:800;
}

/* --- 3. Hlavní menu ---------------------------------------------------- */
#navigation,
.navigation-window,
#navigation .navigation-in{
  background:var(--rb-paper) !important;
  border-top:1px solid var(--rb-line);
  border-bottom:1px solid var(--rb-line);
}
#navigation .menu-level-1 > li > a{
  color:var(--rb-ink) !important;
  font-weight:600 !important;
  font-size:14px !important;
  letter-spacing:.05em;
  text-transform:uppercase;
  padding:16px 16px !important;
  border:0 !important;
  background:transparent !important;
  position:relative;
}
#navigation .menu-level-1 > li > a::after{
  content:""; position:absolute; left:16px; right:16px; bottom:9px;
  height:3px; background:var(--rb-yellow); transform:scaleX(0);
  transform-origin:left; transition:transform .18s ease;
}
#navigation .menu-level-1 > li:hover > a::after,
#navigation .menu-level-1 > li.active > a::after,
#navigation .menu-level-1 > li.exp > a::after{ transform:scaleX(1); }
#navigation .menu-level-1 > li > a:hover{ background:transparent !important; text-decoration:none; }

/* zvýrazněná položka OUTLET */
#navigation .menu-level-1 > li:first-child > a{ color:var(--rb-ink) !important; }
#navigation .menu-level-1 > li:first-child > a::after{ transform:scaleX(1); background:var(--rb-yellow); }

/* rozbalovací menu */
#navigation ul.menu-level-2,
#navigation .menu-level-2{
  background:var(--rb-paper) !important;
  border:1px solid var(--rb-line) !important;
  border-radius:0 !important;
  box-shadow:0 18px 40px rgba(20,20,20,.10) !important;
}
#navigation .menu-level-2 a{ font-weight:500 !important; font-size:14px !important; text-transform:none !important; }
#navigation .menu-level-2 a:hover{ color:var(--rb-ink) !important; text-decoration:underline; text-underline-offset:3px; }

/* --- 4. Drobečková navigace -------------------------------------------- */
.breadcrumbs, #breadcrumbs, .breadcrumbs-wrapper{
  background:transparent !important; border:0 !important;
  font-size:13px !important;
}
.breadcrumbs a, .breadcrumbs span{ color:var(--rb-stone) !important; }
.breadcrumbs a:hover{ color:var(--rb-ink) !important; }

/* --- 5. Tlačítka ------------------------------------------------------- */
.btn, button.btn, a.btn, input[type=submit],
.btn-primary, .btn-default, .btn-conversion, .add-to-cart-button{
  border-radius:0 !important;
  font-weight:700 !important;
  letter-spacing:.04em;
  box-shadow:none !important;
  transition:background .16s ease, color .16s ease, border-color .16s ease;
}
.btn-primary, .btn-conversion, .add-to-cart-button, .btn-cart,
.p-tools .btn, .products .btn{
  background:var(--rb-yellow) !important;
  border:1px solid var(--rb-yellow) !important;
  color:var(--rb-ink) !important;
  text-transform:uppercase; font-size:13px !important;
}
.btn-primary:hover, .btn-conversion:hover, .add-to-cart-button:hover,
.btn-cart:hover, .p-tools .btn:hover{
  background:var(--rb-yellow-d) !important; border-color:var(--rb-yellow-d) !important; color:var(--rb-ink) !important;
}
.btn-default, .btn-secondary{
  background:transparent !important;
  border:1px solid var(--rb-ink) !important;
  color:var(--rb-ink) !important;
}
.btn-default:hover, .btn-secondary:hover{ background:var(--rb-ink) !important; color:#fff !important; }

/* formulářové prvky */
input[type=text], input[type=email], input[type=password], input[type=tel],
input[type=number], select, textarea, .form-control{
  border-radius:0 !important;
  border:1px solid var(--rb-line) !important;
  box-shadow:none !important;
}
input:focus, select:focus, textarea:focus, .form-control:focus{
  border-color:var(--rb-ink) !important; outline:0 !important; box-shadow:none !important;
}

/* --- 6. Pruh výhod pod sliderem ---------------------------------------- */
.benefit, .benefits, .benefit-wrapper, .banners-row,
.next-to-carousel-banners{
  background:var(--rb-bg) !important;
}
.benefit .text, .benefit-text, .benefits .text{
  color:var(--rb-ink) !important; font-size:14px !important; font-weight:600 !important;
}
.benefit svg path, .benefit i{ color:var(--rb-ink) !important; fill:var(--rb-ink) !important; }

/* --- 7. Nadpisy sekcí na homepage -------------------------------------- */
.homepage-group-title,
.products-block > h2,
h2.homepage-group-title,
#content .homepage-group-title{
  text-align:left !important;
  font-size:1.8rem !important;
  padding:0 0 12px !important;
  margin:48px 0 24px !important;
  border-bottom:1px solid var(--rb-ink) !important;
  text-transform:none !important;
}
.homepage-group-title::before,
.homepage-group-title::after{ display:none !important; }

/* --- 8. Produktové dlaždice -------------------------------------------- */
.products .product,
.product .p{
  border-radius:0 !important;
  box-shadow:none !important;
}
.product .p{
  border:1px solid var(--rb-line) !important;
  background:var(--rb-paper) !important;
  transition:border-color .16s ease, box-shadow .16s ease, transform .16s ease;
}
.product .p:hover{
  border-color:var(--rb-ink) !important;
  box-shadow:0 10px 26px rgba(20,20,20,.08) !important;
}
.product .p .name,
.product a.name{
  color:var(--rb-ink) !important;
  font-weight:600 !important;
  font-size:15px !important;
  line-height:1.35 !important;
  min-height:0 !important;
}
.product a.name:hover{ text-decoration:underline; text-underline-offset:3px; }

.product .price-final,
.product .price-final strong,
.p-detail .price-final strong{
  color:var(--rb-ink) !important;
  font-weight:800 !important;
  letter-spacing:-.02em !important;
}
.product .price-final strong{ font-size:1.32rem !important; }
.product .price-standard, .price-standard span{ color:var(--rb-stone) !important; }
.product .price-save, .price-save{ color:var(--rb-ink) !important; font-weight:700 !important; }
.product .pr-list-unit{ color:var(--rb-stone) !important; font-weight:500 !important; }

.availability span, .availability-amount{ font-weight:600 !important; }
.availability .availability-amount{ color:var(--rb-stone) !important; }

/* tlačítko do košíku v dlaždici */
.product .btn-cart, .product .add-to-cart-button{
  width:100%; justify-content:center; height:42px;
}

/* --- 9. Štítky (flagy) ------------------------------------------------- */
.flag, .flags .flag, span.flag{
  border-radius:0 !important;
  text-transform:uppercase !important;
  font-weight:800 !important;
  font-size:10.5px !important;
  letter-spacing:.08em !important;
  padding:5px 9px !important;
  box-shadow:none !important;
  border:0 !important;
}
.flag-discount, .flag.flag-discount{
  background:var(--rb-ink) !important; color:#fff !important;
}
.flag-discount .price-standard,
.flag-discount .price-save{ color:#fff !important; }
.flag-new, .flag.flag-new{ background:var(--rb-yellow) !important; color:var(--rb-ink) !important; }
.flag-action, .flag.flag-action,
.flag-tip, .flag.flag-tip{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
}
.flag-custom1, .flag-custom2, .flag-custom3,
.flag-freeshipping, .flag-sellout{
  background:var(--rb-concrete) !important; color:#fff !important;
}

/* --- 10. Detail produktu ----------------------------------------------- */
.p-detail .p-final-price-wrapper .price-final,
.p-detail-inner-header h1{ color:var(--rb-ink) !important; }
.p-detail .add-to-cart .btn{ height:52px; font-size:14px !important; }
.p-detail .p-image-wrapper, .p-detail .p-thumbnails a{ border-radius:0 !important; }
.p-detail .p-thumbnails a{ border:1px solid var(--rb-line) !important; }
.p-detail .p-thumbnails a.selected{ border-color:var(--rb-ink) !important; }
#tabs .tabs li a, .p-detail-tabs a{
  border-radius:0 !important; text-transform:uppercase; letter-spacing:.05em;
  font-weight:700 !important; font-size:13px !important;
}

/* --- 11. Boxy v postranním sloupci ------------------------------------- */
#categories, .box, .banner-wrapper, .sidebar .box{
  border-radius:0 !important; box-shadow:none !important;
}
.sidebar .box, #categories{ border:1px solid var(--rb-line) !important; }
.sidebar h4, .sidebar .h4, #categories .topic{
  text-transform:uppercase; letter-spacing:.06em; font-size:13px !important; font-weight:800 !important;
}

/* --- 12. Patička ------------------------------------------------------- */
#footer{
  background:var(--rb-ink) !important;
  color:rgba(255,255,255,.78) !important;
  border-top:4px solid var(--rb-yellow);
  padding-top:44px !important;
}
#footer a{ color:rgba(255,255,255,.78) !important; }
#footer a:hover{ color:var(--rb-yellow) !important; text-decoration:none; }
#footer h4, #footer .h4, #footer strong, #footer .footer-title{
  color:#fff !important; text-transform:uppercase; letter-spacing:.06em;
  font-size:13px !important; font-weight:800 !important; margin-bottom:14px !important;
}
/* oprava překrývání loga a textu v patičce */
#footer img{ max-width:100%; height:auto; display:block; }
#footer .custom-footer, #footer .footer-rows{ position:relative; overflow:hidden; }
#footer [class*="col-"]{ min-width:0; }
#footer .site-name img, #footer .footer-logo img{ max-width:190px; margin-bottom:16px; }
#footer hr{ border-color:rgba(255,255,255,.14) !important; }
.footer-bottom, #signature, .copyright{
  background:var(--rb-ink) !important; color:rgba(255,255,255,.55) !important;
  border-top:1px solid rgba(255,255,255,.12) !important;
  font-size:12.5px !important;
}
.footer-bottom a, #signature a{ color:rgba(255,255,255,.7) !important; }

/* --- 13. Plovoucí widgety — ať nepřekrývají obsah ----------------------- */
.ophWidget, #ophWidget, .heureka-badge, [class*="ophWidget"]{
  opacity:.35; transition:opacity .2s ease;
}
.ophWidget:hover, #ophWidget:hover, [class*="ophWidget"]:hover{ opacity:1; }

/* --- 14. Drobnosti ----------------------------------------------------- */
::selection{ background:var(--rb-yellow); color:var(--rb-ink); }
.pagination a, .pagination span{ border-radius:0 !important; }
.pagination .active span, .pagination a:hover{
  background:var(--rb-ink) !important; color:#fff !important; border-color:var(--rb-ink) !important;
}

/* ==========================================================================
   ČÁST 2 — opravy proti reálnému HTML e-shopu (testováno v prohlížeči)
   ========================================================================== */

/* --- Žlutý „přesah“ kolem menu: nav má obří žlutý box-shadow ----------- */
#header *, #navigation, #navigation .navigation-in, .menu-helper, .header-top{
  box-shadow:none !important;
}
#navigation .menu-level-1 > li{ border:0 !important; }
#navigation .menu-level-1 > li + li{ border-left:1px solid var(--rb-line) !important; }
.header-top{ padding-bottom:30px !important; }

/* --- Štítky: od obecného ke konkrétnímu -------------------------------- */
.product .flags .flag, .products .flags .flag{
  background:var(--rb-concrete) !important; color:#fff !important;
}
.product .flags .flag.flag-new, .products .flags .flag.flag-new{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
}
.product .flags .flag.flag-action, .product .flags .flag.flag-tip,
.products .flags .flag.flag-action, .products .flags .flag.flag-tip{
  background:var(--rb-ink) !important; color:#fff !important;
}
/* štítky se slevovým kódem (dřív červené) */
.product .flags .flag[class*="salecodeflag"],
.product .flags .flag[class*="kod-"],
.product .flags .flag[class*="sleva-"],
.products .flags .flag[class*="salecodeflag"]{
  background:var(--rb-ink) !important; color:var(--rb-yellow) !important;
}
/* procentní sleva v ceníkovém řádku – lehká, ne černý blok */
.product .flags-extra .flag.flag-discount,
.products .flags-extra .flag.flag-discount{
  background:transparent !important; color:var(--rb-ink) !important;
  padding:0 !important; white-space:nowrap !important; display:inline-flex !important;
  align-items:baseline; gap:8px; font-weight:700 !important; font-size:12.5px !important;
  letter-spacing:0 !important;
}
.product .flags-extra .flag-discount .price-standard,
.product .flags-extra .flag-discount .price-standard span{
  color:var(--rb-stone) !important; text-decoration:line-through; font-weight:500 !important;
}
.product .flags-extra .flag-discount .price-save{ color:var(--rb-ink) !important; font-weight:800 !important; }
.product .flags-extra .flag.flag-freeshipping{
  background:transparent !important; color:var(--rb-concrete) !important; padding:0 !important;
}

/* --- Box se slevovým kódem („Vaše cena … s kódem …“) ------------------- */
.dm-coupon-div{
  background:var(--rb-bg) !important;
  border:1px solid var(--rb-ink) !important;
  border-radius:0 !important;
  color:var(--rb-ink) !important;
  font-size:13px !important; font-weight:600 !important;
  padding:8px 10px !important;
}
.dm-coupon-div *{ color:var(--rb-ink) !important; }
.dm-coupon-div .action-dm-price, .dm-coupon-div .action-dm-coupon,
span.action-dm-price, span.action-dm-coupon{
  color:var(--rb-ink) !important; font-weight:800 !important;
}
.dm-coupon-div .action-dm-coupon{ background:var(--rb-yellow) !important; padding:1px 6px !important; }

/* --- Ceny a dlaždice --------------------------------------------------- */
.product .prices{ display:flex; align-items:baseline; gap:8px; }
.product .price-final strong{ font-size:1.42rem !important; }
.product .availability span{ color:var(--rb-concrete) !important; }
.product .p-in-in{ padding:12px 12px 0 !important; }
.product .p-bottom{ padding:0 12px 12px !important; }
.product .btn-cart, .product .add-to-cart-button{
  width:auto !important; padding:0 18px !important; height:42px;
}
/* název na 2 řádky s výpustkou – jinak se ořezával o cenový řádek */
.products .product a.name, .product .p-in-in a.name{
  display:-webkit-box !important; -webkit-line-clamp:2; -webkit-box-orient:vertical;
  overflow:hidden !important; text-overflow:ellipsis;
  min-height:2.8em !important; max-height:2.8em !important; margin-bottom:6px !important;
}
.products .product a.name span{ display:inline !important; }

/* --- Patička: uvnitř #footer jsou žluté bloky, je nutné je přebít ------ */
#footer .footer-rows, #footer .custom-footer, #footer .footer-bottom,
#footer .container.footer-rows, #footer .container.footer-bottom,
div.custom-footer.elements-3{
  background:transparent !important; color:rgba(255,255,255,.8) !important;
}
#footer .custom-footer *, #footer .footer-rows *{ color:rgba(255,255,255,.8) !important; }
#footer .custom-footer a:hover{ color:var(--rb-yellow) !important; }
#footer h4, #footer .h4, #footer strong, #footer b, #footer .footer-title,
#footer .custom-footer h4, #footer .custom-footer strong{ color:#fff !important; }
#footer ul li a{ color:rgba(255,255,255,.8) !important; }
#footer .footer-bottom, #footer .footer-bottom *{ color:rgba(255,255,255,.55) !important; }
#footer img{ display:inline-block !important; max-width:100%; height:auto; }
#footer .custom-footer > div{ border:0 !important; }
#footer [class*="col"], #footer .box{ border-color:rgba(255,255,255,.15) !important; }

/* --- Řazení ve výpisu -------------------------------------------------- */
.sort-bar a.active, .browse-sort a.active, #content .sort a.active{
  color:var(--rb-ink) !important; font-weight:800 !important;
}

/* ==========================================================================
   ČÁST 3 — hlavička bez překryvů, carousel, košík
   ========================================================================== */

/* --- Hlavička: víc místa, ať se telefony nepřekrývají s menu ----------- */
.header-top{ padding:16px 0 46px !important; }
.navigation-buttons{ height:auto !important; }
.navigation-buttons .newtel{ font-size:12.5px !important; line-height:1.35 !important; }
.navigation-buttons .newtel a,
.navigation-buttons .newtel strong{ font-size:14px !important; font-weight:700 !important; }
.site-name-wrapper .store-info{ font-size:13px !important; line-height:1.35 !important; }
#navigation{ margin-top:2px !important; }

/* --- Carousel na homepage --------------------------------------------- */
#carousel .carousel-control{ background:transparent !important; opacity:1 !important; }
#carousel .carousel-control::before,
#carousel .carousel-control::after{
  border-radius:0 !important;
  background-color:rgba(255,255,255,.94) !important;
  color:var(--rb-ink) !important;
  border:1px solid var(--rb-ink) !important;
  box-shadow:none !important;
}
#carousel .carousel-control:hover::before,
#carousel .carousel-control:hover::after{ background-color:var(--rb-yellow) !important; }
.carousel-indicators li{ border-radius:0 !important; background:rgba(20,20,20,.25) !important; border:0 !important; }
.carousel-indicators li.active{ background:var(--rb-ink) !important; }
/* sloupec bannerů vedle carouselu nemá mít béžový podklad */
.next-to-carousel-banners{ background:transparent !important; }

/* --- Košík: kroky objednávky ------------------------------------------ */
ol.cart-header{ border-bottom:1px solid var(--rb-line) !important; }
ol.cart-header .step strong, ol.cart-header .step a{
  text-transform:uppercase; letter-spacing:.05em;
  font-size:13px !important; font-weight:700 !important;
  color:var(--rb-stone) !important;
}
ol.cart-header .step.active strong{ color:var(--rb-ink) !important; }
ol.cart-header .step::before,
ol.cart-header .step > span:first-child{ border-radius:0 !important; }
ol.cart-header .step.active::before{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important; border-color:var(--rb-ink) !important;
}
ol.cart-header .step.active{ border-bottom:3px solid var(--rb-yellow) !important; }

/* žlutý text na bílé je nečitelný -> ink, případně žlutý podklad */
.free-shipping strong, .cart-free-shipping strong,
#content .free-shipping-info strong{
  color:var(--rb-ink) !important; background:var(--rb-yellow) !important; padding:2px 8px !important;
}
#content strong[style*="fcc"], .cart-content strong{ color:var(--rb-ink) !important; }

/* souhrn objednávky */
.cart-summary, .order-summary, #checkoutSidebar{
  border:1px solid var(--rb-line) !important; border-radius:0 !important;
}
.cart-summary .price, .order-summary .price{ font-weight:800 !important; letter-spacing:-.02em; }

/* ==========================================================================
   ČÁST 4 — nová horní lišta podle návrhu
   Patří k ní HTML blok ze souboru rubikon-horni-lista.html, který se vkládá
   do: Vzhled a obsah → Editor vzhledu → HTML kódy → „za začátek stránky“.
   ========================================================================== */

.rb-topbar{ background:var(--rb-ink); color:#fff; font-family:var(--rb-font); }
.rb-topbar__in{
  max-width:1418px; margin:0 auto; padding:9px 20px;
  display:flex; align-items:center; gap:26px; flex-wrap:wrap;
}
.rb-topbar__brand{
  font-size:11.5px; font-weight:600; letter-spacing:.18em; text-transform:uppercase;
  color:#fff; max-width:230px; line-height:1.5;
}
.rb-topbar__spacer{ flex:1 1 auto; }
.rb-topbar a{ color:#fff !important; text-decoration:none; font-size:12.5px; }
.rb-topbar a:hover{ color:var(--rb-yellow) !important; text-decoration:none; }
.rb-topbar__link--accent,
.rb-topbar__link--accent:hover{ color:var(--rb-yellow) !important; font-weight:700; }
.rb-topbar__tel{ font-size:12.5px; color:rgba(255,255,255,.72); white-space:nowrap; }
.rb-topbar__tel b{ color:#fff; font-weight:700; font-size:13.5px; margin-left:6px; }

.rb-shipbar{
  background:var(--rb-yellow); color:var(--rb-ink); text-align:center;
  font-family:var(--rb-font); font-size:12px; font-weight:700; letter-spacing:.045em;
  text-transform:uppercase; padding:9px 20px; line-height:1.4;
}

/* původní žlutý pruh dopravy (doplněk dklab) a prázdná lišta šablony pryč */
.dklab-delivery-box.position-above-header,
p.dopravabanner{ display:none !important; }

/* POZOR: .top-navigation-bar se smí skrývat JEN na desktopu.
   Na mobilu je uvnitř ní hamburger (.responsive-tools > .toggle-window),
   takže display:none bez omezení šířky rozbalovací menu úplně zruší. */
@media (min-width:992px){
  .top-navigation-bar{ display:none !important; }
}

@media (max-width:991px){
  .rb-topbar__brand{ display:none; }
  .rb-topbar__tel:first-of-type{ display:none; }
  .rb-shipbar{ font-size:10.5px; }
}

/* telefony jsou nově nahoře – v hlavičce se neopakují */
.navigation-buttons .newtel{ display:none !important; }
@media (min-width:992px){ .navigation-buttons .newico{ display:none !important; } }
.navigation-buttons{ display:flex !important; align-items:center; gap:16px; justify-content:flex-end; }
.navigation-buttons > *{ position:relative !important; }
.header-top{ padding:18px 0 22px !important; }

/* menu psané větami místo verzálek, Outlet jako žlutý blok */
#navigation .menu-level-1 > li > a{
  text-transform:lowercase !important;
  font-size:15px !important; font-weight:600 !important; letter-spacing:0 !important;
  padding:15px 18px !important;
}
#navigation .menu-level-1 > li > a::first-letter{ text-transform:uppercase !important; }
#navigation .menu-level-1 > li,
#navigation .menu-level-1 > li + li{ border:0 !important; }
#navigation .menu-level-1 > li:first-child > a{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important; font-weight:700 !important;
}
#navigation .menu-level-1 > li:first-child > a::after{ display:none !important; }

/* ==========================================================================
   ČÁST 5 — jednotné písmo v celém e-shopu
   ========================================================================== */
/* POZOR: pseudoprvky (::before/::after) se schválně nepřepisují — nesou ikonové fonty */
html, body, body *,
input, select, textarea, button, optgroup, option,
.btn, h1, h2, h3, h4, h5, h6,
#order-form, #order-form *, #checkoutSidebar, #checkoutSidebar *,
.colorbox-html-content, .colorbox-html-content *,
#footer, #footer *, .rb-topbar, .rb-shipbar{
  font-family:"Hanken Grotesk", system-ui, Arial, sans-serif !important;
}
.bi, [class^="bi-"], [class*=" bi-"]{ font-family:bootstrap-icons !important; }
[class^="icon-"], [class*=" icon-"], .shoptet-icon, .glyphicon{ font-family:shoptet !important; }

/* ==========================================================================
   ČÁST 6 — lišta kategorií a rozbalovací menu
   POZOR: rozvržení navigace řídí šablona. Nesahat na position, display,
   height, margin, padding, float ani width — zkoušel jsem to a rozbilo to
   jak lištu, tak megamenu (šablona si je pozicuje sama). Jen vzhled.
   ========================================================================== */
#navigation{
  background:#fff !important;
  border-top:1px solid var(--rb-line) !important;
  border-bottom:1px solid var(--rb-line) !important;
}
#navigation .navigation-in{ background:transparent !important; }
#navigation .menu-level-1 > li > a{
  position:relative;
  color:var(--rb-ink) !important; font-size:15px !important; font-weight:600 !important;
  text-transform:lowercase !important; letter-spacing:0 !important;
  background:transparent !important; border:0 !important;
}
#navigation .menu-level-1 > li > a::first-letter{ text-transform:uppercase !important; }
#navigation .menu-level-1 > li > a:hover{ background:transparent !important; text-decoration:none !important; }
#navigation .menu-level-1 > li:first-child > a{ color:var(--rb-yellow-d) !important; font-weight:800 !important; }

/* megamenu — jen barvy a písmo */
#navigation ul.menu-level-2{
  background:#fff !important; border:1px solid var(--rb-ink) !important; border-radius:0 !important;
  box-shadow:0 24px 48px rgba(20,20,20,.14) !important;
}
#navigation .menu-level-2 > li > a.menu-image{
  font-size:14px !important; font-weight:700 !important; color:var(--rb-ink) !important;
  text-transform:none !important; letter-spacing:.01em !important;
}
#navigation .menu-level-2 > li > a.menu-image img{ border:1px solid var(--rb-line) !important; border-radius:0 !important; }
#navigation .menu-level-2 > li > div a{
  color:var(--rb-stone) !important; font-size:12.5px !important; font-weight:400 !important; text-transform:none !important;
}
#navigation .menu-level-2 > li > div a:hover{ color:var(--rb-ink) !important; text-decoration:underline; text-underline-offset:2px; }

/* ==========================================================================
   ČÁST 7 — produktová dlaždice podle návrhu
   ========================================================================== */
.products .product{ background:transparent !important; }
.products .product .p{
  border:1px solid var(--rb-ink) !important; background:#fff !important; border-radius:0 !important;
  position:relative; display:flex; flex-direction:column; box-shadow:none !important;
  transition:box-shadow .16s ease;
}
.products .product .p:hover{ box-shadow:9px 9px 0 var(--rb-yellow) !important; }
.products .product .p > a.image{
  display:block !important; position:relative;
  border-bottom:1px solid rgba(20,20,20,.12); padding:20px !important; margin:0 !important;
}
.products .product .flags.flags-default{
  position:absolute !important; top:0 !important; left:0 !important; right:auto !important; bottom:auto !important;
  display:flex !important; flex-direction:column; align-items:flex-start; gap:0;
  margin:0 !important; padding:0 !important; z-index:3;
}
.products .product .flags-default .flag,
.products .product .flags-default .flag.flag-new,
.products .product .flags-default .flag.flag-action,
.products .product .flags-default .flag.flag-tip,
.products .product .flags-default .flag[class*="salecodeflag"],
.products .product .flags-default .flag[class*="kod-"],
.products .product .flags-default .flag[class*="sleva-"]{
  background:var(--rb-ink) !important; color:#fff !important;
  border-radius:0 !important; padding:8px 15px !important;
  font-size:13.5px !important; font-weight:700 !important; letter-spacing:0 !important;
  text-transform:lowercase !important; line-height:1.2;
}
.products .product .flags-default .flag::first-letter{ text-transform:uppercase !important; }
.products .product .p-in-in{ padding:18px 18px 0 !important; }
.products .product a.name{
  font-size:17px !important; font-weight:700 !important; line-height:1.35 !important;
  color:var(--rb-ink) !important; min-height:2.7em !important; max-height:2.7em !important; margin:0 0 10px !important;
}
.products .product .ratings-wrapper,
.products .product .availability{ text-align:left !important; float:none !important; width:100% !important; }
.products .product .availability{ display:block !important; margin:0 !important; font-size:15px !important; }
.products .product .availability span{ font-weight:600 !important; }
.products .product .availability > span:first-child::before{
  content:""; display:inline-block; width:8px; height:8px; border-radius:50%;
  background:#2E7D32; margin-right:8px; vertical-align:middle;
}
.products .product .p-bottom{ padding:0 18px 18px !important; }
.products .product .p-bottom > div{ display:block !important; }
.products .product .prices{ display:flex !important; align-items:baseline; gap:12px; margin:14px 0 0 !important; flex-wrap:wrap; }
.products .product .price-final strong{ font-size:1.75rem !important; font-weight:800 !important; letter-spacing:-.03em !important; }
.products .product .pr-list-unit{ font-size:13px !important; }
.products .product .flags.flags-extra{ position:static !important; display:block !important; margin:0 !important; padding:0 !important; }
.products .product .flags-extra .flag-discount{
  background:transparent !important; color:var(--rb-ink) !important; padding:0 !important;
  display:inline-flex !important; align-items:baseline; gap:10px;
}
.products .product .flags-extra .price-standard,
.products .product .flags-extra .price-standard span{
  color:var(--rb-stone) !important; text-decoration:line-through; font-weight:500 !important; font-size:15px !important;
}
.products .product .flags-extra .price-save{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
  padding:2px 8px !important; font-weight:800 !important; font-size:12.5px !important;
}
.products .product .p-tools{ width:100% !important; display:block !important; margin-top:16px !important; }
.products .product .p-tools form, .products .product .pr-action{ width:100% !important; display:block !important; }
.products .product .btn-cart, .products .product .add-to-cart-button{
  width:100% !important; height:52px !important; padding:0 !important;
  background:var(--rb-ink) !important; border:1px solid var(--rb-ink) !important; color:#fff !important;
  font-size:15px !important; font-weight:700 !important; letter-spacing:0 !important;
  text-transform:none !important; border-radius:0 !important;
  display:flex !important; align-items:center; justify-content:center;
}
.products .product .btn-cart::before, .products .product .btn-cart i,
.products .product .add-to-cart-button::before{ display:none !important; }
.products .product .btn-cart:hover, .products .product .add-to-cart-button:hover{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
}

/* ==========================================================================
   ČÁST 8 — megamenu, rozklik kategorií, okno „Přidáno do košíku“
   ========================================================================== */
#navigation ul.menu-level-2{
  background:#fff !important; border:1px solid var(--rb-ink) !important;
  box-shadow:0 24px 48px rgba(20,20,20,.14) !important; padding:26px 22px !important;
}
#navigation .menu-level-2 > li > a{
  font-size:14px !important; font-weight:700 !important; color:var(--rb-ink) !important;
  text-transform:none !important; letter-spacing:.02em !important; line-height:1.3 !important;
}
#navigation .menu-level-2 > li > div,
#navigation .menu-level-2 > li > div a{
  font-size:13px !important; font-weight:400 !important; color:var(--rb-stone) !important;
  text-transform:none !important; line-height:1.55 !important;
}
#navigation .menu-level-2 > li > div a:hover{ color:var(--rb-ink) !important; }
#navigation .menu-level-2 a.menu-image img{ border-radius:0 !important; border:1px solid var(--rb-line); }

.category-top ul.subcategories.with-image{ margin:0 -8px 8px !important; }
.category-top ul.subcategories.with-image > li{ padding:0 8px 16px !important; }
.category-top ul.subcategories.with-image > li > a{
  border:1px solid var(--rb-line) !important; border-radius:0 !important;
  background:#fff !important; color:var(--rb-ink) !important;
  font-size:13.5px !important; font-weight:700 !important; letter-spacing:.03em !important;
  min-height:66px !important; display:flex !important; align-items:center; gap:14px;
  padding:10px 16px 10px 10px !important; line-height:1.3 !important;
  transition:border-color .15s ease, box-shadow .15s ease;
}
.category-top ul.subcategories.with-image > li > a:hover{
  border-color:var(--rb-ink) !important; box-shadow:5px 5px 0 var(--rb-yellow) !important; text-decoration:none !important;
}
.category-top ul.subcategories.with-image img{ border-radius:0 !important; border:1px solid var(--rb-line); }

#colorbox, #cboxWrapper, #cboxContent, #cboxLoadedContent{ border-radius:0 !important; }
#cboxContent{ border:1px solid var(--rb-ink) !important; box-shadow:0 30px 60px rgba(20,20,20,.22) !important; }
#cboxLoadedContent{ padding:34px 40px 36px !important; background:#fff !important; }
/* POZOR: na #colorbox se NESMÍ nastavovat width ani height.
   Colorbox si rozměry počítá skriptem a zapisuje je inline; každé
   !important je přebije a okno spadne na výšku 0 px — zákazník pak po
   vložení do košíku vidí jen tmavý překryv a nic jiného.
   Dřív tu bylo width:620px + height:auto !important, což přesně tohle
   způsobilo. Měníme proto jen vzhled, ne rozměry. */
#cboxTopLeft,#cboxTopCenter,#cboxTopRight,#cboxBottomLeft,#cboxBottomCenter,
#cboxBottomRight,#cboxMiddleLeft,#cboxMiddleRight{ display:none !important; }
.colorbox-html-content .advanced-order{ text-align:center; }
.colorbox-html-content .h1{ font-size:1.6rem !important; font-weight:800 !important; letter-spacing:-.02em !important; color:var(--rb-ink) !important; margin:0 0 10px !important; }
.colorbox-html-content .h2{ font-size:1.05rem !important; font-weight:500 !important; color:var(--rb-stone) !important; margin:0 0 26px !important; }
.colorbox-html-content .extras-wrap{ display:flex; align-items:center; justify-content:center; gap:22px; }
.colorbox-html-content .extras-wrap a.btn{
  background:var(--rb-yellow) !important; border:1px solid var(--rb-ink) !important; color:var(--rb-ink) !important;
  border-radius:0 !important; height:50px; display:inline-flex; align-items:center; padding:0 26px !important;
  text-transform:uppercase; font-weight:700 !important; font-size:13px !important; letter-spacing:.05em;
}
.colorbox-html-content .extras-wrap a:not(.btn){ color:var(--rb-ink) !important; font-weight:600; }

/* ==========================================================================
   ČÁST 9 — objednávka: doprava & platba
   ========================================================================== */
b.shipping-billing-name{ color:var(--rb-ink) !important; font-weight:800 !important; }
.radio-wrapper{ border-radius:0 !important; }
/* POZOR: třída .active zůstává i na dříve zvolené možnosti, takže se
   podle ní barvit nesmí – podbarvovaly se dva řádky najednou.
   Zvýraznění řeší :has(input:checked) v ČÁSTI 26. */
.radio-wrapper.active{ background:transparent !important; box-shadow:none !important; }
strong.recapitulation-shipping-billing-info span,
.recapitulation-single span{ color:var(--rb-ink) !important; font-weight:700 !important; }
#order-form select, #order-form input[type=text], #order-form input[type=email],
#order-form input[type=tel], #order-form textarea{
  border-radius:0 !important; border:1px solid var(--rb-line) !important; height:48px !important;
  box-shadow:none !important; background:#fff !important;
}
#order-form select:focus, #order-form input:focus{ border-color:var(--rb-ink) !important; }
.contact-box, #checkoutSidebar .contact-box, .cart-help-box{
  background:var(--rb-bg) !important; border:1px solid var(--rb-line) !important; border-radius:0 !important;
}
.contact-box *, .cart-help-box *{ color:var(--rb-ink) !important; }
#checkoutSidebar a, .order-summary a, .cart-summary a{ color:var(--rb-ink) !important; font-weight:600 !important; }
.order-summary-total, .cart-summary .total, #checkoutSidebar .total{ font-weight:800 !important; letter-spacing:-.03em !important; }

/* ==========================================================================
   ČÁST 10 — detail produktu
   ========================================================================== */
.p-detail h1, .p-detail-inner-header h1{
  font-size:2rem !important; font-weight:800 !important; letter-spacing:-.02em !important;
  color:var(--rb-ink) !important; margin:0 0 10px !important;
}
.p-detail .p-code, .p-detail .p-code-wrapper{ color:var(--rb-stone) !important; font-size:13px !important; }
.p-detail .flags .flag, .p-detail .flag{
  background:var(--rb-ink) !important; color:#fff !important; border:0 !important; border-radius:0 !important;
  padding:6px 13px !important; font-size:12.5px !important; font-weight:700 !important;
  letter-spacing:0 !important; text-transform:lowercase !important;
}
.p-detail .flags .flag::first-letter{ text-transform:uppercase !important; }

/* galerie */
.p-detail .p-image-wrapper img{ border-radius:0 !important; }
.p-thumbnails a.p-thumbnail{ border:1px solid var(--rb-line) !important; border-radius:0 !important; box-shadow:none !important; outline:0 !important; }
.p-thumbnails a.p-thumbnail img{ border:0 !important; border-radius:0 !important; }
.p-thumbnails a.p-thumbnail::before, .p-thumbnails a.p-thumbnail::after{ display:none !important; }
.p-thumbnails a.p-thumbnail.highlighted,
.p-thumbnails a.p-thumbnail:hover{ border:1px solid var(--rb-ink) !important; box-shadow:inset 0 0 0 1px var(--rb-ink) !important; }

/* cena — pořadí: hlavní cena, jednotka, přeškrtnutá, procento */
.p-detail .p-final-price-wrapper{ display:flex !important; flex-wrap:wrap; align-items:baseline; gap:12px; margin:6px 0 4px !important; }
.p-detail .p-final-price-wrapper .price-final{ order:1; color:var(--rb-ink) !important; font-weight:800 !important; letter-spacing:-.03em !important; font-size:2.3rem !important; }
.p-detail .p-final-price-wrapper .price-measure{ order:2; color:var(--rb-stone) !important; font-size:14px !important; }
.p-detail .p-final-price-wrapper .price-standard,
.p-detail .p-final-price-wrapper .price-standard span{ order:3; color:var(--rb-stone) !important; text-decoration:line-through !important; font-weight:500 !important; font-size:16px !important; }
.p-detail .p-final-price-wrapper .price-save{ order:4; background:var(--rb-yellow) !important; color:var(--rb-ink) !important; padding:2px 9px !important; font-weight:800 !important; font-size:13px !important; }

/* dostupnost */
.p-detail .availability-value{ font-size:17px !important; font-weight:700 !important; }
.p-detail .availability-value span{ color:#2E7D32 !important; }
.p-detail .availability-value > span:first-child::before{
  content:""; display:inline-block; width:9px; height:9px; border-radius:50%;
  background:#2E7D32; margin-right:9px; vertical-align:middle;
}
.p-detail .delivery-time{ color:var(--rb-stone) !important; }

/* množství + tlačítko */
.p-detail .add-to-cart{ margin-top:18px !important; }
.p-detail .add-to-cart .quantity input, .p-detail input.amount{
  height:56px !important; border:1px solid var(--rb-ink) !important; border-radius:0 !important;
  font-size:17px !important; font-weight:700 !important; text-align:center;
}
.p-detail .add-to-cart .increase, .p-detail .add-to-cart .decrease{
  border:1px solid var(--rb-ink) !important; border-left:0 !important; border-radius:0 !important;
  background:#fff !important; color:var(--rb-ink) !important;
}
.p-detail .add-to-cart .btn,
.p-detail .add-to-cart button.btn-conversion,
.p-detail .add-to-cart .add-to-cart-button{
  height:56px !important; background:var(--rb-ink) !important; border:1px solid var(--rb-ink) !important; color:#fff !important;
  border-radius:0 !important; font-size:16px !important; font-weight:700 !important; letter-spacing:0 !important;
  text-transform:none !important; padding:0 34px !important;
  display:inline-flex !important; align-items:center; justify-content:center;
}
.p-detail .add-to-cart .btn::before, .p-detail .add-to-cart .btn i{ display:none !important; }
.p-detail .add-to-cart .btn:hover{ background:var(--rb-yellow) !important; color:var(--rb-ink) !important; }

/* odkazy v detailu */
.p-detail a, #rating a, a.show-tooltip{ color:var(--rb-ink) !important; }
.p-detail a:hover{ text-decoration:underline; text-underline-offset:3px; }
.btn--link, .js-ratingDialogTrigger{
  color:var(--rb-ink) !important; outline-color:var(--rb-ink) !important;
  font-weight:600 !important; text-decoration:underline; text-underline-offset:3px;
}

/* záložky Popis / Diskuze */
.shp-tabs-holder{ background:transparent !important; border-bottom:1px solid var(--rb-line) !important; }
ul.shp-tabs, ul.p-detail-tabs{ background:transparent !important; border:0 !important; margin:0 !important; }
ul.shp-tabs li.shp-tab, ul.p-detail-tabs li{ background:transparent !important; border:0 !important; margin:0 !important; }
ul.shp-tabs li.shp-tab a, ul.p-detail-tabs li a{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  color:var(--rb-stone) !important; font-weight:700 !important; font-size:16px !important;
  text-transform:none !important; letter-spacing:0 !important; padding:14px 22px !important; display:inline-block;
}
ul.shp-tabs li.shp-tab.active a, ul.p-detail-tabs li.active a{
  color:var(--rb-ink) !important; box-shadow:inset 0 -3px 0 var(--rb-yellow) !important;
}
ul.shp-tabs li.shp-tab a:hover{ color:var(--rb-ink) !important; text-decoration:none !important; }

/* tabulka parametrů */
table.pdp-table{ width:100% !important; border-collapse:collapse !important; margin:0 0 22px !important; }
table.pdp-table tr{ border-bottom:1px solid var(--rb-line) !important; }
table.pdp-table td, table.pdp-table th{ padding:10px 0 !important; vertical-align:top !important; font-size:15px !important; line-height:1.45 !important; }
table.pdp-table td.feature-title{ color:var(--rb-stone) !important; font-weight:500 !important; width:44% !important; }
table.pdp-table td:not(.feature-title){ color:var(--rb-ink) !important; font-weight:600 !important; }
table.pdp-table ul, table.pdp-table li{ list-style:none !important; margin:0 !important; padding:0 !important; }
table.pdp-table li::marker{ content:"" !important; }
table.pdp-table thead th, .pdp-table .header{
  font-weight:800 !important; color:var(--rb-ink) !important; font-size:1.05rem !important;
  text-align:left; padding-top:22px !important; border-bottom:1px solid var(--rb-ink) !important;
}

/* postranní boxy */
.banner-contact, .banner-contact.has-border{ border:1px solid var(--rb-line) !important; background:var(--rb-bg) !important; border-radius:0 !important; }
.banner-contact *{ color:var(--rb-ink) !important; }
.banner-contact .btn{ background:transparent !important; border:1px solid var(--rb-ink) !important; color:var(--rb-ink) !important; border-radius:0 !important; }
.banner-contact .btn:hover{ background:var(--rb-ink) !important; color:#fff !important; }

/* ==========================================================================
   ČÁST 11 — štítky: velikost a psaní podle typu
   ========================================================================== */
.products .product .flags-default .flag{ text-transform:none !important; font-size:11.5px !important; padding:6px 11px !important; letter-spacing:.02em !important; }
.products .product .flags-default .flag.flag-new,
.products .product .flags-default .flag.flag-action,
.products .product .flags-default .flag.flag-tip,
.products .product .flags-default .flag.flag-sellout,
.products .product .flags-default .flag.flag-custom1,
.products .product .flags-default .flag.flag-custom2{ text-transform:lowercase !important; font-size:13px !important; padding:7px 14px !important; }
.products .product .flags-default .flag[class*="salecodeflag"],
.products .product .flags-default .flag[class*="kod-"],
.products .product .flags-default .flag[class*="sleva-"]{ text-transform:none !important; font-size:11px !important; padding:5px 10px !important; }
.products-inline .product .flags-default .flag,
.carousel .product .flags-default .flag{ font-size:11px !important; padding:5px 9px !important; }

.dm-coupon-div, .dm-coupon-div *,
span.action-dm-price, span.action-dm-coupon{ color:var(--rb-ink) !important; }
.dm-coupon-div{ font-size:12.5px !important; line-height:1.4 !important; text-align:center; }
.dm-coupon-div .action-dm-coupon{ background:var(--rb-yellow) !important; padding:1px 6px !important; font-weight:800 !important; white-space:nowrap; }

/* horní lišta na jeden řádek, dokud je místo */
.rb-topbar__in{ max-width:1400px; flex-wrap:nowrap !important; gap:22px; justify-content:flex-end; }
.rb-topbar__brand{ margin-right:auto; max-width:none; white-space:nowrap; }
@media (max-width:1280px){ .rb-topbar__brand{ display:none; } }
@media (max-width:1080px){ .rb-topbar__in{ flex-wrap:wrap !important; justify-content:center; gap:10px 18px; } }

/* ==========================================================================
   ČÁST 12 — boční filtry, řazení, stránkování
   ========================================================================== */
#category-filter-hover, .filter-sections{ background:#fff !important; }
.filter-section{ border-top:1px solid var(--rb-line) !important; padding:18px 0 14px !important; background:transparent !important; }
.filter-section:first-child{ border-top:0 !important; }
.filter-section h4, .filter-section .h4{
  font-size:12px !important; font-weight:800 !important; text-transform:uppercase !important;
  letter-spacing:.08em !important; color:var(--rb-ink) !important; margin:0 0 12px !important;
}
.filter-section label{ font-size:14.5px !important; color:var(--rb-ink) !important; line-height:1.45; }
.filter-section input[type=checkbox], .filter-section input[type=radio]{ accent-color:var(--rb-ink); }
/* dlouhé seznamy (značky, formát, barva) dostanou vlastní scroll místo nekonečného sloupce */
.filter-section fieldset{ max-height:300px; overflow-y:auto; padding-right:8px; }
.filter-section fieldset::-webkit-scrollbar{ width:6px; }
.filter-section fieldset::-webkit-scrollbar-thumb{ background:rgba(20,20,20,.25); }
.filter-section fieldset::-webkit-scrollbar-track{ background:rgba(20,20,20,.06); }

/* řazení výpisu */
#category-header, .category-header{
  background:transparent !important;
  border-top:1px solid var(--rb-line) !important;
  border-bottom:1px solid var(--rb-line) !important;
}
.listSorting{ background:transparent !important; }
.listSorting__control{
  background:transparent !important; border:0 !important; border-radius:0 !important;
  color:var(--rb-stone) !important; font-weight:700 !important; font-size:14.5px !important;
  padding:14px 16px !important; text-transform:none !important; letter-spacing:0 !important;
}
.listSorting__control:hover{ color:var(--rb-ink) !important; }
.listSorting__control--current,
.listSorting__control--current:hover,
.listSorting__control.active{ color:var(--rb-ink) !important; box-shadow:inset 0 -3px 0 var(--rb-yellow) !important; }
#category-header .category-header-count{ color:var(--rb-stone) !important; font-size:14px !important; }
#category-header .category-header-count strong{ color:var(--rb-ink) !important; font-weight:800 !important; }

/* zobrazit více + stránkování */
.button-wrapper .btn, .toggle-top-products{
  background:transparent !important; border:1px solid var(--rb-ink) !important; color:var(--rb-ink) !important;
  border-radius:0 !important; font-weight:700 !important; font-size:14px !important;
  text-transform:none !important; letter-spacing:0 !important; padding:14px 28px !important;
}
.button-wrapper .btn:hover, .toggle-top-products:hover{ background:var(--rb-ink) !important; color:#fff !important; }
.pagination{ margin:32px 0 !important; }
.pagination a, .pagination span{
  border-radius:0 !important; border:1px solid var(--rb-line) !important; color:var(--rb-ink) !important;
  min-width:42px; height:42px; display:inline-flex; align-items:center; justify-content:center; font-weight:700 !important;
}
.pagination .active span, .pagination a:hover{ background:var(--rb-ink) !important; color:#fff !important; border-color:var(--rb-ink) !important; }

/* ==========================================================================
   ČÁST 13 — košík a účet v hlavičce bez žlutého podkladu
   ========================================================================== */
.navigation-buttons .cart-count,
#header .cart-count,
.navigation-buttons a.btn.btn-icon,
.navigation-buttons .newicolog,
.navigation-buttons .newicolog a,
.navigation-buttons .newicolog span,
.navigation-buttons .newico,
.navigation-buttons .newico a{
  background:transparent !important; background-color:transparent !important;
  border:0 !important; border-radius:0 !important; box-shadow:none !important;
  color:var(--rb-ink) !important;
}
.navigation-buttons .cart-count *,
.navigation-buttons .newicolog *{ background:transparent !important; color:var(--rb-ink) !important; }
.navigation-buttons .cart-count{ font-weight:800 !important; font-size:15px !important; padding:6px 4px !important; }
.navigation-buttons .cart-count:hover, .navigation-buttons .cart-count:hover *,
.navigation-buttons .newicolog:hover, .navigation-buttons .newicolog:hover *{ color:var(--rb-yellow-d) !important; }
/* počet kusů zůstává jako malý žlutý štítek, ať je vidět */
.navigation-buttons .cart-count i[data-count],
.navigation-buttons .cart-count .cart-count-value,
.navigation-buttons .cart-count sup{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
  font-size:11px !important; font-weight:800 !important; padding:1px 5px !important; border-radius:0 !important;
}

/* ==========================================================================
   ČÁST 14 — dlouhé seznamy podkategorií (15 a víc) kompaktně
   Nezávislé na URL — rozhoduje počet položek, ne adresa kategorie,
   takže to přežije i změnu adres z feedu.
   ========================================================================== */
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) > a > span.image,
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) ~ li > a > span.image{ display:none !important; }
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) > a,
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) ~ li > a{
  border:0 !important; border-bottom:1px solid var(--rb-line) !important;
  min-height:0 !important; padding:12px 4px !important;
  font-size:14px !important; font-weight:600 !important; letter-spacing:0 !important; box-shadow:none !important;
}
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) > a:hover,
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) ~ li > a:hover{
  box-shadow:none !important; border-bottom-color:var(--rb-ink) !important; color:var(--rb-ink) !important;
}
.category-top ul.subcategories.with-image > li:nth-last-child(n+15),
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) ~ li{ padding:0 8px !important; }

/* ==========================================================================
   ČÁST 15 — cenový řádek v dlaždici na jeden řádek
   Přeškrtnutá cena a procento se v úzké dlaždici lámaly přes dva řádky.
   ========================================================================== */
.products .product .flags-extra .price-standard,
.products .product .flags-extra .price-standard span,
.products .product .flags-extra .price-save{ white-space:nowrap !important; }
.products .product .prices{ gap:8px 10px; }
.products .product .flags-extra .flag-discount{ flex-wrap:nowrap !important; }

/* ==========================================================================
   ČÁST 16 — hover na liště kategorií
   Žlutý podtón + žluté podtržení. Řešeno přes box-shadow inset, ne přes
   pseudoprvek — nepotřebuje pozicování, takže nesahá na rozvržení šablony
   (viz varování v ČÁSTI 6).
   ========================================================================== */
#navigation .menu-level-1 > li > a{ transition:background-color .15s ease, box-shadow .15s ease; }
#navigation .menu-level-1 > li > a:hover,
#navigation .menu-level-1 > li:hover > a{
  background-color:rgba(252,195,0,.20) !important;
  color:var(--rb-ink) !important;
  box-shadow:inset 0 -3px 0 var(--rb-yellow) !important;
  text-decoration:none !important;
}
#navigation .menu-level-1 > li.active > a,
#navigation .menu-level-1 > li.exp > a{
  box-shadow:inset 0 -3px 0 var(--rb-yellow) !important; color:var(--rb-ink) !important;
}
#navigation .menu-level-1 > li:first-child > a:hover{ background-color:rgba(252,195,0,.32) !important; }

/* ==========================================================================
   ČÁST 17 — lišta kategorií: jedna dělící linka a vycentrovaný text
   Šablona kreslí #navigation vysoký 32 px, ale odkazy uvnitř mají 39 px,
   takže spodní linka text protínala a nic nesedělo na střed. Odkaz je teď
   přesně 32 px (9 + 14 + 9) a lišta nemá vlastní linky — dělí ji spodní
   linka hlavičky.
   ========================================================================== */
#navigation{ border-top:0 !important; border-bottom:0 !important; }
#navigation .menu-level-1 > li > a{
  padding-top:9px !important; padding-bottom:9px !important; line-height:14px !important;
}
#header{ border-bottom:1px solid var(--rb-line) !important; }

/* ==========================================================================
   ČÁST 18 — počet kusů u košíku
   Číslo zapadalo do ikony. Teď je to žlutý kolečkový štítek nad pravým
   rohem vozíku, s bílým lemem, aby se od ikony oddělil.
   ========================================================================== */
.navigation-buttons .cart-count > i{
  position:absolute !important; top:-6px !important; left:16px !important; right:auto !important; bottom:auto !important;
  min-width:18px !important; height:18px !important; padding:0 4px !important;
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
  border:2px solid #fff !important; border-radius:9px !important;
  font-size:11px !important; font-weight:800 !important; font-style:normal !important;
  line-height:14px !important; text-align:center !important;
  display:flex !important; align-items:center; justify-content:center;
  box-shadow:none !important; z-index:4;
}
.navigation-buttons .cart-count{ padding-top:10px !important; }

/* ==========================================================================
   ČÁST 19 — pruh výhod na homepage
   Byl celý žlutý přes celou šířku. Rubikon používá žlutou střídmě, takže
   pruh je teď na světlém podkladu s tenkými linkami a černými ikonami.
   ========================================================================== */
.benefitBanner{
  background:var(--rb-bg) !important;
  border-top:1px solid var(--rb-line) !important;
  border-bottom:1px solid var(--rb-line) !important;
  padding:34px 0 !important;
}
.benefitBanner__item{ background:transparent !important; }
.benefitBanner__img{ filter:brightness(0); opacity:.9; }
.benefitBanner__title{
  color:var(--rb-ink) !important; font-size:15px !important; font-weight:600 !important;
  letter-spacing:0 !important; text-transform:none !important; line-height:1.35 !important;
}
.benefitBanner .benefitBanner__heading, .benefitBanner h2, .benefitBanner h3{
  color:var(--rb-stone) !important; font-size:12px !important; font-weight:800 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important; margin:0 0 26px !important;
}

/* ==========================================================================
   ČÁST 20 — OPRAVA: kontaktní box v patičce
   Pravidlo pro .banner-contact z ČÁSTI 10 platilo i v patičce — světlý box
   se světlým textem na tmavém pozadí nebyl čitelný.
   ========================================================================== */
#footer .banner-contact,
#footer .banner-contact.has-border,
#footer .contact-box{ background:transparent !important; border:0 !important; }
#footer .banner-contact *, #footer .contact-box *{ color:rgba(255,255,255,.8) !important; }
#footer .banner-contact a:hover, #footer .contact-box a:hover{ color:var(--rb-yellow) !important; }

/* ==========================================================================
   ČÁST 21 — pruh výhod „Nejste pro nás čárový kód!"
   Žlutá zůstává. Opraveno: pruh byl 3378 px široký (dvojnásobek okna),
   takže první a poslední ikona padaly mimo obrazovku a viditelné byly
   jen tři z pěti. Teď je pruh přes celou šířku okna a pět položek si ji
   dělí přesně na pětiny; nadpis má vlastní řádek nad nimi.
   ========================================================================== */
.benefitBanner{
  background:var(--rb-yellow) !important; border:0 !important;
  width:auto !important; max-width:none !important;
  margin-left:calc(50% - 50vw) !important; margin-right:calc(50% - 50vw) !important;
  padding-left:calc(50vw - 50%) !important; padding-right:calc(50vw - 50%) !important;
  padding-top:30px !important; padding-bottom:30px !important;
  display:flex !important; flex-wrap:wrap !important;
  justify-content:flex-start !important; align-items:flex-start;
}
.benefitBanner__item{
  box-sizing:border-box !important;
  flex:0 0 20% !important; width:20% !important; max-width:20% !important; min-width:0 !important;
  padding:0 12px !important; text-align:center; background:transparent !important;
}
.benefitBanner__title{
  color:var(--rb-ink) !important; font-size:14.5px !important; font-weight:600 !important;
  letter-spacing:0 !important; text-transform:none !important; line-height:1.35 !important;
}
/* nadpis pruhu — vlastní řádek přes celou šířku */
.benefitBanner > *:not(.benefitBanner__item){
  flex:0 0 100% !important; width:100% !important; max-width:100% !important;
  text-align:center !important; margin:0 0 24px !important;
  color:var(--rb-ink) !important; font-size:13px !important; font-weight:800 !important;
  letter-spacing:.14em !important; text-transform:uppercase !important; line-height:1.3 !important;
}

/* ==========================================================================
   ČÁST 22 — náhled košíku v hlavičce
   Ceny byly žluté a nečitelné, tlačítko celý žlutý pruh, pod položkami
   zbývalo prázdné místo.
   ========================================================================== */
#cart-widget, .cart-widget, .popup-widget.cart-widget{
  border:1px solid var(--rb-ink) !important; border-radius:0 !important;
  box-shadow:0 24px 48px rgba(20,20,20,.16) !important; background:#fff !important;
}
#cart-widget *, .cart-widget *{ font-family:var(--rb-font) !important; }
.cart-widget-inner{ padding:0 !important; }
.cart-widget-product{
  display:flex !important; align-items:center; gap:14px;
  padding:14px 18px !important; margin:0 !important;
  border-bottom:1px solid var(--rb-line) !important;
}
.cart-widget-product:last-of-type{ border-bottom:0 !important; }
.cart-widget-product-image img{ border:1px solid var(--rb-line) !important; border-radius:0 !important; }
.cart-widget-product-name, .cart-widget-product a{
  color:var(--rb-ink) !important; font-size:14.5px !important; font-weight:600 !important; line-height:1.35 !important;
}
/* cena je prostý span uvnitř názvu — proto tento selektor */
.cart-widget-product-name span{
  color:var(--rb-ink) !important; font-weight:800 !important; font-size:15px !important; letter-spacing:-.01em !important;
}
.cart-widget-product-amount input.amount{
  border:1px solid var(--rb-line) !important; border-radius:0 !important; height:34px !important;
  font-size:14px !important; font-weight:600 !important; color:var(--rb-ink) !important; text-align:center;
}
.cart-widget-product-amount .increase, .cart-widget-product-amount .decrease{
  border:1px solid var(--rb-line) !important; border-left:0 !important; border-radius:0 !important;
  background:#fff !important; color:var(--rb-ink) !important;
}
.cart-widget-product .remove-item{ color:var(--rb-stone) !important; }
.cart-widget-product .remove-item:hover{ color:var(--rb-ink) !important; }
.cart-widget-button{ padding:0 !important; margin:0 !important; border-top:1px solid var(--rb-line) !important; }
#continue-order-button, #cart-widget .btn-conversion{
  background:var(--rb-ink) !important; border:0 !important; color:#fff !important; border-radius:0 !important;
  width:100% !important; height:56px !important; display:flex !important; align-items:center; justify-content:center;
  font-size:15px !important; font-weight:700 !important; letter-spacing:0 !important; text-transform:none !important;
}
#continue-order-button:hover, #cart-widget .btn-conversion:hover{ background:var(--rb-yellow) !important; color:var(--rb-ink) !important; }
#continue-order-button::after, #continue-order-button i{ display:none !important; }
.cart-widget-products, .cart-widget-products-inner{ max-height:none !important; }

/* ==========================================================================
   ČÁST 23 — rozbalené podkategorie (megamenu): sjednocené náhledy
   Náhledy měly různou velikost, ořez i podklad (jeden na černé), takže
   mřížka poskakovala. Podtitulky se ořezávaly třemi tečkami uprostřed slova.
   ========================================================================== */
#navigation .menu-level-2 a.menu-image img{
  width:56px !important; height:56px !important; object-fit:contain !important;
  background:#fff !important; border:1px solid var(--rb-line) !important; border-radius:0 !important;
  padding:4px !important; box-sizing:border-box !important; transition:border-color .15s ease;
}
#navigation .menu-level-2 > li > div{
  max-height:none !important; height:auto !important; overflow:visible !important;
  text-overflow:clip !important; white-space:normal !important; -webkit-line-clamp:none !important;
}

/* ==========================================================================
   ČÁST 24 — jednotná zpětná vazba při najetí myší
   Všude, kam se dá „stoupnout", má být vidět, že je to aktivní: žlutý
   podtón, podtržení nebo zvýrazněný rámeček.
   ========================================================================== */
#navigation .menu-level-2 > li{ transition:background-color .15s ease; }
#navigation .menu-level-2 > li:hover{ background-color:rgba(252,195,0,.16) !important; }
#navigation .menu-level-2 > li:hover a.menu-image{
  color:var(--rb-ink) !important; text-decoration:underline !important; text-underline-offset:3px;
}
#navigation .menu-level-2 > li:hover a.menu-image img{ border-color:var(--rb-ink) !important; }
#navigation .menu-level-2 > li > div a:hover{
  color:var(--rb-ink) !important; background:rgba(252,195,0,.35) !important; text-decoration:none !important;
}

/* POZOR: na .filter-section label nesahat na padding ani margin — šablona
   má zaškrtávátko poziciované napevno a popisky se ořežou zleva. */
.filter-section label{ transition:color .12s ease; }
.filter-section label:hover{
  color:var(--rb-ink) !important; text-decoration:underline !important;
  text-underline-offset:3px; cursor:pointer;
}

.breadcrumbs a{ transition:color .12s ease; }
.breadcrumbs a:hover{ color:var(--rb-ink) !important; text-decoration:underline; text-underline-offset:3px; }

.listSorting__control{ transition:background-color .12s ease, color .12s ease, box-shadow .12s ease; }
.listSorting__control:hover{ background-color:rgba(252,195,0,.18) !important; color:var(--rb-ink) !important; }

.pagination a{ transition:background-color .12s ease, color .12s ease; }
#footer ul li a{ transition:color .12s ease; }
.products .product a.name{ transition:color .12s ease; }
.products .product .p:hover a.name{ text-decoration:underline; text-underline-offset:3px; }
.p-thumbnails a.p-thumbnail{ transition:border-color .12s ease, box-shadow .12s ease; }

/* ==========================================================================
   ČÁST 25 — rozklik kategorie: jednotný kompaktní seznam VŠUDE
   Dřív měl tři podoby (dlaždice do 14 položek, seznam od 15, u koncových
   kategorií nic). Teď vypadá stejně bez ohledu na počet podkategorií;
   koncové kategorie jako Baterie a sprchy jdou přirozeně rovnou na produkty.
   Přebíjí dlaždicovou variantu z ČÁSTI 8 i počítadlo z ČÁSTI 14.
   ========================================================================== */
.category-top ul.subcategories.with-image{ margin:0 -10px 10px !important; }
.category-top ul.subcategories.with-image > li,
.category-top ul.subcategories.with-image > li:nth-last-child(n+15),
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) ~ li{ padding:0 10px !important; }
.category-top ul.subcategories.with-image > li > a,
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) > a,
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) ~ li > a{
  display:flex !important; align-items:center; justify-content:space-between; gap:10px;
  border:0 !important; border-bottom:1px solid var(--rb-line) !important; border-radius:0 !important;
  background:transparent !important; color:var(--rb-ink) !important;
  min-height:0 !important; max-height:none !important; padding:13px 4px !important;
  font-size:14.5px !important; font-weight:600 !important; letter-spacing:0 !important;
  line-height:1.35 !important; box-shadow:none !important;
  transition:color .12s ease, border-color .12s ease, background-color .12s ease;
}
.category-top ul.subcategories.with-image > li > a > span.image{ display:none !important; }
.category-top ul.subcategories.with-image > li > a:hover,
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) > a:hover,
.category-top ul.subcategories.with-image > li:nth-last-child(n+15) ~ li > a:hover{
  background-color:rgba(252,195,0,.18) !important; border-bottom-color:var(--rb-ink) !important;
  color:var(--rb-ink) !important; text-decoration:none !important; box-shadow:none !important;
}

/* ============================================================
   ČÁST 26 – OBJEDNÁVKA KROK 2 (doprava a platba)
   ============================================================ */

/* nadpisy sekcí */
#order-form h4,
#order-form .h4,
.checkout-box h4,
#billing-address-title,
#delivery-address-title{
  font-weight:800 !important; letter-spacing:.06em !important; text-transform:uppercase !important;
  font-size:15px !important; color:var(--rb-ink) !important;
}

/* bloky sekcí – bílá karta s tenkou linkou, bez stínů a rádiusů */
#order-form .checkout-box,
#order-form fieldset,
.co-basket-box{
  background:var(--rb-paper) !important; border:1px solid var(--rb-line) !important;
  border-radius:0 !important; box-shadow:none !important;
}

/* řádky dopravy a platby */
#order-form .radio-wrapper,
.shipping-billing-table tr,
#shipping-billing-table tr{ border-radius:0 !important; }

#order-form .radio-wrapper{
  border:1px solid var(--rb-line) !important; border-left:3px solid transparent !important;
  background:var(--rb-paper) !important; box-shadow:none !important;
  transition:background-color .15s ease, border-color .15s ease !important;
}
#order-form .radio-wrapper:hover{
  background-color:rgba(252,195,0,.10) !important;
  border-left-color:var(--rb-yellow) !important;
}
#order-form .radio-wrapper:has(input:checked){
  background-color:rgba(252,195,0,.14) !important;
  border-left-color:var(--rb-yellow) !important;
}
#order-form .radio-wrapper label{
  font-weight:600 !important; color:var(--rb-ink) !important; letter-spacing:.01em !important;
}
#order-form .radio-wrapper:has(input:checked) label{ font-weight:800 !important; }

/* cena u dopravy/platby – tmavá, ne žlutá */
#order-form .radio-wrapper .price,
#order-form .radio-wrapper .shipping-price,
#order-form .radio-wrapper .payment-price,
#order-form .radio-wrapper strong{
  color:var(--rb-ink) !important; font-weight:800 !important; white-space:nowrap !important;
}

/* radia a checkboxy – žlutý akcent */
#order-form input[type="radio"],
#order-form input[type="checkbox"]{ accent-color:var(--rb-yellow) !important; }

/* formulářová pole */
#order-form input[type="text"],
#order-form input[type="email"],
#order-form input[type="tel"],
#order-form select,
#order-form textarea{
  border-radius:0 !important; border:1px solid var(--rb-line) !important;
  background:var(--rb-paper) !important; color:var(--rb-ink) !important; box-shadow:none !important;
}
#order-form input[type="text"]:focus,
#order-form input[type="email"]:focus,
#order-form input[type="tel"]:focus,
#order-form select:focus,
#order-form textarea:focus{
  border-color:var(--rb-ink) !important;
  box-shadow:inset 0 -2px 0 var(--rb-yellow) !important; outline:none !important;
}

/* upozornění (kupón) – místo křiklavě červené decentní pruh */
#order-form .msg,
#order-form .message,
.cart-message,
#checkoutSidebar .msg{
  background:var(--rb-bg) !important; border:1px solid var(--rb-line) !important;
  border-left:3px solid var(--rb-yellow) !important; border-radius:0 !important;
  color:var(--rb-ink) !important; font-weight:600 !important; box-shadow:none !important;
}
#order-form .msg a, .cart-message a{ color:var(--rb-ink) !important; text-decoration:underline !important; }

/* pravý sloupec – rekapitulace */
#checkoutSidebar,
.order-summary,
.order-summary-inner{
  background:var(--rb-paper) !important; border-radius:0 !important; box-shadow:none !important;
}
#checkoutSidebar .order-summary-inner{ border:1px solid var(--rb-line) !important; }
#checkoutSidebar h4, .order-summary h4, .recapitulation-title{
  font-weight:800 !important; letter-spacing:.06em !important; text-transform:uppercase !important;
  font-size:13px !important; color:var(--rb-stone) !important;
}
#checkoutSidebar .cart-item,
.order-summary .cart-item{ border-bottom:1px solid var(--rb-line) !important; }
#checkoutSidebar .cart-item-name a{ color:var(--rb-ink) !important; font-weight:600 !important; }
#checkoutSidebar .cart-item-name a:hover{ color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important; text-decoration:none !important; }
#checkoutSidebar .price-final,
#checkoutSidebar .cart-price-total,
.order-summary .price-final{
  color:var(--rb-ink) !important; font-weight:800 !important; letter-spacing:-.02em !important;
}

/* box "Potřebujete pomoc?" – bílý, tenká linka, žlutý podtrh nadpisu */
#checkoutSidebar .box-help,
#checkoutSidebar .help-box,
.order-summary .box-help,
#checkoutSidebar .contact-box{
  background:var(--rb-paper) !important; border:1px solid var(--rb-line) !important;
  border-radius:0 !important; box-shadow:none !important; text-align:center !important;
}
#checkoutSidebar .box-help strong,
#checkoutSidebar .help-box strong,
.order-summary .box-help strong{
  display:block !important; font-size:12px !important; font-weight:800 !important;
  letter-spacing:.08em !important; text-transform:uppercase !important; color:var(--rb-stone) !important;
}
#checkoutSidebar .box-help a,
#checkoutSidebar .help-box a,
.order-summary .box-help a{
  color:var(--rb-ink) !important; font-weight:800 !important; font-size:18px !important;
  letter-spacing:-.01em !important; text-decoration:none !important;
}
#checkoutSidebar .box-help a:hover,
.order-summary .box-help a:hover{ box-shadow:inset 0 -3px 0 var(--rb-yellow) !important; }

/* tlačítko POKRAČOVAT – černé, žluté při najetí */
#order-form .btn-conversion,
#checkoutSidebar .btn-conversion,
.order-summary .btn-conversion,
#submit-order,
.next-step-forward,
a.next-step-forward{
  background:var(--rb-ink) !important; background-image:none !important;
  color:#fff !important; border:1px solid var(--rb-ink) !important; border-radius:0 !important;
  font-weight:800 !important; letter-spacing:.08em !important; text-transform:uppercase !important;
  box-shadow:none !important; text-shadow:none !important; white-space:nowrap !important;
  transition:background-color .15s ease, color .15s ease !important;
}
#order-form .btn-conversion:hover,
#checkoutSidebar .btn-conversion:hover,
.order-summary .btn-conversion:hover,
#submit-order:hover,
.next-step-forward:hover,
a.next-step-forward:hover{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
  border-color:var(--rb-yellow) !important; text-decoration:none !important;
}

/* odkaz Zpět – nezalamovat, decentní */
.next-step-back,
a.next-step-back,
#checkoutSidebar .btn-cancel,
.order-summary .btn-cancel{
  background:transparent !important; border:0 !important; box-shadow:none !important;
  color:var(--rb-stone) !important; font-weight:600 !important; text-transform:none !important;
  letter-spacing:0 !important; white-space:nowrap !important; padding-left:0 !important;
}
.next-step-back:hover,
a.next-step-back:hover{
  color:var(--rb-ink) !important; text-decoration:none !important;
  box-shadow:inset 0 -2px 0 var(--rb-yellow) !important;
}

/* ============================================================
   ČÁST 26b – doladění kroku 2 (rekapitulace, box "Potřebujete pomoc?")
   ============================================================ */
#checkoutSidebar h2.h4, .order-summary h2.h4, #checkoutSidebar .h4{
  font-weight:800 !important; letter-spacing:.08em !important; text-transform:uppercase !important;
  font-size:12px !important; color:var(--rb-stone) !important;
}
.toggle-contacts, span.toggle-contacts, .btn.toggle-contacts{
  background:var(--rb-paper) !important; background-image:none !important;
  border:1px solid var(--rb-line) !important; border-radius:0 !important; box-shadow:none !important;
  color:var(--rb-ink) !important; font-weight:800 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; font-size:12px !important;
  transition:background-color .15s ease !important;
}
.toggle-contacts:hover, .btn.toggle-contacts:hover{
  background-color:rgba(252,195,0,.16) !important; border-color:var(--rb-yellow) !important;
  color:var(--rb-ink) !important;
}
#checkoutSidebar .checkout-box{ background:transparent !important; border:0 !important; }

/* ============================================================
   ČÁST 26c – vlastní hláška v košíku / objednávce
   (přebíjí i inline červený text zadaný v administraci)
   ============================================================ */
.site-msg-custom{
  background:var(--rb-bg) !important; border:1px solid var(--rb-line) !important;
  border-left:3px solid var(--rb-yellow) !important; border-radius:0 !important;
  padding:14px 18px !important; margin:0 0 24px !important;
}
.site-msg-custom p{ margin:0 !important; }
.site-msg-custom, .site-msg-custom *{
  color:var(--rb-ink) !important; font-size:14px !important; line-height:1.5 !important;
  font-weight:600 !important;
}
.site-msg-custom a{ text-decoration:underline !important; }

/* ============================================================
   ČÁST 26d – kontaktní box a slevový kupón v košíku
   ============================================================ */
.cart-inner .contact-box, .cart-content .contact-box{
  background:var(--rb-paper) !important; border:1px solid var(--rb-line) !important;
  border-radius:0 !important; box-shadow:none !important;
}
.cart-inner .contact-box > strong, .cart-content .contact-box > strong{
  display:block !important; font-size:12px !important; font-weight:800 !important;
  letter-spacing:.08em !important; text-transform:uppercase !important;
  color:var(--rb-stone) !important; margin-bottom:10px !important;
}
.cart-inner .contact-box a, .cart-content .contact-box a{
  color:var(--rb-ink) !important; font-weight:600 !important; text-decoration:none !important;
  word-break:break-word !important; transition:box-shadow .15s ease !important;
}
.cart-inner .contact-box a:hover, .cart-content .contact-box a:hover{
  color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important;
  text-decoration:none !important;
}
.cart-inner .contact-box li, .cart-content .contact-box li{ border:0 !important; padding:5px 0 !important; }

.discount-coupon{
  background:var(--rb-bg) !important; border:1px solid var(--rb-line) !important;
  border-radius:0 !important; box-shadow:none !important;
}
.discount-coupon > strong, .discount-coupon h4, .discount-coupon .h4{
  font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; color:var(--rb-stone) !important;
}
.discount-coupon input[type="text"]{
  border-radius:0 !important; border:1px solid var(--rb-line) !important;
  background:var(--rb-paper) !important; box-shadow:none !important;
}
.discount-coupon input[type="text"]:focus{
  border-color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important;
  outline:none !important;
}

/* sekundární tlačítko (PŘIDAT) – obrys, při najetí žluté */
.btn.btn-secondary{
  background:transparent !important; background-image:none !important;
  border:1px solid var(--rb-ink) !important; border-radius:0 !important;
  color:var(--rb-ink) !important; font-weight:800 !important; letter-spacing:.06em !important;
  text-transform:uppercase !important; box-shadow:none !important;
  transition:background-color .15s ease, color .15s ease !important;
}
.btn.btn-secondary:hover{
  background:var(--rb-yellow) !important; border-color:var(--rb-yellow) !important;
  color:var(--rb-ink) !important;
}
.cart-table .show-tooltip.acronym{
  border-bottom:1px dotted var(--rb-line) !important; text-decoration:none !important;
}

/* ============================================================
   ČÁST 26e – nadpisy bloků v košíku
   ============================================================ */
.cart-inner h4, .cart-inner .h4, .cart-content h4, .cart-content .h4,
.discount-coupon > .h4, .cart-inner h3{
  font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; color:var(--rb-stone) !important;
}
.cart-summary, .cart-summary-inner, #checkoutSidebar .cart-summary{
  background:var(--rb-paper) !important; border:1px solid var(--rb-line) !important;
  border-radius:0 !important; box-shadow:none !important;
}

/* ============================================================
   ČÁST 27 – VÝRAZNÝ BOX "POTŘEBUJETE POMOC?" v košíku
   (černá karta, telefon žlutě, ikony žlutě)
   ============================================================ */
.cart-content.checkout-box-wrapper > h2.h4{
  background:var(--rb-ink) !important; color:#fff !important; margin:0 !important;
  padding:14px 18px !important; font-size:13px !important; font-weight:800 !important;
  letter-spacing:.10em !important; text-transform:uppercase !important; border:0 !important;
}
.cart-content.checkout-box-wrapper > .box{
  background:var(--rb-ink) !important; border:0 !important; border-radius:0 !important;
  box-shadow:none !important; padding:0 18px 20px !important; margin:0 0 24px !important;
}
.cart-content .contact-box, .cart-inner .contact-box{
  background:transparent !important; border:0 !important; padding:0 !important;
}
.cart-content.checkout-box-wrapper .contact-box > strong{
  display:block !important; color:rgba(255,255,255,.55) !important; font-size:11px !important;
  font-weight:800 !important; letter-spacing:.10em !important; text-transform:uppercase !important;
  margin:0 0 12px !important;
}
.cart-content .contact-box li, .cart-inner .contact-box li{ border:0 !important; padding:6px 0 !important; }
.cart-content.checkout-box-wrapper .contact-box span::before{
  color:var(--rb-yellow) !important;
}
.cart-content.checkout-box-wrapper .contact-box a{
  color:#fff !important; font-weight:600 !important; text-decoration:none !important;
  word-break:break-word !important; box-shadow:none !important; transition:color .15s ease !important;
}
.cart-content.checkout-box-wrapper .contact-box a:hover{
  color:var(--rb-yellow) !important; box-shadow:none !important;
}
.cart-content.checkout-box-wrapper .contact-box .tel a{
  color:var(--rb-yellow) !important; font-size:21px !important; font-weight:800 !important;
}
.cart-content.checkout-box-wrapper .contact-box .tel a:hover{ color:#fff !important; }
/* místo dlouhé URL zobrazit jen "Instagram" */
.cart-content .contact-box .instagram a, .cart-inner .contact-box .instagram a{ font-size:0 !important; }
.cart-content .contact-box .instagram a::after, .cart-inner .contact-box .instagram a::after{
  content:"Instagram"; font-size:14px !important; font-weight:600 !important;
}

/* ============================================================
   ČÁST 27b – doladění tabulky košíku
   ============================================================ */
.cart-table tbody tr{ transition:background-color .15s ease !important; }
.cart-table tbody tr:hover{ background-color:rgba(252,195,0,.07) !important; }
.cart-table td{ border-color:var(--rb-line) !important; }
.cart-table .p-name a{ color:var(--rb-ink) !important; font-weight:700 !important; text-decoration:none !important; }
.cart-table .p-name a:hover{ color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important; }
.cart-table .cart-p-image img{ border:1px solid var(--rb-line) !important; border-radius:0 !important; background:#fff !important; }
.cart-table input[type="text"], .cart-table input[type="number"]{
  border-radius:0 !important; border:1px solid var(--rb-line) !important; box-shadow:none !important;
  text-align:center !important; font-weight:700 !important;
}
.cart-table .increase, .cart-table .decrease{ border-radius:0 !important; transition:background-color .15s ease !important; }
.cart-table .increase:hover, .cart-table .decrease:hover{ background-color:var(--rb-yellow) !important; }
.cart-table .remove-item{ background:transparent !important; border:0 !important; box-shadow:none !important; }
.cart-table .p-total{ font-weight:800 !important; color:var(--rb-ink) !important; white-space:nowrap !important; }

/* ============================================================
   ČÁST 28 – NÁHLEDY V ROZBALENÉM MENU BEZ RÁMEČKŮ
   Rámeček z ČÁSTI 23 sjednocoval různě velké a různě oříznuté
   náhledy, ale působil rušivě. Zůstává jen při najetí myší
   (žlutý), jinak je průhledný – rozměr i podklad drží dál.
   Tahle část záměrně přebíjí border z ČÁSTI 23 a 25.
   ============================================================ */
#navigation .menu-level-2 > li > a.menu-image img,
#navigation .menu-level-2 a.menu-image img{
  border:1px solid transparent !important; background:#fff !important;
  border-radius:0 !important; outline:0 !important;
  transition:border-color .15s ease !important;
}
#navigation .menu-level-2 > li:hover > a.menu-image img,
#navigation .menu-level-2 > li > a:hover img,
#navigation .menu-level-2 > li:hover a.menu-image img{
  border-color:var(--rb-yellow) !important;
}
.category-top ul.subcategories.with-image > li > a img,
.category-top ul.subcategories.with-image img{
  border:1px solid transparent !important; border-radius:0 !important;
  transition:border-color .15s ease !important;
}
.category-top ul.subcategories.with-image > li:hover img,
.category-top ul.subcategories.with-image > li > a:hover img{
  border-color:var(--rb-yellow) !important;
}

/* ============================================================
   ČÁST 29 – MOBIL
   Na mobilu je hlavička position:fixed, takže cokoli nad ní
   zmizí pod ní. Černá horní lišta se proto na mobilu skrývá
   (je to hustá informace pro desktop) a žlutá lišta s dopravou
   se odsune pod hlavičku – o kolik, dopočítá skript
   v rubikon-horni-lista.html.
   Pruh výhod měl na 414 px pět sloupců, takže se slova lámala
   uprostřed („doruč|ení"). Na mobilu jsou dva sloupce.
   ============================================================ */
@media (max-width:991px){
  .rb-topbar{ display:none !important; }
  .rb-shipbar{
    font-size:11px !important; line-height:1.35 !important;
    padding:9px 14px !important; letter-spacing:.02em !important;
  }

  .benefitBanner{
    padding-top:22px !important; padding-bottom:22px !important;
    justify-content:center !important;
  }
  .benefitBanner__item{
    flex:0 0 50% !important; width:50% !important; max-width:50% !important;
    padding:0 10px 18px !important;
  }
  .benefitBanner__title{ font-size:13px !important; }
  .benefitBanner > *:not(.benefitBanner__item){ font-size:12px !important; margin-bottom:18px !important; }

  /* názvy produktů zarovnat vlevo jako všude jinde */
  .product .name, .product .name a, .products .product .name{ text-align:left !important; }

  /* velké součty se na úzkém displeji nevejdou */
  .cart-summary .price-final, .cart-inner .price-final, #checkoutSidebar .price-final{
    font-size:26px !important;
  }
  .cart-content.checkout-box-wrapper > .box{ margin-bottom:18px !important; }
}
@media (max-width:520px){
  .benefitBanner__item{ padding-bottom:16px !important; }
  .benefitBanner__title{ font-size:12.5px !important; }
}

/* ============================================================
   ČÁST 30 – OBJEDNÁVKA KROK 3 (Informace o vás)
   POZOR: třída .required-asterisk v šabloně neobaluje hvězdičku,
   ale CELÝ text popisku. Barvit se smí jen její ::after,
   jinak zežloutnou všechny popisky formuláře.
   ============================================================ */
#order-form fieldset.box > h2,
#order-form fieldset.box > h2.header-billing,
.co-box > h2{
  font-size:13px !important; font-weight:800 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; color:var(--rb-ink) !important;
}
#order-form fieldset.box,
#order-form .box.box-sm.box-bg-default{
  background:var(--rb-paper) !important; border:1px solid var(--rb-line) !important;
  border-radius:0 !important; box-shadow:none !important;
}
#order-form label{ color:var(--rb-ink) !important; font-weight:600 !important; }
#order-form .required, #order-form .required-asterisk{ color:var(--rb-ink) !important; }
#order-form .required-asterisk::after, #order-form .required::after{ color:var(--rb-yellow-d) !important; }

#order-form input[type="text"], #order-form input[type="email"],
#order-form input[type="tel"], #order-form input[type="password"],
#order-form select, #order-form textarea{
  border:1px solid var(--rb-line) !important; border-radius:0 !important;
  background:var(--rb-paper) !important; box-shadow:none !important;
}
#order-form input:focus, #order-form select:focus, #order-form textarea:focus{
  border-color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important;
  outline:none !important;
}
#order-form input.error, #order-form .has-error input{
  border-color:#C0392B !important; box-shadow:inset 0 -2px 0 #C0392B !important;
}
#order-form .consents, #order-form .checkbox-wrapper, #order-form .form-group.consent{
  border:1px solid var(--rb-line) !important; border-radius:0 !important;
  background:var(--rb-paper) !important;
}
#order-form .consents label:hover, #order-form label.whole-width:hover{
  color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important;
}
#order-form .btn-login, #order-form .login-button, a.btn.btn-default.login{
  border:1px solid var(--rb-ink) !important; border-radius:0 !important;
  background:transparent !important; color:var(--rb-ink) !important; font-weight:800 !important;
  letter-spacing:.06em !important; text-transform:uppercase !important;
}
#order-form .btn-login:hover, a.btn.btn-default.login:hover{
  background:var(--rb-yellow) !important; border-color:var(--rb-yellow) !important;
  color:var(--rb-ink) !important;
}
#submit-order, button[name="submit"], .submit-order .btn-conversion{
  background:var(--rb-ink) !important; background-image:none !important; color:#fff !important;
  border:1px solid var(--rb-ink) !important; border-radius:0 !important; font-weight:800 !important;
  letter-spacing:.06em !important; text-transform:uppercase !important; box-shadow:none !important;
}
#submit-order:hover, button[name="submit"]:hover{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important;
  border-color:var(--rb-yellow) !important;
}
#submit-order small, button[name="submit"] small{
  text-transform:none !important; letter-spacing:0 !important; font-weight:600 !important; opacity:.8 !important;
}

/* ============================================================
   ČÁST 31 – PŘIHLÁŠENÍ, REGISTRACE, MŮJ ÚČET
   Pozn.: žlutá tlačítka (.btn-primary) tu zůstávají záměrně.
   Hierarchie je: žlutá = běžná akce při procházení eshopu,
   černá = potvrzení v objednávkovém procesu.
   ============================================================ */
.box, .box-sm, .box-bg-variant, .box-bg-default{
  background:var(--rb-paper) !important; border:1px solid var(--rb-line) !important;
  border-radius:0 !important; box-shadow:none !important;
}
.box > h2, .box > h3, .box > h4,
.box h3.pageElement__heading, .pageElement__heading, .box .topic{
  font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; color:var(--rb-stone) !important;
}
.box-news{ background:var(--rb-bg) !important; }

#content input[type="text"], #content input[type="email"],
#content input[type="password"], #content input[type="tel"],
#content select, #content textarea{
  border:1px solid var(--rb-line) !important; border-radius:0 !important;
  background:var(--rb-paper) !important; box-shadow:none !important;
}
#content input:focus, #content select:focus, #content textarea:focus{
  border-color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important;
  outline:none !important;
}

/* přihlášení přes sítě – barvy značek zůstávají, jen hranaté */
.social-login-button, .btn-facebook, .btn-google, .btn-seznam{
  border-radius:0 !important; box-shadow:none !important;
}

.alternative-links a, .login-form a, .password-helper a{
  color:var(--rb-ink) !important; font-weight:600 !important; text-decoration:none !important;
  transition:box-shadow .15s ease !important;
}
.alternative-links a:hover, .login-form a:hover, .password-helper a:hover{
  color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important;
  text-decoration:none !important;
}

.breadcrumbs a{ color:var(--rb-stone) !important; text-decoration:none !important; }
.breadcrumbs a:hover{ color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important; }

/* Můj účet – přehled objednávek */
#content table.table th{
  font-size:11px !important; font-weight:800 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; color:var(--rb-stone) !important;
  border-bottom:1px solid var(--rb-line) !important; background:transparent !important;
}
#content table.table td{ border-color:var(--rb-line) !important; }
#content table.table tbody tr{ transition:background-color .15s ease !important; }
#content table.table tbody tr:hover{ background-color:rgba(252,195,0,.07) !important; }

/* ============================================================
   ČÁST 32 – VÝSLEDKY VYHLEDÁVÁNÍ
   Odrážky nahrazeny řádky s tenkou linkou a žlutým pruhem
   při najetí, ať to vypadá stejně jako rozklik podkategorií.
   ============================================================ */
.search-results-group h4, #content h4.search-products-heading{
  font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; color:var(--rb-stone) !important;
}
/* POZOR: omezeno na stránku vyhledávání. Neomezené #content h2
   přebilo bílý nadpis v černém boxu "Potřebujete pomoc?" v košíku
   (ID v selektoru vyhrálo nad třídami) a nadpis zmizel. */
.in-vyhledavani #content h2{
  font-size:22px !important; font-weight:800 !important; letter-spacing:-.02em !important;
  color:var(--rb-ink) !important;
}
.in-vyhledavani #content h2 span, .in-vyhledavani #content h2 em,
.in-vyhledavani #content h2 strong{
  color:var(--rb-ink) !important; font-style:normal !important;
  box-shadow:inset 0 -6px 0 rgba(252,195,0,.45) !important;
}
.search-results-group-list ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.search-results-group-list li{
  border-bottom:1px solid var(--rb-line) !important; padding:0 !important; margin:0 !important;
}
.search-results-group-list li a{
  display:block !important; padding:9px 10px !important; color:var(--rb-ink) !important;
  font-weight:600 !important; text-decoration:none !important;
  border-left:3px solid transparent !important;
  transition:background-color .15s ease, border-color .15s ease !important;
}
.search-results-group-list li a:hover{
  background-color:rgba(252,195,0,.14) !important; border-left-color:var(--rb-yellow) !important;
  color:var(--rb-ink) !important; text-decoration:none !important;
}
a.display-results-group{
  display:inline-block !important; margin-top:10px !important; color:var(--rb-ink) !important;
  font-weight:800 !important; font-size:12px !important; letter-spacing:.06em !important;
  text-transform:uppercase !important; text-decoration:none !important;
}
a.display-results-group:hover{ box-shadow:inset 0 -2px 0 var(--rb-yellow) !important; text-decoration:none !important; }

/* ============================================================
   ČÁST 33 – STATICKÉ STRÁNKY A ČLÁNKY
   Obsah psaný v administraci má vlastní inline styly (žluté
   nadpisy a odkazy na bílé = špatně čitelné). Tady se to
   srovnává na tmavé písmo se žlutým podtrhem při najetí.
   ============================================================ */
.pageArticleDetail{ color:var(--rb-ink) !important; line-height:1.6 !important; }
.pageArticleDetail span, .pageArticleDetail p, .pageArticleDetail td,
.pageArticleDetail li, .pageArticleDetail div{
  font-family:"Hanken Grotesk", system-ui, Arial, sans-serif !important;
}
.pageArticleDetail strong > span, .pageArticleDetail strong{ color:var(--rb-ink) !important; }
.pageArticleDetail a{
  color:var(--rb-ink) !important; font-weight:600 !important; text-decoration:none !important;
  box-shadow:inset 0 -1px 0 var(--rb-line) !important; transition:box-shadow .15s ease !important;
}
.pageArticleDetail a:hover{
  color:var(--rb-ink) !important; box-shadow:inset 0 -2px 0 var(--rb-yellow) !important;
  text-decoration:none !important;
}
.pageArticleDetail h1, .pageArticleDetail h2, .pageArticleDetail h3, .pageArticleDetail h4{
  color:var(--rb-ink) !important; font-weight:800 !important; letter-spacing:-.01em !important;
}
.pageArticleDetail img{ border-radius:0 !important; max-width:100% !important; height:auto !important; }
.pageArticleDetail table{ border-collapse:collapse !important; }

/* ============================================================
   ČÁST 34 – PRÁZDNÝ KOŠÍK
   Nabídka kategorií místo odrážek jako řádky se žlutým pruhem
   při najetí – stejně jako výsledky hledání a podkategorie.
   ============================================================ */
.cart-inner.cart-empty h1.cart-heading{
  font-size:24px !important; font-weight:800 !important; letter-spacing:-.02em !important;
  color:var(--rb-ink) !important; margin-bottom:24px !important;
}
.empty-cart-boxes h3{
  font-size:12px !important; font-weight:800 !important; letter-spacing:.08em !important;
  text-transform:uppercase !important; color:var(--rb-stone) !important; margin-bottom:8px !important;
}
.empty-cart-boxes ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.empty-cart-boxes li{ border-bottom:1px solid var(--rb-line) !important; margin:0 !important; padding:0 !important; }
.empty-cart-boxes li a{
  display:block !important; padding:9px 10px !important; color:var(--rb-ink) !important;
  font-weight:600 !important; text-decoration:none !important;
  border-left:3px solid transparent !important;
  transition:background-color .15s ease, border-color .15s ease !important;
}
.empty-cart-boxes li a:hover{
  background-color:rgba(252,195,0,.14) !important; border-left-color:var(--rb-yellow) !important;
  color:var(--rb-ink) !important; text-decoration:none !important;
}

/* ============================================================
   ČÁST 35 – pojistka pro nadpis v černém boxu "Potřebujete pomoc?"
   Selektor s ID (#content) má vyšší váhu než třídy, takže tenhle
   nadpis potřebuje ID taky, jinak ho kdejaké obecné pravidlo přebije.
   ============================================================ */
#content .cart-content.checkout-box-wrapper > h2.h4,
.cart-inner .cart-content.checkout-box-wrapper > h2.h4{
  background:var(--rb-ink) !important; color:#fff !important;
  font-size:13px !important; font-weight:800 !important; letter-spacing:.10em !important;
  text-transform:uppercase !important; margin:0 !important; padding:14px 18px !important;
}

/* ============================================================
   ČÁST 36 – kontaktní box v PRÁZDNÉM košíku
   Tam je podklad bílý (chybí .checkout-box-wrapper), takže bílé
   písmo z ČÁSTI 27 by bylo neviditelné.
   ============================================================ */
.cart-content:not(.checkout-box-wrapper) .contact-box > strong{
  display:block !important; color:var(--rb-stone) !important; font-size:11px !important;
  font-weight:800 !important; letter-spacing:.10em !important; text-transform:uppercase !important;
  margin:0 0 10px !important;
}
.cart-content:not(.checkout-box-wrapper) .contact-box span::before{ color:var(--rb-yellow-d) !important; }
.cart-content:not(.checkout-box-wrapper) .contact-box a{
  color:var(--rb-ink) !important; font-weight:600 !important; text-decoration:none !important;
}
.cart-content:not(.checkout-box-wrapper) .contact-box a:hover{ box-shadow:inset 0 -2px 0 var(--rb-yellow) !important; }
.cart-content:not(.checkout-box-wrapper) .contact-box .tel a{
  color:var(--rb-ink) !important; font-size:19px !important; font-weight:800 !important;
}

/* ============================================================
   ČÁST 37 – hláška o dopravě zdarma v košíku
   Byla žlutá na bílé = špatně čitelná.
   ============================================================ */
.extras-wrap .extra.delivery,
.extras-wrap .extra.delivery span,
.extras-wrap .extra.delivery strong{ color:var(--rb-ink) !important; }
.extras-wrap .extra.delivery strong{
  font-weight:800 !important; box-shadow:inset 0 -6px 0 rgba(252,195,0,.45) !important;
}
.extras-wrap .extra.delivery::before, .extras-wrap .extra.delivery i{ color:var(--rb-yellow-d) !important; }

/* ============================================================
   ČÁST 38 – zvýrazněná je jen skutečně zvolená doprava/platba
   Šablona nechává .active i na dřív zvolené možnosti.
   ============================================================ */
#order-form .radio-wrapper.active:not(:has(input:checked)),
#order-form .radio-wrapper.checked:not(:has(input:checked)){
  background:var(--rb-paper) !important; border-left-color:transparent !important;
  box-shadow:none !important;
}
#order-form .radio-wrapper.active:not(:has(input:checked)) label{ font-weight:600 !important; }

/* ============================================================
   ČÁST 39 – chybové hlášky ve formuláři objednávky
   ============================================================ */
.validator-msg.msg-error{ color:#C0392B !important; font-weight:600 !important; font-size:12.5px !important; }
#order-form .form-control-wrapper:has(.msg-error) input,
#order-form .form-control-wrapper:has(.msg-error) select,
#order-form .form-control-wrapper:has(.msg-error) textarea{
  border-color:#C0392B !important; box-shadow:inset 0 -2px 0 #C0392B !important;
}

/* ============================================================
   ČÁST 40 – hamburger na mobilu
   Šablona ho ukládá do .top-navigation-bar. Ta se na desktopu
   skrývá (ČÁST 4), na mobilu skrytá být NESMÍ, jinak není čím
   otevřít menu.
   ============================================================ */
@media (max-width:991px){
  .top-navigation-bar{ background:transparent !important; border:0 !important; box-shadow:none !important; }
  .top-navigation-bar .top-navigation-menu,
  .top-navigation-bar .top-navigation-tools > *:not(.responsive-tools){ display:none !important; }
  .responsive-tools a.toggle-window{
    background:var(--rb-ink) !important; color:#fff !important; border:0 !important;
    border-radius:0 !important; box-shadow:0 2px 10px rgba(0,0,0,.22) !important;
    width:44px !important; height:44px !important; line-height:44px !important;
    text-align:center !important; transition:background-color .15s ease, color .15s ease !important;
  }
  .responsive-tools a.toggle-window::before{ color:#fff !important; font-size:18px !important; line-height:44px !important; }
  .responsive-tools a.toggle-window:hover,
  .responsive-tools a.toggle-window:active{ background:var(--rb-yellow) !important; }
  .responsive-tools a.toggle-window:hover::before,
  .responsive-tools a.toggle-window:active::before{ color:var(--rb-ink) !important; }
}

/* ============================================================
   ČÁST 41 – rozbalovací menu na mobilu
   Text položky je v <b> uvnitř flexového odkazu, takže trik
   s ::first-letter musí sedět na tom <b>, ne na odkazu –
   jinak zůstane všechno malými písmeny.
   ============================================================ */
@media (max-width:991px){
  #navigation .menu-level-1 > li > a > b{
    display:block !important; text-transform:lowercase !important;
    font-weight:700 !important; letter-spacing:.01em !important;
  }
  #navigation .menu-level-1 > li > a > b::first-letter{ text-transform:uppercase !important; }
  #navigation .menu-level-1 > li{ border-bottom:1px solid var(--rb-line) !important; }
  #navigation .menu-level-1 > li > a{ padding:14px 16px !important; color:var(--rb-ink) !important; }
  #navigation .menu-level-1 > li > a:active,
  #navigation .menu-level-1 > li > a:hover{
    background-color:rgba(252,195,0,.14) !important;
    box-shadow:inset 3px 0 0 var(--rb-yellow) !important;
  }
}

/* ============================================================
   ČÁST 42 – našeptávač Luigi's Box
   Doplněk si vykresluje vlastní HTML s třídami .luigi-ac-*.
   Tady se jen přebarvuje a sjednocuje písmo – do jeho skriptu
   se nesahá.
   ============================================================ */
.luigi-ac, .luigi-ac *{ font-family:"Hanken Grotesk", system-ui, Arial, sans-serif !important; }
.luigi-ac, .luigi-ac-main, .luigi-ac-result, .luigi-ac-inner{ border-radius:0 !important; box-shadow:none !important; }
.luigi-ac-result{ border:1px solid var(--rb-line) !important; box-shadow:0 12px 32px rgba(20,20,20,.14) !important; }
.luigi-ac-main--border{ border-color:var(--rb-line) !important; }
.luigi-ac-header{
  font-size:11px !important; font-weight:800 !important; letter-spacing:.10em !important;
  text-transform:uppercase !important; color:var(--rb-stone) !important;
}
.luigi-ac-name, .luigi-ac-text{ color:var(--rb-ink) !important; font-weight:600 !important; }
.luigi-ac__highlighted{
  background:transparent !important; box-shadow:inset 0 -5px 0 rgba(252,195,0,.45) !important;
  color:var(--rb-ink) !important; font-weight:800 !important; border-radius:0 !important;
}
.luigi-ac-query{
  border-radius:0 !important; background:var(--rb-bg) !important;
  border:1px solid var(--rb-line) !important; color:var(--rb-ink) !important; font-weight:600 !important;
}
.luigi-ac-query:hover{ background:rgba(252,195,0,.20) !important; border-color:var(--rb-yellow) !important; }
.luigi-ac-other, .luigi-ac-product{ border-radius:0 !important; transition:background-color .15s ease !important; }
.luigi-ac-other:hover, .luigi-ac-product:hover{ background-color:rgba(252,195,0,.10) !important; }
.luigi-ac-price, .luigi-ac-price-new{ color:var(--rb-ink) !important; font-weight:800 !important; letter-spacing:-.01em !important; }
.luigi-ac-price-old{ color:var(--rb-stone) !important; font-weight:400 !important; }
.luigi-ac-price-discount{ background:transparent !important; color:var(--rb-ink) !important; border-radius:0 !important; font-weight:800 !important; }
.luigi-ac-ribbon, .luigi-ac-hero-color{ border-radius:0 !important; }
.luigi-ac-button, .luigi-ac-button-block, .luigi-ac-button-action{
  border-radius:0 !important; box-shadow:none !important; font-weight:800 !important;
  letter-spacing:.06em !important; text-transform:uppercase !important;
  transition:background-color .15s ease, color .15s ease !important;
}
.luigi-ac-button-block--show-all, .luigi-ac-button-action{
  background:var(--rb-ink) !important; color:#fff !important; border:1px solid var(--rb-ink) !important;
}
.luigi-ac-button-block--show-all:hover, .luigi-ac-button-action:hover{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important; border-color:var(--rb-yellow) !important;
}
.luigi-ac-button-block--buy, .luigi-ac-button-buy{
  background:var(--rb-yellow) !important; color:var(--rb-ink) !important; border:1px solid var(--rb-yellow) !important;
}
.luigi-ac-button-block--buy:hover, .luigi-ac-button-buy:hover{
  background:var(--rb-ink) !important; color:#fff !important; border-color:var(--rb-ink) !important;
}
.luigi-ac-footer{ border-top:1px solid var(--rb-line) !important; }
.luigi-ac-close{ color:var(--rb-ink) !important; }


/* ============================================================
   ČÁST 43 – VZHLED VLASTNÍHO NAŠEPTÁVAČE
   Patří k souboru rubikon-naseptavac.js.
   ============================================================ */
/* ===================== vzhled našeptávače ========================== */
.rbw-panel{
  position:absolute; z-index:1000; box-sizing:border-box;
  background:#fff; border:1px solid rgba(20,20,20,.13);
  box-shadow:0 14px 40px rgba(20,20,20,.16);
  display:flex; flex-wrap:wrap; align-items:flex-start;
  font-family:"Hanken Grotesk", system-ui, Arial, sans-serif;
  max-height:min(74vh, 620px); overflow:auto;
}
.rbw-panel[hidden]{ display:none !important; }

.rbw-sloupec{ box-sizing:border-box; padding:16px 18px; }
.rbw-vlevo{ flex:0 0 34%; max-width:34%; background:#F5F4EF; align-self:stretch; }
.rbw-vpravo{ flex:1 1 0; min-width:0; }
.rbw-panel > .rbw-vpravo:first-child{ flex-basis:100%; }

.rbw-nadpis{
  font-size:11px; font-weight:800; letter-spacing:.10em; text-transform:uppercase;
  color:#6E6D66; margin:0 0 10px;
}

.rbw-kategorie{
  display:block; padding:8px 10px; margin:0 -10px; color:#141414; font-weight:600;
  text-decoration:none; border-left:3px solid transparent; font-size:14px;
  transition:background-color .14s ease, border-color .14s ease;
}
.rbw-kategorie:hover, .rbw-kategorie.rbw-aktivni{
  background:rgba(252,195,0,.16); border-left-color:#FCC300; color:#141414; text-decoration:none;
}

.rbw-produkt{
  display:flex; gap:12px; align-items:center; padding:10px; margin:0 -10px;
  color:#141414; text-decoration:none; border-left:3px solid transparent;
  transition:background-color .14s ease, border-color .14s ease;
}
.rbw-produkt:hover, .rbw-produkt.rbw-aktivni{
  background:rgba(252,195,0,.12); border-left-color:#FCC300; text-decoration:none;
}
.rbw-obr{
  flex:0 0 52px; width:52px; height:52px; display:flex; align-items:center; justify-content:center;
  background:#fff; overflow:hidden;
}
.rbw-obr img{ max-width:100%; max-height:100%; width:auto; height:auto; }
.rbw-info{ flex:1 1 auto; min-width:0; display:flex; flex-direction:column; gap:2px; }
.rbw-nazev{
  font-size:14px; font-weight:600; line-height:1.3; color:#141414;
  display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden;
}
.rbw-zvyr{
  font-style:normal; font-weight:800;
  box-shadow:inset 0 -5px 0 rgba(252,195,0,.45);
}
.rbw-dostupnost{ font-size:12px; color:#6E6D66; }
.rbw-dostupnost.rbw-skladem{ color:#2E7D32; font-weight:600; }
.rbw-ceny{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.rbw-cena{ font-size:15px; font-weight:800; letter-spacing:-.01em; color:#141414; white-space:nowrap; }
.rbw-puvodni{ font-size:12px; color:#6E6D66; text-decoration:line-through; white-space:nowrap; }
.rbw-sleva{
  font-size:11px; font-weight:800; color:#141414; background:#FCC300;
  padding:1px 6px; white-space:nowrap;
}

.rbw-vse{
  flex:0 0 100%; display:block; text-align:center; padding:14px 18px;
  background:#141414; color:#fff; text-decoration:none;
  font-size:12px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  transition:background-color .14s ease, color .14s ease;
}
.rbw-vse:hover, .rbw-vse.rbw-aktivni{ background:#FCC300; color:#141414; text-decoration:none; }

.rbw-prazdno{ padding:14px 4px; color:#6E6D66; font-size:14px; }

.rbw-oprava{
  flex:0 0 100%; padding:9px 18px; background:#F5F4EF;
  border-bottom:1px solid rgba(20,20,20,.13);
  font-size:12.5px; color:#6E6D66;
}
.rbw-oprava strong{
  color:#141414; font-weight:800;
  box-shadow:inset 0 -5px 0 rgba(252,195,0,.45);
}

.rbw-nacitani{ flex:0 0 100%; display:flex; gap:6px; justify-content:center; padding:26px; }
.rbw-nacitani span{
  width:8px; height:8px; background:#FCC300; display:block;
  animation:rbwSkok .9s infinite ease-in-out;
}
.rbw-nacitani span:nth-child(2){ animation-delay:.15s; }
.rbw-nacitani span:nth-child(3){ animation-delay:.3s; }
@keyframes rbwSkok{ 0%,80%,100%{ transform:translateY(0); opacity:.35; } 40%{ transform:translateY(-6px); opacity:1; } }

@media (max-width:767px){
  .rbw-panel{ max-height:70vh; }
  .rbw-vlevo{ flex-basis:100%; max-width:100%; align-self:auto; }
  .rbw-vpravo{ flex-basis:100%; }
}

/* =====================================================================
   ČÁST 44 — OPRAVY PO PRVNÍM NASAZENÍ (říjen 2026)
   Reakce na připomínky z provozu. Přidáno na konec, takže to přebíjí
   dřívější části — nic výš se nemaže.
   ===================================================================== */

/* 44a) KOŠÍK SE NEOTEVŘEL, JEN ZTMAVLA OBRAZOVKA  ← nejdůležitější
   ČÁST 25 nastavovala #colorbox height:auto !important. Colorbox si ale
   výšku počítá skriptem a zapisuje ji inline; naše !important ji přebilo
   a okno spadlo na výšku 0 px. Zákazník viděl jen tmavý překryv.
   Ověřeno na detailu produktu: obsah měl 838 px, obal 0 px.
   Výšku teď necháváme na šabloně, měníme jen vzhled. */
/* Rozměry okna řídí skript šablony (inline style). Nic tu nenastavujeme,
   jen jsme z ČÁSTI 25 odstranili width/height, které okno sráželo na 0 px. */

/* 44b) DVOJÍ PODTRŽENÍ V LIŠTĚ KATEGORIÍ
   Žlutý proužek se kreslil dvakrát: jednou přes ::after (ČÁST 6),
   podruhé přes box-shadow (ČÁST 20). Necháváme box-shadow. */
#navigation .menu-level-1 > li > a::after{ display:none !important; }

/* 44c) TLAČÍTKA „DO KOŠÍKU" V JEDNÉ ROVINĚ
   Dlaždice mají různě dlouhé názvy a některé i popisek, takže tlačítko
   plavalo. Spodek dlaždice se teď odsune dolů. */
.products .product .p{ display:flex !important; flex-direction:column !important; }
.products .product .p-bottom{ margin-top:auto !important; }
.products .product .p-tools{ margin-top:12px !important; }

/* 44d) NÁZVY V ROZBALENÉM MENU SE NEVEŠLY
   Dvouřádkové názvy podkategorií byly oříznuté v půlce. */
#navigation .menu-level-2 > li > a.menu-image,
#navigation .menu-level-2 > li > a{
  white-space:normal !important;
  overflow:visible !important;
  text-overflow:clip !important;
  height:auto !important;
  max-height:none !important;
}

/* 44e) JEDNOTNÁ VELKÁ A MALÁ PÍSMENA
   V administraci jsou některé kategorie VERZÁLKAMI, jiné ne. Sjednocuje
   se to zobrazením, obsah v administraci zůstává. */
#navigation .menu-level-2 > li > a.menu-image,
#navigation .menu-level-2 > li > div a,
.category-top ul.subcategories > li > a,
.search-results-group-list li a,
.empty-cart-boxes li a{
  text-transform:lowercase !important;
}
#navigation .menu-level-2 > li > a.menu-image::first-letter,
#navigation .menu-level-2 > li > div a::first-letter,
.category-top ul.subcategories > li > a::first-letter,
.search-results-group-list li a::first-letter,
.empty-cart-boxes li a::first-letter{
  text-transform:uppercase !important;
}

/* 44f) „POTŘEBUJETE POMOC?" STEJNĚ VE VŠECH KROCÍCH
   V košíku byl box černý, v krocích 2 a 3 bílý. Teď je všude černý. */
#checkoutSidebar .box-help,
#checkoutSidebar .help-box,
.order-summary .box-help,
#checkoutSidebar .contact-box{
  background:var(--rb-ink) !important;
  border:0 !important;
  padding:18px !important;
}
#checkoutSidebar .box-help strong,
#checkoutSidebar .help-box strong,
.order-summary .box-help strong,
#checkoutSidebar .contact-box > strong{
  color:rgba(255,255,255,.55) !important;
}
#checkoutSidebar .box-help a,
#checkoutSidebar .help-box a,
.order-summary .box-help a,
#checkoutSidebar .contact-box a{
  color:var(--rb-yellow) !important;
}
#checkoutSidebar .box-help a:hover,
#checkoutSidebar .help-box a:hover,
.order-summary .box-help a:hover,
#checkoutSidebar .contact-box a:hover{
  color:#fff !important;
  box-shadow:none !important;
}

/* 44g) MOBIL — HLAVIČKA PŘEKRÝVALA KÓD A NÁZEV PRODUKTU
   Šablona má hlavičku position:fixed, takže při scrollování zakrývala
   horní část obsahu. Na detailu produktu to schovávalo kód zboží.
   Řešíme odsazením obsahu, ne zrušením fixace — tu ovládá skript šablony. */
@media (max-width:991px){
  .p-detail-inner-header,
  .p-detail .p-detail-inner-header{ scroll-margin-top:120px; }
  #content{ scroll-margin-top:120px; }
}
