/*
Theme Name: KGV Dobritz
Theme URI: https://kgv-dobritz.de/
Update URI: https://kgv-dobritz.de/
Author: KGV Eintracht Dobritz e.V.
Description: Eigenständiges Theme für den KGV Eintracht Dobritz e.V. mit mobilem Off-Canvas-Menü, Sticky-Header, lokalen Schriftarten, KGV-Design und flexiblen Seitenleisten.
Version: 0.3.24
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: kgv-dobritz
License: GPL-2.0-or-later
*/

:root{--st-bg:#b7cfa1;--st-surface:#fff;--st-text:#263b2d;--st-muted:#557755;--st-primary:#2e7d32;--st-primary-dark:#1f4e2c;--st-secondary:#daf8be;--st-accent:#acc593;--st-border:#dce5d8;--st-radius:var(--st-global-card-radius,22px);--st-shadow:var(--st-global-shadow,0 8px 28px rgba(92,53,70,.07));--st-shadow-soft:var(--st-global-shadow,0 8px 28px rgba(92,53,70,.07));--st-max:1240px;--st-card-gradient:linear-gradient(135deg,#f7fbf5 0%,#e8f2e1 58%,#d4e6c6 100%)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--st-text);background:var(--st-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.55;-webkit-font-smoothing:antialiased}body.menu-open{overflow:hidden}a{color:inherit;text-decoration:none}a:hover{color:var(--st-primary-dark)}img{max-width:100%;height:auto;display:block}.container{width:min(calc(100% - 40px),var(--st-max));margin-inline:auto}.site-main{min-height:55vh}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.st-topbar{background:var(--st-primary);color:#fff;font-size:.86rem}.st-topbar-inner{min-height:38px;display:flex;align-items:center;justify-content:space-between;gap:20px}.st-topbar-trust{opacity:.92}

/* 1.5.2 – Infoleiste ganz oben; Social-/Kontaktleiste darunter */
.st-social-header-bar{background:var(--st-social-bar-bg,transparent);color:var(--st-social-bar-color,#2e7d32);border-bottom:1px solid color-mix(in srgb,var(--st-social-bar-color,#2e7d32) 18%,transparent)}
.st-social-header-inner{min-height:var(--st-social-bar-height,52px);display:flex;align-items:center;justify-content:var(--st-social-desktop-justify,center)}
.st-social-header-group{display:inline-flex;align-items:center;justify-content:center;gap:8px;max-width:100%;min-width:0}
.st-social-header-info{min-width:0;color:var(--st-social-info-color,#557755);font-size:var(--st-social-info-size,14px);line-height:1.35;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-social-header-separator{flex:0 0 auto;color:var(--st-social-info-color,#557755);font-size:var(--st-social-info-size,14px);line-height:1;opacity:.72}
.st-social-header-links{display:flex;align-items:center;flex:0 0 auto;gap:0;margin:0;padding:0;list-style:none}.st-social-header-links>li{margin-inline:calc(var(--st-social-bar-gap,8px)/2)}
.st-social-text-right .st-social-header-info{order:3;text-align:right}.st-social-text-right .st-social-header-separator{order:2}.st-social-text-right .st-social-header-links{order:1}.st-social-text-left .st-social-header-info{order:1}.st-social-text-left .st-social-header-separator{order:2}.st-social-text-left .st-social-header-links{order:3}
.st-social-without-text .st-social-header-inner,.st-social-without-icons .st-social-header-inner{justify-content:var(--st-social-desktop-justify,center)}
.st-social-header-link{width:calc(var(--st-social-icon-size,28px) + 14px);height:calc(var(--st-social-icon-size,28px) + 14px);display:inline-flex;align-items:center;justify-content:center;border-radius:50%;color:var(--st-social-icon-color,var(--st-social-bar-color,#2e7d32));transition:transform .18s ease,color .18s ease,background-color .18s ease}
.st-social-header-link:hover,.st-social-header-link:focus-visible{color:var(--st-social-icon-hover-color,var(--st-social-bar-hover,#1f4e2c));background:color-mix(in srgb,var(--st-social-icon-hover-color,var(--st-social-bar-hover,#1f4e2c)) 10%,transparent);transform:translateY(-2px);outline:none}
/* 1.18.66 – Social-Icon-Farben direkt auf die SVG-Formen legen.
   So können globale Link-/Header-Regeln die eigentliche Symbolfarbe nicht mehr überstimmen. */
.st-social-header-link svg{width:var(--st-social-icon-size,28px);height:var(--st-social-icon-size,28px);display:block}
.st-social-header-link:not(.st-social-email) svg,
.st-social-header-link:not(.st-social-email) svg path,
.st-social-header-link:not(.st-social-email) svg rect,
.st-social-header-link:not(.st-social-email) svg circle,
.st-social-header-link:not(.st-social-email) svg polygon,
.st-social-header-link:not(.st-social-email) svg polyline{fill:var(--st-social-icon-color,var(--st-social-bar-color,#2e7d32))!important}
.st-social-header-link:not(.st-social-email):hover svg,
.st-social-header-link:not(.st-social-email):hover svg path,
.st-social-header-link:not(.st-social-email):hover svg rect,
.st-social-header-link:not(.st-social-email):hover svg circle,
.st-social-header-link:not(.st-social-email):hover svg polygon,
.st-social-header-link:not(.st-social-email):hover svg polyline,
.st-social-header-link:not(.st-social-email):focus-visible svg,
.st-social-header-link:not(.st-social-email):focus-visible svg path,
.st-social-header-link:not(.st-social-email):focus-visible svg rect,
.st-social-header-link:not(.st-social-email):focus-visible svg circle,
.st-social-header-link:not(.st-social-email):focus-visible svg polygon,
.st-social-header-link:not(.st-social-email):focus-visible svg polyline{fill:var(--st-social-icon-hover-color,var(--st-social-bar-hover,#1f4e2c))!important}
.st-social-header-link.st-social-email svg,
.st-social-header-link.st-social-email svg path,
.st-social-header-link.st-social-email svg rect{fill:none!important;stroke:var(--st-social-icon-color,var(--st-social-bar-color,#2e7d32))!important;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.st-social-header-link.st-social-email:hover svg,
.st-social-header-link.st-social-email:hover svg path,
.st-social-header-link.st-social-email:hover svg rect,
.st-social-header-link.st-social-email:focus-visible svg,
.st-social-header-link.st-social-email:focus-visible svg path,
.st-social-header-link.st-social-email:focus-visible svg rect{stroke:var(--st-social-icon-hover-color,var(--st-social-bar-hover,#1f4e2c))!important}
@media(max-width:980px){.st-social-header-bar.st-social-hide-mobile{display:none}.st-social-header-inner{min-height:var(--st-social-bar-height-mobile,46px);justify-content:var(--st-social-bar-justify,flex-start)}.st-social-header-group{width:100%;justify-content:space-between;gap:8px}.st-social-header-separator{display:none}.st-social-header-links>li{margin-inline:calc(var(--st-social-bar-gap-mobile,6px)/2)}.st-social-header-info{font-size:min(var(--st-social-info-size,14px),13px)}.st-social-info-hide-mobile{display:none}.st-social-header-bar:has(.st-social-info-hide-mobile) .st-social-header-inner,.st-social-header-bar:has(.st-social-info-hide-mobile) .st-social-header-group{justify-content:var(--st-social-bar-justify,flex-start)}}
@media(min-width:981px){.st-social-header-bar.st-social-hide-desktop{display:none}}
.site-header{position:sticky;top:0;z-index:1000;background-color:var(--st-header-bg-color,#fff);background-image:var(--st-header-bg-image,none);background-size:var(--st-header-bg-size,cover);background-position:var(--st-header-bg-position,center center);background-repeat:var(--st-header-bg-repeat,no-repeat);-webkit-backdrop-filter:none;backdrop-filter:none;border-bottom:1px solid rgba(234,223,228,.8)}.header-main{min-height:88px;padding-top:var(--st-header-padding-desktop,8px);padding-bottom:var(--st-header-padding-desktop,8px);display:grid;grid-template-columns:max-content minmax(260px,1fr) auto;align-items:center;gap:30px}.site-branding{display:flex;align-items:center;justify-content:var(--st-logo-justify,flex-start);min-width:0}.site-header .site-branding .custom-logo-link{display:flex!important;align-items:center;justify-content:inherit;transform:translate(var(--st-logo-offset-x,0),var(--st-logo-offset-y,0));width:auto!important;max-width:none!important;line-height:0}.site-header .site-branding .custom-logo{display:block!important;height:var(--st-logo-height-desktop,64px)!important;max-height:none!important;width:auto!important;max-width:none!important;object-fit:contain!important}.site-title{font-size:1.5rem;font-weight:850;letter-spacing:-.04em}.st-header-search{max-width:590px;justify-self:center;width:100%}.woocommerce-product-search{display:flex;position:relative}.woocommerce-product-search input[type="search"]{width:100%;height:48px;padding:0 54px 0 20px;border:1px solid var(--st-border);border-radius:999px;background:#f7fbf5;font:inherit;color:var(--st-text);outline:none;transition:.2s}.woocommerce-product-search input[type="search"]:focus{border-color:var(--st-primary);box-shadow:0 0 0 4px rgba(217,112,150,.12)}.woocommerce-product-search button{position:absolute;right:5px;top:5px;width:38px;height:38px;padding:0;border-radius:50%;font-size:0;background:var(--st-primary)}.woocommerce-product-search button:after{content:"⌕";font-size:22px;color:#fff;line-height:1}.header-actions{display:flex;align-items:center;gap:9px}.header-action,.menu-toggle{height:46px;border:0;border-radius:999px;background:var(--st-secondary);display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:0 15px;font-weight:750;color:var(--st-text);white-space:nowrap}.header-action svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.cart-link{position:relative}.st-cart-count{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--st-primary);color:#fff;font-size:.74rem;display:inline-flex;align-items:center;justify-content:center}.menu-toggle{display:none;width:46px;padding:0}.menu-toggle-lines,.menu-toggle-lines:before,.menu-toggle-lines:after{display:block;width:19px;height:2px;background:currentColor;border-radius:3px;content:"";position:relative}.menu-toggle-lines:before{position:absolute;top:-6px}.menu-toggle-lines:after{position:absolute;top:6px}.st-nav-row{border-top:1px solid rgba(234,223,228,.65)}.primary-menu{display:flex;justify-content:center;gap:30px;list-style:none;margin:0;padding:0}.primary-menu>li>a{display:flex;align-items:center;min-height:48px;font-weight:700;font-size:.94rem}.primary-menu .menu-item-has-children{position:relative}.primary-menu .sub-menu{position:absolute;top:100%;left:-20px;min-width:250px;background:#fff;border:1px solid var(--st-border);box-shadow:var(--st-shadow);border-radius:18px;padding:10px;list-style:none;opacity:0;visibility:hidden;transform:translateY(8px);transition:.2s}.primary-menu .menu-item-has-children:hover>.sub-menu{opacity:1;visibility:visible;transform:none}.primary-menu .sub-menu a{display:block;padding:10px 12px;border-radius:10px;font-weight:600}.primary-menu .sub-menu a:hover{background:var(--st-secondary)}.mobile-menu-head,.mobile-menu-links,.menu-backdrop{display:none}
.st-hero{padding:34px 0 18px}.hero-card{position:relative;overflow:hidden;min-height:560px;border-radius:36px;background:var(--st-card-gradient);display:grid;grid-template-columns:1.06fr .94fr;align-items:center;box-shadow:var(--st-shadow)}.hero-card:before{content:"";position:absolute;width:420px;height:420px;border-radius:50%;background:rgba(255,255,255,.56);right:-100px;bottom:-180px}.hero-content{padding:clamp(38px,6vw,82px);position:relative;z-index:2}.eyebrow,.section-kicker{display:inline-block;color:var(--st-primary-dark);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.eyebrow{padding:8px 13px;border-radius:999px;background:#fff;box-shadow:var(--st-shadow-soft)}.hero-content h1{font-size:clamp(2.5rem,5.6vw,5.1rem);line-height:.98;margin:22px 0;letter-spacing:-.06em;max-width:720px}.hero-content p{font-size:clamp(1.04rem,1.5vw,1.22rem);color:var(--st-muted);max-width:610px}.hero-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}.button,button,input[type="submit"],.wp-element-button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border:0;border-radius:999px;padding:14px 23px;background:var(--st-primary);color:#fff;font-weight:800;cursor:pointer;transition:.2s}.button:hover,.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--st-primary-dark);color:#fff;transform:translateY(-1px)}.button.secondary{background:#fff;color:var(--st-text)}.hero-trust{display:flex;gap:18px;flex-wrap:wrap;margin-top:28px;color:var(--st-muted);font-size:.84rem;font-weight:700}.hero-visual{align-self:stretch;min-height:420px;background-size:cover;background-position:center}.hero-visual.has-image{margin:32px 32px 32px 0;border-radius:28px;box-shadow:var(--st-shadow-soft)}.hero-placeholder{height:100%;min-height:430px;display:grid;place-items:center;padding:40px}.hero-placeholder-inner{width:min(330px,80%);aspect-ratio:1;border-radius:42% 58% 60% 40%;background:rgba(255,255,255,.78);box-shadow:0 25px 70px rgba(85,45,62,.14);display:grid;place-items:center;font-size:6rem}
.section{padding:72px 0}.section-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:30px}.section-head h2,.st-story-card h2{margin:5px 0 0;font-size:clamp(2rem,3.8vw,3.25rem);line-height:1.08;letter-spacing:-.045em}.section-head p{margin:10px 0 0;color:var(--st-muted);max-width:600px}.section-link{font-weight:800;white-space:nowrap}.section-link span{display:inline-grid;place-items:center;width:30px;height:30px;margin-left:5px;border-radius:50%;background:var(--st-secondary)}
.st-category-section{padding-top:54px}.st-category-shortcode-output{width:100%;min-width:0}.st-category-shortcode-output:after{content:"";display:table;clear:both}.st-category-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.st-category-card{position:relative;display:grid;grid-template-columns:112px 1fr auto;align-items:center;gap:18px;background:#fff;border:1px solid rgba(234,223,228,.75);border-radius:var(--st-radius);padding:14px;box-shadow:var(--st-shadow-soft);transition:.22s}.st-category-card:hover{transform:translateY(-4px);box-shadow:var(--st-shadow)}.st-category-thumb{aspect-ratio:1;border-radius:16px;overflow:hidden;background:#f8f7f7}.st-category-thumb img{width:100%;height:100%;object-fit:cover}.st-category-copy h3{margin:0 0 5px;font-size:1.05rem}.st-category-copy span{color:var(--st-muted);font-size:.86rem}.st-category-arrow{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--st-secondary);font-weight:800}
.st-products-section{background:linear-gradient(180deg,transparent,#b7cfa1 45%,transparent)}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}.woocommerce ul.products li.product{position:relative;width:auto!important;margin:0!important;background:#fff;padding:14px 14px 18px;border:1px solid rgba(234,223,228,.7);border-radius:var(--st-radius);box-shadow:var(--st-shadow-soft);transition:.22s;overflow:hidden}.woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--st-shadow)}.woocommerce ul.products li.product a img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;margin:0 0 16px;background:#f6f6f6}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:1.02rem;line-height:1.3;padding:0;margin:0 0 7px;min-height:2.6em}.woocommerce ul.products li.product .star-rating{margin:0 0 8px;color:#f1b541;font-size:.8rem}.woocommerce ul.products li.product .price{color:var(--st-primary-dark);font-weight:850;font-size:1rem;margin-bottom:13px}.woocommerce ul.products li.product .button{display:flex;align-items:center;justify-content:center;width:100%;min-height:44px;padding:10px 14px;font-size:.88rem}.woocommerce span.onsale{min-height:auto;min-width:auto;padding:7px 10px;line-height:1;border-radius:999px;background:var(--st-primary);left:24px;top:24px}.woocommerce ul.products li.product .added_to_cart{display:block;text-align:center;margin-top:9px;font-size:.86rem;font-weight:700}
.st-story-card{display:grid;grid-template-columns:1.2fr .8fr;gap:60px;align-items:end;padding:52px;border-radius:30px;background:linear-gradient(135deg,var(--st-secondary),#fff 62%,var(--st-accent));box-shadow:var(--st-shadow-soft)}.st-story-card p{font-size:1.08rem;color:var(--st-muted);margin:0}.st-benefits-section{padding-top:24px}.st-benefits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.st-benefit{padding:26px;border:1px solid var(--st-border);border-radius:var(--st-radius);background:#fff}.benefit-icon{font-size:1.45rem}.st-benefit strong{display:block;margin:10px 0 5px;font-size:1.02rem}.st-benefit span{color:var(--st-muted);font-size:.92rem}
.woocommerce .woocommerce-breadcrumb{font-size:.85rem;color:var(--st-muted);margin:26px 0 18px}.woocommerce div.product{background:#fff;border-radius:28px;padding:clamp(20px,3vw,42px);box-shadow:var(--st-shadow);margin-top:28px}.woocommerce div.product div.images,.woocommerce div.product div.summary{margin-bottom:28px}.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img{border-radius:20px}.woocommerce div.product div.images .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:10px}.woocommerce div.product div.images .flex-control-thumbs li{width:auto!important}.woocommerce div.product div.images .flex-control-thumbs img{border-radius:10px}.woocommerce div.product .product_title{font-size:clamp(2rem,4vw,3.35rem);line-height:1.08;letter-spacing:-.045em}.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--st-primary-dark);font-size:1.45rem;font-weight:850}.woocommerce div.product form.cart{padding:18px 0;margin:18px 0;border-top:1px solid var(--st-border);border-bottom:1px solid var(--st-border)}.woocommerce .quantity .qty{height:48px;border:1px solid var(--st-border);border-radius:12px}.woocommerce div.product form.cart .button{min-height:48px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding-left:0}.woocommerce div.product .woocommerce-tabs ul.tabs li{border-color:var(--st-border);background:#f7fbf5;border-radius:12px 12px 0 0}.woocommerce div.product .woocommerce-tabs ul.tabs li.active{background:#fff}.woocommerce div.product .woocommerce-tabs .panel{font-size:1rem;line-height:1.75}.woocommerce table.shop_table{border-color:var(--st-border);border-radius:16px;overflow:hidden}.woocommerce-message,.woocommerce-info,.woocommerce-error{border-radius:14px;border-top:0;background:#fff;box-shadow:var(--st-shadow-soft)}input[type="text"],input[type="email"],input[type="tel"],input[type="password"],input[type="number"],textarea,select{max-width:100%;border:1px solid #dce5d8;border-radius:12px;padding:12px 14px;background:#fff;font:inherit;color:var(--st-text);outline:none}input:focus,textarea:focus,select:focus{border-color:var(--st-primary);box-shadow:0 0 0 4px rgba(217,112,150,.11)}
.entry-card{background:#fff;border-radius:var(--st-radius);padding:30px;box-shadow:var(--st-shadow);margin:32px auto}.entry-title{margin-top:0}.site-footer{margin-top:76px;background:var(--st-footer-background,#263b2d);color:#fff;padding:58px 0 24px}.footer-intro{display:flex;justify-content:space-between;gap:30px;align-items:center;padding-bottom:34px;border-bottom:1px solid rgba(255,255,255,.13)}.footer-brand{display:flex;align-items:center;gap:18px;min-width:0}.footer-logo-link{display:flex;align-items:center;flex:0 0 auto}.footer-brand .footer-logo{display:block;width:auto!important;height:auto!important;max-height:var(--st-footer-logo-height,66px)!important;max-width:min(220px,38vw)!important;object-fit:contain!important;object-position:center!important;transform:none!important;flex:0 0 auto}.site-footer h3{font-size:1.45rem;margin:0 0 5px}.site-footer p{margin:0;color:rgba(255,255,255,.68)}.footer-promise{display:flex;flex-direction:column;text-align:right}.footer-promise span{color:rgba(255,255,255,.65);font-size:.9rem}.footer-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:36px;padding-top:38px}.site-footer h4{margin:0 0 15px}.site-footer ul{list-style:none;padding:0;margin:0}.site-footer li{margin:9px 0}.site-footer a{color:rgba(255,255,255,.78)}.site-footer a:hover{color:#fff}.footer-contact-link{display:inline-block;margin-top:12px;font-weight:800}.footer-bottom{border-top:1px solid rgba(255,255,255,.13);margin-top:38px;padding-top:22px;color:rgba(255,255,255,.58);font-size:.88rem;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:22px}.footer-bottom-copyright{justify-self:start}.footer-bottom-handmade{justify-self:end}.footer-small-business-notice{justify-self:center;text-align:center;font-size:var(--st-footer-small-business-font-size,13px);line-height:1.45;max-width:680px}
@media(max-width:980px){.header-main{grid-template-columns:auto 1fr auto;gap:18px;min-height:78px}.st-header-search{display:none}.menu-toggle{display:inline-flex}.account-link{display:none}.st-nav-row{border-top:0}.main-navigation{position:fixed;z-index:1002;top:0;left:0;bottom:0;width:min(88vw,390px);background:#fff;padding:22px;transform:translateX(-105%);transition:.28s ease;overflow:auto;box-shadow:20px 0 60px rgba(49,28,38,.2)}.main-navigation.is-open{transform:none}.mobile-menu-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;font-size:1.18rem}.mobile-menu-close{width:42px;height:42px;padding:0;border-radius:50%;font-size:1.6rem}.primary-menu{display:block}.primary-menu>li{border-bottom:1px solid var(--st-border)}.primary-menu>li>a{min-height:52px;justify-content:space-between}.primary-menu .menu-item-has-children>a:after{content:"+"}.primary-menu .sub-menu{position:static;display:none;opacity:1;visibility:visible;transform:none;box-shadow:none;border:0;border-radius:0;padding:0 0 12px 14px}.primary-menu .submenu-open>.sub-menu{display:block}.primary-menu .submenu-open>a:after{content:"−"}.mobile-menu-links{display:grid;gap:10px;margin-top:25px}.mobile-menu-links a{padding:13px 15px;background:var(--st-secondary);border-radius:12px;font-weight:750}.menu-backdrop{position:fixed;display:block;z-index:1001;inset:0;background:rgba(41,25,33,.42);opacity:0;visibility:hidden;transition:.25s}.menu-backdrop.is-open{opacity:1;visibility:visible}.hero-card{grid-template-columns:1fr}.hero-visual{min-height:380px}.hero-visual.has-image{margin:0 28px 28px}.st-category-grid{grid-template-columns:repeat(2,1fr)}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}.st-story-card{grid-template-columns:1fr;gap:20px}.st-benefits{grid-template-columns:repeat(2,1fr)}.footer-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:620px){.container{width:min(calc(100% - 20px),var(--st-max))}.st-topbar-inner{justify-content:center;text-align:center;min-height:42px}.st-topbar-trust{display:none}.header-main{min-height:74px;padding-top:var(--st-header-padding-mobile,6px);padding-bottom:var(--st-header-padding-mobile,6px);grid-template-columns:minmax(0,1fr) auto}.site-header .site-branding .custom-logo{height:var(--st-logo-height-mobile,54px)!important;max-height:none!important;width:auto!important;max-width:none!important}.header-actions{gap:7px}.header-action,.menu-toggle{width:44px;height:44px;padding:0}.header-action .cart-label{display:none}.st-cart-count{position:absolute;right:-2px;top:-4px}.st-hero{padding-top:14px}.hero-card{border-radius:24px;min-height:auto}.hero-content{padding:30px 22px}.hero-content h1{font-size:2.55rem}.hero-actions .button{flex:1;text-align:center;padding-inline:14px}.hero-trust{gap:8px 13px;font-size:.77rem}.hero-visual.has-image{min-height:280px;margin:0 16px 16px;border-radius:19px}.hero-placeholder{min-height:260px}.section{padding:48px 0}.section-head{display:block;margin-bottom:22px}.section-head h2{font-size:2.05rem}.section-link{display:inline-block;margin-top:15px}.st-category-grid{grid-template-columns:1fr 1fr;gap:11px}.st-category-card{display:block;padding:10px}.st-category-thumb{margin-bottom:11px}.st-category-copy h3{font-size:.95rem;line-height:1.2}.st-category-copy span{font-size:.76rem}.st-category-arrow{display:none}.woocommerce ul.products{grid-template-columns:1fr 1fr;gap:11px}.woocommerce ul.products li.product{padding:9px 9px 12px;border-radius:17px}.woocommerce ul.products li.product a img{border-radius:12px;margin-bottom:11px}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:.9rem}.woocommerce ul.products li.product .price{font-size:.9rem}.woocommerce ul.products li.product .button{font-size:.76rem;line-height:1.15;padding:9px 6px}.st-story-card{padding:28px 22px;border-radius:23px}.st-story-card h2{font-size:2rem}.st-benefits{grid-template-columns:1fr 1fr;gap:10px}.st-benefit{padding:17px 14px}.st-benefit strong{font-size:.92rem}.st-benefit span{font-size:.8rem}.woocommerce div.product{border-radius:0;padding:18px;margin-left:-10px;margin-right:-10px;box-shadow:none}.woocommerce div.product .product_title{font-size:2rem}.woocommerce div.product .woocommerce-tabs ul.tabs{display:flex;overflow-x:auto}.woocommerce div.product .woocommerce-tabs ul.tabs li{white-space:nowrap}.footer-intro{display:block}.footer-promise{text-align:left;margin-top:22px}.footer-grid{grid-template-columns:1fr 1fr;gap:28px 18px}.footer-contact{grid-column:1/-1}.footer-bottom{display:flex;flex-direction:column;align-items:flex-start;gap:5px}.footer-bottom span{display:block;margin-top:0}.footer-bottom-copyright{order:1}.footer-bottom-handmade{order:2}.footer-small-business-notice{order:3;justify-self:auto;text-align:left;max-width:none;margin-top:4px}}

/* 0.3.0 – robuste Canvas-Navigation */
.st-menu-empty{padding:18px;border:1px dashed var(--st-border);border-radius:14px;background:var(--st-bg);color:var(--st-muted)}
.main-navigation .submenu-toggle{display:none}
@media(max-width:980px){
  .main-navigation{width:min(92vw,430px);padding:0 22px 28px}
  .mobile-menu-head{position:sticky;top:0;z-index:3;margin:0 -22px 12px;padding:18px 22px;background:#fff;border-bottom:1px solid var(--st-border)}
  .primary-menu>li>a{font-size:1.05rem;padding-right:50px;position:relative}
  .primary-menu .menu-item-has-children>a:after{display:none}
  .main-navigation .submenu-toggle{display:flex;position:absolute;right:0;top:5px;width:42px;height:42px;padding:0;align-items:center;justify-content:center;border:0;border-radius:50%;background:var(--st-bg);font-size:1.35rem;color:var(--st-text)}
  .main-navigation .menu-item-has-children{position:relative}
  .primary-menu .submenu-open>.submenu-toggle{transform:none}.primary-menu .submenu-open>.submenu-toggle .st-submenu-chevron{transform:rotate(225deg);margin-top:6px}
  .primary-menu .sub-menu{padding-left:16px;margin:0 0 10px;border-left:2px solid var(--st-secondary)}
  .primary-menu .sub-menu a{padding:11px 10px;font-size:.98rem}
}


/* 0.3.1: robustes Canvas-Menü und verkleinertes Hero-Produktbild */
.hero-visual.has-image{
  background-size:contain;
  background-repeat:no-repeat;
  background-position:center;
  background-color:rgba(255,255,255,.44);
}
@media(max-width:980px){
  .main-navigation{
    top:0!important;
    bottom:auto!important;
    height:100dvh!important;
    max-height:100dvh!important;
    min-height:100vh;
  }
  .admin-bar .main-navigation{top:0!important;height:100dvh!important}
  .main-navigation>.primary-menu{display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;overflow:visible!important}
  .main-navigation>.primary-menu>li{display:block!important;visibility:visible!important;opacity:1!important}
}
@media(max-width:620px){
  .hero-visual.has-image{
    min-height:250px;
    background-size:88% auto;
    background-position:center;
  }
}

/* 0.4.0 – Marken-Hero, Konfigurator und vollständiger Footer */
.hero-visual-wrap{position:relative;align-self:stretch;min-height:500px;display:flex;align-items:center;justify-content:center;padding:42px 48px 42px 12px;z-index:1}
.hero-visual-wrap:before{content:"";position:absolute;inset:12% 8% 10% 4%;border-radius:44% 56% 42% 58%/55% 42% 58% 45%;background:rgba(255,255,255,.52);transform:rotate(-3deg)}
.hero-visual-wrap .hero-visual.has-image{position:relative;width:100%;height:100%;min-height:440px;margin:0;border-radius:32px;background-color:transparent;background-size:contain;box-shadow:0 25px 30px rgba(82,47,62,.16);filter:none;animation:none}
.hero-doodle{position:absolute;z-index:2;color:var(--st-primary);font-size:2rem;font-weight:800}.hero-doodle-one{top:13%;right:9%;transform:rotate(12deg)}.hero-doodle-two{left:9%;bottom:18%;color:#90bdb0}
.hero-configurator-note{position:absolute;z-index:3;right:8%;bottom:8%;display:flex;flex-direction:column;max-width:230px;padding:14px 17px;border:1px solid rgba(255,255,255,.8);border-radius:18px;background:rgba(255,255,255,.91);box-shadow:var(--st-shadow-soft);backdrop-filter:blur(12px)}
.hero-configurator-note strong{font-size:.92rem}.hero-configurator-note span{margin-top:2px;color:var(--st-primary-dark);font-size:.79rem;font-weight:750}
.configurator-button{box-shadow:0 10px 28px rgba(184,73,112,.23)}.button-spark{margin-right:7px}.hero-actions .button{display:inline-flex;align-items:center;justify-content:center}
@keyframes st-soft-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@media(prefers-reduced-motion:reduce){.hero-visual-wrap .hero-visual.has-image{animation:none}}

.st-configurator-section{padding-top:25px;padding-bottom:30px}.st-configurator-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:24px;padding:32px 38px;border:1px solid rgba(217,112,150,.18);border-radius:28px;background:linear-gradient(110deg,#fff 0%,#f7fbf5 58%,var(--st-secondary) 100%);box-shadow:var(--st-shadow-soft)}
.st-configurator-icon{width:68px;height:68px;border-radius:22px;display:grid;place-items:center;background:var(--st-primary);color:#fff;font-size:2rem;transform:rotate(-4deg)}.st-configurator-copy h2{margin:4px 0 7px;font-size:clamp(1.55rem,2.4vw,2.3rem);line-height:1.12;letter-spacing:-.035em}.st-configurator-copy p{margin:0;color:var(--st-muted);max-width:720px}.st-configurator-card>.button{white-space:nowrap}

.st-footer-cta{margin-top:72px;position:relative;z-index:2}.st-footer-cta-card{display:flex;align-items:center;justify-content:space-between;gap:35px;padding:42px 48px;border-radius:30px;background:linear-gradient(135deg,var(--st-secondary),#f7fbf5);box-shadow:var(--st-shadow)}.st-footer-cta h2{margin:5px 0 7px;font-size:clamp(1.8rem,3vw,2.8rem);line-height:1.08;letter-spacing:-.04em}.st-footer-cta p{margin:0;color:var(--st-muted)}
.site-footer{margin-top:-30px;padding-top:96px}.footer-brand{max-width:590px}.footer-brand p{max-width:480px}.footer-rating{display:flex;flex-direction:column;text-align:right}.footer-stars{color:var(--st-footer-rating-color,#f4c542);letter-spacing:.1em}.footer-rating small{color:rgba(255,255,255,.65)}.footer-links{list-style:none;padding:0;margin:0}.footer-links li{margin:9px 0}.footer-badges{display:grid;gap:9px;margin-top:16px}.footer-badges span{display:block;padding:9px 11px;border-radius:10px;background:rgba(255,255,255,.07);font-size:.88rem}.footer-tax-note{margin-top:36px;padding:16px 18px;border-top:1px solid rgba(255,255,255,.13);border-bottom:1px solid rgba(255,255,255,.13);color:rgba(255,255,255,.64);font-size:.85rem;text-align:center}

@media(max-width:980px){.hero-visual-wrap{min-height:390px;padding:0 28px 30px}.hero-visual-wrap .hero-visual.has-image{min-height:360px}.hero-configurator-note{right:7%;bottom:7%}.st-configurator-card{grid-template-columns:auto 1fr}.st-configurator-card>.button{grid-column:2;justify-self:start}.st-footer-cta-card{display:block}.st-footer-cta-card>.button{display:inline-flex;margin-top:22px}}
@media(max-width:620px){.hero-content{padding-bottom:18px}.hero-actions{display:grid;grid-template-columns:1fr}.hero-actions .button{width:100%}.hero-visual-wrap{min-height:275px;padding:0 14px 18px}.hero-visual-wrap:before{inset:5% 4% 7%}.hero-visual-wrap .hero-visual.has-image{min-height:250px;background-size:94% auto}.hero-configurator-note{display:none}.hero-doodle-one{top:4%;right:8%}.hero-doodle-two{bottom:12%;left:6%}.st-configurator-section{padding-top:12px}.st-configurator-card{display:block;padding:26px 22px}.st-configurator-icon{width:54px;height:54px;border-radius:17px;margin-bottom:17px}.st-configurator-card>.button{display:flex;margin-top:20px;width:100%;justify-content:center}.st-footer-cta{margin-top:46px}.st-footer-cta-card{padding:30px 23px;border-radius:24px}.site-footer{padding-top:80px}.footer-rating{text-align:left;margin-top:22px}.footer-grid{grid-template-columns:1fr}.footer-contact{grid-column:auto}.footer-tax-note{text-align:left}}

/* 0.4.1 – plugin-kompatible Menüausgabe; Astra/Ultimate-Member-Sichtbarkeit bleibt erhalten. */


/* 0.5.0 – editierbare Startseitenbereiche aus MWB-Shortcodes */
.st-shortcode-section{position:relative}
.st-shortcode-section:nth-of-type(even){background:rgba(255,255,255,.22)}
.st-shortcode-output{min-width:0}
.st-shortcode-output:empty{display:none}
.st-shortcode-reviews,.st-shortcode-customer_photos{padding-top:58px}
.st-shortcode-reviews .st-shortcode-output,.st-shortcode-customer_photos .st-shortcode-output{padding:22px;border:1px solid rgba(234,223,228,.72);border-radius:28px;background:var(--st-card-gradient);box-shadow:var(--st-shadow-soft)}
@media(max-width:620px){.st-shortcode-reviews .st-shortcode-output,.st-shortcode-customer_photos .st-shortcode-output{padding:12px;border-radius:20px}.st-shortcode-section .section-head p{font-size:.92rem}}


/* 0.5.5 – frei einstellbare Logo-Größe und Logo-Position */
@media(max-width:620px){.site-header .site-branding{justify-content:var(--st-logo-justify,flex-start);min-width:0;max-width:calc(100vw - 118px);overflow:visible}.site-header .site-branding .custom-logo-link{max-width:none!important;overflow:visible}.site-header .site-branding .custom-logo{max-width:calc(100vw - 138px)!important;object-fit:contain!important}}

/* Zufällig wechselnde Kategorien auf der Startseite */
.st-random-category-grid{transition:opacity .65s ease,transform .65s ease}
.st-random-category-grid.is-fading{opacity:0;transform:translateY(7px)}
.st-random-category-grid .st-category-hidden{display:none!important}
.st-random-category-grid .st-category-thumb img{transition:opacity .45s ease,transform .45s ease}
@media (prefers-reduced-motion:reduce){.st-random-category-grid,.st-random-category-grid .st-category-thumb img{transition:none!important}}

.st-home-categories-container {
  border: var(--st-categories-outer-border-width, 0px) solid var(--st-categories-outer-border-color, #dce5d8);
  border-radius: var(--st-categories-outer-radius, 28px);
  padding: var(--st-categories-outer-padding, 0px);
}
.st-home-categories-action {
  display: flex;
  justify-content: var(--st-category-button-justify, center);
  margin-top: var(--st-category-button-spacing, 28px);
}
.st-home-categories-action .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}
@media (max-width:620px) {
  .st-home-categories-action .button {
    width: 100%;
  }
}


/* 0.5.8 – anpassbare Typografie und Schriftfarben */
body,
input,
textarea,
select,
.woocommerce input,
.woocommerce textarea,
.woocommerce select{font-family:var(--st-font-body);font-size:var(--st-text-size);color:var(--st-text)}
body{font-family:var(--st-font-body);font-size:var(--st-text-size);color:var(--st-text)}
h1,h2,h3,h4,h5,h6,
.site-title,
.product_title,
.woocommerce-loop-product__title,
.section-head h2,
.st-story-card h2,
.st-configurator-copy h2,
.st-footer-cta h2{font-family:var(--st-font-headings);color:var(--st-heading-color)}
h1,.hero-content h1,.woocommerce div.product .product_title{font-size:var(--st-h1-size)}
h2,.section-head h2,.st-story-card h2,.st-configurator-copy h2,.st-footer-cta h2{font-size:var(--st-h2-size)}
h3,.widget-title,.footer-title,.st-category-copy strong{font-size:var(--st-h3-size)}
p,.entry-content,.woocommerce-product-details__short-description,.section-head p,.st-configurator-copy p{color:var(--st-text)}
.st-muted,.section-head p,.st-configurator-copy p,.st-footer-cta p,.woocommerce .woocommerce-result-count,.woocommerce-product-details__short-description{color:var(--st-muted)}
a:not(.button):not(.wp-element-button):not(.header-action):not(.menu-toggle){color:var(--st-link-color)}
a:not(.button):not(.wp-element-button):not(.header-action):not(.menu-toggle):hover{color:var(--st-link-hover-color)}
.primary-menu a,
.main-navigation a,
.header-action,
.menu-toggle,
.mobile-menu-links a{font-family:var(--st-font-navigation);font-size:var(--st-link-size);color:var(--st-navigation-color)}
button,
.button,
.wp-element-button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{font-family:var(--st-font-buttons);font-size:var(--st-button-size);color:var(--st-button-text-color)}
.woocommerce ul.products li.product .price,
.woocommerce div.product p.price,
.woocommerce div.product span.price,
.price{color:var(--st-price-color)}
.site-footer,.site-footer p,.site-footer h2,.site-footer h3,.site-footer h4,.site-footer li,.site-footer small,.site-footer span{color:var(--st-footer-text-color)}
.site-footer a{color:var(--st-footer-link-color)}
.site-footer a:hover,.site-footer a:focus-visible{opacity:1;color:var(--st-footer-link-hover-color,var(--st-footer-link-color))}
@media(max-width:620px){
  h1,.hero-content h1,.woocommerce div.product .product_title{font-size:clamp(2rem,10vw,var(--st-h1-size))}
  h2,.section-head h2,.st-story-card h2,.st-configurator-copy h2,.st-footer-cta h2{font-size:clamp(1.65rem,8vw,var(--st-h2-size))}
}


/* Germanized: Steuerhinweis nur aus Produktkarten/Produktlisten entfernen.
   Auf der einzelnen Produktseite und im Warenkorb bleibt der Hinweis erhalten. */
.woocommerce ul.products li.product .wc-gzd-additional-info.tax-info,
.woocommerce ul.products li.product .tax-info,
.woocommerce-page ul.products li.product .wc-gzd-additional-info.tax-info,
.woocommerce-page ul.products li.product .tax-info,
.st-products-section .product .wc-gzd-additional-info.tax-info,
.st-products-section .product .tax-info,
.mwb-slider .product .wc-gzd-additional-info.tax-info,
.mwb-slider .product .tax-info,
[class*="mwb_slider"] .product .wc-gzd-additional-info.tax-info,
[class*="mwb_slider"] .product .tax-info {
  display:none!important;
}


/* 0.6.0 – Der vorhandene Schnullerketten-Konfigurator verwaltet sein Layout selbst.
   Auf /konfigurator/ werden deshalb keine Kartenbreite, Außenabstände oder
   WooCommerce-Seitencontainer des Themes übergestülpt. */
body.st-configurator-page{
  overflow-x:hidden;
}
body.st-configurator-page .st-configurator-page-main,
body.st-configurator-page .st-configurator-page-content,
body.st-configurator-page .st-configurator-page-content > .entry-content{
  display:block;
  width:100%;
  max-width:none;
  min-width:0;
  margin:0;
  padding:0;
  border:0;
  border-radius:0;
  background:transparent;
  box-shadow:none;
}
body.st-configurator-page .st-configurator-page-content > .entry-content{
  overflow:visible;
}
body.st-configurator-page .st-configurator-page-content > .entry-content > *{
  max-width:100%;
}
body.st-configurator-page .st-configurator-page-main img,
body.st-configurator-page .st-configurator-page-main video,
body.st-configurator-page .st-configurator-page-main canvas,
body.st-configurator-page .st-configurator-page-main svg{
  max-width:100%;
}
@media(max-width:620px){
  body.st-configurator-page .st-configurator-page-main,
  body.st-configurator-page .st-configurator-page-content,
  body.st-configurator-page .st-configurator-page-content > .entry-content{
    width:100%;
    margin-left:0;
    margin-right:0;
    padding-left:0;
    padding-right:0;
  }
}


/* 0.6.1 – harte Breitenbegrenzung für verschachtelte Konfigurator-Komponenten.
   Einige Konfigurator-Elemente verwenden intern 100vw oder feste Mindestbreiten.
   Innerhalb dieser Seite werden sie auf die reale Inhaltsbreite zurückgeführt. */
body.st-configurator-page,
body.st-configurator-page .site-main {
  max-width:100%;
  overflow-x:clip;
}
body.st-configurator-page .st-configurator-page-main {
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
}
body.st-configurator-page .st-configurator-page-content,
body.st-configurator-page .st-configurator-page-content > .entry-content {
  width:100%;
  max-width:100%;
  min-width:0;
  overflow-x:clip;
}
body.st-configurator-page .st-configurator-page-content > .entry-content > *:not(#schnullerketten-konfigurator) {
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

/* 1.18.39 – Der Konfigurator darf seine eigene Desktopbreite wieder selbst bestimmen.
   Die Breite kommt aus den Konfigurator-Einstellungen über
   --skt-container-width-desktop. */
body.st-configurator-page #schnullerketten-konfigurator{
  width:min(100%, var(--skt-container-width-desktop, 900px))!important;
  max-width:var(--skt-container-width-desktop, 900px)!important;
  min-width:0!important;
  margin-left:auto!important;
  margin-right:auto!important;
  box-sizing:border-box!important;
}
body.st-configurator-page .st-configurator-page-content > .entry-content * {
  max-width:100%!important;
  min-width:0;
}
body.st-configurator-page .st-configurator-page-content input,
body.st-configurator-page .st-configurator-page-content select,
body.st-configurator-page .st-configurator-page-content textarea,
body.st-configurator-page .st-configurator-page-content button {
  min-width:0;
}
@media(max-width:620px){
  body.st-configurator-page .st-configurator-page-main {
    width:calc(100% - 16px);
    margin-left:auto;
    margin-right:auto;
  }
  body.st-configurator-page .st-configurator-page-content,
  body.st-configurator-page .st-configurator-page-content > .entry-content {
    width:100%;
    max-width:100%;
  }
}


/* 0.6.8 – Rechtliche Ausgaben vollständig Germanized überlassen. */

/* 0.6.6 – Rechtstext-Seiten mobil wieder mit voller nutzbarer Breite.
   Importierte Astra-/Block-Container dürfen diese Seiten nicht zusätzlich verengen. */
body.st-legal-page .entry-card {
  width: 100%;
  max-width: none;
}
body.st-legal-page .entry-content,
body.st-legal-page .entry-content > *,
body.st-legal-page .entry-content .wp-block-group,
body.st-legal-page .entry-content .wp-block-group__inner-container,
body.st-legal-page .entry-content .wp-block-columns,
body.st-legal-page .entry-content .wp-block-column,
body.st-legal-page .entry-content .alignwide,
body.st-legal-page .entry-content .alignfull {
  min-width: 0;
  max-width: 100% !important;
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}
body.st-legal-page .entry-content p,
body.st-legal-page .entry-content li,
body.st-legal-page .entry-content address {
  text-align: left !important;
  word-spacing: normal !important;
  overflow-wrap: anywhere;
  word-break: normal;
  hyphens: auto;
}
body.st-legal-page .entry-content a {
  overflow-wrap: anywhere;
}
@media (max-width: 780px) {
  body.st-legal-page > .site-main > .container,
  body.st-legal-page .site-main > .container {
    width: calc(100% - 20px);
  }
  body.st-legal-page .entry-card {
    margin: 14px auto 28px;
    padding: 18px 14px;
    border-radius: 16px;
  }
  body.st-legal-page .entry-content .wp-block-columns {
    display: block !important;
  }
  body.st-legal-page .entry-content .wp-block-column {
    flex-basis: 100% !important;
    margin-left: 0 !important;
  }
  body.st-legal-page .entry-content [style*="max-width"],
  body.st-legal-page .entry-content [style*="width"] {
    max-width: 100% !important;
  }
}


/* 0.6.7 – normales Seitenlayout generell responsiv und ohne doppelte Verengung.
   Vorhandene Inhalte aus Astra, Gutenberg und Plugins dürfen die Theme-Fläche
   nicht noch einmal durch eigene Containerbreiten zusammendrücken. */
.st-standard-page-container {
  width: min(calc(100% - 32px), var(--st-max));
  margin-inline: auto;
}
.st-standard-page-container .entry-card {
  width: 100%;
  max-width: none;
}
.st-standard-page-container .entry-content,
.st-standard-page-container .entry-content > .ast-container,
.st-standard-page-container .entry-content > .site-content,
.st-standard-page-container .entry-content .wp-block-group,
.st-standard-page-container .entry-content .wp-block-group__inner-container,
.st-standard-page-container .entry-content .wp-block-columns,
.st-standard-page-container .entry-content .wp-block-column,
.st-standard-page-container .entry-content .alignwide,
.st-standard-page-container .entry-content .alignfull {
  min-width: 0;
  max-width: 100%;
}
.st-standard-page-container .entry-content img,
.st-standard-page-container .entry-content iframe,
.st-standard-page-container .entry-content video,
.st-standard-page-container .entry-content table {
  max-width: 100%;
}
.st-standard-page-container .entry-content p,
.st-standard-page-container .entry-content li,
.st-standard-page-container .entry-content address {
  overflow-wrap: anywhere;
  word-spacing: normal;
}
.st-standard-page-container .entry-content a {
  overflow-wrap: anywhere;
}
@media (max-width: 780px) {
  .st-standard-page-container {
    width: calc(100% - 16px);
  }
  .st-standard-page-container .entry-card {
    margin: 10px auto 24px;
    padding: 18px 14px;
    border-radius: 16px;
  }
  .st-standard-page-container .entry-title {
    overflow-wrap: anywhere;
  }
  .st-standard-page-container .entry-content .wp-block-columns {
    display: block !important;
  }
  .st-standard-page-container .entry-content .wp-block-column {
    width: 100% !important;
    flex-basis: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  .st-standard-page-container .entry-content > .ast-container,
  .st-standard-page-container .entry-content > .site-content,
  .st-standard-page-container .entry-content .wp-block-group,
  .st-standard-page-container .entry-content .wp-block-group__inner-container,
  .st-standard-page-container .entry-content .alignwide,
  .st-standard-page-container .entry-content .alignfull,
  .st-standard-page-container .entry-content [style*="max-width"] {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
}


/* 0.6.9 – Kundenbewertungen und Kundenfotos am Desktop nebeneinander. */
.st-social-proof-section {
  padding-top: 58px;
}
.st-social-proof-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(20px, 3vw, 36px);
  align-items: start;
}
.st-social-proof-grid.has-single-panel {
  grid-template-columns: minmax(0, 1fr);
}
.st-social-proof-panel {
  min-width: 0;
}
.st-social-proof-panel .section-head {
  display: block;
  margin-bottom: 20px;
}
.st-social-proof-panel .section-head h2 {
  font-size: clamp(1.75rem, 2.7vw, 2.55rem);
}
.st-social-proof-panel .st-shortcode-output,
.st-social-proof-panel .st-shortcode-output > *,
.st-social-proof-panel .st-shortcode-output .swiper,
.st-social-proof-panel .st-shortcode-output .slick-slider {
  min-width: 0;
  max-width: 100%;
}
@media (max-width: 980px) {
  .st-social-proof-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--st-social-mobile-gap, 24px);
  }
  .st-social-proof-panel .st-shortcode-output {
    padding: var(--st-social-mobile-padding, 16px) !important;
  }
}


/* =========================================================
 * 1.18.81 – Verschiebbarer Footer-Container mit Zahlungsarten
 * ======================================================= */
.footer-payments {
  width: 100%;
  min-width: 0;
  text-align: inherit;
}

.footer-payment-logos {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--st-footer-payment-logo-gap, 8px);
  max-width: 100%;
  vertical-align: top;
}

.footer-payment-logo {
  display: inline-flex;
  flex: 0 0 auto;
  height: var(--st-footer-payment-logo-height-desktop, 34px);
  overflow: hidden;
  border-radius: var(--st-footer-payment-logo-radius, 7px);
  box-shadow: 0 2px 7px rgba(24, 18, 22, .14);
}

.footer-payment-logo img {
  display: block;
  width: auto;
  max-width: none;
  height: 100%;
  object-fit: contain;
}

.st-footer-builder-item .footer-payments {
  width: 100%;
}

@media (max-width: 980px) {
  .footer-payment-logo {
    height: var(--st-footer-payment-logo-height-mobile, 30px);
  }
}

/* =========================================================
 * 1.17.5 – eigenständige Gestaltung normaler WordPress-Seiten
 * Startseite, WooCommerce und Konfigurator erhalten die zugehörige
 * Body-Klasse nicht und bleiben dadurch vollständig unberührt.
 * ======================================================= */
body.st-standard-content-page.st-page-design-enabled {
  background: var(--st-page-outer-background, var(--st-bg));
}

body.st-standard-content-page.st-page-design-enabled .st-standard-page-container {
  width: min(calc(100% - 32px), var(--st-page-content-width, 1240px));
  max-width: var(--st-page-content-width, 1240px);
}

body.st-standard-content-page.st-page-design-enabled .st-standard-page-container > .entry-card {
  margin-top: var(--st-page-spacing-top, 32px);
  margin-bottom: var(--st-page-spacing-bottom, 32px);
  padding: var(--st-page-padding-desktop, 30px);
  border: var(--st-page-border-width, 0px) var(--st-page-border-style, solid) var(--st-page-border-color, #dce5d8);
  border-radius: var(--st-page-radius, 22px);
  background: var(--st-page-card-background, #fff);
  box-shadow: var(--st-page-shadow, var(--st-global-shadow));
  overflow: hidden;
}

body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container > .entry-card,
body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container > .entry-card .entry-content {
  font-family: var(--st-page-body-font, var(--st-font-body)) !important;
  color: var(--st-page-text-color, var(--st-text)) !important;
}

body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container > .entry-card > .entry-title {
  margin-top: 0;
  font-family: var(--st-page-heading-font, var(--st-font-headings)) !important;
  font-size: var(--st-page-title-size-desktop, 48px) !important;
  font-weight: var(--st-page-title-weight, 700) !important;
  line-height: 1.12;
  color: var(--st-page-heading-color, var(--st-heading-color)) !important;
  text-align: var(--st-page-title-align, left);
}

body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content :is(h1, h2, h3, h4, h5, h6) {
  font-family: var(--st-page-heading-font, var(--st-font-headings)) !important;
  font-weight: var(--st-page-title-weight, 700) !important;
  color: var(--st-page-heading-color, var(--st-heading-color)) !important;
}

body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content h2 {
  font-size: var(--st-page-h2-size-desktop, 36px) !important;
  line-height: 1.18;
}

body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content h3 {
  font-size: var(--st-page-h3-size-desktop, 24px) !important;
  line-height: 1.24;
}

body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content :is(p, li, address, blockquote, figcaption, td, th) {
  font-family: var(--st-page-body-font, var(--st-font-body)) !important;
  font-size: var(--st-page-text-size-desktop, 16px) !important;
  line-height: var(--st-page-line-height, 1.55) !important;
  color: var(--st-page-text-color, var(--st-text)) !important;
}

body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content a:not(.button):not(.wp-element-button) {
  color: var(--st-page-link-color, var(--st-link-color)) !important;
}

body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content a:not(.button):not(.wp-element-button):is(:hover, :focus-visible) {
  color: var(--st-page-link-hover-color, var(--st-link-hover-color)) !important;
}

@media (max-width: 780px) {
  body.st-standard-content-page.st-page-design-enabled .st-standard-page-container {
    width: calc(100% - 16px);
  }

  body.st-standard-content-page.st-page-design-enabled .st-standard-page-container > .entry-card,
  body.st-standard-content-page.st-page-design-enabled.st-legal-page .st-standard-page-container > .entry-card {
    padding: var(--st-page-padding-mobile, 14px);
    border-radius: min(var(--st-page-radius, 22px), 28px);
  }

  body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container > .entry-card > .entry-title {
    font-size: var(--st-page-title-size-mobile, 36px) !important;
  }

  body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content h2 {
    font-size: var(--st-page-h2-size-mobile, 30px) !important;
  }

  body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content h3 {
    font-size: var(--st-page-h3-size-mobile, 22px) !important;
  }

  body.st-standard-content-page.st-page-typography-enabled .st-standard-page-container .entry-content :is(p, li, address, blockquote, figcaption, td, th) {
    font-size: var(--st-page-text-size-mobile, 16px) !important;
  }
}

/* 1.15.6 – exakter Selektor für die von WooCommerce ausgegebene Produkt-H1. */
html body h1.product_title.entry-title {
  font-family: var(--st-single-product-title-font, var(--st-font-headings)) !important;
  font-size: var(--st-single-product-title-size-desktop, 48px) !important;
  font-weight: var(--st-single-product-title-weight, 700) !important;
  color: var(--st-single-product-title-color, var(--st-heading-color)) !important;
  line-height: 1.08 !important;
}

/* 1.15.7 – Hintergrund und Rahmen des großen Einzelprodukt-Innencontainers. */
html body div.product.type-product {
  background: var(--st-single-product-container-background, #fff) !important;
  border: var(--st-single-product-container-border-width, 0px) solid var(--st-single-product-container-border-color, #dce5d8) !important;
}
@media (max-width:620px) {
  html body h1.product_title.entry-title {
    font-size: var(--st-single-product-title-size-mobile, 38px) !important;
  }
}


/* =========================================================
 * 1.15.9 – Freundlicher, responsiver WooCommerce-Warenkorb
 * ======================================================= */
body.woocommerce-cart.st-cart-design-enabled .entry-card {
  background: var(--st-cart-page-background, #fff);
  border: var(--st-cart-border-width, 1px) solid var(--st-cart-border-color, #dce5d8);
  border-radius: calc(var(--st-cart-radius, 20px) + 8px);
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-info,
body.woocommerce-cart.st-cart-design-enabled .woocommerce-message,
body.woocommerce-cart.st-cart-design-enabled .woocommerce-error {
  border-left: 4px solid var(--st-cart-accent, var(--st-primary));
  background: color-mix(in srgb, var(--st-cart-accent, var(--st-primary)) 6%, var(--st-cart-page-background, #fff));
}

/* 1.18.88 – Freundliche Leer-Warenkorb-Karte im Theme-Design. */
body.woocommerce-cart .cart-empty.woocommerce-info {
  display: flex;
  width: min(100%, 720px);
  min-height: 220px;
  margin: 32px auto 24px;
  padding: 42px clamp(22px, 5vw, 56px);
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 15px;
  border: 1px solid color-mix(in srgb, var(--st-cart-accent, var(--st-primary)) 28%, var(--st-cart-border-color, var(--st-border)));
  border-radius: calc(var(--st-cart-radius, 20px) + 8px);
  background: linear-gradient(135deg, color-mix(in srgb, var(--st-cart-accent, var(--st-primary)) 10%, var(--st-cart-page-background, #fff)) 0%, var(--st-cart-page-background, #fff) 68%);
  box-shadow: 0 12px 34px rgba(92, 53, 70, .09);
  color: var(--st-heading-color, var(--st-text));
  font-size: clamp(1.08rem, 2vw, 1.28rem);
  font-weight: 750;
  line-height: 1.45;
  text-align: center;
}

body.woocommerce-cart .cart-empty.woocommerce-info::before {
  position: static;
  display: inline-flex;
  width: 64px;
  height: 64px;
  margin: 0;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: color-mix(in srgb, var(--st-cart-accent, var(--st-primary)) 15%, var(--st-cart-page-background, #fff));
  color: var(--st-cart-accent, var(--st-primary-dark));
  content: "♡";
  font-family: Georgia, "Times New Roman", serif;
  font-size: 44px;
  font-weight: 400;
  line-height: 1;
}

body.woocommerce-cart .wc-empty-cart-message:not(:has(*)) {
  display: none;
}

body.woocommerce-cart .return-to-shop {
  margin: 0 auto 32px;
  text-align: center;
}

/* 1.18.89 – Kleine Zufallsprodukte unter der Leer-Warenkorb-Meldung. */
body.woocommerce-cart .st-empty-cart-discover {
  width: min(100%, 920px);
  margin: 0 auto 26px;
}

body.woocommerce-cart .st-empty-cart-discover > h2 {
  margin: 0 0 16px;
  color: var(--st-heading-color, var(--st-text));
  font-family: var(--st-font-headings, inherit);
  font-size: clamp(1.16rem, 2vw, 1.4rem);
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

body.woocommerce-cart .st-empty-cart-products {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

body.woocommerce-cart .st-empty-cart-product {
  min-width: 0;
  overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--st-cart-accent, var(--st-primary)) 20%, var(--st-cart-border-color, var(--st-border)));
  border-radius: calc(var(--st-cart-radius, 20px) * .72);
  background: var(--st-cart-card-background, #f7fbf5);
  box-shadow: 0 7px 20px rgba(92, 53, 70, .07);
  transition: transform .18s ease, border-color .18s ease, box-shadow .18s ease;
}

body.woocommerce-cart .st-empty-cart-product:hover,
body.woocommerce-cart .st-empty-cart-product:focus-within {
  border-color: var(--st-cart-accent, var(--st-primary));
  box-shadow: 0 10px 26px rgba(92, 53, 70, .12);
  transform: translateY(-2px);
}

body.woocommerce-cart .st-empty-cart-product > a {
  display: flex;
  min-height: 108px;
  padding: 10px;
  align-items: center;
  gap: 12px;
  color: var(--st-text);
  text-decoration: none;
}

body.woocommerce-cart .st-empty-cart-product > a:focus-visible {
  border-radius: inherit;
  outline: 2px solid var(--st-cart-accent, var(--st-primary));
  outline-offset: -3px;
}

body.woocommerce-cart .st-empty-cart-product-image {
  width: 86px !important;
  height: 86px !important;
  margin: 0 !important;
  flex: 0 0 86px;
  border-radius: calc(var(--st-cart-radius, 20px) * .5);
  object-fit: cover;
}

body.woocommerce-cart .st-empty-cart-product-copy {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}

body.woocommerce-cart .st-empty-cart-product-copy strong {
  display: -webkit-box;
  overflow: hidden;
  color: var(--st-heading-color, var(--st-text));
  font-size: .94rem;
  font-weight: 750;
  line-height: 1.3;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

body.woocommerce-cart .st-empty-cart-product-price {
  color: var(--st-price-color, var(--st-primary-dark));
  font-size: .92rem;
  font-weight: 800;
}

@media (max-width: 620px) {
  /* 1.18.90 – Leer-Warenkorb-Hinweis kompakter halten und vom Footer lösen. */
  body.woocommerce-cart .cart-empty.woocommerce-info {
    min-height: 154px;
    margin: 16px auto 16px;
    padding: 22px 16px;
    gap: 10px;
    border-radius: min(calc(var(--st-cart-radius, 20px) + 4px), 24px);
    font-size: 1rem;
    line-height: 1.35;
  }

  body.woocommerce-cart .cart-empty.woocommerce-info::before {
    width: 48px;
    height: 48px;
    font-size: 34px;
  }

  body.woocommerce-cart .site-footer {
    margin-top: 0;
  }

  body.woocommerce-cart .st-empty-cart-discover {
    margin-bottom: 22px;
  }

  body.woocommerce-cart .st-empty-cart-discover > h2 {
    margin-bottom: 13px;
    font-size: 1.08rem;
  }

  body.woocommerce-cart .st-empty-cart-products {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
  }

  body.woocommerce-cart .st-empty-cart-product:nth-child(n + 3) {
    display: none;
  }

  body.woocommerce-cart .st-empty-cart-product > a {
    min-height: 0;
    padding: 8px 8px 10px;
    flex-direction: column;
    gap: 8px;
    text-align: center;
  }

  body.woocommerce-cart .st-empty-cart-product-image {
    width: 100% !important;
    height: 112px !important;
    flex-basis: 112px;
  }

  body.woocommerce-cart .st-empty-cart-product-copy {
    width: 100%;
    align-items: center;
    gap: 4px;
  }

  body.woocommerce-cart .st-empty-cart-product-copy strong {
    font-size: .84rem;
    -webkit-line-clamp: 2;
  }

  body.woocommerce-cart .st-empty-cart-product-price {
    font-size: .84rem;
  }
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form table.shop_table {
  border: 0 !important;
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--st-cart-radius, 20px);
  background: var(--st-cart-card-background, #f7fbf5);
  box-shadow: inset 0 0 0 var(--st-cart-border-width, 1px) var(--st-cart-border-color, #dce5d8);
  overflow: hidden;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form table.shop_table thead th {
  padding: 16px 14px;
  border: 0;
  background: color-mix(in srgb, var(--st-cart-accent, var(--st-primary)) 7%, var(--st-cart-card-background, #f7fbf5));
  color: var(--st-heading-color, var(--st-text));
  font-size: .9rem;
  font-weight: 800;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.cart_item td {
  padding: 20px 14px;
  border-top: var(--st-cart-border-width, 1px) solid var(--st-cart-border-color, #dce5d8);
  background: transparent;
  vertical-align: middle;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-thumbnail {
  width: calc(var(--st-cart-image-size-desktop, 88px) + 28px);
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-thumbnail img {
  width: var(--st-cart-image-size-desktop, 88px) !important;
  height: var(--st-cart-image-size-desktop, 88px) !important;
  max-width: none !important;
  border-radius: calc(var(--st-cart-radius, 20px) * .6);
  object-fit: cover;
  box-shadow: 0 7px 18px rgba(69, 42, 54, .1);
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-thumbnail img.skt-cart-preview-image {
  object-fit: contain;
  background: var(--st-cart-page-background, #fff);
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-name > a {
  color: var(--st-heading-color, var(--st-text));
  font-size: 1.02rem;
  font-weight: 750;
  line-height: 1.35;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-name > a:hover {
  color: var(--st-cart-accent, var(--st-primary));
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form .delivery-time-info {
  margin: 7px 0 0;
  color: var(--st-muted);
  font-size: .84rem;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-price,
body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-subtotal {
  font-weight: 750;
  white-space: nowrap;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form .quantity .qty {
  width: 64px;
  height: 44px;
  padding: 8px;
  border-color: var(--st-cart-border-color, #dce5d8);
  background: var(--st-cart-page-background, #fff);
  text-align: center;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form a.remove {
  display: inline-flex;
  width: 34px;
  height: 34px;
  align-items: center;
  justify-content: center;
  border: 1px solid color-mix(in srgb, #c43242 28%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, #c43242 7%, var(--st-cart-page-background, #fff));
  color: #b42333 !important;
  font-size: 21px;
  line-height: 1;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form a.remove:hover {
  border-color: #b42333;
  background: #b42333;
  color: #fff !important;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.actions {
  padding: 14px;
  border-top: var(--st-cart-border-width, 1px) solid var(--st-cart-border-color, #dce5d8);
  background: color-mix(in srgb, var(--st-cart-card-background, #f7fbf5) 62%, var(--st-cart-page-background, #fff));
  text-align: right;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.actions .coupon {
  display: inline-flex;
  float: left;
  align-items: center;
  gap: 8px;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form button[name="update_cart"] {
  float: right;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.actions .coupon #coupon_code {
  width: 180px;
  min-height: 44px;
  background: var(--st-cart-page-background, #fff);
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.actions .button {
  min-height: 44px;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form button[name="update_cart"]:disabled {
  opacity: .48;
}

body.woocommerce-cart.st-cart-design-enabled .cart-collaterals {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(380px, .85fr);
  gap: clamp(30px, 5vw, 72px);
  align-items: start;
  margin-top: 48px;
}

body.woocommerce-cart.st-cart-design-enabled .cart-collaterals::before,
body.woocommerce-cart.st-cart-design-enabled .cart-collaterals::after {
  display: none;
}

body.woocommerce-cart.st-cart-design-enabled .cart-collaterals .cross-sells,
body.woocommerce-cart.st-cart-design-enabled .cart-collaterals .cart_totals {
  float: none !important;
  width: auto !important;
  min-width: 0;
}

body.woocommerce-cart.st-cart-design-enabled .cart-collaterals :is(.cross-sells, .cart_totals) > h2 {
  margin: 0 0 22px;
  font-size: clamp(1.55rem, 2.3vw, 2.15rem);
  line-height: 1.15;
}

body.woocommerce-cart.st-cart-design-enabled .cart_totals table.shop_table {
  margin: 0;
  border: 0 !important;
  border-radius: var(--st-cart-radius, 20px);
  background: var(--st-cart-card-background, #f7fbf5);
  box-shadow: inset 0 0 0 var(--st-cart-border-width, 1px) var(--st-cart-border-color, #dce5d8);
  overflow: hidden;
}

body.woocommerce-cart.st-cart-design-enabled .cart_totals table.shop_table :is(th, td) {
  padding: 15px 14px;
  border-color: var(--st-cart-border-color, #dce5d8);
  vertical-align: top;
}

body.woocommerce-cart.st-cart-design-enabled .cart_totals .order-total :is(th, td) {
  color: var(--st-cart-accent, var(--st-primary));
  font-size: 1.12rem;
  font-weight: 850;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-shipping-methods {
  display: grid;
  gap: 8px;
  margin: 0;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-shipping-methods li {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px;
  align-items: start;
  margin: 0;
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-shipping-methods input[type="radio"] {
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--st-cart-accent, var(--st-primary));
}

body.woocommerce-cart.st-cart-design-enabled .woocommerce-shipping-destination {
  margin: 12px 0 0;
  color: var(--st-muted);
  font-size: .84rem;
  line-height: 1.5;
}

body.woocommerce-cart.st-cart-design-enabled .wc-proceed-to-checkout {
  padding: 14px 0 0;
}

body.woocommerce-cart.st-cart-design-enabled .wc-proceed-to-checkout .checkout-button {
  display: flex;
  width: 100%;
  min-height: 56px;
  align-items: center;
  justify-content: center;
  margin: 0;
  border-radius: min(var(--st-cart-radius, 20px), 18px);
  background: var(--st-cart-checkout-background, var(--st-primary)) !important;
  color: var(--st-cart-checkout-text, #fff) !important;
  font-size: 1rem;
  font-weight: 850;
  box-shadow: 0 10px 24px color-mix(in srgb, var(--st-cart-checkout-background, var(--st-primary)) 25%, transparent);
}

body.woocommerce-cart.st-cart-design-enabled .wc-proceed-to-checkout .checkout-button:hover {
  filter: brightness(.94);
  transform: translateY(-1px);
}

body.woocommerce-cart.st-cart-design-enabled .cross-sells ul.products {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), min(var(--st-cart-cross-sell-width, 280px), 100%))) !important;
  gap: clamp(14px, 2vw, 22px);
  align-items: stretch;
  justify-content: start;
  width: 100%;
  margin-bottom: 0;
}

body.woocommerce-cart.st-cart-design-enabled .cross-sells ul.products > li.product {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  max-width: none !important;
  height: 100%;
}

body.woocommerce-cart.st-cart-design-enabled .cross-sells ul.products > li.product > a.woocommerce-LoopProduct-link > img.attachment-woocommerce_thumbnail {
  width: 100% !important;
  height: var(--st-cart-cross-sell-image-height-desktop, 190px) !important;
  object-fit: cover;
}

body.woocommerce-cart.st-cart-design-enabled .cross-sells ul.products > li.product > .button {
  margin-top: auto !important;
}

@media (max-width: 980px) {
  body.woocommerce-cart.st-cart-design-enabled .cart-collaterals {
    grid-template-columns: minmax(0, 1fr);
  }

  body.woocommerce-cart.st-cart-design-enabled .cart-collaterals .cart_totals {
    order: 1;
  }

  body.woocommerce-cart.st-cart-design-enabled .cart-collaterals .cross-sells {
    order: 2;
  }
}

@media (max-width: 768px) {
  body.woocommerce-cart.st-cart-design-enabled .entry-card {
    padding: 18px 12px;
    border-radius: calc(var(--st-cart-radius, 20px) + 2px);
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form table.shop_table {
    background: transparent;
    box-shadow: none;
    overflow: visible;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form table.shop_table thead {
    display: none;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form table.shop_table tbody,
  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form table.shop_table tr.cart_item {
    display: block;
    width: 100%;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.cart_item {
    position: relative;
    display: grid !important;
    grid-template-columns: var(--st-cart-image-size-mobile, 76px) minmax(0, 1fr);
    gap: 5px 14px;
    margin-bottom: 14px;
    padding: 14px;
    border: var(--st-cart-border-width, 1px) solid var(--st-cart-border-color, #dce5d8);
    border-radius: var(--st-cart-radius, 20px);
    background: var(--st-cart-card-background, #f7fbf5);
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.cart_item td {
    display: block !important;
    width: auto !important;
    padding: 5px 0;
    border: 0 !important;
    background: transparent;
    text-align: left !important;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.cart_item td.product-remove {
    position: absolute;
    z-index: 2;
    top: 10px;
    right: 10px;
    padding: 0;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.cart_item td.product-thumbnail {
    grid-column: 1;
    grid-row: 1 / span 4;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-thumbnail::before,
  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-name::before {
    display: none;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.product-thumbnail img {
    width: var(--st-cart-image-size-mobile, 76px) !important;
    height: var(--st-cart-image-size-mobile, 76px) !important;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.cart_item td.product-name {
    grid-column: 2;
    padding-top: 2px;
    padding-right: 34px;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.cart_item :is(td.product-price, td.product-quantity, td.product-subtotal) {
    grid-column: 2;
    display: flex !important;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.cart_item td[data-title]::before {
    float: none;
    color: var(--st-muted);
    font-size: .8rem;
    font-weight: 700;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form .quantity .qty {
    width: 58px;
    height: 40px;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form table.shop_table tbody > tr:not(.cart_item) {
    display: block;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr);
    gap: 10px;
    padding: 14px;
    border: var(--st-cart-border-width, 1px) solid var(--st-cart-border-color, #dce5d8);
    border-radius: var(--st-cart-radius, 20px);
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.actions .coupon {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    float: none;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form button[name="update_cart"] {
    float: none;
  }

  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.actions .coupon #coupon_code,
  body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form td.actions .button {
    width: 100% !important;
  }

  body.woocommerce-cart.st-cart-design-enabled .cart-collaterals {
    gap: 42px;
    margin-top: 42px;
  }

  body.woocommerce-cart.st-cart-design-enabled .cross-sells ul.products {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body.woocommerce-cart.st-cart-design-enabled .cross-sells ul.products > li.product > a.woocommerce-LoopProduct-link > img.attachment-woocommerce_thumbnail {
    height: var(--st-cart-cross-sell-image-height-mobile, 180px) !important;
  }

  body.woocommerce-cart.st-cart-design-enabled .cart_totals table.shop_table :is(th, td) {
    padding: 12px;
  }
}


/* =========================================================
 * 1.14.15 – Einheitliche Rahmen für Startseiten-Kacheln
 * ======================================================= */
:is(
  .hero-card,
  .st-highlight-card,
  .st-category-card,
  .st-benefit,
  .st-story-card,
  .st-safety-card,
  .st-home-bordered-shortcode,
  .st-social-proof-panel,
  .st-home-contact .st-footer-cta-card
) {
  box-sizing: border-box;
}

/* 1.17.4 – Startseiten-Kachel und Popup mit Sicherheitshinweisen. */
.st-safety-card {
  position: relative;
  overflow: hidden;
  box-shadow: var(--st-shadow-soft);
}

.st-safety-card::after {
  content: "";
  position: absolute;
  right: -90px;
  bottom: -120px;
  width: 270px;
  height: 270px;
  border-radius: 50%;
  background: color-mix(in srgb, var(--st-safety-accent, var(--st-primary)) 9%, transparent);
  pointer-events: none;
}

.st-safety-heading,
.st-safety-rules,
.st-safety-source {
  position: relative;
  z-index: 1;
}

.st-safety-heading {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.st-safety-icon {
  display: grid;
  place-items: center;
  width: 62px;
  height: 62px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--st-safety-accent, var(--st-primary)) 14%, #fff);
  color: var(--st-safety-accent, var(--st-primary));
  font-size: 1.75rem;
  line-height: 1;
}

.st-safety-heading h2 {
  margin: 5px 0 9px;
  font-size: clamp(1.85rem, 3.2vw, 2.8rem);
  line-height: 1.08;
  letter-spacing: -.04em;
}

.st-safety-heading p {
  max-width: 820px;
  margin: 0;
  color: inherit;
  opacity: .78;
}

.st-safety-popup-trigger {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: 24px;
}

@media (min-width: 981px) {
  .st-safety-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    column-gap: clamp(32px, 6vw, 90px);
  }

  .st-safety-card > .st-safety-heading {
    min-width: 0;
  }

  .st-safety-card > .st-safety-popup-trigger {
    justify-self: end;
    margin-top: 0;
    white-space: nowrap;
  }
}

/* =========================================================
 * 1.18.97 – Native Variantenfelder mobil sicher begrenzen
 * ======================================================= */
@media (max-width: 782px) {
    html body.single-product .woocommerce div.product div.summary,
    html body.single-product .woocommerce div.product form.variations_form,
    html body.single-product .woocommerce div.product form.variations_form table.variations,
    html body.single-product .woocommerce div.product form.variations_form table.variations tbody {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations,
    html body.single-product .woocommerce div.product form.variations_form table.variations tbody {
        display: block !important;
        table-layout: fixed !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations tr {
        display: grid !important;
        grid-template-columns: minmax(96px, 28%) minmax(0, 1fr) !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations :is(th.label, td.value) {
        display: block !important;
        width: auto !important;
        max-width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations th.label {
        padding-right: 10px !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations td.value {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        overflow: hidden !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations td.value select {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow: hidden !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        box-sizing: border-box !important;
    }

    /* Der sichtbare Text liegt in einer fest begrenzten Hülle. Das echte
       WooCommerce-Select bleibt unverändert darüber und öffnet weiterhin die
       native Android-Auswahlliste – dadurch gibt es nur einen Dialog. */
    html body.single-product .woocommerce div.product form.variations_form table.variations .st-mobile-variation-select-shell {
        position: relative !important;
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        height: 52px !important;
        overflow: hidden !important;
        box-sizing: border-box !important;
        border: 1px solid #dce5d8 !important;
        border-radius: 12px !important;
        background: #fff !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations .st-mobile-variation-select-shell:focus-within {
        border-color: var(--st-primary) !important;
        box-shadow: 0 0 0 4px rgba(217, 112, 150, .11) !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations .st-mobile-variation-select-shell select {
        position: absolute !important;
        z-index: 2 !important;
        inset: 0 !important;
        width: 100% !important;
        max-width: none !important;
        min-width: 0 !important;
        height: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        opacity: 0 !important;
        cursor: pointer !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations .st-mobile-variation-selected-label {
        position: absolute !important;
        z-index: 1 !important;
        top: 50% !important;
        left: 14px !important;
        right: 42px !important;
        display: block !important;
        min-width: 0 !important;
        overflow: hidden !important;
        color: var(--st-text) !important;
        line-height: 1.25 !important;
        text-overflow: ellipsis !important;
        white-space: nowrap !important;
        transform: translateY(-50%) !important;
        pointer-events: none !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations .st-mobile-variation-select-arrow {
        position: absolute !important;
        z-index: 1 !important;
        top: 50% !important;
        right: 15px !important;
        display: block !important;
        font-size: 20px !important;
        line-height: 1 !important;
        transform: translateY(-55%) !important;
        pointer-events: none !important;
    }

    html body.single-product .woocommerce div.product form.variations_form table.variations .reset_variations {
        justify-self: end;
        max-width: 100%;
        margin: 6px 0 0 !important;
    }
}

@media (min-width: 783px) {
    .st-mobile-variation-select-shell {
        display: contents;
    }

    .st-mobile-variation-selected-label,
    .st-mobile-variation-select-arrow {
        display: none !important;
    }
}

/* 1.18.16 – Die breite Konfigurator-Vorschau gilt im Mini-Cart auf Desktop
   und Mobil. Normale WooCommerce-Produkte behalten ihre kompakte quadratische
   Vorschau. Die zusätzliche Strukturerkennung fängt auch frische Fragmente ab,
   bevor JavaScript die dauerhafte Artikelklasse ergänzt hat. */
#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
) {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 28px !important;
  grid-template-areas:
    "image remove"
    "details details"
    "quantity quantity" !important;
  column-gap: 10px !important;
  row-gap: 10px !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
) .st-mini-cart-product-image-link {
  grid-area: image !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
}

#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
) :is(.st-mini-cart-product-image-link > img, img.skt-cart-preview-image) {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  object-fit: contain !important;
  float: none !important;
}

#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
) .st-mini-cart-product-details {
  grid-area: details !important;
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
) > .quantity {
  grid-area: quantity !important;
  width: 100% !important;
  text-align: right !important;
}

#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
) > .remove_from_cart_button {
  grid-area: remove !important;
}

#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
):not([data-st-mini-cart-enhanced="1"]) {
  display: block !important;
  overflow: hidden !important;
}

#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
):not([data-st-mini-cart-enhanced="1"]) > a:not(.remove):not(.remove_from_cart_button),
#st-mini-cart-panel .woocommerce-mini-cart-item:is(
  .skt-configurator-item,
  :has(img.skt-cart-preview-image),
  :has(a[href*="/konfigurator/"])
):not([data-st-mini-cart-enhanced="1"]) > a:not(.remove):not(.remove_from_cart_button) > img {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
  float: none !important;
}

body.st-safety-dialog-open {
  overflow: hidden;
}

.st-safety-dialog {
  width: min(760px, calc(100vw - 28px));
  max-width: 760px;
  max-height: min(86vh, 780px);
  margin: auto;
  padding: 0;
  color: var(--st-text, #263b2d);
  background: var(--st-surface, #fff);
  border: 1px solid color-mix(in srgb, var(--st-safety-accent, var(--st-primary)) 28%, var(--st-border, #dce5d8));
  border-radius: 26px;
  box-shadow: 0 24px 80px rgba(48, 29, 39, .28);
  overflow: hidden;
}

.st-safety-dialog::backdrop {
  background: rgba(42, 27, 35, .58);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
}

.st-safety-dialog-inner {
  position: relative;
  max-height: min(86vh, 780px);
  padding: clamp(25px, 5vw, 42px);
  overflow: auto;
  overscroll-behavior: contain;
  text-align: left;
}

.st-safety-dialog h2 {
  margin: 6px 54px 0 0;
  font-size: clamp(1.7rem, 4vw, 2.45rem);
  line-height: 1.1;
  letter-spacing: -.035em;
}

.st-safety-dialog-close {
  position: absolute;
  top: 18px;
  right: 18px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  padding: 0;
  color: var(--st-text, #263b2d);
  background: color-mix(in srgb, var(--st-safety-accent, var(--st-primary)) 12%, #fff);
  border: 1px solid color-mix(in srgb, var(--st-safety-accent, var(--st-primary)) 28%, transparent);
  border-radius: 50%;
  font-size: 1.65rem;
  font-weight: 500;
  line-height: 1;
}

.st-safety-dialog-close:hover,
.st-safety-dialog-close:focus-visible {
  color: #fff;
  background: var(--st-safety-accent, var(--st-primary));
}

.st-safety-rules {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 18px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
  text-align: left;
}

.st-safety-rules li {
  display: grid;
  grid-template-columns: 27px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  min-width: 0;
  padding: 15px 16px;
  border: 1px solid color-mix(in srgb, var(--st-safety-accent, var(--st-primary)) 20%, transparent);
  border-radius: 16px;
  background: color-mix(in srgb, #fff 72%, transparent);
  line-height: 1.5;
}

.st-safety-rules li > span:first-child {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  border-radius: 50%;
  background: var(--st-safety-accent, var(--st-primary));
  color: #fff;
  font-size: .8rem;
  font-weight: 900;
}

.st-safety-source {
  margin: 22px 0 0;
  padding-top: 16px;
  border-top: 1px solid color-mix(in srgb, currentColor 14%, transparent);
  font-size: .82rem;
  line-height: 1.45;
  opacity: .68;
}

.st-safety-dialog-close-button {
  display: inline-flex;
  margin-top: 22px;
}

@media (max-width: 620px) {
  .st-safety-heading {
    grid-template-columns: 1fr;
    gap: 13px;
  }

  .st-safety-icon {
    width: 54px;
    height: 54px;
    border-radius: 17px;
    font-size: 1.5rem;
  }

  .st-safety-heading h2 {
    font-size: 1.9rem;
  }

  .st-safety-rules {
    grid-template-columns: 1fr;
    margin-top: 22px;
  }

  .st-safety-rules li {
    padding: 13px 14px;
  }

  .st-safety-popup-trigger {
    width: 100%;
  }

  .st-safety-dialog {
    width: calc(100vw - 20px);
    max-height: min(90vh, 780px);
    border-radius: 22px;
  }

  .st-safety-dialog-inner {
    max-height: min(90vh, 780px);
    padding: 27px 20px 23px;
  }

  .st-safety-dialog h2 {
    margin-right: 46px;
    font-size: 1.72rem;
  }

  .st-safety-dialog-close {
    top: 13px;
    right: 13px;
    width: 42px;
    height: 42px;
  }

  .st-safety-dialog-close-button {
    width: 100%;
    justify-content: center;
  }
}


/* =========================================================
 * 1.18.3 – einheitlicher Kaufen-Button für alle Produkttypen
 * ======================================================= */
html body .woocommerce div.product form.cart
:is(button, a, input).single_add_to_cart_button,
html body .woocommerce div.product
:is(button, a, input).single_add_to_cart_button,
html body
:is(button, a, input).single_add_to_cart_button {
  -webkit-appearance: none !important;
  appearance: none !important;
  color: var(--st-button-text-color, #fff) !important;
  background: var(--st-primary, #2e7d32) !important;
  background-color: var(--st-primary, #2e7d32) !important;
  background-image: none !important;
  border-color: var(--st-primary, #2e7d32) !important;
  box-shadow: none !important;
}

html body .woocommerce div.product form.cart
:is(button, a, input).single_add_to_cart_button:not(:disabled):not(.disabled):is(:hover, :focus, :focus-visible),
html body .woocommerce div.product
:is(button, a, input).single_add_to_cart_button:not(:disabled):not(.disabled):is(:hover, :focus, :focus-visible),
html body
:is(button, a, input).single_add_to_cart_button:not(:disabled):not(.disabled):is(:hover, :focus, :focus-visible) {
  color: var(--st-button-text-color, #fff) !important;
  background: var(--st-primary-dark, var(--st-primary, #2e7d32)) !important;
  background-color: var(--st-primary-dark, var(--st-primary, #2e7d32)) !important;
  background-image: none !important;
  border-color: var(--st-primary-dark, var(--st-primary, #2e7d32)) !important;
}

html body
:is(button, a, input).single_add_to_cart_button:is(:disabled, .disabled) {
  color: var(--st-button-text-color, #fff) !important;
  background: var(--st-primary, #2e7d32) !important;
  background-color: var(--st-primary, #2e7d32) !important;
  border-color: var(--st-primary, #2e7d32) !important;
  opacity: .55 !important;
  cursor: not-allowed !important;
}


/* 0.7.0: Nur separat hinter dem Footer ausgegebene Steuerhinweise ausblenden.
   Germanized-Ausgaben innerhalb von WooCommerce-/Kontobereichen bleiben erhalten. */
body > .footer-tax-note,
body > .footer-info.vat-info,
.site-footer + .footer-tax-note,
.site-footer + .footer-info.vat-info {
  display: none !important;
}


/* 0.7.2 – Footer-Sterne behalten unabhängig von der allgemeinen Footer-Schriftfarbe ihre Akzentfarbe. */
.site-footer .footer-rating .footer-stars {
    color: var(--st-footer-rating-color, #f4c542) !important;
    -webkit-text-fill-color: var(--st-footer-rating-color, #f4c542) !important;
}


/* 0.7.3 – Einfacher Nach-oben-Button. */
.st-scroll-top {
  position: fixed;
  right: var(--st-scroll-top-right, 20px);
  bottom: calc(max(var(--st-scroll-top-bottom, 20px), env(safe-area-inset-bottom, 0px)) + var(--st-scroll-top-extra-offset, 0px));
  z-index: 9998;
  width: var(--st-scroll-top-size, 52px);
  height: var(--st-scroll-top-size, 52px);
  display: inline-grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: var(--st-scroll-top-bg, #2e7d32);
  color: var(--st-scroll-top-icon, #fff);
  box-shadow: 0 10px 28px rgba(35, 24, 31, .22);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(12px) scale(.94);
  transition: opacity .2s ease, transform .2s ease, visibility .2s ease, filter .2s ease;
}
.st-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}
.st-scroll-top:hover {
  filter: brightness(1.08);
  transform: translateY(-2px) scale(1.02);
}
.st-scroll-top:active {
  transform: scale(.94);
}
.st-scroll-top:focus-visible {
  outline: 3px solid rgba(255,255,255,.9);
  outline-offset: 3px;
}
.st-scroll-top svg {
  width: 52%;
  height: 52%;
  display: block;
}
@media (max-width: 620px) {
  .st-scroll-top {
    right: max(var(--st-scroll-top-right, 20px), env(safe-area-inset-right, 0px));
  }
}


@media (prefers-reduced-motion: reduce) {
  .st-scroll-top { transition: none; }
}


/* 0.7.5 – mobiles Canvas-Menü vollständig scrollbar */
@media (max-width: 980px) {
  .main-navigation {
    top: 0 !important;
    bottom: auto !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    padding-bottom: calc(52px + env(safe-area-inset-bottom)) !important;
    scrollbar-gutter: stable;
  }

  .main-navigation .mobile-menu-head {
    position: sticky !important;
    top: 0 !important;
    z-index: 10 !important;
  }

  .main-navigation .primary-menu,
  .main-navigation .mobile-menu-links {
    min-height: 0;
    overflow: visible;
  }

  body.menu-open {
    overflow: hidden !important;
    overscroll-behavior: none;
    touch-action: none;
  }

  body.menu-open .main-navigation {
    touch-action: pan-y;
  }
}

/* 0.7.6 – Astra-Schriftarten und Akkordeon-Menü */


/* 0.7.7 – echter Menü-Scrollbereich und robuste Typografie */
@media (max-width: 980px) {
  .main-navigation {
    display: flex !important;
    flex-direction: column !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  .main-navigation .mobile-menu-head {
    flex: 0 0 auto !important;
    position: relative !important;
    top: auto !important;
    margin: 0 !important;
    padding: 18px 22px !important;
  }
  .main-navigation .mobile-menu-scroll {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain;
    -webkit-overflow-scrolling: touch;
    touch-action: pan-y;
    padding: 0 22px calc(96px + env(safe-area-inset-bottom)) !important;
    scrollbar-gutter: stable;
  }
  .main-navigation .mobile-menu-scroll > .primary-menu,
  .main-navigation .mobile-menu-scroll > .mobile-menu-links {
    overflow: visible !important;
    height: auto !important;
    max-height: none !important;
  }
}

/* Schriftwahl muss auch gegen WooCommerce, Plugins und ältere Theme-Regeln greifen. */
html body,
html body input,
html body textarea,
html body select,
html body label,
html body .entry-content,
html body .woocommerce,
html body .woocommerce input,
html body .woocommerce textarea,
html body .woocommerce select {
  font-family: var(--st-font-body) !important;
}
html body h1,
html body h2,
html body h3,
html body h4,
html body h5,
html body h6,
html body .site-title,
html body .product_title,
html body .woocommerce-loop-product__title,
html body .section-head h2,
html body .st-story-card h2,
html body .st-configurator-copy h2,
html body .st-footer-cta h2 {
  font-family: var(--st-font-headings) !important;
}
html body .primary-menu a,
html body .main-navigation a,
html body .header-action,
html body .menu-toggle,
html body .mobile-menu-links a {
  font-family: var(--st-font-navigation) !important;
}
html body button,
html body .button,
html body .wp-element-button,
html body input[type="submit"],
html body .woocommerce a.button,
html body .woocommerce button.button,
html body .woocommerce input.button {
  font-family: var(--st-font-buttons) !important;
}

/* 0.9.0 – konfigurierbare Startseiten-Karten */
.st-highlight-card{box-shadow:0 16px 42px rgba(73,48,57,.08)}
.st-highlight-card h2{margin:.35rem 0 .85rem}
.st-highlight-card p{max-width:850px;margin:0 0 1.35rem;line-height:1.75}
.st-highlight-card[style*="text-align:center"] p{margin-left:auto;margin-right:auto}
.st-highlight-card[style*="text-align:right"] p{margin-left:auto}
.st-highlight-icon{font-size:1.65rem;margin-bottom:.4rem}
.st-benefits-section .st-benefits{display:grid!important;grid-template-columns:repeat(var(--st-benefit-cols-desktop,4),minmax(0,1fr))!important;gap:var(--st-benefit-gap,18px)!important}
.st-benefits-section .st-benefit{box-sizing:border-box;height:100%;margin:0!important}
@media(max-width:768px){
  .st-benefits-section .st-benefits{grid-template-columns:repeat(var(--st-benefit-cols-mobile,2),minmax(0,1fr))!important}
  .st-highlight-card,.st-story-card{padding-left:min(6vw,28px)!important;padding-right:min(6vw,28px)!important}
}

/* 0.9.2: Modulare Startseite */
.st-home-module.section{padding-top:0;padding-bottom:0}
.st-home-contact.st-footer-cta{margin-top:0}
.st-home-contact .st-footer-cta-card[style*="text-align:center"]{display:block}
.st-home-contact .st-footer-cta-card[style*="text-align:center"] .button{margin-top:22px}
@media(max-width:620px){.st-home-module{min-height:0!important}.st-home-contact .st-footer-cta-card{display:block}.st-home-contact .st-footer-cta-card>.button{display:flex;width:100%;justify-content:center;margin-top:22px}}


/* 0.9.4 – getrennte, durchsetzungsstarke Menütypografie */
body .site-header .primary-menu > li > a,
body .site-header .main-navigation .primary-menu > li > a {
  font-family: var(--st-font-navigation) !important;
  font-size: var(--st-menu-size-desktop, 15px) !important;
  line-height: 1.25 !important;
}
body .site-header .primary-menu .sub-menu a,
body .site-header .main-navigation .primary-menu .sub-menu a {
  font-family: var(--st-font-navigation) !important;
  font-size: var(--st-submenu-size, 16px) !important;
  line-height: 1.3 !important;
}
body .site-header .mobile-menu-links a {
  font-family: var(--st-font-navigation) !important;
  font-size: var(--st-menu-size-mobile, 18px) !important;
  line-height: 1.3 !important;
}
@media (max-width: 980px) {
  body .site-header .main-navigation .primary-menu > li > a,
  body .site-header .primary-menu > li > a {
    font-size: var(--st-menu-size-mobile, 18px) !important;
    line-height: 1.25 !important;
  }
  body .site-header .main-navigation .primary-menu .sub-menu a,
  body .site-header .primary-menu .sub-menu a {
    font-size: var(--st-submenu-size, 16px) !important;
    line-height: 1.3 !important;
  }
  body .site-header .main-navigation .submenu-toggle {
    font-size: calc(var(--st-menu-size-mobile, 18px) + 4px) !important;
  }
}


/* 0.9.5 – mobiler Header und fest erreichbarer Konto-Footer im Canvas-Menü */
@media (max-width: 980px) {
  /* Das Drawer-Layout ist vollständig vom sichtbaren Header entkoppelt. */
  .main-navigation {
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: flex !important;
    flex-direction: column !important;
    overflow: hidden !important;
  }
  .main-navigation .mobile-menu-head {
    flex: 0 0 auto !important;
  }
  .main-navigation .mobile-menu-scroll {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 22px 24px !important;
  }
  .main-navigation .mobile-menu-links {
    display: grid !important;
    grid-template-columns: 1fr 1fr;
    gap: 10px;
    flex: 0 0 auto !important;
    margin: 0 !important;
    padding: 14px 22px calc(14px + env(safe-area-inset-bottom)) !important;
    background: #fff;
    border-top: 1px solid var(--st-border);
    box-shadow: 0 -8px 24px rgba(49,28,38,.06);
  }
  .main-navigation .mobile-menu-links a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 48px;
    padding: 10px 12px;
    text-align: center;
  }

  /* Logo, Menü- und Warenkorbknopf dürfen die Kopfzeile vergrößern,
     aber weder abgeschnitten werden noch aus dem Header herausragen. */
  .site-header,
  .site-header .header-main,
  .site-header .site-branding,
  .site-header .site-branding .custom-logo-link {
    overflow: visible !important;
  }
  .site-header .header-main {
    height: auto !important;
    min-height: 0 !important;
    align-items: center !important;
    grid-template-columns: minmax(0,1fr) max-content !important;
  }
  .site-header .site-branding {
    align-self: stretch;
    display: flex;
    align-items: center;
  }
  .site-header .site-branding .custom-logo {
    height: var(--st-logo-height-mobile,54px) !important;
    width: auto !important;
    max-height: none !important;
    max-width: min(100%, calc(100vw - 132px)) !important;
    object-fit: contain !important;
  }
  .site-header .header-actions {
    flex: 0 0 auto;
    align-self: center;
  }
}
@media (max-width: 420px) {
  .main-navigation .mobile-menu-links {
    grid-template-columns: 1fr;
  }
}

/* 0.9.6 – sichtbarer Menü-Footer und nahtloser mobiler Header */
@media (max-width: 980px) {
  /* Das Canvas besteht sicher aus Kopf, scrollbarerer Mitte und festem Footer. */
  body .site-header .main-navigation {
    top: 0 !important;
    bottom: auto !important;
    height: 100vh !important;
    height: 100dvh !important;
    max-height: 100dvh !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    align-content: stretch !important;
    padding: 0 !important;
    overflow: hidden !important;
  }
  body .site-header .main-navigation .mobile-menu-head {
    grid-row: 1;
    min-height: 72px;
    margin: 0 !important;
    padding: 14px 22px !important;
    position: relative !important;
    inset: auto !important;
    background: #fff !important;
  }
  body .site-header .main-navigation .mobile-menu-scroll {
    grid-row: 2;
    min-height: 0 !important;
    height: auto !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 0 22px 28px !important;
    overscroll-behavior: contain;
    -webkit-overflow-scrolling: touch;
  }
  body .site-header .main-navigation .mobile-menu-links {
    grid-row: 3;
    display: grid !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    flex: none !important;
    margin: 0 !important;
    padding: 12px 22px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    background: #fff !important;
    border-top: 1px solid var(--st-border) !important;
    box-shadow: 0 -8px 24px rgba(49,28,38,.06) !important;
    z-index: 4;
  }

  /* Der Desktop-Navigationsstreifen darf mobil keine leere weiße Zeile erzeugen. */
  body .site-header {
    border-top: 0 !important;
    border-bottom: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body .site-header .header-main {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    border: 0 !important;
  }
  body .site-header .st-nav-row {
    height: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    line-height: 0 !important;
    overflow: visible !important;
  }
  body .site-header .st-nav-row > .container {
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
  body .site-main {
    margin-top: 0 !important;
  }
}

@media (max-width: 420px) {
  body .site-header .main-navigation .mobile-menu-links {
    grid-template-columns: 1fr 1fr !important;
    gap: 8px !important;
  }
  body .site-header .main-navigation .mobile-menu-links a {
    min-height: 44px !important;
    padding: 8px 9px !important;
    font-size: min(var(--st-menu-mobile-size, 18px), 18px) !important;
  }
}


/* 0.9.7 – Firefox/Android-sicherer Canvas-Footer und vollflächiger Mobile-Header */
@media (max-width: 980px) {
  /* Feste visuelle Viewport-Verankerung, unabhängig von der Höhe der Nav-Zeile. */
  body .site-header .main-navigation {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    width: min(92vw, 390px) !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    box-sizing: border-box !important;
    display: block !important;
    overflow: hidden !important;
    padding: 0 !important;
  }
  body .site-header .main-navigation .mobile-menu-head {
    position: absolute !important;
    z-index: 6 !important;
    top: 0 !important;
    right: 0 !important;
    left: 0 !important;
    height: 72px !important;
    min-height: 72px !important;
    box-sizing: border-box !important;
  }
  body .site-header .main-navigation .mobile-menu-scroll {
    position: absolute !important;
    z-index: 2 !important;
    top: 72px !important;
    right: 0 !important;
    bottom: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    left: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    box-sizing: border-box !important;
    padding: 0 22px 32px !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch !important;
  }
  body .site-header .main-navigation .mobile-menu-links {
    position: absolute !important;
    z-index: 7 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    min-height: calc(82px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    align-items: center !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    margin: 0 !important;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* Ein Hintergrundbild soll mobil den gesamten Header füllen – kein Letterboxing. */
  body .site-header {
    background-size: cover !important;
    background-position: center center !important;
    background-clip: border-box !important;
  }
  body .site-header .header-main {
    width: 100% !important;
    max-width: none !important;
    box-sizing: border-box !important;
    background: transparent !important;
  }
  body .site-header::before,
  body .site-header::after,
  body .site-header .header-main::before,
  body .site-header .header-main::after {
    display: none !important;
    content: none !important;
  }
}
@media (max-width: 420px) {
  body .site-header .main-navigation .mobile-menu-links {
    grid-template-columns: 1fr 1fr !important;
  }
}


/* 0.9.8 – Logo und Header-Aktionen liegen auf derselben Hintergrundfläche */
.site-header {
  background: transparent !important;
  background-image: none !important;
}
.site-header .st-header-surface {
  width: 100%;
  box-sizing: border-box;
  background-color: var(--st-header-bg-color, #fff);
  background-image: var(--st-header-bg-image, none);
  background-size: var(--st-header-bg-size, cover);
  background-position: var(--st-header-bg-position, center center);
  background-repeat: var(--st-header-bg-repeat, no-repeat);
}
.site-header .st-header-surface .header-main {
  background: transparent !important;
}

@media (max-width: 980px) {
  body .site-header .st-header-surface {
    display: block !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background-color: var(--st-header-bg-color, #fff) !important;
    background-image: var(--st-header-bg-image, none) !important;
    background-size: var(--st-header-bg-size, cover) !important;
    background-position: var(--st-header-bg-position, center center) !important;
    background-repeat: var(--st-header-bg-repeat, no-repeat) !important;
  }
  body .site-header .st-header-surface .header-main {
    width: min(calc(100% - 20px), var(--st-max)) !important;
    max-width: var(--st-max) !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding-top: var(--st-header-padding-mobile, 6px) !important;
    padding-bottom: var(--st-header-padding-mobile, 6px) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  body .site-header .st-header-surface,
  body .site-header .st-header-surface .header-main,
  body .site-header .st-header-surface .site-branding,
  body .site-header .st-header-surface .custom-logo-link {
    overflow: visible !important;
  }
  body .site-header .st-header-surface::before,
  body .site-header .st-header-surface::after {
    display: none !important;
    content: none !important;
  }
}


/* 0.9.9 – stabiler Header und wieder live veränderbare Logo-Größe */
.site-header {
  background-color: var(--st-header-bg-color, #fff) !important;
  background-image: var(--st-header-bg-image, none) !important;
  background-size: var(--st-header-bg-size, cover) !important;
  background-position: var(--st-header-bg-position, center center) !important;
  background-repeat: var(--st-header-bg-repeat, no-repeat) !important;
}
.site-header > .header-main {
  background: transparent !important;
  box-sizing: border-box !important;
  height: auto !important;
  min-height: calc(var(--st-logo-height-desktop, 64px) + (2 * var(--st-header-padding-desktop, 8px))) !important;
  padding-top: var(--st-header-padding-desktop, 8px) !important;
  padding-bottom: var(--st-header-padding-desktop, 8px) !important;
}
.site-header .site-branding,
.site-header .custom-logo-link {
  overflow: visible !important;
}
.site-header .custom-logo-link {
  display: inline-flex !important;
  align-items: center !important;
  line-height: 0 !important;
}
.site-header .custom-logo {
  display: block !important;
  width: auto !important;
  height: var(--st-logo-height-desktop, 64px) !important;
  max-width: none !important;
  max-height: none !important;
  object-fit: contain !important;
}

@media (max-width: 620px) {
  body .site-header {
    background-color: var(--st-header-bg-color, #fff) !important;
    background-image: var(--st-header-bg-image, none) !important;
    background-size: var(--st-header-bg-size, cover) !important;
    background-position: var(--st-header-bg-position, center center) !important;
    background-repeat: var(--st-header-bg-repeat, no-repeat) !important;
  }
  body .site-header > .header-main {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(var(--st-logo-height-mobile, 54px) + (2 * var(--st-header-padding-mobile, 6px))) !important;
    padding: var(--st-header-padding-mobile, 6px) 10px !important;
    background: transparent !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  body .site-header .site-branding {
    max-width: none !important;
    min-width: 0 !important;
    overflow: visible !important;
  }
  body .site-header .custom-logo-link {
    max-width: none !important;
    overflow: visible !important;
  }
  body .site-header .custom-logo {
    width: auto !important;
    height: var(--st-logo-height-mobile, 54px) !important;
    max-width: calc(100vw - 130px) !important;
    max-height: none !important;
  }
}

/* 1.0.0 – echter Geräte-Breakpoint für Logo und viewportfestes mobiles Menü */
@media (max-width: 980px) {
  /* backdrop-filter erzeugt bei manchen mobilen Browsern einen eigenen
     Bezugskasten für position:fixed. Ohne ihn bezieht sich das Canvas
     wieder zuverlässig auf den gesamten Bildschirm. */
  body .site-header {
    -webkit-backdrop-filter: none !important;
    backdrop-filter: none !important;
    filter: none !important;
    transform: none !important;
    contain: none !important;
    overflow: visible !important;
  }

  /* Der mobile Logo-Regler gilt am selben Breakpoint wie das mobile Menü. */
  body .site-header .header-main {
    width: 100% !important;
    max-width: none !important;
    min-height: calc(min(var(--st-logo-height-mobile, 54px), calc(100vw - 122px)) + (2 * var(--st-header-padding-mobile, 6px))) !important;
    height: auto !important;
    padding: var(--st-header-padding-mobile, 6px) 10px !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    background: transparent !important;
  }
  body .site-header .site-branding,
  body .site-header .custom-logo-link {
    min-width: 0 !important;
    max-width: none !important;
    overflow: visible !important;
  }
  body .site-header .custom-logo {
    display: block !important;
    width: auto !important;
    height: min(var(--st-logo-height-mobile, 54px), calc(100vw - 122px)) !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
  }

  /* Kopf, scrollbare Mitte und Konto-Footer sind echte Grid-Zeilen. */
  body .site-header .main-navigation {
    position: fixed !important;
    inset: 0 auto 0 0 !important;
    z-index: 10020 !important;
    width: min(92vw, 430px) !important;
    height: 100vh !important;
    height: 100dvh !important;
    min-height: 100vh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    align-content: stretch !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: #fff !important;
  }
  body .site-header .main-navigation .mobile-menu-head {
    position: relative !important;
    inset: auto !important;
    grid-row: 1 !important;
    width: auto !important;
    height: auto !important;
    min-height: 72px !important;
    margin: 0 !important;
    padding: 14px 22px !important;
    box-sizing: border-box !important;
  }
  body .site-header .main-navigation .mobile-menu-scroll {
    position: relative !important;
    inset: auto !important;
    grid-row: 2 !important;
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    padding: 0 22px 28px !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    overscroll-behavior-y: contain !important;
    -webkit-overflow-scrolling: touch !important;
    touch-action: pan-y !important;
  }
  body .site-header .main-navigation .mobile-menu-links {
    position: relative !important;
    inset: auto !important;
    grid-row: 3 !important;
    width: auto !important;
    min-height: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 12px 18px calc(12px + env(safe-area-inset-bottom, 0px)) !important;
    box-sizing: border-box !important;
    visibility: visible !important;
    opacity: 1 !important;
    transform: none !important;
    background: #fff !important;
    border-top: 1px solid var(--st-border) !important;
    box-shadow: 0 -8px 24px rgba(49,28,38,.06) !important;
  }
  body .site-header .main-navigation .mobile-menu-links a {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 46px !important;
    margin: 0 !important;
    padding: 9px 10px !important;
    text-align: center !important;
  }
  body .menu-backdrop {
    position: fixed !important;
    inset: 0 !important;
    z-index: 10010 !important;
  }
}


/* 1.0.1 – mobiles Canvas unter der WordPress-Adminleiste */
@media (max-width: 980px) {
  /* Standard: Gäste nutzen den gesamten sichtbaren Viewport. */
  body:not(.admin-bar) .site-header .main-navigation {
    top: 0 !important;
    bottom: 0 !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    max-height: 100dvh !important;
  }

  /* Eingeloggte Nutzer: Die Adminleiste darf den Menü-Kopf nicht verdecken. */
  body.admin-bar .site-header .main-navigation {
    top: var(--wp-admin--admin-bar--height, 32px) !important;
    bottom: 0 !important;
    height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px)) !important;
    min-height: 0 !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 32px)) !important;
  }

  body.admin-bar .menu-backdrop {
    top: var(--wp-admin--admin-bar--height, 32px) !important;
  }

  /* Vererbte Offsets am Kopf vollständig neutralisieren. */
  body .site-header .main-navigation .mobile-menu-head {
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    translate: none !important;
    flex-shrink: 0 !important;
  }
}

@media (max-width: 782px) {
  body.admin-bar .site-header .main-navigation {
    top: var(--wp-admin--admin-bar--height, 46px) !important;
    height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px)) !important;
    max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px)) !important;
  }
  body.admin-bar .menu-backdrop {
    top: var(--wp-admin--admin-bar--height, 46px) !important;
  }
}

/* 1.0.2 – eine einzige durchgehende Header-Hintergrundfläche */
.site-header {
  position: sticky;
  isolation: isolate;
  background-color: var(--st-header-bg-color, #b7cfa1) !important;
  background-image: var(--st-header-bg-image, none) !important;
  background-size: var(--st-header-bg-size, cover) !important;
  background-position: var(--st-header-bg-position, center center) !important;
  background-repeat: var(--st-header-bg-repeat, no-repeat) !important;
  background-origin: border-box !important;
  background-clip: border-box !important;
}
.site-header > .header-main,
.site-header .header-main,
.site-header .site-branding,
.site-header .custom-logo-link,
.site-header .header-actions,
.site-header .st-nav-row,
.site-header .st-nav-row > .container {
  background-color: transparent !important;
  background-image: none !important;
  box-shadow: none;
}

@media (max-width: 980px) {
  /* Der sichtbare Header ist ausschließlich header-main. Die Navigationszeile
     bleibt als technischer Träger des fixed Drawers im DOM, beansprucht aber
     keinerlei Platz und kann daher keinen weißen Streifen erzeugen. */
  body .site-header {
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    background-color: var(--st-header-bg-color, #b7cfa1) !important;
    background-image: var(--st-header-bg-image, none) !important;
    background-size: cover !important;
    background-position: center center !important;
    background-repeat: no-repeat !important;
    overflow: visible !important;
  }
  body .site-header > .header-main,
  body .site-header .header-main {
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    border: 0 !important;
    background: transparent !important;
    background-color: transparent !important;
    background-image: none !important;
  }
  body .site-header .site-branding,
  body .site-header .custom-logo-link,
  body .site-header .header-actions {
    background: transparent !important;
  }
  body .site-header .st-nav-row,
  body .site-header .st-nav-row > .container {
    position: static !important;
    display: block !important;
    width: 0 !important;
    height: 0 !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    overflow: visible !important;
    background: transparent !important;
    line-height: 0 !important;
  }
  body .site-header::before,
  body .site-header::after,
  body .site-header .header-main::before,
  body .site-header .header-main::after,
  body .site-header .st-nav-row::before,
  body .site-header .st-nav-row::after {
    display: none !important;
    content: none !important;
  }
  /* Fixed-Elemente behalten trotz kollabierter Navigationszeile ihre
     viewportbezogene Position und volle Größe. */
  body .site-header .main-navigation {
    line-height: normal !important;
  }
  body .site-header .menu-backdrop {
    width: auto !important;
    height: auto !important;
    line-height: normal !important;
  }
}



/* 1.1.4 – Desktop-Scroll-Ghosting vermeiden und Social-Proof-Innenflächen zuverlässig steuern. */
.site-header {
  -webkit-backdrop-filter: none !important;
  backdrop-filter: none !important;
}
@media (min-width: 981px) {
  .hero-visual-wrap .hero-visual.has-image {
    animation: none !important;
    filter: none !important;
  }
  .st-home-module,
  .st-home-module .section-head,
  .st-home-module h1,
  .st-home-module h2,
  .st-home-module h3,
  .st-home-module p {
    backface-visibility: visible;
    -webkit-backface-visibility: visible;
  }
}


.st-social-proof-panel .st-shortcode-output.st-panel-transparent {
  background: transparent !important;
  border-color: transparent !important;
  box-shadow: none !important;
}
.st-social-proof-panel .st-shortcode-output.st-panel-color {
  background-image: none !important;
}

/* 1.1.5 – Highlight-Button auf Desktop rechts neben dem Text */
/* 1.15.3 – Kachel-Buttons lassen sich ausschließlich am Desktop horizontal verschieben. */
@media (min-width:981px){
  .st-home-button-offset-desktop{
    position:relative;
    left:var(--st-home-button-offset-x,0px);
  }
}
@media (min-width: 769px){
  .st-highlight-card{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:center;
    column-gap:clamp(32px,6vw,90px);
  }
  .st-highlight-copy{min-width:0;}
  .st-highlight-copy p{margin-bottom:0;}
  .st-highlight-action{display:flex;align-items:center;justify-content:flex-end;}
  .st-highlight-action .button{white-space:nowrap;margin:0;}
  .st-highlight-card[style*="text-align:center"] .st-highlight-action,
  .st-highlight-card[style*="text-align:right"] .st-highlight-action{justify-content:flex-end;}
}
@media (max-width: 768px){
  .st-highlight-card{display:block;}
  .st-highlight-action{margin-top:22px;}
  .st-highlight-action .button{display:flex;width:100%;justify-content:center;}
}

/* 1.1.6 – universelle Außen-/Innenkarten für Bewertungen und Kundenfotos */
.st-social-proof-panel{
  overflow:visible;
  background-clip:padding-box;
}
.st-social-proof-panel .st-shortcode-output.st-panel-transparent,
.st-social-proof-panel .st-shortcode-output.st-panel-transparent > *,
.st-social-proof-panel .st-shortcode-output.st-panel-transparent > .swiper,
.st-social-proof-panel .st-shortcode-output.st-panel-transparent > .slick-slider{
  background-color:transparent !important;
  background-image:none !important;
}
.st-social-proof-panel .st-shortcode-output.st-panel-color{
  background-clip:padding-box !important;
}


/* 1.2.0 – globaler Feinschliff */
:where(.button,button,input[type="submit"],.wp-element-button,.woocommerce a.button,.woocommerce button.button){border-radius:var(--st-button-radius,999px)}
:where(.entry-card,.hero-card,.st-story-card,.st-benefit,.st-category-card,.st-social-proof-panel,.st-contact-card){border-radius:var(--st-global-card-radius,22px)}
.st-micro-interactions :where(a.button,button:not(.menu-toggle):not(.mobile-submenu-toggle),.st-category-card,.woocommerce ul.products li.product){transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}
@media (hover:hover) and (pointer:fine){
  .st-micro-interactions :where(a.button,button:not(.menu-toggle):not(.mobile-submenu-toggle)):hover{transform:translateY(-1px)}
  .st-micro-interactions :where(.st-category-card,.woocommerce ul.products li.product):hover{transform:translateY(-3px);box-shadow:var(--st-global-shadow,0 8px 28px rgba(92,53,70,.07))}
}
.st-micro-interactions :where(a,button,input,select,textarea):focus-visible{outline:3px solid color-mix(in srgb,var(--st-primary) 45%,transparent);outline-offset:3px}
@media (prefers-reduced-motion:reduce){.st-micro-interactions *{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}

/* Produktsuche Desktop + Mobil */
.st-product-search{position:relative;width:100%;min-width:0;z-index:20}
.st-product-search-form{position:relative;display:flex;width:100%;margin:0}
.st-product-search-input{display:block;width:100%;height:48px;padding:0 56px 0 20px!important;border:1px solid var(--st-border)!important;border-radius:999px!important;background:#f7fbf5!important;color:var(--st-text)!important;font:inherit!important;line-height:1!important;outline:none;box-shadow:none!important;-webkit-appearance:none;appearance:none}
.st-product-search-input:focus{border-color:var(--st-primary)!important;box-shadow:0 0 0 4px rgba(217,112,150,.14)!important}
.st-product-search-input::-webkit-search-cancel-button{margin-right:4px}
.st-product-search-submit{position:absolute!important;right:5px!important;top:5px!important;display:grid!important;place-items:center!important;width:38px!important;height:38px!important;min-height:0!important;padding:0!important;margin:0!important;border:0!important;border-radius:50%!important;background:var(--st-primary)!important;color:#fff!important;transform:none!important}
.st-product-search-submit:hover{background:var(--st-primary-dark)!important;transform:none!important}
.st-product-search-submit svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round}
.st-product-search-results{position:absolute;top:calc(100% + 9px);left:0;right:0;max-height:min(480px,70vh);overflow:auto;background:#fff;border:1px solid var(--st-border);border-radius:18px;box-shadow:0 20px 55px rgba(56,44,53,.18);padding:8px;z-index:1100}
.st-product-search-results[hidden]{display:none!important}
.st-search-result{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:center;gap:12px;padding:9px;border-radius:12px;color:var(--st-text)!important;text-decoration:none!important}
.st-search-result:hover,.st-search-result.is-active{background:var(--st-secondary);color:var(--st-text)!important}
.st-search-result img{width:58px;height:58px;object-fit:cover;border-radius:10px;background:#e8f2e1}
.st-search-result-copy{min-width:0}
.st-search-result-title{display:block;font-weight:750;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.st-search-result-price{display:block;margin-top:4px;color:var(--st-primary-dark);font-size:.88rem;font-weight:750}
.st-search-message,.st-search-view-all{display:block;padding:13px 14px;text-align:center;color:var(--st-muted);font-size:.9rem}
.st-search-view-all{border-top:1px solid var(--st-border);margin-top:5px;color:var(--st-primary-dark)!important;font-weight:800}
.st-search-loading:after{content:"";position:absolute;right:17px;top:17px;width:14px;height:14px;border:2px solid rgba(255,255,255,.45);border-top-color:#fff;border-radius:50%;animation:st-search-spin .7s linear infinite}
.st-search-loading svg{opacity:0}
@keyframes st-search-spin{to{transform:rotate(360deg)}}
.st-mobile-search-wrap{display:none}
@media(max-width:980px){
  .st-mobile-search-wrap{display:block;flex:0 0 auto;padding:0 0 14px}
  .st-product-search-mobile .st-product-search-results{position:fixed;left:14px;right:14px;top:auto;max-height:55dvh;z-index:1200}
  .st-product-search-mobile .st-product-search-input{height:46px;background:#fff!important}
  .st-product-search-mobile .st-product-search-submit{width:36px!important;height:36px!important}
  .main-navigation.is-open .st-mobile-search-wrap{display:block}
}


/* 1.3.0 – Smart Header: mobile Suche, Kontopanel und Mini-Warenkorb */
.st-header-popover{position:relative}
.st-header-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(360px,calc(100vw - 24px));max-height:min(620px,75vh);overflow:auto;padding:16px;background:#fff;border:1px solid var(--st-border);border-radius:18px;box-shadow:0 22px 60px rgba(49,28,38,.22);z-index:1500;color:var(--st-text);line-height:1.45}
.st-header-panel[hidden]{display:none!important}
.st-header-popover.is-open>.st-header-panel{display:block!important}
.st-panel-heading{font-size:1rem;font-weight:850;margin:0 0 12px;color:var(--st-text)}
.st-account-menu{display:grid;gap:5px}
.st-account-menu-link{display:block;padding:11px 12px;border-radius:11px;text-decoration:none!important;color:var(--st-text)!important;font-weight:700}
.st-account-menu-link:hover,.st-account-menu-link:focus-visible{background:var(--st-secondary);color:var(--st-text)!important}
.st-account-logout{margin-top:6px;border-top:1px solid var(--st-border);border-radius:0;padding-top:14px;color:#a33!important}
.st-mobile-search-toggle{display:none}
.st-mobile-search-panel{display:none}


@media (min-width:981px){
  .st-header-popover::after{content:"";position:absolute;top:100%;right:-8px;left:-8px;height:14px;z-index:1499;pointer-events:auto;background:transparent}
  .st-header-popover.is-open>.st-panel-toggle,.st-header-popover.is-hover-open>.st-panel-toggle{background:var(--st-secondary)}
  .st-header-popover.is-open>.st-header-panel{display:block!important}
}

@media (max-width:980px){
  .header-main{grid-template-columns:auto minmax(0,1fr) auto!important}
  .site-branding{min-width:0;overflow:hidden}
  .header-actions{gap:5px!important}
  .st-mobile-search-toggle{display:inline-flex!important}
  .account-link{display:inline-flex!important}
  .header-action span:not(.st-cart-count):not(.screen-reader-text){display:none!important}
  .header-action,.menu-toggle{width:42px!important;height:42px!important;min-width:42px!important;padding:0!important}
  .st-header-popover{position:static}
  .st-header-panel{position:fixed;top:var(--st-mobile-header-bottom,80px);left:10px;right:10px;width:auto;max-height:calc(100dvh - var(--st-mobile-header-bottom,80px) - 12px);border-radius:0 0 18px 18px;z-index:1600}
  .admin-bar .st-header-panel{max-height:calc(100dvh - var(--st-mobile-header-bottom,112px) - 12px)}
  .st-mobile-search-panel{position:absolute;left:0;right:0;top:100%;z-index:1590;padding:10px 0 14px;background:var(--st-header-bg-color,#b7cfa1);background-image:var(--st-header-bg-image,none);background-size:cover;background-position:center;border-top:1px solid rgba(255,255,255,.25);box-shadow:0 16px 32px rgba(49,28,38,.16)}
  .st-mobile-search-panel.is-open{display:block!important}
  .st-mobile-search-panel-inner{display:grid;grid-template-columns:minmax(0,1fr) 42px;align-items:start;gap:8px}
  .st-mobile-search-close{width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#fff;color:var(--st-text);font-size:1.55rem;line-height:1}
  .st-product-search-mobile .st-product-search-results{position:absolute!important;left:0!important;right:0!important;top:calc(100% + 8px)!important;max-height:min(55dvh,460px)!important;z-index:1700!important}
  .st-mobile-search-wrap{display:none!important}
  body.st-header-panel-open{overflow:hidden}
}
@media(max-width:390px){
  .header-actions{gap:3px!important}
  .header-action,.menu-toggle{width:39px!important;height:39px!important;min-width:39px!important}
}


/* 1.3.1 – mobiler Header für Rechts-/Linkshänder */
@media (max-width:980px){
  /* Standard: Logo links, danach Suche, Warenkorb und Menü am rechten Daumen. */
  body:not(.st-mobile-left-handed) .site-header .header-main{
    grid-template-columns:minmax(0,1fr) max-content!important;
  }
  body:not(.st-mobile-left-handed) .site-header .site-branding{
    grid-column:1!important;
    grid-row:1!important;
    justify-content:flex-start!important;
  }
  body:not(.st-mobile-left-handed) .site-header .header-actions{
    grid-column:2!important;
    grid-row:1!important;
    justify-content:flex-end!important;
  }

  /* Mobil wird das Konto ausschließlich im Canvas-Menü angezeigt. */
  .site-header .st-account-popover{display:none!important}

  /* Gewünschte Reihenfolge rechts: Suche – Warenkorb – Menü. */
  .site-header .st-mobile-search-toggle{order:1!important}
  .site-header .st-cart-popover{order:2!important}
  .site-header .menu-toggle{order:3!important}

  /* Linkshänder: komplette Bedienreihenfolge spiegeln. */
  body.st-mobile-left-handed .site-header .header-main{
    grid-template-columns:max-content minmax(0,1fr)!important;
  }
  body.st-mobile-left-handed .site-header .header-actions{
    grid-column:1!important;
    grid-row:1!important;
    justify-content:flex-start!important;
  }
  body.st-mobile-left-handed .site-header .site-branding{
    grid-column:2!important;
    grid-row:1!important;
    justify-content:flex-end!important;
  }
  body.st-mobile-left-handed .site-header .menu-toggle{order:1!important}
  body.st-mobile-left-handed .site-header .st-cart-popover{order:2!important}
  body.st-mobile-left-handed .site-header .st-mobile-search-toggle{order:3!important}

  .site-header .header-actions{display:flex!important;flex-wrap:nowrap!important}
  .site-header .site-branding .custom-logo{
    max-width:min(100%,calc(100vw - 160px))!important;
  }
}


/* 1.3.2 – nutzersteuerbare Rechts-/Linkshänder-Bedienung */
.st-mobile-handedness{margin:12px 0 0;padding:12px;border:1px solid var(--st-border);border-radius:14px;background:rgba(255,255,255,.72)}
.st-mobile-handedness legend{padding:0 5px;font-weight:800;color:var(--st-text)}
.st-mobile-handedness label{display:flex;align-items:center;gap:9px;padding:8px 4px;font-weight:700;cursor:pointer}
.st-mobile-handedness input{width:18px;height:18px;margin:0;accent-color:var(--st-accent,#2e7d32)}
.st-handedness-status{display:block;min-height:1em;margin-top:4px;font-size:.78rem;color:var(--st-muted)}
.st-mobile-account-links{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.st-account-handedness{display:grid;gap:12px;max-width:560px;padding:20px;border:1px solid var(--st-border);border-radius:18px;background:var(--st-secondary)}
.st-account-handedness label{display:flex;align-items:center;gap:10px;font-weight:750}
.st-account-handedness input{width:20px;height:20px;accent-color:var(--st-accent,#2e7d32)}

@media (max-width:980px){
  /* Rechtshänder: Drawer kommt von rechts; Linkshänder: von links. */
  body.st-mobile-right-handed .site-header .main-navigation,
  body:not(.st-mobile-left-handed) .site-header .main-navigation{
    left:auto!important;right:0!important;
    transform:translateX(105%)!important;
    box-shadow:-20px 0 60px rgba(49,28,38,.2)!important;
  }
  body.st-mobile-left-handed .site-header .main-navigation{
    left:0!important;right:auto!important;
    transform:translateX(-105%)!important;
    box-shadow:20px 0 60px rgba(49,28,38,.2)!important;
  }
  body .site-header .main-navigation.is-open{transform:translateX(0)!important}

  /* Nach-oben-Button folgt der gewählten Bedienseite. */
  body.st-mobile-left-handed .st-scroll-top{
    left:max(var(--st-scroll-top-right,20px),env(safe-area-inset-left,0px))!important;
    right:auto!important;
  }
  body.st-mobile-right-handed .st-scroll-top,
  body:not(.st-mobile-left-handed) .st-scroll-top{
    right:max(var(--st-scroll-top-right,20px),env(safe-area-inset-right,0px))!important;
    left:auto!important;
  }

  /* Such- und Warenkorbpanel orientieren sich optisch an der Bedienseite. */
  body.st-mobile-left-handed .st-header-panel:not(.st-mini-cart-panel){left:10px!important;right:36px!important}
  body.st-mobile-right-handed .st-header-panel:not(.st-mini-cart-panel),
  body:not(.st-mobile-left-handed) .st-header-panel:not(.st-mini-cart-panel){left:36px!important;right:10px!important}
}


/* 1.3.3 – kompakter Bedienseiten-Tausch und linkshändige Menüsteuerung */
.st-mobile-handedness-switch-wrap{display:flex;align-items:center;justify-content:center;margin-top:10px}
.st-mobile-handedness-switch{width:48px;height:48px;padding:0;border:0;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:var(--st-secondary);color:var(--st-primary-dark);font-size:1.65rem;line-height:1;box-shadow:none}
.st-mobile-handedness-switch:hover,.st-mobile-handedness-switch:focus-visible{background:var(--st-primary);color:#fff;transform:none}
.st-mobile-handedness-switch[aria-pressed="true"]{background:var(--st-primary);color:#fff}

@media (max-width:980px){
  body.st-mobile-left-handed .mobile-menu-head{flex-direction:row-reverse}
  body.st-mobile-left-handed .mobile-menu-head strong{text-align:right}
  body.st-mobile-left-handed .main-navigation .submenu-toggle{left:0!important;right:auto!important}
  body.st-mobile-left-handed .main-navigation .menu-item-has-children>a{padding-left:54px!important;padding-right:0!important}
}


/* 1.3.4 – Linkshänder-Menü rechtsbündig und kompakter Tauschschalter */
@media (max-width:980px){
  /* Footer: Konto-Aktionen bekommen die volle verfügbare Breite. */
  body .site-header .main-navigation .mobile-menu-links{
    grid-template-columns:minmax(0,1fr) 40px!important;
    align-items:center!important;
    gap:12px!important;
  }
  body .site-header .main-navigation .st-mobile-account-links{
    width:100%!important;
    min-width:0!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }
  body .site-header .main-navigation .st-mobile-account-links a{
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    padding:10px 14px!important;
  }
  body .site-header .main-navigation .st-mobile-handedness-switch-wrap{
    width:40px!important;
    min-width:40px!important;
    margin:0!important;
  }
  body .site-header .main-navigation .st-mobile-handedness-switch{
    width:38px!important;
    height:38px!important;
    min-width:38px!important;
    min-height:38px!important;
    font-size:1.18rem!important;
  }

  /* Linkshänder: Texte rechts, sämtliche Bedienknöpfe links. */
  body.st-mobile-left-handed .main-navigation .primary-menu>li>a{
    width:100%!important;
    justify-content:flex-end!important;
    text-align:right!important;
    padding-right:0!important;
  }
  body.st-mobile-left-handed .main-navigation .primary-menu>li.menu-item-has-children>a{
    padding-left:58px!important;
    padding-right:0!important;
  }
  body.st-mobile-left-handed .main-navigation .primary-menu .sub-menu{
    padding-left:0!important;
    padding-right:14px!important;
  }
  body.st-mobile-left-handed .main-navigation .primary-menu .sub-menu a{
    display:flex!important;
    justify-content:flex-end!important;
    text-align:right!important;
  }
}


/* Produktsuchergebnisse */
.st-search-page{padding-block:42px 70px}
.st-search-page-head{margin-bottom:28px}
.st-search-page-head h1{margin:0 0 8px}
.st-search-product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}
.st-search-product-card{display:flex;flex-direction:column;background:#fff;border:1px solid var(--st-border);border-radius:22px;overflow:hidden;box-shadow:var(--st-shadow);min-width:0}
.st-search-product-card>a{color:inherit;text-decoration:none}
.st-search-product-card img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.st-search-product-copy{padding:18px;display:flex;flex-direction:column;gap:8px;flex:1}
.st-search-product-copy h2{font-size:1.05rem;margin:0;line-height:1.3}
.st-search-product-price{font-weight:800;color:var(--st-primary)}

/* 1.18.92 – Paginierung der Produktsuche horizontal und mobil bedienbar. */
.st-search-page > ul.page-numbers,
.st-search-page .navigation.pagination .nav-links {
  display:flex!important;
  flex-flow:row wrap!important;
  align-items:center;
  justify-content:center;
  gap:8px;
  width:100%;
  margin:clamp(28px,5vw,48px) auto 0;
  padding:0!important;
  list-style:none!important;
}
.st-search-page > ul.page-numbers > li {
  display:block!important;
  flex:0 0 auto;
  margin:0!important;
  padding:0!important;
  list-style:none!important;
}
.st-search-page > ul.page-numbers > li::marker {content:""}
.st-search-page > ul.page-numbers > li > .page-numbers,
.st-search-page .navigation.pagination .nav-links > .page-numbers {
  display:inline-grid!important;
  place-items:center;
  min-width:42px;
  min-height:42px;
  padding:7px 10px;
  border:0;
  border-radius:999px;
  background:var(--st-secondary);
  color:var(--st-text);
  font-weight:700;
  line-height:1;
  text-decoration:none;
}
.st-search-page > ul.page-numbers > li > :is(a:hover,a:focus-visible,span.current),
.st-search-page .navigation.pagination .nav-links > :is(a:hover,a:focus-visible,span.current) {
  background:var(--st-primary);
  color:var(--st-button-text-color,#fff);
}
@media(max-width:980px){.st-search-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.st-search-page{padding-block:24px 48px}.st-search-product-grid{gap:14px}.st-search-product-copy{padding:14px}.st-search-product-copy h2{font-size:.96rem}.st-search-page > ul.page-numbers,.st-search-page .navigation.pagination .nav-links{gap:6px}.st-search-page > ul.page-numbers > li > .page-numbers,.st-search-page .navigation.pagination .nav-links > .page-numbers{min-width:38px;min-height:38px;padding:6px 9px}}


/* 1.3.8 – Konfigurator-Abschlussleiste kollidiert nicht mehr mit dem Footer */
body.st-configurator-page .site-footer{
  margin-top:0!important;
  clear:both!important;
  position:relative!important;
  z-index:2!important;
}
body.st-configurator-page .st-configurator-page-main{
  position:relative;
  z-index:auto;
}
@media(max-width:980px){
  body.st-configurator-page .st-configurator-page-main{
    padding-bottom:var(--st-configurator-fixed-clearance,120px)!important;
  }
}

/* 1.3.9 – Konfigurator auf Desktop an die globale Theme-Inhaltsbreite anpassen.
   Mobil bleibt die bereits optimierte nahezu volle Breite unverändert. */
@media (min-width:981px){
  body.st-configurator-page .st-configurator-page-main{
    width:min(calc(100% - 40px),var(--st-max))!important;
    max-width:var(--st-max)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.st-configurator-page .st-configurator-page-content,
  body.st-configurator-page .st-configurator-page-content > .entry-content{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* 1.4.0 – Konfigurator-Dialoge auf Mobilgeräten nicht durch Theme-Container blockieren. */
@media (max-width:980px){
  body.st-configurator-page .st-configurator-page-main,
  body.st-configurator-page .st-configurator-page-content,
  body.st-configurator-page .st-configurator-page-content > .entry-content{
    overflow:visible!important;
  }
  body.st-configurator-page [role="dialog"],
  body.st-configurator-page dialog[open]{
    max-height:calc(100dvh - 16px)!important;
    overflow-y:auto!important;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    pointer-events:auto!important;
  }
}


/* 1.4.1 – Konfigurator-Bottom-Sheets bleiben oberhalb ihres eigenen Backdrops.
   Wichtig: Der Plugin-Backdrop wird als body::after erzeugt. Deshalb dürfen die
   umgebenden Theme-Container keine eigene Stacking-Context-Ebene bilden. */
body.st-configurator-page .st-configurator-page-main,
body.st-configurator-page .st-configurator-page-content,
body.st-configurator-page .st-configurator-page-content > .entry-content,
body.st-configurator-page .skt-configurator-wrapper,
body.st-configurator-page #skt-configurator-app {
  z-index:auto!important;
  isolation:auto!important;
  transform:none!important;
  filter:none!important;
  perspective:none!important;
}

body.st-configurator-page.skt-motiv-sheet-open .site-header,
body.st-configurator-page.skt-motiv-sheet-open .site-footer,
body.st-configurator-page.skt-motiv-sheet-open .st-scroll-top {
  pointer-events:none!important;
}

body.st-configurator-page :is(
  .skt-rich-select--motiv-main,
  .skt-rich-select--motiv-variant,
  .skt-rich-select--bead-color
).is-open {
  position:relative!important;
  z-index:99999!important;
  isolation:auto!important;
}

body.st-configurator-page :is(
  .skt-rich-select--motiv-main,
  .skt-rich-select--motiv-variant,
  .skt-rich-select--bead-color
).is-open > .skt-rich-select-menu,
body.st-configurator-page :is(
  .skt-rich-select--motiv-main,
  .skt-rich-select--motiv-variant,
  .skt-rich-select--bead-color
) .skt-rich-select-menu {
  z-index:99999!important;
  pointer-events:auto!important;
}

body.st-configurator-page .skt-rich-select-dialog-options,
body.st-configurator-page .skt-rich-select-bead-options,
body.st-configurator-page .skt-rich-select-motiv-options {
  min-height:0!important;
  overflow-y:auto!important;
  touch-action:pan-y!important;
  pointer-events:auto!important;
  -webkit-overflow-scrolling:touch!important;
}

/* 1.4.3 – steuerbarer Übergang der letzten Startseiten-Kachel zum Footer */
body.home .st-home-module:last-of-type,
body.page-template-template-homepage .st-home-module:last-of-type {
    position: relative;
    z-index: 4;
}
body.home .site-footer,
body.page-template-template-homepage .site-footer {
    margin-top: 0 !important;
    padding-top: var(--st-footer-padding-top, 96px) !important;
    position: relative;
    z-index: 1;
}
@media (max-width: 620px) {
    body.home .site-footer,
    body.page-template-template-homepage .site-footer {
        padding-top: max(56px, var(--st-footer-padding-top, 96px)) !important;
    }
}

/* 1.5.4 – mobile Header-Bedienelemente vertikal justierbar */
@media (max-width:980px){
  .site-header .header-actions{
    transform:translateY(var(--st-mobile-header-actions-offset-y,12px))!important;
  }
}


/* 1.6.0 – Footer-Designwechsler, nur für Administratoren und Shop-Manager */

/* 1.6.1 – Einheitliche WooCommerce-Block-Produktkarten in jedem Design */
.wc-block-product {
    border: var(--st-product-card-border-width, 1px) solid var(--st-product-card-border-color, #e8e2e5) !important;
    border-radius: var(--st-product-card-radius, 18px) !important;
    padding: var(--st-product-card-padding, 12px) !important;
    box-sizing: border-box !important;
    width: 100% !important;
    min-height: 380px !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    overflow: hidden !important;
    background: var(--st-product-card-background, #fff) !important;
    box-shadow: var(--st-product-card-shadow, 0 6px 18px rgba(0,0,0,.05)) !important;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.wc-block-product:hover {
    transform: translateY(-5px) !important;
    border-color: color-mix(in srgb, var(--st-product-card-border-color, #e8e2e5) 45%, var(--st-primary, #2e7d32)) !important;
    box-shadow: 0 10px 25px color-mix(in srgb, var(--st-primary, #2e7d32) 14%, transparent) !important;
}
.wc-block-product .wc-block-components-product-image,
.wc-block-product .wc-block-components-product-image a,
.wc-block-product .wc-block-components-product-image img,
.wc-block-product [data-testid="product-image"],
.wc-block-product .wp-block-woocommerce-product-image {
    border-radius: max(0px, calc(var(--st-product-card-radius, 18px) - 4px)) !important;
    overflow: hidden !important;
}
.wc-block-product .wc-block-components-product-image,
.wc-block-product .wp-block-woocommerce-product-image {
    width: 100% !important;
    aspect-ratio: 1 / 1 !important;
    margin: 0 0 5px !important;
}
.wc-block-product .wc-block-components-product-image img,
.wc-block-product .wp-block-woocommerce-product-image img {
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: cover !important;
    display: block !important;
}
.wc-block-product .wp-block-post-title,
.wc-block-product .wp-block-post-title a {
    text-decoration: none !important;
    font-family: var(--st-product-title-font, var(--st-font-body)) !important;
    font-size: var(--st-product-title-size-desktop, 18px) !important;
    font-weight: var(--st-product-title-weight, 700) !important;
    line-height: var(--st-product-title-line-height, 1.25) !important;
    letter-spacing: var(--st-product-title-letter-spacing, 0) !important;
    color: var(--st-product-title-color, var(--st-text-heading)) !important;
    text-align: var(--st-product-title-align, center) !important;
}
.wc-block-product .wp-block-post-title a:hover {
    color: var(--st-product-title-hover-color, var(--st-primary, #2e7d32)) !important;
}
.wc-block-product .wc-block-woocommerce-product-price {
    margin-top: auto !important;
    padding-top: 8px !important;
}
.wc-block-product .wc-block-components-product-price__value {
    color: var(--st-price-color, var(--st-primary, #2e7d32)) !important;
    font-weight: 700 !important;
    font-size: 18px !important;
}
.wc-block-product :is(.wp-block-woocommerce-product-sale-badge,.wc-block-components-product-sale-badge) span {
    background: var(--st-primary, #2e7d32) !important;
    color: #fff !important;
    border-radius: 999px !important;
    font-size: 12px !important;
    padding: 3px 7px !important;
    font-weight: 700 !important;
}
@media (max-width: 767px) {
    .wc-block-product {
        min-height: auto !important;
        padding: min(var(--st-product-card-padding, 12px), 10px) !important;
    }
    .wc-block-product .wp-block-post-title,
    .wc-block-product .wp-block-post-title a {
        font-size: var(--st-product-title-size-mobile, 15px) !important;
    }
    .wc-block-product .wc-block-components-product-price__value {
        font-size: 16px !important;
    }
}

/* 1.18.18 – Konfigurationsdaten bleiben auch im Desktop-Mini-Cart innerhalb
   des Panels. Das Bild liegt oben, darunter folgen Name, Daten und Preis. */
@media (min-width: 981px) {
    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item {
        overflow: hidden !important;
    }

    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item
    :is(.st-mini-cart-product-details, .st-mini-cart-product-meta) {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }

    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item
    .st-mini-cart-product-meta dl.variation,
    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"])
    > dl.variation {
        display: grid !important;
        grid-template-columns: minmax(0, 42%) minmax(0, 58%) !important;
        align-items: start !important;
        gap: 5px 8px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 10px 0 0 !important;
        padding: 0 !important;
    }

    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item
    .st-mini-cart-product-meta dl.variation :is(dt, dd, dd p),
    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"])
    > dl.variation :is(dt, dd, dd p) {
        display: block !important;
        float: none !important;
        clear: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        line-height: 1.4 !important;
    }

    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item
    .st-mini-cart-product-meta dl.variation dd,
    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item
    .st-mini-cart-product-meta dl.variation dd p {
        text-align: right !important;
    }

    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"])
    > dl.variation :is(dd, dd p) {
        text-align: right !important;
    }

    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item
    .st-mini-cart-product-meta dl.variation dd::after {
        display: none !important;
        content: none !important;
    }

    html body #st-mini-cart-panel
    .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"])
    > dl.variation dd::after {
        display: none !important;
        content: none !important;
    }
}

/* 1.16.2 – Breite Warenkorb-Vorschau für Schnullerketten aus dem Konfigurator. */
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-thumbnail img:not(.skt-cart-preview-image):not([src*="/schnullerketten-konfigurator/schnullerkette_" i]) {
    display: none !important;
}

.woocommerce-cart img.skt-cart-preview-image {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
    float: none !important;
}

.woocommerce-cart .shop_table tr.skt-configurator-item td.product-thumbnail .skt-cart-preview-image,
.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-thumbnail .skt-cart-preview-image,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-thumbnail img[src*="/schnullerketten-konfigurator/schnullerkette_" i],
.woocommerce-cart .shop_table tr.cart_item:has(img[src*="/schnullerketten-konfigurator/schnullerkette_" i]) td.product-thumbnail img[src*="/schnullerketten-konfigurator/schnullerkette_" i] {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

/* Konfigurationsdaten kompakt als „Bezeichnung: Wert“ ausgeben. */
.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name .wc-item-meta,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name .wc-item-meta {
    display: block !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    list-style: none !important;
}

.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name .wc-item-meta li,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name .wc-item-meta li {
    display: block !important;
    margin: 3px 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    white-space: normal !important;
}

.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name .wc-item-meta li .wc-item-meta-label,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name .wc-item-meta li .wc-item-meta-label {
    display: inline !important;
    float: none !important;
    width: auto !important;
    margin: 0 .35em 0 0 !important;
    padding: 0 !important;
}

.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name .wc-item-meta li p,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name .wc-item-meta li p {
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Der Konfigurator liefert seine Werte als dl.variation mit dt/dd-Paaren. */
.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name dl.variation,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name dl.variation {
    display: block !important;
    margin: 12px 0 0 !important;
    padding: 0 !important;
    overflow: visible !important;
}

.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name dl.variation dt,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name dl.variation dt {
    display: inline !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 .35em 0 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    white-space: normal !important;
}

.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name dl.variation dd,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name dl.variation dd {
    display: inline !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.45 !important;
    white-space: normal !important;
}

.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name dl.variation dd p,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name dl.variation dd p {
    display: inline !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* Nach jedem Wert beginnt das nächste dt/dd-Paar in einer neuen Zeile. */
.woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name dl.variation dd::after,
.woocommerce-cart .shop_table tr.skt-configurator-item td.product-name dl.variation dd::after {
    content: "";
    display: block !important;
    height: 3px;
}

@media screen and (min-width: 769px) {
    .woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-thumbnail,
    .woocommerce-cart .shop_table tr.skt-configurator-item td.product-thumbnail {
        width: 380px !important;
        min-width: 380px !important;
        max-width: 380px !important;
        padding-left: 20px !important;
        padding-right: 20px !important;
        vertical-align: middle !important;
        overflow: visible !important;
    }

    .woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-thumbnail a,
    .woocommerce-cart .shop_table tr.skt-configurator-item td.product-thumbnail a {
        display: block !important;
        width: 340px !important;
        min-width: 340px !important;
        max-width: 340px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    .woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) img.skt-cart-preview-image,
    .woocommerce-cart .shop_table tr.skt-configurator-item img.skt-cart-preview-image {
        width: 340px !important;
        min-width: 0 !important;
        max-width: 340px !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    .woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name,
    .woocommerce-cart .shop_table tr.skt-configurator-item td.product-name {
        display: table-cell !important;
        width: auto !important;
        max-width: none !important;
        text-align: left !important;
        vertical-align: middle !important;
        white-space: normal !important;
        overflow: visible !important;
    }

    .woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name .wc-item-meta,
    .woocommerce-cart .shop_table tr.skt-configurator-item td.product-name .wc-item-meta {
        display: block !important;
        overflow: visible !important;
    }
}

@media screen and (max-width: 768px) {
    .woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-thumbnail,
    .woocommerce-cart .shop_table tr.skt-configurator-item td.product-thumbnail {
        width: 100% !important;
        max-width: none !important;
        padding-left: 10px !important;
        padding-right: 10px !important;
        text-align: center !important;
        overflow: visible !important;
    }

    .woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-thumbnail a,
    .woocommerce-cart .shop_table tr.skt-configurator-item td.product-thumbnail a,
    .woocommerce-cart .shop_table tr.cart_item:has(img.skt-cart-preview-image) img.skt-cart-preview-image,
    .woocommerce-cart .shop_table tr.skt-configurator-item img.skt-cart-preview-image {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: calc(100vw - 40px) !important;
        height: auto !important;
        margin: 0 auto !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .shop_table tr.cart_item:has(img.skt-cart-preview-image),
    body.woocommerce-cart.st-cart-design-enabled .shop_table tr.skt-configurator-item {
        grid-template-columns: minmax(0, 1fr) !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-thumbnail,
    body.woocommerce-cart.st-cart-design-enabled .shop_table tr.skt-configurator-item td.product-thumbnail,
    body.woocommerce-cart.st-cart-design-enabled .shop_table tr.cart_item:has(img.skt-cart-preview-image) td.product-name,
    body.woocommerce-cart.st-cart-design-enabled .shop_table tr.skt-configurator-item td.product-name,
    body.woocommerce-cart.st-cart-design-enabled .shop_table tr.cart_item:has(img.skt-cart-preview-image) :is(td.product-price, td.product-quantity, td.product-subtotal),
    body.woocommerce-cart.st-cart-design-enabled .shop_table tr.skt-configurator-item :is(td.product-price, td.product-quantity, td.product-subtotal) {
        grid-column: 1 / -1 !important;
        grid-row: auto !important;
    }

    /*
     * Browserunabhängiges Mobil-Layout. Die Klasse wird zusätzlich per
     * theme.js gesetzt, damit ältere Mobilbrowser kein :has() benötigen.
     */
    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 0 !important;
        width: 100% !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-thumbnail {
        order: 1;
        padding: 18px 34px 18px 0 !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-thumbnail a,
    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-thumbnail img.skt-cart-preview-image {
        display: block !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name {
        order: 2;
        display: grid !important;
        grid-template-columns: minmax(88px, 30%) minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 8px 10px !important;
        padding: 18px 0 !important;
        border-top: var(--st-cart-border-width, 1px) solid var(--st-cart-border-color, #dce5d8) !important;
        text-align: left !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name::before {
        content: attr(data-title) ":" !important;
        display: block !important;
        float: none !important;
        grid-column: 1 !important;
        grid-row: 1 !important;
        color: var(--st-heading-color, var(--st-text)) !important;
        font-size: 1rem !important;
        font-weight: 800 !important;
        line-height: 1.4 !important;
        text-align: left !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name > a {
        grid-column: 2 !important;
        grid-row: 1 !important;
        text-align: right !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name .delivery-time-info {
        display: block !important;
        width: 100% !important;
        max-width: none !important;
        grid-column: 2 !important;
        grid-row: 2 !important;
        margin: 0 !important;
        text-align: right !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name dl.variation {
        display: grid !important;
        grid-column: 1 / -1 !important;
        grid-row: 3 !important;
        grid-template-columns: minmax(122px, 46%) minmax(0, 1fr) !important;
        align-items: start !important;
        gap: 7px 10px !important;
        width: 100% !important;
        max-width: none !important;
        margin: 10px 0 0 !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name dl.variation dt,
    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name dl.variation dd,
    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name dl.variation dd p {
        display: block !important;
        float: none !important;
        clear: none !important;
        width: auto !important;
        min-width: 0 !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 1.4 !important;
        white-space: normal !important;
        overflow-wrap: break-word !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name dl.variation dd,
    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name dl.variation dd p {
        text-align: right !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-name dl.variation dd::after {
        content: none !important;
        display: none !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-price {
        order: 3;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-quantity {
        order: 4;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-subtotal {
        order: 5;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item :is(td.product-price, td.product-quantity, td.product-subtotal) {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        gap: 16px !important;
        min-height: 64px !important;
        padding: 14px 0 !important;
        border-top: var(--st-cart-border-width, 1px) solid var(--st-cart-border-color, #dce5d8) !important;
        text-align: right !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item :is(td.product-price, td.product-quantity, td.product-subtotal)::before {
        display: block !important;
        float: none !important;
        flex: 0 0 auto !important;
        color: var(--st-heading-color, var(--st-text)) !important;
        font-size: 1rem !important;
        font-weight: 800 !important;
        text-align: left !important;
    }

    body.woocommerce-cart.st-cart-design-enabled .woocommerce-cart-form tr.skt-configurator-item td.product-quantity .quantity {
        margin-left: auto !important;
    }
}

/* Checkout-Bilder ohne frühere Astra-Abhängigkeiten. */
.woocommerce-checkout .product-thumbnail img,
.woocommerce-checkout .sk-snapshot-wrapper img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.woocommerce-checkout img[src*="schnullerkette"] {
    width: 180px !important;
    max-width: 180px !important;
    height: auto !important;
    object-fit: contain !important;
}

.woocommerce-checkout .product-thumbnail img:not([src*="schnullerkette"]) {
    width: 80px !important;
    max-width: 80px !important;
    height: auto !important;
    object-fit: cover !important;
    border-radius: 12px !important;
}

.woocommerce-checkout .shop_table tr:has(td.product-thumbnail img) td.product-name {
    padding-left: 20px !important;
}

/* Emojis in Produktnamen bleiben klein und innerhalb der Textzeile. */
.woocommerce-cart .shop_table td.product-name img.emoji,
.woocommerce-checkout .shop_table td.product-name img.emoji {
    display: inline-block !important;
    width: 18px !important;
    min-width: 18px !important;
    max-width: 18px !important;
    height: 18px !important;
    min-height: 18px !important;
    max-height: 18px !important;
    margin: 0 4px !important;
    padding: 0 !important;
    vertical-align: -2px !important;
    object-fit: contain !important;
    float: none !important;
}


/* =========================================================
 * 1.17.0 – Freundlicher, responsiver WooCommerce-Checkout
 * ======================================================= */
body.woocommerce-checkout.st-checkout-design-enabled .entry-card {
    padding: clamp(20px, 3vw, 38px);
    background: var(--st-checkout-page-background, #fff) !important;
    border: var(--st-checkout-border-width, 1px) solid var(--st-checkout-border-color, #dce5d8);
    border-radius: calc(var(--st-checkout-radius, 20px) + 8px);
}

body.woocommerce-checkout.st-checkout-design-enabled .entry-card > .entry-title {
    margin-bottom: 26px;
}

body.woocommerce-checkout.st-checkout-design-enabled :is(
    .woocommerce-form-login,
    .checkout_coupon,
    .woocommerce-info,
    .woocommerce-message,
    .woocommerce-error
) {
    border-radius: var(--st-checkout-radius, 20px) !important;
}

body.woocommerce-checkout.st-checkout-design-enabled :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
    border-left: 4px solid var(--st-checkout-accent, var(--st-primary)) !important;
    background: color-mix(in srgb, var(--st-checkout-accent, var(--st-primary)) 6%, var(--st-checkout-page-background, #fff)) !important;
}

body.woocommerce-checkout.st-checkout-design-enabled :is(.woocommerce-form-login, .checkout_coupon) {
    padding: 20px !important;
    background: var(--st-checkout-card-background, #f7fbf5) !important;
    border: var(--st-checkout-border-width, 1px) solid var(--st-checkout-border-color, #dce5d8) !important;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout.woocommerce-checkout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(340px, var(--st-checkout-sidebar-width, 440px));
    grid-template-rows: auto minmax(0, 1fr);
    grid-template-areas:
        "customer review-title"
        "customer review";
    align-items: start;
    gap: 16px clamp(28px, 4vw, 56px);
    width: 100%;
    min-width: 0;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout #customer_details {
    grid-area: customer;
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    width: 100%;
    min-width: 0;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout #customer_details::before,
body.woocommerce-checkout.st-checkout-design-enabled form.checkout #customer_details::after {
    display: none !important;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout #customer_details > :is(.col-1, .col-2) {
    float: none !important;
    width: 100% !important;
    min-width: 0;
    margin: 0 !important;
    padding: clamp(20px, 2.4vw, 30px);
    background: var(--st-checkout-card-background, #f7fbf5);
    border: var(--st-checkout-border-width, 1px) solid var(--st-checkout-border-color, #dce5d8);
    border-radius: var(--st-checkout-radius, 20px);
    box-shadow: 0 10px 30px rgba(69, 42, 54, .055);
    box-sizing: border-box;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout #order_review_heading {
    grid-area: review-title;
    margin: 0;
    padding: 0 2px;
    color: var(--st-heading-color, var(--st-text));
    font-size: clamp(1.45rem, 2vw, 2rem);
    line-height: 1.2;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout #order_review {
    grid-area: review;
    position: var(--st-checkout-summary-position, sticky);
    top: 82px;
    min-width: 0;
    padding: clamp(18px, 2.2vw, 28px);
    background: var(--st-checkout-card-background, #f7fbf5);
    border: var(--st-checkout-border-width, 1px) solid var(--st-checkout-border-color, #dce5d8);
    border-radius: var(--st-checkout-radius, 20px);
    box-shadow: 0 12px 34px rgba(69, 42, 54, .07);
    box-sizing: border-box;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout :is(
    .woocommerce-billing-fields > h3,
    .woocommerce-shipping-fields > h3,
    .woocommerce-additional-fields > h3
) {
    margin: 0 0 20px;
    color: var(--st-heading-color, var(--st-text));
    font-size: clamp(1.25rem, 1.8vw, 1.65rem);
    line-height: 1.25;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout .form-row {
    margin: 0 0 16px;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout .form-row label {
    display: block;
    margin: 0 0 7px;
    color: var(--st-heading-color, var(--st-text));
    font-size: .9rem;
    font-weight: 750;
    line-height: 1.35;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout .form-row .required {
    color: var(--st-checkout-accent, var(--st-primary));
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout :is(
    input.input-text,
    input[type="text"],
    input[type="email"],
    input[type="tel"],
    input[type="password"],
    textarea,
    select,
    .select2-selection
) {
    width: 100% !important;
    min-height: 50px;
    padding: 12px 14px;
    color: var(--st-text);
    background: var(--st-checkout-input-background, #fff) !important;
    border: 1px solid var(--st-checkout-border-color, #dce5d8) !important;
    border-radius: min(14px, var(--st-checkout-radius, 20px)) !important;
    box-shadow: none !important;
    box-sizing: border-box;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout textarea {
    min-height: 118px;
    resize: vertical;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout .select2-selection {
    display: flex;
    align-items: center;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout .select2-selection__rendered {
    padding: 0 !important;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout :is(input, textarea, select, .select2-selection):focus {
    border-color: var(--st-checkout-accent, var(--st-primary)) !important;
    box-shadow: 0 0 0 4px color-mix(in srgb, var(--st-checkout-accent, var(--st-primary)) 13%, transparent) !important;
    outline: 0 !important;
}

body.woocommerce-checkout.st-checkout-design-enabled form.checkout :is(input[type="checkbox"], input[type="radio"]) {
    accent-color: var(--st-checkout-accent, var(--st-primary));
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review table.shop_table {
    width: 100%;
    margin: 0 0 20px;
    border: 0 !important;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: calc(var(--st-checkout-radius, 20px) * .7);
    background: var(--st-checkout-page-background, #fff);
    box-shadow: inset 0 0 0 var(--st-checkout-border-width, 1px) var(--st-checkout-border-color, #dce5d8);
    overflow: hidden;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review table.shop_table :is(th, td) {
    padding: 13px 12px;
    border: 0;
    border-bottom: var(--st-checkout-border-width, 1px) solid var(--st-checkout-border-color, #dce5d8);
    vertical-align: middle;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review table.shop_table thead th {
    color: var(--st-heading-color, var(--st-text));
    background: color-mix(in srgb, var(--st-checkout-accent, var(--st-primary)) 7%, var(--st-checkout-card-background, #f7fbf5));
    font-size: .86rem;
    font-weight: 800;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review table.shop_table tr:last-child > :is(th, td) {
    border-bottom: 0;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review table.shop_table .product-name {
    min-width: 0;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review table.shop_table .product-total,
body.woocommerce-checkout.st-checkout-design-enabled #order_review table.shop_table tfoot td {
    text-align: right;
    white-space: nowrap;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review table.shop_table .order-total :is(th, td) {
    color: var(--st-checkout-accent, var(--st-primary));
    font-size: 1.05rem;
    font-weight: 850;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review :is(.product-thumbnail img, .sk-snapshot-wrapper img) {
    width: var(--st-checkout-image-size-desktop, 72px) !important;
    max-width: var(--st-checkout-image-size-desktop, 72px) !important;
    height: var(--st-checkout-image-size-desktop, 72px) !important;
    max-height: var(--st-checkout-image-size-desktop, 72px) !important;
    object-fit: cover !important;
    border-radius: 11px !important;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review img[src*="schnullerkette"] {
    width: min(var(--st-checkout-configurator-image-width, 180px), 100%) !important;
    max-width: min(var(--st-checkout-configurator-image-width, 180px), 100%) !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review dl.variation {
    display: grid;
    grid-template-columns: minmax(92px, max-content) minmax(0, 1fr);
    gap: 3px 7px;
    margin: 7px 0 0;
    color: var(--st-muted);
    font-size: .82rem;
}

body.woocommerce-checkout.st-checkout-design-enabled #order_review dl.variation :is(dt, dd, dd p) {
    float: none !important;
    clear: none !important;
    width: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.35;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment {
    margin-top: 18px;
    background: var(--st-checkout-payment-background, #f7fbf5) !important;
    border: var(--st-checkout-border-width, 1px) solid var(--st-checkout-border-color, #dce5d8);
    border-radius: var(--st-checkout-radius, 20px) !important;
    overflow: hidden;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment ul.payment_methods {
    margin: 0;
    padding: 18px !important;
    border-bottom: var(--st-checkout-border-width, 1px) solid var(--st-checkout-border-color, #dce5d8) !important;
    list-style: none;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment ul.payment_methods li {
    margin: 0 0 12px;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment ul.payment_methods li:last-child {
    margin-bottom: 0;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment ul.payment_methods li > label {
    color: var(--st-heading-color, var(--st-text));
    font-weight: 750;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment div.payment_box {
    margin: 12px 0 0;
    padding: 14px;
    color: var(--st-text);
    background: color-mix(in srgb, var(--st-checkout-accent, var(--st-primary)) 7%, var(--st-checkout-page-background, #fff)) !important;
    border-radius: calc(var(--st-checkout-radius, 20px) * .65);
    font-size: .88rem;
    line-height: 1.55;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment div.payment_box::before {
    border-bottom-color: color-mix(in srgb, var(--st-checkout-accent, var(--st-primary)) 7%, var(--st-checkout-page-background, #fff)) !important;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment .place-order {
    margin: 0;
    padding: 18px !important;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment #place_order {
    float: none !important;
    display: flex !important;
    width: 100% !important;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    margin: 14px 0 0 !important;
    padding: 13px 20px !important;
    color: var(--st-checkout-button-text, #fff) !important;
    background: var(--st-checkout-button-background, var(--st-primary)) !important;
    border: 0 !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px color-mix(in srgb, var(--st-checkout-button-background, var(--st-primary)) 25%, transparent);
    font-size: 1rem !important;
    font-weight: 850 !important;
    text-align: center;
}

body.woocommerce-checkout.st-checkout-design-enabled #payment #place_order:hover {
    filter: brightness(.94);
    transform: translateY(-1px);
}

/* Auch zusätzliche Buttons mehrstufiger Checkout-Plugins übernehmen die Checkout-Farbe. */
body.woocommerce-checkout.st-checkout-design-enabled .site-main :is(
    a.button,
    button,
    button.button,
    input.button,
    input[type="button"],
    input[type="submit"],
    .wp-element-button,
    .wc-block-components-button
) {
    color: var(--st-checkout-button-text, #fff) !important;
    background-color: var(--st-checkout-button-background, var(--st-primary)) !important;
    background-image: none !important;
    border-color: var(--st-checkout-button-background, var(--st-primary)) !important;
    box-shadow: none !important;
}

body.woocommerce-checkout.st-checkout-design-enabled .site-main :is(
    a.button,
    button,
    button.button,
    input.button,
    input[type="button"],
    input[type="submit"],
    .wp-element-button,
    .wc-block-components-button
):is(:hover, :focus, :active) {
    color: var(--st-checkout-button-text, #fff) !important;
    background-color: var(--st-checkout-button-background, var(--st-primary)) !important;
    border-color: var(--st-checkout-button-background, var(--st-primary)) !important;
    filter: brightness(.94);
}

body.woocommerce-checkout.st-checkout-design-enabled :is(
    .wc-gzd-checkbox-placeholder,
    .woocommerce-terms-and-conditions-wrapper,
    .wc-gzd-place-order
) {
    color: var(--st-text);
    font-size: .87rem;
    line-height: 1.5;
}

/* Basisunterstützung für den WooCommerce Checkout-Block. */
body.woocommerce-checkout.st-checkout-design-enabled :is(
    .wc-block-checkout__main,
    .wc-block-checkout__sidebar
) {
    min-width: 0;
}

body.woocommerce-checkout.st-checkout-design-enabled .wc-block-checkout__sidebar {
    padding: 22px !important;
    background: var(--st-checkout-card-background, #f7fbf5);
    border: var(--st-checkout-border-width, 1px) solid var(--st-checkout-border-color, #dce5d8);
    border-radius: var(--st-checkout-radius, 20px);
}

@media (max-width: 980px) {
    body.woocommerce-checkout.st-checkout-design-enabled {
        overflow-x: hidden !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled :is(
        .site-main,
        .site-main .container,
        .entry-card,
        .entry-content,
        .entry-content > .woocommerce,
        .entry-content > *,
        .entry-card .woocommerce,
        .entry-card .woocommerce > *,
        form.checkout.woocommerce-checkout,
        form.checkout.woocommerce-checkout > *,
        form.checkout #customer_details,
        form.checkout #order_review_heading,
        form.checkout #order_review,
        .woocommerce-checkout-review-order
    ) {
        min-width: 0 !important;
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .entry-card {
        width: 100% !important;
        padding: 18px 12px;
        border-radius: calc(var(--st-checkout-radius, 20px) + 2px);
        overflow: hidden !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled form.checkout.woocommerce-checkout {
        display: block !important;
        float: none !important;
        width: 100% !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled form.checkout #customer_details {
        display: block !important;
        float: none !important;
        width: 100% !important;
        gap: 16px;
    }

    body.woocommerce-checkout.st-checkout-design-enabled form.checkout #customer_details > :is(.col-1, .col-2) + :is(.col-1, .col-2) {
        margin-top: 16px !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled form.checkout #customer_details > :is(.col-1, .col-2),
    body.woocommerce-checkout.st-checkout-design-enabled form.checkout #order_review {
        padding: 18px 16px;
        border-radius: var(--st-checkout-radius, 20px);
    }

    body.woocommerce-checkout.st-checkout-design-enabled form.checkout #order_review_heading {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        margin-top: 8px;
        padding-top: 22px;
        font-size: 1.5rem;
    }

    body.woocommerce-checkout.st-checkout-design-enabled form.checkout #order_review {
        position: static;
        top: auto;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;
        overflow: hidden !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled form.checkout :is(.form-row-first, .form-row-last) {
        float: none !important;
        width: 100% !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table {
        display: table !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        table-layout: fixed !important;
        font-size: .9rem;
        overflow: hidden !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table :is(th, td) {
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 11px 9px;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
        word-break: normal !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table :is(.product-name, th:first-child) {
        width: 68% !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table :is(.product-total, th:last-child) {
        width: 32% !important;
        text-align: right !important;
        white-space: normal !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table td > * {
        max-width: 100% !important;
        box-sizing: border-box !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review :is(.product-thumbnail img, .sk-snapshot-wrapper img) {
        width: var(--st-checkout-image-size-mobile, 56px) !important;
        max-width: var(--st-checkout-image-size-mobile, 56px) !important;
        height: var(--st-checkout-image-size-mobile, 56px) !important;
        max-height: var(--st-checkout-image-size-mobile, 56px) !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review img[src*="schnullerkette"] {
        width: min(var(--st-checkout-configurator-image-width, 180px), 100%) !important;
        max-width: min(var(--st-checkout-configurator-image-width, 180px), 100%) !important;
        height: auto !important;
        max-height: none !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review dl.variation {
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        grid-template-columns: minmax(84px, 42%) minmax(0, 1fr);
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review dl.variation :is(dt, dd, dd p) {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review :is(
        ul#shipping_method,
        ul.woocommerce-shipping-methods,
        .wc-gzd-product-name-left,
        .wc-gzd-product-name-right,
        .wc-gzd-cart-info,
        .wc-gzd-total-mini-cart,
        .includes_tax,
        .tax_label,
        .legal,
        .small-business-info
    ) {
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review :is(ul#shipping_method, ul.woocommerce-shipping-methods) {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review :is(ul#shipping_method, ul.woocommerce-shipping-methods) li {
        display: flex !important;
        flex-wrap: wrap !important;
        align-items: flex-start !important;
        justify-content: flex-end !important;
        gap: 5px 7px !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        white-space: normal !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review :is(ul#shipping_method, ul.woocommerce-shipping-methods) li label {
        min-width: 0 !important;
        max-width: calc(100% - 28px) !important;
        white-space: normal !important;
        overflow-wrap: anywhere !important;
    }

    /* Versand erhält mobil eine volle Zeile statt der schmalen Preisspalte. */
    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table tr.woocommerce-shipping-totals.shipping {
        display: block !important;
        width: 100% !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table tr.woocommerce-shipping-totals.shipping > :is(th, td) {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        text-align: left !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table tr.woocommerce-shipping-totals.shipping > th {
        padding-bottom: 5px !important;
        border-bottom: 0 !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table tr.woocommerce-shipping-totals.shipping > td {
        padding-top: 5px !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table tr.woocommerce-shipping-totals.shipping :is(ul#shipping_method, ul.woocommerce-shipping-methods) li {
        display: grid !important;
        grid-template-columns: 22px minmax(0, 1fr) !important;
        justify-content: stretch !important;
        align-items: start !important;
        text-align: left !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table tr.woocommerce-shipping-totals.shipping :is(ul#shipping_method, ul.woocommerce-shipping-methods) li label {
        max-width: 100% !important;
        line-height: 1.45 !important;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #payment ul.payment_methods,
    body.woocommerce-checkout.st-checkout-design-enabled #payment .place-order {
        padding: 15px !important;
    }
}

@media (max-width: 420px) {
    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table {
        font-size: .84rem;
    }

    body.woocommerce-checkout.st-checkout-design-enabled .site-main table.shop_table :is(th, td) {
        padding: 9px 7px;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review dl.variation {
        display: block;
    }

    body.woocommerce-checkout.st-checkout-design-enabled #order_review dl.variation dt {
        margin-top: 5px !important;
        font-weight: 750;
    }
}


/* 1.6.3 – Mini-Sticky-Header auf kleinen Laptop-Displays.
   Der normale Header scrollt mit. Erst beim Hochscrollen erscheint diese kompakte Variante. */
@media (min-width:981px) {
  .site-header.is-laptop-mini {
    position:fixed!important;
    top:0!important;
    left:0!important;
    right:0!important;
    z-index:1800!important;
    height:var(--st-laptop-mini-height,58px)!important;
    min-height:var(--st-laptop-mini-height,58px)!important;
    background-color:var(--st-header-bg-color,#fff)!important;
    background-image:var(--st-header-bg-image,none)!important;
    background-size:var(--st-header-bg-size,cover)!important;
    background-position:var(--st-header-bg-position,center center)!important;
    background-repeat:var(--st-header-bg-repeat,no-repeat)!important;
    box-shadow:0 9px 26px rgba(42,28,35,.14)!important;
    border-bottom:1px solid color-mix(in srgb,var(--st-primary,#2e7d32) 18%,transparent)!important;
    animation:stLaptopMiniIn .2s ease both;
  }
  body.admin-bar .site-header.is-laptop-mini {top:32px!important}
  .site-header.is-laptop-mini > .header-main {
    width:min(calc(100% - 32px),var(--st-max))!important;
    height:var(--st-laptop-mini-height,58px)!important;
    min-height:var(--st-laptop-mini-height,58px)!important;
    padding:0!important;
    display:grid!important;
    grid-template-columns:82px minmax(0,1fr) auto!important;
    align-items:center!important;
    gap:12px!important;
  }
  .site-header.is-laptop-mini .site-branding {
    grid-column:1!important;
    justify-content:flex-start!important;
    overflow:visible!important;
  }
  .site-header.is-laptop-mini .site-branding .custom-logo-link {
    transform:none!important;
  }
  .site-header.is-laptop-mini .site-branding .custom-logo {
    height:var(--st-laptop-mini-logo-height,42px)!important;
    max-width:76px!important;
    object-fit:contain!important;
  }
  .site-header.is-laptop-mini .st-header-search {display:none!important}
  .site-header.is-laptop-mini .header-actions {
    grid-column:3!important;
    gap:5px!important;
    transform:none!important;
  }
  .site-header.is-laptop-mini .st-mobile-search-toggle {display:inline-flex!important}
  .site-header.is-laptop-mini .header-action {
    width:38px!important;
    min-width:38px!important;
    height:38px!important;
    padding:0!important;
    border-radius:50%!important;
    gap:0!important;
  }
  .site-header.is-laptop-mini .header-action > span:not(.st-cart-count):not(.screen-reader-text) {display:none!important}
  .site-header.is-laptop-mini .header-action svg {width:18px!important;height:18px!important}
  .site-header.is-laptop-mini .st-cart-count {
    position:absolute!important;
    top:-5px!important;
    right:-5px!important;
    min-width:18px!important;
    height:18px!important;
    padding:0 4px!important;
    font-size:10px!important;
  }
  .site-header.is-laptop-mini .menu-toggle {display:none!important}
  .site-header.is-laptop-mini .st-nav-row {
    position:absolute!important;
    top:0!important;
    left:max(104px,calc((100vw - var(--st-max))/2 + 104px))!important;
    right:max(160px,calc((100vw - var(--st-max))/2 + 160px))!important;
    height:var(--st-laptop-mini-height,58px)!important;
    border:0!important;
    display:flex!important;
    align-items:center!important;
    overflow:hidden!important;
    pointer-events:none;
  }
  .site-header.is-laptop-mini .st-nav-row > .container {
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    overflow-x:auto!important;
    scrollbar-width:none;
    pointer-events:auto;
  }
  .site-header.is-laptop-mini .st-nav-row > .container::-webkit-scrollbar {display:none}
  .site-header.is-laptop-mini .main-navigation {width:max-content;min-width:100%;}
  .site-header.is-laptop-mini .primary-menu {
    justify-content:center!important;
    gap:clamp(10px,1.25vw,20px)!important;
    flex-wrap:nowrap!important;
    white-space:nowrap!important;
  }
  .site-header.is-laptop-mini .primary-menu > li > a {
    min-height:var(--st-laptop-mini-height,58px)!important;
    font-size:var(--st-laptop-mini-menu-size,17px)!important;
    line-height:1.15!important;
    letter-spacing:normal!important;
    padding-inline:0!important;
  }
  .site-header.is-laptop-mini .st-mobile-search-panel {
    display:none;
    position:absolute!important;
    left:0!important;
    right:0!important;
    top:100%!important;
    z-index:1810!important;
    padding:10px 0 14px!important;
    background-color:var(--st-header-bg-color,#fff)!important;
    background-image:var(--st-header-bg-image,none)!important;
    box-shadow:0 16px 32px rgba(49,28,38,.16)!important;
  }
  .site-header.is-laptop-mini .st-mobile-search-panel.is-open {display:block!important}
  .site-header.is-laptop-mini .st-mobile-search-panel-inner {
    display:grid!important;
    grid-template-columns:minmax(0,1fr) 42px!important;
    gap:8px!important;
  }
}
@keyframes stLaptopMiniIn {from{opacity:0;transform:translateY(-105%)}to{opacity:1;transform:translateY(0)}}
@media (prefers-reduced-motion:reduce){.site-header.is-laptop-mini{animation:none!important}}


/* 1.6.4 – Startseiten-/Shortcodebereiche nicht mehr über die gesamte
   Bildschirmbreite auffächern. Der Body bleibt vollflächig; die eigentlichen
   Module orientieren sich an der zentralen Theme-Breite. */
@media (min-width: 981px) {
  body.home :is(
    .st-home-categories,
    .st-shortcode-section,
    .st-social-proof-section
  ).st-home-module,
  body.page-template-template-homepage :is(
    .st-home-categories,
    .st-shortcode-section,
    .st-social-proof-section
  ).st-home-module {
    width: min(calc(100% - 40px), var(--st-max));
    margin-inline: auto;
    overflow: clip;
  }

  body.home :is(
    .st-home-categories,
    .st-shortcode-section,
    .st-social-proof-section
  ).st-home-module > .container,
  body.page-template-template-homepage :is(
    .st-home-categories,
    .st-shortcode-section,
    .st-social-proof-section
  ).st-home-module > .container {
    width: 100%;
    max-width: none;
    padding-inline: 20px;
  }

  /* Eingebettete Slider und WooCommerce-Blöcke dürfen den Modulrahmen nicht
     mit 100vw oder festen Mindestbreiten wieder aufziehen. */
  body.home :is(.st-shortcode-output, .st-category-shortcode-output),
  body.page-template-template-homepage :is(.st-shortcode-output, .st-category-shortcode-output) {
    width: 100%;
    max-width: 100%;
    min-width: 0;
    overflow-x: clip;
  }

  body.home :is(.st-shortcode-output, .st-category-shortcode-output) > *,
  body.page-template-template-homepage :is(.st-shortcode-output, .st-category-shortcode-output) > * {
    max-width: 100%;
  }
}

@media (max-width: 980px) {
  body.home :is(.st-home-categories, .st-shortcode-section, .st-social-proof-section).st-home-module,
  body.page-template-template-homepage :is(.st-home-categories, .st-shortcode-section, .st-social-proof-section).st-home-module {
    width: 100%;
    max-width: 100%;
  }
}


/* 1.6.5 – Laptop-Mini-Header bleibt nach der Scrollschwelle sichtbar.
   Die auf Theme-Breite begrenzten Außenmodule verwenden ausschließlich
   die aktive globale Theme-Hintergrundfarbe. */
@media (min-width: 981px) {
  body.home :is(
    .st-home-categories,
    .st-shortcode-section,
    .st-social-proof-section
  ).st-home-module,
  body.page-template-template-homepage :is(
    .st-home-categories,
    .st-shortcode-section,
    .st-social-proof-section
  ).st-home-module {
    background-color: var(--st-bg) !important;
    background-image: none !important;
  }
}


/* 1.6.6 – getrennte Menüabstände und kontrollierter Desktop-Umbruch */
@media (min-width:981px){
  .site-header:not(.is-laptop-mini) .primary-menu{
    display:flex!important;
    flex-wrap:wrap!important;
    justify-content:center!important;
    column-gap:var(--st-desktop-menu-gap,30px)!important;
    row-gap:var(--st-desktop-menu-row-gap,0px)!important;
    white-space:normal!important;
  }
  .site-header:not(.is-laptop-mini) .primary-menu>li{
    flex:0 0 auto!important;
    white-space:nowrap!important;
  }
  .site-header:not(.is-laptop-mini) .primary-menu>li>a{
    font-size:var(--st-menu-size-desktop,15px)!important;
  }
  /* Reicht der Platz nicht, wandert durch den flexiblen Umbruch zuerst nur der letzte Eintrag nach unten. */
  .site-header:not(.is-laptop-mini) .st-nav-row,
  .site-header:not(.is-laptop-mini) .st-nav-row>.container{
    overflow:visible!important;
  }
  .site-header.is-laptop-mini .primary-menu{
    gap:var(--st-laptop-mini-menu-gap,14px)!important;
  }
}


/* 1.6.7 – native Customizer Quick-Edit-Verknüpfungen */










@media(max-width:390px){
  body>#st-mini-cart-panel.st-header-panel.st-mini-cart-panel{right:6px!important;bottom:6px!important;left:6px!important}
  body>#st-mini-cart-panel .st-mini-cart-fragment,
  body>#st-mini-cart-panel .widget_shopping_cart_content{padding:14px!important}
}




/* WordPress-Emoji-Bilder im Produktnamen bleiben exakt in Textgröße. */
#st-mini-cart-panel .woocommerce-mini-cart-item img.emoji,
#st-mini-cart-panel .woocommerce-mini-cart-item img.wp-smiley,
#st-mini-cart-panel .woocommerce-mini-cart-item
> a:not(.remove)
> img:not(.attachment-woocommerce_thumbnail):not(.wp-post-image) {
    display: inline-block !important;
    width: 1em !important;
    height: 1em !important;
    min-width: 0 !important;
    max-width: 1em !important;
    min-height: 0 !important;
    max-height: 1em !important;
    margin: 0 .06em !important;
    padding: 0 !important;
    object-fit: contain !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    vertical-align: -.12em !important;
    float: none !important;
}

/* Der Lieferzeit-Hinweis beginnt unterhalb des Produktnamens, nicht neben dem Bild. */
#st-mini-cart-panel .woocommerce-mini-cart-item .wc-gzd-cart-info {
    clear: both !important;
    margin: 6px 0 0 !important;
}

/* Mobil darf das echte Vorschaubild etwas größer sein. */
@media (max-width: 980px) {
    #st-mini-cart-panel .woocommerce-mini-cart-item
    > a:not(.remove)
    > img.attachment-woocommerce_thumbnail,
    #st-mini-cart-panel .woocommerce-mini-cart-item
    > a:not(.remove)
    > img.wp-post-image {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
        max-width: 72px !important;
        min-height: 72px !important;
        max-height: 72px !important;
    }

    #st-mini-cart-panel .woocommerce-mini-cart-item img.emoji,
    #st-mini-cart-panel .woocommerce-mini-cart-item img.wp-smiley {
        width: 1em !important;
        height: 1em !important;
        min-width: 0 !important;
        max-width: 1em !important;
        min-height: 0 !important;
        max-height: 1em !important;
    }
}


/* =========================================================
 * 1.7.9 – ST Mini-Cart, strukturiertes WooCommerce-Layout
 * ======================================================= */
#st-mini-cart-panel {
  --st-mini-cart-thumb: 64px;
}
#st-mini-cart-panel .st-mini-cart-fragment,
#st-mini-cart-panel .widget_shopping_cart_content {
  min-width: 0;
  color: var(--st-text-body, var(--st-text));
  font-family: var(--st-font-body, inherit);
}
#st-mini-cart-panel .st-panel-heading {
  margin: 0;
  padding: 0 44px 14px 0;
  color: var(--st-text-heading, var(--st-text));
  font-family: var(--st-font-heading, inherit);
  font-size: 1.2rem;
  font-weight: 800;
  line-height: 1.2;
  border-bottom: 1px solid var(--st-border-color, var(--st-border));
}
#st-mini-cart-panel .woocommerce-mini-cart {
  display: grid;
  gap: 0;
  list-style: none;
  margin: 0;
  padding: 0;
}
#st-mini-cart-panel .woocommerce-mini-cart-item {
  position: relative;
  display: grid;
  grid-template-columns: var(--st-mini-cart-thumb) minmax(0, 1fr) 26px;
  grid-template-areas:
    "image details remove"
    "image quantity remove";
  column-gap: 12px;
  row-gap: 5px;
  align-items: start;
  min-width: 0;
  margin: 0;
  padding: 14px 0;
  border-bottom: 1px solid var(--st-border-color, var(--st-border));
}
#st-mini-cart-panel .st-mini-cart-product-image-link {
  grid-area: image;
  display: block;
  width: var(--st-mini-cart-thumb);
  height: var(--st-mini-cart-thumb);
  margin: 0;
  padding: 0;
}
#st-mini-cart-panel .st-mini-cart-product-image-link > img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
  max-width: none !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: cover !important;
  border-radius: var(--st-radius-small, 10px) !important;
  float: none !important;
}
#st-mini-cart-panel .st-mini-cart-product-details {
  grid-area: details;
  min-width: 0;
}
#st-mini-cart-panel .st-mini-cart-product-name {
  display: inline;
  color: var(--st-text-heading, var(--st-text));
  font-family: var(--st-font-heading, inherit);
  font-size: .96rem;
  font-weight: 750;
  line-height: 1.28;
  text-decoration: none;
  overflow-wrap: anywhere;
}
#st-mini-cart-panel .st-mini-cart-product-name img.emoji,
#st-mini-cart-panel .st-mini-cart-product-name img.wp-smiley {
  display: inline-block !important;
  width: 1em !important;
  height: 1em !important;
  min-width: 0 !important;
  max-width: 1em !important;
  max-height: 1em !important;
  margin: 0 .06em !important;
  padding: 0 !important;
  object-fit: contain !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  vertical-align: -.12em !important;
  float: none !important;
}
#st-mini-cart-panel .st-mini-cart-product-meta,
#st-mini-cart-panel .wc-gzd-cart-info {
  display: block;
  margin: 5px 0 0 !important;
  padding: 0 !important;
  color: var(--st-text-muted, var(--st-muted));
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.35;
}
#st-mini-cart-panel .st-mini-cart-product-meta p,
#st-mini-cart-panel .wc-gzd-cart-info p { margin: 0 !important; }
#st-mini-cart-panel .quantity {
  grid-area: quantity;
  display: block;
  min-width: 0;
  color: var(--st-text-muted, var(--st-muted));
  font-size: .82rem;
  line-height: 1.3;
}
#st-mini-cart-panel .remove_from_cart_button {
  grid-area: remove;
  position: static !important;
  display: grid !important;
  place-items: center;
  width: 26px !important;
  height: 26px !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #a33 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 999px !important;
  font-size: 20px !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
#st-mini-cart-panel .remove_from_cart_button:hover {
  background: color-mix(in srgb, #a33 10%, transparent) !important;
}
#st-mini-cart-panel .woocommerce-mini-cart__total {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  margin: 14px 0 8px;
  padding: 13px 0 0;
  color: var(--st-text-heading, var(--st-text));
  border-top: 1px solid var(--st-border-color, var(--st-border));
  font-weight: 800;
}
#st-mini-cart-panel .wc-gzd-total-mini-cart {
  margin: 0 0 12px;
  color: var(--st-text-muted, var(--st-muted));
  font-size: .86rem;
}
#st-mini-cart-panel .woocommerce-mini-cart__buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  margin: 0;
}
#st-mini-cart-panel .woocommerce-mini-cart__buttons .button {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 0;
  min-height: 42px;
  margin: 0 !important;
  padding: 9px 10px !important;
  text-align: center;
  white-space: normal;
  font-size: .84rem !important;
  line-height: 1.2 !important;
}
#st-mini-cart-panel .woocommerce-mini-cart__empty-message {
  margin: 0;
  padding: 22px 4px;
  color: var(--st-text-muted, var(--st-muted));
  text-align: center;
}
#st-mini-cart-panel .st-mini-cart-close {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 4;
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  padding: 0;
  color: var(--st-text-heading, var(--st-text));
  background: var(--st-surface-soft, rgba(255,255,255,.92));
  border: 1px solid var(--st-border-color, var(--st-border));
  border-radius: 999px;
  font-size: 22px;
  line-height: 1;
  cursor: pointer;
}

@media (max-width: 980px) {
  body > #st-mini-cart-panel.st-header-panel.st-mini-cart-panel {
    position: fixed !important;
    top: calc(var(--st-mobile-header-bottom, 180px) + 8px) !important;
    right: max(10px, env(safe-area-inset-right, 0px)) !important;
    bottom: max(10px, env(safe-area-inset-bottom, 0px)) !important;
    left: max(10px, env(safe-area-inset-left, 0px)) !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: var(--st-surface-dialog, var(--st-surface-card, #fff)) !important;
    border: var(--st-border-width, 1px) var(--st-border-style, solid) var(--st-border-color, var(--st-border)) !important;
    border-radius: var(--st-radius-card, 22px) !important;
    box-shadow: var(--st-shadow-dialog, 0 24px 70px rgba(20,15,20,.24)) !important;
    z-index: 999999 !important;
  }
  body > #st-mini-cart-panel[hidden] { display: none !important; }
  body > #st-mini-cart-panel:not([hidden]) { display: block !important; }
  body > #st-mini-cart-panel .st-mini-cart-fragment,
  body > #st-mini-cart-panel .widget_shopping_cart_content {
    width: 100%;
    height: 100%;
    padding: 18px;
    overflow-x: hidden;
    overflow-y: auto;
    box-sizing: border-box;
  }
  body > #st-mini-cart-panel { --st-mini-cart-thumb: 72px; }
  #st-mini-cart-panel .woocommerce-mini-cart__buttons { grid-template-columns: 1fr; }

  /*
   * Konfigurator im Mini-Cart: Das breite Vorschaubild darf nicht in der
   * normalen 72-px-Bildspalte liegen, da sonst der Detailtext eingequetscht
   * wird. Bild, Details und Menge erhalten deshalb eigene Vollbreitenzeilen.
   */
  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 28px !important;
    grid-template-areas:
      "image remove"
      "details details"
      "quantity quantity" !important;
    column-gap: 10px !important;
    row-gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    padding: 16px 0 !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-image-link {
    grid-area: image !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-image-link > img,
  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item img.skt-cart-preview-image {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    object-fit: contain !important;
    border-radius: 12px !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-details {
    grid-area: details !important;
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-name {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    font-size: .98rem !important;
    line-height: 1.35 !important;
    text-align: left !important;
    overflow-wrap: break-word !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta {
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 8px !important;
    font-size: .84rem !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta .wc-gzd-cart-info {
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    text-align: left !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta dl.variation {
    display: grid !important;
    grid-template-columns: minmax(116px, 46%) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 6px 10px !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta dl.variation dt,
  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta dl.variation dd,
  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta dl.variation dd p {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta dl.variation dd,
  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta dl.variation dd p {
    text-align: right !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .st-mini-cart-product-meta dl.variation dd::after {
    content: none !important;
    display: none !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item > .quantity {
    grid-area: quantity !important;
    display: block !important;
    width: 100% !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--st-border-color, var(--st-border)) !important;
    text-align: right !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item .remove_from_cart_button {
    grid-area: remove !important;
    align-self: start !important;
  }

  /*
   * Sicherheitslayout für den kurzen Moment oder Sonderfälle, in denen das
   * WooCommerce-Fragment noch nicht in das strukturierte ST-Markup umgebaut
   * wurde. So kann der Text niemals rechts aus dem Popup gedrückt werden.
   */
  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 16px 0 !important;
    overflow: hidden !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) > a:not(.remove):not(.remove_from_cart_button) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) > a:not(.remove):not(.remove_from_cart_button) img.skt-cart-preview-image,
  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) > a:not(.remove):not(.remove_from_cart_button) img[src*="/schnullerketten-konfigurator/schnullerkette_" i] {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 12px !important;
    object-fit: contain !important;
    float: none !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) dl.variation {
    display: grid !important;
    grid-template-columns: minmax(116px, 46%) minmax(0, 1fr) !important;
    gap: 6px 10px !important;
    width: 100% !important;
    margin: 10px 0 !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) dl.variation :is(dt, dd, dd p) {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) dl.variation dd {
    text-align: right !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) > .quantity {
    display: block !important;
    width: 100% !important;
    margin-top: 12px !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--st-border-color, var(--st-border)) !important;
    text-align: right !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item.skt-configurator-item:not([data-st-mini-cart-enhanced="1"]) > .remove_from_cart_button {
    position: absolute !important;
    top: 10px !important;
    right: 0 !important;
  }

  /*
   * Direkte Strukturerkennung: Der Konfigurator enthält im Mini-Cart immer
   * dl.variation. Damit greift das Layout auch dann, wenn WooCommerce beim
   * Fragmentwechsel keine zusätzliche Artikelklasse übernimmt.
   */
  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 16px 0 !important;
    overflow: hidden !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) > a:not(.remove):not(.remove_from_cart_button),
  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) .st-mini-cart-product-image-link,
  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) .st-mini-cart-product-details {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    white-space: normal !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) img.skt-cart-preview-image,
  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) img[src*="/schnullerketten-konfigurator/schnullerkette_" i],
  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) .st-mini-cart-product-image-link > img {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 0 10px !important;
    object-fit: contain !important;
    float: none !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) .st-mini-cart-product-name {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) :is(.st-mini-cart-product-meta, .wc-gzd-cart-info) {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 7px 0 0 !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) dl.variation {
    display: grid !important;
    grid-template-columns: minmax(116px, 46%) minmax(0, 1fr) !important;
    align-items: start !important;
    gap: 6px 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) dl.variation :is(dt, dd, dd p) {
    display: block !important;
    float: none !important;
    clear: none !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    line-height: 1.4 !important;
    white-space: normal !important;
    overflow-wrap: break-word !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) dl.variation dd,
  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) dl.variation dd p {
    text-align: right !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) dl.variation dd::after {
    content: none !important;
    display: none !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) > .quantity {
    display: block !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 10px !important;
    border-top: 1px solid var(--st-border-color, var(--st-border)) !important;
    text-align: right !important;
  }

  #st-mini-cart-panel .woocommerce-mini-cart-item:has(dl.variation) > .remove_from_cart_button {
    position: absolute !important;
    z-index: 3 !important;
    top: 10px !important;
    right: 0 !important;
  }
}


/* =========================================================
 * 1.8.0 – ST Desktop Header Designer
 * ======================================================= */
@media (min-width:981px) {
  .site-header.st-header-designer-active {
    position:relative;
    isolation:isolate;
    background:var(--st-header-edge-custom,#f7fbf5)!important;
    overflow:visible;
  }
  .site-header.st-header-designer-active .st-header-artwork {
    position:absolute;
    z-index:0;
    top:0;left:0;right:0;
    height:var(--st-header-desktop-height,310px);
    overflow:hidden;
    pointer-events:none;
    background:var(--st-header-edge-custom,#f7fbf5);
  }
  .site-header.st-header-designer-active.st-header-edge-theme .st-header-artwork{background:var(--st-header-bg-color,#fff)}
  .site-header.st-header-designer-active.st-header-edge-left .st-header-artwork{background:var(--st-header-edge-left,var(--st-header-edge-custom))}
  .site-header.st-header-designer-active.st-header-edge-right .st-header-artwork{background:var(--st-header-edge-right,var(--st-header-edge-custom))}
  .site-header.st-header-designer-active.st-header-edge-average .st-header-artwork{background:var(--st-header-edge-average,var(--st-header-edge-custom))}
  .site-header.st-header-designer-active.st-header-edge-gradient .st-header-artwork{background:linear-gradient(90deg,var(--st-header-edge-left) 0%,var(--st-header-edge-average) 24%,var(--st-header-edge-average) 76%,var(--st-header-edge-right) 100%)}
  .site-header.st-header-designer-active.st-header-edge-transparent .st-header-artwork{background:transparent}

  .st-header-artwork-center {
    position:absolute;z-index:2;inset:0;
    width:min(100%,var(--st-header-image-max-width,2048px));
    margin:auto;
    background-image:var(--st-header-designer-image);
    background-size:var(--st-header-bg-size,contain);
    background-position:var(--st-header-bg-position,center center);
    background-repeat:no-repeat;
  }
  .st-header-artwork-side{display:none;position:absolute;z-index:1;top:0;bottom:0;width:50%;background-image:var(--st-header-designer-image);background-repeat:no-repeat}
  .st-header-artwork-side-left{left:0}.st-header-artwork-side-right{right:0}
  .st-header-edge-blur .st-header-artwork-side{display:block;background-size:cover;background-position:center;filter:blur(var(--st-header-blur,24px));transform:scale(1.12);opacity:.82}
  .st-header-edge-mirror .st-header-artwork-side{display:block;background-size:cover;background-position:center;opacity:.96}
  .st-header-edge-mirror .st-header-artwork-side-left{transform:scaleX(-1);transform-origin:left center}
  .st-header-edge-mirror .st-header-artwork-side-right{transform:scaleX(-1);transform-origin:right center}
  .st-header-edge-stretch .st-header-artwork-side{display:block;background-size:100% 100%;opacity:.96}
  .st-header-edge-stretch .st-header-artwork-side-left{background-position:left center}
  .st-header-edge-stretch .st-header-artwork-side-right{background-position:right center}
  .st-header-edge-custom_image .st-header-artwork-side{display:block;background-image:var(--st-header-extension-image);background-size:cover;background-position:center}

  .st-header-artwork-overlay{position:absolute;z-index:3;inset:0;background:var(--st-header-overlay,#fff);opacity:var(--st-header-overlay-opacity,0)}

  .site-header.st-header-designer-active > .header-main{
    position:relative;z-index:4;
    display:flex!important;align-items:center;justify-content:center!important;
    min-height:var(--st-header-desktop-height,310px)!important;
    width:100%!important;max-width:none!important;
    padding:18px 24px!important;
    background:transparent!important;
  }
  .site-header.st-header-designer-active .header-main .site-branding{width:100%;justify-content:center!important;pointer-events:auto}
  .site-header.st-header-designer-active .header-main .st-header-search,
  .site-header.st-header-designer-active .header-main .header-actions{display:none!important}
  .site-header.st-header-designer-active .site-branding .custom-logo{height:var(--st-logo-height-desktop,150px)!important;max-width:min(70vw,620px)!important}

  .site-header.st-header-designer-active .st-nav-row{position:relative;z-index:10;background:color-mix(in srgb,var(--st-header-bg-color,#fff) 94%,transparent);backdrop-filter:blur(12px)}
  .site-header.st-header-designer-active .st-desktop-nav-layout{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px}
  .site-header.st-header-designer-active .main-navigation{min-width:0}
  .site-header.st-header-designer-active .primary-menu{justify-content:flex-end;gap:var(--st-desktop-menu-gap,18px)}
  .site-header.st-header-designer-active .st-desktop-header-tools{display:flex;align-items:center;gap:var(--st-header-actions-gap,8px);min-width:max-content}
  .site-header.st-header-designer-active .st-desktop-header-tools .header-actions{display:flex!important;gap:var(--st-header-actions-gap,8px)}
  .site-header.st-header-designer-active .st-desktop-header-tools .menu-toggle{display:none!important}
  .site-header.st-header-designer-active .st-desktop-header-tools .st-mobile-search-toggle{display:inline-flex!important}
  .site-header.st-header-designer-active.st-header-search-hidden .st-mobile-search-toggle{display:none!important}
  .site-header.st-header-designer-active.st-header-search-field .st-mobile-search-toggle{display:none!important}
  .site-header.st-header-designer-active .st-desktop-header-tools .st-header-search{display:block!important;width:clamp(220px,25vw,420px);max-width:none}
  .site-header.st-header-designer-active .st-mobile-search-panel{position:absolute;z-index:1590;left:0;right:0;top:100%;padding:12px 0 16px;background:var(--st-surface-dialog,#fff);border-top:1px solid var(--st-border-color);box-shadow:0 18px 40px rgba(49,28,38,.16)}
  .site-header.st-header-designer-active .st-mobile-search-panel.is-open{display:block!important}
  .site-header.st-header-designer-active .st-mobile-search-panel-inner{display:grid;grid-template-columns:minmax(0,1fr) 42px;gap:8px;align-items:start}
  .site-header.st-header-designer-active .st-desktop-header-tools .header-action{width:44px;height:44px;padding:0}
  .site-header.st-header-designer-active .st-desktop-header-tools .header-action>span:not(.st-cart-count){display:none}
  .site-header.st-header-designer-active .st-desktop-header-tools .st-cart-count{position:absolute;right:-4px;top:-5px}

  /* dezente optionale Saison-Effekte */
  .st-header-particles{position:absolute;z-index:4;inset:0;overflow:hidden}
  .st-header-particles i{position:absolute;display:block;opacity:.55;animation:stHeaderFloat 7s ease-in-out infinite}
  .st-header-particles i:nth-child(1){left:8%;top:18%}.st-header-particles i:nth-child(2){left:17%;top:62%;animation-delay:-1s}.st-header-particles i:nth-child(3){left:28%;top:32%;animation-delay:-3s}.st-header-particles i:nth-child(4){left:38%;top:72%;animation-delay:-5s}.st-header-particles i:nth-child(5){left:48%;top:14%;animation-delay:-2s}.st-header-particles i:nth-child(6){left:58%;top:56%;animation-delay:-6s}.st-header-particles i:nth-child(7){left:68%;top:24%;animation-delay:-4s}.st-header-particles i:nth-child(8){left:78%;top:68%;animation-delay:-2.5s}.st-header-particles i:nth-child(9){left:89%;top:28%;animation-delay:-5.5s}.st-header-particles i:nth-child(10){left:12%;top:82%;animation-delay:-4.5s}.st-header-particles i:nth-child(11){left:33%;top:10%;animation-delay:-1.5s}.st-header-particles i:nth-child(12){left:54%;top:82%;animation-delay:-3.5s}.st-header-particles i:nth-child(13){left:73%;top:8%;animation-delay:-6.5s}.st-header-particles i:nth-child(14){left:94%;top:74%;animation-delay:-.5s}
  .st-header-effect-stars .st-header-particles i:before{content:'✦';color:#d8a349;font-size:18px}
  .st-header-effect-clouds .st-header-particles i:before{content:'☁';color:#bfd8e8;font-size:30px}
  .st-header-effect-glitter .st-header-particles i:before{content:'·';color:#d8a349;font-size:36px;text-shadow:0 0 8px #fff0ad}
  .st-header-effect-snow .st-header-particles i:before{content:'❄';color:#c8ddea;font-size:18px}
  .st-header-effect-leaves .st-header-particles i:before{content:'🍂';font-size:18px}
  .st-header-effect-hearts .st-header-particles i:before{content:'♡';color:#acc593;font-size:22px}
}
@keyframes stHeaderFloat{0%,100%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(8px,-12px,0) rotate(10deg)}}
@media (prefers-reduced-motion:reduce){.st-header-particles i{animation:none!important}}
@media (max-width:980px){.st-header-artwork{display:none!important}.st-desktop-header-tools{display:none!important}}


/* =========================================================
 * Adaptive Desktopbreiten
 *
 * 24-Zoll Full HD:
 * - Seiteninhalt ungefähr 1520 px maximal
 * - Header/Navigation ungefähr 1600 px maximal
 *
 * Ultrawide:
 * - beide Bereiche bleiben an ihrer Maximalbreite zentriert
 * ======================================================= */
@media (min-width: 981px) {
    :root {
        --st-max: var(--st-content-width);
    }

    .container {
        width: min(calc(100% - 40px), var(--st-content-width)) !important;
        max-width: none !important;
    }

    /* Headerbereiche bekommen bewusst eine eigene, etwas größere Breite. */
    .site-header .header-main.container,
    .site-header .st-nav-row > .container,
    .site-header .st-desktop-nav-layout,
    .site-header .st-topbar-inner.container,
    .site-header .st-social-header-inner.container,
    .site-header .st-mobile-search-panel-inner.container {
        width: min(calc(100% - 32px), var(--st-header-content-width)) !important;
        max-width: none !important;
        margin-inline: auto !important;
    }

    /* Im Header-Designer bleibt der Bildbereich vollflächig,
       nur Logo/Navigation werden sinnvoll begrenzt. */
    .site-header.st-header-designer-active > .header-main {
        width: 100% !important;
        max-width: none !important;
    }

    .site-header.st-header-designer-active .header-main .site-branding {
        width: min(calc(100% - 32px), var(--st-header-content-width)) !important;
        margin-inline: auto !important;
    }

    .site-header.st-header-designer-active .st-desktop-nav-layout {
        grid-template-columns: minmax(0, 1fr) max-content;
        column-gap: clamp(10px, 1.2vw, 22px);
    }

    .site-header.st-header-designer-active .primary-menu {
        gap: clamp(
            8px,
            calc(var(--st-desktop-menu-gap, 18px) * .82),
            var(--st-desktop-menu-gap, 18px)
        );
    }

    /* Aktionssymbole bekommen ihren reservierten Bereich,
       ohne das Menü unnötig umzubrechen. */
    .site-header.st-header-designer-active .st-desktop-header-tools {
        min-width: max-content;
        flex: 0 0 auto;
    }
}

/* Auf kleineren Laptops darf die Mindestbreite niemals einen Overflow erzeugen. */
@media (min-width: 981px) and (max-width: 1399px) {
    :root {
        --st-content-width: calc(100vw - 40px);
        --st-header-content-width: calc(100vw - 24px);
    }

    .site-header.st-header-designer-active .primary-menu {
        gap: min(var(--st-desktop-menu-gap, 18px), 12px);
    }

    .site-header.st-header-designer-active .st-desktop-header-tools .header-action {
        width: 40px;
        height: 40px;
    }
}


/* =========================================================
 * 1.8.2 – Universeller, sanft schrumpfender Desktop-Sticky-Header
 * ======================================================= */
@media (min-width:981px) {
  .site-header.st-header-designer-active {
    --st-header-collapse-progress:0;
    transition:box-shadow .24s ease,background-color .24s ease,border-color .24s ease;
  }

  /* Während der ersten Scrollpixel wird das große Bild bereits dezent ruhiger,
     bevor die kompakte Leiste übernimmt. */
  .site-header.st-header-designer-active.is-header-collapsing .st-header-artwork {
    opacity:calc(1 - (var(--st-header-collapse-progress) * .34));
    transform:translateY(calc(var(--st-header-collapse-progress) * -10px)) scale(calc(1 - (var(--st-header-collapse-progress) * .015)));
    transform-origin:center top;
    transition:none;
  }
  .site-header.st-header-designer-active.is-header-collapsing .site-branding {
    transform:translateY(calc(var(--st-header-collapse-progress) * -5px)) scale(calc(1 - (var(--st-header-collapse-progress) * .06)));
    transform-origin:center center;
  }

  .site-header.is-laptop-mini {
    -webkit-backdrop-filter:blur(14px)!important;
    backdrop-filter:blur(14px)!important;
    background-color:color-mix(in srgb,var(--st-header-bg-color,#fff) 91%,transparent)!important;
    background-image:none!important;
    animation:stUniversalStickyIn .24s cubic-bezier(.2,.75,.2,1) both!important;
  }
  .site-header.is-laptop-mini .st-header-artwork,
  .site-header.is-laptop-mini .st-header-particles {
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }

  /* Im neuen Header-Designer nutzt die kompakte Leiste die größere Headerbreite. */
  .site-header.is-laptop-mini > .header-main {
    width:min(calc(100% - 28px),var(--st-header-content-width,1600px))!important;
    max-width:none!important;
  }
  .site-header.is-laptop-mini .st-nav-row {
    left:max(104px,calc((100vw - var(--st-header-content-width,1600px))/2 + 104px))!important;
    right:max(160px,calc((100vw - var(--st-header-content-width,1600px))/2 + 160px))!important;
  }

  /* Offene Konto-/Warenkorb-Panels bleiben unter der kompakten Leiste sichtbar. */
  .site-header.is-laptop-mini .st-header-panel {
    top:calc(100% + 8px)!important;
  }
}
@keyframes stUniversalStickyIn {
  from {opacity:.35;transform:translateY(-16px)}
  to {opacity:1;transform:translateY(0)}
}
@media (prefers-reduced-motion:reduce) {
  .site-header.st-header-designer-active,
  .site-header.st-header-designer-active .st-header-artwork,
  .site-header.st-header-designer-active .site-branding,
  .site-header.is-laptop-mini {transition:none!important;animation:none!important}
}


/* =========================================================
 * 1.8.3 – Universeller Desktop-Sticky-Header und Logo-Modus
 * ======================================================= */
@media (min-width:981px) {
  /* Kein Logo: maximale Breite für Navigation und Aktionen. */
  .site-header.is-laptop-mini.st-sticky-logo-none > .header-main {
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  .site-header.is-laptop-mini.st-sticky-logo-none .site-branding {
    display:none!important;
  }
  .site-header.is-laptop-mini.st-sticky-logo-none .header-actions {
    grid-column:2!important;
  }
  .site-header.is-laptop-mini.st-sticky-logo-none .st-nav-row {
    left:max(14px,calc((100vw - var(--st-header-content-width,1600px))/2 + 14px))!important;
    right:max(158px,calc((100vw - var(--st-header-content-width,1600px))/2 + 158px))!important;
  }

  /* Winziges Logo: direkt am Anfang der Menüzeile, ohne das Menü zu bedrängen. */
  .site-header.is-laptop-mini.st-sticky-logo-tiny > .header-main {
    grid-template-columns:34px minmax(0,1fr) auto!important;
    gap:8px!important;
  }
  .site-header.is-laptop-mini.st-sticky-logo-tiny .site-branding {
    display:flex!important;
    width:30px!important;
    min-width:30px!important;
    overflow:hidden!important;
  }
  .site-header.is-laptop-mini.st-sticky-logo-tiny .site-branding .custom-logo-link {
    width:30px!important;
    height:30px!important;
    overflow:hidden!important;
  }
  .site-header.is-laptop-mini.st-sticky-logo-tiny .site-branding .custom-logo {
    width:30px!important;
    height:26px!important;
    min-width:0!important;
    max-width:30px!important;
    max-height:26px!important;
    object-fit:contain!important;
  }
  .site-header.is-laptop-mini.st-sticky-logo-tiny .st-nav-row {
    left:max(54px,calc((100vw - var(--st-header-content-width,1600px))/2 + 54px))!important;
    right:max(158px,calc((100vw - var(--st-header-content-width,1600px))/2 + 158px))!important;
  }

  /* Das kompakte Menü beginnt links, damit lange Menüs mehr nutzbare Breite erhalten. */
  .site-header.is-laptop-mini .primary-menu {
    justify-content:flex-start!important;
  }
}


/* =========================================================
 * Mobile Logo: exakt in der Bildschirmmitte
 *
 * Das Logo wird aus dem zweispaltigen Header-Grid gelöst.
 * Dadurch beeinflussen Suche, Warenkorb, Menü und Händigkeit
 * seine horizontale Position nicht mehr.
 * ======================================================= */
@media (max-width: 980px) {
    body .site-header > .header-main,
    body .site-header .header-main {
        position: relative !important;
        display: flex !important;
        align-items: center !important;
        justify-content: flex-end !important;
        min-height: calc(var(--st-logo-height-mobile, 54px) + (2 * var(--st-header-padding-mobile, 6px))) !important;
    }

    body .site-header .site-branding,
    body:not(.st-mobile-left-handed) .site-header .site-branding,
    body.st-mobile-left-handed .site-header .site-branding {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        z-index: 2 !important;

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

        width: min(44vw, 220px) !important;
        min-width: 0 !important;
        max-width: min(44vw, 220px) !important;
        height: auto !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;

        grid-column: auto !important;
        grid-row: auto !important;
        transform: translate(-50%, -50%) !important;
    }

    body .site-header .site-branding .custom-logo-link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 0 !important;

        /* Ein Desktop-X-Versatz darf die mobile Zentrierung nicht verschieben. */
        transform: translate(0, var(--st-logo-offset-y, 0)) !important;
    }

    body .site-header .site-branding .custom-logo {
        display: block !important;
        width: auto !important;
        height: min(var(--st-logo-height-mobile, 54px), 18vw) !important;
        max-width: 100% !important;
        max-height: min(var(--st-logo-height-mobile, 54px), 18vw) !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

    body .site-header .header-actions,
    body:not(.st-mobile-left-handed) .site-header .header-actions {
        position: relative !important;
        z-index: 3 !important;
        display: flex !important;
        flex: 0 0 auto !important;
        justify-content: flex-end !important;
        margin-left: auto !important;
        margin-right: 0 !important;
    }

    body.st-mobile-left-handed .site-header .header-actions {
        margin-left: 0 !important;
        margin-right: auto !important;
        justify-content: flex-start !important;
    }
}

/* Auf sehr schmalen Geräten etwas kleiner, damit Logo und drei Symbole
   niemals miteinander kollidieren. */
@media (max-width: 420px) {
    body .site-header .site-branding,
    body:not(.st-mobile-left-handed) .site-header .site-branding,
    body.st-mobile-left-handed .site-header .site-branding {
        width: min(36vw, 150px) !important;
        max-width: min(36vw, 150px) !important;
    }

    body .site-header .site-branding .custom-logo {
        height: min(var(--st-logo-height-mobile, 54px), 15vw) !important;
        max-height: min(var(--st-logo-height-mobile, 54px), 15vw) !important;
    }
}


/* =========================================================
 * 1.8.7 – Mobiles Headerbild, isoliert vom Off-Canvas-Menü
 * Keine Regel dieses Blocks verändert Navigation, Body-Scroll
 * oder den Menüstatus.
 * ======================================================= */
@media (max-width: 980px) {
    .site-header.st-header-designer-active > .header-main {
        min-height: var(--st-mobile-header-height, 170px) !important;
        height: var(--st-mobile-header-height, 170px) !important;
        background-color: var(--st-header-bg-color, #fff) !important;
        background-image: var(--st-mobile-header-image, none) !important;
        background-size: var(--st-mobile-header-bg-size, cover) !important;
        background-position: var(--st-mobile-header-bg-position, center center) !important;
        background-repeat: no-repeat !important;
    }
}


/* =========================================================
 * 1.8.8 – Mobile Logo- und Symbolsteuerung
 * ======================================================= */
@media (max-width: 980px) {
    .site-header .site-branding,
    body:not(.st-mobile-left-handed) .site-header .site-branding,
    body.st-mobile-left-handed .site-header .site-branding {
        width: min(var(--st-mobile-logo-width, 180px), 56vw) !important;
        max-width: min(var(--st-mobile-logo-width, 180px), 56vw) !important;
    }

    .site-header .site-branding .custom-logo-link {
        width: 100% !important;
        max-width: 100% !important;
    }

    .site-header .site-branding .custom-logo {
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: calc(var(--st-mobile-header-height, 170px) - 20px) !important;
        object-fit: contain !important;
    }

    .site-header .header-actions {
        display: flex !important;
        align-items: center !important;
        gap: var(--st-mobile-icon-gap, 8px) !important;
    }

    .site-header .header-actions .header-action,
    .site-header .header-actions .menu-toggle,
    .site-header .header-actions .st-mobile-search-toggle {
        width: var(--st-mobile-icon-button-size, 58px) !important;
        min-width: var(--st-mobile-icon-button-size, 58px) !important;
        height: var(--st-mobile-icon-button-size, 58px) !important;
        min-height: var(--st-mobile-icon-button-size, 58px) !important;
        flex: 0 0 var(--st-mobile-icon-button-size, 58px) !important;
    }

    .site-header .header-actions svg,
    .site-header .menu-toggle svg,
    .site-header .st-mobile-search-toggle svg {
        width: var(--st-mobile-icon-size, 24px) !important;
        height: var(--st-mobile-icon-size, 24px) !important;
    }

    /* Default: Suche – Warenkorb – Menü */
    .site-header .st-mobile-search-toggle { order: 1; }
    .site-header .st-cart-popover { order: 2; }
    .site-header .menu-toggle { order: 3; }

    body.st-mobile-order-search-menu-cart .site-header .st-mobile-search-toggle { order: 1; }
    body.st-mobile-order-search-menu-cart .site-header .menu-toggle { order: 2; }
    body.st-mobile-order-search-menu-cart .site-header .st-cart-popover { order: 3; }

    body.st-mobile-order-cart-search-menu .site-header .st-cart-popover { order: 1; }
    body.st-mobile-order-cart-search-menu .site-header .st-mobile-search-toggle { order: 2; }
    body.st-mobile-order-cart-search-menu .site-header .menu-toggle { order: 3; }

    body.st-mobile-order-cart-menu-search .site-header .st-cart-popover { order: 1; }
    body.st-mobile-order-cart-menu-search .site-header .menu-toggle { order: 2; }
    body.st-mobile-order-cart-menu-search .site-header .st-mobile-search-toggle { order: 3; }

    body.st-mobile-order-menu-search-cart .site-header .menu-toggle { order: 1; }
    body.st-mobile-order-menu-search-cart .site-header .st-mobile-search-toggle { order: 2; }
    body.st-mobile-order-menu-search-cart .site-header .st-cart-popover { order: 3; }

    body.st-mobile-order-menu-cart-search .site-header .menu-toggle { order: 1; }
    body.st-mobile-order-menu-cart-search .site-header .st-cart-popover { order: 2; }
    body.st-mobile-order-menu-cart-search .site-header .st-mobile-search-toggle { order: 3; }

    /* Linkshänder-Modus: komplette ausgewählte Reihenfolge spiegeln. */
    body.st-mobile-left-handed .site-header .header-actions {
        flex-direction: row-reverse !important;
    }

    body:not(.st-mobile-left-handed) .site-header .header-actions,
    body.st-mobile-right-handed .site-header .header-actions {
        flex-direction: row !important;
    }
}

@media (max-width: 420px) {
    .site-header .site-branding,
    body:not(.st-mobile-left-handed) .site-header .site-branding,
    body.st-mobile-left-handed .site-header .site-branding {
        width: min(var(--st-mobile-logo-width, 180px), 44vw) !important;
        max-width: min(var(--st-mobile-logo-width, 180px), 44vw) !important;
    }
}


/* =========================================================
 * 1.8.9 – Bereinigte mobile Logo-Steuerung
 * Der Regler „Logo-Breite mobil“ ist die einzige sichtbare
 * mobile Größensteuerung. Der Header wächst passend mit.
 * ======================================================= */
@media (max-width: 980px) {
    .site-header.st-header-designer-active > .header-main,
    .site-header > .header-main,
    .site-header .header-main {
        --st-effective-mobile-logo-width: min(var(--st-mobile-logo-width, 180px), 68vw);
        min-height: max(
            var(--st-mobile-header-height, 170px),
            calc(var(--st-effective-mobile-logo-width) + 24px)
        ) !important;
        height: max(
            var(--st-mobile-header-height, 170px),
            calc(var(--st-effective-mobile-logo-width) + 24px)
        ) !important;
    }

    .site-header .site-branding,
    body:not(.st-mobile-left-handed) .site-header .site-branding,
    body.st-mobile-left-handed .site-header .site-branding {
        width: var(--st-effective-mobile-logo-width) !important;
        max-width: var(--st-effective-mobile-logo-width) !important;
    }

    .site-header .site-branding .custom-logo-link,
    .site-header .site-branding .custom-logo {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
    }
}

@media (max-width: 420px) {
    .site-header.st-header-designer-active > .header-main,
    .site-header > .header-main,
    .site-header .header-main {
        --st-effective-mobile-logo-width: min(var(--st-mobile-logo-width, 180px), 58vw);
    }
}


/* =========================================================
 * 1.9.0 – Logo und Header sauber getrennt
 * ======================================================= */
@media (max-width: 980px) {
    /* Der Header behält immer seine eigene, feste Höhe. */
    .site-header.st-header-designer-active > .header-main {
        position: relative !important;
        height: var(--st-mobile-header-height, 170px) !important;
        min-height: var(--st-mobile-header-height, 170px) !important;
        max-height: var(--st-mobile-header-height, 170px) !important;
        overflow: visible !important;
    }

    /* Überlagerungsmodus: Logo ist eine eigene Ebene und verändert die Headerhöhe nicht. */
    body.st-mobile-logo-overlap .site-header .site-branding,
    body.st-mobile-logo-overlap:not(.st-mobile-left-handed) .site-header .site-branding,
    body.st-mobile-logo-overlap.st-mobile-left-handed .site-header .site-branding {
        position: absolute !important;
        top: 50% !important;
        left: 50% !important;
        right: auto !important;
        z-index: 4 !important;

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

        width: min(var(--st-mobile-logo-width, 180px), 70vw) !important;
        max-width: min(var(--st-mobile-logo-width, 180px), 70vw) !important;
        height: auto !important;
        max-height: none !important;

        margin: 0 !important;
        padding: 0 !important;
        transform:
            translate(-50%, -50%)
            translateY(var(--st-mobile-logo-offset-y, 0px)) !important;
        pointer-events: auto !important;
    }

    body.st-mobile-logo-overlap .site-header .site-branding .custom-logo-link {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        margin: 0 !important;
        transform: none !important;
    }

    body.st-mobile-logo-overlap .site-header .site-branding .custom-logo {
        display: block !important;
        width: 100% !important;
        height: auto !important;
        max-width: 100% !important;
        max-height: none !important;
        margin: 0 auto !important;
        object-fit: contain !important;
    }

    /* Optionaler Inline-Modus, falls das Logo später wieder normal im Layout liegen soll. */
    body.st-mobile-logo-inline .site-header .site-branding {
        position: relative !important;
        inset: auto !important;
        transform: none !important;
        width: min(var(--st-mobile-logo-width, 180px), 56vw) !important;
        max-width: min(var(--st-mobile-logo-width, 180px), 56vw) !important;
        margin-inline: auto !important;
    }

    /* Aktionssymbole bleiben vor dem Logo bedienbar. */
    .site-header .header-actions {
        position: relative !important;
        z-index: 6 !important;
    }
}

@media (max-width: 420px) {
    body.st-mobile-logo-overlap .site-header .site-branding,
    body.st-mobile-logo-overlap:not(.st-mobile-left-handed) .site-header .site-branding,
    body.st-mobile-logo-overlap.st-mobile-left-handed .site-header .site-branding {
        width: min(var(--st-mobile-logo-width, 180px), 62vw) !important;
        max-width: min(var(--st-mobile-logo-width, 180px), 62vw) !important;
    }
}


/* =========================================================
 * 1.9.1 – Mobiler Header mit Drag-&-Drop-Zonen
 * ======================================================= */
@media (max-width: 980px) {
    .site-header .header-main.st-mobile-builder-active {
        position: relative !important;
        display: block !important;
    }

    .site-header .st-mobile-header-layout {
        position: absolute;
        z-index: 5;
        inset: 0;
        display: grid;
        grid-template-columns: minmax(0,1fr) minmax(0,1.35fr) minmax(0,1fr);
        align-items: center;
        width: 100%;
        height: 100%;
        padding: var(--st-header-padding-mobile, 6px) 10px;
        box-sizing: border-box;
        pointer-events: none;
    }

    .site-header .st-mobile-header-zone {
        display: flex;
        align-items: center;
        gap: var(--st-mobile-icon-gap, 8px);
        min-width: 0;
        pointer-events: none;
    }

    .site-header .st-mobile-header-zone-left {
        justify-content: flex-start;
    }

    .site-header .st-mobile-header-zone-center {
        justify-content: center;
    }

    .site-header .st-mobile-header-zone-right {
        justify-content: flex-end;
    }

    .site-header .st-mobile-header-zone > * {
        position: relative !important;
        inset: auto !important;
        flex: 0 0 auto;
        margin: 0 !important;
        transform: none !important;
        pointer-events: auto;
    }

    .site-header .st-mobile-header-zone .site-branding {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        width: min(var(--st-mobile-logo-width, 180px), 100%) !important;
        max-width: min(var(--st-mobile-logo-width, 180px), 100%) !important;
        height: auto !important;
        z-index: auto !important;
    }

    .site-header .st-mobile-header-zone .site-branding .custom-logo-link,
    .site-header .st-mobile-header-zone .site-branding .custom-logo {
        width: 100% !important;
        max-width: 100% !important;
        height: auto !important;
        max-height: none !important;
        margin: 0 !important;
        transform: none !important;
        object-fit: contain !important;
    }

    .site-header .st-mobile-header-zone .header-action,
    .site-header .st-mobile-header-zone .menu-toggle {
        width: var(--st-mobile-icon-button-size, 58px) !important;
        min-width: var(--st-mobile-icon-button-size, 58px) !important;
        height: var(--st-mobile-icon-button-size, 58px) !important;
        min-height: var(--st-mobile-icon-button-size, 58px) !important;
    }

    /* Der alte Aktionscontainer darf die verteilten Elemente nicht mehr beeinflussen. */
    .site-header .header-main.st-mobile-builder-active > .header-actions {
        display: none !important;
    }

    /* Konto bleibt mobil wie bisher verborgen. */
    .site-header .st-account-popover {
        display: none !important;
    }
}

@media (max-width: 420px) {
    .site-header .st-mobile-header-layout {
        grid-template-columns: minmax(0,.95fr) minmax(0,1.2fr) minmax(0,.95fr);
        padding-inline: 6px;
    }

    .site-header .st-mobile-header-zone {
        gap: min(var(--st-mobile-icon-gap, 8px), 5px);
    }
}


/* =========================================================
 * 1.9.2 – Drag-&-Drop-Header im Linkshänder-Modus spiegeln
 *
 * Nicht nur die Reihenfolge innerhalb einer Zone, sondern die
 * komplette linke und rechte Zone werden vertauscht.
 * Die mittlere Logo-Zone bleibt immer in der Mitte.
 * ======================================================= */
@media (max-width: 980px) {
    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-left {
        grid-column: 3 !important;
        justify-content: flex-end !important;
        flex-direction: row-reverse !important;
    }

    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-center {
        grid-column: 2 !important;
        justify-content: center !important;
        flex-direction: row !important;
    }

    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-right {
        grid-column: 1 !important;
        justify-content: flex-start !important;
        flex-direction: row-reverse !important;
    }

    body:not(.st-mobile-left-handed)
    .site-header
    .st-mobile-header-zone-left,
    body.st-mobile-right-handed
    .site-header
    .st-mobile-header-zone-left {
        grid-column: 1 !important;
        justify-content: flex-start !important;
        flex-direction: row !important;
    }

    body:not(.st-mobile-left-handed)
    .site-header
    .st-mobile-header-zone-center,
    body.st-mobile-right-handed
    .site-header
    .st-mobile-header-zone-center {
        grid-column: 2 !important;
        justify-content: center !important;
        flex-direction: row !important;
    }

    body:not(.st-mobile-left-handed)
    .site-header
    .st-mobile-header-zone-right,
    body.st-mobile-right-handed
    .site-header
    .st-mobile-header-zone-right {
        grid-column: 3 !important;
        justify-content: flex-end !important;
        flex-direction: row !important;
    }
}


/* =========================================================
 * 1.9.3 – Linkshänder-Zonen vertikal ausrichten
 *
 * Alte mobile Positionsregeln dürfen die im Builder
 * verschobenen Elemente nicht mehr nach oben/unten versetzen.
 * ======================================================= */
@media (max-width: 980px) {
    .site-header .st-mobile-header-layout {
        grid-template-rows: minmax(0, 1fr) !important;
    }

    .site-header .st-mobile-header-zone,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone,
    body.st-mobile-right-handed .site-header .st-mobile-header-zone {
        grid-row: 1 !important;
        align-self: stretch !important;
        align-items: center !important;
        top: auto !important;
        bottom: auto !important;
        min-height: 0 !important;
        height: 100% !important;
        padding: 0 !important;
    }

    .site-header .st-mobile-header-zone > .st-mobile-search-toggle,
    .site-header .st-mobile-header-zone > .st-cart-popover,
    .site-header .st-mobile-header-zone > .menu-toggle,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone > .st-mobile-search-toggle,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone > .st-cart-popover,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone > .menu-toggle {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        bottom: auto !important;
        left: auto !important;
        inset: auto !important;
        align-self: center !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        translate: none !important;
        transform: none !important;
    }

    .site-header .st-mobile-header-zone > .st-cart-popover {
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
        height: var(--st-mobile-icon-button-size, 58px) !important;
    }

    .site-header .st-mobile-header-zone > .st-cart-popover > .cart-link {
        margin: 0 !important;
    }

    body.st-mobile-left-handed .site-header .st-mobile-header-zone-left,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone-center,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone-right {
        grid-row: 1 !important;
    }
}


/* =========================================================
 * 1.9.4 – Linkshänder-Reihenfolge nicht doppelt spiegeln
 *
 * JavaScript spiegelt bereits:
 * rechts [Warenkorb, Menü] -> links [Menü, Warenkorb].
 * Deshalb dürfen die Zonen selbst nicht nochmals row-reverse nutzen.
 * ======================================================= */
@media (max-width: 980px) {
    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-left {
        grid-column: 3 !important;
        justify-content: flex-end !important;
        flex-direction: row !important;
    }

    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-center {
        grid-column: 2 !important;
        justify-content: center !important;
        flex-direction: row !important;
    }

    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-right {
        grid-column: 1 !important;
        justify-content: flex-start !important;
        flex-direction: row !important;
    }
}


/* =========================================================
 * 1.9.5 – Vertikalen Versatz der mobilen Aktionen wieder zulassen
 *
 * Die Drag-&-Drop-Zonen bleiben auf derselben Grundlinie.
 * Suche, Warenkorb und Menü dürfen jedoch gemeinsam über den
 * Customizer-Wert nach oben oder unten verschoben werden.
 * ======================================================= */
@media (max-width: 980px) {
    .site-header .st-mobile-header-zone > .st-mobile-search-toggle,
    .site-header .st-mobile-header-zone > .st-cart-popover,
    .site-header .st-mobile-header-zone > .menu-toggle,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone > .st-mobile-search-toggle,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone > .st-cart-popover,
    body.st-mobile-left-handed .site-header .st-mobile-header-zone > .menu-toggle {
        transform: translateY(var(--st-mobile-header-actions-offset-y, 0px)) !important;
    }

    .site-header .st-mobile-header-zone > .st-cart-popover {
        overflow: visible !important;
    }
}


/* =========================================================
 * 1.9.6 – Vertikaler Mobilversatz: nur eine Customizer-Einstellung
 * ======================================================= */
@media (max-width: 980px) {
    .site-header .st-mobile-header-zone > .st-mobile-search-toggle,
    .site-header .st-mobile-header-zone > .st-cart-popover,
    .site-header .st-mobile-header-zone > .menu-toggle {
        transform: translateY(var(--st-mobile-header-actions-offset-y, 0px)) !important;
    }
}


/* =========================================================
 * 1.9.7 – Mobiler Sticky-Header mit Mini-Logo
 * ======================================================= */
@media (max-width: 980px) {
    body.st-mobile-sticky-enabled.st-mobile-sticky-active .site-header {
        position: sticky !important;
        top: 0 !important;
        z-index: 99990 !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header.st-header-designer-active > .header-main {
        height: var(--st-mobile-sticky-height, 64px) !important;
        min-height: var(--st-mobile-sticky-height, 64px) !important;
        max-height: var(--st-mobile-sticky-height, 64px) !important;
        background-image: none !important;
        background-color: color-mix(in srgb, var(--st-surface-header, #fff) 92%, transparent) !important;
        backdrop-filter: blur(14px);
        box-shadow: 0 10px 30px rgba(40, 28, 35, .11);
        transition:
            height .22s ease,
            min-height .22s ease,
            max-height .22s ease,
            background-color .22s ease,
            box-shadow .22s ease;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header.st-header-designer-active > .header-main::before {
        display: none !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header .st-mobile-header-layout {
        height: var(--st-mobile-sticky-height, 64px) !important;
        min-height: var(--st-mobile-sticky-height, 64px) !important;
        padding-top: 4px !important;
        padding-bottom: 4px !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header .st-mobile-header-zone .site-branding {
        width: min(var(--st-mobile-sticky-logo-width, 72px), 100%) !important;
        max-width: min(var(--st-mobile-sticky-logo-width, 72px), 100%) !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header .st-mobile-header-zone .site-branding .custom-logo {
        width: 100% !important;
        max-height: calc(var(--st-mobile-sticky-height, 64px) - 12px) !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header .st-mobile-header-zone .header-action,
    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header .st-mobile-header-zone .menu-toggle {
        width: min(var(--st-mobile-icon-button-size, 58px), 46px) !important;
        min-width: min(var(--st-mobile-icon-button-size, 58px), 46px) !important;
        height: min(var(--st-mobile-icon-button-size, 58px), 46px) !important;
        min-height: min(var(--st-mobile-icon-button-size, 58px), 46px) !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active .site-header .st-nav-row {
        display: block !important;
        position: relative !important;
        width: 100% !important;
        height: 0 !important;
        min-height: 0 !important;
        max-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        overflow: visible !important;
        pointer-events: none !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header .st-nav-row > .container {
        width: 100% !important;
        height: 0 !important;
        min-height: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
        overflow: visible !important;
        pointer-events: none !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header .st-nav-row .main-navigation,
    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header .st-nav-row .main-navigation.is-open {
        pointer-events: auto !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active .site-header .st-mobile-search-panel {
        top: var(--st-mobile-sticky-height, 64px) !important;
    }
}


/* =========================================================
 * 1.9.8 – Mobile Sticky-Aktionen immer mittig ausrichten
 *
 * Der im normalen mobilen Header gewählte vertikale Versatz
 * gilt nicht im kompakten Sticky-Header.
 * ======================================================= */
@media (max-width: 980px) {
    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header
    .st-mobile-header-zone > .st-mobile-search-toggle,

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header
    .st-mobile-header-zone > .st-cart-popover,

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header
    .st-mobile-header-zone > .menu-toggle,

    body.st-mobile-sticky-enabled.st-mobile-sticky-active.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone > .st-mobile-search-toggle,

    body.st-mobile-sticky-enabled.st-mobile-sticky-active.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone > .st-cart-popover,

    body.st-mobile-sticky-enabled.st-mobile-sticky-active.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone > .menu-toggle {
        top: auto !important;
        bottom: auto !important;
        margin-top: 0 !important;
        margin-bottom: 0 !important;
        align-self: center !important;
        translate: none !important;
        transform: translateY(0) !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header
    .st-mobile-header-zone {
        align-items: center !important;
    }

    body.st-mobile-sticky-enabled.st-mobile-sticky-active
    .site-header
    .st-mobile-header-zone > .st-cart-popover {
        height: min(var(--st-mobile-icon-button-size, 58px), 46px) !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }
}


/* =========================================================
 * 1.9.9 – Linkshänder-Layout nur einmal spiegeln
 *
 * JavaScript behält immer das gespeicherte Grundlayout bei.
 * CSS tauscht für Linkshänder die äußeren Zonen und dreht
 * zugleich die Reihenfolge innerhalb dieser Zonen um.
 * ======================================================= */
@media (max-width: 980px) {
    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-left {
        grid-column: 3 !important;
        justify-content: flex-end !important;
        flex-direction: row-reverse !important;
    }

    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-center {
        grid-column: 2 !important;
        justify-content: center !important;
        flex-direction: row !important;
    }

    body.st-mobile-left-handed
    .site-header
    .st-mobile-header-zone-right {
        grid-column: 1 !important;
        justify-content: flex-start !important;
        flex-direction: row-reverse !important;
    }

    body:not(.st-mobile-left-handed)
    .site-header
    .st-mobile-header-zone-left,
    body.st-mobile-right-handed
    .site-header
    .st-mobile-header-zone-left {
        grid-column: 1 !important;
        justify-content: flex-start !important;
        flex-direction: row !important;
    }

    body:not(.st-mobile-left-handed)
    .site-header
    .st-mobile-header-zone-center,
    body.st-mobile-right-handed
    .site-header
    .st-mobile-header-zone-center {
        grid-column: 2 !important;
        justify-content: center !important;
        flex-direction: row !important;
    }

    body:not(.st-mobile-left-handed)
    .site-header
    .st-mobile-header-zone-right,
    body.st-mobile-right-handed
    .site-header
    .st-mobile-header-zone-right {
        grid-column: 3 !important;
        justify-content: flex-end !important;
        flex-direction: row !important;
    }
}


/* =========================================================
 * 1.10.0 – Desktop-Sticky: Untermenüs per Hover und Klick
 * ======================================================= */
@media (min-width: 981px) {
    .site-header.is-laptop-mini .main-navigation .menu-item-has-children {
        position: relative;
    }

    .site-header.is-laptop-mini .main-navigation .submenu-toggle {
        display: inline-flex !important;
        position: static !important;
        width: 24px !important;
        height: 24px !important;
        margin-left: 3px !important;
        padding: 0 !important;
        align-items: center !important;
        justify-content: center !important;
        border: 0 !important;
        border-radius: 999px !important;
        background: transparent !important;
        color: currentColor !important;
        font-size: 16px !important;
        line-height: 1 !important;
        transform: none !important;
        cursor: pointer;
    }

    .site-header.is-laptop-mini .main-navigation .submenu-toggle span {
        display: block;
        transition: transform .18s ease;
    }

    .site-header.is-laptop-mini .main-navigation .submenu-open > .submenu-toggle span {
        transform: rotate(45deg);
    }

    .site-header.is-laptop-mini .primary-menu .menu-item-has-children:hover > .sub-menu,
    .site-header.is-laptop-mini .primary-menu .menu-item-has-children.submenu-open > .sub-menu {
        display: block !important;
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateY(0) !important;
        pointer-events: auto !important;
    }

    .site-header.is-laptop-mini .primary-menu > .menu-item-has-children > a {
        display: inline-flex !important;
    }
}


/* =========================================================
 * 1.10.1 – Desktop-Sticky-Untermenüs nicht abschneiden
 * ======================================================= */
@media (min-width: 981px) {
    .site-header.is-laptop-mini,
    .site-header.is-laptop-mini .st-nav-row,
    .site-header.is-laptop-mini .st-nav-row > .container,
    .site-header.is-laptop-mini .main-navigation,
    .site-header.is-laptop-mini .primary-menu {
        overflow: visible !important;
    }

    .site-header.is-laptop-mini .st-nav-row {
        pointer-events: auto !important;
    }

    .site-header.is-laptop-mini .st-nav-row > .container {
        overflow-x: visible !important;
        overflow-y: visible !important;
    }

    .site-header.is-laptop-mini .primary-menu > .menu-item-has-children {
        display: flex !important;
        align-items: center !important;
        position: relative !important;
    }

    .site-header.is-laptop-mini
    .primary-menu > .menu-item-has-children > .sub-menu {
        display: block !important;
        position: absolute !important;
        z-index: 999999 !important;
        top: calc(100% - 2px) !important;
        left: 50% !important;
        min-width: 250px !important;
        max-width: min(360px, calc(100vw - 32px)) !important;
        margin: 0 !important;
        padding: 10px !important;
        transform: translate(-50%, 10px) !important;
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
        white-space: normal !important;
        background: var(--st-surface-dialog, var(--st-surface-card, #fff)) !important;
        border: var(--st-border-width, 1px) var(--st-border-style, solid)
            var(--st-border-color, rgba(59,45,56,.14)) !important;
        border-radius: var(--st-radius-card, 18px) !important;
        box-shadow: var(--st-shadow-dialog, 0 18px 50px rgba(30,20,26,.18)) !important;
        transition:
            opacity .18s ease,
            visibility .18s ease,
            transform .18s ease !important;
    }

    .site-header.is-laptop-mini
    .primary-menu > .menu-item-has-children:hover > .sub-menu,
    .site-header.is-laptop-mini
    .primary-menu > .menu-item-has-children.submenu-open > .sub-menu {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translate(-50%, 0) !important;
        pointer-events: auto !important;
    }

    .site-header.is-laptop-mini .primary-menu .sub-menu li,
    .site-header.is-laptop-mini .primary-menu .sub-menu a {
        width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
    }

    .site-header.is-laptop-mini .primary-menu .sub-menu a {
        display: block !important;
        min-height: 0 !important;
        padding: 10px 12px !important;
        line-height: 1.3 !important;
    }
}


/* =========================================================
 * 1.10.2 – Desktop-Sticky ohne Layoutsprung
 *
 * Der große Header scrollt normal aus der Seite. Sobald der
 * Auslöser erreicht ist, wird derselbe Header als kompakte,
 * feste Leiste eingeblendet. Ein Platzhalter bewahrt exakt
 * die ursprüngliche Dokumenthöhe.
 * ======================================================= */
@media (min-width: 981px) {
    .site-header.st-desktop-sticky-overlay:not(.is-laptop-mini) {
        position: relative !important;
        top: auto !important;
        right: auto !important;
        left: auto !important;
        width: 100% !important;
        transform: none !important;
    }

    .site-header.st-desktop-sticky-overlay.is-laptop-mini {
        position: fixed !important;
        top: 0 !important;
        right: 0 !important;
        left: 0 !important;
        width: 100% !important;
        z-index: 99990 !important;
        animation: st-desktop-sticky-enter .22s ease both;
    }

    .st-desktop-header-placeholder {
        display: block;
        width: 100%;
        height: 0;
        margin: 0;
        padding: 0;
        pointer-events: none;
    }

    .st-desktop-header-placeholder.is-active {
        height: var(--st-desktop-header-original-height, 0px);
    }

    @keyframes st-desktop-sticky-enter {
        from {
            opacity: 0;
            transform: translateY(-100%);
        }
        to {
            opacity: 1;
            transform: translateY(0);
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .site-header.st-desktop-sticky-overlay.is-laptop-mini {
        animation: none !important;
    }
}

/* 1.10.3 – Desktop-Header-Popovers mit sicherer Hover-Brücke */
@media (min-width:981px){
  .st-header-popover{isolation:isolate}
  .st-header-popover>.st-header-panel{transition:opacity .16s ease,transform .16s ease,visibility .16s ease}
  .st-header-popover.is-open>.st-header-panel{opacity:1;visibility:visible;transform:translateY(0);pointer-events:auto}
  .site-header.is-laptop-mini .st-header-popover::after{height:12px}
}


/* =========================================================
 * 1.10.4 – System- und Shortcode-Kacheln gleich breit
 *
 * Ältere Regeln haben Startseitenmodule außen begrenzt und
 * deren Container anschließend nochmals eingerückt. Dadurch
 * waren Kategorie-/Shortcode-Kacheln schmaler als Systemkarten.
 * ======================================================= */
@media (min-width: 981px) {
    body.home :is(
        .st-home-categories,
        .st-shortcode-section,
        .st-social-proof-section
    ).st-home-module,
    body.page-template-template-homepage :is(
        .st-home-categories,
        .st-shortcode-section,
        .st-social-proof-section
    ).st-home-module {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
        overflow: visible !important;
    }

    body.home :is(
        .st-home-categories,
        .st-shortcode-section,
        .st-social-proof-section
    ).st-home-module > .container,
    body.page-template-template-homepage :is(
        .st-home-categories,
        .st-shortcode-section,
        .st-social-proof-section
    ).st-home-module > .container {
        width: min(calc(100% - 40px), var(--st-max)) !important;
        max-width: var(--st-max) !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
        box-sizing: border-box !important;
    }

    /* Shortcode-Ausgaben dürfen die volle Containerbreite nutzen. */
    body.home :is(.st-shortcode-output, .st-category-shortcode-output),
    body.page-template-template-homepage :is(.st-shortcode-output, .st-category-shortcode-output) {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
        box-sizing: border-box !important;
    }

    /* Häufige Grid-Wrapper eingebetteter Shortcodes nicht zusätzlich begrenzen. */
    body.home :is(.st-shortcode-output, .st-category-shortcode-output)
        :is(.container, .st-container, .st-grid, .st-category-grid, .wc-block-grid, .wp-block-woocommerce-product-collection),
    body.page-template-template-homepage :is(.st-shortcode-output, .st-category-shortcode-output)
        :is(.container, .st-container, .st-grid, .st-category-grid, .wc-block-grid, .wp-block-woocommerce-product-collection) {
        width: 100% !important;
        max-width: none !important;
        margin-inline: 0 !important;
    }
}

@media (max-width: 980px) {
    body.home :is(
        .st-home-categories,
        .st-shortcode-section,
        .st-social-proof-section
    ).st-home-module > .container,
    body.page-template-template-homepage :is(
        .st-home-categories,
        .st-shortcode-section,
        .st-social-proof-section
    ).st-home-module > .container {
        width: min(calc(100% - 20px), var(--st-max)) !important;
        margin-inline: auto !important;
        padding-inline: 0 !important;
    }
}


/* 1.10.5 – Steuerbare WooCommerce-Innenkacheln */
:is(
    .st-woocommerce-product-container,
    .st-standard-page-container .st-woocommerce-product-container,
    .st-standard-page-container .entry-card:has(.wp-block-woocommerce-product-collection),
    .st-standard-page-container .entry-card:has(.wc-block-product-template)
) {
    background: var(--st-product-container-background, #fff) !important;
}

:is(.wc-block-product, .wc-block-grid__product, ul.products li.product) {
    --st-card-radius: var(--st-product-card-radius, 18px);
}

/* Die Einstellung betrifft bewusst die weiße Innenkachel, nicht den äußeren Modulbereich. */
.wc-block-grid__product,
ul.products li.product {
    background: var(--st-product-card-background, #fff) !important;
    border: var(--st-product-card-border-width, 1px) solid var(--st-product-card-border-color, #e8e2e5) !important;
    border-radius: var(--st-product-card-radius, 18px) !important;
    box-shadow: var(--st-product-card-shadow, var(--st-global-shadow, none)) !important;
}


/* =========================================================
 * 1.10.6 – Mobiles Off-Canvas-Menü im Sticky-Header
 *
 * Die Navigationszeile bleibt als unsichtbarer Träger erhalten.
 * Dadurch kann das darin liegende feste Mobilmenü weiter öffnen.
 * ======================================================= */
@media (max-width: 980px) {
    body.st-mobile-sticky-active .site-header .menu-toggle {
        position: relative !important;
        z-index: 20 !important;
        pointer-events: auto !important;
        cursor: pointer !important;
    }

    body.st-mobile-sticky-active .site-header .main-navigation,
    body.st-mobile-sticky-active .site-header .main-navigation.is-open {
        position: fixed !important;
        display: grid !important;
        grid-template-rows: auto minmax(0, 1fr) auto !important;
        align-content: stretch !important;
        top: 0 !important;
        bottom: 0 !important;
        height: 100dvh !important;
        min-height: 100dvh !important;
        max-height: 100dvh !important;
        overflow: hidden !important;
        z-index: 100002 !important;
        pointer-events: auto !important;
    }

    body.admin-bar.st-mobile-sticky-active .site-header .main-navigation,
    body.admin-bar.st-mobile-sticky-active .site-header .main-navigation.is-open {
        top: var(--wp-admin--admin-bar--height, 46px) !important;
        height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px)) !important;
        min-height: 0 !important;
        max-height: calc(100dvh - var(--wp-admin--admin-bar--height, 46px)) !important;
    }

    body.st-mobile-sticky-active
    .site-header .main-navigation .mobile-menu-scroll {
        display: block !important;
        grid-row: 2 !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        overflow-x: hidden !important;
        overflow-y: auto !important;
        overscroll-behavior-y: contain !important;
        -webkit-overflow-scrolling: touch !important;
        touch-action: pan-y !important;
        pointer-events: auto !important;
    }

    body.st-mobile-sticky-active .menu-backdrop {
        z-index: 100001 !important;
    }

    body.st-mobile-sticky-active.menu-open {
        overflow: hidden !important;
    }
}

/* =========================================================
 * 1.10.7 – Geöffnetes mobiles Untermenü automatisch anzeigen
 * ======================================================= */
@media (max-width: 980px) {
    .main-navigation .mobile-menu-scroll {
        scroll-behavior: smooth;
        scroll-padding-top: 16px;
    }

    .main-navigation .menu-item-has-children {
        scroll-margin-top: 16px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .main-navigation .mobile-menu-scroll {
        scroll-behavior: auto;
    }
}


/* =========================================================
 * 1.10.8 – Scrollbares Mobilmenü auch im Sticky-Header
 * ======================================================= */
@media (max-width: 980px) {
    body.st-mobile-sticky-active
    .site-header .main-navigation .mobile-menu-head {
        grid-row: 1 !important;
        flex-shrink: 0 !important;
    }

    body.st-mobile-sticky-active
    .site-header .main-navigation .mobile-menu-links {
        grid-row: 3 !important;
        flex-shrink: 0 !important;
    }

    body.st-mobile-sticky-active.menu-open
    .site-header .st-nav-row,
    body.st-mobile-sticky-active.menu-open
    .site-header .st-nav-row > .container {
        pointer-events: auto !important;
    }
}


/* =========================================================
 * 1.12.0 – Phase 3
 *
 * Customizer code modularized and Design/WooCommerce panels
 * introduced. No frontend layout rules changed in this phase.
 * ======================================================= */


/* =========================================================
 * 1.12.1 – WooCommerce-Customizer bereinigt
 *
 * ST-Produktkarten liegen im systemeigenen WooCommerce-Panel.
 * ======================================================= */


/* =========================================================
 * 1.12.2 – Startseiten-Customizer zusammengefasst
 *
 * Startseiten-Builder und KGV Dobritz Startseite liegen
 * gemeinsam im neuen Hauptbereich "Startseite".
 * ======================================================= */


/* =========================================================
 * 1.12.3 – Startseitenbereiche vollständig zusammengeführt
 *
 * Builder, Startseite, Header & Kontakt sowie Footer befinden
 * sich gemeinsam im Startseiten-Panel. Frontend unverändert.
 * ======================================================= */


/* =========================================================
 * 1.12.4 – Separate Produktnamen-Typografie
 * ======================================================= */


/* =========================================================
 * 1.12.5 – WooCommerce Designbereich
 *
 * ST-Produktkarten, Produktcontainer und Produktnamen liegen
 * gemeinsam unter WooCommerce → Design.
 * ======================================================= */


/* =========================================================
 * 1.12.6 – Stabiler Sticky-Übergang
 * Hysterese verhindert Flackern am Umschaltpunkt.
 * ======================================================= */


/* =========================================================
 * 1.12.7 – Kompakter Sticky-Header für kleine Laptops
 *
 * Auf 13-Zoll-Displays wird der Platz vor den Aktionssymbolen
 * geschützt. Das Menü nutzt den Logo-Bereich mit und skaliert
 * Schrift sowie Abstände abhängig von der Fensterbreite.
 * ======================================================= */
@media (min-width:981px) and (max-width:1480px) {
  .site-header.is-laptop-mini > .header-main {
    width:calc(100% - 20px)!important;
    grid-template-columns:0 minmax(0,1fr) auto!important;
    gap:6px!important;
  }

  .site-header.is-laptop-mini .site-branding {
    width:0!important;
    min-width:0!important;
    overflow:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }

  .site-header.is-laptop-mini .st-nav-row {
    left:12px!important;
    right:168px!important;
  }

  .site-header.is-laptop-mini .primary-menu {
    width:100%!important;
    min-width:0!important;
    justify-content:flex-start!important;
  }

  .site-header.is-laptop-mini .primary-menu > li {
    flex:0 0 auto!important;
  }

  .site-header.is-laptop-mini .header-actions {
    gap:3px!important;
  }

  .site-header.is-laptop-mini .header-action {
    width:36px!important;
    min-width:36px!important;
    height:36px!important;
  }
}

@media (min-width:981px) and (max-width:1250px) {
  .site-header.is-laptop-mini .st-nav-row {
    left:8px!important;
    right:154px!important;
  }

  .site-header.is-laptop-mini .header-action {
    width:34px!important;
    min-width:34px!important;
    height:34px!important;
  }

  .site-header.is-laptop-mini .header-action svg {
    width:16px!important;
    height:16px!important;
  }
}




/* =========================================================
 * 1.12.9 – Automatische Sticky-Menüschrift
 *
 * JavaScript misst den tatsächlich verfügbaren Platz bis zu
 * Suche, Konto und Warenkorb. Die Schrift wird nur so weit
 * reduziert, wie es zum vollständigen Einpassen nötig ist.
 * ======================================================= */
@media (min-width:981px) {
  .site-header.is-laptop-mini .st-nav-row > .container {
    overflow:hidden!important;
  }

  .site-header.is-laptop-mini .primary-menu {
    width:max-content!important;
    min-width:0!important;
    max-width:none!important;
  }
}


/* =========================================================
 * 1.13.1 – Sichere Wiederherstellung nach 1.13.0
 *
 * Basierend auf der stabilen 1.12.9. Nur ungefährliche
 * Ebenenregeln für Aktionen und Desktop-Untermenüs.
 * ======================================================= */
@media (min-width: 981px) {
    .site-header.is-laptop-mini {
        overflow: visible !important;
    }

    .site-header.is-laptop-mini .header-actions {
        position: relative !important;
        z-index: 500 !important;
    }

    .site-header.is-laptop-mini .st-nav-row,
    .site-header.is-laptop-mini .main-navigation,
    .site-header.is-laptop-mini .primary-menu {
        overflow: visible !important;
    }

    .site-header.is-laptop-mini .primary-menu > li {
        position: relative !important;
    }

    .site-header.is-laptop-mini .primary-menu > li > .sub-menu {
        z-index: 1000 !important;
    }
}


/* =========================================================
 * 1.13.3 – Robustes 13-Zoll-Sticky-Layout
 *
 * Nur die sichtbaren Hauptmenüpunkte werden vermessen. Das
 * Menü endet real vor der Aktionsgruppe; Untermenüs bleiben
 * außerhalb des begrenzten Streifens sichtbar.
 * ======================================================= */
@media (min-width:981px) {
  .site-header.is-laptop-mini {
    overflow:visible!important;
    isolation:isolate!important;
  }

  .site-header.is-laptop-mini > .header-main {
    position:relative!important;
    z-index:40!important;
  }

  .site-header.is-laptop-mini .header-actions {
    position:relative!important;
    z-index:300!important;
    margin-left:auto!important;
    background:var(--st-header-bg-color,var(--st-surface-card,#fff))!important;
  }

  .site-header.is-laptop-mini .st-nav-row {
    right:var(--st-laptop-mini-actions-inset,170px)!important;
    z-index:100!important;
    overflow:visible!important;
  }

  .site-header.is-laptop-mini .st-nav-row > .container,
  .site-header.is-laptop-mini .main-navigation,
  .site-header.is-laptop-mini .primary-menu {
    overflow:visible!important;
    max-width:100%!important;
  }

  .site-header.is-laptop-mini .primary-menu {
    width:max-content!important;
    min-width:0!important;
    white-space:nowrap!important;
    flex-wrap:nowrap!important;
  }

  .site-header.is-laptop-mini .primary-menu > li {
    position:relative!important;
    flex:0 0 auto!important;
  }

  .site-header.is-laptop-mini .primary-menu > li:hover,
  .site-header.is-laptop-mini .primary-menu > li.submenu-open {
    z-index:1000!important;
  }

  .site-header.is-laptop-mini .primary-menu > li > .sub-menu {
    z-index:10000!important;
  }
}

/* =========================================================
 * 1.13.5 – Sticky-Aktionen exakt wie im normalen Header
 * ======================================================= */
@media (min-width:981px) {
  .site-header.is-laptop-mini .header-actions {
    transform:translateX(var(--st-laptop-mini-actions-shift,0px))!important;
    flex:0 0 auto!important;
    justify-self:end!important;
    white-space:nowrap!important;
  }

  .site-header.is-laptop-mini > .header-main {
    width:min(calc(100% - 32px),var(--st-header-content-width,1600px))!important;
    max-width:none!important;
  }
}


/* =========================================================
 * 1.13.6 – Echter zweigeteilter Desktop-Sticky-Header
 *
 * Die vorhandene Headerstruktur bleibt erhalten. Im Sticky-Zustand
 * belegt header-main die volle Breite und hält die Aktionen fest rechts.
 * Die Navigation erhält ausschließlich den Raum links davon.
 * ======================================================= */
@media (min-width:981px) {
  .site-header.is-laptop-mini {
    position:fixed!important;
    display:block!important;
    overflow:visible!important;
  }

  .site-header.is-laptop-mini > .header-main {
    position:relative!important;
    z-index:300!important;
    width:100%!important;
    max-width:none!important;
    min-height:var(--st-laptop-mini-header-height,58px)!important;
    margin:0!important;
    padding:0 clamp(18px,3vw,64px)!important;
    display:grid!important;
    grid-template-columns:minmax(0,1fr) max-content!important;
    align-items:center!important;
    gap:0!important;
    pointer-events:none!important;
    box-sizing:border-box!important;
  }

  .site-header.is-laptop-mini > .header-main .site-branding,
  .site-header.is-laptop-mini > .header-main .st-header-search {
    display:none!important;
  }

  .site-header.is-laptop-mini > .header-main .header-actions {
    grid-column:2!important;
    position:relative!important;
    right:auto!important;
    left:auto!important;
    transform:none!important;
    margin:0!important;
    padding:0!important;
    justify-self:end!important;
    z-index:500!important;
    pointer-events:auto!important;
    background:var(--st-header-bg-color,var(--st-surface-card,#fff))!important;
  }

  .site-header.is-laptop-mini .st-nav-row {
    position:absolute!important;
    z-index:350!important;
    top:0!important;
    bottom:auto!important;
    left:clamp(18px,3vw,64px)!important;
    right:calc(clamp(18px,3vw,64px) + var(--st-sticky-actions-width,170px) + 16px)!important;
    height:var(--st-laptop-mini-header-height,58px)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:visible!important;
    pointer-events:none!important;
    box-sizing:border-box!important;
  }

  .site-header.is-laptop-mini .st-nav-row > .container,
  .site-header.is-laptop-mini .main-navigation,
  .site-header.is-laptop-mini .mobile-menu-scroll {
    width:100%!important;
    max-width:none!important;
    height:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:visible!important;
    pointer-events:auto!important;
  }

  .site-header.is-laptop-mini .primary-menu {
    width:max-content!important;
    max-width:none!important;
    min-width:0!important;
    height:100%!important;
    margin:0!important;
    flex-wrap:nowrap!important;
    align-items:center!important;
    justify-content:flex-start!important;
    white-space:nowrap!important;
    overflow:visible!important;
  }

  .site-header.is-laptop-mini .primary-menu > li > a,
  .site-header.is-laptop-mini .submenu-toggle {
    font-size:var(--st-laptop-mini-menu-size,17px)!important;
  }

  .site-header.is-laptop-mini .st-sticky-more-item {
    display:none!important;
  }
}


/* =========================================================
 * 1.13.7 – Getrennte Typografie
 * ======================================================= */
@media (min-width: 981px) {
  .site-header.is-laptop-mini .primary-menu > li > a {
    font-size: var(--st-laptop-mini-menu-size, 17px) !important;
  }
}


.wc-block-product .wp-block-post-title,
.wc-block-product .wp-block-post-title a,
.wc-block-grid__product .wc-block-grid__product-title,
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title a {
  font-family: var(--st-product-title-font, var(--st-font-body)) !important;
  font-size: var(--st-product-title-size-desktop, 18px) !important;
  font-weight: var(--st-product-title-weight, 700) !important;
  line-height: var(--st-product-title-line-height, 1.25) !important;
  letter-spacing: var(--st-product-title-letter-spacing, 0) !important;
  text-align: var(--st-product-title-align, center) !important;
  color: var(--st-product-title-color, var(--st-text)) !important;
}

@media (max-width: 980px) {
  .wc-block-product .wp-block-post-title,
  .wc-block-product .wp-block-post-title a,
  .wc-block-grid__product .wc-block-grid__product-title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title,
  .woocommerce ul.products li.product .woocommerce-loop-product__title a {
    font-size: var(--st-product-title-size-mobile, 15px) !important;
  }
}


/* =========================================================
 * 1.13.8 – Feste Aktionsspalte im Desktop-Sticky-Header
 *
 * Suche, Konto und Warenkorb sitzen wieder in header-main. Ihre echte Breite
 * wird für die Navigation reserviert.
 * ======================================================= */
@media (min-width: 981px) {
  .site-header.is-laptop-mini > .header-main {
    z-index: 400 !important;
    width: 100% !important;
    padding-right: var(--st-sticky-edge-inset, 16px) !important;
    padding-left: var(--st-sticky-edge-inset, 16px) !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
  }

  .site-header.is-laptop-mini > .header-main .header-actions {
    display: flex !important;
    grid-column: 2 !important;
    align-items: center !important;
    justify-self: end !important;
    flex-wrap: nowrap !important;
    transform: none !important;
    margin: 0 !important;
    background: transparent !important;
    pointer-events: auto !important;
  }

  .site-header.is-laptop-mini .st-desktop-nav-layout {
    display: block !important;
  }

  .site-header.is-laptop-mini .st-desktop-header-tools {
    display: none !important;
  }

  .site-header.is-laptop-mini .st-nav-row {
    z-index: 300 !important;
    left: var(--st-sticky-edge-inset, 16px) !important;
    right: calc(
      var(--st-sticky-edge-inset, 16px) +
      var(--st-sticky-actions-width, 124px) +
      16px
    ) !important;
  }

  .site-header.is-laptop-mini .primary-menu {
    width: max-content !important;
    max-width: 100% !important;
    min-width: 0 !important;
    flex-wrap: nowrap !important;
  }

}


/* =========================================================
 * 1.13.9 – Automatische Sticky-Menüschrift ohne Mehr-Menü
 * ======================================================= */
@media (min-width: 981px) {
  .site-header.is-laptop-mini .primary-menu > li > a {
    font-size: var(
      --st-laptop-mini-auto-font-size,
      var(--st-laptop-mini-menu-size, 17px)
    ) !important;
  }
}


/* =========================================================
 * 1.14.0 – Separate Footer-Hintergrundbilder
 * ======================================================= */
.site-footer {
  background-color: var(--st-footer-background, #263b2d) !important;
  background-image: var(--st-footer-bg-image, none) !important;
  background-size: var(--st-footer-bg-size, cover) !important;
  background-position: var(--st-footer-bg-position, center bottom) !important;
  background-repeat: var(--st-footer-bg-repeat, no-repeat) !important;
}

@media (max-width: 980px) {
  .site-footer {
    background-image: var(--st-mobile-footer-bg-image, none) !important;
    background-size: var(--st-mobile-footer-bg-size, cover) !important;
    background-position: var(--st-mobile-footer-bg-position, center bottom) !important;
    background-repeat: no-repeat !important;
  }
}


/* =========================================================
 * 1.14.2 – Sortierbare Footer-Container
 * ======================================================= */
.footer-intro.is-rating-first .footer-rating {
  text-align: left;
}

.footer-bottom > :first-child {
  justify-self: start;
}

.footer-bottom > :nth-child(2):not(:last-child) {
  justify-self: center;
  text-align: center;
}

.footer-bottom > :last-child {
  justify-self: end;
}

@media (max-width: 620px) {
  .footer-bottom > * {
    order: initial !important;
    align-self: flex-start;
    justify-self: start;
    text-align: left;
  }

  .footer-intro.is-rating-first .footer-rating {
    margin-top: 0;
    margin-bottom: 22px;
    text-align: left;
  }
}


/* =========================================================
 * 1.14.3 – Footer-Inhalte auf die freie Bildfläche schieben
 * ======================================================= */
@media (min-width: 981px) {
  .site-footer > .container {
    width: min(
      calc(100% - 40px),
      var(--st-footer-content-width-desktop, 82vw),
      var(--st-content-width-max, 1520px)
    ) !important;
    position: relative;
    left: var(--st-footer-content-offset-x-desktop, 0px);
  }

  .site-footer .footer-intro {
    transform: translateX(var(--st-footer-intro-offset-x-desktop, 0px));
  }

  .site-footer .footer-grid {
    transform: translateX(var(--st-footer-columns-offset-x-desktop, 0px));
  }

  .site-footer .footer-bottom {
    transform: translateX(var(--st-footer-bottom-offset-x-desktop, 0px));
  }
}


/* =========================================================
 * 1.14.4 – Mobiles Headerbild automatisch proportional
 * ======================================================= */
@media (max-width: 980px) {
  body.st-mobile-header-proportional:not(.st-mobile-sticky-active)
  .site-header > .header-main {
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: var(--st-mobile-header-aspect-ratio, 3 / 1) !important;
    background-color: var(--st-header-bg-color, #fff) !important;
    background-image: var(--st-mobile-header-image, none) !important;
    background-size: 100% auto !important;
    background-position: center top !important;
    background-repeat: no-repeat !important;
  }
}


/* =========================================================
 * 1.14.5 – Bildfläche und mobile Symbolleiste sauber trennen
 *
 * Das Bild bleibt proportional. Ein prozentualer Beschnitt entfernt
 * leere Fläche oben auf allen Displaybreiten gleichmäßig. Suche,
 * Warenkorb und Menü erhalten darunter eine eigene Zeile.
 * ======================================================= */
@media (max-width: 980px) {
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header > .header-main {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    margin: 0 !important;
    padding: 0 0 var(--st-mobile-header-action-bar-height, 74px) !important;
    overflow: visible !important;
    background-color: var(--st-header-bg-color, #fff) !important;
    background-image: none !important;
    box-sizing: border-box !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header > .header-main::before {
    content: "" !important;
    display: block !important;
    position: relative !important;
    z-index: 1 !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: var(--st-mobile-header-visible-aspect-ratio, 3 / .88) !important;
    background-color: var(--st-header-bg-color, #fff) !important;
    background-image: var(--st-mobile-header-image, none) !important;
    background-size: 100% auto !important;
    background-position: center bottom !important;
    background-repeat: no-repeat !important;
    pointer-events: none !important;
    box-sizing: border-box !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header > .header-main::after {
    content: "" !important;
    display: block !important;
    position: absolute !important;
    z-index: 4 !important;
    right: 0 !important;
    bottom: 0 !important;
    left: 0 !important;
    width: 100% !important;
    height: var(--st-mobile-header-action-bar-height, 74px) !important;
    background: var(--st-header-bg-color, #fff) !important;
    pointer-events: none !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-layout {
    position: absolute !important;
    z-index: 5 !important;
    inset: 0 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr) minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) var(--st-mobile-header-action-bar-height, 74px) !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 10px !important;
    box-sizing: border-box !important;
    pointer-events: none !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone,
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active).st-mobile-left-handed
  .site-header .st-mobile-header-zone,
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active).st-mobile-right-handed
  .site-header .st-mobile-header-zone {
    grid-row: 2 !important;
    align-self: stretch !important;
    align-items: center !important;
    height: 100% !important;
    min-height: 0 !important;
    padding: 0 !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .site-branding {
    position: absolute !important;
    z-index: 6 !important;
    top: calc(50% - var(--st-mobile-header-action-bar-half, 37px)) !important;
    right: auto !important;
    bottom: auto !important;
    left: 50% !important;
    width: min(var(--st-mobile-logo-width, 180px), 70vw) !important;
    max-width: min(var(--st-mobile-logo-width, 180px), 70vw) !important;
    height: auto !important;
    margin: 0 !important;
    transform: translate(-50%, -50%) translateY(var(--st-mobile-logo-offset-y, 0px)) !important;
    pointer-events: auto !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .st-mobile-search-toggle,
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .st-cart-popover,
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .menu-toggle {
    transform: none !important;
  }
}


/* =========================================================
 * 1.14.6 – Kompakte und frei ausrichtbare mobile Symbolleiste
 * ======================================================= */
@media (max-width: 980px) {
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header > .header-main::before {
    background-size: cover !important;
    background-position: center bottom !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .st-mobile-search-toggle,
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .st-cart-popover,
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .menu-toggle {
    transform: translateY(var(--st-mobile-header-bar-icons-offset-y, 0px)) !important;
  }
}


/* =========================================================
 * 1.14.7 – Hintergrund und Symbole als eine gemeinsame Leiste
 * ======================================================= */
@media (max-width: 980px) {
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header > .header-main::before {
    margin-bottom: var(--st-mobile-header-action-bar-offset-y, 0px) !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .site-branding {
    top: calc(50% - var(--st-mobile-header-action-region-half, 5px)) !important;
  }

  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .st-mobile-search-toggle,
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .st-cart-popover,
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header .st-mobile-header-zone > .menu-toggle {
    transform: none !important;
  }
}


/* =========================================================
 * 1.14.9 – Weiße Bildränder getrennt entfernen
 * ======================================================= */
@media (max-width: 980px) {
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header > .header-main::before {
    background-size: calc(100% + 2px) auto !important;
    background-position: center var(--st-mobile-header-crop-position, 50%) !important;
  }
}


/* =========================================================
 * 1.14.10 – Bildbereich proportional vergrößern
 * ======================================================= */
@media (max-width: 980px) {
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header > .header-main::before {
    aspect-ratio: var(--st-mobile-header-display-aspect-ratio, 4 / 1) !important;
    background-size: var(--st-mobile-header-image-background-width, 100.5%) auto !important;
  }
}


/* =========================================================
 * 1.14.11 – Trennbalken unter der mobilen Symbolleiste
 * ======================================================= */
@media (max-width: 980px) {
  body.st-mobile-header-proportional.st-mobile-header-action-bar:not(.st-mobile-sticky-active)
  .site-header > .header-main::after {
    border-bottom: var(--st-mobile-header-divider-width, 2px) solid var(--st-mobile-header-divider-color, #d8c7b4) !important;
    box-sizing: border-box !important;
  }
}


/* =========================================================
 * 1.14.12 – Typografie der Produktkategorie-Beschriftung
 * ======================================================= */
.woocommerce ul.products li.product-category .woocommerce-loop-category__title,
.woocommerce-page ul.products li.product-category .woocommerce-loop-category__title,
.wc-block-product-categories-list-item__name,
.st-category-card .st-category-copy h3 {
  font-family: var(--st-product-category-title-font, var(--st-font-body)) !important;
  font-size: var(--st-product-category-title-size-desktop, 18px) !important;
  font-weight: var(--st-product-category-title-weight, 700) !important;
  color: var(--st-product-category-title-color, var(--st-text-heading)) !important;
}

.woocommerce ul.products li.product-category .woocommerce-loop-category__title .count,
.woocommerce-page ul.products li.product-category .woocommerce-loop-category__title .count,
.wc-block-product-categories-list-item__name + .wc-block-product-categories-list-item-count {
  color: inherit !important;
  font: inherit !important;
}

@media (max-width: 980px) {
  .woocommerce ul.products li.product-category .woocommerce-loop-category__title,
  .woocommerce-page ul.products li.product-category .woocommerce-loop-category__title,
  .wc-block-product-categories-list-item__name,
  .st-category-card .st-category-copy h3 {
    font-size: var(--st-product-category-title-size-mobile, 15px) !important;
  }
}


/* =========================================================
 * 1.14.13 – Leere Footerbereiche automatisch nachrücken
 * ======================================================= */
.site-footer .footer-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(220px, 100%), 1fr)) !important;
}

.site-footer .footer-bottom.footer-bottom-count-1 {
  grid-template-columns: 1fr !important;
}

.site-footer .footer-bottom.footer-bottom-count-1 > * {
  justify-self: start !important;
  text-align: left !important;
}

.site-footer .footer-bottom.footer-bottom-count-2 {
  grid-template-columns: 1fr 1fr !important;
}

.site-footer .footer-bottom.footer-bottom-count-2 > :first-child {
  justify-self: start !important;
  text-align: left !important;
}

.site-footer .footer-bottom.footer-bottom-count-2 > :last-child {
  justify-self: end !important;
  text-align: right !important;
}

@media (max-width: 620px) {
  .site-footer .footer-grid,
  .site-footer .footer-bottom.footer-bottom-count-1,
  .site-footer .footer-bottom.footer-bottom-count-2 {
    grid-template-columns: 1fr !important;
  }

  .site-footer .footer-bottom.footer-bottom-count-2 > :last-child {
    justify-self: start !important;
    text-align: left !important;
  }
}


/* =========================================================
 * 1.14.14 – Mobiler Sticky-Header ohne Scrollsprung
 *
 * Der Spacer gleicht nur während des kompakten Zustands die
 * Höhendifferenz zum großen Header aus. Geometrische Übergänge
 * werden bewusst nicht animiert, damit mobile Browser beim
 * Umschalten keinen neuen Scroll-Anker wählen.
 * ======================================================= */
.st-mobile-sticky-sentinel,
.st-mobile-sticky-spacer {
  display: none;
}


/* =========================================================
 * 1.15.0 – Footer-Container- und Widget-Builder
 * ======================================================= */
.st-footer-builder-grid {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  grid-auto-rows: max-content;
  align-content: space-between;
  gap: var(--st-fb-gap, 28px);
  min-height: var(--st-fb-min-height, 430px);
}

.st-footer-builder-item {
  grid-column: var(--st-fb-column, 1) / span var(--st-fb-span, 12);
  grid-row: var(--st-fb-row, auto);
  min-width: 0;
  max-width: 100%;
  text-align: var(--st-fb-align, left);
  transform: translate(
    var(--st-fb-offset-x, 0px),
    var(--st-fb-offset-y, 0px)
  );
}

.st-footer-builder-item > *,
.st-footer-builder-item .widget,
.st-footer-builder-item .wp-block-group {
  max-width: 100%;
}

.st-footer-builder-item .footer-rating {
  text-align: inherit;
}

.st-footer-builder-item .footer-small-business-notice,
.st-footer-builder-item .footer-bottom-copyright,
.st-footer-builder-item .footer-bottom-handmade {
  display: block;
  max-width: none;
  text-align: inherit;
}

.st-footer-builder-item .footer-contact,
.st-footer-builder-item .footer-column,
.st-footer-builder-item .footer-brand,
.st-footer-builder-item .footer-rating {
  width: 100%;
}

.st-footer-builder-item .widget {
  margin: 0 0 18px;
}

.st-footer-builder-item .widget:last-child {
  margin-bottom: 0;
}

.st-footer-builder-item .widget-title {
  margin: 0 0 15px;
}

.st-footer-builder-placeholder {
  padding: 14px;
  border: 1px dashed currentColor;
  border-radius: 10px;
  opacity: .72;
  font-size: .86rem;
}

@media (max-width: 980px) {
  .st-footer-builder-grid {
    grid-template-columns: minmax(0, 1fr);
    grid-auto-rows: auto;
    align-content: start;
    gap: var(--st-fb-mobile-gap, 24px);
    min-height: 0;
  }

  .st-footer-builder-item {
    grid-column: 1 !important;
    grid-row: auto !important;
    text-align: left;
    transform: none !important;
  }

  .st-footer-builder-item .footer-rating {
    margin-top: 0;
    text-align: left;
  }
}

@media (max-width: 980px) {
  .st-mobile-sticky-sentinel {
    display: block;
    width: 0;
    height: 0;
    overflow: hidden;
    pointer-events: none;
  }

  body.st-mobile-sticky-enabled.st-mobile-sticky-active
  > .st-mobile-sticky-spacer {
    display: block;
    width: 100%;
    height: var(--st-mobile-sticky-spacer-height, 0px);
    margin: 0;
    padding: 0;
    border: 0;
    background: transparent;
    overflow: hidden;
    pointer-events: none;
  }

  body.st-mobile-sticky-enabled .site-header,
  body.st-mobile-sticky-enabled .site-header > .header-main {
    overflow-anchor: none;
  }

  body.st-mobile-sticky-enabled.st-mobile-sticky-active
  .site-header.st-header-designer-active > .header-main {
    transition:
      background-color .18s ease,
      box-shadow .18s ease !important;
  }
}

/* =========================================================
 * 1.17.7 – Kategorie-Typografie auch in „Produkte nach Kategorie“
 * ======================================================= */
.wp-block-woocommerce-product-category > :is(h1, h2, h3, .wp-block-heading),
.wp-block-woocommerce-product-category .wc-block-grid__title,
.wc-block-product-category .wc-block-grid__title,
.wp-block-woocommerce-product-categories .wc-block-product-categories__title,
.wp-block-woocommerce-product-category .wc-block-grid__product-title,
.wp-block-woocommerce-product-category .wc-block-product .wp-block-post-title,
.wp-block-woocommerce-product-category .wc-block-product .wp-block-post-title a {
  font-family: var(--st-product-category-title-font, var(--st-font-body)) !important;
  font-size: var(--st-product-category-title-size-desktop, 18px) !important;
  font-weight: var(--st-product-category-title-weight, 700) !important;
  color: var(--st-product-category-title-color, var(--st-heading-color)) !important;
}

@media (max-width: 980px) {
  .wp-block-woocommerce-product-category > :is(h1, h2, h3, .wp-block-heading),
  .wp-block-woocommerce-product-category .wc-block-grid__title,
  .wc-block-product-category .wc-block-grid__title,
  .wp-block-woocommerce-product-categories .wc-block-product-categories__title,
  .wp-block-woocommerce-product-category .wc-block-grid__product-title,
  .wp-block-woocommerce-product-category .wc-block-product .wp-block-post-title,
  .wp-block-woocommerce-product-category .wc-block-product .wp-block-post-title a {
    font-size: var(--st-product-category-title-size-mobile, 15px) !important;
  }
}

/* Einzelprodukt: Plugin-/Blockfarben dürfen den Theme-Kaufen-Button nicht übermalen. */
html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
html body.single-product .woocommerce div.product form.cart .single_add_to_cart_button.button,
html body.single-product .woocommerce div.product form.cart .single_add_to_cart_button.button.alt {
  color: var(--st-button-text-color, #fff) !important;
  background: var(--st-primary) !important;
  background-color: var(--st-primary) !important;
  background-image: none !important;
  border-color: var(--st-primary) !important;
}

html body.single-product .woocommerce div.product form.cart button.single_add_to_cart_button:is(:hover, :focus-visible),
html body.single-product .woocommerce div.product form.cart .single_add_to_cart_button.button:is(:hover, :focus-visible),
html body.single-product .woocommerce div.product form.cart .single_add_to_cart_button.button.alt:is(:hover, :focus-visible) {
  color: var(--st-button-text-color, #fff) !important;
  background: var(--st-primary-dark, var(--st-primary)) !important;
  background-color: var(--st-primary-dark, var(--st-primary)) !important;
  border-color: var(--st-primary-dark, var(--st-primary)) !important;
}

/* =========================================================
 * 1.17.8 – Seitentitel über WooCommerce-Produktkollektionen
 * ======================================================= */
html body .st-standard-page-container
.st-woocommerce-product-container > h1.entry-title {
  font-family: var(--st-product-category-title-font, var(--st-font-body)) !important;
  font-size: var(--st-product-category-title-size-desktop, 18px) !important;
  font-weight: var(--st-product-category-title-weight, 700) !important;
  color: var(--st-product-category-title-color, var(--st-heading-color)) !important;
}

@media (max-width: 980px) {
  html body .st-standard-page-container
  .st-woocommerce-product-container > h1.entry-title {
    font-size: var(--st-product-category-title-size-mobile, 15px) !important;
  }
}

/* =========================================================
 * 1.17.9 – Kaufen-Button unabhängig von Body-Klassen
 * ======================================================= */
html body.woocommerce-page div.product form.cart
button.single_add_to_cart_button.button.alt[name="add-to-cart"],
html body .woocommerce div.product form.cart
button.single_add_to_cart_button.button.alt[name="add-to-cart"],
html body button.single_add_to_cart_button.button.alt[name="add-to-cart"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  color: var(--st-button-text-color, #fff) !important;
  background: var(--st-primary, #2e7d32) !important;
  background-color: var(--st-primary, #2e7d32) !important;
  background-image: none !important;
  border-color: var(--st-primary, #2e7d32) !important;
  box-shadow: none !important;
}

html body.woocommerce-page div.product form.cart
button.single_add_to_cart_button.button.alt[name="add-to-cart"]:is(:hover, :focus, :focus-visible),
html body .woocommerce div.product form.cart
button.single_add_to_cart_button.button.alt[name="add-to-cart"]:is(:hover, :focus, :focus-visible),
html body button.single_add_to_cart_button.button.alt[name="add-to-cart"]:is(:hover, :focus, :focus-visible) {
  color: var(--st-button-text-color, #fff) !important;
  background: var(--st-primary-dark, var(--st-primary, #2e7d32)) !important;
  background-color: var(--st-primary-dark, var(--st-primary, #2e7d32)) !important;
  background-image: none !important;
  border-color: var(--st-primary-dark, var(--st-primary, #2e7d32)) !important;
}

/* =========================================================
 * 1.18.0 – echte WooCommerce-Produktkategorieseiten
 * ======================================================= */
body.tax-product_cat.st-category-archive-design-enabled {
  background: var(--st-category-archive-page-background, var(--st-bg)) !important;
}

body.tax-product_cat.st-category-archive-design-enabled
> .site-main,
body.tax-product_cat.st-category-archive-design-enabled
.site-main {
  min-width: 0;
}

body.tax-product_cat.st-category-archive-design-enabled
.st-woocommerce-product-container {
  width: min(calc(100% - 40px), var(--st-category-archive-content-width, 1500px)) !important;
  max-width: var(--st-category-archive-content-width, 1500px) !important;
  margin: clamp(20px, 3vw, 42px) auto !important;
  padding: var(--st-category-archive-padding-desktop, 32px) !important;
  background: var(--st-category-archive-container-background, #fff) !important;
  border: var(--st-category-archive-border-width, 1px) solid var(--st-category-archive-border-color, #dce5d8) !important;
  border-radius: var(--st-category-archive-radius, 28px) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce-products-header {
  margin-bottom: clamp(18px, 2.5vw, 34px);
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce-products-header__title.page-title {
  margin: 0 0 14px !important;
  font-family: var(--st-category-archive-page-title-font, var(--st-font-headings)) !important;
  font-size: var(--st-category-archive-page-title-size-desktop, 48px) !important;
  font-weight: var(--st-category-archive-page-title-weight, 700) !important;
  color: var(--st-category-archive-page-title-color, var(--st-heading-color)) !important;
  text-align: var(--st-category-archive-page-title-align, left) !important;
}

/* WooCommerce gibt den Archiv-Titel je nach Template nur als
   <h1 class="page-title"> aus. Diese Regel steuert ausschließlich diesen H1;
   Kachelnamen verwenden separat .woocommerce-loop-category__title. */
html body.tax-product_cat h1.page-title,
html body.tax-product_cat .woocommerce h1.page-title,
html body.tax-product_cat.woocommerce-page h1.page-title {
  font-family: var(--st-category-archive-page-title-font, var(--st-font-headings)) !important;
  font-size: var(--st-category-archive-page-title-size-desktop, 48px) !important;
  font-weight: var(--st-category-archive-page-title-weight, 700) !important;
  color: var(--st-category-archive-page-title-color, var(--st-heading-color)) !important;
  text-align: var(--st-category-archive-page-title-align, left) !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.term-description {
  max-width: 900px;
  margin: 0 0 20px;
  color: var(--st-text);
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce-before-shop-loop,
body.tax-product_cat.st-category-archive-design-enabled
.st-category-archive-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce-result-count,
body.tax-product_cat.st-category-archive-design-enabled
.woocommerce-ordering {
  float: none !important;
  margin: 0 0 22px !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce-ordering select {
  min-height: 44px;
  background: var(--st-category-archive-container-background, #fff);
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(var(--st-category-archive-columns-desktop, 5), minmax(0, 1fr)) !important;
  gap: var(--st-category-archive-product-gap, 20px) !important;
  width: 100% !important;
  margin: 0 !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products::before,
body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products::after {
  display: none !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product,
body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product-category {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  background: var(--st-category-archive-subcategory-background, #fff) !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product {
  background: var(--st-category-archive-card-background, #fff) !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  width: 100%;
  font-family: var(--st-category-archive-product-title-font, var(--st-font-body)) !important;
  font-size: var(--st-category-archive-product-title-size-desktop, 18px) !important;
  font-weight: var(--st-category-archive-product-title-weight, 700) !important;
  color: var(--st-category-archive-product-title-color, var(--st-heading-color)) !important;
  text-align: var(--st-category-archive-product-title-align, center) !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title,
body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product a:focus-visible .woocommerce-loop-product__title {
  color: var(--st-category-archive-product-title-hover-color, var(--st-primary)) !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product .price {
  display: block !important;
  width: 100% !important;
  margin-inline: 0 !important;
  font-family: var(--st-category-archive-price-font, var(--st-font-body)) !important;
  font-size: var(--st-category-archive-price-size-desktop, 17px) !important;
  font-weight: var(--st-category-archive-price-weight, 700) !important;
  color: var(--st-category-archive-price-color, var(--st-price-color)) !important;
  text-align: var(--st-category-archive-price-align, center) !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product .price :is(span, bdi, ins, del) {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  text-align: inherit !important;
}

/* 1.18.4 – Kategorie-Produktnamen und Preise unabhängig von globalen
   Überschriften-/WooCommerce-Regeln mit ihrer eigenen Typografie ausgeben. */
html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category)
:is(h2.woocommerce-loop-product__title, .woocommerce-loop-product__title),
html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category)
:is(h2.woocommerce-loop-product__title, .woocommerce-loop-product__title) {
  width: 100% !important;
  font-family: var(--st-category-archive-product-title-font, var(--st-font-body)) !important;
  font-size: var(--st-category-archive-product-title-size-desktop, 18px) !important;
  font-weight: var(--st-category-archive-product-title-weight, 700) !important;
  color: var(--st-category-archive-product-title-color, var(--st-heading-color)) !important;
  text-align: var(--st-category-archive-product-title-align, center) !important;
}

html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category)
a:is(:hover, :focus, :focus-visible) :is(h2.woocommerce-loop-product__title, .woocommerce-loop-product__title),
html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category)
a:is(:hover, :focus, :focus-visible) :is(h2.woocommerce-loop-product__title, .woocommerce-loop-product__title) {
  color: var(--st-category-archive-product-title-hover-color, var(--st-primary)) !important;
}

html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category) > .price,
html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category) .woocommerce-loop-product__link > .price,
html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category) .woocommerce-LoopProduct-link > .price,
html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category) .woocommerce-loop-product__link + .price,
html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category) > .price,
html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category) .woocommerce-loop-product__link > .price,
html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category) .woocommerce-LoopProduct-link > .price {
  display: block !important;
  width: 100% !important;
  margin-inline: 0 !important;
  font-family: var(--st-category-archive-price-font, var(--st-font-body)) !important;
  font-size: var(--st-category-archive-price-size-desktop, 17px) !important;
  font-weight: var(--st-category-archive-price-weight, 700) !important;
  color: var(--st-category-archive-price-color, var(--st-price-color)) !important;
  text-align: var(--st-category-archive-price-align, center) !important;
}

html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category)
.price :is(span, bdi, ins, del, .amount, .woocommerce-Price-currencySymbol),
html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category)
.price :is(span, bdi, ins, del, .amount, .woocommerce-Price-currencySymbol) {
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  color: inherit !important;
  text-align: inherit !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce ul.products li.product-category a img {
  width: 100% !important;
  aspect-ratio: 1 / 1;
  object-fit: cover;
}

/* 1.18.5 – getrennte Hintergründe für den äußeren Unterkategorie-Bereich
   und die einzelnen Unterkategorie-Innenkacheln. */
html body.tax-product_cat .st-woocommerce-product-container:has(ul.products li.product-category) {
  background: var(--st-category-archive-subcategory-outer-background, #fff) !important;
}

html body.tax-product_cat .woocommerce ul.products li.product-category,
html body.tax-product_cat.woocommerce-page ul.products li.product-category {
  background: var(--st-category-archive-subcategory-background, #fff) !important;
}

html body.tax-product_cat .woocommerce ul.products li.product-category
h2.woocommerce-loop-category__title,
html body.tax-product_cat.woocommerce-page ul.products li.product-category
h2.woocommerce-loop-category__title {
  width: 100% !important;
  font-family: var(--st-product-category-title-font, var(--st-font-body)) !important;
  font-size: var(--st-product-category-title-size-desktop, 18px) !important;
  font-weight: var(--st-product-category-title-weight, 700) !important;
  color: var(--st-product-category-title-color, var(--st-heading-color)) !important;
  text-align: var(--st-category-archive-subcategory-title-align, left) !important;
}

html body.tax-product_cat .woocommerce ul.products li.product-category
h2.woocommerce-loop-category__title mark.count,
html body.tax-product_cat.woocommerce-page ul.products li.product-category
h2.woocommerce-loop-category__title mark.count {
  font: inherit !important;
  color: inherit !important;
}

/* 1.18.8 – getrennte Hintergründe für Kategorie-Produktbereiche und
   zuverlässige Produktkarten-Hintergründe gegen allgemeine Kartenregeln. */
html body.tax-product_cat .st-woocommerce-product-container:has(ul.products li.product:not(.product-category)) {
  background: var(--st-category-archive-product-outer-background, #fff) !important;
}

html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category),
html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category) {
  background: var(--st-category-archive-card-background, #fff) !important;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce nav.woocommerce-pagination {
  margin-top: clamp(28px, 4vw, 54px);
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce nav.woocommerce-pagination ul {
  display: inline-flex;
  gap: 8px;
  padding: 0;
  border: 0;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce nav.woocommerce-pagination ul li {
  border: 0;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce nav.woocommerce-pagination ul li :is(a, span) {
  display: grid;
  place-items: center;
  min-width: 42px;
  min-height: 42px;
  padding: 7px;
  border-radius: 999px;
  background: var(--st-secondary);
  color: var(--st-text);
  font-weight: 700;
}

body.tax-product_cat.st-category-archive-design-enabled
.woocommerce nav.woocommerce-pagination ul li :is(a:hover, a:focus-visible, span.current) {
  background: var(--st-primary);
  color: var(--st-button-text-color, #fff);
}

/* Mengenangaben wie „(12)“ bei Unterkategorien. */
body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-counts
.woocommerce-loop-category__title .count,
body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-counts
.product-category .count {
  display: none !important;
}

body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-subcategories
.woocommerce ul.products:has(> li.product-category) {
  display: none !important;
}

/* Germanized-/Plugininformationen nur in Kategorie-Produktkacheln ausblenden. */
body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-delivery
ul.products li.product :is(.delivery-time-info, .wc-gzd-cart-info.delivery-time-info),
body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-delivery
ul.products li.product .delivery-time-inner {
  display: none !important;
}

body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-shipping
ul.products li.product :is(.shipping-costs-info, .shipping-info, .wc-gzd-additional-info.shipping-costs-info) {
  display: none !important;
}

body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-add-to-cart
ul.products li.product :is(.add_to_cart_button, .ajax_add_to_cart) {
  display: none !important;
}

body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-result-count
.woocommerce-result-count,
body.tax-product_cat.st-category-archive-design-enabled.st-category-archive-hide-sorting
.woocommerce-ordering {
  display: none !important;
}

@media (max-width: 980px) {
  body.tax-product_cat.st-category-archive-design-enabled
  .woocommerce ul.products {
    grid-template-columns: repeat(var(--st-category-archive-columns-tablet, 3), minmax(0, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  html body.tax-product_cat h1.page-title,
  html body.tax-product_cat .woocommerce h1.page-title,
  html body.tax-product_cat.woocommerce-page h1.page-title {
    font-size: var(--st-category-archive-page-title-size-mobile, 36px) !important;
  }

  body.tax-product_cat.st-category-archive-design-enabled
  .st-woocommerce-product-container {
    width: calc(100% - 20px) !important;
    margin: 14px auto 24px !important;
    padding: var(--st-category-archive-padding-mobile, 14px) !important;
  }

  body.tax-product_cat.st-category-archive-design-enabled
  .woocommerce-products-header__title.page-title {
    font-size: var(--st-category-archive-page-title-size-mobile, 36px) !important;
  }

  body.tax-product_cat.st-category-archive-design-enabled
  .woocommerce ul.products {
    grid-template-columns: repeat(var(--st-category-archive-columns-mobile, 2), minmax(0, 1fr)) !important;
  }

  body.tax-product_cat.st-category-archive-design-enabled
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: var(--st-category-archive-product-title-size-mobile, 15px) !important;
  }

  body.tax-product_cat.st-category-archive-design-enabled
  .woocommerce ul.products li.product .price {
    font-size: var(--st-category-archive-price-size-mobile, 15px) !important;
  }

  html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category)
  :is(h2.woocommerce-loop-product__title, .woocommerce-loop-product__title),
  html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category)
  :is(h2.woocommerce-loop-product__title, .woocommerce-loop-product__title) {
    font-size: var(--st-category-archive-product-title-size-mobile, 15px) !important;
  }

  html body.tax-product_cat .woocommerce ul.products li.product-category
  h2.woocommerce-loop-category__title,
  html body.tax-product_cat.woocommerce-page ul.products li.product-category
  h2.woocommerce-loop-category__title {
    font-size: var(--st-product-category-title-size-mobile, 15px) !important;
  }

  html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category) > .price,
  html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category) .woocommerce-loop-product__link > .price,
  html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category) .woocommerce-LoopProduct-link > .price,
  html body.tax-product_cat .woocommerce ul.products li.product:not(.product-category) .woocommerce-loop-product__link + .price,
  html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category) > .price,
  html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category) .woocommerce-loop-product__link > .price,
  html body.tax-product_cat.woocommerce-page ul.products li.product:not(.product-category) .woocommerce-LoopProduct-link > .price {
    font-size: var(--st-category-archive-price-size-mobile, 15px) !important;
  }

  body.tax-product_cat.st-category-archive-design-enabled
  .woocommerce-ordering,
  body.tax-product_cat.st-category-archive-design-enabled
  .woocommerce-ordering select {
    width: 100%;
  }
}

/* 1.18.15 – Die von WooCommerce ausgegebene Spaltenklasse ist auf echten
   Produktkategorieseiten die verbindliche Desktop-Vorgabe. Damit können
   ältere allgemeine Vier-Spalten- und Float-Regeln keine fünfte Kachel mehr
   in die nächste Zeile drücken. Tablet und Mobil behalten ihre eigenen
   Customizer-Werte aus den vorherigen Media Queries. */
@media (min-width: 981px) {
  html body.tax-product_cat ul.products.columns-2 {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.tax-product_cat ul.products.columns-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.tax-product_cat ul.products.columns-4 {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }

  html body.tax-product_cat ul.products.columns-5 {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  html body.tax-product_cat ul.products.columns-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  }

  html body.tax-product_cat ul.products > li.product,
  html body.tax-product_cat ul.products > li.product-category {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    float: none !important;
    clear: none !important;
  }
}

/* Das Konfiguratorbild darf niemals von der älteren Emoji-Schutzregel auf
   1 em verkleinert werden. Diese abschließende Regel steht bewusst nach allen
   allgemeinen Mini-Cart-Bildregeln. */
html body #st-mini-cart-panel
.woocommerce-mini-cart-item.skt-configurator-item
.st-mini-cart-product-image-link > img:not(.emoji):not(.wp-smiley),
html body #st-mini-cart-panel
.woocommerce-mini-cart-item:has(a[href*="/konfigurator/"])
.st-mini-cart-product-image-link > img:not(.emoji):not(.wp-smiley),
html body #st-mini-cart-panel
.woocommerce-mini-cart-item:has(img.skt-cart-preview-image)
img.skt-cart-preview-image,
html body #st-mini-cart-panel
.woocommerce-mini-cart-item:has(img[src*="/schnullerketten-konfigurator/schnullerkette_" i])
img[src*="/schnullerketten-konfigurator/schnullerkette_" i] {
  display: block !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  margin: 0 !important;
  object-fit: contain !important;
    float: none !important;
}

/* 1.18.17 – Normale Produktbilder in Warenkorb und Mini-Cart wieder sichtbar. */
@media (max-width: 768px) {
    html body.woocommerce-cart.st-cart-design-enabled
    .woocommerce-cart-form table.shop_table_responsive
    tr.cart_item:not(.skt-configurator-item)
    td.product-thumbnail,
    html body.woocommerce-cart.st-cart-design-enabled
    .woocommerce-cart-form table.shop_table
    tr.cart_item:not(.skt-configurator-item)
    td.product-thumbnail {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        grid-column: 1 !important;
        grid-row: 1 / span 4 !important;
        width: var(--st-cart-image-size-mobile, 76px) !important;
        min-width: var(--st-cart-image-size-mobile, 76px) !important;
        max-width: var(--st-cart-image-size-mobile, 76px) !important;
        height: auto !important;
        padding: 5px 0 !important;
        overflow: visible !important;
    }

    html body.woocommerce-cart.st-cart-design-enabled
    .woocommerce-cart-form tr.cart_item:not(.skt-configurator-item)
    td.product-thumbnail::before {
        display: none !important;
        content: none !important;
    }

    html body.woocommerce-cart.st-cart-design-enabled
    .woocommerce-cart-form tr.cart_item:not(.skt-configurator-item)
    td.product-thumbnail > a {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: var(--st-cart-image-size-mobile, 76px) !important;
        min-width: var(--st-cart-image-size-mobile, 76px) !important;
        max-width: var(--st-cart-image-size-mobile, 76px) !important;
        height: var(--st-cart-image-size-mobile, 76px) !important;
        margin: 0 !important;
    }

    html body.woocommerce-cart.st-cart-design-enabled
    .woocommerce-cart-form tr.cart_item:not(.skt-configurator-item)
    td.product-thumbnail > a > img:not(.emoji):not(.wp-smiley),
    html body.woocommerce-cart.st-cart-design-enabled
    .woocommerce-cart-form tr.cart_item:not(.skt-configurator-item)
    td.product-thumbnail > img:not(.emoji):not(.wp-smiley) {
        display: block !important;
        visibility: visible !important;
        opacity: 1 !important;
        width: var(--st-cart-image-size-mobile, 76px) !important;
        min-width: var(--st-cart-image-size-mobile, 76px) !important;
        max-width: var(--st-cart-image-size-mobile, 76px) !important;
        height: var(--st-cart-image-size-mobile, 76px) !important;
        min-height: var(--st-cart-image-size-mobile, 76px) !important;
        max-height: var(--st-cart-image-size-mobile, 76px) !important;
        margin: 0 !important;
        object-fit: cover !important;
        float: none !important;
    }
}


/* 1.18.33 – Desktop: keine + Schaltflächen im Sticky-/Hauptheader.
   Die Untermenüs bleiben per Hover/Fokus erreichbar. Mobile bleibt unverändert. */
@media (min-width:981px){
  .site-header .main-navigation .submenu-toggle{
    display:none!important;
  }
}


/* 1.18.34 – Mobile Untermenüs: schlanke Pfeil-/Spitzdach-Symbole statt +. */
@media (max-width:980px){
  .main-navigation .submenu-toggle{
    font-size:0!important;
  }
  .main-navigation .submenu-toggle .st-submenu-chevron{
    display:block;
    width:10px;
    height:10px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    margin-top:-5px;
    transition:transform .18s ease,margin .18s ease;
  }
  .primary-menu .submenu-open>.submenu-toggle .st-submenu-chevron{
    transform:rotate(225deg);
    margin-top:6px;
  }
}


/* 1.18.35 – Desktop-Untermenüs: Menütexte nicht umbrechen.
   Gilt ausdrücklich auch für den kompakten/sticky Header. */
@media (min-width:981px){
  .site-header .primary-menu .sub-menu{
    width:max-content!important;
    min-width:220px;
    max-width:min(420px, calc(100vw - 32px));
  }

  .site-header .primary-menu .sub-menu > li{
    width:100%;
  }

  .site-header .primary-menu .sub-menu > li > a,
  .site-header.is-compact .primary-menu .sub-menu > li > a,
  .site-header.is-sticky .primary-menu .sub-menu > li > a{
    white-space:nowrap!important;
    overflow-wrap:normal!important;
    word-break:normal!important;
    hyphens:none!important;
  }
}


/* 1.18.39 – Mobile Konfigurator bleibt voll nutzbar; Desktopwert gilt erst ab 981px. */
@media(max-width:980px){
  body.st-configurator-page #schnullerketten-konfigurator{
    width:100%!important;
    max-width:100%!important;
  }
}


/* 1.18.42 – Untermenü-Dach-Symbole Desktop + mobile Kreisfarbe.
   Desktop nutzt bewusst den Link selbst als Farbquelle, damit das Dach immer
   exakt die aktuelle Menü-Textfarbe übernimmt. Mobil verwendet dieselbe
   Navigationsfarbe für den bestehenden Chevron im runden Untermenü-Button. */
@media (min-width:981px){
  .site-header .main-navigation .primary-menu .menu-item-has-children > a::after{
    content:"";
    display:inline-block;
    flex:0 0 auto;
    width:9px;
    height:9px;
    margin-left:8px;
    margin-top:-5px;
    border-right:2px solid currentColor;
    border-bottom:2px solid currentColor;
    transform:rotate(45deg);
    transition:transform .18s ease,margin .18s ease;
  }

  .site-header .main-navigation .primary-menu .menu-item-has-children:hover > a::after,
  .site-header .main-navigation .primary-menu .menu-item-has-children:focus-within > a::after,
  .site-header .main-navigation .primary-menu .menu-item-has-children.submenu-open > a::after{
    transform:rotate(225deg);
    margin-top:5px;
  }
}

@media (max-width:980px){
  .site-header .main-navigation .submenu-toggle{
    color:var(--st-navigation-color)!important;
  }
}

/* =========================================================
 * 1.18.45 – Menü-Symbolgröße Desktop wieder einstellbar
 * ======================================================= */
@media (min-width:981px){
  .site-header .header-action svg{
    width:var(--st-desktop-icon-size,20px)!important;
    height:var(--st-desktop-icon-size,20px)!important;
  }
  .site-header.is-laptop-mini .header-action svg{
    width:min(var(--st-desktop-icon-size,20px),18px)!important;
    height:min(var(--st-desktop-icon-size,20px),18px)!important;
  }
}
@media (min-width:981px) and (max-width:1250px){
  .site-header.is-laptop-mini .header-action svg{
    width:min(var(--st-desktop-icon-size,20px),16px)!important;
    height:min(var(--st-desktop-icon-size,20px),16px)!important;
  }
}



/* ==========================================================================
   1.18.50 – STARTSEITE: MYSTERY-PRODUKTE
   ========================================================================== */
.st-mystery-card .st-mystery-copy p + p {
    margin-top: .85rem;
}
.st-mystery-card .st-mystery-icon {
    font-size: 1.65rem;
    margin-bottom: .4rem;
}


/* ==========================================================================
   1.18.51 – MYSTERY-KARTE: OPTIONALES KLEINES BILD
   ========================================================================== */
.st-mystery-card.has-mystery-image {
    display: flex;
    align-items: center;
    gap: clamp(18px, 3vw, 42px);
}

.st-mystery-card.has-mystery-image .st-mystery-copy {
    flex: 1 1 auto;
    min-width: 0;
}

.st-mystery-card.has-mystery-image .st-mystery-media {
    flex: 0 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
}

.st-mystery-card.has-mystery-image .st-mystery-media img {
    display: block;
    width: var(--st-mystery-image-width, 170px);
    max-width: 100%;
    height: auto;
    border-radius: var(--st-mystery-image-radius, 16px);
    object-fit: contain;
}

.st-mystery-card.st-mystery-image-left .st-mystery-media {
    order: -1;
}

@media (max-width: 767px) {
    .st-mystery-card.has-mystery-image {
        flex-direction: column;
        align-items: stretch;
    }

    .st-mystery-card.has-mystery-image .st-mystery-media,
    .st-mystery-card.st-mystery-image-left .st-mystery-media {
        order: -1;
        width: 100%;
        justify-content: center;
    }

    .st-mystery-card.has-mystery-image .st-mystery-media img {
        width: min(var(--st-mystery-image-width-mobile, 130px), 70vw);
    }
}


/* 1.18.62 – WooCommerce Einzelprodukt: Kategorien/Produkt-Meta ausblenden */
.single-product .product_meta {
    display: none !important;
}


/* =========================================================
 * 1.18.68 – Mehrstufiger Checkout
 * Das normale Checkout-2-Spalten-Layout darf bei einem
 * Mehrschritt-Checkout nicht greifen. Die Schrittansicht
 * bekommt eine eigene, vollbreite Darstellung.
 * ========================================================= */
body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled {
    overflow-x: hidden !important;
}

/* 1.18.80 – Beim Schrittwechsel kein Browser-Scrollankern/Hochhüpfen. */
body.woocommerce-checkout.st-multistep-checkout form.checkout.woocommerce-checkout,
body.woocommerce-checkout.st-multistep-checkout form.checkout.woocommerce-checkout > * {
    overflow-anchor: none;
}

body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled form.checkout.woocommerce-checkout {
    display: block !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-template-areas: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
}

body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled form.checkout.woocommerce-checkout > * {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled form.checkout #customer_details {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    float: none !important;
}

body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled form.checkout #customer_details > :is(.col-1, .col-2) {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 0 22px !important;
    box-sizing: border-box !important;
}

body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled form.checkout #order_review_heading {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 22px 0 12px !important;
}

body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled form.checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    position: static !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

/* 1.18.79 – Gutschein direkt in Schritt 3 neben „Bestellung bearbeiten“. */
body.woocommerce-checkout.st-multistep-checkout .woocommerce-form-coupon-toggle,
body.woocommerce-checkout.st-multistep-checkout form.checkout_coupon {
    display: none !important;
}

body.woocommerce-checkout.st-multistep-checkout .woocommerce-checkout-review-order-table td.actions {
    padding: 14px 12px !important;
}

body.woocommerce-checkout.st-multistep-checkout .st-checkout-actions-row {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px 12px;
    width: 100%;
}

body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon {
    display: flex;
    flex: 0 1 auto;
    align-items: stretch;
    gap: 8px;
    min-width: 0;
}

body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon__input {
    flex: 0 1 340px;
    width: clamp(190px, 24vw, 340px) !important;
    min-width: 120px;
    max-width: 340px;
    min-height: 46px;
    margin: 0 !important;
}

body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon__button,
body.woocommerce-checkout.st-multistep-checkout .st-checkout-actions-row > a.button {
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    margin: 0 !important;
    white-space: nowrap;
}

body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon.is-processing {
    opacity: .72;
    pointer-events: none;
}

body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon__notice {
    flex: 1 0 100%;
    min-height: 0;
    color: var(--st-muted);
    font-size: .86rem;
    line-height: 1.4;
}

body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon__notice:empty {
    display: none;
}

body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon__notice.is-error {
    color: #b42318;
}

body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon__notice.is-success {
    color: #267a3a;
}

/* 1.18.83 – Germanized-AGB-Checkbox direkt vor dem Bestellbutton. */
body.woocommerce-checkout.st-multistep-checkout .st-gzd-legal-before-submit {
    display: block !important;
    width: 100%;
    margin: 0 0 12px !important;
    padding: 14px 16px;
    color: var(--st-text);
    background: color-mix(in srgb, var(--st-checkout-accent, var(--st-primary)) 7%, var(--st-checkout-page-background, #fff));
    border: 1px solid var(--st-checkout-border-color, #dce5d8);
    border-radius: min(14px, var(--st-checkout-radius, 20px));
    box-sizing: border-box;
}

body.woocommerce-checkout.st-multistep-checkout .st-gzd-legal-before-submit .legal {
    margin: 0 !important;
    padding: 0 !important;
}

body.woocommerce-checkout.st-multistep-checkout .st-gzd-legal-before-submit label.checkbox {
    display: block !important;
    margin: 0 !important;
    color: inherit;
    line-height: 1.55;
    cursor: pointer;
}

body.woocommerce-checkout.st-multistep-checkout .st-gzd-legal-before-submit input[type="checkbox"] {
    margin: 3px 9px 0 0 !important;
    vertical-align: top;
}

body.woocommerce-checkout.st-multistep-checkout .st-gzd-legal-before-submit a {
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 2px;
}

body.woocommerce-checkout.st-multistep-checkout .st-gzd-legal-before-submit + .wc-gzd-order-submit #place_order {
    margin-top: 0 !important;
}

@media (max-width: 680px) {
    body.woocommerce-checkout.st-multistep-checkout .st-checkout-actions-row,
    body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon {
        align-items: stretch;
        flex-direction: column;
    }

    body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon,
    body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon__input {
        flex-basis: auto;
        width: 100% !important;
    }

    body.woocommerce-checkout.st-multistep-checkout .st-step-checkout-coupon__button,
    body.woocommerce-checkout.st-multistep-checkout .st-checkout-actions-row > a.button {
        width: 100% !important;
    }
}

/* Viele Mehrschritt-Checkout-Plugins legen ihre Schrittcontainer
   direkt innerhalb des Checkout-Formulars an. */
body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled
form.checkout.woocommerce-checkout
:is(
    .checkout-step,
    .checkout-steps,
    .woocommerce-checkout-step,
    .woocommerce-checkout-steps,
    .multistep-checkout,
    .multi-step-checkout,
    .wc-multistep,
    .wc-multistep-checkout,
    [class*="checkout-step"],
    [class*="checkout_step"],
    [class*="multistep"]
) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    float: none !important;
    box-sizing: border-box !important;
}

/* Auf Desktop nicht wieder in eine schmale rechte Spalte zwingen. */
@media (min-width: 981px) {
    body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled
    form.checkout.woocommerce-checkout {
        display: block !important;
        padding-right: 0 !important;
    }

    body.woocommerce-checkout.st-multistep-checkout.st-checkout-design-enabled
    form.checkout #customer_details > :is(.col-1, .col-2) {
        width: 100% !important;
    }
}


/* =========================================================
 * KGV 0.3.21 – Desktop-Sticky: gleichmäßige Menüabstände
 *
 * Der Dachpfeil von Einträgen mit Untermenü darf die Breite
 * des Links nicht vergrößern. Sonst addieren sich Pfeilbreite,
 * Pfeilabstand und normaler Flex-Gap und die Abstände wirken
 * bei Untermenüs deutlich größer als bei normalen Einträgen.
 * ======================================================= */
@media (min-width:981px) {
  .site-header.is-laptop-mini .main-navigation .primary-menu > li > a {
    position: relative !important;
  }

  .site-header.is-laptop-mini .main-navigation .primary-menu > .menu-item-has-children > a::after {
    position: absolute !important;
    top: 50% !important;
    right: -11px !important;
    width: 7px !important;
    height: 7px !important;
    margin: 0 !important;
    transform: translateY(-62%) rotate(45deg) !important;
  }

  .site-header.is-laptop-mini .main-navigation .primary-menu > .menu-item-has-children:hover > a::after,
  .site-header.is-laptop-mini .main-navigation .primary-menu > .menu-item-has-children:focus-within > a::after,
  .site-header.is-laptop-mini .main-navigation .primary-menu > .menu-item-has-children.submenu-open > a::after {
    margin: 0 !important;
    transform: translateY(-35%) rotate(225deg) !important;
  }
}


/* =========================================================
 * KGV 0.3.24 – Footer-Raster an den sichtbaren Bildschirm koppeln
 * ======================================================= */
@media (min-width: 981px) {
  .site-footer {
    overflow-x: clip;
  }

  .site-footer > .container {
    width: min(calc(100vw - 32px), var(--st-footer-content-width-desktop, 94vw)) !important;
    max-width: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
    left: auto !important;
    transform: translateX(var(--st-footer-content-offset-x-desktop, 0px));
  }

  .site-footer .st-footer-builder-grid {
    width: 100%;
    max-width: none;
    margin-left: 0;
    margin-right: 0;
  }

  .site-footer .st-footer-builder-item {
    min-width: 0;
  }

  /* Die erste KGV-Bestandsspalte beginnt wirklich an Rasterspalte 1. */
  .site-footer .st-footer-builder-content-legacy_left {
    justify-self: stretch;
  }
}
