/* ==========================================================================
   ARCHIVE REDESIGN - Victron Panele (v7 - clean)
   Scoped: body.tax-product_cat
   ========================================================================== */

/* ---- Hero ---- */
body.tax-product_cat .sub_page_header {
  background: linear-gradient(135deg, #0d5a9e 0%, #1b8fd9 50%, #2fa7ff 100%) !important;
  padding: 36px 0 40px !important;
}
body.tax-product_cat .sub_page_header .breadcrumb,
body.tax-product_cat .sub_page_header .breadcrumb a,
body.tax-product_cat .sub_page_header .breadcrumb li,
body.tax-product_cat .sub_page_header .icon-angle-right:before {
  color: rgba(255,255,255,.65) !important;
}
body.tax-product_cat .sub_page_header .breadcrumb a:hover { color: #fff !important; }
body.tax-product_cat .page-title h1 {
  color: #fff !important; font-size: 32px !important; font-weight: 700 !important; margin-top: 6px !important;
}

/* ---- Background ---- */
body.tax-product_cat #main_content,
body.tax-product_cat .content_row.default-style.no-composer { background: #f7f8fa !important; }

/* ---- Toolbar ---- */
body.tax-product_cat .woocommerce-result-count {
  background: #fff; padding: 8px 16px !important; border-radius: 8px;
  font-size: 13px !important; color: #64748b !important; border: 1px solid #e5e7eb;
}
body.tax-product_cat .woocommerce-ordering select.orderby {
  border-radius: 8px !important; background-color: #fff !important;
  font-size: 13px !important; font-weight: 500 !important;
}

/* ==========================================================================
   Kill ALL clearfix pseudo-elements inside product grid
   ========================================================================== */
body.tax-product_cat .product_holder.clearfix::before,
body.tax-product_cat .product_holder.clearfix::after,
body.tax-product_cat .product_holder > .row.clearfix::before,
body.tax-product_cat .product_holder > .row.clearfix::after,
body.tax-product_cat .product_holder .product_info_footer.clearfix::before,
body.tax-product_cat .product_holder .product_info_footer.clearfix::after {
  display: none !important;
  content: none !important;
}

/* ==========================================================================
   GRID: 3-column layout
   ========================================================================== */
body.tax-product_cat .product_holder.clearfix {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  
  box-sizing: border-box !important;
  
  width: 100% !important;
}

body.tax-product_cat .product_holder > .row.clearfix {
  display: contents !important;
}

/* Reset RT-Theme col classes */
body.tax-product_cat .product_holder .col.col-sm-3.product,
body.tax-product_cat .product_holder .col.col-sm-3.product.first,
body.tax-product_cat .product_holder .col.col-sm-3.product.last,
body.tax-product_cat .product_holder .col.col-sm-3.product.first.last,
body.tax-product_cat .product_holder .col.col-sm-3.product.last-row,
body.tax-product_cat .product_holder .col.col-sm-3.product.first.last.last-row {
  width: 100% !important;
  
  padding: 0 !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  display: block !important;
  position: relative !important;
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}

/* ==========================================================================
   PRODUCT CARD
   ========================================================================== */
body.tax-product_cat .product .product_item_holder,
body.tax-product_cat .border_grid .product_item_holder {
  background: #fff !important;
  border-radius: 12px !important;
  
  transition: all .25s cubic-bezier(.4,0,.2,1) !important;
  box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 0 !important;
  padding-bottom: 0px !important;
  position: relative !important;
}
body.tax-product_cat .product .product_item_holder:hover {
  box-shadow: 0 12px 32px rgba(0,0,0,.1) !important;
  border-color: transparent !important;
  transform: translateY(-3px) !important;
}

/* ==========================================================================
   PRODUCT IMAGE
   ========================================================================== */
body.tax-product_cat .product .product_item_holder .featured_image {
  background: linear-gradient(180deg, #f8fafb 0%, #f0f3f6 100%) !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  aspect-ratio: 4/3 !important;
  
  margin: 0 !important;
  width: 100% !important;
}
body.tax-product_cat .product .product_item_holder .featured_image a {
  display: flex !important; align-items: center !important; justify-content: center !important;
  width: 100% !important; height: 100% !important; padding: 0 !important; background-color: #fff; border-top-left-radius: 12px; border-top-right-radius: 12px;
}
body.tax-product_cat .product .product_item_holder .featured_image img,
body.tax-product_cat .product .product_item_holder img {
  max-height: 100% !important;
  
  width: auto !important;
  object-fit: contain !important;
  transition: transform .35s ease !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
}
body.tax-product_cat .product .product_item_holder:hover .featured_image img {
  transform: scale(1.06) !important;
}

/* ==========================================================================
   PRODUCT INFO — padding 20px everywhere
   ========================================================================== */
body.tax-product_cat .product .product_info,
body.tax-product_cat .product_item_holder .product_info {
  display: inline-block !important;
  text-align: left !important;
  width: 100% !important;
  vertical-align: top !important;
  padding: 20px !important;
  box-sizing: border-box !important;
  position: relative !important;
}

/* Override style.css @media (min-width: 1268px) .product_info { width: 60%; padding: 28px } */
@media (min-width: 1268px) {
  body.tax-product_cat .product .product_info,
  body.tax-product_cat .product_item_holder .product_info {
    width: 100% !important;
    padding: 20px !important;
  }
}

/* Titel */
body.tax-product_cat .product .product_info h5.clean_heading {
  font-size: 13.5px !important; font-weight: 600 !important; line-height: 1.4 !important;
  margin: 0 0 10px !important; padding: 0 !important;
  text-transform: none !important;
}
body.tax-product_cat .product .product_info h5.clean_heading a {
  color: #1a1a2e !important; text-decoration: none !important;
}
body.tax-product_cat .product .product_info h5.clean_heading a:hover {
  color: #21a6ff !important;
}

/* Brutto 19% */
body.tax-product_cat .product .product_info #bruttopreisanzeige {
  display: inline !important;
  font-size: 12px !important; color: #64748b !important;
  margin: 0 0 2px !important; padding: 0 !important;
}
body.tax-product_cat .product .product_info #bruttopreisanzeige .woocommerce-Price-amount {
  font-size: 12px !important; color: #64748b !important; font-weight: 500 !important;
}

/* Hauptpreis 0% — bleibt GRÜN */
body.tax-product_cat .product .product_info p.price {
  font-size: 20px !important; font-weight: 700 !important; color: #1a5c2e !important;
  margin: 0 !important; padding: 0 !important; line-height: 1.3 !important;
}
body.tax-product_cat .product .product_info p.price .woocommerce-Price-amount {
  font-size: 20px !important; font-weight: 700 !important; color: #1a5c2e !important;
}
body.tax-product_cat .product .product_info p.price .woocommerce-price-suffix {
  font-size: 11px !important; font-weight: 400 !important; color: #64748b !important;
  display: inline !important; margin-top: 0 !important; margin-left: 4px !important;
}

/* Vorrätig ausblenden */
body.tax-product_cat .product .product_info .stock {
  display: none !important;
}

/* ==========================================================================
   BUTTON
   ========================================================================== */
body.tax-product_cat .product .product_item_holder .product_info_footer,
body.tax-product_cat .product .product_item_holder .product_info_footer.clearfix {
  position: static !important;
  bottom: auto !important;
  width: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: auto 0 0 !important;
  border: none !important;
  text-align: center !important;
  display: block !important;
  float: none !important;
  clear: both !important;
  
  box-sizing: border-box !important;
}

body.tax-product_cat .product .product_item_holder .product_info_footer a::before,
body.tax-product_cat .product .product_item_holder .product_info_footer a.button::before {
  display: none !important;
  content: none !important;
  margin: 0 !important;
  width: 0 !important;
}

body.tax-product_cat .product .product_item_holder .product_info_footer > :first-child {
  float: none !important;
}

body.tax-product_cat .woocommerce .product .product_item_holder .product_info_footer a.button,
body.tax-product_cat .product .product_item_holder .product_info_footer a.button.add_to_cart_button,
body.tax-product_cat .product .product_item_holder .product_info_footer a.button.product_type_simple.add_to_cart_button.ajax_add_to_cart,
body.tax-product_cat .product .product_item_holder .product_info_footer a.button.product_type_woosb.add_to_cart_button,
body.tax-product_cat .product .product_item_holder .product_info_footer a.button.product_type_bundle.add_to_cart_button,
body.tax-product_cat.archive .product .product_item_holder .product_info_footer a.button.add_to_cart_button {
  display: block !important;
  width: 100% !important;
  padding: 13px 20px !important;
  margin: 0 !important;
  border-radius: 9px !important;
  border: none !important;
  background: #21a6ff !important;
  color: #fff !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  transition: background .2s ease, box-shadow .2s ease !important;
  text-transform: none !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  line-height: 1.4 !important;
  float: none !important;
  clear: both !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
  
  position: static !important;
  min-height: 0 !important;
}

body.tax-product_cat .product .product_item_holder .product_info_footer a.button:hover,
body.tax-product_cat .product .product_item_holder .product_info_footer a.button.add_to_cart_button:hover {
  background: #1b8fd9 !important;
  box-shadow: 0 4px 14px rgba(33,166,255,.28) !important;
  color: #fff !important;
  border: none !important;
}

body.tax-product_cat .product .product_info_footer .added_to_cart {
  display: block !important; width: 100% !important; text-align: center !important;
  padding: 10px 16px !important; border-radius: 9px !important;
  background: #e8f0fa !important; color: #21a6ff !important;
  font-size: 12px !important; font-weight: 600 !important;
  margin-top: 6px !important; text-decoration: none !important;
  float: none !important;
}

/* ==========================================================================
   GERMANIZED INFO
   ========================================================================== */
body.tax-product_cat .product .product_item_holder > .wc-gzd-additional-info {
  padding: 0 20px !important;
  margin: 4px 0 0 !important;
  font-size: 10.5px !important;
  color: #64748b !important;
  line-height: 1.5 !important;
  display: block !important;
  float: none !important;
  clear: both !important;
  width: auto !important;
  position: static !important;
}
body.tax-product_cat .product .product_item_holder > .wc-gzd-additional-info a {
  color: #64748b !important;
}
body.tax-product_cat .product .product_item_holder > .wc-gzd-additional-info a:hover {
  color: #21a6ff !important;
}
body.tax-product_cat .product .product_item_holder > .delivery-time-info {
  padding-bottom: 12px !important;
}
body.tax-product_cat .product .delivery-time-data {
  color: #21a6ff !important; font-weight: 500 !important;
}

/* Hide: tax info, shipping costs */
body.tax-product_cat .product .product_item_holder > p.wc-gzd-additional-info-loop.tax-info,body.tax-product_cat .product .product_item_holder > p.wc-gzd-additional-info-loop.shipping-costs-info,body.tax-product_cat .product p.tax-info,body.tax-product_cat .product p.shipping-costs-info {  display: none !important;}
}

/* Lieferzeit neben Bruttopreis */
body.tax-product_cat .product .product_item_holder > .delivery-time-info {
  display: inline !important;
  padding: 0 20px 0 0 !important;
  margin: -1.5em 0 0 0 !important;
  font-size: 10.5px !important;
  color: #21a6ff !important;
  float: right !important;
  position: relative !important;
  top: -3.2em !important;
  margin-bottom: -2em !important;
}
body.tax-product_cat .product .product_item_holder > .delivery-time-info br {
  display: none !important;
}

/* Hide: membership badge, tracking */
body.tax-product_cat .onsale.wc-memberships-member-discount { display: none !important; }
body.tax-product_cat .gtm4wp_productdata { display: none !important; }

/* ==========================================================================
   SIDEBAR
   ========================================================================== */
body.tax-product_cat .sidebar .widget {
  background: #fff !important; border-radius: 12px !important;
  margin-bottom: 16px !important; box-shadow: 0 1px 3px rgba(0,0,0,.04) !important;
}
body.tax-product_cat .sidebar .widget h5 {
  font-size: 13px !important; font-weight: 700 !important;
  text-transform: uppercase !important; letter-spacing: .5px !important;
  color: #1a1a2e !important; margin-bottom: 14px !important;
}
body.tax-product_cat .sidebar .blue-side-bar { background: #fff !important; }
body.tax-product_cat .sidebar .blue-side-bar h5 { color: #1a1a2e !important; }
body.tax-product_cat .sidebar .blue-side-bar .menu li a {
  color: #1a1a2e !important; padding: 8px 12px !important; border-radius: 6px !important;
  display: block !important; font-size: 13px !important;
}
body.tax-product_cat .sidebar .blue-side-bar .menu li a:hover {
  background: #e8f0fa !important; color: #21a6ff !important;
}
body.tax-product_cat .sidebar .blue-side-bar .current-product_cat-ancestor > a {
  background: #21a6ff !important; color: #fff !important;
}
body.tax-product_cat .sidebar .blue-side-bar .menu li.current-category-highlight > a,
body.tax-product_cat .sidebar .blue-side-bar .menu li.current-menu-item > a {
  color: #fff !important;
}

/* ==========================================================================
   RESPONSIVE
   ========================================================================== */
@media (max-width: 1100px) {
  body.tax-product_cat .product_holder.clearfix {
    grid-template-columns: repeat(2, 1fr) !important;
    padding: 0 !important;
  }
}
@media (max-width: 520px) {  body.tax-product_cat .product_holder.clearfix {    grid-template-columns: repeat(2, 1fr) !important;    padding: 0 !important;  }}

/* Override margin-bottom auf Titel-Link */
body.tax-product_cat .product_item_holder .product_info h5 a {
  margin-bottom: 12px !important;
}

/* Fix: Grid darf nicht breiter als Container sein */
body.tax-product_cat .product_holder.clearfix.border_grid {
  width: calc(100%) !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* ==========================================================================
   MOBILE FIX: Grid-Verschiebung nach rechts beheben
   Struktur: .content_row_wrapper > .col-sm-12 > .row.fixed_heights
             > .col-sm-9.content.right > .product_holder
   ========================================================================== */
@media (max-width: 768px) {
  /* Float right aufheben auf Mobile */
  body.tax-product_cat .content.right {
    float: none !important;
  }

  /* Alle Row negative Margins auf Mobile entfernen */
  body.tax-product_cat .row.fixed_heights,
  body.tax-product_cat .row.product_content_row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Aeusserer Wrapper: Padding entfernen */
  body.tax-product_cat .content_row_wrapper > .col.col-sm-12 {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* Content-Spalte: symmetrisches Padding */
  body.tax-product_cat .col.col-sm-9.content {
    padding-left: 12px !important;
    padding-right: 12px !important;
    width: 100% !important;
    float: none !important;
  }

  /* Product Grid */
  body.tax-product_cat .product_holder.clearfix {
    gap: 8px !important;
    padding: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Sidebar */
  body.tax-product_cat .col.col-sm-3.sidebar {
    padding-left: 12px !important;
    padding-right: 12px !important;
    width: 100% !important;
    float: none !important;
  }

  /* Horizontalen Overflow verhindern */
  body.tax-product_cat,
  body.tax-product_cat .content_row,
  body.tax-product_cat .content_row_wrapper,
  body.tax-product_cat #main_content {
    overflow-x: hidden !important;
  }
}
