/* VfL Nauen – Fanshop (WooCommerce) im Vereinsdesign */
:root { --vb: #0B3B8C; --vbd: #072A66; --vbm: #1F5BC4; --vbh: #E8EFFA; --vt: #14213D; --vg: #5B6B85; --vl: #D7E0EE; --vpink: #2D7FF9; }

/* Kopf der Shopseiten */
.woocommerce-breadcrumb, .wc-block-breadcrumbs { margin-top: 26px !important; font-size: 13.5px !important; font-weight: 700; color: var(--vg) !important; }
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { color: var(--vb) !important; text-decoration: none !important; }
body.woocommerce-shop .wp-block-query-title, body.tax-product_cat .wp-block-query-title, body.woocommerce-shop h1.page-title { font-style: italic; font-weight: 900; }
body.woocommerce-shop .wp-block-query-title::after, body.tax-product_cat .wp-block-query-title::after { content: ""; display: block; width: 70px; height: 5px; margin-top: 10px; border-radius: 4px; background: linear-gradient(90deg, var(--vb), var(--vakzent, var(--vpink))); }
.woocommerce-result-count, .wc-block-product-results-count { color: var(--vg); font-size: 14px; }
.woocommerce-ordering select, .wc-block-catalog-sorting select { padding: 8px 12px; border: 1px solid var(--vl); border-radius: 12px; background: #fff; font: inherit; font-size: 14px; }

/* Artikelkacheln */
.wc-block-product-template > li, ul.products li.product, .wc-block-grid__product { background: #fff; border: 1px solid var(--vl); border-radius: 22px; overflow: hidden; padding: 0 0 18px !important; transition: transform .2s, box-shadow .2s; }
.wc-block-product-template > li:hover, ul.products li.product:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(7, 42, 102, .12); }
.wc-block-product-template > li img, ul.products li.product img { border-radius: 0 !important; margin-bottom: 12px !important; }
.wc-block-product-template h2, .wc-block-product-template h3, .wc-block-product-template .wp-block-post-title, ul.products li.product .woocommerce-loop-product__title { padding: 0 14px; font-size: 16px !important; line-height: 1.25; }
.wc-block-product-template .wp-block-post-title a, ul.products li.product a { color: var(--vt) !important; text-decoration: none !important; }
.wc-block-components-product-price, .woocommerce-Price-amount { color: var(--vb); font-weight: 900; }
.wc-block-product-template .wc-block-components-product-price { font-size: 17px !important; }
.wc-block-components-product-button .wp-block-button__link, .wc-block-components-product-button__button, a.button.add_to_cart_button, .single_add_to_cart_button, .wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button, .woocommerce button.button.alt { border-radius: 999px !important; background: var(--vb) !important; color: #fff !important; font-weight: 800 !important; border: 0 !important; padding: 12px 22px !important; transition: background .15s, transform .15s; }
.wc-block-components-product-button .wp-block-button__link:hover, .single_add_to_cart_button:hover, .wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--vakzent, var(--vpink)) !important; transform: translateY(-1px); }
.single_add_to_cart_button.disabled, .single_add_to_cart_button:disabled { opacity: .55; }
.wc-block-components-product-sale-badge, span.onsale { background: var(--vakzent, var(--vpink)) !important; color: #fff !important; border: 0 !important; border-radius: 999px !important; }

/* Artikelseite */
.single-product .wp-block-post-title, .single-product .product_title { font-style: italic; font-weight: 900; font-size: clamp(2rem, 4vw, 3rem) !important; }
.single-product .woocommerce-product-gallery, .single-product .wp-block-woocommerce-product-image-gallery img { border-radius: 24px; overflow: hidden; }
.single-product .wp-block-woocommerce-product-price, .single-product p.price { font-size: 22px !important; }
.woocommerce div.product form.cart .variations { margin-bottom: 14px; }
.woocommerce div.product form.cart .variations th, .woocommerce div.product form.cart .variations td { padding: 4px 10px 4px 0; vertical-align: middle; }
.variations select, form.cart .quantity input.qty, .vfl-flock input[type=text], .vfl-flock input:not([type]), .vfl-flock input[inputmode] { padding: 11px 14px !important; border: 1px solid var(--vl) !important; border-radius: 14px !important; background: #fff; font: inherit; font-size: 15px; min-height: 46px; }
.variations select { min-width: 200px; }
.reset_variations { margin-left: 10px; font-size: 13px; color: var(--vg); }
.vfl-flock { display: grid; grid-template-columns: 1fr 120px; gap: 12px; margin: 6px 0 18px; padding: 16px 18px; border: 0; border-radius: 18px; background: var(--vbh); max-width: 520px; }
.vfl-flock legend { float: left; width: 100%; grid-column: 1 / -1; padding: 0; margin: 0 0 2px; font-weight: 900; color: var(--vbd); }
.vfl-flock legend::before { content: "★ "; color: var(--vakzent, var(--vpink)); }
.vfl-flock p { display: grid; gap: 5px; margin: 0; }
.vfl-flock label { font-size: 13px; font-weight: 800; color: var(--vg); }
.vfl-flock input:not([type=radio]) { width: 100%; text-transform: uppercase; font-weight: 800; }
form.cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
form.cart .single_variation_wrap { width: 100%; }
form.variations_form.cart { display: block; }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; }
.woocommerce-variation-add-to-cart .vfl-flock { width: 100%; }
.woocommerce-tabs .tabs, .wc-tabs { border-bottom: 1px solid var(--vl) !important; }
.woocommerce-tabs .tabs li a, .wc-tabs li a { font-weight: 800; }
.product_meta, .wp-block-woocommerce-product-meta { font-size: 14px; color: var(--vg); }
.product_meta a { color: var(--vb); }

/* Warenkorb & Kasse */
.wc-block-cart, .wc-block-checkout { margin-top: 26px; }
.wc-block-components-sidebar, .wc-block-cart__sidebar { background: #fff; border: 1px solid var(--vl); border-radius: 22px; padding: 18px !important; }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select .wc-blocks-components-select__select { border-radius: 14px !important; border-color: var(--vl) !important; }
.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option { border-radius: 14px !important; }
.wc-block-components-notice-banner { border-radius: 16px !important; }
.woocommerce-message, .woocommerce-info { border-top-color: var(--vb) !important; border-radius: 14px; background: #fff; }
.woocommerce-message .button, .woocommerce-info .button { border-radius: 999px; background: var(--vb); color: #fff; }

/* Teaser auf der Startseite: [vfl_shop_teaser] */
.vfl-shop-teaser-kopf { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; flex-wrap: wrap; margin-bottom: 22px; }
.vfl-shop-teaser-kopf h2 { margin: 6px 0 6px; }
.vfl-shop-teaser-kopf p { margin: 0; color: var(--vg); max-width: 560px; }
.vfl-shop-teaser-kopf .vfl-chip { margin: 0; }
.vfl-shop-alle { padding: 12px 22px; border-radius: 999px; background: var(--vakzent, var(--vpink)); color: #fff !important; font-weight: 800; text-decoration: none !important; white-space: nowrap; box-shadow: 0 10px 24px color-mix(in srgb, var(--vakzent, #2D7FF9) 30%, transparent); }
.vfl-shop-alle:hover { background: var(--vb); }
.vfl-shop-raster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; }
.vfl-shop-raster a { display: grid; gap: 4px; height: 100%; padding-bottom: 16px; background: #fff; border: 1px solid var(--vl); border-radius: 22px; overflow: hidden; text-decoration: none !important; color: var(--vt); transition: transform .2s, box-shadow .2s; }
.vfl-shop-raster a:hover { transform: translateY(-4px); box-shadow: 0 18px 40px rgba(7, 42, 102, .12); }
.vfl-shop-bild img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; }
.vfl-shop-raster b { padding: 10px 16px 0; font-size: 15.5px; line-height: 1.25; }
.vfl-shop-preis { padding: 0 16px; font-size: 15px; }
@media (max-width: 900px) { .vfl-shop-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.vfl-shop-teaser .vfl-akzent { color: var(--vbd) !important; }

/* Pink nur bei den Frauen: Seiten, App und Verwaltung der Frauenmannschaft */
.vfl-frauen, .vfl-frauen .vfl-app, .vfl-frauen .vfl-v { --pink: #E8317F; --vpink: #E8317F; --vakzent: #E8317F; --akzent: #E8317F; }

/* =================================================================
   1.2 – Fanshop-Startseite im Stil großer Vereinsshops
   ================================================================= */
.vfl-fs { --fs-navy: #0A2A6E; --fs-blau: #1F4CB0; --fs-akzent: var(--vakzent, #2D7FF9); --fs-grau: #F2F5FA; --fs-text: #14213D; --fs-o: "Oswald", "Arial Narrow", sans-serif; color: var(--fs-text); margin-top: 18px; }
.vfl-fs-main { margin-top: 0 !important; }
.vfl-fs-innen { max-width: 1760px; margin: 0 auto; padding: 0 clamp(16px, 3vw, 32px); }
.vfl-fs h1, .vfl-fs h2 { font-family: var(--fs-o); text-transform: uppercase; letter-spacing: .01em; font-style: normal; color: var(--fs-navy); margin: 0; }

/* Aktionsleiste */
.vfl-fs-aktion { background: var(--fs-navy); color: #fff; overflow: hidden; font-size: 13.5px; font-weight: 700; }
.vfl-fs-aktion-spur { display: flex; justify-content: center; gap: 36px; padding: 10px 16px; white-space: nowrap; }
@media (max-width: 900px) { .vfl-fs-aktion-spur { justify-content: flex-start; width: max-content; animation: vfl-fs-lauf 26s linear infinite; } .vfl-fs-aktion-spur span:nth-child(n+3) { display: inline; } }
@keyframes vfl-fs-lauf { to { transform: translateX(-50%); } }

/* Hero */
.vfl-fs-hero { position: relative; display: flex; align-items: center; min-height: clamp(420px, 46vw, 620px); padding: clamp(28px, 5vw, 70px) clamp(16px, 5vw, 80px); background: var(--bild) right center / cover no-repeat, var(--fs-navy); color: #fff; overflow: hidden; }
.vfl-fs-hero::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 42, 110, .92) 0%, rgba(10, 42, 110, .55) 42%, rgba(10, 42, 110, 0) 70%); }
.vfl-fs-hero-text { position: relative; z-index: 1; max-width: 560px; }
.vfl-fs-eyebrow { margin: 0 0 10px; font-family: var(--fs-o); font-weight: 500; font-size: 15px; letter-spacing: .14em; text-transform: uppercase; color: #9CC9FF; }
.vfl-fs-hero h1 { color: #fff; font-size: clamp(3rem, 7.4vw, 6.4rem); line-height: .92; font-weight: 700; }
.vfl-fs-hero h1 span { display: block; font-size: .48em; font-weight: 500; letter-spacing: .06em; color: #CFE0FF; }
.vfl-fs-hero-text > p:not(.vfl-fs-eyebrow):not(.vfl-fs-knoepfe) { font-size: 1.15rem; line-height: 1.55; color: #DCE7FA; margin: 18px 0 0; }
.vfl-fs-knoepfe { display: flex; flex-wrap: wrap; gap: 12px; margin: 26px 0 0; }
.vfl-fs-knopf { display: inline-flex; align-items: center; gap: 8px; padding: 15px 26px; border-radius: 4px; background: #fff; color: var(--fs-navy) !important; font-family: var(--fs-o); font-size: 17px; font-weight: 600; text-transform: uppercase; letter-spacing: .05em; text-decoration: none !important; transition: transform .15s, background .15s, color .15s; }
.vfl-fs-knopf:hover { transform: translateY(-2px); background: var(--fs-akzent); color: #fff !important; }
.vfl-fs-knopf--hell { background: transparent; color: #fff !important; box-shadow: inset 0 0 0 2px #fff; }
.vfl-fs-knopf--hell:hover { background: #fff; color: var(--fs-navy) !important; }
@media (max-width: 700px) { .vfl-fs-hero { align-items: flex-end; min-height: 560px; background-position: 70% 20%; background-size: auto 70%; } .vfl-fs-hero::after { background: linear-gradient(0deg, rgba(10, 42, 110, .98) 38%, rgba(10, 42, 110, .2) 75%); } }

/* Kategorie-Kacheln */
.vfl-fs-kacheln { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 26px 0 10px; }
.vfl-fs-kachel { position: relative; display: block; aspect-ratio: 3 / 4; overflow: hidden; border-radius: 6px; background: var(--fs-grau); text-decoration: none !important; }
.vfl-fs-kachel img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s cubic-bezier(.2, .7, .2, 1); }
.vfl-fs-kachel:hover img { transform: scale(1.07); }
.vfl-fs-kachel span { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 14px 12px; background: linear-gradient(0deg, rgba(10, 42, 110, .92), rgba(10, 42, 110, 0)); color: #fff; font-family: var(--fs-o); font-size: 20px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em; }
.vfl-fs-kachel span small { display: block; font-family: inherit; font-size: 12px; font-weight: 400; letter-spacing: .08em; opacity: .8; }
.vfl-fs-kachel.vfl-frauen span { background: linear-gradient(0deg, rgba(194, 24, 91, .92), rgba(194, 24, 91, 0)); }
@media (max-width: 1000px) { .vfl-fs-kacheln { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 520px) { .vfl-fs-kacheln { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; } .vfl-fs-kachel { aspect-ratio: 1; } }

/* Reihen & Raster */
.vfl-fs-reihe, .vfl-fs-alle { margin: 44px 0 0; }
.vfl-fs-reihe-kopf { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; margin-bottom: 16px; }
.vfl-fs-reihe-kopf h2 { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.vfl-fs-reihe-kopf a { font-family: var(--fs-o); font-size: 16px; font-weight: 500; text-transform: uppercase; letter-spacing: .06em; color: var(--fs-navy) !important; text-decoration: none; }
.vfl-fs-raster { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px 18px; }
.vfl-fs-scroll { grid-auto-flow: column; grid-auto-columns: calc((100% - 54px) / 4); grid-template-columns: none; overflow-x: auto; scroll-snap-type: x mandatory; padding-bottom: 10px; scrollbar-width: thin; }
.vfl-fs-scroll > * { scroll-snap-align: start; }
@media (max-width: 1000px) { .vfl-fs-raster { grid-template-columns: repeat(3, minmax(0, 1fr)); } .vfl-fs-scroll { grid-auto-columns: calc((100% - 36px) / 3); } }
@media (max-width: 640px) { .vfl-fs-raster { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 22px 10px; } .vfl-fs-scroll { grid-auto-columns: 62%; } }

/* Artikelkarte */
.vfl-fs-karte { display: block; color: var(--fs-text) !important; text-decoration: none !important; }
.vfl-fs-bild { position: relative; display: block; aspect-ratio: 1; overflow: hidden; border-radius: 6px; background: var(--fs-grau); }
.vfl-fs-bild img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: opacity .35s, transform .5s cubic-bezier(.2, .7, .2, 1); }
.vfl-fs-b2 { opacity: 0; }
.vfl-fs-karte.hat-zweit:hover .vfl-fs-b1 { opacity: 0; }
.vfl-fs-karte.hat-zweit:hover .vfl-fs-b2 { opacity: 1; }
.vfl-fs-karte:not(.hat-zweit):hover .vfl-fs-b1 { transform: scale(1.05); }
.vfl-fs-badge { position: absolute; top: 10px; left: 10px; padding: 4px 10px; border-radius: 3px; background: var(--fs-navy); color: #fff; font-family: var(--fs-o); font-style: normal; font-size: 13px; font-weight: 600; text-transform: uppercase; letter-spacing: .06em; }
.vfl-fs-badge.ist-sale { background: #D9312B; }
.vfl-frauen .vfl-fs-badge { background: #E8317F; }
.vfl-fs-schnell { position: absolute; left: 10px; right: 10px; bottom: 10px; padding: 10px; border-radius: 4px; background: rgba(255, 255, 255, .95); color: var(--fs-navy); font-family: var(--fs-o); font-size: 15px; font-weight: 600; text-align: center; text-transform: uppercase; letter-spacing: .06em; opacity: 0; transform: translateY(8px); transition: opacity .2s, transform .2s; }
.vfl-fs-karte:hover .vfl-fs-schnell { opacity: 1; transform: none; }
@media (hover: none) { .vfl-fs-schnell { display: none; } }
.vfl-fs-info { display: grid; gap: 3px; padding: 12px 2px 0; }
.vfl-fs-info small { font-size: 12px; font-weight: 800; text-transform: uppercase; letter-spacing: .08em; color: #6B7A93; }
.vfl-fs-info b { font-size: 16px; font-weight: 800; line-height: 1.3; }
.vfl-fs-preis { font-size: 16px; font-weight: 800; color: var(--fs-navy); }
.vfl-fs-preis .woocommerce-Price-amount { color: inherit; }
.vfl-fs-preis del { color: #8A97AE; font-weight: 600; margin-right: 6px; }
.vfl-fs-preis ins { text-decoration: none; color: #D9312B; }
.vfl-fs-meta { font-size: 13px; color: #6B7A93; }

/* Beflockungs-Band */
.vfl-fs-flock-band { display: grid; grid-template-columns: 1.05fr 1fr; align-items: center; gap: 30px; margin: 56px 0 0; padding: clamp(24px, 4vw, 54px); border-radius: 8px; background: linear-gradient(135deg, #0A2A6E, #1F4CB0); color: #fff; overflow: hidden; }
.vfl-fs-flock-band h2 { color: #fff; font-size: clamp(2.4rem, 5vw, 4.2rem); line-height: .95; }
.vfl-fs-flock-text p:not(.vfl-fs-eyebrow) { color: #DCE7FA; font-size: 1.08rem; line-height: 1.6; margin: 16px 0 24px; }
.vfl-fs-flock-band img { width: 100%; max-width: 460px; justify-self: center; border-radius: 50%; background: #fff; box-shadow: 0 30px 60px rgba(0, 0, 0, .3); }
@media (max-width: 800px) { .vfl-fs-flock-band { grid-template-columns: 1fr; } .vfl-fs-flock-band img { max-width: 300px; } }

/* Kollektionen */
.vfl-fs-duo { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 44px 0 0; }
.vfl-fs-duo-karte { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: center; min-height: 260px; padding: 26px; border-radius: 8px; overflow: hidden; color: #fff !important; text-decoration: none !important; background: linear-gradient(135deg, #0A2A6E, #2350B5); }
.vfl-fs-duo-karte.vfl-frauen { background: linear-gradient(135deg, #B0124F, #E8317F); }
.vfl-fs-duo-karte small { display: block; font-family: var(--fs-o); font-size: 14px; letter-spacing: .14em; text-transform: uppercase; opacity: .85; }
.vfl-fs-duo-karte b { display: block; margin: 8px 0 14px; font-family: var(--fs-o); font-size: clamp(1.6rem, 2.6vw, 2.3rem); line-height: 1; font-weight: 700; text-transform: uppercase; }
.vfl-fs-duo-karte em { font-style: normal; font-family: var(--fs-o); font-size: 16px; text-transform: uppercase; letter-spacing: .06em; border-bottom: 2px solid #fff; }
.vfl-fs-duo-karte img { width: 100%; border-radius: 50%; transition: transform .5s; }
.vfl-fs-duo-karte:hover img { transform: scale(1.05) rotate(-2deg); }
@media (max-width: 800px) { .vfl-fs-duo { grid-template-columns: 1fr; } }

/* Filterleiste */
.vfl-fs-filter { position: sticky; top: 0; z-index: 5; display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 0 0 20px; padding: 10px 0; background: var(--wp--preset--color--hintergrund, #F4F7FC); border-bottom: 1px solid #DCE3EF; }
.vfl-fs-chips { display: flex; gap: 8px; overflow-x: auto; scrollbar-width: none; }
.vfl-fs-chips a { flex: none; padding: 8px 16px; border-radius: 999px; background: #fff; border: 1px solid #D5DEEE; color: var(--fs-navy) !important; font-family: var(--fs-o); font-size: 15px; font-weight: 500; text-transform: uppercase; letter-spacing: .04em; text-decoration: none !important; }
.vfl-fs-chips a.ist-aktiv, .vfl-fs-chips a:hover { background: var(--fs-navy); border-color: var(--fs-navy); color: #fff !important; }
.vfl-fs-chips a.vfl-fs-chip-sale { color: #D9312B !important; border-color: #F2B8B5; }
.vfl-fs-chips a.vfl-fs-chip-sale.ist-aktiv { background: #D9312B; color: #fff !important; }
.vfl-fs-sort { display: flex; align-items: center; gap: 8px; margin: 0; }
.vfl-fs-sort label { font-size: 13px; font-weight: 800; color: #6B7A93; }
.vfl-fs-sort select { padding: 8px 12px; border: 1px solid #D5DEEE; border-radius: 6px; background: #fff; font: inherit; font-size: 14px; }

/* Kopf der Kategorie-Seiten */
.vfl-fs-kopf { max-width: 1760px; margin: 0 auto; padding: 30px clamp(16px, 3vw, 32px) 18px; }
.vfl-fs-kopf h1 { font-size: clamp(2.4rem, 5vw, 4rem); line-height: 1; }
.vfl-fs-kopf p { max-width: 640px; margin: 10px 0 0; color: #4A5A75; font-size: 1.05rem; }
.vfl-fs-kopf small { display: block; margin-top: 8px; color: #6B7A93; font-weight: 700; }
.vfl-fs-kopf.vfl-frauen h1 { color: #C2185B; }
.vfl-fs-pfad { margin-bottom: 10px; font-size: 13px; font-weight: 700; color: #6B7A93; }
.vfl-fs-pfad a { color: var(--fs-navy) !important; text-decoration: none; }

/* Vorteile */
.vfl-fs-usp { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 56px 0 50px; padding: 26px 0; border-top: 1px solid #DCE3EF; list-style: none; }
.vfl-fs-usp li { display: flex; align-items: center; gap: 12px; color: var(--fs-navy); }
.vfl-fs-usp b { display: block; font-family: var(--fs-o); font-size: 16px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; }
.vfl-fs-usp small { color: #6B7A93; font-size: 13px; }
@media (max-width: 800px) { .vfl-fs-usp { grid-template-columns: 1fr 1fr; } }
.vfl-fs-leer { padding: 40px; text-align: center; color: #6B7A93; }

/* ---------------------------------------------------------------- Artikelseite */
.single-product .wp-block-woocommerce-product-image-gallery, .single-product .woocommerce-product-gallery { background: var(--vbh, #F2F5FA); border-radius: 8px; }
.single-product .flex-control-thumbs { display: flex; gap: 10px; margin-top: 10px !important; }
.single-product .flex-control-thumbs li { width: 80px !important; }
.single-product .flex-control-thumbs img { border-radius: 6px; opacity: .6; }
.single-product .flex-control-thumbs img.flex-active, .single-product .flex-control-thumbs img:hover { opacity: 1; }
.single-product .wp-block-post-title { font-family: "Oswald", "Arial Narrow", sans-serif !important; text-transform: uppercase; font-weight: 700 !important; letter-spacing: .01em !important; }
.vfl-gr-versteckt { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none; }
.woocommerce div.product form.cart .variations td.value { position: relative; }
.woocommerce div.product form.cart .variations th.label { display: block; padding-bottom: 6px; }
.woocommerce div.product form.cart .variations tr { display: block; }
.vfl-gr-knoepfe { display: flex; flex-wrap: wrap; gap: 8px; margin: 4px 0 6px; }
.vfl-gr-knoepfe button { min-width: 56px; padding: 11px 12px; border: 1.5px solid #C9D4E7; border-radius: 4px; background: #fff; color: var(--vbd, #072A66); font: inherit; font-weight: 800; font-size: 14px; cursor: pointer; transition: border-color .15s, background .15s; }
.vfl-gr-knoepfe button:hover { border-color: var(--vbd, #072A66); }
.vfl-gr-knoepfe button.ist-aktiv { background: var(--vbd, #072A66); border-color: var(--vbd, #072A66); color: #fff; }
.vfl-gr-knoepfe button:disabled { opacity: .35; text-decoration: line-through; cursor: not-allowed; }
.vfl-flock--plus { display: grid; grid-template-columns: 1fr 190px; gap: 14px 18px; max-width: 620px; padding: 18px; border: 1.5px solid #D5DEEE; border-radius: 8px; background: #fff; }
.vfl-flock--plus legend { grid-column: 1 / -1; font-family: "Oswald", "Arial Narrow", sans-serif; font-size: 19px; font-weight: 600; text-transform: uppercase; letter-spacing: .03em; color: var(--vbd, #072A66); }
.vfl-flock--plus legend::before { content: none; }
.vfl-flock--plus legend small { font-family: "Nunito Sans", sans-serif; font-size: 13px; font-weight: 700; text-transform: none; letter-spacing: 0; color: #6B7A93; margin-left: 6px; }
.vfl-flock-wahl { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 8px; }
.vfl-flock-wahl label { display: inline-flex; align-items: center; gap: 6px; padding: 9px 14px; border: 1.5px solid #C9D4E7; border-radius: 4px; font-weight: 800; font-size: 14px; cursor: pointer; }
.vfl-flock-wahl label:has(input:checked) { border-color: var(--vbd, #072A66); background: var(--vbh, #E8EFFA); }
.vfl-flock-wahl input { accent-color: var(--vbd, #072A66); }
.vfl-flock-felder { display: grid; gap: 10px; align-content: start; }
.vfl-flock-felder p { display: grid; gap: 4px; margin: 0; }
.vfl-flock-felder label { font-size: 13px; font-weight: 800; color: #5B6B85; }
.vfl-flock-felder select { padding: 10px; border: 1px solid #D5DEEE; border-radius: 6px; font: inherit; }
.vfl-flock-felder input[readonly] { background: #F4F7FC; }
.vfl-flock-vorschau { display: grid; gap: 4px; justify-items: center; align-content: start; transition: opacity .2s; }
.vfl-flock-vorschau.ist-aus { opacity: .45; }
.vfl-flock-vorschau svg { width: 100%; filter: drop-shadow(0 10px 18px rgba(7, 42, 102, .18)); }
.vfl-flock-vorschau small { font-size: 12px; color: #6B7A93; font-weight: 700; }
.vfl-fv-name { font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 700; font-size: 66px; letter-spacing: 4px; }
.vfl-fv-nr { font-family: "Oswald", "Arial Narrow", sans-serif; font-weight: 700; font-size: 270px; }
@media (max-width: 560px) { .vfl-flock--plus { grid-template-columns: 1fr; } .vfl-flock-vorschau { max-width: 220px; justify-self: center; } }
.vfl-fs-kauf-usp { margin: 18px 0 0; padding: 14px 16px; list-style: none; border-radius: 8px; background: var(--vbh, #E8EFFA); display: grid; gap: 6px; font-size: 14px; font-weight: 700; color: var(--vbd, #072A66); }
.vfl-fs-groessen { margin: 12px 0 0; font-size: 14px; }
.vfl-fs-groessen summary { cursor: pointer; font-weight: 800; color: var(--vbd, #072A66); }
.vfl-fs-groessen table { width: 100%; margin: 10px 0; border-collapse: collapse; }
.vfl-fs-groessen th, .vfl-fs-groessen td { padding: 6px 8px; border-bottom: 1px solid #DCE3EF; text-align: left; }
.single-product .single_add_to_cart_button { border-radius: 4px !important; font-family: "Oswald", "Arial Narrow", sans-serif !important; text-transform: uppercase; letter-spacing: .06em; font-size: 17px !important; padding: 15px 30px !important; }
.vfl-fs-reihe { min-width: 0; } .vfl-fs-raster.vfl-fs-scroll { display: grid; width: 100%; max-width: 100%; overflow-x: auto !important; overscroll-behavior-x: contain; }
.vfl-fs-raster.vfl-fs-scroll { display: flex; gap: 18px; } .vfl-fs-raster.vfl-fs-scroll > * { flex: 0 0 calc((100% - 54px) / 4); min-width: 0; } @media (max-width: 1000px) { .vfl-fs-raster.vfl-fs-scroll > * { flex-basis: calc((100% - 36px) / 3); } } @media (max-width: 640px) { .vfl-fs-raster.vfl-fs-scroll > * { flex-basis: 62%; } }
.vfl-fs-raster.vfl-fs-scroll { contain: paint; }
.vfl-flock-wahl input[type=radio] { width: 16px; height: 16px; margin: 0; padding: 0; min-height: 0; } .single-product .wp-block-post-title, .single-product .product_title { font-style: normal !important; }
