
/* === TW: Tonwirbel – Kombiniertes Layout- & Responsive Styling === */

/* ========== BUTTONHOVER EFFEKT ========= */
.buttonhover {
  display: inline-block;
  border-radius: 4px;
  background-color: #2e5978;
  border: none;
  color: #FFFFFF;
  text-align: center;
  padding: 5px;
  transition: all 0.5s;
  cursor: pointer;
  margin: 5px;
}

.buttonhover span {
  cursor: pointer;
  display: inline-block;
  position: relative;
  transition: 0.5s;
}

.buttonhover span:after {
  content: '\00bb';
  position: absolute;
  opacity: 0;
  top: 0;
  right: -20px;
  transition: 0.5s;
}

.buttonhover:hover span {
  padding-right: 25px;
}

.buttonhover:hover span:after {
  opacity: 1;
  right: 0;
}

/* ========== ALLGEMEINES LAYOUT ========= */
#main .product form {
  padding-top: 22px;
}

#main .product > .wobd-text-bg-wrap {
  left: 10px;
  width: 73px;
}

#main .product h1,
#main div h1 {
  position: relative;
  width: auto;
  left: 0;
}

.entry-summary .price bdi,
.entry-summary .legal-price-info p,
#main .product div .price,
#main .product div div p {
  position: relative;
  left: 0;
  top: 0;
}

#main .product .entry-summary {
  position: relative;
  left: 0;
}

#main .product .related {
  width: 100%;
  padding-top: 7px;
}

#main .related ul {
  width: 100%;
}

.related .product .woo-custom-stock-status {
  font-size: 12px !important;
  padding-top: 16px;
  text-align: right;
}

.related .product .add_to_cart_button {
  display: none !important;
}

/* ========== VPSA Styling ========= */
.vpsa-output {
  text-decoration: none;
  position: relative;
  padding-top: 13px;
  font-weight: 500;
  font-family: 'Ubuntu', sans-serif;
  font-size: 14px !important;
  margin: 0.5em 0;
  line-height: 1.4;
  word-break: break-word;
}

.vpsa-wrapper p {
  word-break: break-word;
}

/* Lieferzeit */
#main .product .delivery-time-info {
  padding-top: 0;
}

/* ========== RESPONSIVE: UNTER 768px ========= */
@media (max-width: 767px) {
  #main .product .entry-summary,
  .entry-summary .price bdi,
  .entry-summary .legal-price-info p,
  #main .product .price,
  #main .product .legal-price-info p,
  .vpsa-output,
  .vpsa-wrapper p,
  #main div h1 {
    left: 0 !important;
    padding-left: 15px;
    padding-right: 15px;
    width: 100% !important;
    position: relative !important;
    box-sizing: border-box;
  }

  #main .product .related,
  .related ul {
    width: 100%;
  }
}

/* ========== RESPONSIVE: AB 768px ========= */
@media (min-width: 768px) {
  #main .product .entry-summary {
    left: 235px;
  }

  .entry-summary .price bdi {
    left: -95px;
  }

  .entry-summary .legal-price-info p {
    left: -95px;
    top: -12px;
  }

  #main .entry-summary .price {
    left: -102px;
  }

  #main div div p {
    left: -197px;
  }

  #main div h1 {
    width: 199%;
    left: -197px;
  }

  .entry-summary .vpsa-wrapper p {
    left: -140px;
  }
}

/* ========== RESPONSIVE: AB 1200px ========= */
@media (min-width: 1200px) {
  #main .product h1 {
    font-size: 30px;
  }
}

@media (max-width: 700px) {
  html body #main .product .entry-summary {
    left: 0 !important;
    width: 100% !important;
    transform: none !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }
}

/* Startseite: 2 Spalten für .container-fluid > .row Kacheln */
@media (max-width:600px){
  .container-fluid > .row > .col-xs-6,
  .container-fluid > .row > .col-sm-3{
    box-sizing:border-box;
    width:50% !important;       /* 2 Spalten */
    float:left !important;      /* klassisch, bricht nicht */
    padding-left:6px;
    padding-right:6px;
    margin-bottom:16px !important;
    clear:none !important;
  }
  .container-fluid .menuimage{
    width:100% !important;
    height:auto !important;
    max-height:120px;
    display:block;
    margin:0 auto 6px !important;
  }
  .container-fluid .Tonwirbel-font{
    display:block;
    text-align:center;
    line-height:1.3;
    font-size:14px;
    margin-top:6px;
    color:#3c3c3c;
  }
@media (max-width:600px){
  .container-fluid .row .col-xs-6,
  .container-fluid .row .col-sm-3{
    box-sizing:border-box;
    width:50% !important;
    float:left !important;
    padding-left:6px;
    padding-right:6px;
    margin-bottom:16px !important;
    clear:none !important;
  }
  .container-fluid .menuimage{
    width:100% !important;
    height:auto !important;
    max-height:120px;
    display:block;
    margin:0 auto 6px !important;
  }
  .container-fluid .Tonwirbel-font{
    display:block;
    text-align:center;
    line-height:1.3;
    font-size:14px;
    margin-top:6px;
    color:#3c3c3c;
  }
  .container-fluid .row b br{display:none}

  ul.products{
    margin-left:-8px;
    margin-right:-8px;
  }
  ul.products li.product,
  ul.products li.product-category.product{
    box-sizing:border-box;
    width:50% !important;
    float:left !important;
    padding-left:8px;
    padding-right:8px;
    margin:0 0 16px 0 !important;
    clear:none !important;
  }
  ul.products li.product a img,
  ul.products li.product-category a img{
    width:100% !important;
    height:auto !important;
    display:block;
  }
}

@media (min-width:601px) and (max-width:991px){
  .container-fluid .row .col-xs-6,
  .container-fluid .row .col-sm-3{
    width:33.3333% !important;
    margin-bottom:18px !important;
    float:left !important;
  }
  ul.products li.product,
  ul.products li.product-category.product{
    width:33.3333% !important;
    margin-bottom:18px !important;
    float:left !important;
  }
}
	
	/* WOO ARCHIVE/KATEGORIE: 2 Spalten mobil */
@media (max-width:600px){
  .archive ul.products,
  .post-type-archive-product ul.products,
  .tax-product_cat ul.products{
    margin-left:-8px;
    margin-right:-8px;
  }
  .archive ul.products li.product,
  .archive ul.products li.product-category,
  .post-type-archive-product ul.products li.product,
  .post-type-archive-product ul.products li.product-category,
  .tax-product_cat ul.products li.product,
  .tax-product_cat ul.products li.product-category{
    box-sizing:border-box;
    width:50% !important;
    float:left !important;
    padding-left:8px;
    padding-right:8px;
    margin:0 0 16px 0 !important;
    clear:none !important;
  }
  .archive ul.products li.product a img,
  .archive ul.products li.product-category a img,
  .post-type-archive-product ul.products li.product a img,
  .post-type-archive-product ul.products li.product-category a img,
  .tax-product_cat ul.products li.product a img,
  .tax-product_cat ul.products li.product-category a img{
    width:100% !important;
    height:auto !important;
    display:block;
  }
  .archive ul.products li.product.first,
  .archive ul.products li.product.last,
  .post-type-archive-product ul.products li.product.first,
  .post-type-archive-product ul.products li.product.last,
  .tax-product_cat ul.products li.product.first,
  .tax-product_cat ul.products li.product.last{
    clear:none !important;
    margin-right:0 !important;
  }
}@media (max-width:600px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    flex-wrap:wrap !important;
    margin-left:-8px;
    margin-right:-8px;
  }
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product-category,
  .woocommerce-page ul.products li.product,
  .woocommerce-page ul.products li.product-category{
    box-sizing:border-box;
    width:50% !important;
    max-width:50% !important;
    flex:0 0 50% !important;
    float:left !important;
    clear:none !important;
    padding-left:8px;
    padding-right:8px;
    margin:0 0 16px 0 !important;
    display:block !important;
  }
}

@media (min-width:601px) and (max-width:991px){
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product-category,
  .woocommerce-page ul.products li.product,
  .woocommerce-page ul.products li.product-category{
    width:33.3333% !important;
    max-width:33.3333% !important;
    flex:0 0 33.3333% !important;
    float:left !important;
    margin-bottom:18px !important;
  }
}

/* WOO ARCHIVE/KATEGORIE: 3 Spalten Tablet */
@media (min-width:601px) and (max-width:991px){
  .archive ul.products li.product,
  .archive ul.products li.product-category,
  .post-type-archive-product ul.products li.product,
  .post-type-archive-product ul.products li.product-category,
  .tax-product_cat ul.products li.product,
  .tax-product_cat ul.products li.product-category{
    width:33.3333% !important;
    margin-bottom:18px !important;
    float:left !istant;
  }
}
	
	/* WooCommerce: 2 Spalten mobil, 3 Spalten Tablet; gleich hohe Kacheln */
@media (max-width:600px){
  .woocommerce ul.products,
  .woocommerce-page ul.products{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    margin-left:-8px; margin-right:-8px;
  }
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product-category,
  .woocommerce-page ul.products li.product,
  .woocommerce-page ul.products li.product-category{
    box-sizing:border-box;
    flex:0 0 50% !important;      /* 2 Spalten */
    max-width:50% !important;
    padding-left:8px; padding-right:8px;
    margin:0 0 16px 0 !important;
    float:none !important; clear:none !important;
    display:flex; flex-direction:column;   /* gleiche Höhe */
  }

  /* Link-Inhalt als Spalte: Bild oben, Preis/Text, Button unten */
  .woocommerce ul.products li.product a.woocommerce-LoopProduct-link,
  .woocommerce-page ul.products li.product a.woocommerce-LoopProduct-link{
    display:flex; flex-direction:column; flex:1 1 auto;
  }

  /* Quadratischer Bildbereich, verhindert Springen */
  .woocommerce ul.products li.product a img,
  .woocommerce-page ul.products li.product a img{
    width:100% !important;
    height:auto !important;
    aspect-ratio:1 / 1;           /* moderner Platzhalter */
    object-fit:contain;
    display:block;
  }

  /* Titelhöhe angleichen (ca. 2 Zeilen), Preis nach unten schieben */
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    line-height:1.3; min-height:2.6em;   /* anpassen, falls nötig */
    margin:8px 0;
  }
  .woocommerce ul.products li.product a .price{
    margin-top:auto;               /* schiebt Preis an Kachelende */
  }

  /* Kategorie-Kacheln: Titel etwas Luft */
  ul.products li.product-category h2.woocommerce-loop-category__title{
    line-height:1.3; margin-top:8px; margin-bottom:8px;
  }
}

@media (min-width:601px) and (max-width:991px){
  .woocommerce ul.products li.product,
  .woocommerce ul.products li.product-category,
  .woocommerce-page ul.products li.product,
  .woocommerce-page ul.products li.product-category{
    flex:0 0 33.3333% !important;  /* 3 Spalten */
    max-width:33.3333% !important;
    margin-bottom:18px !important;
  }
}