/* ==========================================================================
   PAJANDY.CZ — MODERN DESIGN & CONVERSION OVERHAUL (v11.0)
   Brand Colors: Primary Yellow #FFC500, Amber #FFA800, Dark Slate #111827, White #FFFFFF
   ========================================================================== */

/* Global Smooth Rendering & Typography */
html {
  scroll-behavior: smooth;
}
body {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #1f2937;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif !important;
}

/* ==========================================================================
   1. TOP NAVIGATION BAR (SLEEK DARK SLATE & GOLD)
   ========================================================================== */
.navigation-in,
#navigation .navigation-in {
  background: #111827 !important; /* Premium Charcoal Slate */
  border-bottom: 2px solid #ffc500 !important;
  box-shadow: 0 4px 18px rgba(0, 0, 0, 0.12) !important;
  border-radius: 8px !important;
}

/* Navigation items */
.navigation-in > ul > li > a,
#navigation > div > ul > li > a {
  color: #f3f4f6 !important;
  font-weight: 600 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.15px !important;
  padding: 12px 14px !important;
  transition: all 0.2s ease !important;
  position: relative !important;
}

.navigation-in > ul > li:hover > a,
#navigation > div > ul > li:hover > a,
.navigation-in > ul > li.active > a {
  color: #ffc500 !important;
  background: rgba(255, 255, 255, 0.06) !important;
}

/* Highlight "Výprodej a Sezónní hity" */
.navigation-in > ul > li.menu-item-1383 > a,
#navigation a[href*="vyprodej"] {
  color: #ffc500 !important;
  font-weight: 700 !important;
}
.navigation-in > ul > li.menu-item-1383 > a:after,
#navigation a[href*="vyprodej"]:after {
  content: "AKCE";
  display: inline-block;
  background: #dc2626;
  color: #ffffff;
  font-size: 10px;
  font-weight: 800;
  padding: 1px 5px;
  border-radius: 4px;
  margin-left: 6px;
  vertical-align: middle;
}

/* Submenus & Dropdowns */
@media (min-width: 768px) {
  .navigation-in > ul > li > ul,
  .navigation-in .menu-level-2,
  #navigation .menu-level-2 {
    background: #ffffff !important;
    border: 1px solid #e2e8f0 !important;
    border-radius: 12px !important;
    box-shadow: 0 16px 36px rgba(0, 0, 0, 0.12) !important;
  }
  .navigation-in .menu-level-3,
  .menu-level-3,
  #navigation .menu-level-3,
  .navigation-in ul ul ul {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    margin: 4px 0 0 0 !important;
    overflow: visible !important;
  }
  .navigation-in .menu-level-3 li,
  #navigation .menu-level-3 li {
    border: none !important;
    padding: 0 !important;
    margin: 0 !important;
    background: transparent !important;
  }
  .navigation-in .menu-level-2 a,
  .navigation-in .menu-level-2 span,
  .navigation-in .menu-level-3 a,
  .navigation-in .menu-level-3 span,
  #navigation .menu-level-2 a,
  #navigation .menu-level-3 a {
    color: #1e293b !important;
    text-decoration: none !important;
  }
  .navigation-in .menu-level-2 > li > div > a,
  .navigation-in .menu-level-2 > li > a,
  #navigation .menu-level-2 > li > div > a,
  #navigation .menu-level-2 > li > a,
  .menu-level-2 a.menu-image + div a,
  .menu-level-2 .has-third-level > div > a,
  .menu-level-2 .menu-item-name {
    color: #0f172a !important;
    font-size: 14px !important;
    font-weight: 700 !important;
  }
  .navigation-in .menu-level-3 a,
  #navigation .menu-level-3 a,
  .menu-level-3 a {
    color: #475569 !important;
    font-size: 12.5px !important;
    font-weight: 400 !important;
    padding: 1px 0 !important;
    display: inline !important;
  }
  .navigation-in .menu-level-2 a:hover,
  .navigation-in .menu-level-3 a:hover,
  #navigation .menu-level-2 a:hover,
  #navigation .menu-level-3 a:hover {
    color: #d97706 !important;
  }
}

/* Navigation close & toggle */
.navigation-close {
  color: #ffffff !important;
}

/* Top utility bar customer care phone */
.pjy-top-phone {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
  margin-right: 18px !important;
  font-size: 13px !important;
}
.pjy-top-phone a {
  color: #0f172a !important;
  text-decoration: none !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  transition: color 0.15s ease !important;
}
.pjy-top-phone a:hover {
  color: #d97706 !important;
}

/* ==========================================================================
   2. TRUST & BENEFIT BAR (USP STRIP)
   ========================================================================== */
.pjy-trust-bar {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 12px !important;
  margin: 18px auto 24px auto !important;
  padding: 12px 18px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 3px 12px rgba(0, 0, 0, 0.03) !important;
  box-sizing: border-box !important;
}

/* Critical Fix for Bootstrap / Shoptet .container pseudo-elements in Grid */
.pjy-trust-bar:before,
.pjy-trust-bar:after {
  display: none !important;
  content: none !important;
  width: 0 !important;
  height: 0 !important;
}

.pjy-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 6px 8px !important;
  text-decoration: none !important;
  color: inherit !important;
  box-sizing: border-box !important;
}

.pjy-trust-icon {
  width: 40px !important;
  height: 40px !important;
  min-width: 40px !important;
  border-radius: 10px !important;
  background: #fef3c7 !important;
  color: #d97706 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  transition: transform 0.2s ease !important;
}
.pjy-trust-item:hover .pjy-trust-icon {
  transform: scale(1.08) !important;
  background: #fde68a !important;
}

.pjy-trust-texts {
  display: flex !important;
  flex-direction: column !important;
}

.pjy-trust-title {
  font-weight: 700 !important;
  font-size: 13.5px !important;
  line-height: 1.25 !important;
  color: #0f172a !important;
}

.pjy-trust-sub {
  font-size: 11.5px !important;
  color: #64748b !important;
  margin-top: 2px !important;
  line-height: 1.2 !important;
}

@media (max-width: 991px) {
  .pjy-trust-bar {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    padding: 10px 14px !important;
  }
}

@media (max-width: 575px) {
  .pjy-trust-bar {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 8px !important;
    margin: 12px auto 16px auto !important;
    padding: 8px 10px !important;
  }
  .pjy-trust-icon {
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    font-size: 17px !important;
  }
  .pjy-trust-title {
    font-size: 12px !important;
  }
  .pjy-trust-sub {
    font-size: 10px !important;
  }
}

/* ==========================================================================
   3. HOMEPAGE CAROUSEL & BANNERS
   ========================================================================== */
.carousel, 
.banners-carousel, 
.slider,
.homepage-group .carousel-inner {
  border-radius: 16px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.06) !important;
}

/* Carousel navigation arrows */
.carousel-control,
.carousel .carousel-control-prev,
.carousel .carousel-control-next {
  width: 46px !important;
  height: 46px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  border-radius: 50% !important;
  background: rgba(255, 255, 255, 0.88) !important;
  backdrop-filter: blur(8px) !important;
  -webkit-backdrop-filter: blur(8px) !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.15) !important;
  opacity: 0.85 !important;
  transition: all 0.25s ease !important;
}
.carousel-control:hover,
.carousel .carousel-control-prev:hover,
.carousel .carousel-control-next:hover {
  opacity: 1 !important;
  background: #ffffff !important;
  transform: translateY(-50%) scale(1.08) !important;
}

/* Category Banners (Grid tiles under carousel) */
.homepage_categories a,
.banners-wrapper a,
.adv-banners a,
.category-banners a {
  border-radius: 12px !important;
  overflow: hidden !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
  display: block !important;
}
.homepage_categories a:hover,
.banners-wrapper a:hover,
.adv-banners a:hover,
.category-banners a:hover {
  transform: translateY(-3px) scale(1.01) !important;
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.09) !important;
  border-color: #ffc500 !important;
}
.homepage_categories a img,
.banners-wrapper a img,
.adv-banners a img {
  border-radius: 11px !important;
  transition: transform 0.3s ease !important;
}

/* Section Titles with Brand Underline */
.homepage-group-title {
  font-size: 25px !important;
  font-weight: 800 !important;
  letter-spacing: -0.3px !important;
  text-align: center !important;
  position: relative !important;
  padding-bottom: 14px !important;
  margin-top: 36px !important;
  margin-bottom: 26px !important;
  color: #0f172a !important;
}
.homepage-group-title:after {
  content: "" !important;
  position: absolute !important;
  bottom: 0 !important;
  left: 50% !important;
  transform: translateX(-50%) !important;
  width: 48px !important;
  height: 4px !important;
  background: #ffc500 !important;
  border-radius: 2px !important;
}

/* ==========================================================================
   4. PRODUCT CARDS (GRID & LIST) - FIXED ALIGNMENT & COMPACT TILES
   ========================================================================== */
.products-block > div .p,
.product .p {
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 14px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03) !important;
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.25s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.25s ease !important;
  position: relative !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-start !important;
  height: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.products-block > div .p:hover,
.product .p:hover {
  border-color: #ffc500 !important;
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08) !important;
  transform: translateY(-4px) !important;
}

/* Eliminate Double Card Nesting on .p-in */
.p-in {
  background: transparent !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  display: flex !important;
  flex-direction: column !important;
  flex: 1 1 auto !important;
  justify-content: flex-start !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

/* Anchor Buy Zone (Price + Button) uniformly to Bottom */
.p-bottom,
.p-tools {
  margin-top: auto !important;
  width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

/* Hide Internal SKU/Product Code on Catalog Tiles to Prevent Collisions */
.products-block .p-code,
.product-slider .p-code,
.product .p > .p-code,
.products-block > div div.p > span.p-code {
  display: none !important;
}

/* Flags / Badges (AKCE, VÍCE ZA MÉNĚ) - Clean Top-Left Positioning */
.flags.flags-default,
.flags.flags-extra {
  position: absolute !important;
  top: 8px !important;
  left: 8px !important;
  right: auto !important;
  z-index: 5 !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 4px !important;
  max-width: 75% !important;
}
.flags.flags-default .flag,
.flags.flags-extra .flag,
.flag.flag-quantity-discount,
.flag.flag-discount {
  border-radius: 6px !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  padding: 3px 8px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.12) !important;
  width: fit-content !important;
  letter-spacing: 0.3px !important;
  text-transform: uppercase !important;
}

/* Product Card Image */
.products-block > div .p .image,
.product .p .image {
  border-radius: 10px !important;
  overflow: hidden !important;
  background: #fbfbfc !important;
  margin-bottom: 12px !important;
}
.products-block > div .p .image img,
.product .p .image img {
  border-radius: 10px !important;
  transition: transform 0.35s ease !important;
}
.products-block > div .p:hover .image img,
.product .p:hover .image img {
  transform: scale(1.04) !important;
}

/* Product Title */
.products-block > div .p .name,
.product .p .name,
[data-testid="productCardName"] {
  font-weight: 700 !important;
  font-size: 14px !important;
  line-height: 1.35 !important;
  color: #0f172a !important;
  transition: color 0.18s ease !important;
  display: -webkit-box !important;
  -webkit-line-clamp: 3 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  min-height: 50px !important;
}
.products-block > div .p .name:hover,
.product .p .name:hover {
  color: #d97706 !important;
}

/* Availability Badges (Skladem = Green, Vyprodáno = Red, Objednáno = Amber) */
.availability {
  font-size: 12.5px !important;
  font-weight: 600 !important;
  margin: 6px 0 !important;
}

/* Skladem - Green */
.availability span[style*="#009901"],
.availability span[style*="009901"],
.availability.avail-in-stock span:not(.availability-amount),
.p-availability.in-stock {
  color: #059669 !important;
  background: #ecfdf5 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.availability span[style*="#009901"]:before,
.availability span[style*="009901"]:before,
.availability.avail-in-stock span:not(.availability-amount):before {
  content: "●";
  font-size: 9px;
  color: #10b981 !important;
}

/* Vyprodáno - Red */
.availability span[style*="#cb0000"],
.availability span[style*="cb0000"],
.availability.avail-sold-out span:not(.availability-amount),
.p-availability.out-of-stock {
  color: #dc2626 !important;
  background: #fef2f2 !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.availability span[style*="#cb0000"]:before,
.availability span[style*="cb0000"]:before,
.availability.avail-sold-out span:not(.availability-amount):before {
  content: "●";
  font-size: 9px;
  color: #ef4444 !important;
}

/* Objednáno / Na dotaz - Amber */
.availability.avail-ordered span:not(.availability-amount),
.availability span:not([style*="#009901"]):not([style*="#cb0000"]):not(.availability-amount) {
  color: #d97706 !important;
  background: #fffbeb !important;
  padding: 3px 8px !important;
  border-radius: 6px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.availability.avail-ordered span:not(.availability-amount):before,
.availability span:not([style*="#009901"]):not([style*="#cb0000"]):not(.availability-amount):before {
  content: "●";
  font-size: 9px;
  color: #f59e0b !important;
}

/* Availability amount tag (>5 ks) */
.availability-amount {
  background: #fffbeb !important;
  color: #b45309 !important;
  border-radius: 6px !important;
  padding: 2px 6px !important;
  font-size: 11.5px !important;
  margin-left: 4px !important;
  display: inline-block !important;
}

/* Star Reviews */
.stars,
.star-rating,
.stars-wrapper,
.vote-wrap {
  color: #f59e0b !important;
}

/* Price block */
.prices .price,
.price-final {
  font-size: 22px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  letter-spacing: -0.3px !important;
}
.prices .price-additional,
.price-standard {
  font-size: 13px !important;
  color: #94a3b8 !important;
  text-decoration: line-through !important;
}

/* Discount and extra flags */
.flags .flag,
.extra-flags .flag {
  border-radius: 6px !important;
  font-weight: 800 !important;
  font-size: 11px !important;
  letter-spacing: 0.3px !important;
  padding: 3px 8px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.08) !important;
}
.flags .flag-discount,
.flags .price-save {
  background: #dc2626 !important;
  color: #ffffff !important;
  border-radius: 6px !important;
}

/* ==========================================================================
   5. "DO KOŠÍKU" & CONVERSION BUTTONS
   ========================================================================== */
.btn-conversion,
.btn.btn-conversion,
.add-to-cart-button,
.p-tools .btn,
.p-tools .btn-conversion {
  background: linear-gradient(135deg, #ffc500 0%, #ffa800 100%) !important;
  color: #111827 !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  border-radius: 9px !important;
  border: none !important;
  box-shadow: 0 3px 10px rgba(255, 168, 0, 0.35) !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  cursor: pointer !important;
}
.btn-conversion:hover,
.btn.btn-conversion:hover,
.add-to-cart-button:hover,
.p-tools .btn:hover,
.p-tools .btn-conversion:hover {
  background: linear-gradient(135deg, #ffa800 0%, #ff9500 100%) !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 18px rgba(255, 150, 0, 0.45) !important;
  color: #000000 !important;
}
.btn-conversion:active,
.add-to-cart-button:active {
  transform: translateY(0) !important;
  box-shadow: 0 2px 6px rgba(255, 150, 0, 0.3) !important;
}

/* Quantity Stepper [-] [ 1 ] [+] */
.quantity {
  border-radius: 9px !important;
  overflow: hidden !important;
  border: 1px solid #d1d5db !important;
  background: #f9fafb !important;
}
.quantity input {
  font-weight: 700 !important;
  font-size: 14px !important;
  color: #111827 !important;
  background: #ffffff !important;
  border: none !important;
}
.quantity .increase,
.quantity .decrease {
  background: #f3f4f6 !important;
  border: none !important;
  font-weight: 800 !important;
  color: #374151 !important;
  transition: background 0.15s ease !important;
}
.quantity .increase:hover,
.quantity .decrease:hover {
  background: #e5e7eb !important;
  color: #111827 !important;
}

/* Tlačítko poptat u prodejce */
.oos_btn.link-icon {
  max-width: 250px !important;
  background-color: #ffc500 !important;
  border-color: #ffc500 !important;
  color: #111827 !important;
  flex: 1 1 auto !important;
  padding: 0 24px !important;
  white-space: nowrap !important;
  height: 52px !important;
  line-height: 50px !important;
  font-weight: 800 !important;
  border-radius: 9px !important;
  text-transform: none !important;
}
.oos_btn.link-icon:hover {
  background-color: #ffa800 !important;
  color: #000000 !important;
}
.oos_btn.link-icon.chat:before {
  display: none !important;
}

/* ==========================================================================
   6. PRODUCT DETAIL PAGE (BUY BOX, SPECS, TABS & TRUST)
   ========================================================================== */
.type-detail .p-detail-inner {
  gap: 30px !important;
}
.type-detail .p-image-wrapper {
  border-radius: 16px !important;
  overflow: hidden !important;
}
.type-detail .p-to-cart-block {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 22px !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04) !important;
}
.type-detail .p-to-cart-block .btn-conversion {
  height: 52px !important;
  line-height: 52px !important;
  font-size: 16px !important;
  letter-spacing: 0.3px !important;
}

/* Product Detail Feature Box (Restyle harsh red outline) */
.p-short-description div[style*="border"],
.short-description div[style*="border"],
.p-data-wrapper div[style*="border"],
.p-detail-inner div[style*="#ff2600"],
.p-detail-inner div[style*="rgb(255, 38, 0)"] {
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #ffc500 !important;
  background: #f8fafc !important;
  border-radius: 12px !important;
  padding: 16px 20px !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
}

/* In-Description Highlight & Alert Boxes */
#description div[style*="#1976d2"],
#description div[style*="#e3f2fd"],
.description-inner div[style*="#1976d2"],
.description-inner div[style*="#e3f2fd"] {
  border: 1px solid #e2e8f0 !important;
  border-left: 4px solid #ffc500 !important;
  background: #f8fafc !important;
  color: #1e293b !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

#description div[style*="#43a047"],
#description div[style*="#e8f5e9"],
.description-inner div[style*="#43a047"],
.description-inner div[style*="#e8f5e9"] {
  border: 1px solid #bbf7d0 !important;
  background: #f0fdf4 !important;
  color: #166534 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

#description div[style*="#f44336"],
#description div[style*="#ffebee"],
.description-inner div[style*="#f44336"],
.description-inner div[style*="#ffebee"] {
  border: 1px solid #fde68a !important;
  border-left: 4px solid #f59e0b !important;
  background: #fffbeb !important;
  color: #92400e !important;
  border-radius: 12px !important;
}

#description div[style*="#eaeaea"],
.description-inner div[style*="#eaeaea"] {
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
}

/* Product Detail Trust Badges */
.pjy-buybox-trust {
  margin-top: 18px !important;
  padding-top: 16px !important;
  border-top: 1px solid #e2e8f0 !important;
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
}
.pjy-buybox-trust-item {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
}
.pjy-buybox-trust-item span.icon {
  font-size: 16px !important;
}

/* ==========================================================================
   Graphical Delivery Box (.detailDoprava) - PPL & Pickup
   ========================================================================== */
.detailDoprava {
  margin-top: 16px !important;
  padding: 16px 18px !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 14px !important;
  box-shadow: 0 4px 14px rgba(15, 23, 42, 0.04) !important;
}
.detailDoprava-title {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  margin-bottom: 12px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
}
.detailDoprava-list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}
.detailDoprava-item {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  padding: 8px 12px !important;
  background: #f8fafc !important;
  border: 1px solid #f1f5f9 !important;
  border-radius: 10px !important;
  transition: all 0.2s ease !important;
}
.detailDoprava-item:hover {
  background: #f1f5f9 !important;
  border-color: #cbd5e1 !important;
}
.detailDoprava-item-left {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}
.detailDoprava-emoji {
  display: inline-flex !important;
  width: 32px !important;
  height: 32px !important;
  border-radius: 8px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 16px !important;
  flex-shrink: 0 !important;
}
.detailDoprava-item strong {
  display: block !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  color: #0f172a !important;
}
.detailDoprava-sub {
  display: block !important;
  font-size: 11px !important;
  color: #64748b !important;
}
.detailDoprava-price {
  font-size: 13.5px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
}
.detailDoprava-price--free {
  color: #047857 !important;
  background: #ecfdf5 !important;
  border: 1px solid #a7f3d0 !important;
  padding: 2px 8px !important;
  border-radius: 999px !important;
  font-size: 11.5px !important;
}
.detailDoprava-footer {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  margin-top: 12px !important;
  padding-top: 10px !important;
  border-top: 1px dashed #e2e8f0 !important;
  font-size: 12px !important;
  color: #475569 !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
}
.detailDoprava-more {
  color: #d97706 !important;
  font-weight: 700 !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
}
.detailDoprava-more:hover {
  color: #b45309 !important;
  text-decoration: underline !important;
}

/* ==========================================================================
   Graphical Help & Advice Box (.detail-help) - Emojis & Contact Cards
   ========================================================================== */
.detail-help {
  margin-top: 18px !important;
  padding: 20px !important;
  background: #ffffff !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 16px !important;
  box-shadow: 0 10px 25px -5px rgba(245, 158, 11, 0.08) !important;
  position: relative !important;
}
.detail-help-badge {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  background: #fffbeb !important;
  border: 1px solid #fde68a !important;
  color: #b45309 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  padding: 4px 12px !important;
  border-radius: 999px !important;
  letter-spacing: 0.5px !important;
  text-transform: uppercase !important;
  margin-bottom: 8px !important;
}
.detail-help-badge-dot {
  width: 7px !important;
  height: 7px !important;
  border-radius: 50% !important;
  background: #22c55e !important;
  box-shadow: 0 0 0 2px rgba(34, 197, 94, 0.25) !important;
}
.detail-help-title {
  font-size: 18px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  margin: 0 0 6px 0 !important;
  line-height: 1.3 !important;
}
.detail-help-subtitle {
  font-size: 13px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
  margin-bottom: 16px !important;
}
.detail-help-cards {
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 12px !important;
}
.detail-help-card {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 12px 14px !important;
  background: #f8fafc !important;
  border: 1.5px solid #e2e8f0 !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.detail-help-card:hover {
  transform: translateY(-2px) !important;
  border-color: #ffc500 !important;
  background: #ffffff !important;
  box-shadow: 0 8px 18px rgba(255, 197, 0, 0.16) !important;
}
.detail-help-card-icon {
  width: 42px !important;
  height: 42px !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 20px !important;
  flex-shrink: 0 !important;
  transition: background 0.2s ease !important;
}
.detail-help-card--phone:hover .detail-help-card-icon {
  background: #fef08a !important;
  border-color: #fde047 !important;
}
.detail-help-card--email:hover .detail-help-card-icon {
  background: #e0f2fe !important;
  border-color: #bae6fd !important;
}
.detail-help-card-content {
  flex: 1 !important;
  min-width: 0 !important;
}
.detail-help-card-label {
  display: block !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  color: #64748b !important;
  text-transform: uppercase !important;
  letter-spacing: 0.3px !important;
}
.detail-help-card-val {
  display: block !important;
  font-size: 15px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
}
.detail-help-card-desc {
  display: block !important;
  font-size: 11px !important;
  color: #64748b !important;
  margin-top: 2px !important;
}
.detail-help-card-arrow {
  font-size: 14px !important;
  font-weight: 800 !important;
  color: #cbd5e1 !important;
  transition: all 0.2s ease !important;
}
.detail-help-card:hover .detail-help-card-arrow {
  color: #0f172a !important;
  transform: translateX(3px) !important;
}
.detail-help-perks {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px dashed #e2e8f0 !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #475569 !important;
}
.detail-help-perk {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
}

/* Mobile Drawer Menu Support Box */
.pjy-mob-menu-support {
  margin: 16px 12px !important;
  padding: 14px 16px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  border: 1px solid rgba(255, 255, 255, 0.14) !important;
  border-radius: 12px !important;
}
.pjy-mob-menu-title {
  font-weight: 800 !important;
  font-size: 13.5px !important;
  color: #ffffff !important;
  margin-bottom: 6px !important;
}
.pjy-mob-menu-phone {
  color: #ffc500 !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  display: inline-block !important;
  text-decoration: none !important;
  padding: 2px 0 !important;
}
.pjy-mob-menu-meta {
  font-size: 11px !important;
  color: #cbd5e1 !important;
  margin-top: 4px !important;
}

/* Modern Tabs on Product Detail (.shp-tabs) */
.shp-tabs,
#p-detail-tabs,
ul.shp-tabs {
  border-bottom: 2px solid #e2e8f0 !important;
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 24px !important;
  padding-left: 0 !important;
}
.shp-tab,
.shp-tabs > li {
  margin: 0 !important;
  list-style: none !important;
}
.shp-tab .shp-tab-link,
.shp-tabs > li > a {
  border: 1px solid #e2e8f0 !important;
  border-bottom: none !important;
  border-radius: 10px 10px 0 0 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
  color: #64748b !important;
  padding: 12px 22px !important;
  transition: all 0.2s ease !important;
  background: #f8fafc !important;
  display: inline-block !important;
  text-decoration: none !important;
}
.shp-tab:hover .shp-tab-link,
.shp-tabs > li:hover > a {
  color: #0f172a !important;
  background: #f1f5f9 !important;
}
.shp-tab.active .shp-tab-link,
.shp-tabs > li.active > a {
  color: #0f172a !important;
  background: #ffffff !important;
  border: 2px solid #ffc500 !important;
  border-bottom: 2px solid #ffffff !important;
  margin-bottom: -2px !important;
}

/* Eliminate Tab Focus Outline Bug */
.tab-pane,
.tab-pane:focus,
.tab-pane:focus-visible,
.shp-tabs-holder:focus,
#extendedDescription:focus {
  outline: none !important;
}

/* Parameters Table */
.detail-parameters,
table.detail-parameters,
.table-params {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 20px 0 !important;
  background: #ffffff !important;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.02) !important;
}
.detail-parameters tr:nth-child(even) {
  background: #f8fafc !important;
}
.detail-parameters th,
.detail-parameters td {
  padding: 14px 20px !important;
  font-size: 14px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  color: #334155 !important;
}
.detail-parameters th {
  font-weight: 700 !important;
  color: #0f172a !important;
  background: #f8fafc !important;
  width: 35% !important;
}
.detail-parameters tr:last-child th,
.detail-parameters tr:last-child td {
  border-bottom: none !important;
}

/* Quantity discounts box */
.quantity-discounts__table {
  border-radius: 10px !important;
  overflow: hidden !important;
}
.quantity-discounts__item {
  border-radius: 8px !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.2s ease !important;
}
.quantity-discounts__item:hover {
  border-color: #ffc500 !important;
  background: #fffbeb !important;
}

/* ==========================================================================
   7. CATEGORY PAGES (SUBCATEGORIES, FILTERS & PAGINATION)
   ========================================================================== */
ul.subcategories {
  margin: 18px 0 26px 0 !important;
  padding: 0 !important;
  list-style: none !important;
}
ul.subcategories li a {
  display: flex !important;
  align-items: center !important;
  gap: 12px !important;
  padding: 10px 14px !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.02) !important;
  text-decoration: none !important;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1) !important;
  margin-bottom: 14px !important;
  min-height: 66px !important;
  box-sizing: border-box !important;
}
ul.subcategories li a:hover {
  border-color: #ffc500 !important;
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.07) !important;
  transform: translateY(-2px) !important;
}
ul.subcategories li a:hover .text {
  color: #d97706 !important;
}
ul.subcategories li a .image {
  flex-shrink: 0 !important;
  width: 44px !important;
  height: 44px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}
ul.subcategories li a .image img {
  max-width: 100% !important;
  max-height: 100% !important;
  object-fit: contain !important;
}
ul.subcategories li a .text {
  font-weight: 700 !important;
  font-size: 13px !important;
  color: #1e293b !important;
  line-height: 1.3 !important;
  transition: color 0.15s ease !important;
}

/* Pagination & Load More Buttons */
.pagination > li > a,
.pagination > li > span,
.pagination-wrapper a,
.load-more,
a.load-more,
.btn.load-more,
.pagination-wrapper .btn-default {
  border-radius: 10px !important;
  border: 1px solid #e2e8f0 !important;
  transition: all 0.2s ease !important;
  font-weight: 600 !important;
}
.load-more:hover,
a.load-more:hover {
  background: #ffc500 !important;
  color: #111827 !important;
  border-color: #ffc500 !important;
}

/* ==========================================================================
   8. HEADER & SEARCH BAR
   ========================================================================== */
.search-form input[type="search"],
.search-form input[name="string"],
#search-query {
  border-radius: 10px 0 0 10px !important;
  border: 2px solid #e2e8f0 !important;
  border-right: none !important;
  padding-left: 46px !important;
  height: 44px !important;
  font-size: 14px !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
.search-form input:focus {
  border-color: #ffc500 !important;
  outline: none !important;
  box-shadow: 0 0 0 3px rgba(255, 197, 0, 0.15) !important;
}
.search-form .btn-search,
.search-form button[type="submit"] {
  border-radius: 0 10px 10px 0 !important;
  background: linear-gradient(135deg, #ffc500 0%, #ffa800 100%) !important;
  color: #111827 !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  padding: 0 24px !important;
  border: none !important;
  height: 44px !important;
  transition: all 0.2s ease !important;
}
.search-form .btn-search:hover,
.search-form button[type="submit"]:hover {
  background: linear-gradient(135deg, #ffa800 0%, #ff9500 100%) !important;
  color: #000000 !important;
}

/* Navigation bar shadows */
.navigation-in,
.top-navigation-bar {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08) !important;
}

/* ==========================================================================
   9. EMPTY CART PAGE OVERHAUL
   ========================================================================== */
.cart-empty {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 16px !important;
  padding: 36px !important;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.03) !important;
  margin: 24px auto !important;
}
.cart-empty .cart-heading {
  font-weight: 800 !important;
  font-size: 26px !important;
  color: #0f172a !important;
  margin-bottom: 22px !important;
  padding-bottom: 14px !important;
  border-bottom: 1px solid #e2e8f0 !important;
}
.cart-empty .empty-cart-boxes h3 {
  font-weight: 700 !important;
  font-size: 16px !important;
  color: #1e293b !important;
  margin-bottom: 14px !important;
}
.cart-empty .empty-cart-boxes ul {
  list-style: none !important;
  padding-left: 0 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.cart-empty .empty-cart-boxes ul li {
  margin: 0 !important;
}
.cart-empty .empty-cart-boxes ul li a {
  display: inline-block !important;
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 20px !important;
  padding: 7px 16px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
}
.cart-empty .empty-cart-boxes ul li a:hover {
  background: #fffbeb !important;
  border-color: #ffc500 !important;
  color: #b45309 !important;
  transform: translateY(-2px) !important;
  box-shadow: 0 4px 10px rgba(255, 197, 0, 0.2) !important;
}
.cart-empty .col-md-4 {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  padding: 20px !important;
}

/* ==========================================================================
   10. FOOTER LOGIN & NEWSLETTER POLISH
   ========================================================================== */
#formLoginIncluded,
.login-form {
  border-radius: 10px !important;
}
#formLoginIncluded .form-control {
  border-radius: 8px !important;
  border: 1px solid #cbd5e1 !important;
  padding: 8px 12px !important;
}
#formLoginIncluded .btn-primary {
  background: #111827 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  border-radius: 8px !important;
  border: none !important;
  padding: 8px 16px !important;
  transition: all 0.2s ease !important;
}
#formLoginIncluded .btn-primary:hover {
  background: #ffc500 !important;
  color: #111827 !important;
}

/* ==========================================================================
   11. FLOATING RETURN-TO-TOP & MOBILE FIXES
   ========================================================================== */
#return-to-top {
  background-color: #1e293b !important;
  border-radius: 50% !important;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25) !important;
  bottom: 24px !important;
  right: 20px !important;
  width: 44px !important;
  height: 44px !important;
  line-height: 44px !important;
  opacity: 0.85 !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
  z-index: 998 !important;
}
#return-to-top:hover {
  background-color: #ffc500 !important;
  color: #111827 !important;
  opacity: 1 !important;
  transform: scale(1.08) !important;
}

@media (max-width: 767px) {
  #return-to-top {
    bottom: 80px !important;
    right: 14px !important;
    width: 38px !important;
    height: 38px !important;
    line-height: 38px !important;
    opacity: 0.75 !important;
  }
  .products-block > div .p,
  .product .p {
    padding: 12px !important;
    border-radius: 12px !important;
  }
  .homepage-group-title {
    font-size: 20px !important;
    margin-top: 26px !important;
    margin-bottom: 18px !important;
  }
  .btn-conversion,
  .btn.btn-conversion,
  .add-to-cart-button {
    font-size: 13px !important;
    padding: 9px 12px !important;
  }
}

/* Hide return to top on product detail to never obscure buy button */
.type-detail #return-to-top { 
  display: none !important; 
}

/* Mobile category pill buttons */
.homepage_categories a,
.mobile-categories a,
#mobile-categories a {
  min-height: 44px !important;
  height: auto !important;
  line-height: 1.25 !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  padding: 8px 12px !important;
  border-radius: 10px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  box-shadow: 0 2px 6px rgba(0,0,0,0.02) !important;
  color: #1e293b !important;
  transition: all 0.2s ease !important;
}
.homepage_categories a:hover,
.mobile-categories a:hover,
#mobile-categories a:hover {
  border-color: #ffc500 !important;
  background: #fffbeb !important;
  color: #b45309 !important;
  transform: translateY(-2px) !important;
}

/* Footer & Legal styling */
#pjy-legal {
  border-top: 1px solid rgba(0, 0, 0, 0.08) !important;
  margin-top: 16px !important;
  padding: 20px 16px !important;
  text-align: center !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: #64748b !important;
  background: transparent !important;
}
#pjy-legal strong {
  color: #1e293b !important;
  font-weight: 600 !important;
}
#pjy-legal a {
  color: #475569 !important;
  text-decoration: none !important;
  border-bottom: 1px solid rgba(0, 0, 0, 0.15) !important;
}
#pjy-legal a:hover {
  color: #0f172a !important;
  border-color: #ffc500 !important;
}
#pjy-legal .sep {
  padding: 0 8px !important;
  opacity: 0.4 !important;
}
@media (max-width: 640px) {
  #pjy-legal .sep {
    display: block !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
  }
}


/* ==========================================================================
   12. MOBILE NAVIGATION DRAWER OVERHAUL (v11.0 - Mobile Only)
   ========================================================================== */
@media (max-width: 767px) {
  #navigation a,
  #navigation a *,
  #navigation a b {
    text-decoration: none !important;
  }
  #navigation {
    background-color: #111827 !important;
    color: #f8fafc !important;
  }
  #navigation .navigation-in {
    background-color: #111827 !important;
  }
  #navigation ul li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.08) !important;
  }
  #navigation ul li a {
    color: #f1f5f9 !important;
    padding: 13px 18px !important;
    font-size: 15px !important;
    font-weight: 600 !important;
    display: flex !important;
    align-items: center !important;
    transition: background-color 0.15s ease, color 0.15s ease !important;
  }
  #navigation ul li a:hover,
  #navigation ul li.active > a {
    background-color: rgba(255, 197, 0, 0.12) !important;
    color: #ffc500 !important;
  }
  #navigation ul li.highlight > a,
  #navigation ul li a[href*="vyprodej"] {
    color: #ffc500 !important;
    font-weight: 700 !important;
  }
}
.pjy-mob-menu-support {
  margin: 20px 16px !important;
  padding: 14px 16px !important;
  background: rgba(255, 255, 255, 0.05) !important;
  border: 1px solid rgba(255, 255, 255, 0.1) !important;
  border-radius: 10px !important;
}

/* ==========================================================================
   13. MOBILE STICKY BUY BAR ON PRODUCT DETAIL (v11.0)
   ========================================================================== */
.pjy-sticky-buybar {
  display: none !important;
}
@media (max-width: 767px) {
  .pjy-sticky-buybar {
    display: flex !important;
    position: fixed !important;
    bottom: 0 !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 1000 !important;
    background: rgba(255, 255, 255, 0.96) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
    border-top: 1px solid #e2e8f0 !important;
    box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08) !important;
    padding: 10px 16px !important;
    padding-bottom: max(10px, env(safe-area-inset-bottom)) !important;
    align-items: center !important;
    justify-content: space-between !important;
    transform: translateY(120%) !important;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1) !important;
  }
  .pjy-sticky-buybar.visible {
    transform: translateY(0) !important;
  }
  .pjy-sticky-buybar-info {
    display: flex !important;
    flex-direction: column !important;
    gap: 2px !important;
  }
  .pjy-sticky-price {
    font-size: 18px !important;
    font-weight: 800 !important;
    color: #0f172a !important;
    line-height: 1.1 !important;
  }
  .pjy-sticky-stock {
    font-size: 11.5px !important;
    font-weight: 700 !important;
    color: #16a34a !important;
    display: flex !important;
    align-items: center !important;
    gap: 4px !important;
  }
  .pjy-sticky-buy-btn {
    background: linear-gradient(135deg, #ffc500 0%, #ffa800 100%) !important;
    color: #111827 !important;
    font-weight: 800 !important;
    font-size: 14.5px !important;
    border: none !important;
    border-radius: 10px !important;
    padding: 11px 22px !important;
    box-shadow: 0 3px 10px rgba(255, 197, 0, 0.35) !important;
    cursor: pointer !important;
    text-transform: uppercase !important;
    letter-spacing: 0.3px !important;
    transition: transform 0.15s ease, box-shadow 0.15s ease !important;
  }
  .pjy-sticky-buy-btn:active {
    transform: scale(0.97) !important;
  }
}

/* ==========================================================================
   14. PRODUCT REVIEWS & DISCUSSION POLISH (v11.0)
   ========================================================================== */
.rate-wrapper {
  padding-top: 10px !important;
}
.rate-wrap {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 24px !important;
  margin-bottom: 28px !important;
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 20px !important;
}
.rate-average-inner .rate-average {
  font-size: 42px !important;
  font-weight: 800 !important;
  color: #0f172a !important;
  line-height: 1 !important;
}
.rate-star .star {
  color: #ffc500 !important;
}
.rate-block .rate-bar {
  background: #ffc500 !important;
  border-radius: 4px !important;
}
.rate-form-trigger button,
.discussion-form-trigger button,
button[data-testid="buttonAddComment"],
button[data-testid="buttonAddVote"],
.add-comment button {
  background: #111827 !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 10px 20px !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1) !important;
}
.rate-form-trigger button:hover,
.discussion-form-trigger button:hover,
button[data-testid="buttonAddComment"]:hover,
button[data-testid="buttonAddVote"]:hover,
.add-comment button:hover {
  background: #ffc500 !important;
  color: #111827 !important;
}
#ratingWrapper .votes .vote-wrap,
#ratingTab .vote-wrap,
.vote-wrap,
.comment-wrap,
.discussion-post {
  background: #ffffff !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 20px 24px !important;
  margin-bottom: 16px !important;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.02) !important;
  transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
}
#ratingWrapper .votes .vote-wrap:hover,
#ratingTab .vote-wrap:hover,
.vote-wrap:hover {
  border-color: #cbd5e1 !important;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.05) !important;
}
.vote-wrap strong,
.vote-wrap .vote-author,
.vote-wrap .author,
#ratingTab strong {
  color: #0f172a !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.vote-wrap .vote-content,
.vote-wrap p,
#ratingTab .vote-content {
  color: #334155 !important;
  font-size: 14.5px !important;
  line-height: 1.6 !important;
  margin-top: 6px !important;
}
.vote-wrap .date,
.vote-wrap time,
#ratingTab time,
#ratingTab .date {
  color: #94a3b8 !important;
  font-size: 12.5px !important;
}
#formRating,
#formDiscussion {
  background: #f8fafc !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 14px !important;
  padding: 24px !important;
  margin-top: 20px !important;
}
#formRating .form-control,
#formDiscussion .form-control {
  border-radius: 8px !important;
  border: 1px solid #cbd5e1 !important;
  padding: 10px 14px !important;
  font-size: 14px !important;
}
#formRating .form-control:focus,
#formDiscussion .form-control:focus {
  border-color: #ffc500 !important;
  box-shadow: 0 0 0 3px rgba(255, 197, 0, 0.15) !important;
  outline: none !important;
}
#formRating button[type="submit"],
#formDiscussion button[type="submit"] {
  background: linear-gradient(135deg, #ffc500 0%, #ffa800 100%) !important;
  color: #111827 !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  border: none !important;
  border-radius: 10px !important;
  padding: 11px 24px !important;
  box-shadow: 0 2px 8px rgba(255, 197, 0, 0.25) !important;
}


/* ==========================================================================
   v13.0 ADDITIONS: CATALOG HARMONY, PRICE HIERARCHY, TOUCH FILTERS
   ========================================================================== */

/* Description Snippet: Clamped on Desktop, Hidden on Mobile (ONLY inside catalog cards) */
.products .p-desc,
.products [data-testid=productCardShortDescr],
.product-list .p-desc,
.product-list [data-testid=productCardShortDescr],
.p .p-desc,
.product .p-desc {
  display: -webkit-box !important;
  -webkit-line-clamp: 2 !important;
  -webkit-box-orient: vertical !important;
  overflow: hidden !important;
  max-height: 34px !important;
  margin: 6px 0 10px 0 !important;
  font-size: 11.5px !important;
  line-height: 1.35 !important;
  color: #64748b !important;
  text-align: center !important;
}
@media (max-width: 767px) {
  .products .p-desc,
  .products [data-testid=productCardShortDescr],
  .product-list .p-desc,
  .product-list [data-testid=productCardShortDescr],
  .p .p-desc,
  .product .p-desc {
    display: none !important;
  }
}

/* Product Detail Short Description: Clean, Full, Never Clamped */
.type-detail .p-short-description,
.p-detail-inner .p-short-description,
.p-data-wrapper .p-short-description {
  display: block !important;
  max-height: none !important;
  overflow: visible !important;
  margin: 14px 0 18px 0 !important;
  font-size: 14px !important;
  line-height: 1.6 !important;
  text-align: left !important;
  color: #334155 !important;
}

/* Price Hierarchy: Final price (with DPH) at the TOP, then without DPH, then standard crossed-out */
.prices {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 8px 0 10px 0 !important;
  text-align: center !important;
}
.prices .price.price-final,
.prices .price,
[data-testid=productCardPrice] {
  order: 1 !important;
  font-size: 20px !important;
  font-weight: 900 !important;
  color: #0f172a !important;
  line-height: 1.2 !important;
  margin: 0 !important;
}
.prices .price.price-final strong {
  font-weight: 900 !important;
  color: #0f172a !important;
}
.prices .price-additional {
  order: 2 !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: #64748b !important;
  margin-top: 2px !important;
}
.prices .price-standard-wrapper,
.prices .price-standard,
.prices .price-save {
  order: 3 !important;
  font-size: 12px !important;
  margin-top: 4px !important;
}
.prices .price-standard {
  text-decoration: line-through !important;
  color: #94a3b8 !important;
  font-weight: 500 !important;
}
.prices .price-save {
  background: #fef2f2 !important;
  color: #dc2626 !important;
  font-weight: 800 !important;
  padding: 2px 6px !important;
  border-radius: 4px !important;
  border: 1px solid #fee2e2 !important;
  margin-left: 4px !important;
}

/* Touch-Friendly Filters & Checkboxes - Full Text Visibility Fix */
.filters-wrapper input[type=checkbox],
.filter-section input[type=checkbox],
#filters input[type=checkbox] {
  position: absolute !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
.filters-wrapper label,
.filter-section label,
#filters label {
  position: relative !important;
  display: flex !important;
  align-items: center !important;
  cursor: pointer !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  color: #334155 !important;
  padding: 6px 0 6px 28px !important;
  min-height: 24px !important;
  transition: color 0.15s ease !important;
}
.filters-wrapper label:hover,
.filter-section label:hover,
#filters label:hover {
  color: #0f172a !important;
}
.filters-wrapper label::before,
.filter-section label::before,
#filters label::before {
  border-radius: 4px !important;
  border: 1.5px solid #cbd5e1 !important;
  box-sizing: border-box !important;
  top: 50% !important;
  left: 0 !important;
  transform: translateY(-50%) !important;
  transition: all 0.2s ease !important;
}
.filters-wrapper label:hover::before,
.filter-section label:hover::before,
#filters label:hover::before {
  border-color: #ffc500 !important;
}
.filters-wrapper label.active::before,
.filter-section label.active::before,
#filters label.active::before,
#filters input:checked + label::before {
  border-color: #0f172a !important;
  background-color: #0f172a !important;
}
.filters-wrapper label.active::after,
.filter-section label.active::after,
#filters label.active::after,
#filters input:checked + label::after {
  color: #ffc500 !important;
}
.filter-count {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: #f1f5f9 !important;
  color: #64748b !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  padding: 2px 7px !important;
  border-radius: 9999px !important;
  margin-left: 6px !important;
}

/* Price Slider Handles */
.ui-slider-handle,
.slider .slider-handle {
  border-radius: 50% !important;
  background: #0f172a !important;
  border: 2.5px solid #ffc500 !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2) !important;
  width: 22px !important;
  height: 22px !important;
  top: -6px !important;
  cursor: grab !important;
  transition: transform 0.15s ease !important;
}
.ui-slider-handle:hover,
.slider .slider-handle:hover {
  transform: scale(1.15) !important;
}

/* Modern Striped Parameters Table on Product Detail */
table.detail-parameters th::after,
.detail-parameters th::after,
table.detail-parameters th::before,
.detail-parameters th::before {
  display: none !important;
  content: none !important;
  border: none !important;
}

.table-params,
.table.table-params,
#p-detail-tabs .table,
table.detail-parameters {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  margin: 16px 0 !important;
  background: #ffffff !important;
}
.table-params tr:nth-child(even),
.table.table-params tr:nth-child(even),
#p-detail-tabs .table tr:nth-child(even),
table.detail-parameters tr:nth-child(even) {
  background: #f8fafc !important;
}
.table-params th,
.table.table-params th,
.table-params td,
.table.table-params td,
#p-detail-tabs .table td,
#p-detail-tabs .table th,
table.detail-parameters th,
table.detail-parameters td {
  padding: 12px 18px !important;
  border-bottom: 1px solid #f1f5f9 !important;
  border-top: none !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
  position: relative !important;
}
.table-params tr:last-child th,
.table-params tr:last-child td,
.table.table-params tr:last-child th,
.table.table-params tr:last-child td,
table.detail-parameters tr:last-child th,
table.detail-parameters tr:last-child td {
  border-bottom: none !important;
}
.table-params th,
.table.table-params th,
#p-detail-tabs .table th,
.table-params td:first-child,
.table.table-params td:first-child,
#p-detail-tabs .table td:first-child,
table.detail-parameters th,
table.detail-parameters th .row-header-label {
  font-weight: 700 !important;
  color: #0f172a !important;
  width: 35% !important;
  background: transparent !important;
  position: static !important;
}

/* Homepage 8-Category Banner Grid (Full-width responsive cards) */
.kategorieBanner {
  display: grid !important;
  grid-template-columns: repeat(4, 1fr) !important;
  gap: 16px !important;
  margin: 24px 0 32px 0 !important;
  width: 100% !important;
  clear: both !important;
}
.kategorieBanner > a,
.kategorieBanner a {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  display: block !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.08) !important;
  transition: transform 0.22s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.22s cubic-bezier(0.16, 1, 0.3, 1) !important;
  box-sizing: border-box !important;
}
.kategorieBanner a:hover {
  transform: translateY(-4px) !important;
  box-shadow: 0 12px 28px rgba(15, 23, 42, 0.15) !important;
}
.kategorieBanner a img,
.kategorieBanner img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  border-radius: 14px !important;
  object-fit: cover !important;
}
@media (max-width: 767px) {
  .kategorieBanner {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 10px !important;
    margin: 16px 0 24px 0 !important;
  }
}

/* Footer Newsletter Button */
#subscribe-form input[type=submit],
.subscribe-form input[type=submit],
#newsletter-form button,
.newsletter-form button {
  background: #ffc500 !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  border-radius: 8px !important;
  border: none !important;
  padding: 10px 22px !important;
  box-shadow: 0 4px 12px rgba(255, 197, 0, 0.28) !important;
  cursor: pointer !important;
  transition: all 0.2s ease !important;
}
#subscribe-form input[type=submit]:hover,
.subscribe-form input[type=submit]:hover,
#newsletter-form button:hover,
.newsletter-form button:hover {
  background: #ffa800 !important;
  transform: translateY(-1px) !important;
}

/* Empty Cart Hero CTA */
.pjy-empty-cart-hero {
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  padding: 13px 26px !important;
  background: linear-gradient(135deg, #ffc500, #ffa800) !important;
  color: #0f172a !important;
  font-weight: 800 !important;
  font-size: 15px !important;
  border-radius: 12px !important;
  text-decoration: none !important;
  box-shadow: 0 4px 16px rgba(255, 197, 0, 0.35) !important;
  transition: all 0.2s ease !important;
  margin: 16px 0 24px !important;
}
.pjy-empty-cart-hero:hover {
  transform: translateY(-2px) !important;
  box-shadow: 0 6px 20px rgba(255, 197, 0, 0.45) !important;
  color: #0f172a !important;
}

/* ==========================================================================
   v16.0 ADDITIONS: SOCIAL MEDIA FOOTER & CONTACT BOX
   ========================================================================== */
.pjy-footer-socials {
  margin-top: 14px !important;
  padding-top: 12px !important;
  border-top: 1px solid #e2e8f0 !important;
}
.pjy-footer-socials h4 {
  margin: 0 0 8px 0 !important;
  color: #64748b !important;
  font-size: 11.5px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}
.pjy-footer-socials__buttons {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
}
.pjy-footer-social-link {
  display: inline-flex !important;
  min-height: 36px !important;
  padding: 0 14px 0 10px !important;
  align-items: center !important;
  gap: 8px !important;
  border: 1px solid #e2e8f0 !important;
  border-radius: 9px !important;
  background: #ffffff !important;
  color: #1e293b !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  transition: all 0.2s ease !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
}
.pjy-footer-social-link::before {
  display: grid !important;
  width: 22px !important;
  height: 22px !important;
  place-items: center !important;
  border-radius: 50% !important;
  background: #1877f2 !important;
  color: #ffffff !important;
  font-family: Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  content: 'f' !important;
}
.pjy-footer-social-link:hover {
  border-color: #ffc500 !important;
  background: #fffbeb !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(0,0,0,0.08) !important;
  color: #0f172a !important;
}

.pjy-footer-social-link[data-network="facebook"]::before {
  background: #1877f2 !important;
  content: 'f' !important;
}
.pjy-footer-social-link[data-network="tiktok"]::before {
  background: #000000 !important;
  content: '♪' !important;
}
