/*
Theme Name:   Frisbier Child (Twenty Twenty-Four)
Theme URI:    https://frisbier.de
Description:  Child-Theme von Twenty Twenty-Four für frisbier.de. Enthält das Design der Frisbier-Ultimate-Produktseite. WooCommerce rendert Preis, Varianten und Warenkorb selbst — hier liegt nur Gestaltung.
Author:       Frisbier GbR
Template:     twentytwentyfour
Version:      3.40.2
Text Domain:  foton-child
*/

/* ============================================================
   Fonts + Tokens
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Saira:ital,wght@0,700;0,800;0,900;1,800;1,900&family=Manrope:wght@400;600;700;800&display=swap');

:root{--y:#FEDC00;--k:#0E0E0E;--k2:#141414;--line:#2C2B27;--mut:#8A8678;--txt:#D9D6CB;--paper:#FAF8F3}

.fbu{--y:#FEDC00;--k:#0E0E0E;--k2:#141414;--line:#2C2B27;--mut:#8A8678;--txt:#D9D6CB;--paper:#FAF8F3;
  font-family:Manrope,system-ui,sans-serif;color:var(--k);background:var(--paper);line-height:1.5;
  max-width:1180px;margin:0 auto}
.fbu *,.fbu *::before,.fbu *::after{box-sizing:border-box}
.fbu img{max-width:100%}
.fbu h1,.fbu h2,.fbu h3{font-family:Saira,system-ui,sans-serif;font-style:italic;font-weight:900;
  text-transform:uppercase;letter-spacing:-.01em;margin:0}
.fbu p{margin:0}
.fbu a{color:var(--k)}
.fbu-eyebrow{font:800 11px/1 Saira,sans-serif;letter-spacing:.24em;text-transform:uppercase}
.fbu-sec{padding:56px 40px}
.fbu-mark{background:var(--y);color:var(--k);padding:0 .25em}

/* ---------- Kaufzone ---------- */
.fbu-buy{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:44px;padding:40px;background:var(--k);color:#fff;align-items:stretch}
.fbu-buy>*{min-width:0}
.fbu-gal{display:flex;flex-direction:column}
.fbu-gal-main{position:relative;border:2px solid var(--y);background:var(--k2);overflow:hidden;flex:1;min-height:470px}
.fbu-gal-main img{width:100%;height:100%;object-fit:cover;display:block}
/* LED Upgrade: Produktvideo statt Bild — nur Desktop, mobil das reguläre Bild */
.fbu-gal-video{display:none;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
@media (min-width:769px){
  .fbu-gal-video{display:block}
  .fbu-gal-main img.fbu-gal-mobileimg{display:none}
}
.fbu-badge{position:absolute;top:14px;left:14px;background:var(--y);border:1.5px solid #000;color:var(--k);
  font:800 10px/1 Saira,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:7px 11px}
.fbu-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:10px}
.fbu-thumbs img{width:100%;height:100px;object-fit:cover;border:3px solid var(--line);cursor:pointer;display:block;
  transition:border-color .22s cubic-bezier(.2,.8,.3,1)}
.fbu-thumbs img[aria-current="true"]{border-color:var(--y)}
.fbu-sku{font:800 11px/1 Saira,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--y);margin-bottom:10px}
.fbu-title{font-size:56px;line-height:.92;color:#fff;margin-bottom:14px}
.fbu-stars{display:flex;align-items:center;gap:10px;margin-bottom:16px}
.fbu-stars b{color:var(--y);letter-spacing:2px;font-size:15px}
.fbu-stars span{font-size:12.5px;color:var(--mut)}
.fbu-lead{font-size:15.5px;color:var(--txt);margin-bottom:10px}
.fbu-lead2{font-size:15.5px;color:#fff;font-weight:700;margin-bottom:20px}
.fbu-pricebox{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin-bottom:20px}
.fbu-price{font-family:Saira,sans-serif;font-style:italic;font-weight:900;font-size:44px;line-height:1;color:var(--y)}
.fbu-tax{font-size:12px;color:var(--mut);margin-top:6px}
.fbu-label{display:block;font:800 10px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase;margin-bottom:10px;color:#fff}
.fbu-bags{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-bottom:18px}
.fbu-bag{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px 12px;min-width:0;
  border:2px solid var(--line);background:var(--k2);cursor:pointer;text-align:center;
  transition:border-color .22s,background .22s}
.fbu-bag-img{height:190px;display:flex;align-items:flex-end;justify-content:center}
.fbu-bag-img img{max-width:100%;object-fit:contain;display:block;mix-blend-mode:screen;filter:invert(1)}
.fbu-bag[data-size="s"] .fbu-bag-img img{width:96%;height:182px}
.fbu-bag[data-size="l"] .fbu-bag-img img{width:100%;height:190px}
.fbu-bag-name{font:800 13px/1.2 Saira,sans-serif;text-transform:uppercase;color:#fff}
.fbu-bag-price{font:600 11.5px/1 Manrope,sans-serif;color:#fff;opacity:.75}
.fbu-bag[aria-pressed="true"]{border-color:var(--y);background:var(--y)}
.fbu-bag[aria-pressed="true"] .fbu-bag-img img{mix-blend-mode:multiply;filter:none}
.fbu-bag[aria-pressed="true"] .fbu-bag-name,.fbu-bag[aria-pressed="true"] .fbu-bag-price{color:var(--k)}
.fbu-cartrow{display:flex;gap:12px;margin-bottom:16px}
.fbu-qty{display:flex;align-items:center;border:2px solid var(--y);background:var(--k2)}
.fbu-qty button{width:40px;height:54px;display:grid;place-items:center;font-size:18px;cursor:pointer;color:#fff;
  background:none;border:0;font-family:inherit}
.fbu-qty output{width:36px;text-align:center;font-family:Saira,sans-serif;font-weight:900;font-size:17px;color:#fff;
  font-variant-numeric:tabular-nums}
.fbu-cart{flex:1;height:54px;display:grid;place-items:center;background:var(--y);border:2px solid var(--y);
  box-shadow:5px 5px 0 0 rgba(254,220,0,.25);font:800 italic 16px/1 Saira,sans-serif;letter-spacing:.06em;
  text-transform:uppercase;color:var(--k);cursor:pointer;transition:background .22s,color .22s,transform .12s,box-shadow .12s}
.fbu-cart:hover{background:var(--k);color:var(--y)}
.fbu-cart:active{transform:translate(2px,2px);box-shadow:none}
.fbu-cartform{flex:1;display:flex}
.fbu-hint{font-size:12px;color:var(--mut);margin:-6px 0 16px;min-height:1em}
.fbu-upsell{border:2px solid var(--line);background:var(--k2);padding:14px;display:flex;gap:14px;align-items:center;margin-bottom:20px}
.fbu-upsell img{width:60px;height:60px;object-fit:cover;border:1.5px solid var(--y);display:block}
.fbu-upsell-t{font:900 italic 17px/1 Saira,sans-serif;text-transform:uppercase;color:#fff}
.fbu-upsell-s{font-size:12.5px;color:var(--mut);margin-top:3px}
.fbu-upsell-p{font-family:Saira,sans-serif;font-weight:900;font-size:17px;color:#fff}
.fbu-add{display:inline-block;margin-top:6px;border:1.5px solid var(--y);background:var(--y);color:var(--k);
  padding:5px 10px;font:800 10px/1 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase;text-decoration:none}
.fbu-add:hover{background:var(--k);color:var(--y)}
.fbu-usps{display:grid;gap:12px}
.fbu-usp{display:flex;gap:11px;align-items:flex-start;font-size:13.5px;line-height:1.45;color:var(--txt)}
.fbu-usp img{margin-top:2px;filter:invert(1);width:17px;height:17px}
.fbu-usp b{color:#fff}

/* ---------- Laufband ---------- */
.fbu-tape{background:var(--y);border-top:2px solid #000;border-bottom:2px solid #000;padding:11px 0;overflow:hidden;
  white-space:nowrap;font:900 italic 19px/1 Saira,sans-serif;text-transform:uppercase;letter-spacing:.05em;color:#000}
.fbu-tape-track{display:inline-flex;animation:fbu-tape 24s linear infinite}
.fbu-tape-track span{padding:0 24px}
@keyframes fbu-tape{from{transform:translateX(0)}to{transform:translateX(-50%)}}

/* ---------- Hotspots ---------- */
.fbu-dark{background:var(--k);color:#fff}
.fbu-h2{font-size:48px;line-height:.95;color:#fff}
.fbu-hot{display:grid;grid-template-columns:1.25fr .75fr;align-items:stretch}
.fbu-hot-photo{position:relative;border:2px solid var(--y);overflow:hidden}
.fbu-hot-photo>img{width:100%;height:100%;min-height:400px;object-fit:cover;display:block}
.fbu-hot-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,14,.15),rgba(14,14,14,.45))}
.fbu-pin{position:absolute;width:38px;height:38px;border-radius:50%;border:2px solid var(--k);background:#fff;
  font:900 16px/1 Saira,sans-serif;cursor:pointer;box-shadow:0 0 0 6px rgba(255,255,255,.2);
  transition:transform .22s cubic-bezier(.2,.8,.3,1),background .22s,box-shadow .22s}
.fbu-pin:hover{transform:scale(1.12)}
.fbu-pin[aria-pressed="true"]{background:var(--y);box-shadow:0 0 0 6px rgba(254,220,0,.25)}
.fbu-hot-info{border:2px solid var(--y);border-left:0;background:var(--k2);padding:28px;display:flex;
  flex-direction:column;justify-content:center;gap:18px}
.fbu-hot-art{height:120px;display:grid;place-items:center}
.fbu-hot-art img{max-height:120px;display:block}
.fbu-hot-count{font:800 10px/1 Saira,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--y);margin-bottom:8px}
.fbu-hot-info h3{font-size:30px;line-height:1;color:#fff;margin-bottom:10px}
.fbu-hot-info p{font-size:14.5px;line-height:1.55;color:var(--txt);margin-bottom:16px}
.fbu-specs{display:flex;gap:22px;border-top:1px solid var(--line);padding-top:14px}
.fbu-spec-k{font:700 9px/1 Saira,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut);margin-bottom:4px}
.fbu-spec-v{font-family:Saira,sans-serif;font-style:italic;font-weight:900;font-size:19px;color:#fff}

/* ---------- Herzstück ---------- */
.fbu-hero2{display:grid;grid-template-columns:1.15fr .85fr;gap:56px;align-items:center;
  border-top:1px solid var(--line);padding-top:56px}
.fbu-hero2 h2{font-size:52px;line-height:.94;color:#fff;margin-bottom:16px}
.fbu-hero2 p{font-size:16px;line-height:1.6;color:var(--txt);max-width:48ch;margin-bottom:24px}
.fbu-statrow{display:flex;border-top:1px solid #333;border-bottom:1px solid #333}
.fbu-statrow>div{flex:1;padding:18px 0}
.fbu-stat-k{font:800 10px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--y);margin-bottom:6px}
.fbu-stat-v{font-family:Saira,sans-serif;font-style:italic;font-weight:900;font-size:26px}
.fbu-disc-wrap{display:grid;place-items:center;overflow:hidden}
.fbu-disc{width:100%;max-width:340px;display:block;cursor:pointer;will-change:transform;
  filter:drop-shadow(0 24px 40px rgba(0,0,0,.7));animation:fbu-fly .95s linear both}
.fbu-disc.wait{animation-play-state:paused}
.fbu-disc.out{animation:fbu-throw .6s linear both}
@keyframes fbu-fly{
  0%{transform:translate(-380px,-165px) rotate(0deg) scale(.3);opacity:0}
  7%{opacity:1}
  100%{transform:translate(0,0) rotate(1440deg) scale(1);opacity:1}}
@keyframes fbu-throw{
  0%{transform:translate(0,0) rotate(0deg) scale(1);opacity:1}
  92%{opacity:1}
  100%{transform:translate(560px,-300px) rotate(1080deg) scale(.24);opacity:0}}
@media (prefers-reduced-motion:reduce){.fbu-disc{animation:none}}

/* ---------- Lieferumfang ---------- */
.fbu-parts{background:#F1ECDF;border-top:2px solid #000;border-bottom:2px solid #000}
.fbu-parts .fbu-eyebrow{color:#5C5A53;margin-bottom:10px}
.fbu-parts h2{font-size:48px;line-height:.95;margin-bottom:32px}
.fbu-partgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.fbu-part{background:var(--k2);border:2px solid var(--k);box-shadow:6px 6px 0 0 var(--y);padding:20px;text-align:center}
.fbu-part-art{height:120px;display:grid;place-items:center}
.fbu-part-art img{max-height:120px;display:block}
.fbu-part-t{font:900 italic 19px/1 Saira,sans-serif;text-transform:uppercase;margin-top:12px;color:#fff}
.fbu-part-s{font-size:12px;color:var(--mut);margin-top:4px}

/* ---------- Fotos ---------- */
.fbu-photos-2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.fbu-photos-3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.fbu-photos-2 img{width:100%;height:300px;object-fit:cover;border:2px solid var(--k);display:block}
.fbu-photos-3 img{width:100%;height:190px;object-fit:cover;border:2px solid var(--k);display:block}

/* ---------- Making Off ---------- */
.fbu-making{border-top:2px solid #000;display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}
.fbu-making .fbu-eyebrow{color:var(--mut);letter-spacing:.22em;margin-bottom:10px}
.fbu-making h2{font-size:40px;line-height:.98;margin-bottom:14px}
.fbu-making p{font-size:15.5px;line-height:1.6;color:var(--line);max-width:58ch;margin-bottom:18px}
.fbu-chips{display:flex;gap:10px;flex-wrap:wrap}
.fbu-chip{border:1.5px solid var(--k);padding:7px 13px;font:700 11px/1 Saira,sans-serif;letter-spacing:.1em;
  text-transform:uppercase;border-radius:999px}
.fbu-vid{border:2px solid var(--k);box-shadow:10px 10px 0 0 var(--y)}
.fbu-vid video{width:100%;height:400px;object-fit:cover;display:block;background:var(--k)}

/* ---------- Community ---------- */
.fbu-com{border-top:2px solid #000;padding:44px 40px}
.fbu-com-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:20px}
.fbu-com-head h3{font-size:32px}
.fbu-com-head span{font:700 11px/1 Saira,sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--mut)}
.fbu-comgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.fbu-card{border:2px solid var(--k);background:#fff}
.fbu-card img{width:100%;height:180px;object-fit:cover;display:block;border-bottom:2px solid var(--k)}
.fbu-card-b{padding:12px}
.fbu-card-stars{color:var(--y);-webkit-text-stroke:.6px var(--k);letter-spacing:2px;font-size:13px}
.fbu-skel{height:9px;background:#ECEAE3;margin-top:9px}
.fbu-skel+.fbu-skel{margin-top:6px;width:72%}
.fbu-cta-card{border:2px solid var(--k);background:var(--y);display:grid;place-items:center;text-align:center;padding:20px}
.fbu-cta-card b{font:900 italic 26px/1 Saira,sans-serif;text-transform:uppercase;display:block}
.fbu-cta-card span{font-size:12.5px;margin-top:10px;font-weight:600;display:block}

/* ================= TABLET ================= */
@media (max-width:1000px){
  .fbu-buy{grid-template-columns:minmax(0,1fr);gap:28px}
  .fbu-gal-main{min-height:0;aspect-ratio:1/1}
  .fbu-title{font-size:44px}
  .fbu-hot{grid-template-columns:1fr}
  .fbu-hot-info{border-left:2px solid var(--y);border-top:0}
  .fbu-hot-photo>img{min-height:320px}
  .fbu-hero2{grid-template-columns:1fr;gap:32px}
  .fbu-hero2 h2{font-size:40px}
  .fbu-hero2 h2 br{display:none}
  .fbu-disc-wrap{order:-1}
  .fbu-making{grid-template-columns:1fr;gap:28px}
  .fbu-partgrid{grid-template-columns:repeat(2,1fr)}
  .fbu-comgrid{grid-template-columns:repeat(2,1fr)}
}
/* ================= MOBILE ================= */
@media (max-width:640px){
  .fbu-sec{padding:36px 18px}
  .fbu-buy{padding:24px 18px}
  .fbu-com{padding:32px 18px}
  .fbu-title{font-size:38px}
  .fbu-h2,.fbu-parts h2{font-size:32px}
  .fbu-hero2 h2{font-size:32px}
  .fbu-making h2{font-size:28px}
  .fbu-com-head h3{font-size:24px}
  .fbu-price{font-size:36px}
  .fbu-thumbs img{height:68px}
  .fbu-bag-img{height:132px}
  .fbu-bag[data-size="s"] .fbu-bag-img img{height:126px}
  .fbu-bag[data-size="l"] .fbu-bag-img img{height:132px}
  .fbu-cartrow{flex-wrap:wrap}
  .fbu-cartform{flex-basis:100%}
  .fbu-cart{width:100%}
  .fbu-specs{gap:14px}
  .fbu-spec-v{font-size:16px}
  .fbu-photos-2,.fbu-photos-3{grid-template-columns:1fr}
  .fbu-photos-2 img,.fbu-photos-3 img{height:220px}
  .fbu-vid video{height:260px}
  .fbu-tape{font-size:15px}
  .fbu-upsell{flex-wrap:wrap}
  .fbu-upsell>div:last-child{text-align:left}
  .fbu-partgrid{gap:14px}
  .fbu-part{padding:16px}
  .fbu-part-art,.fbu-part-art img{height:92px}
}

/* ============================================================
   WOOCOMMERCE — Woo rendert das Formular, wir stylen es nur.
   Alle Selektoren sind auf .fbu-buy begrenzt.
   ============================================================ */

/* Woo-Variantentabelle: versteckt, wir bedienen sie über die Taschen-Karten */
.fbu-buy .variations{display:none}
.fbu-buy .variations_form{margin:0}
.fbu-buy .woocommerce-variation-description{display:none}

/* Preis (Woo aktualisiert ihn bei Variantenwechsel selbst) */
.fbu-buy .price,
.fbu-buy .woocommerce-variation-price .price{font-family:Saira,sans-serif;font-style:italic;font-weight:900;
  font-size:44px;line-height:1;color:var(--y);margin:0;display:block}
.fbu-buy .price del{opacity:.45;font-size:.55em;margin-right:.3em}
.fbu-buy .price ins{text-decoration:none}
.fbu-buy .price small,
.fbu-buy .woocommerce-price-suffix{display:block;font-family:Manrope,sans-serif;font-style:normal;
  font-weight:400;font-size:12px;color:var(--mut);margin-top:6px}
.fbu-buy .woocommerce-variation-availability p{font-size:12.5px;color:var(--txt);margin:8px 0 0}
.fbu-buy .stock.out-of-stock{color:#FF6B4A}

/* Mengenfeld */
.fbu-buy form.cart{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 16px}
.fbu-buy form.cart .quantity{display:flex;align-items:center;border:2px solid var(--y);background:var(--k2)}
.fbu-buy form.cart .quantity input.qty{width:66px;height:54px;background:none;border:0;color:#fff;text-align:center;
  font-family:Saira,sans-serif;font-weight:900;font-size:17px;font-variant-numeric:tabular-nums;-moz-appearance:textfield}
.fbu-buy form.cart .quantity input.qty::-webkit-outer-spin-button,
.fbu-buy form.cart .quantity input.qty::-webkit-inner-spin-button{opacity:1;height:26px}

/* Warenkorb-Button */
.fbu-buy .single_add_to_cart_button{flex:1;min-width:200px;height:54px;background:var(--y);color:var(--k);
  border:2px solid var(--y);border-radius:0;box-shadow:5px 5px 0 0 rgba(254,220,0,.25);cursor:pointer;
  font:800 italic 16px/1 Saira,sans-serif;letter-spacing:.06em;text-transform:uppercase;
  transition:background .22s,color .22s,transform .12s,box-shadow .12s}
.fbu-buy .single_add_to_cart_button:hover{background:var(--k);color:var(--y)}
.fbu-buy .single_add_to_cart_button:active{transform:translate(2px,2px);box-shadow:none}
.fbu-buy .single_add_to_cart_button.disabled{opacity:.45;box-shadow:none;cursor:not-allowed}
.fbu-buy .woocommerce-variation-add-to-cart-disabled .single_add_to_cart_button{pointer-events:none}

/* Woo-Hinweise auf dunklem Grund */
.fbu-buy .woocommerce-notices-wrapper .woocommerce-message,
.fbu-buy .woocommerce-notices-wrapper .woocommerce-error,
.fbu-buy .woocommerce-notices-wrapper .woocommerce-info{background:var(--k2);border:2px solid var(--y);color:#fff;
  font-size:13.5px;padding:12px 14px;margin:0 0 16px;list-style:none}
.fbu-buy .woocommerce-notices-wrapper a{color:var(--y)}

/* Zurücksetzen-Link ausblenden (die Karten sind immer gesetzt) */
.fbu-buy .reset_variations{display:none!important}

@media (max-width:640px){
  .fbu-buy .price,.fbu-buy .woocommerce-variation-price .price{font-size:36px}
  .fbu-buy .single_add_to_cart_button{min-width:0;flex-basis:100%}
}


/* ============================================================
   BLOCK-THEME (Twenty Twenty-Four)
   TT4 beschränkt Inhalte auf contentSize. Auf Produktseiten
   heben wir das auf, damit die dunklen Sektionen voll durchlaufen.
   ============================================================ */
body.single-product .wp-block-post-content,
body.single-product .wp-block-group.is-layout-constrained,
body.single-product .entry-content{max-width:none!important}

body.single-product .wp-block-post-content > *,
body.single-product .entry-content > *{max-width:none}

/* Unser Wrapper setzt die Breite selbst. */
.wp-site-blocks .fbu{max-width:1180px;margin-inline:auto;width:100%}
.wp-site-blocks .fbu .fbu{max-width:none}

/* TT4-Typo greift nicht in unsere Sektionen. */
.fbu :where(h1,h2,h3){font-family:Saira,system-ui,sans-serif}
.fbu :where(p,li,span,div){text-wrap:pretty}


/* ============================================================
   ACF-Sektionen: Varianten, die es im festen Layout nicht gab
   ============================================================ */

/* Herzstück-Bild ohne Einflug-Animation */
.fbu-hero-img{width:100%;max-width:340px;display:block;filter:drop-shadow(0 24px 40px rgba(0,0,0,.7))}

/* Video links statt rechts */
.fbu-making-flip{grid-template-columns:1.15fr 1fr}
@media (max-width:1000px){
  .fbu-making-flip{grid-template-columns:1fr}
  .fbu-making-flip .fbu-vid{order:-1}
}

/* Freitext-Sektion */
.fbu-text .fbu-eyebrow{color:#5C5A53;margin-bottom:10px}
.fbu-text.fbu-dark .fbu-eyebrow{color:var(--y)}
.fbu-text h2{font-size:40px;line-height:.98;margin-bottom:18px}
.fbu-prose{max-width:70ch;font-size:15.5px;line-height:1.65;color:var(--line)}
.fbu-dark .fbu-prose{color:var(--txt)}
.fbu-prose p{margin:0 0 14px}
.fbu-prose p:last-child{margin-bottom:0}
.fbu-prose a{color:var(--k);text-decoration:underline;text-decoration-color:var(--y);text-decoration-thickness:2px}
.fbu-dark .fbu-prose a{color:var(--y)}
.fbu-prose ul{margin:0 0 14px;padding-left:1.1em}
.fbu-prose li{margin-bottom:6px}
@media (max-width:640px){.fbu-text h2{font-size:28px}}


/* ============================================================
   Korrekturen nach dem ersten Livegang
   ============================================================ */

/* Variantenpreis übernimmt die Rolle der Preisbox */
.fbu-buy .woocommerce-variation{margin:0 0 18px}
.fbu-buy .woocommerce-variation-price{border-top:1px solid var(--line);border-bottom:1px solid var(--line);
  padding:18px 0;margin:0 0 18px}
.fbu-buy .woocommerce-variation-availability{margin-top:-8px}

/* Steuerhinweis unter dem Warenkorb-Bereich */
.fbu-tax-below{margin:-4px 0 20px}
.product-type-simple .fbu-tax-below,
.product-type-external .fbu-tax-below{display:none}

/* Mengenfeld: Platz für Zahl und Pfeile */
.fbu-buy form.cart .quantity input.qty{width:84px}

/* Woo-Dropdown wird per JS ausgeblendet; Fallback ohne JS */
.fbu-buy form.cart table.variations,
.fbu-buy form.cart .variations{display:none}


/* ============================================================
   RANDLOS + BREITE
   Sektionen laufen über die ganze Fensterbreite, der Inhalt
   sitzt zentriert bis 1400 px. Damit gibt es keinen Streifen
   Theme-Weiß mehr neben unserem Papierton.
   ============================================================ */

body.single-product{background:#FAF8F3}
body.single-product .wp-site-blocks{background:#FAF8F3}

.wp-site-blocks .fbu{max-width:none;margin:0;width:100%}
.fbu{--g:max(20px,calc((100% - 1400px) / 2))}

.fbu-buy{padding:48px var(--g) 56px}
.fbu-sec{padding:56px var(--g)}
.fbu-com{padding:44px var(--g)}
.fbu-sec-flush{padding:0 var(--g) 60px}

/* Galerie ist nicht mehr an die Höhe der rechten Spalte gekoppelt.
   Vorher wanderte das Bild, sobald rechts eine Zeile dazukam
   (z. B. „Nicht vorrätig“). */
.fbu-buy{align-items:start}
.fbu-gal-main{flex:none;min-height:0;aspect-ratio:1/1}
.fbu-gal-main img{height:100%}

/* ---------- Mengenfeld: eigene Buttons statt Browser-Pfeile ---------- */
.fbu-buy form.cart .quantity.fbu-qtybox{display:flex;align-items:stretch;border:2px solid var(--y);
  background:var(--k2);overflow:hidden}
.fbu-buy form.cart .quantity.fbu-qtybox label{display:none}
.fbu-buy form.cart .fbu-qtybox input.qty{width:48px;height:54px;background:none;border:0;color:#fff;
  text-align:center;font-family:Saira,sans-serif;font-weight:900;font-size:17px;
  font-variant-numeric:tabular-nums;appearance:textfield;-moz-appearance:textfield}
.fbu-buy form.cart .fbu-qtybox input.qty::-webkit-outer-spin-button,
.fbu-buy form.cart .fbu-qtybox input.qty::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}
.fbu-step{width:42px;height:54px;display:grid;place-items:center;background:none;border:0;color:#fff;
  font:400 20px/1 Saira,sans-serif;cursor:pointer;transition:background .22s,color .22s}
.fbu-step:hover{background:var(--y);color:var(--k)}

@media (max-width:640px){
  .fbu-buy{padding:28px var(--g) 36px}
  .fbu-sec{padding:36px var(--g)}
  .fbu-com{padding:32px var(--g)}
  .fbu-sec-flush{padding:0 var(--g) 40px}
  .fbu-gal-main{aspect-ratio:4/5}
}


/* ============================================================
   Korrekturen Runde 2
   ============================================================ */

/* Mengenfeld: waagerecht, egal was Woo oder TT4 vorgeben */
.fbu-buy form.cart .quantity.fbu-qtybox{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;
  width:max-content;align-items:stretch;float:none;margin:0}
.fbu-buy form.cart .fbu-qtybox input.qty{flex:none;min-width:0;margin:0;border-radius:0}
.fbu-step{flex:none}

/* Woos Variantenpreis aus, unser Preis steht oben */
.fbu-buy .woocommerce-variation-price{display:none}
.fbu-buy .woocommerce-variation{margin:0}
.fbu-buy .woocommerce-variation-availability{margin:0 0 12px}
.fbu-buy .woocommerce-variation-availability p{margin:0;font-size:13px}

/* Laufband: eine Zeile, gleichmäßige Abstände */
.fbu-tape-track{display:inline-flex!important;flex-wrap:nowrap;align-items:center;gap:0;white-space:nowrap}
.fbu-tape-track .fbu-w{padding:0 20px;flex:none}
.fbu-tape-track .fbu-dot{flex:none;font-size:.7em;line-height:1;transform:translateY(-.15em)}
.fbu-tape-track span{display:inline-block}


/* Taschen-Icons sind jetzt freigestellte PNGs mit schwarzer Linie.
   Kein mix-blend mehr nötig: invert macht die Linie auf Dunkel weiß,
   auf der gelben Auswahlkarte bleibt sie schwarz. */
.fbu-bag-img img{mix-blend-mode:normal;filter:invert(1);object-fit:contain}
.fbu-bag[aria-pressed="true"] .fbu-bag-img img{filter:none}
.fbu-bag[data-size="s"] .fbu-bag-img img{height:170px;width:auto}
.fbu-bag[data-size="l"] .fbu-bag-img img{height:190px;width:auto}
@media (max-width:640px){
  .fbu-bag[data-size="s"] .fbu-bag-img img{height:118px}
  .fbu-bag[data-size="l"] .fbu-bag-img img{height:132px}
}


/* ============================================================
   Korrekturen Runde 3
   ============================================================ */

/* Luft zwischen Claim und Trennlinie der Preisbox */
.fbu-lead2{margin-bottom:30px}

/* Menge und Warenkorb-Button nebeneinander — auch in Woos
   Varianten-Wrapper, der sonst untereinander stapelt. */
.fbu-buy form.cart,
.fbu-buy .woocommerce-variation-add-to-cart{display:flex;flex-direction:row;flex-wrap:nowrap;
  align-items:stretch;gap:12px;margin:0 0 18px}
.fbu-buy .woocommerce-variation-add-to-cart .quantity{flex:none}
.fbu-buy .single_add_to_cart_button{flex:1 1 auto;width:auto;min-width:0;margin:0;
  box-shadow:6px 6px 0 0 rgba(254,220,0,.28)}
.fbu-buy .single_add_to_cart_button:hover{box-shadow:6px 6px 0 0 rgba(254,220,0,.28)}
.fbu-buy .single_add_to_cart_button:active{box-shadow:none}

/* Der Schatten braucht Platz, sonst schneidet ihn der Rand ab. */
.fbu-summary{padding-bottom:8px}
.fbu-buy form.cart{overflow:visible}

/* Frisbee fliegt von außerhalb der Seite herein, nicht aus einem Kasten.
   Geclippt wird erst an der Fensterkante. */
.fbu-disc-wrap{overflow:visible}
.fbu-sec-flush,
.fbu-dark{overflow-x:clip}

@media (max-width:640px){
  .fbu-buy form.cart,
  .fbu-buy .woocommerce-variation-add-to-cart{flex-wrap:wrap}
  .fbu-buy .single_add_to_cart_button{flex-basis:100%}
}


/* ============================================================
   Korrekturen Runde 4
   ============================================================ */

/* Die Reset-Regel .fbu p{margin:0} ist spezifischer als eine reine
   Klassenregel — deshalb hier mit Elementteil. */
.fbu p.fbu-lead{margin:0 0 12px}
.fbu p.fbu-lead2{margin:0 0 30px}
.fbu .fbu-lead p:last-child{margin-bottom:0}

/* Warenkorb-Zeile über die volle Spaltenbreite */
.fbu-buy form.cart,
.fbu-buy .woocommerce-variation-add-to-cart,
.fbu-buy .variations_form{width:100%}
.fbu-buy .single_add_to_cart_button{flex:1 1 auto}

/* ---------- Bauteil-Sektion ---------- */

/* Festes Seitenverhältnis: der Zuschnitt bleibt bei jeder Fensterbreite
   gleich, damit die Hotspots dort sitzen, wo sie gesetzt wurden. */
.fbu-hot-photo{aspect-ratio:3/2}
.fbu-hot-photo>img{min-height:0;height:100%}

/* Freisteller doppelt so groß */
.fbu-hot-art{height:240px;display:grid;place-items:start end;padding:14px 14px 0 0;box-sizing:border-box}
.fbu-hot-art img{max-height:240px;width:auto;object-fit:contain}
.fbu-part-art{height:220px}
.fbu-part-art img{max-height:220px;width:auto;object-fit:contain}

/* Gleiche Höhe für jedes Bauteil — kein Springen beim Wechseln. */
.fbu-hot-info{min-height:100%;justify-content:flex-start;gap:22px}
.fbu-hot-info h3{min-height:2em;display:flex;align-items:flex-end}
#fbu-hot-x{min-height:5.2em}
.fbu-specs{margin-top:auto}

@media (max-width:1000px){
  .fbu-hot-photo{aspect-ratio:4/3}
  .fbu-hot-art{height:190px}
  .fbu-hot-art img{max-height:190px}
  .fbu-part-art{height:170px}
  .fbu-part-art img{max-height:170px}
}
@media (max-width:640px){
  .fbu-hot-art{height:150px}
  .fbu-hot-art img{max-height:150px}
  .fbu-part-art{height:130px}
  .fbu-part-art img{max-height:130px}
  .fbu-hot-info h3{min-height:0}
  #fbu-hot-x{min-height:0}
}


/* Nur für Administratoren: Hinweis, wenn ein Variantenbild fehlt. */
.fbu-bag-missing{border:1px dashed var(--y);display:grid;place-items:center;padding:12px;width:100%}
.fbu-bag-missing span{font:600 10.5px/1.5 Manrope,sans-serif;color:var(--y);text-align:center;word-break:break-all}
.fbu-bag-missing code{font-family:ui-monospace,monospace;font-size:10px;color:#fff}


/* ============================================================
   WOO-MELDUNGEN im Frisbier-Design
   Klassische Notices und die neuen Block-Notices.
   ============================================================ */

.fbu .woocommerce-notices-wrapper{margin:0 0 22px}
.fbu .woocommerce-message,
.fbu .woocommerce-info,
.fbu .woocommerce-error,
.fbu .wc-block-components-notice-banner{
  background:#141414!important;border:2px solid var(--y)!important;border-radius:0!important;
  color:#fff!important;padding:16px 18px!important;margin:0 0 12px!important;list-style:none;
  font:600 13.5px/1.5 Manrope,sans-serif;display:flex;align-items:center;gap:12px;flex-wrap:wrap;
  box-shadow:6px 6px 0 0 rgba(254,220,0,.22)}
.fbu .woocommerce-error{border-color:#FF6B4A!important;box-shadow:6px 6px 0 0 rgba(255,107,74,.22)}

/* Woos grünes Häkchen und die Block-Icons auf Gelb umstellen */
.fbu .woocommerce-message::before,
.fbu .woocommerce-info::before{color:var(--y)!important;background:none!important;position:static;
  font-size:16px;line-height:1;margin:0}
.fbu .wc-block-components-notice-banner__content{margin:0;flex:1;min-width:0}
.fbu .wc-block-components-notice-banner > svg{fill:var(--y);width:20px;height:20px;flex:none;margin:0}

/* „Warenkorb anzeigen“ als Frisbier-Button statt Textlink */
.fbu .woocommerce-message .button,
.fbu .woocommerce-info .button,
.fbu .wc-block-components-notice-banner a.button{
  margin:0 0 0 auto;padding:10px 16px;border:2px solid var(--y);background:var(--y);color:var(--k);
  border-radius:0;text-decoration:none;font:800 11px/1 Saira,sans-serif;letter-spacing:.12em;
  text-transform:uppercase;transition:background .22s,color .22s}
.fbu .woocommerce-message .button:hover,
.fbu .woocommerce-info .button:hover{background:var(--k);color:var(--y)}
.fbu .woocommerce-message a:not(.button),
.fbu .woocommerce-info a:not(.button){color:var(--y);text-decoration:underline;
  text-decoration-thickness:2px;text-underline-offset:3px}

@media (max-width:640px){
  .fbu .woocommerce-message,
  .fbu .woocommerce-info,
  .fbu .woocommerce-error,
  .fbu .wc-block-components-notice-banner{box-shadow:4px 4px 0 0 rgba(254,220,0,.22)}
  .fbu .woocommerce-message .button,
  .fbu .woocommerce-info .button{margin-left:0;width:100%;text-align:center}
}


/* Meldungen: Haken gelb, Link ohne Rahmen, alles in einer Zeile */
.fbu .woocommerce-message,
.fbu .woocommerce-info,
.fbu .wc-block-components-notice-banner{flex-wrap:nowrap;gap:10px}

.fbu .woocommerce-message svg,
.fbu .woocommerce-info svg,
.fbu .wc-block-components-notice-banner svg{fill:var(--y)!important;color:var(--y)!important;
  width:20px;height:20px;flex:none;margin:0}
.fbu .woocommerce-message svg circle,
.fbu .wc-block-components-notice-banner svg circle{fill:var(--y)!important}
.fbu .woocommerce-message svg path,
.fbu .wc-block-components-notice-banner svg path{fill:var(--y)!important}

/* Falls Woo das Häkchen als Pseudo-Element mit grüner Fläche zeichnet */
.fbu .woocommerce-message::before,
.fbu .woocommerce-info::before{background:none!important;background-color:transparent!important;
  color:var(--y)!important;border-color:var(--y)!important}

/* „Warenkorb anzeigen“ als schlichter Link direkt hinter dem Satz */
.fbu .woocommerce-message .button,
.fbu .woocommerce-info .button,
.fbu .wc-block-components-notice-banner a.button,
.fbu .wc-block-components-notice-banner a{order:2;margin:0 0 0 4px;padding:0;border:0!important;
  background:none!important;box-shadow:none!important;color:var(--y)!important;
  font:800 11.5px/1.4 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  text-decoration:underline;text-decoration-thickness:2px;text-underline-offset:3px;white-space:nowrap}
.fbu .woocommerce-message .button:hover,
.fbu .woocommerce-info .button:hover,
.fbu .wc-block-components-notice-banner a:hover{color:#fff!important}
.fbu .woocommerce-message .wc-forward,
.fbu .woocommerce-info .wc-forward{float:none}

@media (max-width:640px){
  .fbu .woocommerce-message,
  .fbu .woocommerce-info,
  .fbu .wc-block-components-notice-banner{flex-wrap:wrap}
  .fbu .woocommerce-message .button,
  .fbu .woocommerce-info .button{margin-left:0;width:auto;text-align:left}
}


/* Block-Notice: Haken gelb mit schwarzem Häkchen, Link in derselben Zeile */
.fbu .wc-block-components-notice-banner.is-success > svg,
.fbu .wc-block-components-notice-banner.is-info > svg,
.fbu .wc-block-components-notice-banner > svg{
  background-color:var(--y)!important;fill:var(--k)!important;color:var(--k)!important;
  border-radius:50%;padding:2px;box-sizing:content-box}
.fbu .wc-block-components-notice-banner.is-error > svg{background-color:#FF6B4A!important}
.fbu .wc-block-components-notice-banner > svg path,
.fbu .wc-block-components-notice-banner > svg circle{fill:var(--k)!important}

/* Satz und Link nebeneinander; wird es eng, bricht der Link linksbündig um. */
.fbu .wc-block-components-notice-banner__content{display:flex!important;flex-wrap:wrap;
  align-items:baseline;justify-content:flex-start;gap:4px 12px;text-align:left!important;margin:0}
.fbu .wc-block-components-notice-banner__content a,
.fbu .wc-block-components-notice-banner__content .button,
.fbu .wc-block-components-notice-banner__content .wc-forward{display:inline-block!important;
  float:none!important;margin:0!important;text-align:left!important;width:auto!important}


/* Link zu den Google-Bewertungen */
.fbu-stars .fbu-reviews-link{font-size:12.5px;color:var(--mut);text-decoration:underline;
  text-decoration-color:var(--y);text-decoration-thickness:1px;text-underline-offset:3px;
  transition:color .22s,text-decoration-thickness .22s}
.fbu-stars .fbu-reviews-link:hover{color:#fff;text-decoration-thickness:3px}


/* ============================================================
   Making-Off / Video-Sektion im Dark Modus
   ============================================================ */
.fbu-making.fbu-dark{background:var(--k);border-top:1px solid var(--line)}
.fbu-making.fbu-dark .fbu-eyebrow{color:var(--y)}
.fbu-making.fbu-dark h2{color:#fff}
.fbu-making.fbu-dark p{color:var(--txt)}
.fbu-making.fbu-dark .fbu-chip{border-color:var(--y);color:var(--y)}
.fbu-making.fbu-dark .fbu-mark{color:var(--k)}
.fbu-making.fbu-dark .fbu-vid{border-color:var(--y);box-shadow:10px 10px 0 0 rgba(254,220,0,.28)}
.fbu-making.fbu-dark b{color:#fff}


/* ============================================================
   Ansichts-Umschalter über dem Bauteil-Foto
   ============================================================ */
.fbu-hot-head{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;
  flex-wrap:wrap;margin-bottom:26px}
.fbu-views{display:flex;gap:0;border:2px solid var(--y);background:var(--k2);flex:none}
.fbu-view{padding:11px 18px;background:none;border:0;cursor:pointer;color:#fff;
  font:800 11px/1 Saira,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  transition:background .22s,color .22s}
.fbu-view + .fbu-view{border-left:2px solid var(--y)}
.fbu-view:hover{color:var(--y)}
.fbu-view[aria-pressed="true"]{background:var(--y);color:var(--k)}
.fbu-hot-photo>img{transition:opacity .22s}
@media (max-width:640px){
  .fbu-hot-head{gap:14px}
  .fbu-views{width:100%}
  .fbu-view{flex:1;padding:12px 10px;font-size:10.5px;letter-spacing:.1em}
}


/* ============================================================
   Bauteil-Sektion: zwei eigenständige Rahmen statt eines
   zusammengesetzten Kastens — mit dem üblichen Frisbier-Schatten.
   ============================================================ */
.fbu-hot{gap:28px}
.fbu-hot-photo{border:2px solid var(--y);box-shadow:10px 10px 0 0 rgba(254,220,0,.28)}
.fbu-hot-info{border:2px solid var(--y);border-left:2px solid var(--y);
  box-shadow:10px 10px 0 0 rgba(254,220,0,.28);align-self:start;min-height:0}
@media (max-width:1000px){
  .fbu-hot{gap:22px}
  .fbu-hot-photo,.fbu-hot-info{box-shadow:6px 6px 0 0 rgba(254,220,0,.28)}
}


/* Frisbee als Strichzeichnung: kein Produktschatten, dafür etwas größer. */
.fbu-disc.fbu-disc-line{filter:none;max-width:440px}
@media (max-width:640px){.fbu-disc.fbu-disc-line{max-width:300px}}


/* Beschreibungskasten auf Bildhöhe */
.fbu-hot-info{align-self:stretch}

/* Langer Kennwert darf umbrechen, ohne die Zeile zu sprengen */
.fbu-specs{gap:18px;align-items:flex-start}
.fbu-specs > div{flex:1;min-width:0}
.fbu-spec-v{font-size:17px;line-height:1.15;text-wrap:balance}
@media (max-width:640px){.fbu-spec-v{font-size:15px}}


/* ============================================================
   Bauteil-Sektion: das Foto folgt der Kastenhöhe, damit beide
   Spalten garantiert gleich hoch sind (aspect-ratio kann die
   Grid-Zeile nicht nach oben ziehen).
   ============================================================ */
.fbu-hot-photo{aspect-ratio:auto;align-self:stretch;min-height:440px}
.fbu-hot-photo>img{height:100%;width:100%;object-fit:cover}
.fbu-hot-info{gap:18px}
.fbu-hot-art{height:200px}
.fbu-hot-art img{max-height:200px}
#fbu-hot-x{min-height:4.6em}
@media (max-width:1000px){
  .fbu-hot-photo{min-height:320px}
  .fbu-hot-art{height:180px}
  .fbu-hot-art img{max-height:180px}
}
@media (max-width:640px){
  .fbu-hot-photo{min-height:240px}
  .fbu-hot-art{height:150px}
  .fbu-hot-art img{max-height:150px}
}


/* Frisbee-Icon füllt dieselbe Fläche wie die anderen Bauteile */
.fbu-hot-art img[src*="frisbee-icon"]{width:100%;height:auto;max-height:none}

/* Anflug: die Frisbee kommt von oben links — also aus Richtung des
   Bauteilfotos darüber — und wird auf dem Weg größer. */
@keyframes fbu-fly{
  0%{transform:translate(-640px,-560px) rotate(0deg) scale(.14);opacity:0}
  6%{opacity:1}
  100%{transform:translate(0,0) rotate(1440deg) scale(1);opacity:1}}
.fbu-disc{animation-duration:1.15s}


/* Frisbee-Icon deutlich kleiner */
.fbu-hot-art img[src*="frisbee-icon"]{width:50%;max-width:180px;height:auto;max-height:none}
@media (max-width:640px){.fbu-hot-art img[src*="frisbee-icon"]{max-width:130px}}


/* Frisbee-Icon: Dateiname mit Zählersuffix ebenfalls berücksichtigen */
.fbu-hot-art img[src*="frisbee-icon"]{width:50%;max-width:180px;height:auto;max-height:none}

/* ============================================================
   Bauteil-Kasten: feste Höhe, egal welches Bauteil gewählt ist.
   Die unsichtbaren Kopien aller Texte liegen in derselben
   Rasterzelle wie der sichtbare Text — die Zelle ist damit immer
   so hoch wie der längste Text. Kein Springen beim Klicken.
   ============================================================ */
.fbu-stack{display:grid;margin-bottom:16px}
.fbu-stack>p{grid-area:1/1;margin:0;font-size:14.5px;line-height:1.55}
.fbu-ghost{visibility:hidden;pointer-events:none}
#fbu-hot-x{min-height:0;margin:0;color:var(--txt)}
.fbu-specs{flex-wrap:wrap;min-height:62px;align-items:flex-start}
.fbu-hot-art img{max-height:100%;max-width:100%}
.fbu-hot-art img[src*="frisbee-icon"]{max-height:100%}

/* ============================================================
   Lieferumfang: gleich hohe Karten, Freisteller immer zentriert
   und nie breiter als die Karte — auch auf schmalen Displays.
   ============================================================ */
.fbu-partgrid{align-items:stretch}
.fbu-part{display:flex;flex-direction:column}
.fbu-part-art{width:100%;height:180px;display:grid;place-items:center;overflow:hidden}
.fbu-part-art img{width:auto!important;height:auto!important;max-width:100%!important;max-height:168px!important;
  object-fit:contain;margin:0 auto}
.fbu-part-t{margin-top:auto;padding-top:12px}
.fbu-part-s{min-height:2.9em}
@media (max-width:640px){
  .fbu-part-art{height:144px}
  .fbu-part-art img{max-height:132px!important}
  .fbu-part{padding:14px}
  .fbu-part-t{font-size:16px;line-height:1.05}
  .fbu-part-s{font-size:11.5px;min-height:3.2em}
}

/* ============================================================
   Lieferumfang im Bento-Raster: 6 Spalten, Karten mit
   unterschiedlicher Breite, die optionale Tasche über die
   ganze Zeile und mit diagonalem Schwarz-Gelb-Muster.
   ============================================================ */
.fbu-partgrid{grid-template-columns:repeat(3,1fr)!important}
.fbu-part-opt{
  position:relative;overflow:hidden;
  background:repeating-linear-gradient(135deg,#141414 0 16px,#191713 16px 32px)!important;
  border:2px solid var(--k)!important;
  box-shadow:6px 6px 0 0 var(--y)!important;
  flex-direction:column!important;align-items:stretch;justify-content:flex-start;gap:0;
  padding:20px!important;text-align:center}
.fbu-opt-ghost{position:absolute;inset:0;display:grid;place-items:center;
  font:900 italic 92px/1 Saira,sans-serif;text-transform:uppercase;
  color:rgba(254,220,0,.07);letter-spacing:-.02em;pointer-events:none}
.fbu-opt-art{position:relative;display:grid!important;
  grid-template-columns:1fr auto 1fr;align-items:center;gap:10px}
.fbu-opt-icon{height:108px;min-width:0;width:100%;justify-self:stretch;background:var(--y);
  -webkit-mask:var(--src) center/contain no-repeat;mask:var(--src) center/contain no-repeat}
.fbu-opt-or{font:800 10px/1 Saira,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--y)}
.fbu-part-opt .fbu-part-t,.fbu-part-opt .fbu-part-s{position:relative}
.fbu-part-opt .fbu-part-t{margin:0!important;padding-top:0!important;font-size:22px}
.fbu-part-opt .fbu-part-s{min-height:0!important;font-size:13px;line-height:1.5;color:#A8A49A;margin-top:6px;max-width:52ch}
.fbu-opt-txt{flex:1;min-width:0}
.fbu-opt-badge{display:inline-block;background:var(--y);color:#0E0E0E;
  font:800 10px/1 Saira,sans-serif;letter-spacing:.2em;text-transform:uppercase;
  padding:6px 10px;margin-bottom:10px}
@media (max-width:900px){
  .fbu-partgrid{grid-template-columns:repeat(2,1fr)!important}
}

/* Lieferumfang: alle PNGs in Vollgröße, nur auf Kartenbreite begrenzt */
/* Lieferumfang: 2×3-Raster, alle Karten gleich groß */
.fbu-partgrid{grid-template-columns:repeat(3,1fr)!important}
.fbu-part{overflow:hidden}
.fbu-partgrid .fbu-part-art{height:180px!important;min-height:0!important;flex:none!important;display:grid;place-items:center;overflow:hidden}
.fbu-partgrid .fbu-part-art img{max-height:168px!important;max-width:100%!important;height:auto!important;width:auto!important}
/* Einzelne Bauteile skaliert, damit die Linienstärken zueinander passen */
.fbu-partgrid .fbu-part-art img[src*="Huelse"]{max-height:290px!important;position:relative;top:-29px}
.fbu-partgrid .fbu-part-art img[src*="Erdnagel"]{max-height:185px!important}
.fbu-partgrid .fbu-part-art img[src*="Stangen"]{max-height:283px!important;transform:translateY(-24px) rotate(90deg)}
.fbu-partgrid .fbu-part-art:has(img[src*="Stangen"]){overflow:visible!important}
.fbu-partgrid .fbu-part-art img[src*="Flasche"]{max-height:185px!important}
.fbu-partgrid .fbu-part-art:has(img[src*="Huelse"]),
.fbu-partgrid .fbu-part-art:has(img[src*="Erdnagel"]),
.fbu-partgrid .fbu-part-art:has(img[src*="Flasche"]){overflow:visible!important}

.fbu-opt-badge{display:none}

/* Zwei Karten pro Reihe, sobald es schmal wird — steht bewusst am Ende,
   damit es die Grundregel mit den drei Spalten überschreibt. */
@media (max-width:900px){
  .fbu-partgrid{grid-template-columns:repeat(2,1fr)!important}
  .fbu-opt-ghost{font-size:52px}
  .fbu-opt-art{gap:6px}
  .fbu-opt-or{font-size:9px;letter-spacing:.12em}
  .fbu-opt-icon{height:96px}
}

/* ============================================================
   Bauteil-Detail: PNG in voller Größe, oben rechts angeschlagen
   mit Innenabstand. Gilt für alle Bauteile, auch das Frisbee-Icon.
   ============================================================ */
.fbu-hot-art img,
.fbu-hot-art img[src*="frisbee-icon"]{
  width:auto!important;height:auto!important;
  max-width:100%!important;max-height:226px!important;
  object-fit:contain;display:block;margin:0}
@media (max-width:980px){
  .fbu-hot-art img,.fbu-hot-art img[src*="frisbee-icon"]{max-height:176px!important}
}
@media (max-width:640px){
  .fbu-hot-art{padding:10px 10px 0 0}
  .fbu-hot-art img,.fbu-hot-art img[src*="frisbee-icon"]{max-height:140px!important}
}


/* Kennwertzeile: feste Höhe, damit kein Bauteil die Kastenhöhe verändert */
.fbu-specs{min-height:64px}
.fbu-spec-v{overflow-wrap:anywhere}
@media (max-width:640px){.fbu-specs{min-height:0}}


/* Umschalter: Rahmen sauber schließen, aktive Fläche randlos einpassen */
.fbu-views{border:2px solid var(--y);background:var(--k2);overflow:hidden;line-height:0;
  align-self:flex-end}
.fbu-view{border:0;margin:0;line-height:1;box-shadow:none}
.fbu-view + .fbu-view{border-left:2px solid var(--y)}
.fbu-view[aria-pressed="true"]{background:var(--y);color:var(--k)}


/* Community-Karte: Instagram-Zeichen über dem Hashtag, eine Zeile */
.fbu-cta-icon{display:block;margin:0 auto 12px;width:30px;height:30px}
.fbu-cta-card b{white-space:nowrap;font-size:24px}
@media (max-width:640px){.fbu-cta-card b{font-size:20px}}


/* ============================================================
   HEADER
   Schwarze Leiste, Logo links, Menü rechts, gelber Warenkorb.
   Fährt beim Runterscrollen weg und kommt beim Hochscrollen zurück.
   ============================================================ */

body.fbh-open{overflow:hidden}

.fbh{position:sticky;top:0;z-index:900;background:#0E0E0E;
  border-bottom:2px solid transparent;transition:transform .28s cubic-bezier(.2,.8,.2,1),border-color .22s}
.fbh.is-stuck{border-bottom-color:var(--y)}
.fbh.is-away{transform:translateY(-100%)}
.admin-bar .fbh{top:32px}
@media (max-width:782px){.admin-bar .fbh{top:46px}}

.fbh-bar{max-width:1360px;margin:0 auto;padding:0 clamp(16px,3.4vw,40px);
  min-height:76px;display:flex;align-items:center;gap:clamp(16px,3vw,40px)}

.fbh-logo{display:flex;align-items:center;flex:none;margin-right:auto}
.fbh-logo img{display:block;height:38px;width:auto}

.fbh-nav{display:flex;align-items:center;gap:clamp(14px,2.2vw,30px)}
.fbh-link{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:6px 0;
  color:#fff;text-decoration:none;cursor:pointer;position:relative;
  font:900 italic 15px/1 Saira,sans-serif;letter-spacing:.01em;text-transform:uppercase}
.fbh-link::after{content:"";position:absolute;left:0;right:100%;bottom:0;height:3px;background:var(--y);
  transition:right .22s cubic-bezier(.2,.8,.2,1)}
.fbh-link:hover::after,.fbh-has-sub:hover .fbh-link::after,.fbh-has-sub.is-open .fbh-link::after{right:0}
.fbh-link svg{opacity:.6;transition:transform .22s}
.fbh-has-sub:hover .fbh-link svg,.fbh-has-sub.is-open .fbh-link svg{transform:rotate(180deg);opacity:1}

.fbh-has-sub{position:relative}
.fbh-sub{position:absolute;top:100%;left:-18px;margin-top:14px;min-width:272px;
  background:#141414;border:2px solid var(--y);box-shadow:8px 8px 0 0 rgba(254,220,0,.2);
  padding:8px;display:grid;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .2s,transform .2s,visibility .2s}
.fbh-has-sub:hover .fbh-sub,.fbh-has-sub.is-open .fbh-sub{opacity:1;visibility:visible;transform:none}
.fbh-sub::before{content:"";position:absolute;top:-14px;left:0;right:0;height:14px}
.fbh-sub a{display:block;padding:11px 14px;color:#fff;text-decoration:none;
  font:700 13.5px/1.2 Manrope,sans-serif;transition:background .18s,color .18s}
.fbh-sub a:hover{background:var(--y);color:var(--k)}

.fbh-right{display:flex;align-items:center;gap:clamp(10px,1.6vw,18px);flex:none}

.fbh-lang{display:flex;align-items:center;gap:2px}
.fbh-lang a{padding:5px 7px;color:rgba(255,255,255,.55);text-decoration:none;
  font:800 11px/1 Saira,sans-serif;letter-spacing:.1em}
.fbh-lang a:hover{color:#fff}
.fbh-lang a[aria-current]{color:var(--k);background:var(--y)}

.fbh-social{display:flex;align-items:center;gap:4px}
.fbh-social a{display:grid;place-items:center;width:34px;height:34px;
  color:rgba(255,255,255,.62);transition:color .2s,background .2s}
.fbh-social a:hover{color:var(--y)}

.fbh-cart{display:inline-flex;align-items:center;gap:9px;padding:9px 14px;
  background:var(--y);color:var(--k);text-decoration:none;border:2px solid var(--y);
  transition:background .2s,color .2s}
.fbh-cart:hover{background:#0E0E0E;color:var(--y)}
.fbh-count{font:800 13px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;min-width:9px;text-align:center}

.fbh-burger{display:none;flex-direction:column;justify-content:center;gap:5px;
  width:42px;height:38px;padding:0 8px;background:none;border:0;cursor:pointer}
.fbh-burger span{display:block;height:2.5px;background:#fff;transition:transform .24s,opacity .18s}
.fbh-burger span:nth-child(2){width:70%;margin-left:auto}

@media (max-width:980px){
  .fbh-nav,.fbh-lang{display:none}
  .fbh-burger{display:flex}
  .fbh-bar{min-height:64px;gap:10px}
  .fbh-logo img{height:31px}
  .fbh-social{display:none}
}

/* ---------- Schublade von rechts ---------- */

.fbh-scrim{position:fixed;inset:0;z-index:940;background:rgba(0,0,0,.62);
  opacity:0;transition:opacity .28s}
.fbh-scrim.is-open{opacity:1}

.fbh-drawer{position:fixed;top:0;right:0;bottom:0;z-index:950;width:min(390px,88vw);
  background:#0E0E0E;border-left:2px solid var(--y);display:flex;flex-direction:column;
  transform:translateX(100%);transition:transform .3s cubic-bezier(.2,.8,.2,1)}
.fbh-drawer.is-open{transform:none}

.fbh-drawer-top{display:flex;align-items:center;justify-content:space-between;
  padding:20px 22px;border-bottom:1px solid #2C2B27}
.fbh-drawer-top span{color:var(--y);font:800 11px/1 Saira,sans-serif;
  letter-spacing:.22em;text-transform:uppercase}
.fbh-close{display:grid;place-items:center;width:44px;height:44px;margin:-11px -11px -11px 0;
  background:none;border:0;color:#fff;cursor:pointer}
.fbh-close:hover{color:var(--y)}

.fbh-drawer-nav{flex:1;overflow-y:auto;padding:22px 22px 30px;display:grid;gap:22px;align-content:start}
.fbh-d-top,.fbh-d-head{display:block;color:#fff;text-decoration:none;
  font:900 italic 27px/1.05 Saira,sans-serif;text-transform:uppercase}
.fbh-d-top{min-height:44px;display:flex;align-items:center}
.fbh-d-top:hover{color:var(--y)}
.fbh-d-head{color:var(--y);font-size:15px;letter-spacing:.02em;margin-bottom:4px}
.fbh-d-group{display:grid}
.fbh-d-group a{display:flex;align-items:center;min-height:44px;color:rgba(255,255,255,.86);
  text-decoration:none;border-bottom:1px solid #212121;
  font:700 15px/1.2 Manrope,sans-serif}
.fbh-d-group a:hover{color:var(--y)}

.fbh-drawer-foot{padding:18px 22px;border-top:1px solid #2C2B27;
  display:flex;align-items:center;justify-content:space-between;gap:14px}
.fbh-drawer-foot .fbh-social{display:flex}
.fbh-d-cart{display:inline-flex;align-items:center;gap:10px;min-height:44px;padding:0 18px;
  background:var(--y);color:var(--k);text-decoration:none;
  font:800 12px/1 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.fbh-d-cart span{font-variant-numeric:tabular-nums}
.fbh-d-cart:hover{background:#fff}

/* ============================================================
   FOOTER
   ============================================================ */

.fbf{background:#0E0E0E;color:#fff;border-top:2px solid var(--y);
  padding:clamp(40px,5vw,64px) clamp(18px,3.4vw,40px) 0;font-family:Manrope,sans-serif}
.fbf-top{max-width:1360px;margin:0 auto;display:grid;
  grid-template-columns:1.5fr repeat(4,1fr);gap:clamp(24px,3vw,44px)}

.fbf-brand img{display:block;height:44px;width:auto;margin-bottom:20px}
.fbf-claim{margin:0 0 14px;font:700 15px/1.45 Manrope,sans-serif;color:#fff}
.fbf-claim b{color:var(--y);font-weight:800}
.fbf-made{margin:0 0 20px;font-size:13.5px;line-height:1.6;color:rgba(255,255,255,.62);
  max-width:38ch;text-wrap:pretty}
.fbf-mark{color:var(--k);background:var(--y);padding:0 4px;font-weight:700}
.fbf-social a{width:38px;height:38px;border:1px solid #2C2B27}
.fbf-social a:hover{border-color:var(--y)}

.fbf-col{display:grid;gap:2px;align-content:start}
.fbf-col h3{margin:0 0 12px;color:var(--y);font:800 11px/1 Saira,sans-serif;
  letter-spacing:.2em;text-transform:uppercase}
.fbf-col a,.fbf-todo{display:block;padding:7px 0;color:rgba(255,255,255,.74);
  text-decoration:none;font-size:13.5px;line-height:1.45}
.fbf-col a:hover{color:var(--y)}
.fbf-todo{color:rgba(255,255,255,.3)}

.fbf-stars{color:var(--y);font-size:16px;letter-spacing:2px;margin-bottom:8px}
.fbf-rating p{margin:0 0 12px;font-size:13px;line-height:1.5;color:rgba(255,255,255,.62)}
.fbf-rating-link{display:inline-flex!important;align-items:center;min-height:40px;padding:0 14px!important;
  border:2px solid var(--y);color:var(--y)!important;
  font:800 11px/1 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  transition:background .2s,color .2s}
.fbf-rating-link:hover{background:var(--y);color:var(--k)!important}

.fbf-pay{max-width:1360px;margin:clamp(32px,4vw,48px) auto 0;padding:22px 0;
  border-top:1px solid #212121;display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.fbf-pay-k{color:rgba(255,255,255,.4);font:800 10px/1 Saira,sans-serif;
  letter-spacing:.2em;text-transform:uppercase}
.fbf-pay-list{display:flex;gap:8px;flex-wrap:wrap}
.fbf-pay-chip{padding:7px 11px;border:1px solid #2C2B27;color:rgba(255,255,255,.7);
  font:700 11px/1 Manrope,sans-serif;letter-spacing:.04em}

.fbf-legal{max-width:1360px;margin:0 auto;padding:18px 0 26px;border-top:1px solid #212121;
  display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;
  color:rgba(255,255,255,.38);font-size:12px}
.fbf-legal span:last-child{color:var(--y);font:800 10px/1 Saira,sans-serif;
  letter-spacing:.2em;text-transform:uppercase}

@media (max-width:1100px){
  .fbf-top{grid-template-columns:1fr 1fr 1fr}
  .fbf-brand{grid-column:1/-1}
}
@media (max-width:640px){
  .fbf-top{grid-template-columns:1fr 1fr}
  .fbf-brand img{height:36px}
  .fbf-legal{flex-direction:column;gap:8px}
}


/* Header höher, Logo größer, Menü mittig zwischen Logo und rechter Gruppe */
.fbh-bar{min-height:104px}
.fbh-logo{margin-right:0}
.fbh-logo img{height:58px}
.fbh-nav{flex:1;justify-content:center}
@media (max-width:980px){
  .fbh-bar{min-height:76px}
  .fbh-logo{margin-right:auto}
  .fbh-logo img{height:40px}
}


/* Logo 20 % größer */
.fbh-bar{min-height:118px}
.fbh-logo img{height:70px}
@media (max-width:980px){
  .fbh-bar{min-height:76px}
  .fbh-logo img{height:44px}
}


/* ============================================================
   HEADER IN GELB
   Gelbe Leiste, schwarzes Logo, schwarzer Warenkorb-Button.
   ============================================================ */

.fbh{background:var(--y);border-bottom:2px solid transparent}
.fbh.is-stuck{border-bottom-color:var(--k);box-shadow:0 2px 0 0 rgba(14,14,14,.12)}

/* Menü darf nicht umbrechen, egal was das Theme mitbringt */
.fbh-nav{flex-wrap:nowrap}
.fbh-nav > *{flex:none}
.fbh-link{color:var(--k);white-space:nowrap}
.fbh-link::after{background:var(--k)}
.fbh-link br,.fbh-nav br,.fbh-right br,.fbh-bar br{display:none}
.fbh p{margin:0;padding:0}

.fbh-sub{background:#0E0E0E;border-color:var(--k);box-shadow:8px 8px 0 0 rgba(14,14,14,.18)}
.fbh-sub a{color:#fff}
.fbh-sub a:hover{background:var(--y);color:var(--k)}

.fbh .fbh-social a,.fbh-drawer .fbh-social a{color:rgba(14,14,14,.55)}
.fbh .fbh-social a:hover{color:var(--k)}
.fbh-drawer .fbh-social a{color:rgba(255,255,255,.62)}
.fbh-drawer .fbh-social a:hover{color:var(--y)}

.fbh-lang a{color:rgba(14,14,14,.5)}
.fbh-lang a:hover{color:var(--k)}
.fbh-lang a[aria-current]{background:var(--k);color:var(--y)}

.fbh-cart{background:var(--k);color:var(--y);border-color:var(--k)}
.fbh-cart:hover{background:#fff;color:var(--k);border-color:var(--k)}

.fbh-burger span{background:var(--k)}

/* Brotkrumen aus — auch die von Yoast und WooCommerce-Blöcken */
.fbu-crumbs,.woocommerce-breadcrumb,
nav[aria-label="Brotkrümelnavigation"],
.wp-block-woocommerce-breadcrumbs,
.yoast-breadcrumbs{display:none!important}


/* Logo 30 % größer */
.fbh-bar{min-height:146px}
.fbh-logo img{height:91px}
@media (max-width:980px){
  .fbh-bar{min-height:80px}
  .fbh-logo img{height:50px}
}


/* Leiste 20 px schmaler, Logo bleibt */
.fbh-bar{min-height:126px}


/* Menü: eigene Abstände, unabhängig von den Theme-Vorgaben */
.fbh-nav{column-gap:clamp(14px,2.2vw,30px)!important}
.fbh-nav > * + *{margin-left:0}
.fbh-social{column-gap:4px!important}


/* ============================================================
   STICKY
   Der Template-Part umschließt die Leiste in einem <header>, das genau so
   hoch ist wie sie — darin hat position:sticky keinen Weg. Also klebt der
   Wrapper, nicht die Leiste. Dazu die Clip-Vorgaben des Themes lösen,
   sonst wird Sticky wirkungslos.
   ============================================================ */

html,body{overflow-x:visible}
.wp-site-blocks{overflow:visible!important}

.wp-site-blocks > header.wp-block-template-part,
header.wp-block-template-part:has(> .fbh){
  position:sticky;top:0;z-index:900}
.admin-bar .wp-site-blocks > header.wp-block-template-part,
.admin-bar header.wp-block-template-part:has(> .fbh){top:32px}
@media (max-width:782px){
  .admin-bar .wp-site-blocks > header.wp-block-template-part,
  .admin-bar header.wp-block-template-part:has(> .fbh){top:46px}
}

.fbh{position:relative;top:auto}
.admin-bar .fbh{top:auto}


/* Social im Footer: helle Zeichen auf Schwarz */
.fbf .fbh-social a{color:rgba(255,255,255,.62)}
.fbf .fbh-social a:hover{color:var(--y)}

/* Die weiße Fläche, in der die Brotkrumen standen, mit ausblenden */
.woocommerce-products-header,
main > .woocommerce-notices-wrapper:empty{display:none}
.wp-site-blocks > main > .wp-block-group:has(> .woocommerce-breadcrumb),
.wp-block-group:has(> nav.woocommerce-breadcrumb),
.wp-block-group:has(> .wp-block-woocommerce-breadcrumbs){display:none!important}
main.wp-block-group > .wp-block-group:empty{display:none}


/* Logo auf 120 px */
.fbh-bar{min-height:150px}
.fbh-logo img{height:120px}
@media (max-width:980px){
  .fbh-bar{min-height:80px}
  .fbh-logo img{height:52px}
}

/* Die weiße Zeile unter dem Header: leere Woo-Meldungsfläche */
.woocommerce-notices-wrapper:empty{display:none!important}
.wp-site-blocks > main,
main.wp-block-group{background:transparent;padding-top:0;margin-top:0}
main.wp-block-group > .woocommerce{margin-top:0}

/* ============================================================
   WARENKORB-VORSCHAU
   Öffnet bei Mouseover unter dem Warenkorb-Button.
   ============================================================ */

.fbh-cart-wrap{position:relative}
.fbh-mini{position:absolute;top:100%;right:0;margin-top:14px;width:380px;
  background:#0E0E0E;border:2px solid var(--k);box-shadow:10px 10px 0 0 rgba(14,14,14,.18);
  color:#fff;opacity:0;visibility:hidden;transform:translateY(-6px);
  transition:opacity .2s,transform .2s,visibility .2s;z-index:20}
.fbh-cart-wrap:hover .fbh-mini,
.fbh-cart-wrap:focus-within .fbh-mini{opacity:1;visibility:visible;transform:none}
.fbh-mini::before{content:"";position:absolute;top:-16px;left:0;right:0;height:16px}

.fbh-mini-in{padding:18px}
.fbh-mini-empty{margin:0 0 14px;font:600 13.5px/1.5 Manrope,sans-serif;color:rgba(255,255,255,.7)}

.fbh-mini-list{display:grid;gap:2px;max-height:340px;overflow-y:auto}
.fbh-mini-row{display:grid;grid-template-columns:56px 1fr 24px;gap:12px;align-items:center;
  padding:10px 0;border-bottom:1px solid #212121}
.fbh-mini-thumb{display:block;border:1px solid #2C2B27;background:#141414;line-height:0}
.fbh-mini-thumb img{display:block;width:100%;height:auto;aspect-ratio:1;object-fit:cover}
.fbh-mini-txt{min-width:0}
.fbh-mini-name{display:block;color:#fff;text-decoration:none;
  font:800 13px/1.3 Manrope,sans-serif}
.fbh-mini-name:hover{color:var(--y)}
.fbh-mini-meta{margin-top:2px;font-size:11.5px;color:rgba(255,255,255,.5)}
.fbh-mini-qty{margin-top:4px;color:var(--y);
  font:800 12px/1 Saira,sans-serif;font-variant-numeric:tabular-nums}
.fbh-mini-del{display:grid;place-items:center;width:24px;height:24px;
  color:rgba(255,255,255,.4);text-decoration:none;font:400 18px/1 Manrope,sans-serif}
.fbh-mini-del:hover{color:#FF6B4A}

.fbh-mini-sum{display:flex;align-items:baseline;justify-content:space-between;gap:12px;
  padding:14px 0 16px;border-bottom:1px solid #212121;margin-bottom:16px}
.fbh-mini-sum span{font:800 10px/1 Saira,sans-serif;letter-spacing:.2em;
  text-transform:uppercase;color:rgba(255,255,255,.45)}
.fbh-mini-sum b{color:var(--y);font:900 italic 22px/1 Saira,sans-serif}
.fbh-mini-sum bdi,.fbh-mini-sum .amount{color:var(--y)}

.fbh-mini-act{display:grid;grid-template-columns:1fr 1.2fr;gap:8px}
.fbh-mini-btn,.fbh-mini-ghost{display:flex;align-items:center;justify-content:center;
  min-height:44px;padding:0 14px;text-decoration:none;
  font:800 11px/1 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase;
  transition:background .2s,color .2s}
.fbh-mini-btn{background:var(--y);color:var(--k)}
.fbh-mini-btn:hover{background:#fff}
.fbh-mini-ghost{border:2px solid #2C2B27;color:#fff}
.fbh-mini-ghost:hover{border-color:var(--y);color:var(--y)}

@media (max-width:980px){.fbh-mini{display:none}}


/* Die scrollende Liste beschnitt den Fokusrahmen des × */
.fbh-mini-list{padding-right:6px;margin-right:-6px}
.fbh-mini-del{outline:none;border-radius:2px}
.fbh-mini-del:focus-visible{box-shadow:inset 0 0 0 2px #FF6B4A;color:#FF6B4A}


/* Leiste schmaler, Logo bleibt 120 px */
.fbh-bar{min-height:126px}


/* Keine Linie unter dem Header */
.fbh,.fbh.is-stuck{border-bottom:0;box-shadow:none}


/* Mobil: Logo 50 % größer, Social bleibt sichtbar */
@media (max-width:980px){
  .fbh-bar{min-height:104px;gap:12px}
  .fbh-logo img{height:78px}
  .fbh-social{display:flex}
  .fbh-social a{width:30px;height:30px}
}
@media (max-width:480px){
  .fbh-bar{min-height:92px;padding:0 14px;gap:8px}
  .fbh-logo img{height:64px}
  .fbh-social a{width:26px;height:26px}
  .fbh-social a svg{width:17px;height:17px}
  .fbh-cart{padding:9px 11px}
}


/* ============================================================
   FOTOSTREIFEN
   Zwei Filmrollen, die beim Scrollen gegenläufig laufen.
   Perforation oben und unten, Randbeschriftung in Gelb.
   ============================================================ */

.fbu-film{background:#0E0E0E;display:flex;flex-direction:column;gap:8px;padding:0 0 2px}
.fbu-roll-win{overflow:hidden}
.fbu-roll-base{display:flex;padding:14px 0;
  background:repeating-linear-gradient(90deg,#0E0E0E 0 10px,#2A2A28 10px 20px) top/100% 13px no-repeat,
             repeating-linear-gradient(90deg,#0E0E0E 0 10px,#2A2A28 10px 20px) bottom/100% 13px no-repeat,
             #141414}
.fbu-roll-track{display:flex;gap:5px;padding:0 5px;will-change:transform}
.fbu-frame{flex:none;width:300px;border:1px solid #000;background:#000}
.fbu-frame img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}
.fbu-roll-edge{display:flex;justify-content:space-between;gap:14px;padding:0 14px 12px;
  color:var(--y);font:800 9px/1 Saira,sans-serif;letter-spacing:.34em;text-transform:uppercase}

@media (max-width:640px){
  .fbu-frame{width:210px}
  .fbu-roll-edge{font-size:8px;letter-spacing:.22em}
}
@media (prefers-reduced-motion:reduce){
  .fbu-roll-win{overflow-x:auto}
  .fbu-roll-track{transform:none!important}
}


/* Der Träger wird bewegt, deshalb liegt will-change dort */
.fbu-roll-base{will-change:transform}
.fbu-roll-track{will-change:auto}
@media (prefers-reduced-motion:reduce){.fbu-roll-base{transform:none!important}}


/* Vorläufig Schwarzweiß, bis die passenden Fotos hochgeladen sind.
   Zum Abschalten diese Regel löschen. */
.fbu-frame img{filter:grayscale(1) contrast(1.06)}


/* Randbeschriftung im gedämpften Gelb der Kastenschatten */
.fbu-roll-edge{color:rgba(254,220,0,.5)}


/* ---------- Randbeschriftung auf der Rolle ---------- */

/* Der Träger muss so breit sein wie die Bildreihe, sonst endet die
   Perforation am Fensterrand und die Rolle wirkt abgeschnitten. */
.fbu-roll-base{position:relative;width:max-content}
.fbu-roll-edge{display:none}

.fbu-roll-marks{position:absolute;inset:0;pointer-events:none}
.fbu-filmmark{position:absolute;white-space:nowrap;color:rgba(254,220,0,.5);
  font:800 8px/1 Saira,sans-serif;letter-spacing:.34em;text-transform:uppercase}
.fbu-filmmark.is-top{top:3px}
.fbu-filmmark.is-bot{bottom:3px}


/* Beschriftung zwischen Bild und Rollenführung, größere Bildabstände */
.fbu-roll-base{padding:27px 0}
.fbu-roll-track{gap:9px;padding:0 9px}
.fbu-filmmark.is-top{top:15px}
.fbu-filmmark.is-bot{bottom:15px}
@media (max-width:640px){
  .fbu-roll-base{padding:24px 0}
  .fbu-filmmark.is-top{top:14px}
  .fbu-filmmark.is-bot{bottom:14px}
}


/* Die Perforation der zweiten Rolle versetzt, damit die Löcher
   nicht mit denen der Rolle darüber auf einer Linie sitzen. */
.fbu-roll + .fbu-roll .fbu-roll-base{background-position:11px top,4px bottom}


/* Sicherheitshalber: die Texthervorhebung darf die Filmbeschriftung nicht treffen */
.fbu-roll-marks .fbu-filmmark{background:none;padding:0}


/* Textmarkierung: Frisbier-Gelb mit schwarzer Schrift */
::selection{background:#FEDC00;color:#0E0E0E}
::-moz-selection{background:#FEDC00;color:#0E0E0E}


/* ============================================================
   WARENKORB UND KASSE
   Cremefarbene Fläche, schwarze Rahmen, gelbe Handlungsknöpfe.
   Greift für die klassischen Woo-Seiten und die Block-Varianten.
   ============================================================ */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.woocommerce-order-received{background:var(--paper);font-family:Manrope,sans-serif;color:var(--k)}

.woocommerce-cart main,
.woocommerce-checkout main,
.woocommerce-account main,
.woocommerce-order-received main{max-width:1240px;margin:0 auto;
  padding:clamp(28px,4vw,56px) clamp(16px,3.4vw,40px) clamp(56px,7vw,96px)}

.woocommerce-cart h1,.woocommerce-checkout h1,
.woocommerce-account h1,.woocommerce-order-received h1{
  margin:0 0 26px;font:900 italic clamp(32px,4.4vw,54px)/.98 Saira,sans-serif;
  text-transform:uppercase;letter-spacing:-.01em;color:var(--k)}

.woocommerce-cart h2,.woocommerce-checkout h2,
.woocommerce-cart h3,.woocommerce-checkout h3,
.wc-block-components-title{margin:0 0 16px;
  font:900 italic 22px/1.05 Saira,sans-serif;text-transform:uppercase;color:var(--k)}

/* ---------- Zweispaltig ---------- */

.woocommerce-cart .woocommerce{display:grid;gap:clamp(20px,2.6vw,34px);
  grid-template-columns:1.55fr .95fr;align-items:start}
.woocommerce-checkout .woocommerce{display:block}
.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-checkout .woocommerce > .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > h1,
.woocommerce-checkout .woocommerce > h1{grid-column:1/-1}
@media (max-width:900px){
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{grid-template-columns:1fr}
}

/* ---------- Positionen im Warenkorb ---------- */

.woocommerce-cart table.shop_table{width:100%;border:0;border-collapse:collapse;
  background:none;margin:0}
.woocommerce-cart table.shop_table thead{display:none}
.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item{
  display:grid;grid-template-columns:96px 1fr auto;gap:16px;align-items:center;
  padding:16px;background:#fff;border:2px solid var(--k);margin-bottom:12px}
.woocommerce-cart table.shop_table td{border:0;padding:0;vertical-align:middle}
.woocommerce-cart td.product-remove{grid-row:1;grid-column:3;justify-self:end;order:3}
.woocommerce-cart td.product-thumbnail{grid-column:1;line-height:0}
.woocommerce-cart td.product-thumbnail img{width:96px;height:96px;object-fit:cover;
  border:1px solid var(--line);display:block}
.woocommerce-cart td.product-name{grid-column:2;min-width:0;
  font:800 15px/1.35 Manrope,sans-serif}
.woocommerce-cart td.product-name a{color:var(--k);text-decoration:none}
.woocommerce-cart td.product-name a:hover{text-decoration:underline;
  text-decoration-thickness:2px;text-underline-offset:3px}
.woocommerce-cart td.product-name .variation{margin:6px 0 0;font-size:12.5px;
  color:var(--mut);font-weight:600}
.woocommerce-cart td.product-name .variation dt,
.woocommerce-cart td.product-name .variation dd{display:inline;margin:0}
.woocommerce-cart td.product-price{display:none}
.woocommerce-cart td.product-quantity{grid-column:2;grid-row:2}
.woocommerce-cart td.product-subtotal{grid-column:3;grid-row:2;justify-self:end;
  color:var(--k);font:900 italic 19px/1 Saira,sans-serif;font-variant-numeric:tabular-nums}

.woocommerce a.remove{display:grid;place-items:center;width:32px;height:32px;
  border:2px solid var(--line);border-radius:0;color:var(--k)!important;
  font-size:17px;line-height:1;text-decoration:none;transition:border-color .2s,color .2s}
.woocommerce a.remove:hover{background:none!important;border-color:#FF6B4A;
  color:#FF6B4A!important}

/* ---------- Menge ---------- */

.woocommerce .quantity{display:inline-flex;align-items:stretch;border:2px solid var(--k)}
.woocommerce .quantity input.qty{width:56px;height:42px;border:0;text-align:center;
  background:#fff;color:var(--k);font:800 15px/1 Saira,sans-serif;
  font-variant-numeric:tabular-nums;-moz-appearance:textfield;appearance:textfield}
.woocommerce .quantity input.qty::-webkit-outer-spin-button,
.woocommerce .quantity input.qty::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* ---------- Gutschein und Aktionen ---------- */

.woocommerce-cart .actions{display:flex;flex-wrap:wrap;gap:12px;align-items:center;
  padding:16px;background:#fff;border:2px solid var(--k)}
.woocommerce-cart .actions .coupon{display:flex;gap:8px;flex:1;min-width:260px}
.woocommerce-cart .actions .coupon label{display:none}

/* ---------- Summen ---------- */

.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart_totals{width:100%;float:none;margin:0}
.woocommerce-cart .cart_totals{background:#0E0E0E;color:#fff;padding:24px;
  border:2px solid var(--k);box-shadow:10px 10px 0 0 rgba(254,220,0,.22);
  position:sticky;top:150px}
.woocommerce-cart .cart_totals h2{color:var(--y);font-size:12px;letter-spacing:.2em;
  font-style:normal;font-weight:800;margin-bottom:18px}
.woocommerce-cart .cart_totals table.shop_table{border:0}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{border:0;padding:11px 0;
  border-bottom:1px solid #212121;background:none;color:#fff}
.woocommerce-cart .cart_totals table.shop_table th{
  font:800 10px/1.4 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.5);text-align:left;width:46%}
.woocommerce-cart .cart_totals tr.order-total th,
.woocommerce-cart .cart_totals tr.order-total td{border-bottom:0;padding-top:16px}
.woocommerce-cart .cart_totals tr.order-total td{color:var(--y);
  font:900 italic 30px/1 Saira,sans-serif;text-align:right}
.woocommerce-cart .cart_totals tr.order-total .amount,
.woocommerce-cart .cart_totals tr.order-total bdi{color:var(--y)}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals small{color:rgba(255,255,255,.5);font-size:12px}
.woocommerce-cart .wc-proceed-to-checkout{padding:18px 0 0}

/* ---------- Knöpfe ---------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:10px;
  min-height:52px;padding:0 26px;background:var(--y);color:var(--k);
  border:2px solid var(--k);border-radius:0;box-shadow:6px 6px 0 0 var(--k);
  font:900 italic 15px/1 Saira,sans-serif;letter-spacing:.01em;text-transform:uppercase;
  text-decoration:none;cursor:pointer;
  transition:background .2s,color .2s,transform .16s,box-shadow .16s}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.wc-block-components-button:hover{background:var(--k);color:var(--y)}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active,
.wc-block-components-button:active{transform:translate(3px,3px);box-shadow:3px 3px 0 0 var(--k)}
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;
  background:var(--y);color:var(--k);border-color:var(--y);box-shadow:none;
  min-height:56px;font-size:17px}
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover{background:#fff;color:var(--k)}
.woocommerce button.button[disabled],
.woocommerce button.button:disabled{opacity:.45;box-shadow:none;cursor:not-allowed}
.woocommerce .button.wc-backward{background:none;color:var(--k);box-shadow:none}
.woocommerce .button.wc-backward:hover{background:var(--k);color:var(--y)}

/* ---------- Formularfelder ---------- */

.woocommerce form .form-row{margin:0 0 16px;padding:0;display:grid;gap:7px}
.woocommerce form .form-row label,
.wc-block-components-text-input label{font:800 10px/1 Saira,sans-serif;
  letter-spacing:.18em;text-transform:uppercase;color:var(--mut)}
.woocommerce form .form-row .required{color:#FF6B4A;text-decoration:none}
.woocommerce .input-text,
.woocommerce select,
.woocommerce textarea,
.wc-block-components-text-input input{width:100%;box-sizing:border-box;
  min-height:52px;padding:14px 16px;background:#fff;color:var(--k);
  border:2px solid var(--k);border-radius:0;
  font:600 15px/1.35 Manrope,sans-serif;transition:box-shadow .18s}
.woocommerce .input-text:focus,
.woocommerce select:focus,
.woocommerce textarea:focus{outline:0;box-shadow:5px 5px 0 0 var(--y)}
.woocommerce .input-text::placeholder{color:#B4AFA0}
.woocommerce textarea{min-height:104px;resize:vertical}
.woocommerce .select2-container--default .select2-selection--single{
  height:52px;border:2px solid var(--k);border-radius:0;background:#fff}
.woocommerce .select2-container--default .select2-selection--single
  .select2-selection__rendered{line-height:48px;padding-left:14px;color:var(--k);
  font:600 15px/48px Manrope,sans-serif}
.woocommerce .select2-container--default .select2-selection--single
  .select2-selection__arrow{height:48px}

/* ---------- Kasse ---------- */

.woocommerce-checkout #customer_details{background:#fff;border:2px solid var(--k);
  padding:clamp(18px,2.4vw,28px)}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{width:100%;float:none;padding:0}
.woocommerce-checkout #customer_details .col-2{margin-top:22px;padding-top:22px;
  border-top:1px solid var(--line)}

.woocommerce-checkout #order_review_heading{
  font:800 10px/1 Saira,sans-serif;letter-spacing:.2em;text-transform:uppercase;
  color:var(--mut);font-style:normal;margin-bottom:10px}
.woocommerce-checkout #order_review{background:#0E0E0E;color:#fff;padding:24px;
  border:2px solid var(--k);box-shadow:10px 10px 0 0 rgba(254,220,0,.22)}
.woocommerce-checkout #order_review table.shop_table{border:0;width:100%}
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td{border:0;padding:11px 0;background:none;
  color:#fff;border-bottom:1px solid #212121;font-size:13.5px}
.woocommerce-checkout #order_review thead th{
  font:800 10px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(255,255,255,.45)}
.woocommerce-checkout #order_review .product-name{font-weight:700}
.woocommerce-checkout #order_review .product-total{text-align:right;
  font-variant-numeric:tabular-nums}
.woocommerce-checkout #order_review tfoot tr.order-total th,
.woocommerce-checkout #order_review tfoot tr.order-total td{border-bottom:0;padding-top:16px}
.woocommerce-checkout #order_review tfoot tr.order-total td{color:var(--y);text-align:right;
  font:900 italic 28px/1 Saira,sans-serif}
.woocommerce-checkout #order_review tfoot .amount,
.woocommerce-checkout #order_review tfoot bdi{color:var(--y)}

.woocommerce-checkout #payment{background:none;border-radius:0;margin-top:18px}
.woocommerce-checkout #payment ul.payment_methods{padding:0;margin:0 0 16px;
  border-bottom:1px solid #212121;list-style:none}
.woocommerce-checkout #payment ul.payment_methods li{padding:12px 0;
  border-bottom:1px solid #212121;color:#fff;font-size:13.5px}
.woocommerce-checkout #payment ul.payment_methods li:last-child{border-bottom:0}
.woocommerce-checkout #payment ul.payment_methods label{color:#fff;font-weight:700;
  display:inline-flex;align-items:center;gap:8px}
.woocommerce-checkout #payment div.payment_box{background:#141414!important;
  border:1px solid #2C2B27;color:rgba(255,255,255,.72);font-size:12.5px;
  padding:14px;margin:10px 0 0}
.woocommerce-checkout #payment div.payment_box::before{display:none}
.woocommerce-checkout #payment .place-order{padding:0;margin:0}
.woocommerce-checkout #place_order{width:100%;background:var(--y);color:var(--k);
  border-color:var(--y);box-shadow:none;min-height:58px;font-size:18px}
.woocommerce-checkout #place_order:hover{background:#fff;color:var(--k)}
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper{margin-bottom:14px;
  font-size:12.5px;color:rgba(255,255,255,.7)}
.woocommerce-checkout #payment a{color:var(--y)}

/* Radios und Haken in Frisbier-Gelb */
.woocommerce input[type="radio"],
.woocommerce input[type="checkbox"]{accent-color:#FEDC00;width:18px;height:18px;
  margin-right:6px;vertical-align:-3px}

/* ---------- Leerer Warenkorb ---------- */

.woocommerce .cart-empty{margin:0 0 12px;
  font:900 italic 30px/1.05 Saira,sans-serif;text-transform:uppercase}
.woocommerce .return-to-shop{margin-top:18px}

/* ---------- Bestellbestätigung ---------- */

.woocommerce-order-received .woocommerce-order-overview{display:grid;
  grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;
  padding:0;margin:0 0 28px;list-style:none}
.woocommerce-order-received .woocommerce-order-overview li{background:#fff;
  border:2px solid var(--k);padding:16px;font:900 italic 19px/1.1 Saira,sans-serif;
  border-left-width:2px}
.woocommerce-order-received .woocommerce-order-overview li strong{display:block;margin-top:6px}

/* ---------- Block-Varianten von Warenkorb und Kasse ---------- */

.wp-block-woocommerce-cart,.wp-block-woocommerce-checkout{
  max-width:1240px;margin:0 auto;padding:clamp(28px,4vw,56px) clamp(16px,3.4vw,40px) 96px}
.wc-block-components-sidebar-layout .wc-block-components-sidebar{align-self:start}
.wc-block-cart-items__row,.wc-block-components-order-summary-item{
  background:#fff;border:2px solid var(--k);padding:14px;margin-bottom:12px}
.wc-block-components-totals-wrapper,
.wc-block-components-order-summary{background:#0E0E0E;color:#fff;padding:20px;
  border:2px solid var(--k)}
.wc-block-components-totals-item__value,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value{
  color:var(--y);font:900 italic 22px/1 Saira,sans-serif}
.wc-block-components-product-name{color:var(--k);font:800 15px/1.35 Manrope,sans-serif;
  text-decoration:none}
.wc-block-components-checkout-place-order-button{width:100%}


/* ============================================================
   SHOP-ÜBERSICHT
   Produktkacheln mit schwarzem Rahmen, Zoom beim Hover,
   Name in italic Caps, Preis in Gelb. Dazu die Kategorieleiste.
   ============================================================ */

body.woocommerce-shop,body.tax-product_cat,body.tax-product_tag{
  background:var(--paper);font-family:Manrope,sans-serif;color:var(--k)}

.woocommerce-shop main,.tax-product_cat main,.tax-product_tag main{
  max-width:1360px;margin:0 auto;
  padding:clamp(28px,4vw,56px) clamp(16px,3.4vw,40px) clamp(56px,7vw,96px)}

/* ---------- Kopf ---------- */

.fbs-head{margin-bottom:clamp(24px,3vw,40px)}
.fbs-head .fbu-eyebrow{color:var(--mut);margin-bottom:10px}
.woocommerce-shop h1.woocommerce-products-header__title,
.tax-product_cat h1.woocommerce-products-header__title,
.fbs-head h1{margin:0 0 12px;
  font:900 italic clamp(36px,5.4vw,68px)/.95 Saira,sans-serif;
  letter-spacing:-.01em;text-transform:uppercase;color:var(--k)}
.woocommerce-products-header{padding:0;margin:0 0 22px}
.woocommerce-products-header .term-description,
.fbs-head p{margin:0;max-width:58ch;font-size:15px;line-height:1.6;
  color:#3C3A34;text-wrap:pretty}

/* ---------- Kategorieleiste ---------- */

.fbs-bar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;
  padding:0 0 18px;margin-bottom:clamp(22px,3vw,34px);
  border-bottom:2px solid var(--k)}
.fbs-cat{display:inline-flex;align-items:center;min-height:42px;padding:0 16px;
  border:2px solid var(--k);background:none;color:var(--k);text-decoration:none;
  font:900 italic 13px/1 Saira,sans-serif;text-transform:uppercase;
  transition:background .2s,color .2s}
.fbs-cat:hover{background:var(--k);color:var(--y)}
.fbs-cat[aria-current="true"],.fbs-cat.is-active{background:var(--y);border-color:var(--y)}
.fbs-cat span{margin-left:7px;color:var(--mut);font-size:11px;
  font-variant-numeric:tabular-nums}
.fbs-cat[aria-current="true"] span,.fbs-cat.is-active span{color:rgba(14,14,14,.5)}
.fbs-count{margin-left:auto;color:var(--mut);
  font:800 10px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase}

/* Woos eigene Sortierung und Trefferzahl in die Leiste einpassen */
.woocommerce .woocommerce-result-count{margin:0;color:var(--mut);
  font:800 10px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase}
.woocommerce .woocommerce-ordering{margin:0}
.woocommerce .woocommerce-ordering select{min-height:42px;padding:0 14px;
  border:2px solid var(--k);border-radius:0;background:#fff;color:var(--k);
  font:800 12px/1 Saira,sans-serif;text-transform:uppercase}

/* ---------- Kacheln ---------- */

.woocommerce ul.products{display:grid;
  grid-template-columns:repeat(auto-fill,minmax(272px,1fr));
  gap:clamp(16px,2vw,26px);margin:0;padding:0;list-style:none}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;
  padding:0;float:none!important;display:flex;flex-direction:column;
  background:#fff;border:2px solid var(--k);
  transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s}
.woocommerce ul.products li.product:hover{transform:translateY(-4px);
  box-shadow:8px 8px 0 0 var(--k)}

.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex;flex-direction:column;height:100%;text-decoration:none;color:inherit}
.woocommerce ul.products li.product a img{margin:0;display:block;width:100%;
  aspect-ratio:4/3;object-fit:cover;
  transition:transform .42s cubic-bezier(.2,.8,.2,1)}
.woocommerce ul.products li.product .fbs-media{overflow:hidden;line-height:0;
  border-bottom:2px solid var(--k)}
.woocommerce ul.products li.product:hover a img{transform:scale(1.04)}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
  padding:18px 18px 0;margin:0;
  font:900 italic 20px/1.05 Saira,sans-serif;text-transform:uppercase;color:var(--k)}
.woocommerce ul.products li.product .price{display:block;padding:10px 18px 0;margin:0;
  color:var(--k);font:900 italic 22px/1 Saira,sans-serif;
  font-variant-numeric:tabular-nums}
.woocommerce ul.products li.product .price del{color:var(--mut);font-size:15px;
  margin-right:8px;opacity:1}
.woocommerce ul.products li.product .price ins{text-decoration:none;
  background:var(--y);padding:0 6px}
.woocommerce ul.products li.product .woocommerce-product-details__short-description{
  padding:8px 18px 0;font-size:13px;line-height:1.5;color:#4A4740}

.woocommerce ul.products li.product .star-rating{margin:10px 18px 0;
  color:var(--y);font-size:13px}

.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.added_to_cart{margin:16px 18px 18px;
  min-height:46px;box-shadow:4px 4px 0 0 var(--k);font-size:13px}
.woocommerce ul.products li.product a.button{margin-top:auto}
.woocommerce ul.products li.product a.added_to_cart{background:none;color:var(--k);
  border:2px solid var(--line);box-shadow:none;margin-top:0;
  display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* Angebots-Fähnchen */
.woocommerce ul.products li.product span.onsale{position:absolute;top:12px;left:12px;
  min-height:0;min-width:0;margin:0;padding:6px 11px;border-radius:0;
  background:var(--y);color:var(--k);line-height:1;
  font:900 italic 12px/1 Saira,sans-serif;text-transform:uppercase}
.woocommerce ul.products li.product{position:relative}

/* Nicht vorrätig */
.woocommerce ul.products li.product.outofstock .fbs-media{position:relative}
.woocommerce ul.products li.product.outofstock .fbs-media::after{
  content:"Nicht vorrätig";position:absolute;inset:auto 0 0 0;
  background:rgba(14,14,14,.86);color:var(--y);text-align:center;padding:9px;
  font:800 10px/1 Saira,sans-serif;letter-spacing:.2em;text-transform:uppercase}

/* ---------- Kategoriekacheln ---------- */

.woocommerce ul.products li.product-category a{display:block;text-decoration:none}
.woocommerce ul.products li.product-category h2{padding:18px;margin:0;
  font:900 italic 20px/1.05 Saira,sans-serif;text-transform:uppercase;color:var(--k)}
.woocommerce ul.products li.product-category h2 mark{background:none;color:var(--mut);
  font-size:13px}

/* ---------- Seitenzahlen ---------- */

.woocommerce nav.woocommerce-pagination{margin:clamp(28px,4vw,48px) 0 0;text-align:left}
.woocommerce nav.woocommerce-pagination ul{display:flex;gap:8px;border:0;margin:0;padding:0}
.woocommerce nav.woocommerce-pagination ul li{border:0;margin:0;overflow:visible}
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span{display:grid;place-items:center;
  min-width:46px;min-height:46px;padding:0 12px;border:2px solid var(--k);
  background:#fff;color:var(--k);text-decoration:none;
  font:800 14px/1 Saira,sans-serif;font-variant-numeric:tabular-nums}
.woocommerce nav.woocommerce-pagination ul li a:hover{background:var(--k);color:var(--y)}
.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--y)}

@media (max-width:520px){
  .woocommerce ul.products{grid-template-columns:1fr 1fr;gap:12px}
  .woocommerce ul.products li.product .woocommerce-loop-product__title{
    padding:14px 12px 0;font-size:16px}
  .woocommerce ul.products li.product .price{padding:8px 12px 0;font-size:18px}
  .woocommerce ul.products li.product a.button,
  .woocommerce ul.products li.product a.added_to_cart{margin:12px 12px 14px}
}


/* ============================================================
   WARENKORB — Korrekturen
   Woos eigene Regeln sind spezifischer als unsere ersten Versuche,
   deshalb hier gezielt mit derselben Tiefe gegengesetzt.
   ============================================================ */

/* Spalten sauber verteilen: links die Positionen, rechts Summe und Vorschläge */
.woocommerce-cart .woocommerce > form.woocommerce-cart-form{grid-column:1;margin:0}
.woocommerce-cart .woocommerce > .cart-collaterals{grid-column:2;margin:0}

.woocommerce .cart-collaterals{width:100%;float:none;display:flex;
  flex-direction:column;gap:20px}
.woocommerce .cart-collaterals .cart_totals{width:100%;float:none;margin:0;
  text-align:left;order:-1}
.woocommerce .cart-collaterals .cross-sells{width:100%;float:none;margin:0}
.woocommerce .cart-collaterals .cart_totals table{width:100%}
.woocommerce .cart-collaterals .cart_totals table th,
.woocommerce .cart-collaterals .cart_totals table td{text-align:left}
.woocommerce .cart-collaterals .cart_totals tr.order-total td{text-align:right}

/* Vorschläge daneben: eine Spalte, kein überstehender Schatten */
.woocommerce .cross-sells > h2{font:800 10px/1.4 Saira,sans-serif;letter-spacing:.2em;
  text-transform:uppercase;color:var(--mut);font-style:normal;margin-bottom:12px}
.woocommerce .cross-sells ul.products{grid-template-columns:1fr;gap:12px}
.woocommerce .cross-sells ul.products li.product:hover{transform:none;
  box-shadow:6px 6px 0 0 var(--k)}
.woocommerce .cross-sells ul.products li.product a.button{box-shadow:none}

/* Positionszeile: feste Felder, damit Name und Bild nicht übereinander liegen */
.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item{
  grid-template-areas:"bild name weg" "bild menge summe";
  grid-template-columns:96px 1fr auto;align-items:center}
.woocommerce-cart td.product-thumbnail{grid-area:bild;width:96px}
.woocommerce-cart td.product-name{grid-area:name;min-width:0;padding:0}
.woocommerce-cart td.product-remove{grid-area:weg;justify-self:end;align-self:start}
.woocommerce-cart td.product-quantity{grid-area:menge}
.woocommerce-cart td.product-subtotal{grid-area:summe;justify-self:end;align-self:end}
.woocommerce-cart table.shop_table td::before{display:none}

/* Aktionszeile: Gutschein links, Aktualisieren rechts */
.woocommerce-cart .actions{justify-content:space-between}
.woocommerce-cart .actions .coupon{flex:0 1 380px}
.woocommerce-cart .actions > button[name="update_cart"]{margin-left:auto}

/* Nicht anklickbarer Knopf als Umriss statt blassem Gelb */
.woocommerce button.button[disabled],
.woocommerce button.button:disabled{background:none;color:var(--mut);
  border-color:var(--line);box-shadow:none;opacity:1}


/* ============================================================
   WARENKORB UND KASSE — Spalten robust
   Der Wrapper ist je nach Seite ein anderes Element, deshalb wird
   der Elternteil des Formulars direkt angesprochen.
   ============================================================ */

.woocommerce-cart .woocommerce,
.woocommerce-cart div:has(> form.woocommerce-cart-form){
  display:flex!important;flex-wrap:wrap;align-items:flex-start;
  gap:clamp(20px,2.6vw,34px)}
.woocommerce-cart form.woocommerce-cart-form{flex:1 1 min(100%,600px);min-width:0;margin:0}
.woocommerce-cart .cart-collaterals{flex:1 1 340px;max-width:100%;min-width:0}
.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > h1{flex:1 1 100%}

/* Kasse: links die Eingaben, rechts die Bestellung — das Raster baut
   js/frisbier-checkout.js als .fbc-grid, das Formular bleibt einspaltig. */
.woocommerce-checkout #order_review_heading{margin:0}

/* Gutschein-Hinweis der Kasse im Frisbier-Ton */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info{
  background:#141414!important;border:2px solid var(--y)!important;color:#fff!important;
  box-shadow:6px 6px 0 0 rgba(254,220,0,.22)}

/* Positionszeile darf nicht in eine schmale Spalte gequetscht werden */
.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item{
  grid-template-columns:96px minmax(0,1fr) auto}
.woocommerce-cart td.product-name{font-size:15px;line-height:1.35}

/* Vorschläge unter der Summe, gleiche Breite */
.woocommerce .cross-sells ul.products li.product{max-width:100%}


/* ============================================================
   WARENKORB — Feinschliff
   ============================================================ */

/* Vorschaubild sauber auf 96 px begrenzen, sonst läuft es unter den Namen */
.woocommerce-cart table.shop_table td.product-thumbnail{width:96px;max-width:96px}
.woocommerce-cart table.shop_table td.product-thumbnail a,
.woocommerce-cart table.shop_table td.product-thumbnail img{display:block;
  width:96px!important;height:96px!important;max-width:96px;object-fit:cover}

/* Gutscheinfeld und Knopf in einer Zeile, Aktualisieren daneben */
.woocommerce-cart .actions{align-items:center;gap:12px 16px}
.woocommerce-cart .actions .coupon{flex:1 1 380px;flex-wrap:nowrap;align-items:stretch}
.woocommerce-cart .actions .coupon input#coupon_code{flex:1 1 auto;min-width:0}
.woocommerce-cart .actions .coupon button{flex:none;white-space:nowrap}
.woocommerce-cart .actions > button[name="update_cart"]{flex:none;margin-left:auto}

/* Knöpfe dürfen ihren Kasten nicht überragen */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order{box-sizing:border-box;max-width:100%}
.woocommerce .wc-proceed-to-checkout{padding:18px 0 0;box-sizing:border-box}
.woocommerce .wc-proceed-to-checkout a.checkout-button{width:100%;margin:0}

/* Zahlungsknöpfe der Anbieter mittig im Summenkasten */
.woocommerce-cart .cart_totals .wc-proceed-to-checkout > *{max-width:100%}


/* ============================================================
   WARENKORB UND KASSE IM DUNKLEN
   Schwarze Fläche, Karten in Anthrazit, gelbe Akzente.
   Löst die cremefarbene Fassung weiter oben ab.
   ============================================================ */

body.woocommerce-cart,
body.woocommerce-checkout,
body.woocommerce-account,
body.woocommerce-order-received{background:#0E0E0E;color:#fff}

.woocommerce-cart h1,.woocommerce-checkout h1,
.woocommerce-account h1,.woocommerce-order-received h1{color:#fff}
.woocommerce-cart h2,.woocommerce-checkout h2,
.woocommerce-cart h3,.woocommerce-checkout h3{color:#fff}

/* ---------- Positionen ---------- */

.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item{
  background:var(--k2);border-color:var(--line)}
.woocommerce-cart td.product-name{color:#fff}
.woocommerce-cart td.product-name a{color:#fff}
.woocommerce-cart td.product-name .variation{color:rgba(255,255,255,.5)}
.woocommerce-cart td.product-subtotal{color:var(--y)}
.woocommerce-cart td.product-thumbnail img{border-color:var(--line)}
.woocommerce a.remove{border-color:var(--line);color:#fff!important}

/* ---------- Menge und Felder ---------- */

.woocommerce .quantity{border-color:var(--line)}
.woocommerce .quantity input.qty{background:var(--k2);color:#fff}
.woocommerce .input-text,
.woocommerce select,
.woocommerce textarea{background:var(--k2);color:#fff;border-color:var(--line)}
.woocommerce .input-text::placeholder{color:rgba(255,255,255,.34)}
.woocommerce .input-text:focus,
.woocommerce select:focus,
.woocommerce textarea:focus{border-color:var(--y);box-shadow:5px 5px 0 0 rgba(254,220,0,.28)}
.woocommerce form .form-row label,
.wc-block-components-text-input label{color:rgba(255,255,255,.5)}
.woocommerce .select2-container--default .select2-selection--single{
  background:var(--k2);border-color:var(--line)}
.woocommerce .select2-container--default .select2-selection--single
  .select2-selection__rendered{color:#fff}
.woocommerce .select2-dropdown{background:var(--k2);border:2px solid var(--y);border-radius:0}
.woocommerce .select2-container--default .select2-results__option{color:#fff}
.woocommerce .select2-container--default .select2-results__option--highlighted[aria-selected]{
  background:var(--y);color:var(--k)}

/* ---------- Aktionszeile ---------- */

.woocommerce-cart .actions{background:var(--k2);border-color:var(--line)}
.woocommerce button.button[disabled],
.woocommerce button.button:disabled{color:rgba(255,255,255,.4);border-color:var(--line)}

/* ---------- Knöpfe im Dunkeln ---------- */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{border-color:var(--y);box-shadow:6px 6px 0 0 rgba(254,220,0,.22)}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:#fff;color:var(--k);border-color:#fff}
.woocommerce a.button:active,
.woocommerce button.button:active,
.woocommerce input.button:active{box-shadow:3px 3px 0 0 rgba(254,220,0,.22)}
.woocommerce .button.wc-backward{color:var(--y);border-color:var(--line);box-shadow:none}
.woocommerce .button.wc-backward:hover{background:var(--y);color:var(--k);border-color:var(--y)}

/* ---------- Summe und Bestellübersicht ---------- */

.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review{background:var(--k2);border-color:var(--y);
  box-shadow:10px 10px 0 0 rgba(254,220,0,.22);position:static}
.woocommerce-checkout #customer_details{background:var(--k2);border-color:var(--line)}
.woocommerce-checkout #customer_details .col-2{border-top-color:var(--line)}
.woocommerce-checkout #order_review_heading{color:rgba(255,255,255,.5)}
.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td,
.woocommerce-checkout #order_review th,
.woocommerce-checkout #order_review td{border-bottom-color:#242422}

/* ---------- Vorschläge unter dem Warenkorb ---------- */

.woocommerce .cross-sells{margin-top:clamp(34px,4.4vw,60px);
  padding-top:clamp(24px,3vw,36px);border-top:2px solid var(--line)}
.woocommerce .cross-sells > h2{color:var(--y)}
.woocommerce .cross-sells ul.products{
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:clamp(14px,1.8vw,22px)}
.woocommerce .cross-sells ul.products li.product{background:var(--k2);
  border-color:var(--line)}
.woocommerce .cross-sells ul.products li.product .woocommerce-loop-product__title,
.woocommerce .cross-sells ul.products li.product .price{color:#fff}
.woocommerce .cross-sells ul.products li.product
  .woocommerce-product-details__short-description{color:rgba(255,255,255,.6)}
.woocommerce .cross-sells ul.products li.product a img{border-color:var(--line)}
.woocommerce .cross-sells ul.products li.product .fbs-media{border-bottom-color:var(--line)}
.woocommerce .cross-sells ul.products li.product:hover{transform:translateY(-4px);
  box-shadow:8px 8px 0 0 rgba(254,220,0,.22)}
.woocommerce .cross-sells ul.products li.product a.added_to_cart{color:#fff;
  border-color:var(--line)}

/* ---------- Meldungen und Hinweise ---------- */

.woocommerce-cart .woocommerce-info,
.woocommerce-checkout .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-message{background:var(--k2)!important;
  border:2px solid var(--y)!important;color:#fff!important;border-radius:0!important;
  box-shadow:6px 6px 0 0 rgba(254,220,0,.22)}
.woocommerce-cart .woocommerce-info a,
.woocommerce-checkout .woocommerce-info a{color:var(--y)}

/* ---------- Leerer Warenkorb ---------- */

.woocommerce .cart-empty{color:#fff}
.woocommerce .woocommerce-info.cart-empty{border-color:var(--y)}

/* ---------- Bestellbestätigung ---------- */

.woocommerce-order-received .woocommerce-order-overview li{background:var(--k2);
  border-color:var(--line);color:#fff}
.woocommerce-order-received .woocommerce-table--order-details th,
.woocommerce-order-received .woocommerce-table--order-details td{color:#fff;
  border-color:var(--line)}


/* ============================================================
   KNÖPFE — zwei Stufen
   Zweitrangig: dunkel mit gelber Schrift.
   Erstrangig (Kasse, Bestellen, Warenkorb): gelb mit schwarzer Schrift.
   ============================================================ */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{background:var(--k2);color:var(--y);
  border:2px solid var(--y);box-shadow:6px 6px 0 0 rgba(254,220,0,.22)}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover{background:var(--y);color:var(--k);border-color:var(--y)}

.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order,
.woocommerce ul.products li.product a.button{background:var(--y);color:var(--k);
  border-color:var(--y)}
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover,
.woocommerce ul.products li.product a.button:hover{background:#fff;color:var(--k);
  border-color:#fff}

/* Nicht anklickbar: dunkel mit gedämpfter Schrift */
.woocommerce button.button[disabled],
.woocommerce button.button:disabled{background:var(--k2);color:rgba(255,255,255,.34);
  border-color:var(--line);box-shadow:none}


/* ============================================================
   MELDUNGEN — überall im Frisbier-Stil
   Klassische Woo-Meldungen und die neuen Block-Meldungen,
   unabhängig von der Seite und vom Wrapper.
   ============================================================ */

.woocommerce-notices-wrapper{margin:0 0 22px}
.woocommerce-notices-wrapper:empty{display:none!important}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner{
  background:var(--k2)!important;border:2px solid var(--y)!important;
  border-radius:0!important;color:#fff!important;padding:16px 18px!important;
  margin:0 0 12px!important;list-style:none;
  box-shadow:6px 6px 0 0 rgba(254,220,0,.22)!important;
  font:600 13.5px/1.5 Manrope,sans-serif;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap}

.woocommerce-error,
.wc-block-components-notice-banner.is-error{border-color:#FF6B4A!important;
  box-shadow:6px 6px 0 0 rgba(255,107,74,.22)!important}
.wc-block-components-notice-banner.is-warning{border-color:#FFB020!important;
  box-shadow:6px 6px 0 0 rgba(255,176,32,.22)!important}

/* Woos Häkchen und die grünen Kreise der Block-Meldungen */
.woocommerce-message::before,
.woocommerce-info::before,
.woocommerce-error::before{color:var(--y)!important;background:none!important;
  position:static;font-size:16px;line-height:1;margin:0;top:auto;left:auto}

.wc-block-components-notice-banner > svg,
.wc-block-components-notice-banner.is-success > svg,
.wc-block-components-notice-banner.is-error > svg,
.wc-block-components-notice-banner.is-warning > svg,
.wc-block-components-notice-banner.is-info > svg{
  background:none!important;background-color:transparent!important;
  fill:var(--y)!important;color:var(--y)!important;
  width:20px;height:20px;flex:none;margin:0;padding:0;border-radius:0}
.wc-block-components-notice-banner.is-error > svg{fill:#FF6B4A!important}
.wc-block-components-notice-banner.is-warning > svg{fill:#FFB020!important}
.wc-block-components-notice-banner__content{margin:0;flex:1;min-width:0;color:#fff}
.wc-block-components-notice-banner__content a{color:var(--y)}

/* Text und Links in den klassischen Meldungen */
.woocommerce-message a:not(.button),
.woocommerce-info a:not(.button),
.woocommerce-error a:not(.button){color:var(--y);text-decoration:underline;
  text-decoration-thickness:2px;text-underline-offset:3px}

/* Der Knopf in einer Meldung sitzt rechts */
.woocommerce-message .button,
.woocommerce-info .button,
.wc-block-components-notice-banner a.button{margin:0 0 0 auto;min-height:42px;
  padding:0 16px;font-size:12px;box-shadow:none!important}

/* Meldung auf hellen Seiten — Shop und Produktseite bleiben lesbar */
body.woocommerce-shop .woocommerce-message,
body.woocommerce-shop .woocommerce-info,
body.tax-product_cat .woocommerce-message,
body.tax-product_cat .woocommerce-info{color:#fff!important}

@media (max-width:640px){
  .woocommerce-message,.woocommerce-info,.woocommerce-error,
  .wc-block-components-notice-banner{box-shadow:4px 4px 0 0 rgba(254,220,0,.22)!important}
  .woocommerce-message .button,
  .woocommerce-info .button{margin-left:0;width:100%}
}


/* ============================================================
   MELDUNGEN — Nachtrag
   Gefüllte Meldungsflächen immer sichtbar, kleine Hinweise am
   Gutscheinfeld als eigene Zeile im Frisbier-Ton.
   ============================================================ */

.woocommerce-notices-wrapper:has(*){display:block!important;visibility:visible!important}
.woocommerce-notices-wrapper > *{display:flex!important}

/* Gutscheinfeld wieder in nutzbarer Breite */
.woocommerce-cart .actions .coupon{flex:1 1 100%;flex-wrap:wrap;gap:12px}
.woocommerce-cart .actions .coupon input#coupon_code{flex:1 1 240px;min-width:180px}
.woocommerce-cart .actions .coupon button{flex:none}

/* Hinweise, die Woo direkt an das Formular schreibt */
.woocommerce-cart .actions .woocommerce-error,
.woocommerce-cart .actions .woocommerce-message,
.woocommerce-cart .actions .woocommerce-info,
.woocommerce form .form-row .woocommerce-error,
.woocommerce .coupon .woocommerce-error,
.woocommerce .woocommerce-NoticeGroup,
.woocommerce ul.woocommerce-error{flex:1 1 100%;width:100%;margin:0!important;
  padding:13px 15px!important;background:var(--k2)!important;color:#fff!important;
  border:2px solid #FF6B4A!important;border-radius:0!important;
  box-shadow:4px 4px 0 0 rgba(255,107,74,.22)!important;
  font:700 13px/1.45 Manrope,sans-serif;list-style:none}
.woocommerce ul.woocommerce-error li,
.woocommerce .woocommerce-NoticeGroup li{margin:0;padding:0;list-style:none}
.woocommerce ul.woocommerce-error li + li{margin-top:6px}

/* Pflichtfeld-Hinweise der Kasse */
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select{border-color:#FF6B4A}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--y)}
.woocommerce-checkout .woocommerce-NoticeGroup-checkout{margin-bottom:16px!important}


/* ============================================================
   MELDUNGEN — endgültig
   Woo schreibt den Gutschein-Hinweis als eigenes Element ins
   Formular, teils ohne die erwarteten Klassen. Deshalb hier breit
   über Klassenteile und die Rolle „alert“.
   ============================================================ */

.woocommerce [class*="woocommerce-error"],
.woocommerce [class*="woocommerce-message"],
.woocommerce [class*="woocommerce-info"],
.woocommerce [role="alert"],
.woocommerce-cart [class*="woocommerce-error"],
.woocommerce-checkout [class*="woocommerce-error"]{
  display:flex!important;align-items:center;gap:12px;flex-wrap:wrap;
  width:100%;box-sizing:border-box;margin:0 0 12px!important;
  padding:14px 16px!important;background:var(--k2)!important;
  border:2px solid var(--y)!important;border-radius:0!important;
  box-shadow:5px 5px 0 0 rgba(254,220,0,.22)!important;
  color:#fff!important;list-style:none;text-indent:0;
  font-family:Manrope,sans-serif!important;font-size:13.5px!important;
  font-weight:700!important;line-height:1.45!important;font-style:normal!important;
  text-transform:none!important;letter-spacing:0!important}

.woocommerce [class*="woocommerce-error"] li,
.woocommerce [role="alert"] li{margin:0;padding:0;list-style:none;color:#fff!important;
  font:700 13.5px/1.45 Manrope,sans-serif!important;flex:1 1 100%}
.woocommerce [class*="woocommerce-error"] strong,
.woocommerce [class*="woocommerce-message"] strong{color:var(--y)}
.woocommerce [class*="woocommerce-error"] a,
.woocommerce [class*="woocommerce-message"] a,
.woocommerce [class*="woocommerce-info"] a{color:var(--y)!important}

/* Kein rotes Rohtext-Erbe mehr */
.woocommerce .woocommerce-error,
.woocommerce .woocommerce-error *{color:#fff!important}
.woocommerce .woocommerce-error{border-color:var(--y)!important;
  box-shadow:5px 5px 0 0 rgba(254,220,0,.22)!important}

/* Der Hinweis im Gutscheinbereich über die ganze Breite */
.woocommerce-cart .actions [class*="woocommerce-error"],
.woocommerce-cart .actions [role="alert"]{flex:1 1 100%;order:9;margin-top:2px!important}

/* ============================================================
   KNÖPFE — alle dunkel mit gelber Schrift
   ============================================================ */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.woocommerce .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order{background:var(--k2);color:var(--y);
  border:2px solid var(--y);box-shadow:6px 6px 0 0 rgba(254,220,0,.22)}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,
.woocommerce .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #place_order:hover{background:var(--y);color:var(--k);
  border-color:var(--y)}


/* Entfernen-Knopf bündig in der Ecke der Position */
.woocommerce-cart td.product-remove{margin:-16px -16px 0 0}
.woocommerce-cart td.product-remove a.remove{width:38px;height:38px;
  border-width:0 0 2px 2px;border-color:var(--line)}
.woocommerce-cart td.product-remove a.remove:hover{border-color:#FF6B4A}
@media (max-width:640px){.woocommerce-cart td.product-remove{margin:-16px -16px 0 0}}


/* Entfernen-Knopf wirklich in der Ecke: aus dem Raster gelöst */
.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item{
  position:relative;
  grid-template-areas:"bild name" "bild menge";
  grid-template-columns:96px minmax(0,1fr);
  padding-right:56px}
.woocommerce-cart td.product-remove{position:absolute;top:0;right:0;margin:0;
  grid-area:auto;justify-self:auto}
.woocommerce-cart td.product-subtotal{grid-area:menge;justify-self:end;align-self:center}
.woocommerce-cart td.product-quantity{grid-area:menge;justify-self:start}

/* Warenkorb-Summe größer und ruhiger */
.woocommerce-cart .cart_totals h2{font-size:13px}
.woocommerce-cart .cart_totals table.shop_table th{font-size:12px;letter-spacing:.14em}
.woocommerce-cart .cart_totals table.shop_table td{font-size:17px;font-weight:700}
.woocommerce-cart .cart_totals table.shop_table td .amount,
.woocommerce-cart .cart_totals table.shop_table td bdi{font-size:17px}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination,
.woocommerce-cart .cart_totals small{font-size:13px}
.woocommerce-cart .cart_totals tr.order-total th{font-size:12px}
.woocommerce-cart .cart_totals tr.order-total td,
.woocommerce-cart .cart_totals tr.order-total td .amount,
.woocommerce-cart .cart_totals tr.order-total td bdi{font-size:34px}


/* ============================================================
   POSITIONSKARTE — Entfernen-Knopf ohne absolute Lage
   Die Karte lässt oben rechts einfach keinen Innenabstand, dann
   sitzt der Knopf von sich aus in der Ecke.
   ============================================================ */

.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item{
  position:static;padding:0 0 16px 16px;
  grid-template-areas:"bild name weg" "bild menge summe";
  grid-template-columns:96px minmax(0,1fr) 40px;
  column-gap:16px;row-gap:12px}
.woocommerce-cart td.product-thumbnail{grid-area:bild;margin-top:16px}
.woocommerce-cart td.product-name{grid-area:name;margin-top:16px}
.woocommerce-cart td.product-remove{grid-area:weg;position:static;
  align-self:start;justify-self:end;margin:0}
.woocommerce-cart td.product-remove a.remove{width:40px;height:40px;
  border-width:0 0 2px 2px;border-style:solid;border-color:var(--line)}
.woocommerce-cart td.product-remove a.remove:hover{border-color:#FF6B4A}
.woocommerce-cart td.product-quantity{grid-area:menge;justify-self:start}
.woocommerce-cart td.product-subtotal{grid-area:summe;justify-self:end;
  align-self:center;margin-right:16px;white-space:nowrap}


/* Entfernen-Knopf ohne Rahmen, etwas weiter innen */
.woocommerce-cart table.shop_table tbody tr.woocommerce-cart-form__cart-item{
  padding:0 16px 16px}
.woocommerce-cart td.product-remove a.remove{border:0!important;width:34px;height:34px;
  font-size:20px;color:rgba(255,255,255,.45)!important;margin-top:10px}
.woocommerce-cart td.product-remove a.remove:hover{color:#FF6B4A!important;
  background:none!important}
.woocommerce-cart td.product-subtotal{margin-right:0}


/* Kachelknopf sauber im Kasten, dunkel mit gelber Schrift */
.woocommerce ul.products li.product a.button,
.woocommerce ul.products li.product a.added_to_cart{
  display:flex;width:auto;margin:16px 18px 18px;box-sizing:border-box;
  background:var(--k2);color:var(--y);border:2px solid var(--y);
  box-shadow:4px 4px 0 0 rgba(254,220,0,.22)}
.woocommerce ul.products li.product a.button{margin-top:auto}
.woocommerce ul.products li.product a.button:hover{background:var(--y);color:var(--k)}
.woocommerce ul.products li.product a.added_to_cart{margin-top:0;
  background:none;color:#fff;border-color:var(--line);box-shadow:none}

/* Steuer- und Versandhinweis */
.fbs-taxnote{padding:8px 18px 0;font-size:11px;line-height:1.45;
  color:rgba(255,255,255,.42)}
body.woocommerce-shop .fbs-taxnote,
body.tax-product_cat .fbs-taxnote{color:var(--mut)}
@media (max-width:520px){.fbs-taxnote{padding:8px 12px 0}}


/* Leere Meldungs- und Variantenkästen nicht zeichnen.
   Woo legt auf der Produktseite einen leeren Behälter für Variantenpreise an,
   der durch die Meldungsregeln einen Rahmen bekam. */
.woocommerce [class*="woocommerce-error"]:empty,
.woocommerce [class*="woocommerce-message"]:empty,
.woocommerce [class*="woocommerce-info"]:empty,
.woocommerce [role="alert"]:empty,
.woocommerce-notices-wrapper > *:empty,
.woocommerce .woocommerce-variation:empty,
.woocommerce .woocommerce-variation-description:empty,
.woocommerce .woocommerce-variation-availability:empty,
.woocommerce .woocommerce-variation-price:empty{
  display:none!important;border:0!important;box-shadow:none!important;
  padding:0!important;margin:0!important}

/* Der Variantenbehälter ist nie eine Meldung */
.woocommerce .woocommerce-variation,
.woocommerce .single_variation{background:none!important;border:0!important;
  box-shadow:none!important;padding:0!important}
.woocommerce .woocommerce-variation-price{margin:0 0 12px!important}


/* ============================================================
   NICHT VORRÄTIG — rotes Bändchen über der Ecke
   Statt kleiner Textzeile läuft ein rotes Band diagonal über die
   rechte obere Ecke des Zeichens.
   ============================================================ */

.fbu-bag-img{position:relative;overflow:hidden}

.fbu-ribbon{position:absolute;top:0;right:0;width:150px;
  transform:translate(37%,58%) rotate(45deg);transform-origin:center;
  background:#E23B18;color:#fff;text-align:center;padding:6px 0;
  font:800 9px/1 Saira,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  box-shadow:0 1px 0 0 rgba(0,0,0,.35);pointer-events:none;z-index:3}

.fbu-bag.is-oos{cursor:not-allowed}
.fbu-bag.is-oos .fbu-bag-img img{opacity:.42;filter:grayscale(1)}
.fbu-bag.is-oos .fbu-bag-name,
.fbu-bag.is-oos .fbu-bag-price{opacity:.5}

/* Gleiche Sprache in der Shop-Übersicht */
.woocommerce ul.products li.product.outofstock .fbs-media::after{
  content:"Nicht vorrätig";inset:0 0 auto auto;top:0;right:0;bottom:auto;left:auto;
  width:190px;transform:translate(35%,60%) rotate(45deg);transform-origin:center;
  background:#E23B18;color:#fff;text-align:center;padding:7px 0;
  font:800 10px/1 Saira,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  box-shadow:0 1px 0 0 rgba(0,0,0,.35)}
.woocommerce ul.products li.product.outofstock .fbs-media{overflow:hidden}
.woocommerce ul.products li.product.outofstock a img{opacity:.55;filter:grayscale(1)}


/* Das Lagerstand-Kästchen unter den Zeichen entfällt — das Bändchen sagt es */
.fbu .woocommerce-variation-availability,
.fbu p.stock,
.fbu .woocommerce-variation-description,
.woocommerce div.product .woocommerce-variation-availability{display:none!important}

/* Bändchen sicher sichtbar, auch wenn das Zeichen den Rahmen füllt */
.fbu-bag{position:relative;overflow:hidden}
.fbu-bag .fbu-bag-img{overflow:visible}
.fbu-bag .fbu-ribbon{position:absolute;top:0;right:0;left:auto;bottom:auto;
  width:190px;transform:translate(34%,62%) rotate(45deg)}


/* Bandarole: größer, lesbar und über die ganze Ecke.
   Der Zeichen-Behälter beschneidet nicht mehr, das Band sitzt am Kastenrand. */
.fbu-bag{overflow:hidden;position:relative}
.fbu-bag .fbu-bag-img{overflow:visible;position:static}
.fbu-bag .fbu-ribbon{position:absolute;top:0;right:0;left:auto;bottom:auto;
  width:300px;padding:9px 0;
  transform:translate(31%,74%) rotate(45deg);transform-origin:center;
  background:#E23B18;color:#fff;text-align:center;
  font:900 italic 15px/1 Saira,sans-serif;letter-spacing:.06em;text-transform:uppercase;
  box-shadow:0 2px 0 0 rgba(0,0,0,.3)}

@media (max-width:520px){
  .fbu-bag .fbu-ribbon{width:240px;font-size:13px;padding:7px 0;
    transform:translate(32%,70%) rotate(45deg)}
}

/* Shop-Kacheln gleich beschriften */
.woocommerce ul.products li.product.outofstock .fbs-media::after{
  content:"Sold out";width:300px;padding:9px 0;
  font:900 italic 15px/1 Saira,sans-serif;letter-spacing:.06em;
  transform:translate(31%,74%) rotate(45deg)}


/* Bandarole: Mitte des Bandes liegt auf der Ecke, Text dadurch zentriert */
.fbu-bag .fbu-ribbon{width:220px;top:38px;right:-60px;left:auto;bottom:auto;
  padding:8px 0;transform:rotate(45deg);transform-origin:center;
  font:900 italic 14px/1 Saira,sans-serif;letter-spacing:.08em}

@media (max-width:520px){
  .fbu-bag .fbu-ribbon{width:180px;top:30px;right:-48px;font-size:12px;padding:6px 0}
}

.woocommerce ul.products li.product.outofstock .fbs-media::after{
  width:240px;top:44px;right:-64px;left:auto;bottom:auto;inset:auto;
  padding:8px 0;transform:rotate(45deg);font-size:14px}


/* Keine Lücke unter dem Fotostreifen */
.fbu-film{padding:0;margin:0}
.fbu-film .fbu-roll:last-child{margin-bottom:0}

/* Rahmen sind jetzt Knöpfe */
.fbu-frame{padding:0;background:#000;border:1px solid #000;cursor:zoom-in;
  display:block;line-height:0;flex:none;width:300px;
  transition:outline-color .18s}
.fbu-frame:hover{outline:2px solid var(--y);outline-offset:-2px}
.fbu-frame:focus-visible{outline:2px solid var(--y);outline-offset:2px}

/* ============================================================
   LIGHTBOX
   Bild in Originalgröße, mittig, im Frisbier-Rahmen.
   ============================================================ */

body.fbu-lb-open{overflow:hidden}

.fbu-lb{position:fixed;inset:0;z-index:1000;display:grid;place-items:center;
  padding:clamp(16px,4vw,56px);background:rgba(8,8,8,.94);
  opacity:0;transition:opacity .22s}
.fbu-lb.is-open{opacity:1}

.fbu-lb-fig{margin:0;display:flex;flex-direction:column;align-items:center;gap:16px;
  max-width:100%;max-height:100%}
.fbu-lb-frame{border:2px solid var(--y);background:#000;line-height:0;
  box-shadow:14px 14px 0 0 rgba(254,220,0,.22);max-width:100%}
.fbu-lb-frame img{display:block;max-width:min(1400px,88vw);max-height:76vh;
  width:auto;height:auto}

.fbu-lb-note{color:var(--y);text-align:center;max-width:60ch;
  font:800 11px/1.5 Saira,sans-serif;letter-spacing:.2em;text-transform:uppercase}
.fbu-lb-note[hidden]{display:none}

.fbu-lb-x,.fbu-lb-prev,.fbu-lb-next{position:absolute;display:grid;place-items:center;
  background:none;border:2px solid transparent;color:#fff;cursor:pointer;
  font:400 34px/1 Manrope,sans-serif;width:52px;height:52px;
  transition:color .18s,border-color .18s}
.fbu-lb-x:hover,.fbu-lb-prev:hover,.fbu-lb-next:hover{color:var(--y);border-color:var(--y)}
.fbu-lb-x{top:14px;right:14px;font-size:30px}
.fbu-lb-prev{left:14px;top:50%;transform:translateY(-50%)}
.fbu-lb-next{right:14px;top:50%;transform:translateY(-50%)}

@media (max-width:640px){
  .fbu-lb-frame{box-shadow:8px 8px 0 0 rgba(254,220,0,.22)}
  .fbu-lb-frame img{max-height:64vh}
  .fbu-lb-prev,.fbu-lb-next{width:44px;height:44px;font-size:28px}
}


/* Die Lightbox setzt display:grid — das schlägt das hidden-Attribut.
   Ohne diese Regel liegt sie unsichtbar über der Seite und fängt Klicks ab. */
.fbu-lb[hidden]{display:none!important}
.fbu-lb:not(.is-open){pointer-events:none}
.fbu-lb.is-open{pointer-events:auto}


/* Lightbox: höchstens 1200 px Bildbreite */
.fbu-lb-frame img{max-width:min(1200px,88vw)}

/* Bildzeile: Kamera und Film, darunter der Fotograf */
.fbu-lb-cap{display:flex;flex-direction:column;align-items:center;gap:6px;
  max-width:60ch;text-align:center}
.fbu-lb-cap[hidden],.fbu-lb-note[hidden],.fbu-lb-by[hidden]{display:none}
.fbu-lb-note{color:var(--y);font:800 11px/1.5 Saira,sans-serif;
  letter-spacing:.2em;text-transform:uppercase}
.fbu-lb-by{color:rgba(255,255,255,.55);font:700 11px/1.4 Manrope,sans-serif;
  letter-spacing:.04em}

/* Kein dunkler Streifen mehr unter dem Fotostreifen */
.single-product main.wp-block-group,
.single-product .wp-site-blocks > main{padding-bottom:0!important;margin-bottom:0!important}
.woocommerce div.product{margin-bottom:0!important}
.single-product .fbu-film{margin-bottom:0!important}
.single-product .fbu:last-child{margin-bottom:0}
.single-product main.wp-block-group > *:last-child{margin-bottom:0}


/* Twenty Twenty-Four setzt zwischen allen Blöcken einen Abstand.
   Am Footer erzeugt er den dunklen Streifen unter dem Fotostreifen. */
:where(.wp-site-blocks) > *{margin-block-start:0}
.wp-site-blocks > footer.wp-block-template-part,
.wp-site-blocks > header.wp-block-template-part,
.wp-site-blocks > main{margin-block-start:0!important;margin-block-end:0!important}


/* ============================================================
   WURFVIDEO im Herzstück
   Liegt hinter dem Inhalt, startet erst beim Klick auf die Frisbee
   und läuft genau einmal durch.
   ============================================================ */

.fbu-has-throw{position:relative;overflow:hidden}
.fbu-throwvid{position:absolute;top:0;right:0;bottom:0;width:62%;overflow:hidden;
  pointer-events:none;z-index:1;
  mask-image:linear-gradient(90deg,transparent 0,#000 24%);  -webkit-mask-image:linear-gradient(90deg,transparent 0,#000 24%)}
.fbu-throwvid video{display:block;width:100%;height:100%;object-fit:cover;object-position:46% 0;
  transform:scale(1.06) translateY(-6%);transform-origin:48% 0;mix-blend-mode:screen;
  filter:brightness(.78) contrast(1.06);opacity:0;transition:opacity .5s ease}
.fbu-throwvid.on video{opacity:1}
.fbu-has-throw .fbu-hero2{position:relative;z-index:2}

@media (max-width:900px){.fbu-throwvid{display:none}}
@media (prefers-reduced-motion:reduce){.fbu-throwvid{display:none}}

/* ============================================================
   Kasse: Formularzeilen gegen die absoluten Positionen des
   Eltern-Themes absichern. Jede Zeile steht im Fluss, Label
   über dem Feld, Felder auf volle Breite.
   ============================================================ */
.woocommerce-checkout #customer_details .woocommerce-billing-fields,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields,
.woocommerce-checkout #customer_details .woocommerce-additional-fields,
.woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
.woocommerce-checkout #customer_details .woocommerce-shipping-fields__field-wrapper{
  position:static!important;display:block!important;width:100%!important;
  float:none!important;transform:none!important}
.woocommerce-checkout #customer_details p.form-row{
  position:static!important;display:block!important;float:none!important;
  width:100%!important;max-width:100%!important;transform:none!important;
  margin:0 0 14px!important;padding:0!important;overflow:visible!important}
.woocommerce-checkout #customer_details p.form-row label{
  position:static!important;display:block!important;transform:none!important;
  width:auto!important;height:auto!important;clip:auto!important;
  font:800 10px/1 Saira,sans-serif!important;letter-spacing:.18em;
  text-transform:uppercase;color:#5C5A53;margin:0 0 6px!important;pointer-events:auto}
.woocommerce-checkout #customer_details .form-row input.input-text,
.woocommerce-checkout #customer_details .form-row textarea,
.woocommerce-checkout #customer_details .form-row select,
.woocommerce-checkout #customer_details .form-row .select2-container{
  position:static!important;display:block!important;float:none!important;
  width:100%!important;max-width:100%!important;box-sizing:border-box!important;
  min-height:48px;height:auto!important;transform:none!important;opacity:1!important}
.woocommerce-checkout #customer_details .form-row-first,
.woocommerce-checkout #customer_details .form-row-last{
  width:100%!important;float:none!important;margin-right:0!important}
.woocommerce-checkout #customer_details p.form-row.woocommerce-validated::before,
.woocommerce-checkout #customer_details p.form-row::before,
.woocommerce-checkout #customer_details p.form-row::after{content:none!important}
@media (min-width:700px){
  .woocommerce-checkout #customer_details .woocommerce-billing-fields__field-wrapper,
  .woocommerce-checkout #customer_details .woocommerce-shipping-fields__field-wrapper{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:14px}
  .woocommerce-checkout #customer_details p.form-row{grid-column:1/-1}
  .woocommerce-checkout #customer_details p.form-row-first{grid-column:1}
  .woocommerce-checkout #customer_details p.form-row-last{grid-column:2}
}

/* Mobil: Art.-Nr., Produkttitel und Bewertungen über Bild und Galerie */
.fbu-mobilehead{display:none}
@media (max-width:900px){
  .fbu-mobilehead{display:block;margin:0 0 26px}
  .fbu-mobilehead .fbu-title{margin:6px 0 10px}
  .fbu-mobilehead .fbu-stars{margin:0}
  .fbu-summary > .fbu-sku,
  .fbu-summary > .fbu-title,
  .fbu-summary > .fbu-stars{display:none}
  /* Galerie mobil auf acht Vorschaubilder begrenzen */
  .fbu-thumbs > *:nth-child(n+9){display:none}
}

/* Kasse: eigenes Zwei-Spalten-Gerüst, von js/frisbier-checkout.js gebaut */
.woocommerce-checkout .fbc-grid{display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(300px,380px);
  column-gap:clamp(20px,2.6vw,34px);row-gap:14px;align-items:start;
  columns:auto;column-count:auto}
.woocommerce-checkout .fbc-left,
.woocommerce-checkout .fbc-right{min-width:0;columns:auto;column-count:auto}
.woocommerce-checkout .fbc-right{position:sticky;top:150px;display:grid;row-gap:10px}
.woocommerce-checkout .fbc-grid #customer_details,
.woocommerce-checkout .fbc-grid #order_review,
.woocommerce-checkout .fbc-grid #order_review_heading{
  position:static!important;float:none!important;width:auto!important;
  grid-column:auto!important;grid-row:auto!important;margin-left:0;margin-right:0}
@media (max-width:900px){
  .woocommerce-checkout .fbc-grid{grid-template-columns:minmax(0,1fr)}
  .woocommerce-checkout .fbc-right{position:static}
}

/* Das Formular selbst bleibt einspaltig im Fluss — die zwei Spalten baut
   das Gerüst .fbc-grid oben. */
.woocommerce-checkout form.checkout{
  display:block!important;columns:auto!important;column-count:auto!important;
  float:none!important;width:auto!important}
.woocommerce-checkout form.checkout > *{float:none!important;
  columns:auto!important;column-count:auto!important}
.woocommerce-checkout form.checkout .woocommerce-notices-wrapper,
.woocommerce-checkout form.checkout .woocommerce-form-login-toggle,
.woocommerce-checkout form.checkout .woocommerce-form-login,
.woocommerce-checkout form.checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout .checkout_coupon{
  width:auto!important;float:none!important;margin-bottom:14px}

/* ============================================================
   Aufbau-Schritte
   ============================================================ */
.fbu-aufbau .fbu-eyebrow{letter-spacing:.22em;margin-bottom:12px}
.fbu-aufbau h2{font-size:38px;line-height:.98;margin-bottom:22px}
.fbu-aufbau.fbu-dark{background:var(--k)}
.fbu-aufbau.fbu-dark .fbu-eyebrow{color:var(--y)}
.fbu-aufbau.fbu-dark h2{color:#fff}
.fbu-astep{display:grid;grid-template-columns:64px 1fr 300px;gap:0 28px;align-items:center;
  border-top:1px solid var(--line);padding:26px 0}
.fbu-asteps .fbu-astep:last-child{border-bottom:1px solid var(--line)}
.fbu-astep-n{font:900 46px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;color:var(--y)}
.fbu-astep p{margin:0;font:700 19px/1.45 Manrope,sans-serif;color:#fff}
.fbu-aufbau:not(.fbu-dark) .fbu-astep p{color:var(--k)}
.fbu-aufbau:not(.fbu-dark) .fbu-astep{border-color:rgba(0,0,0,.14)}
.fbu-astep-art{height:130px;display:grid;place-items:center;overflow:hidden}
.fbu-astep-art img{max-width:100%;max-height:130px;width:auto;height:auto;display:block}
.fbu-astep-art:empty{border:1px dashed var(--line)}
@media (max-width:860px){
  .fbu-astep{grid-template-columns:48px 1fr;gap:0 18px}
  .fbu-astep-art{grid-column:1/-1;height:auto;margin-top:14px;justify-items:start}
  .fbu-astep p{font-size:16.5px}
  .fbu-astep-n{font-size:34px}
  .fbu-aufbau h2{font-size:28px}
}

/* ============================================================
   Hinweise (aufklappbar)
   ============================================================ */
.fbu-hinweise{background:#F2EFE7}
.fbu-hinweise details{border:2px solid var(--k);background:var(--paper,#FAF8F3)}
.fbu-hinweise summary{list-style:none;cursor:pointer;padding:18px 22px;display:flex;justify-content:space-between;
  align-items:center;gap:16px;font:900 13px/1 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:var(--k)}
.fbu-hinweise summary::-webkit-details-marker{display:none}
.fbu-hinweise summary span{color:var(--y);-webkit-text-stroke:1px var(--k);font-size:20px;line-height:1}
.fbu-hinweise details[open] summary span{transform:rotate(45deg)}
.fbu-hinweise-body{padding:4px 22px 24px;display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.fbu-hinweis-card{border:2px solid var(--k);background:#fff;box-shadow:6px 6px 0 var(--k);
  padding:20px 20px 22px;display:flex;flex-direction:column;gap:12px}
.fbu-hinweis-head{display:flex;align-items:center;gap:10px}
.fbu-hinweis-num{width:34px;height:34px;flex:0 0 34px;border:2px solid var(--k);background:var(--y);
  display:grid;place-items:center;font:900 15px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;color:var(--k)}
.fbu-hinweis-title{font:900 11px/1.15 Saira,sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--k)}
.fbu-hinweis-card p{margin:0;font:400 14px/1.6 Manrope,sans-serif;color:#3A3833;text-wrap:pretty}
.fbu-hinweise-body[data-karten="1"]{grid-template-columns:1fr}
.fbu-hinweise-body[data-karten="2"]{grid-template-columns:repeat(2,1fr)}
@media(max-width:900px){.fbu-hinweise-body{grid-template-columns:1fr!important;gap:22px}}

/* ============================================================
   Cross-Sell-Band
   ============================================================ */
.fbu-crossband{background:var(--y);padding:36px max(20px,calc((100% - 1400px) / 2));
  display:flex;justify-content:space-between;align-items:center;gap:32px;flex-wrap:wrap;border-top:2px solid #000}
.fbu-crossband h3{font:900 italic 30px/.98 Saira,sans-serif;text-transform:uppercase;color:var(--k);margin:0 0 6px}
.fbu-crossband p{margin:0;font:600 14px/1.5 Manrope,sans-serif;color:var(--k)}
.fbu-crossbtn{border:2px solid var(--k);background:var(--k);color:var(--y);text-decoration:none;white-space:nowrap;
  font:900 12px/1 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:14px 24px;
  transition:background .22s,color .22s}
.fbu-crossbtn:hover{background:var(--y);color:var(--k)}
.fbu-crossband.fbu-dark{background:var(--k)}
.fbu-crossband.fbu-dark h3{color:#fff}
.fbu-crossband.fbu-dark p{color:var(--txt)}
.fbu-crossband.fbu-dark .fbu-crossbtn{background:var(--y);border-color:var(--y);color:var(--k)}
.fbu-crossband.fbu-dark .fbu-crossbtn:hover{background:transparent;color:var(--y)}

/* ---------- LED: Platzhalter für noch fehlende Dateien ---------- */
.fbu-led-slot{display:grid;place-items:center;min-height:130px;width:100%;
  border:1px dashed var(--line);background:repeating-linear-gradient(45deg,#141414 0 12px,#0E0E0E 12px 24px)}
.fbu-led-slot span{font:800 10px/1.6 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:#5C5A54;text-align:center;padding:10px}
.fbu-led-slot-vid{min-height:400px}
.fbu-led-slot-gross{min-height:190px}
.fbu-sec .fbu-photos-2 .fbu-led-slot{min-height:280px;border-color:rgba(0,0,0,.2);
  background:repeating-linear-gradient(45deg,#F2EFE7 0 12px,#FAF8F3 12px 24px)}
.fbu-sec .fbu-photos-3 .fbu-led-slot{min-height:190px;border-color:rgba(0,0,0,.2);
  background:repeating-linear-gradient(45deg,#F2EFE7 0 12px,#FAF8F3 12px 24px)}
.fbu-sec .fbu-photos-2 .fbu-led-slot span,
.fbu-sec .fbu-photos-3 .fbu-led-slot span{color:#A8A498}

/* ---------- LED: Akku-Simulation (3D-Flasche + Laufzeit-Graph) ---------- */
.fbu-akku{display:grid;grid-template-columns:.9fr 1.1fr;grid-template-rows:auto 1fr;grid-template-areas:"stage text" "stage graph";
  align-items:stretch;background:#0E0E0E;border-top:1px solid var(--line);
  padding:0 var(--g,max(20px,calc((100% - 1400px) / 2)))}
.fbu-akku-stage{grid-area:stage;position:relative;border-right:1px solid var(--line);min-height:560px;min-width:0;overflow:hidden;
  background:#0A0A0C}
.fbu-akku-stage three-d-stage{display:block;position:absolute;inset:0;width:100%;height:100%;--stage-bg:#0A0A0C}
.fbu-akku-badge{position:absolute;top:16px;left:16px;background:var(--y);border:1.5px solid #000;color:var(--k);
  font:800 10px/1 Saira,sans-serif;letter-spacing:.16em;text-transform:uppercase;padding:7px 11px;z-index:2}
.fbu-akku-hint{position:absolute;left:16px;bottom:14px;z-index:2;font:700 11px/1.4 Manrope,sans-serif;color:#5C5A54;letter-spacing:.08em}
.fbu-akku-text{grid-area:text;padding:44px 40px 0;display:flex;flex-direction:column;gap:18px;min-width:0}
.fbu-akku-graph{grid-area:graph;padding:18px 40px 40px;display:flex;flex-direction:column;gap:18px;min-width:0}
.fbu-akku-h2{font:900 italic 38px/.96 Saira,sans-serif;text-transform:uppercase;color:#fff;margin:0}
.fbu-akku-text>p{font:400 15px/1.6 Manrope,sans-serif;color:#B9B5A9;margin:0;max-width:52ch;text-wrap:pretty}
.fbu-akku-readouts{display:flex;gap:28px;align-items:baseline;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:14px 0}
.fbu-akku-readouts span{font:900 italic 40px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;color:var(--y)}
.fbu-akku-readouts span.fbu-akku-w{color:#fff}
.fbu-akku-readouts small{font:700 14px/1 Manrope,sans-serif;color:#8A8678}
.fbu-akku svg{width:100%;display:block}
.fbu-akku-note{font:700 13px/1.5 Manrope,sans-serif;color:#8A8678;margin:0}
.fbu-akku-note span{color:var(--y)}
@media (max-width:960px){
  .fbu-akku{grid-template-columns:1fr;grid-template-rows:none;grid-template-areas:"text" "stage" "graph"}
  .fbu-akku-stage{border-right:0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);min-height:0;height:min(420px,52vh);height:min(420px,52svh)}
  .fbu-akku-text{padding:32px 0 24px}
  .fbu-akku-graph{padding:24px 0 36px}
  .fbu-akku-hint{display:none}
  .fbu-akku-h2{font-size:30px}
}

/* ---------- Upsell-Karte: Text auf vier Zeilen ---------- */
.fbu-upsell{align-items:flex-start}
.fbu-upsell img{flex:none}
.fbu-upsell-s{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden;
  line-height:1.45;max-height:calc(4 * 1.45em)}

/* Mengenfeld: beide Knöpfe immer sichtbar */
.fbu-buy form.cart .fbu-qtybox .fbu-step{display:grid!important;visibility:visible!important;opacity:1!important;
  width:42px;min-width:42px;height:54px;place-items:center;padding:0}
.fbu-buy form.cart .fbu-qtybox .fbu-step[data-dir="down"]{order:1}
.fbu-buy form.cart .fbu-qtybox input.qty{order:2}
.fbu-buy form.cart .fbu-qtybox .fbu-step[data-dir="up"]{order:3}
.fbu-buy form.cart .fbu-qtybox > label,
.fbu-buy form.cart .fbu-qtybox .screen-reader-text{order:0}

/* ============================================================
   Kaufzeile vereinheitlichen: Mengenfeld links, Warenkorb-Button
   füllt den Rest — bei einfachen wie bei variablen Produkten.
   Bei Varianten steckt beides in .woocommerce-variation-add-to-cart,
   deshalb muss dieser Kasten selbst die volle Breite bekommen.
   ============================================================ */
.fbu-buy form.cart .woocommerce-variation-add-to-cart{display:flex!important;flex-wrap:nowrap;
  align-items:stretch;gap:12px;width:100%;flex:1 1 100%;margin:0}
.fbu-buy form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button{flex:1 1 auto;min-width:200px}
.fbu-buy form.cart{width:100%;align-items:stretch}
.fbu-buy form.cart > .single_add_to_cart_button{flex:1 1 auto;min-width:200px}
@media (max-width:520px){
  .fbu-buy form.cart .woocommerce-variation-add-to-cart{flex-wrap:wrap}
  .fbu-buy form.cart .single_add_to_cart_button{min-width:0;width:100%}
}

/* ============================================================
   Kaufzeile — eine Regel für einfache und variable Produkte.
   Die Knöpfe stehen jetzt im Markup, .fbu-qtybox wird nicht mehr
   gebraucht: gestylt wird direkt der Woo-Kasten .quantity.
   ============================================================ */
.fbu-buy form.cart,
.fbu-buy form.cart .woocommerce-variation-add-to-cart{display:flex!important;flex-direction:row!important;
  flex-wrap:nowrap;align-items:stretch;gap:12px;width:100%;margin:0}
.fbu-buy form.cart .woocommerce-variation-add-to-cart{flex:1 1 100%}
.fbu-buy form.cart .quantity{display:flex!important;flex-direction:row!important;flex-wrap:nowrap;
  flex:0 0 auto;width:auto;float:none;margin:0;border:2px solid var(--y);background:var(--k2);overflow:hidden}
.fbu-buy form.cart .quantity label,
.fbu-buy form.cart .quantity .screen-reader-text{display:none!important}
.fbu-buy form.cart .quantity .fbu-step{flex:0 0 42px;width:42px;height:54px;display:grid;place-items:center;
  background:none;border:0;padding:0;color:#fff;font:400 20px/1 Saira,sans-serif;cursor:pointer;
  transition:background .22s,color .22s}
.fbu-buy form.cart .quantity .fbu-step:hover{background:var(--y);color:var(--k)}
.fbu-buy form.cart .quantity input.qty{flex:0 0 48px;width:48px;height:54px;min-width:0;margin:0;padding:0;
  border:0;border-radius:0;background:none;color:#fff;text-align:center;
  font:900 17px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;
  appearance:textfield;-moz-appearance:textfield}
.fbu-buy form.cart .single_add_to_cart_button{flex:1 1 auto;width:auto;min-width:200px;margin:0}
@media (max-width:520px){
  .fbu-buy form.cart,
  .fbu-buy form.cart .woocommerce-variation-add-to-cart{flex-wrap:wrap}
  .fbu-buy form.cart .single_add_to_cart_button{flex-basis:100%;min-width:0}
}

/* Bei Varianten steckt die Kaufzeile zwei Ebenen tief. Ohne das hier
   schrumpft der Zwischenkasten auf Inhaltsbreite und der Button bleibt kurz. */
.fbu-buy form.cart .single_variation_wrap{flex:1 1 100%;width:100%;min-width:0;display:block}
.fbu-buy form.cart .woocommerce-variation{width:100%}

/* Lagerhinweis: knapper Bestand wird gelb hervorgehoben. */
.fbu-usp-knapp b{color:var(--y)}

/* Cross-Sell-Knopf: Schrift gelb auf Schwarz durchsetzen. */
.fbu-crossband a.fbu-crossbtn,
.fbu-crossband a.fbu-crossbtn:link,
.fbu-crossband a.fbu-crossbtn:visited{color:var(--y)!important;background:var(--k);border-color:var(--k)}
.fbu-crossband a.fbu-crossbtn:hover,
.fbu-crossband a.fbu-crossbtn:focus{color:var(--k)!important;background:var(--y);border-color:var(--k)}
.fbu-crossband.fbu-dark a.fbu-crossbtn,
.fbu-crossband.fbu-dark a.fbu-crossbtn:link,
.fbu-crossband.fbu-dark a.fbu-crossbtn:visited{color:var(--k)!important;background:var(--y);border-color:var(--y)}
.fbu-crossband.fbu-dark a.fbu-crossbtn:hover{color:var(--y)!important;background:transparent}

/* ============================================================
   Kasse: mehr Breite, dunkle Eingabefelder
   ============================================================ */
.woocommerce-checkout main,
.wp-block-woocommerce-checkout{max-width:1560px}

.woocommerce-checkout .woocommerce input[type="text"],
.woocommerce-checkout .woocommerce input[type="email"],
.woocommerce-checkout .woocommerce input[type="tel"],
.woocommerce-checkout .woocommerce input[type="number"],
.woocommerce-checkout .woocommerce input[type="password"],
.woocommerce-checkout .woocommerce input.input-text,
.woocommerce-checkout .woocommerce select,
.woocommerce-checkout .woocommerce textarea,
.woocommerce-checkout .select2-container .select2-selection--single{
  background:#141414!important;color:#fff!important;border:2px solid #2C2B27!important;
  border-radius:0!important;min-height:52px}
.woocommerce-checkout .woocommerce input:focus,
.woocommerce-checkout .woocommerce select:focus,
.woocommerce-checkout .woocommerce textarea:focus{border-color:var(--y)!important;outline:0}
.woocommerce-checkout .woocommerce ::placeholder{color:#6E6B63}
.woocommerce-checkout .woocommerce select{appearance:none;-webkit-appearance:none;
  background-image:linear-gradient(45deg,transparent 50%,#FEDC00 50%),linear-gradient(135deg,#FEDC00 50%,transparent 50%);
  background-position:calc(100% - 20px) 23px,calc(100% - 14px) 23px;
  background-size:6px 6px,6px 6px;background-repeat:no-repeat;padding-right:44px}

/* Auswahlliste (select2) ebenfalls dunkel */
.select2-container--default .select2-selection--single .select2-selection__rendered{color:#fff!important;
  line-height:48px!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:48px}
.select2-dropdown,.select2-container--default .select2-search--dropdown .select2-search__field{
  background:#141414!important;color:#fff!important;border-color:#2C2B27!important;border-radius:0!important}
.select2-container--default .select2-results__option{background:#141414;color:#fff}
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option[aria-selected="true"]{background:var(--y)!important;color:var(--k)!important}

/* Der Kasten drumherum bleibt dunkel, damit die Felder darin nicht ausbrechen */
.woocommerce-checkout #customer_details{background:#0E0E0E;border-color:#2C2B27}
.woocommerce-checkout #customer_details label{color:#8A8678}
.woocommerce-checkout #customer_details h3,
.woocommerce-checkout #customer_details .fbc-title{color:#fff}

/* ============================================================
   Kasse breiter — die 1000-px-Deckelung weiter oben aufheben.
   Rechts die Zusammenfassung breiter als das Formular links.
   ============================================================ */
.woocommerce-checkout .wp-block-post-title,
.woocommerce-checkout main .woocommerce{max-width:1560px!important;width:100%}
.woocommerce-checkout main{max-width:1620px}

.woocommerce-checkout .fbc-grid{grid-template-columns:minmax(0,1fr) minmax(420px,0.9fr)}
@media (max-width:1100px){
  .woocommerce-checkout .fbc-grid{grid-template-columns:minmax(0,1fr) minmax(340px,380px)}
}
@media (max-width:900px){
  .woocommerce-checkout .fbc-grid{grid-template-columns:minmax(0,1fr)}
}

/* Summenzeilen rechtsbündig wie die Gesamtsumme */
.woocommerce-checkout #order_review tfoot td,
.woocommerce-checkout #order_review tfoot .amount,
.woocommerce-checkout #order_review tfoot bdi{text-align:right}
.woocommerce-checkout #order_review tfoot th{text-align:left}
.woocommerce-checkout #order_review tfoot td{font-variant-numeric:tabular-nums}

/* Land-Auswahl: das versteckte Originalfeld darf nicht mitrutschen,
   und der select2-Kasten bekommt dieselbe Höhe wie die anderen Felder. */
.woocommerce-checkout select.select2-hidden-accessible{display:none!important}
.woocommerce-checkout .select2-container{width:100%!important}
.woocommerce-checkout .select2-container .select2-selection--single{
  height:52px!important;display:flex;align-items:center;padding:0 16px}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered{
  padding:0 30px 0 0!important;line-height:1.2!important;color:#fff!important}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow{
  height:50px;right:12px}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow b{
  border-color:#FEDC00 transparent transparent}

/* „Deine Bestellung“ als richtige Überschrift, wie „Kasse“ */
.woocommerce-checkout #order_review_heading{
  font:900 italic clamp(24px,2.6vw,34px)/1 Saira,sans-serif!important;
  letter-spacing:-.01em;text-transform:uppercase;color:#fff!important;margin:0 0 4px!important}

/* Gutscheinfeld an der Kasse ausblenden */
.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout form.checkout_coupon{display:none!important}

/* Datenschutz-Hinweis und AGB-Haken: gleiche Schrift, gleiche Größe */
.woocommerce-checkout .woocommerce-privacy-policy-text p,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper p,
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text,
.woocommerce-checkout .validate-required.terms label,
.woocommerce-checkout .form-row.terms label{
  font:400 14.5px/1.6 Manrope,sans-serif!important;letter-spacing:0!important;
  text-transform:none!important;color:#B9B5A9!important}
.woocommerce-checkout .form-row.terms label{display:flex;align-items:flex-start;gap:10px}
.woocommerce-checkout .woocommerce-terms-and-conditions-checkbox-text a,
.woocommerce-checkout .woocommerce-privacy-policy-link{color:var(--y);text-decoration:underline;
  text-underline-offset:3px}
.woocommerce-checkout .form-row.terms .required{color:#FF6B4A}

/* Auswahlliste: geschlossen wirklich weg, Inhalt mit gleichem Einzug wie
   die übrigen Felder. */
.select2-container:not(.select2-container--open) .select2-dropdown{display:none!important}
.woocommerce-checkout .woocommerce select.country_select,
.woocommerce-checkout .woocommerce select.state_select,
.woocommerce-checkout select.select2-hidden-accessible{
  display:none!important;position:absolute!important;width:1px!important;height:1px!important;
  min-height:0!important;padding:0!important;border:0!important;clip:rect(0 0 0 0)}
.woocommerce-checkout .select2-container .select2-selection--single{padding:0 16px!important}
.woocommerce-checkout .select2-dropdown .select2-results__option{padding:11px 16px}

/* ============================================================
   Spielerkonto-Einladung auf der Bestellbestätigung
   ============================================================ */
.fbk{background:#0E0E0E;border:2px solid #000;margin:40px 0 0}
.fbk-head{padding:38px clamp(22px,3vw,34px);border-bottom:2px solid var(--y)}
.fbk-eyebrow{font:800 11px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;
  color:var(--y);margin-bottom:12px}
.fbk-head h2{font:900 italic clamp(28px,3.6vw,40px)/.95 Saira,sans-serif;text-transform:uppercase;
  color:#fff;margin:0 0 12px;max-width:16ch}
.fbk-head p{margin:0;font:400 15px/1.6 Manrope,sans-serif;color:#B9B5A9;max-width:52ch;text-wrap:pretty}
.fbk-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#2A2A28}
.fbk-card{background:#0E0E0E;padding:24px clamp(18px,2.2vw,26px)}
.fbk-card img{filter:invert(1);margin-bottom:12px;display:block}
.fbk-card-t{font:900 italic 17px/1.1 Saira,sans-serif;text-transform:uppercase;color:var(--y);margin-bottom:6px}
.fbk-card p{margin:0;font:400 13.5px/1.5 Manrope,sans-serif;color:#B9B5A9}
.fbk-foot{padding:26px clamp(22px,3vw,34px);display:flex;gap:16px;align-items:center;flex-wrap:wrap}
.fbk-foot span{font:400 13.5px/1.5 Manrope,sans-serif;color:#8A8678;max-width:52ch}
.fbk-btn{background:var(--y);color:var(--k)!important;border:2px solid var(--y);text-decoration:none;
  font:900 12px/1 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:14px 24px;
  white-space:nowrap;transition:background .22s,color .22s}
.fbk-btn:hover{background:transparent;color:var(--y)!important}
@media (max-width:900px){.fbk-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.fbk-grid{grid-template-columns:1fr}}

/* ============================================================
   Spielerkonto: Live-Status und Live-Blick
   ============================================================ */
.fbk-live-h{font:900 italic clamp(24px,3vw,34px)/1 Saira,sans-serif!important;text-transform:uppercase;
  color:#fff!important;margin:0 0 14px!important}
.fbk-live-p,.fbk-live-leer{font:400 15px/1.6 Manrope,sans-serif;color:#B9B5A9;max-width:56ch;margin:0 0 22px}
.fbk-order{border:2px solid #2C2B27;background:#0E0E0E;margin-bottom:18px}
.fbk-order-head{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;
  padding:16px 20px;border-bottom:1px solid #2C2B27}
.fbk-order-head b{font:900 italic 18px/1 Saira,sans-serif;text-transform:uppercase;color:#fff}
.fbk-order-head span{font:400 12.5px/1 Manrope,sans-serif;color:#8A8678}
.fbk-steps{list-style:none;margin:0;padding:8px 20px 18px}
.fbk-st{display:grid;grid-template-columns:44px 1fr;gap:14px;align-items:start;padding:14px 0;
  border-bottom:1px solid #1C1B19}
.fbk-st:last-child{border-bottom:0}
.fbk-st-n{width:34px;height:34px;display:grid;place-items:center;border:2px solid #2C2B27;color:#6E6B63;
  font:900 15px/1 Saira,sans-serif;font-variant-numeric:tabular-nums}
.fbk-st b{display:block;font:700 15.5px/1.35 Manrope,sans-serif;color:#6E6B63;margin-bottom:3px}
.fbk-st span{font:400 13.5px/1.5 Manrope,sans-serif;color:#4E4C47}
.fbk-st-fertig .fbk-st-n{border-color:var(--y);color:var(--y)}
.fbk-st-fertig b{color:#fff}
.fbk-st-fertig span{color:#8A8678}
.fbk-st-laeuft .fbk-st-n{border-color:var(--y);background:var(--y);color:var(--k)}
.fbk-st-laeuft b{color:var(--y)}
.fbk-st-laeuft span{color:#B9B5A9}
.fbk-cam{border:2px solid var(--y);background:#141414;aspect-ratio:16/9;box-shadow:10px 10px 0 0 rgba(254,220,0,.22);position:relative}
.fbk-cam iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block}
.fbk-cam-leer{display:grid;place-items:center;
  background-image:repeating-linear-gradient(45deg,#141414 0 14px,#0E0E0E 14px 28px)}
.fbk-cam-leer span{font:800 11px/1.7 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;
  color:#5C5A54;text-align:center}

/* Dankeszeile der Bestellbestätigung */
.woocommerce-order .woocommerce-notice--success{margin:0 0 28px;padding:0;background:none;border:0}
.fbk-danke{display:block;font:900 italic clamp(28px,3.8vw,40px)/.98 Saira,sans-serif;
  text-transform:uppercase;letter-spacing:-.01em;color:#fff;margin-bottom:10px}
.fbk-danke-s{display:block;font:400 15px/1.6 Manrope,sans-serif;color:#B9B5A9}

/* ============================================================
   Spielerkonto — Navigation links, Inhalt rechts
   ============================================================ */
.woocommerce-account main .woocommerce{max-width:1560px!important;width:100%;
  display:grid;grid-template-columns:270px minmax(0,1fr);gap:clamp(24px,3vw,44px);align-items:start}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-account.woocommerce-lost-password main .woocommerce,
.woocommerce-account:not(.logged-in) main .woocommerce{display:block;max-width:560px!important}

.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;
  border:2px solid #2C2B27;background:#0E0E0E}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid #1C1B19}
.woocommerce-MyAccount-navigation li:last-child{border-bottom:0}
.woocommerce-MyAccount-navigation li a{display:block;padding:15px 18px;text-decoration:none;
  color:#B9B5A9!important;font:800 12px/1 Saira,sans-serif;letter-spacing:.14em;text-transform:uppercase;
  transition:background .22s,color .22s}
.woocommerce-MyAccount-navigation li a:hover{background:#141414;color:#fff!important}
.woocommerce-MyAccount-navigation li.is-active a{background:var(--y);color:var(--k)!important}

.woocommerce-MyAccount-content{min-width:0;color:#B9B5A9;font:400 15px/1.65 Manrope,sans-serif}
.woocommerce-MyAccount-content p{color:#B9B5A9}
.woocommerce-MyAccount-content strong,
.woocommerce-MyAccount-content b{color:#fff}
.woocommerce-account .woocommerce-MyAccount-content a{color:var(--y);
  text-decoration:underline;text-underline-offset:3px}
.woocommerce-account .woocommerce-MyAccount-content a:hover{color:#fff}
.woocommerce-MyAccount-content h2,
.woocommerce-MyAccount-content h3{font:900 italic 22px/1.05 Saira,sans-serif;text-transform:uppercase;
  color:#fff;margin:0 0 14px}

/* Bestellungen und Downloads als Tabelle auf dunklem Grund */
.woocommerce-account .woocommerce-MyAccount-content table{width:100%;border-collapse:collapse;
  border:2px solid #2C2B27;background:#0E0E0E}
.woocommerce-account .woocommerce-MyAccount-content table th{
  font:800 10px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8A8678;
  text-align:left;padding:14px 16px;border-bottom:1px solid #2C2B27;background:none}
.woocommerce-account .woocommerce-MyAccount-content table td{padding:14px 16px;
  border-bottom:1px solid #1C1B19;color:#B9B5A9;font-size:14px;background:none}
.woocommerce-account .woocommerce-MyAccount-content table tr:last-child td{border-bottom:0}

/* Adressen */
.woocommerce-account .woocommerce-Addresses{display:grid;grid-template-columns:1fr 1fr;gap:20px}
.woocommerce-account .woocommerce-Address{border:2px solid #2C2B27;background:#0E0E0E;padding:20px}
.woocommerce-account .woocommerce-Address address{font-style:normal;color:#B9B5A9;font-size:14px;line-height:1.7}

/* Knöpfe im Konto */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content button.button{background:var(--y);color:var(--k);
  border:2px solid var(--y);border-radius:0;text-decoration:none;
  font:900 12px/1 Saira,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:13px 22px}
.woocommerce-account .woocommerce-MyAccount-content .button:hover{background:transparent;color:var(--y)}

@media (max-width:900px){
  .woocommerce-account main .woocommerce{grid-template-columns:minmax(0,1fr)}
  .woocommerce-account .woocommerce-Addresses{grid-template-columns:1fr}
}

/* Das Raster hängt am direkten Elternteil der Navigation — je nach
   WordPress-Aufbau ist das nicht immer .woocommerce. */
.woocommerce-account *:has(> .woocommerce-MyAccount-navigation){
  max-width:1560px!important;width:100%;margin-left:auto;margin-right:auto;
  display:grid!important;grid-template-columns:270px minmax(0,1fr);
  gap:clamp(24px,3vw,44px);align-items:start}
.woocommerce-account *:has(> .woocommerce-MyAccount-navigation) > .woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-account .woocommerce-MyAccount-navigation{grid-column:1;grid-row:2}
.woocommerce-account .woocommerce-MyAccount-content{grid-column:2;grid-row:2}
.woocommerce-account .wp-block-post-title{max-width:1560px!important;margin-left:auto;margin-right:auto}
@media (max-width:900px){
  .woocommerce-account *:has(> .woocommerce-MyAccount-navigation){grid-template-columns:minmax(0,1fr)}
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{grid-column:1}
  .woocommerce-account .woocommerce-MyAccount-content{grid-row:3}
}


/* ============================================================
   Art of Bottle (.aob) — Konfigurator + USP-Sektionen
   ============================================================ */
.aob{display:grid;gap:clamp(22px,2.5vw,34px);padding:clamp(24px,4vw,48px) var(--g,clamp(20px,3.4vw,40px))}
.aob .aob-sec{border:2px solid var(--k);box-shadow:8px 8px 0 0 var(--k);background:#fff}
.aob h2{font:italic 900 clamp(24px,3vw,40px)/.98 Saira,'Arial Black',sans-serif;
  letter-spacing:-.01em;text-transform:uppercase;color:var(--k);margin:0}
.aob-eyebrow{font:800 11px/1 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#6B675E}
.aob-eyebrow span{color:var(--k)}
.aob-kicker{font:800 11px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:var(--y)}

/* Konfigurator */
.aob-config{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr)}
.aob-stage-wrap{position:relative;background:#F1ECDF;min-height:560px;min-width:0;max-width:100%;overflow:hidden}
.aob-stage-wrap three-d-stage{display:block;width:100%;max-width:100%;height:100%;min-height:560px;contain:size layout}
.aob-night{position:absolute;right:16px;top:16px;font:800 11px/1 Manrope,sans-serif;letter-spacing:.14em;
  text-transform:uppercase;padding:12px 16px;border:2px solid var(--k);background:#fff;color:var(--k);
  cursor:pointer;box-shadow:3px 3px 0 0 var(--k)}
.aob-night:hover{background:var(--k);color:var(--y)}
.aob-orbit-hint{position:absolute;right:16px;top:64px;display:flex;align-items:center;gap:8px;
  font:800 10px/1 Manrope,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--k);pointer-events:none}
.aob-orbit-hint svg{animation:aobOrbit 6s linear infinite}
@keyframes aobOrbit{from{transform:rotate(0)}to{transform:rotate(360deg)}}
body.aob-night-mode .aob-orbit-hint{color:#FAF8F3}
.aob-panel{padding:clamp(24px,3vw,40px);display:flex;flex-direction:column;gap:16px;border-left:2px solid var(--k)}
.aob-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.aob-card{padding:0;border:2px solid var(--k);background:#fff;cursor:pointer;display:flex;flex-direction:column;
  text-align:left;transition:background .22s}
.aob-card-img{display:block;width:100%;line-height:0}
.aob-card-img img{width:100%;aspect-ratio:1.25;object-fit:cover;display:block;border-bottom:2px solid var(--k)}
.aob-card-name{display:block;padding:7px 8px;font:800 10px/1.2 Saira,sans-serif;text-transform:uppercase;
  letter-spacing:.02em;color:var(--k);min-width:0;width:100%;overflow-wrap:anywhere;hyphens:auto;box-sizing:border-box}
.aob-card.is-active{outline:3px solid var(--y);outline-offset:-3px;background:var(--y)}
.aob-chips{display:flex;flex-wrap:wrap;gap:8px}
.aob-chip{display:flex;align-items:center;gap:7px;font:600 11px/1 Manrope,sans-serif;border:1px solid #D5D0C4;padding:6px 9px}
.aob-chip.is-glow{border-color:var(--k)}
.aob-chip i{width:12px;height:12px;border:1px solid var(--k);display:block}
.aob.is-night .aob-chip{border-color:var(--y)}

/* USP-Karte */
.aob .aob-usp{box-shadow:8px 8px 0 0 var(--y)!important;background:var(--k);padding:clamp(28px,3.5vw,48px);display:grid;
  grid-template-columns:minmax(0,.85fr) minmax(0,1.7fr);gap:clamp(26px,3vw,52px);align-items:start}
.aob .aob-usp h2{color:#fff!important;margin-top:14px}
.aob-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(18px,2vw,30px)}
.aob-step{border-top:2px solid var(--y);padding-top:14px}
.aob-step span{font:900 italic 34px/1 Saira,sans-serif;color:var(--y)}
.aob-step b{display:block;font:800 13px/1.3 Manrope,sans-serif;color:#fff;margin:10px 0 6px}
.aob-step p{margin:0;font-size:13.5px;line-height:1.6;color:#B9B5A9;text-wrap:pretty}

/* Live-Blick (Teil der USP-Karte) */
.aob .aob-live{grid-column:1/-1;box-shadow:none!important;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);border-top:2px solid var(--y);margin-top:clamp(10px,1.4vw,20px);padding-top:0}
.aob-live .aob-live-txt{order:2}
.aob-live .aob-cam{order:1}
.aob-live-txt{padding:clamp(26px,3.2vw,44px) 0 clamp(6px,1vw,10px) clamp(26px,3.2vw,44px);display:flex;flex-direction:column;gap:16px;justify-content:center}
.aob-live-txt h2{color:#fff;margin-top:0!important}
.aob-live-txt p{margin:0;max-width:50ch;font-size:15px;line-height:1.6;color:#B9B5A9}
.aob-live-txt a{font:800 12px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;width:fit-content;color:var(--y)}
.aob-live-badges{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.aob-badge-live{display:inline-flex;align-items:center;gap:8px;background:var(--y);color:var(--k);
  font:800 11px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase;padding:8px 12px}
.aob-badge-live i{width:8px;height:8px;background:var(--k);border-radius:50%;animation:aobLive 1.2s ease-in-out infinite}
.aob-cam-label i{width:8px;height:8px;background:var(--y);border-radius:50%;animation:aobLive 1.2s ease-in-out infinite}
.aob-live-hint{font:800 11px/1 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#B9B5A9}
.aob-cam{background:#000;border-right:2px solid var(--y);min-height:340px;overflow:hidden;display:grid;place-items:center;position:relative}
.aob-cam .aob-c,.aob-cam .aob-cam-label{z-index:1}
.aob-cam .aob-c{position:absolute;width:26px;height:26px}
.aob-cam .aob-c1{top:14px;left:14px;border-top:2px solid var(--y);border-left:2px solid var(--y)}
.aob-cam .aob-c2{top:14px;right:14px;border-top:2px solid var(--y);border-right:2px solid var(--y)}
.aob-cam .aob-c3{bottom:14px;left:14px;border-bottom:2px solid var(--y);border-left:2px solid var(--y)}
.aob-cam .aob-c4{bottom:14px;right:14px;border-bottom:2px solid var(--y);border-right:2px solid var(--y)}
.aob-cam-label{position:absolute;top:22px;left:52px;display:flex;align-items:center;gap:8px;
  font:800 10px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--y)}
.aob-cam-frame{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;object-fit:cover}
.fbk-cam-media{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;object-fit:cover}
.fbl-lade{position:absolute;inset:0;display:grid;place-items:center;font:800 11px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#B9B5A9;animation:aobLive 1.6s ease-in-out infinite}
.aob-cam-note{font:800 11px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#B9B5A9}
@keyframes aobLive{0%,100%{opacity:1}50%{opacity:.2}}

/* Motiv & Zahlen */
.aob .aob-motif{box-shadow:8px 8px 0 0 var(--y)!important}
.aob-motif{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr)}
.aob-motif-txt{padding:clamp(24px,3vw,40px);border-right:2px solid var(--k);display:flex;flex-direction:column;gap:16px}
.aob-motif-txt p{margin:0;max-width:52ch;font-size:15px;line-height:1.6;color:#3A3730}
.aob-glow{border-left:4px solid var(--y);padding:6px 0 6px 14px;font-size:14px;line-height:1.55;color:#3A3730}
.aob-glow strong{display:block;font:800 10px/1 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8A857A;margin-bottom:6px}
.aob-bars{display:grid;gap:10px}
.aob-bar-top{display:flex;justify-content:space-between;gap:10px;font:600 12px/1 Manrope,sans-serif;margin-bottom:5px}
.aob-bar-top b{font-variant-numeric:tabular-nums}
.aob-bar-track{height:12px;border:1px solid var(--k);background:rgba(14,14,14,.06)}
.aob-bar-track div{height:100%;border-right:1px solid var(--k)}
.aob-time-note{font:600 11.5px/1.5 Manrope,sans-serif;color:#8A857A;margin-top:2px}
.aob-motif-media{display:flex;flex-direction:column}
.aob-video{flex:1;width:100%;min-height:340px;background:var(--k);display:block;object-fit:cover}
.aob-video-empty{display:grid;place-items:center;align-content:center;gap:14px;text-align:center}
.aob-play{width:74px;height:74px;border:2px solid var(--y);display:grid;place-items:center}
.aob-play::after{content:'';width:0;height:0;border-style:solid;border-width:14px 0 14px 24px;
  border-color:transparent transparent transparent var(--y);margin-left:5px}
.aob-video-note{font:800 11px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#B9B5A9}
.aob-media-note{padding:18px clamp(20px,3vw,32px);border-top:2px solid var(--k);font:600 13px/1.5 Manrope,sans-serif;color:#3A3730}

/* LED-Band — Vollflächen-Banner mit Leuchtzonen-Bild als Hintergrund */
.aob .aob-band{box-shadow:8px 8px 0 0 var(--y)!important;background:var(--k);position:relative;overflow:hidden}
.aob-band-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center;display:block}
.aob-band-bg-base{filter:brightness(.2) saturate(.65)}
.aob-band-bg-glow{mix-blend-mode:screen;filter:brightness(1.05) contrast(1.1) saturate(1.2)}
.aob-band-fade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(14,14,14,.94) 0%,rgba(14,14,14,.86) 44%,rgba(14,14,14,.25) 78%,rgba(14,14,14,.12) 100%),linear-gradient(270deg,rgba(14,14,14,.4) 0%,rgba(14,14,14,0) 22%)}
.aob-band-txt{position:relative;padding:clamp(26px,3.2vw,44px);display:flex;flex-direction:column;gap:12px;align-items:flex-start;max-width:64ch}
.aob-band h2{font-size:clamp(22px,2.6vw,32px);margin:6px 0 0;color:#fff}
.aob-band p{margin:0;font-size:15px;line-height:1.6;color:#B9B5A9}
.aob-band p strong{color:#fff}
.aob-band-txt a{font:800 12px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;margin-top:8px;color:var(--y)}
.aob-band-art-label{position:absolute;right:14px;bottom:14px;font:800 10px/1 Saira,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--y);background:var(--k);padding:6px 9px}
.aob-band-chip{font:800 11px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;
  color:var(--k);background:var(--y);width:fit-content;padding:6px 10px}

@media (max-width:960px){
  .aob .aob-config,.aob .aob-live,.aob .aob-motif,.aob .aob-usp,.aob .aob-band{grid-template-columns:1fr!important}
  .aob-live-txt{padding:22px 0 0 0}
  .aob-live .aob-cam{min-height:0;aspect-ratio:16/10;border-right:0;border-bottom:2px solid var(--y)}
  .aob-band{display:flex;flex-direction:column}
  .aob-band-art-label{position:static;order:2;margin:0 clamp(26px,3.2vw,44px) 24px;width:fit-content}
  .aob-band-txt{padding-bottom:14px}
  .aob-panel{border-left:0;border-top:2px solid var(--k)}
  .aob-motif-txt{border-right:0;border-bottom:2px solid var(--k)}
  .aob-cam{border-right:0;border-bottom:2px solid var(--y)}
  .aob-steps{grid-template-columns:1fr;gap:20px}
  .aob-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
  .aob-stage-wrap,.aob-stage-wrap three-d-stage{min-height:0;height:min(420px,52vh);height:min(420px,52svh)}
  .aob-night{right:10px;top:10px;padding:8px 10px;font-size:10px;letter-spacing:.1em;box-shadow:2px 2px 0 0 var(--k)}
  .aob-orbit-hint{right:10px;top:46px;font-size:9px;letter-spacing:.12em}
  .aob-orbit-hint svg{width:16px;height:16px}
}


/* ============================================================
   Art of Bottle in der Kaufzone: 3D-Viewer statt Galerie,
   Design-Karten kompakt, Farbchips auf Dunkel
   ============================================================ */
.fbu-aob .fbu-gal .aob-stage-wrap{height:min(1040px,105vh)}
.fbu-aob .fbu-gal .aob-stage-wrap three-d-stage{height:100%;min-height:0}
.fbu-aob .fbu-bags{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.fbu-aob .fbu-bag{padding:0;gap:0;align-items:stretch;text-align:left}
.fbu-aob .fbu-bag-img{height:auto;display:block}
.fbu-aob .fbu-bag-img img{filter:none!important;mix-blend-mode:normal!important;
  width:100%!important;height:auto!important;aspect-ratio:1.25;object-fit:cover;display:block;
  border-bottom:2px solid var(--line)}
.fbu-aob .fbu-bag-name{padding:7px 8px 2px;font-size:10px;letter-spacing:.02em;
  min-width:0;overflow-wrap:anywhere;hyphens:auto}
.fbu-aob .fbu-bag-price{padding:0 8px 8px;font-size:10.5px}
.fbu-aob .aob-chips{margin:-6px 0 18px}
@media (max-width:960px){
  .fbu-aob .fbu-gal .aob-stage-wrap{height:min(560px,60vh);height:min(560px,60svh)}
  .fbu-aob .fbu-bags{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:600px){
  .fbu-aob .fbu-gal .aob-stage-wrap{height:min(420px,52vh);height:min(420px,52svh);min-height:0}
  .fbu-aob .fbu-gal .aob-stage-wrap three-d-stage{min-height:0}
}


/* ============================================================
   Art of Bottle — Tagesansicht hell wie die Vorschau;
   LED-Vorschau (body.aob-night-mode) stellt Seite + Menü dunkel
   ============================================================ */
body:not(.aob-night-mode) .fbu-aob .fbu-buy{background:var(--paper);color:var(--k)}
body:not(.aob-night-mode) .fbu-aob .fbu-title,
body:not(.aob-night-mode) .fbu-aob .fbu-label,
body:not(.aob-night-mode) .fbu-aob .fbu-price{color:var(--k)}
body:not(.aob-night-mode) .fbu-aob .fbu-lead,
body:not(.aob-night-mode) .fbu-aob .fbu-lead2{color:#3A3730}
body:not(.aob-night-mode) .fbu-aob .fbu-tax,
body:not(.aob-night-mode) .fbu-aob .fbu-sku{color:#8A857A}
body:not(.aob-night-mode) .fbu-aob .fbu-pricebox{border-color:rgba(14,14,14,.15)}
body:not(.aob-night-mode) .fbu-aob .fbu-bag{background:#fff;border-color:var(--k)}
body:not(.aob-night-mode) .fbu-aob .fbu-bag-name{color:var(--k)}
body:not(.aob-night-mode) .fbu-aob .fbu-bag-price{color:#6B675E;opacity:1}
body:not(.aob-night-mode) .fbu-aob .fbu-bag[aria-pressed="true"]{background:var(--y)}
body:not(.aob-night-mode) .fbu-aob .fbu-bag[aria-pressed="true"] .fbu-bag-name,
body:not(.aob-night-mode) .fbu-aob .fbu-bag[aria-pressed="true"] .fbu-bag-price{color:var(--k)}
body:not(.aob-night-mode) .fbu-aob .aob-chip{color:var(--k);border-color:#D5D0C4}
body:not(.aob-night-mode) .fbu-aob .aob-chip.is-glow{border-color:var(--k)}
body:not(.aob-night-mode) .fbu-aob .fbu-usps .fbu-usp{color:#3A3730}
body:not(.aob-night-mode) .fbu-aob .fbu-usps .fbu-usp b{color:var(--k)}
body:not(.aob-night-mode) .fbu-aob .fbu-usps .fbu-usp img{filter:none}
body:not(.aob-night-mode) .fbu-aob .fbu-qty{background:#fff;border-color:var(--k)}
body:not(.aob-night-mode) .fbu-aob .fbu-qty input,
body:not(.aob-night-mode) .fbu-aob .fbu-qty button{color:var(--k);background:transparent}
body:not(.aob-night-mode) .fbu-aob .fbu-stars span{color:#6B675E}
body:not(.aob-night-mode) .fbu-aob .fbu-reviews-link{color:var(--k)}

/* Nacht: ganze Seite inkl. Menü */
body.aob-night-mode,
body.aob-night-mode .wp-site-blocks{background:#0A0A0C!important}
body.aob-night-mode .fbh{background:#0E0E0E;border-bottom:2px solid var(--y)}
body.aob-night-mode .fbh-logo img{filter:invert(1)}
body.aob-night-mode .fbh-link,
body.aob-night-mode .fbh-subtoggle{color:#FAF8F3}
body.aob-night-mode .fbh-social a,
body.aob-night-mode .fbh-right{color:#FAF8F3}
body.aob-night-mode .fbh-cart{background:var(--y);color:var(--k);border-color:var(--y)}
body.aob-night-mode .fbu-aob .aob-chip{color:#FAF8F3;border-color:var(--y)}
body.aob-night-mode .fbu-aob .aob-chip i{border-color:#3A3833}
body.aob-night-mode .aob .aob-sec{background:#161618;border-color:#3A3833;box-shadow:8px 8px 0 0 #000}
body.aob-night-mode .aob .aob-usp{background:#0E0E0E;box-shadow:8px 8px 0 0 #000!important}
body.aob-night-mode .aob h2{color:#FAF8F3}
body.aob-night-mode .aob-eyebrow{color:#A8A498}
body.aob-night-mode .aob-eyebrow span{color:#FAF8F3}
body.aob-night-mode .aob-live-txt p,
body.aob-night-mode .aob-motif-txt p,
body.aob-night-mode .aob-glow,
body.aob-night-mode .aob-media-note,
body.aob-night-mode .aob-band p{color:#C9C4B8}
body.aob-night-mode .aob-live-txt a,
body.aob-night-mode .aob-band>a{color:#FAF8F3}
body.aob-night-mode .aob-bar-top{color:#EAE6DA}
body.aob-night-mode .aob-bar-track{border-color:#3A3833;background:rgba(255,255,255,.06)}
body.aob-night-mode .aob-time-note{color:#A8A498}
body.aob-night-mode .aob-live-hint{color:#A8A498}
body.aob-night-mode .aob-cam,body.aob-night-mode .aob-video{border-color:#3A3833}
body.aob-night-mode .aob-media-note{border-color:#3A3833}


/* ============================================================
   Header-Menü: verschachtelte Unterpunkte (Sub-Sub-Menüs)
   ============================================================ */
/* Gruppen-Eintrag: klickbar, Pfeil rechts, Kinder als seitliches Flyout */
.fbh-sub-group{position:relative}
.fbh-sub .fbh-sub-head{display:flex;align-items:center;justify-content:space-between;gap:10px}
.fbh-sub .fbh-sub-head::after{content:"\203A";font-weight:800;font-size:16px;line-height:1;transform:translateY(-1px)}
.fbh-sub .fbh-sub-head:hover{background:var(--y);color:var(--k)}
.fbh-sub-kids{position:absolute;left:100%;top:-10px;margin-left:10px;min-width:248px;
  background:#0E0E0E;border:2px solid var(--y);box-shadow:8px 8px 0 0 rgba(254,220,0,.2);
  padding:8px;display:grid;opacity:0;visibility:hidden;transform:translateX(-6px);
  transition:opacity .18s,transform .18s,visibility .18s;z-index:5}
.fbh-sub-kids::before{content:"";position:absolute;left:-12px;top:0;bottom:0;width:12px}
.fbh-sub-group:hover>.fbh-sub-kids,.fbh-sub-group:focus-within>.fbh-sub-kids{opacity:1;visibility:visible;transform:none}
.fbh-sub-kids a:hover{background:var(--y);color:var(--k)!important}
.fbh-drawer-nav .fbh-d-group .fbh-d-head{display:block}
.fbh-drawer-nav a.fbh-d-head{font-weight:800;color:var(--y);text-transform:uppercase;letter-spacing:.1em;font-size:12px}
.fbh-d-tiefe-1{margin-left:14px;border-left:2px solid rgba(254,220,0,.35);padding-left:12px}
.fbh-d-tiefe-2{margin-left:14px;border-left:2px solid rgba(254,220,0,.25);padding-left:12px}
.fbh-d-group.fbh-d-tiefe-1,.fbh-d-group.fbh-d-tiefe-2{display:grid;gap:2px;padding-left:12px}


/* ============================================================
   ERSATZTEILE — Kategorieseite mit 3D-Explosionsansicht
   ============================================================ */
.fbe {
	max-width: 1400px;
	margin: 0 auto 48px;
	border: 2px solid #0E0E0E;
	background: #FAF8F3;
	box-shadow: 10px 10px 0 0 #0E0E0E;
	display: grid;
	grid-template-columns: minmax(0, .68fr) minmax(0, 1fr);
	grid-template-rows: auto 1fr;
	grid-template-areas: 'viewer header' 'viewer rest';
	min-height: 900px;
	font-family: Manrope, system-ui, sans-serif;
	color: #1A1A1A;
	text-align: left;
}
.fbe-viewer { grid-area: viewer; position: relative; background: #F1ECDF; border-right: 2px solid #0E0E0E; }
.fbe-header { grid-area: header; padding: clamp(28px, 3.5vw, 48px) clamp(28px, 3.5vw, 48px) 0; display: flex; flex-direction: column; gap: 18px; }
.fbe-viewer three-d-stage { display: block; width: 100%; height: 100%; min-height: 900px; }
.fbe-scale-hint {
	position: absolute; left: 16px; top: 16px;
	font: 800 10px/1 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase;
	color: #8A857A; pointer-events: none;
}
.fbe-orbit-hint {
	position: absolute; right: 16px; top: 16px; display: flex; align-items: center; gap: 8px;
	font: 800 10px/1 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase;
	color: #0E0E0E; pointer-events: none;
}
.fbe-orbit-hint svg { animation: fbe-orbit 6s linear infinite; }
@keyframes fbe-orbit { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }
.fbe-slider {
	position: absolute; left: 16px; bottom: 16px; display: flex; align-items: center; gap: 12px;
	background: #fff; border: 2px solid #0E0E0E; box-shadow: 3px 3px 0 0 #0E0E0E; padding: 12px 16px;
}
.fbe-slider span { font: 800 10px/1 Manrope, sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #0E0E0E; }
.fbe-slider input[type=range] {
	-webkit-appearance: none; appearance: none; width: 150px; height: 4px; background: #0E0E0E; outline: none;
}
.fbe-slider input[type=range]::-webkit-slider-thumb {
	-webkit-appearance: none; width: 18px; height: 18px; border-radius: 0;
	background: #FEDC00; border: 2px solid #0E0E0E; cursor: pointer;
}
.fbe-slider input[type=range]::-moz-range-thumb {
	width: 14px; height: 14px; border-radius: 0; background: #FEDC00; border: 2px solid #0E0E0E; cursor: pointer;
}
.fbe-tip {
	position: absolute; display: none; pointer-events: none; z-index: 3;
	background: #0E0E0E; color: #FEDC00; padding: 8px 10px;
	font: 800 11px/1 Saira, sans-serif; letter-spacing: .08em; text-transform: uppercase;
	transform: translate(14px, -50%);
}
.fbe-right { grid-area: rest; padding: 18px clamp(28px, 3.5vw, 48px) clamp(28px, 3.5vw, 48px); display: flex; flex-direction: column; gap: 18px; }
.fbe-eyebrow { font: 800 11px/1 Manrope, sans-serif; letter-spacing: .22em; text-transform: uppercase; color: #6B675E; }
.fbe-title {
	font: italic 900 clamp(34px, 4.2vw, 54px)/.95 Saira, 'Arial Black', sans-serif;
	letter-spacing: -.01em; text-transform: uppercase; margin: 0; color: #0E0E0E;
}
.fbe-intro { margin: 0; max-width: 56ch; font-size: 15.5px; line-height: 1.6; color: #3A3730; }
.fbe-intro .mark { background: #FEDC00; padding: 0 4px; font-weight: 700; }
.fbe-list { border: 2px solid #0E0E0E; background: #fff; }
.fbe-row { border-bottom: 2px solid #0E0E0E; transition: background .22s; }
.fbe-row:last-child { border-bottom: 0; }
.fbe-row.is-open { background: #FFF9DB; }
.fbe-head {
	display: flex; align-items: center; gap: 14px; width: 100%; padding: 14px 16px;
	background: transparent; border: 0; cursor: pointer; text-align: left; box-shadow: none;
}
.fbe-head:hover { background: rgba(254, 220, 0, .14); }
.fbe-nr { font: 900 italic 14px/1 Saira, sans-serif; color: #B5AF9F; min-width: 26px; }
.fbe-name { flex: 1; font: 900 italic 16px/1 Saira, sans-serif; text-transform: uppercase; color: #0E0E0E; }
.fbe-dims { font: 600 11.5px/1 Manrope, sans-serif; color: #8A857A; font-variant-numeric: tabular-nums; }
.fbe-price { font: 900 16px/1 Saira, sans-serif; color: #0E0E0E; font-variant-numeric: tabular-nums; white-space: nowrap; }
.fbe-price .woocommerce-Price-amount { font: inherit; }
.fbe-body { display: none; padding: 0 16px 16px 56px; }
.fbe-row.is-open .fbe-body { display: block; }
.fbe-desc { margin: 0 0 12px; font-size: 13.5px; line-height: 1.55; color: #3A3730; }
.fbe-buy { display: flex; align-items: center; gap: 12px; margin: 0; }
.fbe-qty { display: flex; align-items: center; border: 2px solid #0E0E0E; background: #fff; }
.fbe-qty button {
	width: 36px; height: 40px; border: 0; background: #fff; color: #0E0E0E;
	font: 800 18px/1 Manrope, sans-serif; cursor: pointer; padding: 0; box-shadow: none;
}
.fbe-qty button:hover { background: #FEDC00; }
.fbe-qty input {
	width: 44px; height: 40px; border: 0; text-align: center; background: #fff;
	font: 800 15px/1 Manrope, sans-serif; font-variant-numeric: tabular-nums; -moz-appearance: textfield;
}
.fbe-qty input::-webkit-outer-spin-button, .fbe-qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.fbe-add {
	flex: 1; min-height: 44px; padding: 0 18px; background: #FEDC00; color: #0E0E0E;
	border: 2px solid #0E0E0E; box-shadow: 3px 3px 0 0 #0E0E0E; cursor: pointer;
	font: 900 italic 13px/1 Saira, sans-serif; text-transform: uppercase; letter-spacing: .04em;
	transition: background .22s, color .22s;
}
.fbe-add:hover { background: #0E0E0E; color: #FEDC00; }
.fbe-add:active { transform: translate(2px, 2px); box-shadow: none; }
.fbe-soon { margin: 0; font-size: 13px; color: #8A857A; }
.fbe-note { margin: 0; font-size: 12px; line-height: 1.5; color: #8A857A; }
.fbe-support {
	background: #0E0E0E; color: #fff; padding: 22px 24px;
	display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
}
.fbe-support-text { flex: 1; min-width: 240px; }
.fbe-support-text strong {
	display: block; font: 900 italic 17px/1.1 Saira, sans-serif; text-transform: uppercase;
	color: #FEDC00; margin-bottom: 6px;
}
.fbe-support-text p { margin: 0; font-size: 13.5px; line-height: 1.55; color: rgba(255, 255, 255, .72); }
.fbe-support-btn {
	display: inline-flex; align-items: center; min-height: 44px; padding: 0 20px;
	border: 2px solid #FEDC00; color: #FEDC00; text-decoration: none;
	font: 900 italic 13px/1 Saira, sans-serif; text-transform: uppercase; letter-spacing: .04em;
	transition: background .22s, color .22s;
}
.fbe-support-btn:hover { background: #FEDC00; color: #0E0E0E; }
.fbe-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.fbe-step { border: 2px solid #0E0E0E; background: #fff; padding: 16px; display: flex; flex-direction: column; gap: 8px; }
.fbe-step-nr { font: 900 italic 22px/1 Saira, sans-serif; color: #FEDC00; -webkit-text-stroke: 1px #0E0E0E; }
.fbe-step-titel { font: 900 italic 13px/1.2 Saira, sans-serif; text-transform: uppercase; color: #0E0E0E; }
.fbe-step p { margin: 0; font: 400 13px/1.5 Manrope, sans-serif; color: #3A3730; }

@media (max-width: 1200px) {
	.fbe-orbit-hint span { display: none; }
}

@media (max-width: 980px) {
	/* Titel über dem Viewer, wie auf den anderen Produktseiten */
	.fbe { grid-template-columns: 1fr; grid-template-rows: auto auto auto; grid-template-areas: 'header' 'viewer' 'rest'; min-height: 0; box-shadow: 6px 6px 0 0 #0E0E0E; }
	.fbe-header { padding: 22px 18px 0; }
	.fbe-right { padding: 16px 18px 22px; }
	.fbe-viewer { border-right: 0; border-top: 2px solid #0E0E0E; border-bottom: 2px solid #0E0E0E; margin-top: 18px; }
	.fbe-viewer three-d-stage { min-height: 480px; }
	.fbe-body { padding-left: 16px; }
	.fbe-orbit-hint span { display: none; }
	.fbe-buy { flex-wrap: wrap; }
	.fbe-steps { grid-template-columns: 1fr; }
}

/* Zentrierung: die Sektion sitzt mittig, egal welcher Container sie umgibt. */
body.fbe-product main div.product,
body.fbe-product .entry-content { max-width: none; }
.fbe { width: 100%; max-width: min(1400px, 100%); box-sizing: border-box; }
/* Grid-Kinder dürfen schrumpfen — sonst drückt der 3D-Canvas die Seite breiter
   als das Smartphone und erzeugt horizontales Scrollen. */
.fbe-viewer, .fbe-header, .fbe-right { min-width: 0; }
.fbe-viewer { overflow: hidden; }
.fbe-viewer three-d-stage { max-width: 100%; }
body.fbe-product, body.tax-product_cat { overflow-x: clip; }


/* Ersatzteile-Produktseite: Standard-Galerie, Kaufzone und Titel raus —
   die fbe-Sektion ist die komplette Seite. */
body.fbe-product div.product .woocommerce-product-gallery,
body.fbe-product div.product .entry-summary,
body.fbe-product div.product .summary,
body.fbe-product div.product .product_title,
body.fbe-product .woocommerce-tabs,
body.fbe-product .related.products,
body.fbe-product section.up-sells { display: none !important; }
body.fbe-product div.product { display: block; }
body.fbe-product .fbe { margin-top: 8px; }


/* ============================================================
   ARENEN — Landingpage der Spielorte
   Karussell wie eine Streckenwahl: Video 1:1, Scores,
   Vergleichstabelle, Fotostreifen je Arena.
   ============================================================ */

.fba{font-family:Manrope,sans-serif;color:#0E0E0E}

/* ---------- Randlos: die Seite bricht aus der Theme-Spalte aus ---------- */
body.fba-page{background:#FAF8F3}
body.fba-page .wp-site-blocks > header{position:relative;z-index:1000}
/* Admin-Bar-Ausgleich gilt nur für sticky Header — relativ positioniert
   erzeugt top:32px sonst einen weißen Balken über dem Header. */
body.fba-page.admin-bar .wp-site-blocks > header.wp-block-template-part,
body.fba-page.admin-bar header.wp-block-template-part:has(> .fbh){top:auto}
body.fba-page .wp-block-navigation__responsive-container.is-menu-open{z-index:100000}
body.fba-page .wp-site-blocks{background:#FAF8F3}
/* Seitentitel des Themes ausblenden, der Hero bringt die Überschrift mit */
body.fba-page .entry-title,
body.fba-page h1.wp-block-post-title{display:none}
/* Twenty Twenty-Four packt Titel + Spacer in eine eigene Block-Gruppe über dem Inhalt */
body.fba-page main > .wp-block-group:has(.wp-block-post-title),
body.fba-page main > .wp-block-group .wp-block-spacer{display:none!important}
/* Content-Spalte des Themes auf volle Breite ohne Innenabstand */
body.fba-page main,
body.fba-page .entry-content,
body.fba-page .wp-block-post-content{max-width:none!important;padding:0!important;margin:0!important}
body.fba-page main > *:first-child,
body.fba-page .entry-content > *:first-child{margin-top:0!important;padding-top:0!important}
body.fba-page .page-header,
body.fba-page .foton-page-title,
body.fba-page .breadcrumbs{display:none!important}
.fba{margin-top:0}
/* Falls das Theme den Block einschnürt: über den Viewport ausbrechen */
body.fba-page .wp-block-post-content > *{max-width:none}
/* Die Regel oben hatte margin:0 gesetzt und den Ausbruch nach links gekippt.
   translateX zentriert unabhängig von Margins des Containers. */
.fba{position:relative;width:100vw;max-width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw);overflow-x:clip}
body.fba-page{overflow-x:clip}
.fba .fba-wrap{max-width:1400px;margin:56px auto 0;padding:0 40px}
.fba-kicker{display:block;font:800 11px/1 Manrope,sans-serif;letter-spacing:.22em;text-transform:uppercase;color:#6B675E;margin-bottom:8px}
.fba-kicker.is-yellow{color:#FEDC00}
.fba-h2{margin:0;font:900 italic 40px/.95 Saira,sans-serif;text-transform:uppercase;color:#0E0E0E}
.fba-h2.is-light{color:#FAF8F3}
.fba-note{font:400 13px/1.5 Manrope,sans-serif;color:#8A857A}
.fba-hint{display:block;margin-top:14px;font:400 12.5px/1.5 Manrope,sans-serif;color:#8A857A}

/* Hero */
.fba-hero{background:#0E0E0E;color:#FAF8F3;border-bottom:2px solid #0E0E0E}
.fba-hero-inner{max-width:1400px;margin:0 auto;padding:76px 40px 66px;display:flex;flex-direction:column;gap:22px}
.fba-eyebrow-row{display:flex;align-items:center;gap:14px}
.fba-eyebrow{font:800 12px/1 Manrope,sans-serif;letter-spacing:.26em;text-transform:uppercase;color:#FEDC00}
.fba-spin{animation:fbaSpin 9s linear infinite}
@keyframes fbaSpin{to{transform:rotate(360deg)}}
.fba-h1{margin:0;color:#FAF8F3;font:900 italic clamp(52px,8vw,110px)/.88 Saira,sans-serif;text-transform:uppercase;letter-spacing:-.015em}
.fba-h1 span{color:#FEDC00}
.fba-intro{margin:0;max-width:62ch;font:400 17px/1.6 Manrope,sans-serif;color:#C9C3B4;text-wrap:pretty}
.fba-stats{display:flex;gap:34px;flex-wrap:wrap;margin-top:10px}
.fba-stat b{display:block;font:900 italic 40px/1 Saira,sans-serif;color:#FEDC00;font-variant-numeric:tabular-nums}
.fba-stat span{font:800 10px/1 Manrope,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:#8A857A}
.fba-ticker{border-top:2px solid #FEDC00;background:#FEDC00;color:#0E0E0E;overflow:hidden;white-space:nowrap}
.fba-ticker>div{display:inline-flex;width:max-content;animation:fbaTicker 26s linear infinite}
.fba-ticker span{display:inline-block;flex:none;white-space:nowrap;padding:10px 0;font:900 italic 15px/1 Saira,sans-serif;letter-spacing:.08em}
@keyframes fbaTicker{to{transform:translateX(-50%)}}

/* Schwarzweiß bis Hover oder Auswahl */
.fba-media{display:block;width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.06);transition:filter .32s cubic-bezier(.2,.7,.3,1),transform .42s cubic-bezier(.2,.7,.3,1)}
.fba-tile:hover .fba-media{filter:none}
.fba-tile[data-on="1"] .fba-media{filter:none}
.fba-tile[data-on="1"]{outline:3px solid #FEDC00;outline-offset:-3px}

/* Auswahl-Karte */
.fba-select-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:16px}
.fba-counter{font:900 italic 20px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;color:#8A857A}
.fba-card{border:2px solid #0E0E0E;background:#FAF8F3;box-shadow:12px 12px 0 0 #0E0E0E}
.fba-main{display:block}
.fba-panel{position:relative}
.fba-panel[hidden],.fba-filmwrap[hidden],.fba-vslot[hidden]{display:none!important}
.fba-videocol{position:relative;aspect-ratio:16/9;background:#0E0E0E;overflow:hidden}
.fba-vslot{position:absolute;inset:0}
.fba-vslot[hidden]{display:none}
.fba-vswitch{position:absolute;left:14px;bottom:14px;display:flex;gap:6px;z-index:3}
.fba-vswitch button{border:2px solid #0E0E0E;padding:9px 13px;cursor:pointer;font:italic 900 11px/1 Saira,sans-serif;text-transform:uppercase;letter-spacing:.06em;background:rgba(14,14,14,.72);color:#FAF8F3}
.fba-vswitch button.is-on{background:#FEDC00;color:#0E0E0E}
.fba-novideo{width:100%;height:100%;background:#1A1A1A;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px}
.fba-novideo b{font:900 italic 22px/1 Saira,sans-serif;text-transform:uppercase;color:#5E5A52}
.fba-novideo span{font:600 12px/1 Manrope,sans-serif;letter-spacing:.1em;color:#8A857A}
.fba-nr{position:absolute;left:0;top:0;background:#0E0E0E;color:#FEDC00;padding:12px 18px;font:900 italic 26px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;border-right:2px solid #FEDC00;border-bottom:2px solid #FEDC00}
.fba-caption{position:absolute;left:0;bottom:56px;right:30%;flex-wrap:wrap;background:none;padding:0 20px;display:flex;align-items:flex-end;justify-content:flex-start;gap:14px;pointer-events:none}
.fba-videocol::after{content:"";position:absolute;left:0;right:0;bottom:0;height:140px;background:linear-gradient(180deg,transparent,rgba(14,14,14,.72));pointer-events:none}
.fba-name{text-shadow:2px 2px 0 rgba(14,14,14,.6)}
.fba-name{font:900 italic clamp(26px,2.6vw,40px)/.95 Saira,sans-serif;text-transform:uppercase;color:#FAF8F3}
.fba-badge{flex:none;background:#FEDC00;border:2px solid #0E0E0E;color:#0E0E0E;font:800 10px/1 Manrope,sans-serif;letter-spacing:.14em;text-transform:uppercase;padding:8px 10px}
.fba-info{position:absolute;right:0;top:0;bottom:0;width:28%;background:rgba(14,14,14,.62);backdrop-filter:blur(2px);border-left:2px solid #FEDC00;color:#FAF8F3;z-index:2;padding:22px;display:flex;flex-direction:column;gap:16px;overflow-y:auto}
.fba-kurz{margin:0;font:400 13.5px/1.55 Manrope,sans-serif;color:#C9C3B4;text-wrap:pretty}
.fba-scores{display:flex;flex-direction:column;gap:11px}
.fba-score-row{display:grid;grid-template-columns:82px minmax(0,1fr) 40px;align-items:center;gap:10px}
.fba-score-label{font:800 11px/1.2 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase}
.fba-bar{height:13px;border:2px solid #FAF8F3;background:transparent;position:relative}
.fba-bar-fill{position:absolute;top:0;left:0;bottom:0;background:#FEDC00;transition:width .4s cubic-bezier(.2,.7,.3,1)}
.fba-score-val{font:900 italic 14px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;text-align:right}
.fba-map{border:2px solid rgba(250,248,243,.6);display:flex;flex-direction:column;background:rgba(14,14,14,.25);flex:1;min-height:200px;opacity:.72}
.fba-map-frame{position:relative;flex:1;min-height:170px;overflow:hidden;background:#F1ECDF}
.fba-map-canvas{position:absolute;inset:0;z-index:1}
.fba-map-canvas .leaflet-tile-pane{filter:grayscale(1) contrast(1.08)}
.fba-bottle-pin{filter:drop-shadow(2px 3px 0 rgba(14,14,14,.5))}
.fba-map-foot{border-top:2px solid rgba(250,248,243,.6);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:10px;background:rgba(14,14,14,.55)}
.fba-map-foot span{display:block;font:800 9px/1 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8A857A;margin-bottom:3px}
.fba-map-foot b{font:700 12px/1.35 Manrope,sans-serif;color:#FAF8F3}
.fba-map-foot a{flex:none;display:inline-flex;align-items:center;min-height:38px;padding:0 14px;background:#FEDC00;border:2px solid #0E0E0E;color:#0E0E0E;text-decoration:none;font:900 italic 11px/1 Saira,sans-serif;text-transform:uppercase;letter-spacing:.05em}
.fba-map-foot a:hover{background:#0E0E0E;color:#FEDC00}
.fba-facts{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:#0E0E0E;border:2px solid #0E0E0E}
.fba-fact{background:#FAF8F3;padding:12px 14px}
.fba-fact span{display:block;font:800 9px/1 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#6B675E;margin-bottom:4px}
.fba-fact b{font:700 13px/1.35 Manrope,sans-serif}

/* Thumbnails */
.fba-thumbs{display:flex;overflow-x:auto;background:#F1ECDF;border-top:2px solid #0E0E0E}
.fba-thumbs{scrollbar-color:#FEDC00 #0E0E0E}
.fba-thumbs::-webkit-scrollbar{height:8px;background:#0E0E0E}
.fba-thumbs::-webkit-scrollbar-thumb{background:#FEDC00;border:1px solid #0E0E0E}
.fba-thumb{flex:1 0 172px;border:0;border-right:2px solid #0E0E0E;padding:0;background:#0E0E0E;cursor:pointer;position:relative;aspect-ratio:1/1;overflow:hidden}
.fba-thumb-empty{display:block;width:100%;height:100%;background:#1A1A1A}
.fba-thumb-nr{position:absolute;left:0;top:0;background:rgba(14,14,14,.82);color:#FEDC00;font:900 italic 12px/1 Saira,sans-serif;font-variant-numeric:tabular-nums;padding:5px 8px}
.fba-thumb-name{position:absolute;left:0;right:0;bottom:0;background:rgba(14,14,14,.78);color:#FAF8F3;font:800 9.5px/1.25 Manrope,sans-serif;letter-spacing:.1em;text-transform:uppercase;padding:7px 6px}

/* Fotostreifen-Sektion */
.fba-filmsec{margin-top:64px;background:#0E0E0E;border-top:2px solid #0E0E0E;padding-bottom:10px}
.fba-filmsec .fbu-film .fbu-roll:last-child{margin-bottom:0}
.fba-film-head{max-width:1400px;margin:0 auto;padding:34px 40px 18px;display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.fba-filmwrap[hidden]{display:none}

/* Vergleich */
.fba-compare{background:#0E0E0E;border:2px solid #0E0E0E;box-shadow:12px 12px 0 0 #FEDC00;color:#FAF8F3;padding:38px 38px 30px;display:flex;flex-direction:column;gap:22px}
.fba-compare.is-docked{border:0;border-top:2px solid #0E0E0E;box-shadow:none;margin:0}
.fba-compare-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap}
.fba-table-wrap{position:relative}
.fba-table-scroll{overflow-x:auto}
.fba-scrollhint{display:none}
.fba-table{display:grid;grid-template-columns:minmax(190px,1.4fr) repeat(4,minmax(90px,1fr));gap:1px;background:#2C2B27;border:1px solid #2C2B27;min-width:640px}
.fba-th{background:#0E0E0E;padding:12px 14px;font:800 10px/1 Manrope,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:#8A857A}
.fba-cell{border:0;cursor:pointer;text-align:left;padding:12px 14px;background:#0E0E0E;color:#D8D3C8;font:italic 900 15px/1 Saira,sans-serif;font-variant-numeric:tabular-nums}
.fba-cell.is-name{font:800 13px/1.2 Manrope,sans-serif;color:#FAF8F3}
.fba-cell.is-best{background:#FEDC00;color:#0E0E0E}
.fba-cell.is-cur{background:#1F1E1A}
.fba-cell.is-name.is-cur{color:#FEDC00}
.fba-cell.is-best.is-cur{background:#FEDC00;color:#0E0E0E}

/* CTA */
.fba-cta-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:28px;margin-bottom:0}
.fba-cta{border:2px solid #0E0E0E;background:#FAF8F3;box-shadow:10px 10px 0 0 #0E0E0E;padding:34px;display:flex;flex-direction:column;gap:14px}
.fba-cta.is-yellow{background:#FEDC00}
.fba-cta h2{margin:0;font:900 italic 34px/.95 Saira,sans-serif;text-transform:uppercase;color:#0E0E0E}
.fba-cta p{margin:0;font:400 15px/1.6 Manrope,sans-serif;max-width:52ch;text-wrap:pretty;color:#0E0E0E}
.fba-cta a{align-self:flex-start;display:inline-flex;align-items:center;min-height:46px;padding:0 22px;text-decoration:none;font:900 italic 14px/1 Saira,sans-serif;text-transform:uppercase;letter-spacing:.04em;border:2px solid #0E0E0E}
.fba-cta.is-yellow a{background:#0E0E0E;color:#FEDC00}
.fba-cta.is-yellow a:hover{background:#FAF8F3;color:#0E0E0E}
.fba-cta a{background:#FEDC00;color:#0E0E0E;box-shadow:4px 4px 0 0 #0E0E0E}
.fba-cta a:hover{background:#0E0E0E;color:#FEDC00}

/* Mobil */
@media (max-width:980px){
  .fba .fba-wrap{padding:0 14px;margin-top:40px}
  /* Thumbnails über dem Video, damit die Auswahl sichtbar wirkt */
  .fba-card{display:flex;flex-direction:column}
  .fba-thumbs{order:-1;border-top:0;border-bottom:2px solid #0E0E0E}
  .fba-compare-head .fba-h2{font-size:30px;overflow-wrap:anywhere}
  .fba-scrollhint{display:flex;position:absolute;right:0;top:50%;transform:translateY(-50%);z-index:2;width:34px;height:44px;align-items:center;justify-content:center;background:#FEDC00;color:#0E0E0E;border:2px solid #0E0E0E;font:900 italic 22px/1 Saira,sans-serif;pointer-events:none}
  .fba-hero-inner{padding:50px 20px 44px}
  .fba-main{grid-template-columns:44px minmax(0,1fr) 44px}
  .fba-panel{grid-template-columns:1fr}
  .fba-videocol{border-right:0}
  .fba-info{position:static;width:auto;border-left:0;border-top:2px solid #FEDC00;padding:20px 18px}
  .fba-caption{right:0}
  .fba-film-head{padding:26px 20px 14px}
  .fba-cta-grid{grid-template-columns:1fr}
  .fba-compare{padding:24px 18px}
}


/* ============================================================
   HANDSCHUHE — Sektionen (inc/handschuh-sections.php)
   Zwei neue Blöcke: Kennwerte-Leiste und Größenhilfe.
   ============================================================ */

/* ---------- Text-Bild-Sektion, halb/halb ---------- */
.fbu-hs-split{display:grid;grid-template-columns:1fr 1fr;align-items:stretch;border-top:2px solid #000;
  padding:0 var(--g)}
.fbu-hs-split-text{padding:52px clamp(20px,3vw,44px);display:flex;flex-direction:column;gap:16px;justify-content:center}
.fbu-hs-split-text .fbu-eyebrow{letter-spacing:.22em;color:#5C5A53}
.fbu-hs-split-text h2{font:900 italic 40px/.96 Saira,sans-serif;text-transform:uppercase;margin:0}
.fbu-hs-split-text p{font-size:15.5px;line-height:1.65;max-width:48ch;text-wrap:pretty}
.fbu-hs-split-text .fbu-hs-strong{font-weight:700;color:var(--k)}
.fbu-hs-split-art{min-height:420px;overflow:hidden}
.fbu-hs-split-art img{width:100%;height:100%;object-fit:cover;display:block}
.fbu-hs-split.fbu-dark{background:var(--k)}
.fbu-hs-split.fbu-dark .fbu-eyebrow{color:var(--y)}
.fbu-hs-split.fbu-dark h2{color:#fff}
.fbu-hs-split.fbu-dark p{color:var(--txt)}
.fbu-hs-split.fbu-dark .fbu-chip{border-color:var(--y);color:var(--y)}
.fbu-hs-flip .fbu-hs-split-text{order:1}
.fbu-hs-flip .fbu-hs-split-art{order:2;border-left:1px solid #D9D4C6}
.fbu-hs-made{font:900 italic 16px/1 Saira,sans-serif;letter-spacing:.08em;text-transform:uppercase;
  border-bottom:3px solid var(--y);align-self:flex-start;padding-bottom:4px;margin-top:6px}

/* ---------- Kennwerte-Leiste ---------- */
.fbu-kenn{display:grid;grid-template-columns:repeat(3,1fr);padding:0 var(--g);background:var(--k);
  border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.fbu-kenn-item{display:flex;flex-direction:column;gap:14px;padding:34px 34px 36px}
.fbu-kenn-item + .fbu-kenn-item{border-left:1px solid var(--line)}
.fbu-kenn-item img{width:38px;height:38px;object-fit:contain;object-position:left;flex:none}
.fbu-kenn-noicon{width:38px;height:38px;flex:none;border:2px solid var(--line)}
.fbu-kenn-k{font:900 10px/1 Saira,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--mut);margin-bottom:8px}
.fbu-kenn-v{font-family:Saira,sans-serif;font-style:italic;font-weight:900;font-size:24px;line-height:1.05;
  text-transform:uppercase;color:#fff;text-wrap:balance}

/* ---------- Größenhilfe M/L ---------- */
.fbu-groesse.fbu-dark{background:var(--k)}
.fbu-groesse-head{display:flex;align-items:baseline;gap:18px;margin-bottom:30px}
.fbu-groesse-head .fbu-eyebrow{color:var(--y);letter-spacing:.22em}
.fbu-groesse-head span{height:1px;flex:1;background:var(--line)}
.fbu-groesse-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.fbu-groesse-card{border:2px solid var(--line);background:var(--k2);padding:32px 30px 34px;
  display:flex;flex-direction:column;gap:14px}
.fbu-groesse-card p{margin:0;font-size:15px;line-height:1.65;color:var(--txt)}
.fbu-groesse-let{font:900 italic 64px/1 Saira,sans-serif;color:#fff}
.fbu-groesse-lab{font:900 11px/1 Saira,sans-serif;letter-spacing:.16em;text-transform:uppercase;color:var(--mut)}
.fbu-groesse-card-y{border-color:var(--y);background:var(--y);box-shadow:10px 10px 0 rgba(254,220,0,.24)}
.fbu-groesse-card-y .fbu-groesse-let{color:var(--k)}
.fbu-groesse-card-y .fbu-groesse-lab{color:var(--k);opacity:.7}
.fbu-groesse-card-y p{color:var(--k);font-weight:600}
.fbu-groesse-facts{margin-top:22px;display:flex;gap:34px;flex-wrap:wrap;border-top:1px solid var(--line);
  padding-top:18px;font:700 12px/1.5 Manrope,sans-serif;color:var(--mut)}
.fbu-groesse-facts b{color:#fff}

@media (max-width:1000px){
  .fbu-hs-split{grid-template-columns:1fr}
  .fbu-hs-split-art{min-height:300px;border-left:0}
  .fbu-hs-flip .fbu-hs-split-art{border-left:0}
  .fbu-kenn{grid-template-columns:1fr}
  .fbu-kenn-item + .fbu-kenn-item{border-left:0;border-top:1px solid #D9D4C6}
  .fbu-groesse-cards{grid-template-columns:1fr}
}
@media (max-width:640px){
  .fbu-hs-split-text h2{font-size:32px}
  .fbu-groesse-let{font-size:48px}
}


/* ---------- Variantenkarten ohne Bild (Größe M/L) ---------- */
.fbu-bags-text{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px;width:100%}
.fbu-bags-text .fbu-bag{width:100%;min-height:62px;padding:12px 18px;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:4px}
.fbu-bags-text .fbu-bag-name{font:900 17px/1 Saira,sans-serif;letter-spacing:.08em}
.fbu-bags-text .fbu-bag-price{font-size:12.5px}
.fbu-bags-text .fbu-ribbon{position:static;transform:none;margin-bottom:2px}

/* Text-Bild-Sektionen: Innenabstand links wegnehmen, damit die Schrift
   auf der gleichen Kante wie die Kaufzone sitzt. */
.fbu-hs-split:not(.fbu-hs-flip) .fbu-hs-split-text{padding-left:0}
.fbu-hs-flip .fbu-hs-split-text{padding-left:0}
@media (max-width:1000px){
  .fbu-hs-split{padding:0}
  .fbu-hs-split-text,
  .fbu-hs-split:not(.fbu-hs-flip) .fbu-hs-split-text,
  .fbu-hs-flip .fbu-hs-split-text{padding:44px var(--g)}
}


/* Kennwerte-Leiste in Schwarz: Icons sind gelbe Linienzeichnungen und
   brauchen keine Invertierung. */
.fbu-kenn img{filter:none}
@media (max-width:640px){
  .fbu-kenn-item{padding:26px var(--g) 28px}
  .fbu-kenn-v{font-size:21px}
}
