/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.12.3.1771509147
Updated: 2026-02-19 13:52:27

/* =========================================
   SINGLE INTERN-PRODUKTE – 2-SPALTEN LAYOUT
   (nur Galerie + Shortcode nebeneinander,
   alles danach volle Breite)
========================================= */

.single-intern-produkte .entry-content{
  display: flex;
  flex-wrap: wrap;          /* WICHTIG: erlaubt neue Zeile */
  gap: 50px;
  align-items: flex-start;
}

/* Galerie links */
.single-intern-produkte .entry-content > .product-gallery{
  flex: 0 0 45%;
  max-width: 45%;
}

/* Shortcode-Block (Produktkarte) rechts */
.single-intern-produkte .entry-content > .wp-block-shortcode{
  flex: 1 1 calc(55% - 50px);
  max-width: calc(55% - 50px);
}

/* ALLES was nach dem Shortcode kommt: volle Breite (Tabs, Text, etc.) */
.single-intern-produkte .entry-content > .wp-block-shortcode ~ *{
  flex: 0 0 100%;
  max-width: 100%;
}

/* Responsive */
@media (max-width: 992px){
  .single-intern-produkte .entry-content{
    display: block;
  }
  .single-intern-produkte .entry-content > .product-gallery{
    max-width: 100%;
    margin-bottom: 35px;
  }
}

/* =========================================
   PRODUKT GALERIE
========================================= */

.product-gallery {
  margin: 0 0 2rem;
}

/* Hauptbild */
.product-gallery__main {
  position: relative;
  overflow: hidden;
  border-radius: 8px;
}

.product-gallery__slide {
  display: none;
}

.product-gallery__slide.is-active {
  display: block;
}

/* feste Box, Bild füllt sie */
.product-gallery__slide {
  width: 100%;
  aspect-ratio: 4 / 3;     /* oder 1/1, 16/9 etc. */
  overflow: hidden;
  border-radius: 8px;
}

.product-gallery__slide img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  display: block;
  border: 3px solid #ddd;
  border-radius: 8px;
}


/* Navigation Pfeile */
.product-gallery__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);

  background: none;       /* KEIN Hintergrund */
  border: none;
  box-shadow: none;

  font-size: 28px;
  color: #000;            /* oder #fff falls dunkles Bild */
  cursor: pointer;

  padding: 0;
  line-height: 1;
}

.product-gallery__nav:hover {
  background: none;
  box-shadow: none;
  opacity: 1;
}

.product-gallery__prev {
  left: 15px;
}

.product-gallery__next {
  right: 15px;
}


/* =========================================
   THUMBNAILS
========================================= */

.product-gallery__thumbs {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: 130px;   /* vorher 65px */
  gap: 10px;                  /* etwas mehr Abstand */
  overflow-x: auto;
  padding-top: 12px;
  -webkit-overflow-scrolling: touch;
}

.product-gallery__thumb {
  border: 1px solid #ddd;
  padding: 0;
  background: none;
  cursor: pointer;
  border-radius: 6px;
  overflow: hidden;
  transition: 0.2s ease;
}

.product-gallery__thumb img {
  width: 130px;               /* vorher 65px */
  height: 130px;              /* vorher 65px */
  object-fit: cover;
  display: block;
}

.product-gallery__thumb:hover {
  border-color: #000;
}

.product-gallery__thumb.is-active {
  border: 2px solid #000;
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 600px) {
  .product-gallery__thumbs {
    grid-auto-columns: 110px; /* vorher 55px */
  }

  .product-gallery__thumb img {
    width: 110px;             /* vorher 55px */
    height: 110px;            /* vorher 55px */
  }
}


/* =========================================
   RESPONSIVE
========================================= */

@media (max-width: 992px) {

  .single-intern-produkte .entry-content {
    display: block;
  }

  .single-intern-produkte .product-gallery {
    max-width: 100%;
    margin-bottom: 35px;
  }

  .product-gallery__slide img {
    height: 360px;
  }

}

@media (max-width: 600px) {

  .product-gallery__slide img {
    height: 300px;
  }

  .product-gallery__thumbs {
    grid-auto-columns: 55px;
  }

  .product-gallery__thumb img {
    width: 55px;
    height: 55px;
  }

}
/* =========================================
   EDITOR Platzhalter für Galerie
========================================= */

/* Nur im Editor sichtbar */
.editor-styles-wrapper .gallery-placeholder {

  width: 45%;                 /* gleiche Breite wie echte Galerie */
  height: 420px;              /* gleiche Höhe wie Hauptbild */
  float: left;
  margin-right: 50px;         /* gleicher Abstand wie Layout */

  border: 3px dashed #bbb;
  border-radius: 8px;
  background: #f5f5f5;

  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 20px;
  font-weight: 500;
}

/* Im Frontend komplett ausblenden */
.gallery-placeholder {
  display: none;
}
/* Lightbox */
.custom-lightbox {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.92);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 9999;
}

.custom-lightbox.active {
  display: flex;
}

.lightbox-content {
  position: relative;
  width: 85vw;        /* fast gesamte Breite */
  height: 85vh;       /* fast gesamte Höhe */
  display: flex;
  align-items: center;
  justify-content: center;
}

.lightbox-content img {
  max-width: 85vw;
  max-height: 85vh;
  width: auto;
  height: auto;
  object-fit: contain;
  display: block;
}

.lightbox-close {
  position: absolute;
  top: -30px;
  right: 0;

  background: none;
  border: none;

  color: #fff;
  font-size: 22px;        /* kleiner */
  width: 28px;            /* kleiner Klickbereich */
  height: 28px;

  display: flex;
  align-items: center;
  justify-content: center;

  cursor: pointer;
  transition: 0.2s ease;
}

.lightbox-close:hover {
  opacity: 0.7;           /* nur leichte Transparenz */
}

.lightbox-prev,
.lightbox-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background: rgba(255,255,255,0.9);
  border: none;
  padding: 8px 14px;
  cursor: pointer;
  font-size: 24px;
  border-radius: 50px;
}

.lightbox-prev { left: -60px; }
.lightbox-next { right: -60px; }

/* ================================
   PRODUKTKARTE – kompakter Stil
   CPT: intern-produkte
================================ */

.single-intern-produkte .produktcard{
    width: 520px;        /* feste Breite */
    max-width: 100%;     /* verhindert Überlaufen bei kleineren Screens */
    box-sizing: border-box;
    

    padding: 32px;
    border-radius: 16px;
    background: #ffffff;
    box-shadow: 0 15px 40px rgba(0,0,0,0.06);

    font-size: 18px;
}
/* Karteninhalt vertikal aufbauen */
.ast-article-post .post-content{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Meta-Block nach unten drücken */
.ast-article-post .ast-excerpt-container{
  margin-top: auto;
}

/* Preis + Artikelnummer sauber untereinander */
.ast-article-post .product-meta{
  display: flex;
  flex-direction: column;
  gap: 4px;
}
/* Titel */
.single-intern-produkte .produktcard__title{
    font-size: 30px;
    font-weight: 700;
    margin-bottom: 25px;
    line-height: 1.3;
}

/* Zeilen */
.single-intern-produkte .produktcard__row{
    display: flex;
    justify-content: space-between;
    align-items: baseline;

    padding: 12px 0;
    border-top: 1px solid #eeeeee;
}

/* Labels (links) */
.single-intern-produkte .produktcard__row dt{
    font-size: 14px;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #666666;
    margin: 0;
}

/* Werte (rechts) */
.single-intern-produkte .produktcard__row dd{
    font-size: 20px;
    margin: 0;
    color: #000000;   /* Schwarz */
}

/* Artikelnummer fett + schwarz */
.single-intern-produkte .produktcard__row:first-child dd{
    font-weight: 700;
    color: #000000;
}

/* Preis etwas größer + schwarz */
.single-intern-produkte .produktcard__row:last-child dd{
    font-size: 22px;
    font-weight: 600;
    color: #000000;
}
/* Produktkarte im Top-Bereich wirklich oben ausrichten */
.single-intern-produkte .produkt-top{
  align-items: flex-start !important;
}

/* Häufigste Ursache: Gutenberg/Astra Block-Abstände oben entfernen */
.single-intern-produkte .produkt-top > *{
  margin-top: 0 !important;
  margin-block-start: 0 !important;
  padding-top: 0 !important;
}

/* Shortcode-Block + Karte selbst: sicherheitshalber auch 0 */
.single-intern-produkte .produkt-top .wp-block-shortcode,
.single-intern-produkte .produkt-top .wp-block-shortcode *:first-child,
.single-intern-produkte .produkt-top .produktcard{
  margin-top: 0 !important;
  margin-block-start: 0 !important;
}

/* Extra: Karte im Flex oben "anheften" */
.single-intern-produkte .produkt-top .wp-block-shortcode{
  align-self: flex-start !important;
}
/* CPT: intern-produkte — Titel oben ausblenden */
.single-intern-produkte .entry-title,
.single-intern-produkte .ast-single-post .entry-title,
.single-intern-produkte h1.entry-title{
  display: none !important;
}
/* Tabs immer unterhalb der floatenden Produktkarte/ Galerie-Zeile */
.produkt-tabs-wrap{
  clear: both;
  width: 100%;
  display: block;
  margin-top: 30px;
}
.single-intern-produkte .produkt-top{
  align-items: flex-start;
}

.single-intern-produkte .produkt-top .wp-block-shortcode{
  margin-top: 0;
}
/* =========================================
   TABS MITTIG UNTER PRODUKT-BEREICH
========================================= */
/* Tab Navigation mittig */
.single-intern-produkte .produkt-tabs .wp-block-buttons,
.single-intern-produkte .produkt-tabs .tab-nav,
.single-intern-produkte .produkt-tabs > div:first-child{
  justify-content: center !important;
  text-align: center;
}
.single-intern-produkte .produkt-tabs{
  width: 100%;
  margin-top: 50px;
}

/* Spectra Tabs Nav zentrieren (Selector ggf. anpassen) */
.single-intern-produkte .produkt-tabs .uagb-tabs__wrap,
.single-intern-produkte .produkt-tabs .uagb-tabs__panel{
  width: 100%;
}

.single-intern-produkte .produkt-tabs .uagb-tabs__nav{
  display: flex;
  justify-content: center;
  width: 100%;
}

/* Tab Inhalte */
.single-intern-produkte .produkt-tabs .tab-panel,
.single-intern-produkte .produkt-tabs .wp-block-group{
  max-width: 900px;   /* Breite der Inhalte */
  width: 100%;
  margin: 0 auto;
}
.single-intern-produkte .entry-content{
  gap: 10px; /* statt 50px */
  align-items: flex-start;
  margin-left: 80px;
}
.single-intern-produkte .entry-content .wp-block-shortcode :where(h1,h2,h3,h4,h5,h6){
  margin-top: 0em !important;
}
.produktcard__tax{
  display:block;
  font-size: 13px;
  font-weight: 400;
  color: #666;
  margin-top: 4px;
}

/* Aktiver Tab – dicker Unterstrich */
.produkt-tabs .active,
.produkt-tabs .is-active,
.produkt-tabs [aria-selected="true"],
.produkt-tabs .wp-block-button.is-selected .wp-block-button__link{
  position: relative;
}

.produkt-tabs .active::after,
.produkt-tabs .is-active::after,
.produkt-tabs [aria-selected="true"]::after,
.produkt-tabs .wp-block-button.is-selected .wp-block-button__link::after{
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: -4px;   /* ggf. anpassen */
  height: 3px;    /* Dicke der Linie */
  background: #000;
}
/* Linien nur am Tabs-Wrapper (nicht an den Children) */
.single-intern-produkte .uagb-tabs__wrap.produkt-tabs{
  border-top: 2px solid #ddd;
  border-bottom: 2px solid #ddd;
  padding-top: 40px;
  padding-bottom: 40px;
  margin-top: 60px;
  margin-bottom: 60px;
}
/* Abschluss-CTA: Text + Button */
.abschluss-cta{
  background: #E6D8B8;              /* weiß-sand */
  border: 1px solid rgba(0,0,0,0.06);
  border-radius: 18px;
  padding: 28px 28px;
  margin-top: 40px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

/* Text */
.abschluss-cta p{
  margin: 0;
  font-size: 16px;
  line-height: 1.5;
  color: #111;
  max-width: 820px;
}

/* Button (Gutenberg Button Link) */
.abschluss-cta .wp-block-button__link{
  background: #111 !important;
  color: #fff !important;
  border: 0 !important;
  border-radius: 999px !important;
  padding: 14px 22px !important;
  font-weight: 700;
  text-decoration: none !important;
  box-shadow: 0 12px 26px rgba(0,0,0,0.14);
  transition: transform .15s ease, box-shadow .15s ease, opacity .15s ease;
  white-space: nowrap;
}

.abschluss-cta .wp-block-button__link:hover{
  transform: translateY(-1px);
  box-shadow: 0 16px 34px rgba(0,0,0,0.18);
  opacity: 0.95;
}

.abschluss-cta .wp-block-button__link:active{
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(0,0,0,0.14);
}

/* Mobile: untereinander */
@media (max-width: 768px){
  .abschluss-cta{
    flex-direction: column;
    align-items: flex-start;
  }
  .abschluss-cta .wp-block-button{
    width: 100%;
  }
  .abschluss-cta .wp-block-button__link{
    width: 100%;
    text-align: center;
  }
}
.similar-products-wrap{
  margin-top: 60px;
}

.similar-products-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  margin-bottom: 14px;
}

.similar-products-title{
  margin:0;
  font-size: 22px;
}

.similar-products-nav{
  display:flex;
  gap:10px;
}

/* Navigation ohne Kreis */
.similar-products-nav button{
  background: transparent;
  border: none;
  box-shadow: none;

  width: auto;
  height: auto;
  padding: 4px;

  font-size: 22px;          /* größer */
  font-weight: 700;         /* dicker */
  color: rgba(0,0,0,0.7);

  cursor: pointer;
  transition: color 0.2s ease, transform 0.2s ease;
}

/* Hover */
.similar-products-nav button:hover{
  color: #000;
  transform: translateY(-1px);
}

.sp-card{
  display:block;
  text-decoration:none !important;
  color: inherit;
}

.sp-thumb{
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f5f5f5;
  overflow: hidden;
  border-radius: 14px;
}

.sp-thumb img{
  width: 80%;      /* schmaler */
  height: 220px;   /* etwas höher */
  object-fit: contain;
}

.sp-thumb--placeholder{
  height: 220px;
}

.sp-meta{
  padding-top: 10px;
}

.sp-name{
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
}
.similar-products-wrap{
  clear: both;
  width: 100%;
  display: block;
  margin-top: 60px;
}
.sp-product-meta{
  margin-top: 6px;
  display: flex;
  flex-direction: column;   /* WICHTIG */
  gap: 4px;
  font-size: 13px;
  color: #666;
}
/* Preisblock untereinander darstellen */
.produktcard__row--preis dd{
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

/* MwSt kleiner darstellen */
.produktcard__tax{
  font-size: 13px;
  color: #666;
  margin-top: 4px;
}
.sp-artikelnummer{
  line-height: 1.4;
}

.sp-price{
  font-weight: 700;
  font-size: 15px;
  color: #111;
}
.sp-name{
  font-weight: 700;
  font-size: 16px;
  line-height: 1.3;
  color: #000;      /* Titel schwarz */
}
.sp-card{
  width: 260px;      /* feste Kartenbreite */
}

.sp-thumb{
  height: 240px;     /* Bildbereich höher */
}

.sp-meta{
  padding: 14px 4px 0;
}
/* Weiße Card */
.sp-card{
  background: #ffffff;
  border: 1px solid rgba(0,0,0,0.08);   /* schmale dezente Border */
  border-radius: 14px;
  padding: 16px;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Bildbereich ohne grauen Hintergrund */
.sp-thumb{
  background: transparent;
  border: none;
  padding: 0;
}

/* Optional: leichter Hover-Effekt */
.sp-card:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
}
/* Kein Shadow auf Bild */
.sp-thumb img{
  box-shadow: none !important;
}

/* Kein Shadow auf Thumbnail-Container */
.sp-thumb{
  box-shadow: none !important;
}

.similar-products-nav{
  margin-left: -50px;   /* leicht nach links */
}

/* Astra Search Box breiter machen */
.ast-header-search .search-field {
    width: 800px !important;   /* Breite hier anpassen */
    max-width: 100%;
}
.angebotsanfrage-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
	width: 310px;
    background-color: #111;
    color: #fff !important;

    padding: 0 36px;      /* vertikales Padding entfernen */
    height: 55px;         /* feste Höhe für perfekte Mitte */
    line-height: 1;       /* wichtig! */

    border-radius: 8px;

    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.8px;

    text-decoration: none !important;
    transition: all 0.3s ease;
}

.angebotsanfrage-button:hover {
    background-color: #444;
    transform: translateY(-3px); /* etwas stärkerer Hover-Effekt */
}
/* Abschluss-CTA (Group): Padding oben/unten wirklich kleiner machen */
.entry-content .wp-block-group.abschluss-cta,
.ast-container .wp-block-group.abschluss-cta,
.wp-block-group.abschluss-cta{
  padding-top: 15px !important;
  padding-bottom: 15px !important;
  padding-left: 28px !important;
  padding-right: 28px !important;
}

/* Gutenberg Group setzt manchmal extra "block gap" (= Abstand zwischen Text/Button) */
.wp-block-group.abschluss-cta{
  gap: 14px !important;          /* Abstand zwischen Text und Button */
}

/* Falls der Textblock eigene Margins hat (z.B. Absatz) */
.wp-block-group.abschluss-cta p{
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
/* Astra Featured Images – für alle Artikel proportional anzeigen */
/* Artikelbilder etwas kleiner und komplett sichtbar */
.ast-article-post .post-thumb-img-content{
  max-height: 320px;     /* Höhe der Bildfläche */
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

.ast-article-post .post-thumb-img-content img{
  width: auto;
  max-width: 100%;
  max-height: 320px;
  height: auto;
  object-fit: contain;
}
.similar-products-slider .swiper-slide{
  height: auto;
  display: flex;
}

.sp-card{
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Meta-Bereich nach unten drücken */
.sp-meta{
  margin-top: auto;
}
.similar-products-wrap{
  clear: both;
  width: 100%;
  display: block;
  margin-top: 60px;
}

.similar-products-slider .swiper-slide{
  width: 260px !important;   /* gleich wie die Karte */
  height: auto;
  display: flex;
}

.sp-card{
  width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}

.similar-products-nav{
  margin-left: 0;   /* negativen Versatz entfernen */
}
/* Astra Dropdown immer über anderen Header-Elementen */
.ast-desktop .main-header-menu .sub-menu {
  z-index: 9999;
}

/* Search Bar darunter */
.ast-header-search {
  z-index: 1;
}
/* Frontpage Slider: gleiche Höhe für alle Karten */
.spielgeraete-slider .swiper-wrapper {
  align-items: stretch;
}

.spielgeraete-slider .swiper-slide {
  height: auto;
  display: flex;
}

.spielgeraete-slider .sp-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.spielgeraete-slider .sp-thumb {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.spielgeraete-slider .sp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.spielgeraete-slider .sp-meta {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

.spielgeraete-slider .sp-name {
  min-height: 3.2em; /* optional für gleichmäßigere Titelhöhe */
}

.spielgeraete-slider .sp-product-meta {
  margin-top: auto;
}
/* Frontpage Slider: gleiche Höhe für alle Karten */
.spielgeraete-slider .swiper-wrapper {
  align-items: stretch;
}

.spielgeraete-slider .swiper-slide {
  height: auto;
  display: flex;
}

.spielgeraete-slider .sp-card {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
}

.spielgeraete-slider .sp-thumb {
  aspect-ratio: 4 / 3;
  overflow: hidden;
}

.spielgeraete-slider .sp-thumb img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.spielgeraete-slider .sp-meta {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
}

.spielgeraete-slider .sp-name {
  min-height: 3.2em; /* optional für gleichmäßigere Titelhöhe */
}

.spielgeraete-slider .sp-product-meta {
  margin-top: auto;
}
/* Slider über komplette Seitenbreite */
.similar-products-wrap {
  width: 100vw;
  max-width: 100vw;

  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);

  padding-left: 40px;
  padding-right: 40px;

  box-sizing: border-box;
}
.wp-block-column a,
.wp-block-column a * {
  text-decoration: none !important;
  text-decoration-line: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  color: inherit !important;
}
.kachel {
  display: block;
  border: 1px solid #e3e3e3;
  border-radius: 14px;
  padding: 28px;
  background: #ffffff;
  height: 360px;

  box-shadow: 0 4px 12px rgba(0,0,0,0.05);
  transition: 
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;
}
.kachel:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 35px rgba(0,0,0,0.12);
  border-color: #d4d4d4;
}
/* =========================
   PRODUKTBEREICH KACHELN
   ========================= */

.produktbereich-kachel {
  border: 1px solid #e3e3e3;
  border-radius: 14px;
  padding: 24px;
  background: #ffffff;

  height: 100%;

  box-shadow: 0 4px 12px rgba(0,0,0,0.05);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease,
    border-color 0.25s ease;

  overflow: hidden;
}

/* Hover Effekt */

.produktbereich-kachel:hover {
  transform: translateY(-8px);
  box-shadow: 0 18px 35px rgba(0,0,0,0.12);
  border-color: #d4d4d4;
}

/* Bildbereich */

.produktbereich-kachel img {
  border-radius: 10px;
  object-fit: cover;
  height: 100%;
}

/* Textbereich */

.produktbereich-kachel .wp-block-media-text__content {
  padding-left: 20px;
}

/* Link-Styling entfernen */

.produktbereich-kachel,
.produktbereich-kachel * {
  text-decoration: none !important;
  color: inherit !important;
}

/* Mobile */

@media (max-width: 768px) {

  .produktbereich-kachel {
    height: auto;
  }

}

/* Wrapper */
.catalog-pagination {
    margin-top: 48px;
    display: flex;
    justify-content: center;
}

/* Container */
.catalog-pagination .facetwp-pager {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 14px;
    border-radius: 18px;
    background: #fff;
    border: 1px solid #e6d8b8;
    box-shadow: 0 10px 30px rgba(0,0,0,0.06);
}

/* Standard Button */
.catalog-pagination .facetwp-page {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 44px;
    height: 44px;
    padding: 0 14px;
    border-radius: 12px;
    background: transparent;
    color: #222;
    font-weight: 600;
    text-decoration: none;
    border: 1px solid transparent;
    transition: all 0.2s ease;
    cursor: pointer;
}

/* Hover */
.catalog-pagination .facetwp-page:hover {
    background: #f3ead7;
    border-color: #e6d8b8;
    color: #111;
    transform: translateY(-1px);
}

/* ACTIVE (deine Farbe) */
.catalog-pagination .facetwp-page.active {
    background: #E6D8B8;
    border-color: #E6D8B8;
    color: #111;
    box-shadow: 0 6px 16px rgba(230, 216, 184, 0.45);
}

/* Disabled */
.catalog-pagination .facetwp-page.disabled {
    opacity: 0.35;
    pointer-events: none;
}

/* Dots */
.catalog-pagination .facetwp-page.dots {
    border: none;
    background: transparent;
    padding: 0 6px;
    cursor: default;
}

/* ===== MODERNE PFEILE ===== */

/* Prev / Next reset */
.catalog-pagination .facetwp-page.prev,
.catalog-pagination .facetwp-page.next {
    font-size: 0;
    width: 44px;
    padding: 0;
    position: relative;
}

/* Pfeil allgemein */
.catalog-pagination .facetwp-page.prev::before,
.catalog-pagination .facetwp-page.next::before {
    font-size: 18px;
    font-weight: 600;
    color: #111;
    transition: all 0.2s ease;
}

/* Pfeil links */
.catalog-pagination .facetwp-page.prev::before {
    content: "←";
}

/* Pfeil rechts */
.catalog-pagination .facetwp-page.next::before {
    content: "→";
}

/* Hover Pfeile */
.catalog-pagination .facetwp-page.prev:hover::before,
.catalog-pagination .facetwp-page.next:hover::before {
    transform: scale(1.15);
}
/* Hover NICHT auf die äußere Karte */
.facetwp-template .ast-article-post{
  transition: none;
}

/* Stattdessen nur den weißen Innenbereich bewegen */
.facetwp-template .ast-article-post .ast-article-inner{
  background: #fff;
  border-radius: 12px;
  transition: transform .25s ease, box-shadow .25s ease;
}

/* Hover Effekt */
.facetwp-template .ast-article-post:hover .ast-article-inner{
  transform: translateY(-6px);
  box-shadow: 0 12px 25px rgba(0,0,0,0.12);
}

/* Bild-Zoom bleibt */
.facetwp-template .ast-article-post img{
  transition: transform 0.4s ease;
}

.facetwp-template .ast-article-post:hover img{
  transform: scale(1.05);
}
.wpcf7 input[type="submit"] {
  background-color: #E6D8B8;
  color: #000000; /* dunkler Text für guten Kontrast */
  border: none;
  padding: 10px 20px;
  cursor: pointer;
}

.wpcf7 input[type="submit"]:hover {
  background-color: #d6c7a5; /* leicht dunkler beim Hover */
}
/*contact form */
.wpcf7 {
  border: 1px solid #ddd;
  padding: 25px;
  border-radius: 12px;
  background: #fff;
}
.wpcf7 input,
.wpcf7 textarea {
  border: 1px solid #ccc;
  padding: 10px;
  border-radius: 8px;
  transition: all 0.3s ease;
}
.contact-seperator {
  position: relative;
  height: 80px; /* wichtig, sonst keine Linie sichtbar */
}

.contact-seperator::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  width: 100%;
  background: #ddd; /* gleiche Farbe wie dein Formularrand */
  height: 1px;
  transform: translateY(-50%);
}
.wpcf7 input:focus,
.wpcf7 textarea:focus {
  border-color: #0073ff;
  box-shadow: 0 0 8px rgba(0,115,255,0.3);
  outline: none;
}
.site-footer a {
    color: black !important;
}

.site-footer a:hover {
    color: #0971CD !important;
}
/* =========================
   REFERENZKÄSTCHEN
   ========================= */

.referenzkästchen {
  position: relative;

  min-height: 320px !important; /* kürzer */

  width: 100%;

  padding: 40px 64px !important; /* mehr Breite innen */

  border-radius: 20px !important;

  overflow: hidden;

  display: flex !important;
  flex-direction: column;
  justify-content: center;

  background-size: cover !important;
  background-position: center center !important;
  background-repeat: no-repeat !important;

  box-sizing: border-box;

  box-shadow: 0 8px 24px rgba(0,0,0,0.06);

  transition:
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

/* HOVER */

.referenzkästchen:hover {
  transform: translateY(-10px);

  box-shadow: 0 24px 45px rgba(0,0,0,0.14);
}

/* INHALT */

.referenzkästchen > * {
  position: relative;
  z-index: 2;
}

/* ÜBERSCHRIFTEN */

.referenzkästchen h1,
.referenzkästchen h2,
.referenzkästchen h3,
.referenzkästchen h4 {
  margin-top: 0;

  margin-bottom: 16px;

  line-height: 1.2;
}

/* TEXT */

.referenzkästchen p {
  margin-bottom: 16px;

  line-height: 1.6;
}

/* BILDER */

.referenzkästchen img {
  width: 100%;

  height: auto;

  border-radius: 14px;

  display: block;
}

/* LINKS */

/* LINKS nur für verlinkte Referenzkästchen */

.referenzkästchenlink,
.referenzkästchenlink * {
  text-decoration: none !important;
  color: inherit !important;
}


.wp-block-heading.shadow-light {
  font-family: 'Shadows Into Light', cursive !important;
}

/* gap produkt raster */

@media (min-width: 992px){

  body.ast-desktop .ast-blog-layout-4-grid .ast-row.facetwp-template{
    width: calc(100% - 40px) !important;
    margin-left: 0 !important;
    margin-right: 40px !important;
  }

  body.ast-desktop .ast-blog-layout-4-grid .ast-row.facetwp-template > article.ast-article-post{
    width: 25% !important;
    flex: 0 0 25% !important;
    max-width: 25% !important;
  }

}

/* reset button slider */
/* Reset Button Preis Slider */
.facetwp-slider-reset {
    background: #E6D8B8 !important;
    color: #111 !important;

    border: none;
    border-radius: 8px;

    padding: 8px 14px;

    font-weight: 600;

    cursor: pointer;

    transition: all 0.2s ease;
}

/* Hover */
.facetwp-slider-reset:hover {
    background: #d8c7a0 !important;
    color: #000 !important;
}

.similar-products-wrap {
  position: relative;
  overflow: hidden;
}
/* ähnliche produkte overflow */
.similar-products-slider{
  width: 100%;
  overflow: hidden;
}

.similar-products-slider .swiper-wrapper{
  display: flex;
  align-items: stretch;
}

.similar-products-slider .swiper-slide{
  height: auto;
  display: flex;
  box-sizing: border-box;
}

.similar-products-slider .sp-card{
  width: 100%;
  height: 100%;
  box-sizing: border-box;
}
