/* 1.0.172: gezielt auf Startseite und WooCommerce-Produktlisten begrenzt.
   Vorhandene Prometo-Schrift und Markenfarben werden übernommen. */
.ke-home-v2 .ke-hero-wow-grid {grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:clamp(28px,5vw,72px);align-items:center}
.ke-home-v2 .ke-home-visual {min-width:0;display:grid;gap:16px}
.ke-home-v2 .ke-home-visual__main {position:relative;display:block;overflow:hidden;isolation:isolate;border:1px solid #ffffff30;border-radius:24px;background:#080d19;color:white;box-shadow:0 24px 70px #0005;text-decoration:none}
.ke-home-v2 .ke-home-visual__main img {display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0;transition:transform .3s ease}
.ke-home-v2 .ke-home-visual__main::after {content:"";position:absolute;inset:28% 0 0;background:linear-gradient(transparent,#080d19e8);z-index:0;pointer-events:none}
.ke-home-v2 .ke-home-visual__main>span {position:absolute;inset:auto 24px 22px;display:grid;gap:8px;z-index:1}
.ke-home-v2 .ke-home-visual__main small {font-size:10px;letter-spacing:.12em;color:#f2cf87}
.ke-home-v2 .ke-home-visual__main strong {font-size:clamp(22px,2.5vw,32px);line-height:1.1;max-width:16ch}
.ke-home-v2 .ke-home-visual__main b {font-size:13px;color:white}
.ke-home-v2 .ke-home-visual__caption {margin:0;font-size:10px;color:#c3c9d4}
.ke-home-v2 .ke-home-visual__links {display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ke-home-v2 .ke-home-visual__links a {display:grid;align-content:start;gap:8px;padding:20px 18px;border:1px solid #ffffff24;border-radius:16px;background:#ffffff08;color:white;text-decoration:none;transition:background .2s ease,border-color .2s ease}
.ke-home-v2 .ke-home-visual__links small {font-size:9px;letter-spacing:.09em;color:#e7c98f}
.ke-home-v2 .ke-home-visual__links strong {font-size:18px;line-height:1.2}
.ke-home-v2 .ke-home-visual__links span {font-size:11px;color:#c3c9d4}
.ke-home-v2 .ke-ribbon-grid>a {min-width:0;min-height:94px;padding:19px 24px;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-content:center;border-right:1px solid var(--ke-border);color:inherit;text-decoration:none;transition:background .2s ease}
.ke-home-v2 .ke-ribbon-grid>a:last-child {border-right:0}
.ke-home-v2 .ke-ribbon-grid>a>span {grid-row:1/3;align-self:center;font-size:11px;font-weight:900;color:var(--ke-magenta)}
.ke-home-v2 .ke-servicegrid--editorial .ke-service-photo {display:block;width:100%;height:160px;object-fit:cover;border-radius:12px;margin:10px 0 22px;background:#0b1220}
.ke-home-v2 .ke-servicegrid--editorial .ke-service--fx .ke-service-photo {object-fit:contain}
.ke-home-v2 .ke-servicegrid--editorial .ke-service--balloons .ke-service-icon {height:160px;display:flex;align-items:center;justify-content:center;margin:10px 0 22px;font-size:52px;background:radial-gradient(circle at 30% 25%,#e72d791c,transparent 65%);border-radius:12px}
/* Echte Artikelbilder vollständig zeigen; Preise, Hinweise und Kaufknöpfe bleiben nativ. */
:is(.woocommerce-shop,.tax-product_cat,.tax-product_brand,.tax-pa-hersteller,.ke-home-v2) ul.products li.product:not(.product-category) img:not(.avatar) {width:100%!important;height:240px!important;max-height:none!important;object-fit:contain!important;box-sizing:border-box;padding:14px!important;background:#f6f7fa!important}
:is(.woocommerce-shop,.tax-product_cat,.tax-product_brand,.tax-pa-hersteller,.ke-home-v2) ul.products li.product .woocommerce-loop-product__title {line-height:1.3;min-height:2.6em;overflow-wrap:anywhere}
:is(.woocommerce-shop,.tax-product_cat,.tax-product_brand,.tax-pa-hersteller,.ke-home-v2) ul.products li.product .astra-shop-summary-wrap {display:flex;flex-direction:column;flex:1}
:is(.woocommerce-shop,.tax-product_cat,.tax-product_brand,.tax-pa-hersteller,.ke-home-v2) ul.products li.product .astra-shop-summary-wrap>a.button {margin-top:auto}
.woocommerce-shop .ke-shop-orientation {padding:0 0 4px;color:#e4e8f0}
.woocommerce-shop .ke-shop-orientation>p {max-width:75ch;margin:0 0 18px;font-size:15px;line-height:1.6;color:inherit}
.woocommerce-shop .ke-shop-orientation ul {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding:0;margin:0;list-style:none}
.woocommerce-shop .ke-shop-orientation li {display:grid;gap:4px;padding-left:14px;border-left:2px solid #e72d79}
.woocommerce-shop .ke-shop-orientation strong {color:white;font-size:13px}
.woocommerce-shop .ke-shop-orientation li span {font-size:11px;color:#c3c9d4}
.ke-home-v2 :is(.ke-home-visual a,.ke-ribbon-grid>a):focus-visible {outline:3px solid #e72d79;outline-offset:4px}
@media(hover:hover) {
 .ke-home-v2 .ke-home-visual__main:hover img {transform:scale(1.025)}
 .ke-home-v2 .ke-home-visual__links a:hover {background:#ffffff12;border-color:#ffffff70}
 .ke-home-v2 .ke-ribbon-grid>a:hover {background:#e72d7908}
}
@media(max-width:1000px) {
 .ke-home-v2 .ke-hero-wow-grid {grid-template-columns:1fr}
 .ke-home-v2 .ke-home-visual {max-width:640px;width:100%;margin-inline:auto}
 .ke-home-v2 .ke-home-visual__main img {aspect-ratio:4/3}
 .ke-home-v2 .ke-ribbon-grid {grid-template-columns:repeat(2,minmax(0,1fr))}
 .ke-home-v2 .ke-ribbon-grid>a {border-bottom:1px solid var(--ke-border)}
 .ke-home-v2 .ke-ribbon-grid>a:nth-child(even) {border-right:0}
}
@media(max-width:600px) {
 .ke-home-v2 .ke-home-visual__main>span {inset:auto 18px 18px;gap:6px}
 .ke-home-v2 .ke-home-visual__links a {padding:16px 12px}
 .ke-home-v2 .ke-home-visual__links strong {font-size:16px}
 .ke-home-v2 .ke-ribbon-grid>a {padding:16px 12px;column-gap:8px}
 .ke-home-v2 .ke-ribbon-grid strong {font-size:13px}
 .ke-home-v2 .ke-ribbon-grid small {font-size:10px}
 .ke-home-v2 .ke-servicegrid--editorial .ke-service-photo {height:180px}
 .ke-home-v2 .ke-servicegrid--editorial .ke-service--balloons .ke-service-icon {height:180px}
 :is(.woocommerce-shop,.tax-product_cat,.tax-product_brand,.tax-pa-hersteller,.ke-home-v2) ul.products li.product:not(.product-category) img:not(.avatar) {height:180px!important;padding:8px!important}
 .woocommerce-shop .ke-shop-orientation {padding:0 0 4px}
 .woocommerce-shop .ke-shop-orientation ul {grid-template-columns:1fr;gap:12px}
}
@media(prefers-reduced-motion:reduce) {
 .ke-home-v2 .ke-home-visual__main img,.ke-home-v2 .ke-home-visual__links a,.ke-home-v2 .ke-ribbon-grid>a {transition:none}
}

/* ===============================================================
 * Knall-Effekt 1.0.254 – EINHEITLICHE PRODUKTKARTEN
 * Diese Stelle ist die einzige zusätzliche Shopkarten-Steuerung.
 * Alle alten 1.0.253-Blöcke wurden durch diese gemeinsame Fassung
 * ersetzt, damit sich unterschiedliche Abstandsregeln nicht überlagern.
 * Germanized-Infos, Rabatte, Varianten und Statushinweise bleiben im DOM.
 * =============================================================== */
:is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
ul.products:not(.products-related) {
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:20px!important;
  align-items:stretch;
}
:is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
ul.products li.product:not(.product-category) {
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch;
  float:none!important;
  width:auto!important;
  height:100%;
  min-width:0;
  box-sizing:border-box;
  margin:0!important;
}
/* Astra gibt Bilder, Lieferzeit und Germanized-Pflichttexte zusammen im
 * Thumbnail-Bereich aus; sie dürfen nicht abgeschnitten werden. */
:is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
ul.products li.product:not(.product-category) .astra-shop-thumbnail-wrap {
  flex:0 0 auto;
  width:100%;
  min-width:0;
}
:is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
ul.products li.product:not(.product-category) .astra-shop-summary-wrap {
  display:flex!important;
  flex-direction:column!important;
  flex:1 1 auto!important;
  min-height:0;
  min-width:0;
  width:100%;
}
/* Unterschiedlich lange Produkttitel und Preisangaben dürfen umbrechen.
 * Nicht das Wort abschneiden oder Höhe der Karte künstlich begrenzen. */
:is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
ul.products li.product:not(.product-category) .woocommerce-loop-product__title {
  overflow-wrap:anywhere;
  height:auto!important;
}
:is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
ul.products li.product:not(.product-category) .astra-shop-summary-wrap>.price {
  margin-top:8px!important;
  margin-bottom:12px!important;
}
/* Der eigentliche Warenkorb-/Optionen-Button gehört immer an den Kartenfuß.
 * Höhere Spezifität als ältere globale .button-Regeln aus ke-core.css. */
:is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
ul.products li.product:not(.product-category) .astra-shop-summary-wrap>a.button {
  display:flex!important;
  flex:0 0 auto;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:48px!important;
  margin:auto 0 0!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
  border-radius:12px!important;
  text-align:center!important;
  line-height:1.3!important;
  white-space:normal!important;
  overflow-wrap:anywhere;
}
/* Zusatzlink nach Warenkorbaktion ebenfalls sauber mittig halten. */
:is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
ul.products li.product:not(.product-category) .astra-shop-summary-wrap>a.added_to_cart {
  display:flex!important;
  align-items:center;
  justify-content:center;
  min-height:44px;
  white-space:normal;
  text-align:center;
}
.ke-home-v2 .ke-servicegrid--editorial>.ke-service {
  display:flex;
  flex-direction:column;
  height:100%;
}
.ke-home-v2 .ke-servicegrid--editorial>.ke-service>b {
  display:block;
  margin-top:auto;
  padding-top:15px;
}
/* WooCommerce und Astra besitzen eigene Tablet-Breakpoints; Produktspalten
 * reagieren an denselben Stellen, ohne starre Höhen zu erzeugen. */
@media(max-width:1100px) {
  :is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
  ul.products:not(.products-related) {grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
@media(max-width:767px) {
  :is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
  ul.products:not(.products-related) {grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:12px!important}
}
@media(max-width:460px) {
  :is(.ke-home-v2 .woocommerce,body.woocommerce-shop,body.tax-product_cat,body.tax-product_brand,body.tax-pa-hersteller)
  ul.products:not(.products-related) {grid-template-columns:minmax(0,1fr)!important}
}
