/* ─── GLOBAL ─── */
body,
.overall-wrapper {
  background-color: #f0f2f5 !important;
  font-family: "Source Sans 3", sans-serif !important;
}

/* ─── TOP NAVIGATION BAR ─── */
.top-navigation-bar {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e6ed !important;
  padding: 6px 0 !important;
}
.top-navigation-contacts,
.top-navigation-contacts strong,
.top-navigation-contacts a {
  color: #555e70 !important;
  font-size: 12.5px !important;
  text-decoration: none !important;
}
.top-navigation-contacts a:hover {
  color: #0044a0 !important;
}
.top-nav-button-login {
  background: transparent !important;
  border: 1.5px solid #d0d6e0 !important;
  border-radius: 8px !important;
  color: #3a4460 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 6px 16px !important;
  transition:
    border-color 0.18s,
    color 0.18s !important;
  cursor: pointer !important;
}
.top-nav-button-login:hover {
  border-color: #0044a0 !important;
  color: #0044a0 !important;
}

/* ─── HEADER ─── */
#header {
  background: #ffffff !important;
  border-bottom: 1px solid #e2e6ed !important;
  box-shadow: 0 1px 8px rgba(0, 30, 90, 0.07) !important;
}
.header-top {
  padding: 16px 0 !important;
  align-items: center !important;
}

.site-name {
  margin-right: 30px !important;
}
.site-name a img {
  max-height: 44px !important;
}

/* Search */
.search-form .query-input,
.search-form input[type="search"] {
  background: #f5f7fa !important;
  border: 1.5px solid #dde2eb !important;
  border-radius: 10px !important;
  color: #1a2340 !important;
  font-size: 14px !important;
  padding: 10px 18px !important;
  transition:
    border-color 0.18s,
    box-shadow 0.18s !important;
}
.search-form .query-input:focus {
  border-color: #0044a0 !important;
  box-shadow: 0 0 0 3px rgba(0, 68, 160, 0.1) !important;
  outline: none !important;
  background: #ffffff !important;
}
.search-form .btn,
.search-form button[type="submit"] {
  background: #0044a0 !important;
  border: none !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.4px !important;
  transition: background 0.18s !important;
  cursor: pointer !important;
}
.search-form .btn:hover {
  background: #0055cc !important;
}

/* Cart button */
.cart-count {
  background: #f5f7fa !important;
  border: 1.5px solid #dde2eb !important;
  border-radius: 10px !important;
  color: #1a2340 !important;
  padding: 8px 16px !important;
  font-weight: 600 !important;
  transition: border-color 0.18s !important;
  text-decoration: none !important;
}
.cart-count:hover {
  border-color: #0044a0 !important;
  color: #0044a0 !important;
}
.cart-price {
  color: #1a2340 !important;
  font-size: 13px !important;
}

/* ─── MAIN NAVIGATION ─── */
#navigation,
.navigation-in.menu {
  background: #0044a0 !important;
  border-radius: 12px 12px 0px 0px !important;
}
.menu-level-1 {
  padding: 0 4px !important;
}
.menu-level-1 > li > a,
.menu-level-1 > li > a b {
  color: #e8eeff !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  padding: auto 15px !important;
  border-radius: 8px !important;
  transition:
    background 0.15s,
    color 0.15s !important;
  text-decoration: none !important;
}
.menu-level-1 > li > a:hover,
.menu-level-1 > li:hover > a {
  background: rgba(255, 255, 255, 0.15) !important;
  color: #ffffff !important;
}
.submenu-arrow {
  border-top-color: rgba(255, 255, 255, 0.6) !important;
}

/* Dropdown */
.menu-level-2 {
  background: #ffffff !important;
  border: 1px solid #e2e6ed !important;
  border-radius: 12px !important;
  box-shadow: 0 8px 30px rgba(0, 30, 90, 0.12) !important;
  padding: 8px 6px !important;
  top: calc(100% + 4px) !important;
}
.menu-level-2 li a,
.menu-level-2 li a span {
  color: #3a4460 !important;
  font-size: 13px !important;
  padding: 7px 14px !important;
  border-radius: 7px !important;
  transition:
    background 0.13s,
    color 0.13s !important;
  text-decoration: none !important;
  display: block !important;
}
.menu-level-2 li a:hover {
  background: #eef2ff !important;
  color: #0044a0 !important;
}

/* ─── CONTENT AREA ─── */
.content-wrapper {
  background: transparent !important;
}
.in-index #content {
  background: transparent !important;
  margin: 0px 0px 0px 0px;
}

#content {
  background: white !important;
  margin: 20px 0px 0px 20px;
  border-radius: 12px;
}

/* ─── SIDEBAR ─── */
.sidebar {
  background: #ffffff !important;
  border-radius: 14px !important;
  border: 1px solid #e2e6ed !important;
  overflow: hidden !important;
  box-shadow: 0 1px 6px rgba(0, 30, 90, 0.05) !important;
  margin-top: 20px;
}

.box-categories .pageElement__heading span {
  color: #8896b0 !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.1px !important;
  text-transform: uppercase !important;
}
#categories .categories .topic a {
  color: #3a4460 !important;
  font-size: 13.5px !important;
  padding: 8px 18px !important;
  display: block !important;
  border-left: 3px solid transparent !important;
  transition: all 0.14s !important;
  text-decoration: none !important;
}
#categories .categories .topic a:hover {
  background: #f0f4ff !important;
  color: #0044a0 !important;
  border-left-color: #0044a0 !important;
}
#categories .categories.expanded .topic a,
#categories .categories.active .topic a {
  color: #0044a0 !important;
  border-left-color: #0044a0 !important;
  font-weight: 600 !important;
}
#categories .cat-01 {
  background: #fafbfc !important;
}
#categories .cat-02 {
  background: #ffffff !important;
}
.cat-trigger {
  color: #a0aec0 !important;
}

/* ─── BANNERS ─── */
#carousel {
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 30, 90, 0.1) !important;
}
.carousel-inner,
.carousel .item {
  border-radius: 14px !important;
}
.next-to-carousel-banners {
  display: flex !important;
  flex-direction: column !important;
  gap: 10px !important;
  height: 100% !important;
}
.next-to-carousel-banners .banner-wrapper {
  border-radius: 12px !important;
  overflow: hidden !important;
  flex: 1 !important;
  transition:
    transform 0.2s,
    box-shadow 0.2s !important;
  box-shadow: 0 2px 12px rgba(0, 30, 90, 0.08) !important;
}
.next-to-carousel-banners .banner-wrapper:hover {
  transform: translateY(-3px) !important;
  box-shadow: 0 8px 24px rgba(0, 68, 160, 0.15) !important;
}
.next-to-carousel-banners .banner-wrapper img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}
.banners-row {
  margin-bottom: 20px !important;
}

/* ─── BENEFIT BANNER ─── */
.in-index .benefitBanner {
  background: #ffffff !important;
  border: 1px solid #e2e6ed !important;
  border-radius: 14px !important;
  padding: 20px 28px !important;
  margin: 16px 0 !important;
  box-shadow: 0 1px 6px rgba(0, 30, 90, 0.05) !important;
  display: flex !important;
  justify-content: space-around !important;
  flex-wrap: wrap !important;
}
.benefitBanner__item {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  margin-top: 20px;
}
.benefitBanner__picture img {
  width: 38px !important;
  height: 38px !important;
  opacity: 0.85 !important;
}
.benefitBanner__title {
  color: #1a2340 !important;
  font-size: 14px !important;
  font-weight: 700 !important;
}
.benefitBanner__data {
  color: #7a88a0 !important;
  font-size: 12.5px !important;
}

/* ─── WELCOME BOX ─── */
.homepage-box.welcome-wrapper,
.welcome-wrapper {
  background: #ffffff !important;
  border: 1px solid #e2e6ed !important;
  border-radius: 14px !important;
  padding: 28px 32px !important;
  margin-top: 16px !important;
  box-shadow: 0 1px 6px rgba(0, 30, 90, 0.05) !important;
}
.welcome h1 {
  color: #0d1b3e !important;
  font-size: 22px !important;
  font-weight: 700 !important;
  margin-bottom: 10px !important;
}
.welcome p,
.welcome div {
  color: #6b7a94 !important;
  font-size: 14px !important;
  line-height: 1.75 !important;
}

/* ─── PRODUCT CARDS ─── */
.product-item,
.product-box {
  background: #ffffff !important;
  border: 1px solid #e6eaf2 !important;
  border-radius: 14px !important;
  transition:
    transform 0.18s,
    box-shadow 0.18s !important;
  overflow: hidden !important;
}
.product-item:hover,
.product-box:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 10px 30px rgba(0, 68, 160, 0.12) !important;
  border-color: #c8d4f0 !important;
}
.product-item .product-price,
.product-box .product-price {
  color: #0044a0 !important;
  font-weight: 700 !important;
  font-size: 16px !important;
}
.product-item .btn-buy,
.product-box .btn-buy,
.btn-conversion {
  background: #0044a0 !important;
  border: none !important;
  border-radius: 8px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  padding: 9px 18px !important;
  transition: background 0.16s !important;
}
.product-item .btn-buy:hover,
.product-box .btn-buy:hover,
.btn-conversion:hover {
  background: #0055cc !important;
}
.product-item .product-name a,
.product-box .product-name a {
  color: #1a2340 !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  transition: color 0.14s !important;
}
.product-item .product-name a:hover,
.product-box .product-name a:hover {
  color: #0044a0 !important;
}

/* ─── FOOTER ─── */
#footer {
  background: #ffffff !important;
  border-top: 1px solid #e2e6ed !important;
  margin-top: 28px !important;
}
.footer-rows {
  padding-top: 32px !important;
  padding-bottom: 24px !important;
}
.custom-footer h4 {
  color: #0d1b3e !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  letter-spacing: 0.6px !important;
  text-transform: uppercase !important;
  margin-bottom: 14px !important;
}
.custom-footer ul {
  list-style: none !important;
  padding: 0 !important;
  margin: 0 !important;
}
.custom-footer ul li {
  color: #6b7a94 !important;
  font-size: 13.5px !important;
  line-height: 2.1 !important;
}
.custom-footer ul li a {
  color: #6b7a94 !important;
  text-decoration: none !important;
  transition: color 0.14s !important;
}
.custom-footer ul li a:hover {
  color: #0044a0 !important;
}
.footer-contact .icon-location,
.footer-contact .icon-email,
.footer-contact .icon-phone {
  color: #0044a0 !important;
  opacity: 0.7 !important;
}
.footer-bottom {
  border-top: 1px solid #eef0f5 !important;
  padding: 16px 0 !important;
}
.copyright {
  color: #9aa3b8 !important;
  font-size: 12.5px !important;
}
.copyright a {
  color: #9aa3b8 !important;
}
.copyright a:hover {
  color: #0044a0 !important;
}

/* ─── BUTTONS ─── */
.btn-secondary {
  background: #0044a0 !important;
  border: none !important;
  border-radius: 9px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  transition: background 0.16s !important;
}
.btn-secondary:hover {
  background: #0055cc !important;
}
.btn-default {
  border: 1.5px solid #d0d6e0 !important;
  border-radius: 9px !important;
  color: #3a4460 !important;
  background: #ffffff !important;
  transition:
    border-color 0.16s,
    color 0.16s !important;
}
.btn-default:hover {
  border-color: #0044a0 !important;
  color: #0044a0 !important;
}

/* ─── PAGINATION ─── */
.pagination li a,
.pagination li span {
  border-radius: 8px !important;
  border: 1px solid #e2e6ed !important;
  color: #3a4460 !important;
  margin: 0 2px !important;
  transition: all 0.14s !important;
}
.pagination li.active a,
.pagination li.active span {
  background: #0044a0 !important;
  border-color: #0044a0 !important;
  color: #ffffff !important;
}
.pagination li a:hover {
  background: #eef2ff !important;
  color: #0044a0 !important;
  border-color: #c8d4f0 !important;
}
.pagination li a {
  background: #eef2ff !important;
  color: #0044a0 !important;
  border-color: #c8d4f0 !important;
}

/* ─── CATEGORY PAGE ─── */
.category-header h1,
.category-info h1 {
  color: #0d1b3e !important;
  font-size: 26px !important;
  font-weight: 700 !important;
}
.sorting-form label,
.sorting select {
  color: #6b7a94 !important;
  font-size: 13px !important;
}
.sorting select {
  background: #ffffff !important;
  border: 1.5px solid #dde2eb !important;
  border-radius: 8px !important;
  padding: 7px 12px !important;
}

/* ─── CART WIDGET ─── */
.cart-widget-inner {
  background: #ffffff !important;
  border-radius: 12px 12px 0px 0px !important;
  border: 1px solid #e2e6ed !important;
  box-shadow: 0 8px 30px rgba(0, 30, 90, 0.12) !important;
}
#continue-order-button {
  background: #0044a0 !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border: none !important;
  transition: background 0.16s !important;
}
#continue-order-button:hover {
  background: #0055cc !important;
}

/* ─── LOGIN WIDGET ─── */
.login-widget .popup-widget-inner {
  border-radius: 14px !important;
  background: #ffffff !important;
  border: 1px solid #e2e6ed !important;
  box-shadow: 0 8px 30px rgba(0, 30, 90, 0.12) !important;
}
.popup-widget-inner h2 {
  color: #0d1b3e !important;
  font-size: 18px !important;
  font-weight: 700 !important;
}
.popup-widget-inner .form-control {
  background: #f5f7fa !important;
  border: 1.5px solid #dde2eb !important;
  border-radius: 9px !important;
  color: #1a2340 !important;
  padding: 10px 14px !important;
  transition: border-color 0.16s !important;
}
.popup-widget-inner .form-control:focus {
  border-color: #0044a0 !important;
  box-shadow: 0 0 0 3px rgba(0, 68, 160, 0.09) !important;
}

.narrow .banners-row .banner-wrapper + .banner-wrapper {
  margin-top: 30px !important;
}

@media (min-width: 768px) {
  .fitted .navigation-in ul {
    justify-content: center !important;
  }
}

.breadcrumbs.navigation-home-icon-wrapper {
  border-radius: 0px 0px 12px 12px;
}

.categories .topic.active > a {
  background-color: unset !important;
}

@media (min-width: 768px) {
  .content {
    /*padding-right: unset;*/
  }
}

.banners-row .col-sm-4 {
  margin-right: 0 !important;
  padding-right: revert-rule !important;
}

@media (min-width: 768px) {
  .narrow .banners-row {
    margin-top: 20px;
    width: calc(100% + 20px);
  }
}

/* ─── PRODUCT DETAIL — INFO PANEL ─── */
.type-detail .p-info-wrapper {
  padding: 28px 30px !important;
}

/* Cena */
.type-detail .price-final {
  font-size: 30px !important;
  font-weight: 800 !important;
  color: #0d1b3e !important;
  line-height: 1.2 !important;
  display: block !important;
  margin-bottom: 8px !important;
}
.type-detail .price-final-holder {
  color: #0d1b3e !important;
}

/* Dostupnost */
.type-detail .availability-value {
  display: flex !important;
  align-items: center !important;
  gap: 6px !important;
  margin-bottom: 20px !important;
}
.type-detail .availability-label[style*="color: #3c840f"],
.type-detail .availability-label[style*="color:#3c840f"] {
  color: #1f7a3a !important;
  font-weight: 700 !important;
  font-size: 14px !important;
}
.type-detail .availability-amount {
  color: #7a88a0 !important;
  font-size: 13.5px !important;
}

/* Add to cart sekce */
.type-detail .add-to-cart {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  margin-bottom: 20px !important;
  flex-wrap: wrap !important;
}

/* Quantity input */
.quantity {
  display: flex !important;
  align-items: center !important;
  background: #f5f7fa !important;
  border: 1.5px solid #dde2eb !important;
  border-radius: 10px !important;
  overflow: hidden !important;
  height: 46px !important;
}
.type-detail .quantity input.amount {
  width: 48px !important;
  text-align: center !important;
  border: none !important;
  background: transparent !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  color: #1a2340 !important;
  outline: none !important;
  padding: 0 !important;
  -moz-appearance: textfield !important;
}
.type-detail .quantity input.amount::-webkit-inner-spin-button,
.type-detail .quantity input.amount::-webkit-outer-spin-button {
  -webkit-appearance: none !important;
}
.type-detail .quantity .increase,
.type-detail .quantity .decrease {
  background: transparent !important;
  border: none !important;
  color: #7a88a0 !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  width: 32px !important;
  height: 46px !important;
  cursor: pointer !important;
  transition:
    background 0.14s,
    color 0.14s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0 !important;
}
.type-detail .quantity .increase:hover,
.type-detail .quantity .decrease:hover {
  background: #eef2ff !important;
  color: #0044a0 !important;
}

/* Tlačítko přidat do košíku */
.type-detail .add-to-cart-button,
button.btn-conversion.add-to-cart-button {
  background: #0044a0 !important;
  border: none !important;
  border-radius: 10px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  padding: 12px 28px !important;
  height: 46px !important;
  letter-spacing: 0.2px !important;
  cursor: pointer !important;
  transition:
    background 0.16s,
    transform 0.12s !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.type-detail .add-to-cart-button:hover {
  background: #0055cc !important;
  transform: translateY(-1px) !important;
}
.type-detail .add-to-cart-button:active {
  transform: translateY(0) !important;
}

/* Krátký popis */
.type-detail .p-short-description {
  color: #6b7a94 !important;
  font-size: 13.5px !important;
  line-height: 1.7 !important;
  margin-bottom: 8px !important;
  border-top: 1px solid #eef0f5 !important;
  padding-top: 16px !important;
}

/* Detailní informace link */
.type-detail .p-info-wrapper a.chevron-after {
  color: #0044a0 !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}
.type-detail .p-info-wrapper a.chevron-after:hover {
  color: #0055cc !important;
  text-decoration: underline !important;
}

/* Sdílet / tisk / zeptat se ikonky */
.type-detail .social-buttons-wrapper {
  border-top: 1px solid #eef0f5 !important;
  padding-top: 16px !important;
  margin-top: 16px !important;
}
.type-detail .link-icons {
  display: flex !important;
  gap: 4px !important;
}
.type-detail .link-icon {
  display: inline-flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 8px 14px !important;
  border-radius: 9px !important;
  border: 1.5px solid #e2e6ed !important;
  color: #6b7a94 !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  letter-spacing: 0.5px !important;
  text-decoration: none !important;
  text-transform: uppercase !important;
  transition: all 0.15s !important;
  background: #ffffff !important;
}
.type-detail .link-icon:hover {
  border-color: #0044a0 !important;
  color: #0044a0 !important;
  background: #f0f4ff !important;
}
.type-detail .link-icon::before {
  font-size: 18px !important;
  opacity: 0.7 !important;
}

#cart-widget {
  border-radius: 12px;
}

.cart-widget-button {
  border-radius: 0px 0px 12px 12px;
}

.custom-footer {
  padding-top: 0 !important;
}

@media (max-width: 767px) {
  #header {
    border-bottom: unset !important;
    box-shadow: unset !important;
  }

  .header-top {
    padding: 0 !important;
  }

  .cart-count {
    background: unset !important;
    border: unset !important;
    border-radius: unset !important;
    color: unset !important;
    padding: 8px 0px !important;
    transition: border-color 0.18s !important;
    text-decoration: none !important;
  }
  #header .site-name {
    top: -42px !important;
  }
  #content {
    margin: 0px 0px 0px 0px !important;
    padding: 5px !important;
  }
  .shp-tabs-holder {
    margin: auto !important;
  }
}

.btn.btn-cart {
  border-radius: 12px !important;
}

.ordering-process .content-inner {
  margin: 41px !important;
}

.ordering-process #content {
  margin-left: 0 !important;
}

.in-index .products-block {
  background: #ffffff !important;
  border: 1px solid #e2e6ed !important;
  border-radius: 14px !important;
  padding: 20px 28px !important;
  box-shadow: 0 8px 30px rgba(0, 30, 90, 0.12) !important;
}

.betechnik-warning {
  background-color: #ffdd9f;
  border: 2px solid orange;
  border-radius: 4px;
  color: #5d4037;
  padding: 12px 16px;
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.5;
  margin-top: 30px;
}

.availability-amount {
  display: none!important;
}

.subcategories.with-image li a .image {
  display: none!important;
}