/*
Theme Name: Claudius Fabig – Bühne
Theme URI: https://claudiusfabig.de/
Author: HAMACON UG (haftungsbeschränkt)
Author URI: https://hamacon.de/
Description: Schlankes Theme für claudiusfabig.de nach Designrichtung A „Bühne“ – dunkel, Bernstein, große Versalien. Ohne Page-Builder: Seiten werden mit dem Block-Editor und den Block-Stilen „Bühne: …“ gepflegt. Enthält WooCommerce-Anpassungen für Shop und Buch-Detail.
Version: 1.0.0
Requires at least: 6.5
Requires PHP: 8.1
License: Proprietary
Text Domain: claudius-buehne
WC requires at least: 8.0
*/

/* ---------- Schriften (lokal, DSGVO) ---------- */
@font-face{font-family:'Archivo';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/archivo-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:700;font-display:swap;src:url(assets/fonts/archivo-latin-700-normal.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-style:normal;font-weight:900;font-display:swap;src:url(assets/fonts/archivo-latin-900-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url(assets/fonts/inter-latin-400-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url(assets/fonts/inter-latin-500-normal.woff2) format('woff2')}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url(assets/fonts/inter-latin-600-normal.woff2) format('woff2')}

/* ---------- Farben & Grundwerte ---------- */
:root{
	--cf-bg:#111214;
	--cf-bg-alt:#1A1B1F;
	--cf-bg-raised:#24252A;
	--cf-text:#F4F1EA;
	--cf-muted:#CFC9BD;
	--cf-muted-2:#A9A397;
	--cf-nav:#D8D3C8;
	--cf-line:#3A3B40;
	--cf-border:#5A564E;
	--cf-amber:#F2A93B;
	--cf-amber-hover:#FFC76B;
	--cf-error:#FF8A80;
	--cf-display:'Archivo',system-ui,sans-serif;
	--cf-body:'Inter',system-ui,sans-serif;
	--cf-pad-x:max(32px,calc((100% - 1136px) / 2));
	--cf-pad-y:96px;
	--cf-radius:4px;
	color-scheme:dark;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;overflow-x:clip}
body{margin:0;background:var(--cf-bg);color:var(--cf-text);font-family:var(--cf-body);font-size:17px;line-height:1.6;overflow-x:clip}
img,video,iframe{max-width:100%;height:auto}
a{color:var(--cf-amber);text-underline-offset:3px}
a:hover{color:var(--cf-amber-hover)}
:focus-visible{outline:2px solid var(--cf-amber);outline-offset:3px}
p{margin:0}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;width:auto;z-index:100000;background:var(--cf-amber);color:var(--cf-bg);padding:12px 20px;top:8px;left:8px}

h1,h2,h3,h4{margin:0;color:inherit;overflow-wrap:break-word;hyphens:manual}
.wp-block-columns.is-style-hero h1{font-size:clamp(40px,5.4vw,76px)}
@media (max-width:640px){h1,h2{hyphens:auto}}
h1{font-family:var(--cf-display);font-weight:900;font-size:clamp(44px,7vw,84px);line-height:.98;letter-spacing:-.02em;text-transform:uppercase}
h2{font-family:var(--cf-display);font-weight:900;font-size:clamp(34px,4.6vw,56px);line-height:1;text-transform:uppercase}
h3{font-family:var(--cf-display);font-weight:700;font-size:22px;line-height:1.2}
h4{font-family:var(--cf-display);font-weight:700;font-size:18px;line-height:1.3}

/* ---------- Kopfbereich ---------- */
.cf-header{position:relative;z-index:20}
.cf-header__inner{max-width:1200px;margin:0 auto;padding:24px 32px;display:flex;flex-wrap:wrap;gap:16px 32px;align-items:center;justify-content:space-between}
.cf-logo{font-family:var(--cf-display);font-weight:900;font-size:22px;letter-spacing:.04em;text-transform:uppercase;color:var(--cf-text);text-decoration:none}
.cf-logo:hover{color:var(--cf-amber)}
.cf-nav ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px 24px;font-size:15px;font-weight:500}
.cf-nav a{color:var(--cf-nav);text-decoration:none;display:inline-block;padding:6px 0}
.cf-nav a:hover,.cf-nav .current-menu-item>a,.cf-nav .current_page_item>a,.cf-nav .current-menu-ancestor>a,.cf-nav .current_page_parent>a{color:var(--cf-amber)}
.cf-header__actions{display:flex;gap:12px;align-items:center}
.cf-cart{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 20px;border:1px solid var(--cf-amber);border-radius:999px;color:var(--cf-amber);text-decoration:none;font-weight:600;font-size:15px}
.cf-cart:hover{background:var(--cf-amber);color:var(--cf-bg)}
.cf-cart__count{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--cf-amber);color:var(--cf-bg);font-size:12px;font-weight:600}
.cf-cart:hover .cf-cart__count{background:var(--cf-bg);color:var(--cf-amber)}
.cf-cart__count:empty{display:none}
.cf-menu-toggle{display:none;align-items:center;gap:8px;min-height:44px;padding:0 16px;border:1px solid var(--cf-border);border-radius:999px;background:transparent;color:var(--cf-text);font:600 15px var(--cf-body);cursor:pointer}

@media (max-width:960px){
	.cf-header__inner{padding:16px}
	.cf-menu-toggle{display:inline-flex}
	.cf-nav{order:3;flex-basis:100%;display:none}
	.cf-nav.is-open{display:block}
	.cf-nav ul{flex-direction:column;gap:0;border-top:1px solid var(--cf-line)}
	.cf-nav li{border-bottom:1px solid var(--cf-line)}
	.cf-nav a{display:block;padding:14px 0;font-size:17px}
	.cf-cart__label{display:none}
	.cf-cart{padding:0 14px}
}

/* ---------- Inhalt: Abschnitte (Block-Stile „Bühne: Abschnitt …“) ---------- */
.cf-main{display:block}
.cf-main>.wp-block-group{margin:0}
.is-style-abschnitt,.is-style-abschnitt-dunkel,.is-style-abschnitt-bernstein,.cf-section{padding:var(--cf-pad-y) var(--cf-pad-x)}
.is-style-abschnitt-dunkel{background:var(--cf-bg-alt)}
.is-style-abschnitt-bernstein{background:var(--cf-amber);color:var(--cf-bg)}
.is-style-abschnitt-bernstein p{color:var(--cf-bg)}
.is-style-abschnitt-bernstein a:not(.wp-block-button__link){color:var(--cf-bg)}
.cf-section--first,.cf-main>.wp-block-group:first-child{padding-top:56px}
/* Zwei gleichfarbige Abschnitte hintereinander: Abstand nicht verdoppeln */
.is-style-abschnitt+.is-style-abschnitt,.is-style-abschnitt-dunkel+.is-style-abschnitt-dunkel{padding-top:0}

/* Abstände zwischen Blöcken innerhalb eines Abschnitts */
.cf-main .wp-block-group>*+*,.cf-main .wp-block-column>*+*,.cf-prose>*+*{margin-top:24px}
.cf-main .wp-block-group>.is-style-dachzeile+*,.cf-main .wp-block-column>.is-style-dachzeile+*{margin-top:16px}
.cf-main .wp-block-group>*+.wp-block-columns{margin-top:40px}

/* Textfarben */
.cf-main p,.cf-prose li{color:var(--cf-muted)}
.cf-main .has-text-color{color:inherit}

/* Dachzeile, Einleitung, Hinweis */
.is-style-dachzeile{font-size:14px!important;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--cf-amber)!important}
.is-style-abschnitt-bernstein .is-style-dachzeile{color:var(--cf-bg)!important}
.is-style-einleitung{font-size:20px;max-width:680px}
.is-style-hinweis{font-size:14px;color:var(--cf-muted-2)!important}
.is-style-motto{font-family:var(--cf-display);font-weight:700;font-size:22px;text-transform:uppercase;color:var(--cf-text)!important}

/* Kennzahlen / Nummern */
.is-style-kennzahl{font-family:var(--cf-display);font-weight:900;font-size:clamp(44px,5vw,64px)!important;line-height:1;color:var(--cf-amber)!important}
.is-style-kennzahl+p{margin-top:4px!important}
.is-style-nummer{font-family:var(--cf-display);font-weight:900;font-size:56px!important;line-height:1;color:var(--cf-amber)!important}
.wp-block-columns.is-style-kennzahlen{gap:40px;padding-top:32px;border-top:1px solid var(--cf-line)}
.is-style-abschnitt-dunkel>.wp-block-columns.is-style-kennzahlen{border-top:0;padding-top:0}

/* Spalten */
.cf-main .wp-block-columns{gap:48px;margin-bottom:0}
.wp-block-columns.is-style-hero{align-items:center!important}
.wp-block-columns.is-style-karten{gap:24px}
.wp-block-columns.is-style-karten>.wp-block-column{background:var(--cf-bg);padding:36px;border-radius:var(--cf-radius)}
.is-style-abschnitt .wp-block-columns.is-style-karten>.wp-block-column{background:var(--cf-bg-alt)}
.wp-block-columns.is-style-karten-rahmen{gap:24px}
.wp-block-columns.is-style-karten-rahmen>.wp-block-column{padding:32px;border:1px solid var(--cf-line);border-radius:var(--cf-radius)}
.wp-block-columns.is-style-karten>.wp-block-column>*+*,.wp-block-columns.is-style-karten-rahmen>.wp-block-column>*+*{margin-top:16px}
.wp-block-columns.is-style-karten h3,.wp-block-columns.is-style-karten-rahmen h3{text-transform:uppercase}
.wp-block-columns.is-style-karten h3 a{color:var(--cf-text);text-decoration:none}
.wp-block-columns.is-style-karten h3 a::after{content:" →";color:var(--cf-amber)}
.wp-block-columns.is-style-karten h3 a:hover{color:var(--cf-amber)}

/* Bilder */
.cf-main .wp-block-image{margin:0}
.cf-main .wp-block-image img{border-radius:var(--cf-radius);display:block}
.wp-block-image.is-style-hero img{width:100%;height:620px;object-fit:cover;object-position:15% 30%}
.wp-block-image.is-style-buehne img{width:100%;height:520px;object-fit:cover;object-position:center 30%}
.wp-block-image.is-style-cover{background:var(--cf-bg-alt);border-radius:var(--cf-radius);padding:32px;display:flex;justify-content:center}
.wp-block-image.is-style-cover img{max-height:420px;width:auto;object-fit:contain}

/* Buttons */
.cf-main .wp-block-buttons{display:flex;flex-wrap:wrap;gap:12px}
.wp-block-button__link,.cf-btn{display:inline-flex;align-items:center;justify-content:center;min-height:52px;padding:0 28px;border-radius:999px;border:1px solid var(--cf-amber);background:var(--cf-amber);color:var(--cf-bg);text-decoration:none;font:600 17px/1.2 var(--cf-body);cursor:pointer;transition:background .15s,color .15s,border-color .15s}
.wp-block-button__link:hover,.cf-btn:hover{background:var(--cf-amber-hover);border-color:var(--cf-amber-hover);color:var(--cf-bg)}
.wp-block-button.is-style-outline .wp-block-button__link,.cf-btn--outline{background:transparent;border-color:var(--cf-border);color:var(--cf-text)}
.wp-block-button.is-style-outline .wp-block-button__link:hover,.cf-btn--outline:hover{border-color:var(--cf-amber);color:var(--cf-amber);background:transparent}
.is-style-abschnitt-bernstein .wp-block-button__link{background:var(--cf-bg);border-color:var(--cf-bg);color:var(--cf-text)}
.is-style-abschnitt-bernstein .wp-block-button__link:hover{background:#000;border-color:#000;color:var(--cf-amber)}
.is-style-abschnitt-bernstein .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border-color:var(--cf-bg);color:var(--cf-bg)}

/* Listen */
.wp-block-list.is-style-moeglich{list-style:none;padding:0;display:flex;flex-direction:column;gap:10px;font-size:18px}
.wp-block-list.is-style-moeglich li{color:var(--cf-text)}
.wp-block-list.is-style-moeglich li::first-letter{font-family:var(--cf-display);font-weight:900;font-size:26px;color:var(--cf-amber)}
.wp-block-list.is-style-steckbrief{list-style:none;padding:0;margin:0}
.wp-block-list.is-style-steckbrief li{display:flex;flex-wrap:wrap;gap:4px 24px;padding:18px 0;border-bottom:1px solid var(--cf-line);font-size:19px;color:var(--cf-text)}
.wp-block-list.is-style-steckbrief li strong{flex:0 0 160px;font-family:var(--cf-display);font-weight:700;text-transform:uppercase;color:var(--cf-amber);font-size:17px}
.wp-block-list.is-style-termine{list-style:none;padding:0;margin:0;border-top:1px solid var(--cf-line)}
.wp-block-list.is-style-termine li{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:baseline;padding:20px 0;border-bottom:1px solid var(--cf-line);color:var(--cf-text)}
.wp-block-list.is-style-termine li strong:first-child{flex:0 0 140px;color:var(--cf-amber);font-weight:600}
.wp-block-list.is-style-termine li em{font-style:normal;font-size:13px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--cf-muted-2);flex:0 0 120px}
.wp-block-list.is-style-schritte{list-style:none;padding:0;margin:0;counter-reset:none}
.wp-block-list.is-style-schritte li{display:flex;flex-wrap:wrap;gap:4px 24px;padding:20px 0;border-bottom:1px solid var(--cf-line);color:var(--cf-muted)}
.wp-block-list.is-style-schritte li strong{flex:0 0 200px;font-family:var(--cf-display);font-weight:700;font-size:20px;text-transform:uppercase;color:var(--cf-text)}

/* Zitate */
.cf-main .wp-block-quote{margin:0;padding:40px 0 0;border:0;border-top:1px solid var(--cf-line)}
.cf-main .wp-block-quote p{font-family:var(--cf-display);font-weight:700;font-size:clamp(24px,3vw,34px);line-height:1.25;color:var(--cf-text)}
.cf-main .wp-block-quote cite{display:block;margin-top:16px;font:500 15px var(--cf-body);font-style:normal;color:var(--cf-muted-2)}
.cf-main .wp-block-quote.is-style-buehne{border-top:0;padding:0}
.cf-main .wp-block-quote.is-style-buehne p{font-size:clamp(28px,4vw,44px);color:var(--cf-amber)}

/* Rahmen-Box & Video-Platzhalter */
.wp-block-group.is-style-rahmen{padding:40px;border:2px solid var(--cf-amber);border-radius:var(--cf-radius)}
.wp-block-group.is-style-video{aspect-ratio:16/9;background:var(--cf-bg-raised);border:1px dashed #4A4A50;border-radius:var(--cf-radius);display:flex;flex-direction:column;justify-content:flex-end;padding:16px}
.wp-block-group.is-style-video p{font-size:14px;color:var(--cf-muted-2)}
.cf-main .wp-block-embed{margin:0}
.cf-main .wp-block-embed__wrapper iframe{width:100%;aspect-ratio:16/9;height:auto;border-radius:var(--cf-radius)}

/* Trenner, Tabellen */
.cf-main hr,.wp-block-separator{border:0;border-top:1px solid var(--cf-line);margin:40px 0}
.cf-prose table,.cf-main .wp-block-table table{width:100%;border-collapse:collapse}
.cf-prose th,.cf-prose td,.cf-main .wp-block-table td,.cf-main .wp-block-table th{border-bottom:1px solid var(--cf-line);padding:12px 8px;text-align:left;vertical-align:top}

/* Fließtext-Seiten (Rechtstexte, Warenkorb …) */
.cf-prose{max-width:860px}
.cf-prose--wide{max-width:none}
.cf-prose h1{margin-bottom:32px}
.cf-prose h2{font-size:clamp(26px,3vw,34px);margin-top:48px}
.cf-prose h3{margin-top:32px}
.cf-prose p,.cf-prose ul,.cf-prose ol{color:var(--cf-muted)}
.cf-prose ul,.cf-prose ol{padding-left:1.3em}
.cf-prose li+li{margin-top:6px}

/* ---------- Formulare ---------- */
input[type=text],input[type=email],input[type=tel],input[type=number],input[type=password],input[type=search],input[type=url],input[type=date],select,textarea,.select2-container .select2-selection--single{width:100%;min-height:52px;padding:12px 14px;border:1px solid var(--cf-border);border-radius:var(--cf-radius);background:var(--cf-bg-alt);color:var(--cf-text);font:inherit;font-size:17px}
textarea{min-height:160px;resize:vertical}
input:focus,select:focus,textarea:focus{outline:2px solid var(--cf-amber);outline-offset:0;border-color:var(--cf-amber)}
input[type=checkbox],input[type=radio]{width:20px;height:20px;accent-color:var(--cf-amber);vertical-align:middle;margin:0 8px 0 0}
label{color:var(--cf-muted)}
::placeholder{color:#7d786f}
button,input[type=submit],.button{font:inherit}

/* Contact Form 7 */
.wpcf7 form{display:flex;flex-direction:column;gap:18px}
.wpcf7 p{margin:0}
.wpcf7 label{display:flex;flex-direction:column;gap:6px;font-size:15px;color:var(--cf-muted-2)}
.wpcf7-list-item{margin:0}
.wpcf7-acceptance label,.wpcf7-checkbox label{flex-direction:row;align-items:flex-start;gap:0;font-size:15px;color:var(--cf-muted)}
.wpcf7 input[type=submit]{align-self:flex-start;min-height:52px;padding:0 28px;border-radius:999px;border:0;background:var(--cf-amber);color:var(--cf-bg);font-weight:600;cursor:pointer}
.wpcf7 input[type=submit]:hover{background:var(--cf-amber-hover)}
.wpcf7 input[type=submit]:disabled{opacity:.5;cursor:not-allowed}
.wpcf7-not-valid-tip{color:var(--cf-error);font-size:14px;margin-top:4px}
.wpcf7 form .wpcf7-response-output{margin:0;padding:14px 18px;border-radius:var(--cf-radius);border:1px solid var(--cf-amber);color:var(--cf-text)}
.wpcf7-spinner{background-color:var(--cf-amber)}

/* Kontakt-Seitenleiste */
.cf-kontakt-info p{color:var(--cf-text)}
.cf-kontakt-info .is-style-hinweis+p{margin-top:4px!important}
.cf-kontakt-info a{font-size:19px;font-weight:600;text-decoration:none}

/* ---------- Fußbereich ---------- */
.cf-footer{border-top:1px solid var(--cf-line)}
.cf-footer__inner{max-width:1200px;margin:0 auto;padding:72px 32px 40px;display:flex;flex-wrap:wrap;gap:32px;justify-content:space-between;align-items:flex-end}
.cf-footer__motto{font-family:var(--cf-display);font-weight:900;font-size:clamp(32px,4vw,44px);line-height:1;text-transform:uppercase;margin:0}
.cf-footer__contact{margin-top:12px;color:var(--cf-muted)}
.cf-footer__legal ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:14px}
.cf-footer__legal a{color:var(--cf-muted-2)}
.cf-footer__legal a:hover{color:var(--cf-amber)}
.cf-footer__copy{flex-basis:100%;font-size:13px;color:#7d786f}

/* ---------- WooCommerce ---------- */
.cf-shop-head{display:flex;flex-direction:column;gap:20px;padding-bottom:40px}
.cf-shop-head .is-style-einleitung{color:var(--cf-muted)}
.cf-pills{display:flex;flex-wrap:wrap;gap:10px;list-style:none;margin:0 0 32px;padding:0}
.cf-pills a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--cf-border);color:var(--cf-text);text-decoration:none;font-size:15px;font-weight:600}
.cf-pills a:hover{border-color:var(--cf-amber);color:var(--cf-amber)}
.cf-pills .is-active a{background:var(--cf-text);border-color:var(--cf-text);color:var(--cf-bg)}

.woocommerce ul.products,ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:48px 32px}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
@media (min-width:1024px){ul.products.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}ul.products.columns-4{grid-template-columns:repeat(4,minmax(0,1fr))}}
ul.products li.product{margin:0;padding:0;width:auto;float:none;display:flex;flex-direction:column;gap:12px;position:relative}
ul.products li.product>a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;gap:12px;color:var(--cf-text);text-decoration:none;flex:1}
.cf-cover{aspect-ratio:3/4;background:var(--cf-bg-alt);border-radius:var(--cf-radius);display:flex;align-items:center;justify-content:center;padding:24px;position:relative;overflow:hidden}
.cf-cover img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;display:block;transition:transform .25s}
a:hover .cf-cover img{transform:scale(1.03)}
.cf-badge{position:absolute;top:12px;left:12px;z-index:1;padding:4px 10px;border-radius:999px;background:var(--cf-amber);color:var(--cf-bg);font-size:12px;font-weight:600;letter-spacing:.04em;text-transform:uppercase;line-height:1.5}
ul.products li.product .woocommerce-loop-product__title{font-family:var(--cf-display);font-weight:700;font-size:22px;line-height:1.2;margin:0;padding:0;color:var(--cf-text)}
ul.products li.product a:hover .woocommerce-loop-product__title{color:var(--cf-amber)}
.cf-subtitle{color:var(--cf-muted-2);font-size:14px;line-height:1.4}
.cf-teaser{color:var(--cf-muted);font-size:15px}
ul.products li.product .price{font-family:var(--cf-display);font-weight:700;font-size:22px;color:var(--cf-amber);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline;margin-top:4px}
.price del{color:var(--cf-muted-2);font-weight:500;font-size:.75em;opacity:1}
.price ins{text-decoration:none}
ul.products li.product .wc-gzd-additional-info,ul.products li.product .price-unit,ul.products li.product .tax-info,ul.products li.product .shipping-costs-info{font-size:13px;color:var(--cf-muted-2);margin:0}
ul.products li.product .button{margin-top:auto}
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,a.button,button.button,.wc-block-components-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 24px;border-radius:999px;border:1px solid var(--cf-amber);background:var(--cf-amber);color:var(--cf-bg);text-decoration:none;font-weight:600;font-size:15px;line-height:1.2;cursor:pointer;text-align:center}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,a.button:hover,button.button:hover{background:var(--cf-amber-hover);border-color:var(--cf-amber-hover);color:var(--cf-bg)}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--cf-amber);color:var(--cf-bg)}
.woocommerce a.button.loading{opacity:.6}
.woocommerce a.added_to_cart{display:inline-block;margin-top:6px;font-size:14px;font-weight:600}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.5;cursor:not-allowed}
.woocommerce .button.cf-btn--outline,.woocommerce a.button.wc-backward{background:transparent;border-color:var(--cf-border);color:var(--cf-text)}

/* Paket-Teaser im Shop */
.cf-promo{display:flex;flex-wrap:wrap;gap:48px;align-items:center}
.cf-promo__img{flex:1 1 420px;min-width:0}
.cf-promo__img img{max-height:460px;width:100%;object-fit:contain;display:block}
.cf-promo__text{flex:1 1 460px;min-width:0;display:flex;flex-direction:column;gap:18px;align-items:flex-start}
.cf-promo__text h2{font-size:clamp(32px,4vw,48px)}
.cf-promo__price{display:flex;gap:16px;align-items:baseline;flex-wrap:wrap}
.cf-promo__price .price{font-family:var(--cf-display);font-weight:900;font-size:44px;color:var(--cf-amber)}

/* Brotkrumen */
.woocommerce-breadcrumb{font-size:14px;color:var(--cf-muted-2);margin:0 0 32px}
.woocommerce-breadcrumb a{color:var(--cf-muted-2)}

/* Buch-Detail */
.single-product div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);gap:56px;align-items:start}
.single-product div.product>*{grid-column:1/-1}
.single-product div.product>.woocommerce-product-gallery{grid-column:1;position:relative}
.single-product div.product>.summary{grid-column:2;display:flex;flex-direction:column;gap:20px}
.woocommerce-product-gallery{margin:0}
.woocommerce-product-gallery__wrapper{margin:0}
.woocommerce-product-gallery .woocommerce-product-gallery__image{background:var(--cf-bg-alt);border-radius:var(--cf-radius);padding:40px;display:flex;justify-content:center}
.woocommerce-product-gallery .woocommerce-product-gallery__image img{max-height:620px;width:auto!important;margin:0 auto}
.woocommerce-product-gallery .flex-control-thumbs{list-style:none;margin:16px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:12px}
.woocommerce-product-gallery .flex-control-thumbs li{width:80px;cursor:pointer}
.woocommerce-product-gallery .flex-control-thumbs img{opacity:.6;border-radius:var(--cf-radius);background:var(--cf-bg-alt)}
.woocommerce-product-gallery .flex-control-thumbs img.flex-active,.woocommerce-product-gallery .flex-control-thumbs img:hover{opacity:1}
.woocommerce-product-gallery__trigger{position:absolute;top:12px;right:12px;z-index:5;width:40px;height:40px;border-radius:999px;background:var(--cf-bg);color:var(--cf-text);display:flex;align-items:center;justify-content:center;font-size:0;text-decoration:none}
.woocommerce-product-gallery__trigger::before{content:"⤢";font-size:20px}
.single-product .summary .product_title{font-size:clamp(40px,5vw,64px)}
.single-product .summary .cf-badge{position:static;align-self:flex-start}
.single-product .summary .cf-subtitle{font-size:22px;color:var(--cf-muted);margin-top:-8px}
.single-product .summary .price{font-family:var(--cf-display);font-weight:900;font-size:48px;line-height:1.1;color:var(--cf-amber);margin:0}
.single-product .summary .legal-price-info,.single-product .summary .wc-gzd-additional-info,.single-product .summary .tax-info,.single-product .summary .shipping-costs-info,.single-product .summary .delivery-time-info{font-size:14px;color:var(--cf-muted-2);margin:0}
.single-product .summary .woocommerce-product-details__short-description{font-size:19px;color:var(--cf-text)}
.single-product .summary .woocommerce-product-details__short-description p{color:var(--cf-text)}
.single-product .summary form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin:0}
.quantity{display:inline-flex}
.quantity .qty{width:88px;min-height:52px;text-align:center}
.single-product .summary form.cart .button{min-height:52px;padding:0 28px;font-size:17px}
.cf-payinfo{font-size:15px;color:var(--cf-muted)}
.cf-details{margin:0;padding-top:24px;border-top:1px solid var(--cf-line)}
.cf-details>div{display:flex;gap:16px;padding:10px 0;border-bottom:1px solid var(--cf-line)}
.cf-details dt{flex:0 0 110px;color:var(--cf-muted-2)}
.cf-details dd{margin:0;color:var(--cf-text)}
.cf-details dd p{color:var(--cf-text)}
.woocommerce-product-rating{display:flex;gap:12px;align-items:center;font-size:14px}
.woocommerce-review-link{color:var(--cf-muted-2)}

/* Tabs → als Abschnitte */
.woocommerce-tabs{margin-top:40px}
.woocommerce-tabs ul.tabs{list-style:none;margin:0 0 32px;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.woocommerce-tabs ul.tabs li a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border-radius:999px;border:1px solid var(--cf-border);color:var(--cf-text);text-decoration:none;font-weight:600;font-size:15px}
.woocommerce-tabs ul.tabs li.active a{background:var(--cf-text);border-color:var(--cf-text);color:var(--cf-bg)}
.woocommerce-tabs .panel{max-width:860px}
.woocommerce-tabs .panel>h2:first-child{display:none}
.woocommerce-tabs .panel p{color:var(--cf-muted);margin:0 0 1em}
.woocommerce-tabs .panel p:first-of-type{font-size:19px;color:var(--cf-text)}

/* Bewertungen */
.star-rating{display:inline-block;position:relative;width:5.6em;height:1.25em;line-height:1.25;font-size:16px;overflow:hidden;letter-spacing:.12em;font-family:var(--cf-body)}
.star-rating::before{content:"★★★★★";color:var(--cf-line);position:absolute;top:0;left:0}
.star-rating span{position:absolute;top:0;left:0;height:100%;overflow:hidden;padding-top:1.5em}
.star-rating span::before{content:"★★★★★";color:var(--cf-amber);position:absolute;top:0;left:0}
.star-rating strong,.star-rating .rating{font-weight:inherit}
#reviews ol.commentlist{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}
#reviews li.review{padding:32px;background:var(--cf-bg-alt);border-radius:var(--cf-radius)}
#reviews li.review img.avatar{display:none}
#reviews .comment-text .description p{font-family:var(--cf-display);font-weight:700;font-size:20px;line-height:1.35;color:var(--cf-text)}
#reviews .meta{font-size:14px;color:var(--cf-muted-2)}
#review_form_wrapper{margin-top:40px}
#review_form .comment-reply-title{font-family:var(--cf-display);font-weight:700;font-size:22px;display:block;margin-bottom:16px}
#review_form p{margin:0 0 16px}
p.stars a{position:relative;display:inline-block;width:1.2em;font-size:0;text-decoration:none}
p.stars a::before{content:"★";font-size:26px;color:var(--cf-line)}
p.stars:hover a::before,p.stars.selected a::before{color:var(--cf-amber)}
p.stars a:hover~a::before,p.stars.selected a.active~a::before{color:var(--cf-line)}

/* Ähnliche Produkte */
.related.products,.upsells.products{margin-top:48px;padding-top:72px;border-top:1px solid var(--cf-line)}
.related.products>h2,.upsells.products>h2{margin-bottom:32px}

/* Hinweise */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews,.wc-block-components-notice-banner{list-style:none;margin:0 0 24px;padding:16px 20px;border-radius:var(--cf-radius);border:1px solid var(--cf-amber);background:var(--cf-bg-alt);color:var(--cf-text);display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between}
.woocommerce-error{border-color:var(--cf-error)}
.woocommerce-error li{list-style:none}
.woocommerce-message .button,.woocommerce-info .button{order:2;min-height:40px}

/* Warenkorb & Kasse */
.woocommerce table.shop_table{width:100%;border-collapse:collapse;margin:0 0 32px;font-size:16px}
.woocommerce table.shop_table th{font-family:var(--cf-display);font-weight:700;text-transform:uppercase;font-size:14px;letter-spacing:.06em;color:var(--cf-muted-2);text-align:left;padding:12px 8px;border-bottom:1px solid var(--cf-line)}
.woocommerce table.shop_table td{padding:16px 8px;border-bottom:1px solid var(--cf-line);vertical-align:middle;color:var(--cf-text)}
.woocommerce table.shop_table td.product-thumbnail img{width:72px;background:var(--cf-bg-alt);padding:8px;border-radius:var(--cf-radius)}
.woocommerce table.shop_table td.product-name a{color:var(--cf-text);font-weight:600;text-decoration:none}
.woocommerce a.remove{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:999px;border:1px solid var(--cf-border);color:var(--cf-muted)!important;text-decoration:none;font-size:20px;line-height:1}
.woocommerce a.remove:hover{border-color:var(--cf-error);color:var(--cf-error)!important}
.woocommerce .cart .coupon{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.woocommerce .cart .coupon .input-text{width:220px}
.woocommerce td.actions{text-align:right}
.woocommerce td.actions>.button{margin-left:8px}
.cart-collaterals{display:flex;justify-content:flex-end}
.cart_totals{width:min(100%,460px)}
.cart_totals h2,#order_review_heading,.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3{font-size:clamp(24px,3vw,32px);margin:0 0 20px}
.wc-proceed-to-checkout .checkout-button{width:100%;min-height:56px;font-size:17px}
.woocommerce form .form-row{margin:0 0 16px;padding:0}
.woocommerce form .form-row label{display:block;margin-bottom:6px;font-size:15px}
.woocommerce form .form-row .required{color:var(--cf-amber);text-decoration:none}
.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:calc(50% - 8px);float:left}
.woocommerce form .form-row-last{float:right}
.woocommerce form .form-row-wide{clear:both}
.woocommerce .col2-set{display:grid;grid-template-columns:1fr 1fr;gap:48px}
.woocommerce .col2-set::before,.woocommerce .col2-set::after{display:none}
.woocommerce .col2-set .col-1,.woocommerce .col2-set .col-2{width:auto;float:none}
.woocommerce-checkout #customer_details{margin-bottom:48px}
.woocommerce-checkout-review-order-table{margin-bottom:24px}
#payment ul.payment_methods{list-style:none;margin:0 0 24px;padding:0;border-top:1px solid var(--cf-line)}
#payment ul.payment_methods li{padding:16px 0;border-bottom:1px solid var(--cf-line);color:var(--cf-text)}
#payment ul.payment_methods li label{color:var(--cf-text);font-weight:600}
#payment .payment_box{margin-top:12px;padding:16px;background:var(--cf-bg-alt);border-radius:var(--cf-radius);font-size:15px}
#payment .payment_box p{color:var(--cf-muted)}
#payment .place-order{margin-top:16px}
#place_order,.wc-gzd-order-submit #place_order{width:100%;min-height:60px;font-size:18px}
.woocommerce-terms-and-conditions-wrapper,.wc-gzd-checkbox-placeholder,.legal,.checkbox-legal,.checkbox-download,.checkbox-privacy{font-size:15px}
.wc-gzd-checkbox-placeholder label,.checkbox-legal label{display:flex!important;gap:8px;align-items:flex-start}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--cf-text);line-height:28px;padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:50px}
.select2-dropdown{background:var(--cf-bg-alt);color:var(--cf-text);border-color:var(--cf-border)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--cf-amber);color:var(--cf-bg)}
.select2-search--dropdown .select2-search__field{background:var(--cf-bg);color:var(--cf-text)}
.woocommerce-order-overview,.woocommerce-thankyou-order-details{list-style:none;padding:0;display:flex;flex-wrap:wrap;gap:16px 40px}
.woocommerce-order-overview li{color:var(--cf-muted-2);font-size:14px}
.woocommerce-order-overview li strong{display:block;font-size:17px;color:var(--cf-text)}

/* Mein Konto */
.woocommerce-account .woocommerce{display:grid;grid-template-columns:220px minmax(0,1fr);gap:48px}
.woocommerce-account .woocommerce>.woocommerce-notices-wrapper{grid-column:1/-1}
.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border-top:1px solid var(--cf-line)}
.woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--cf-line)}
.woocommerce-MyAccount-navigation a{display:block;padding:12px 0;color:var(--cf-nav);text-decoration:none}
.woocommerce-MyAccount-navigation .is-active a{color:var(--cf-amber)}
.woocommerce-account:not(.logged-in) .woocommerce{display:block}
.woocommerce form.login,.woocommerce form.register{max-width:460px}

/* Leere Zustände */
.cart-empty{font-size:20px}
.return-to-shop{margin-top:24px}

/* Pagination */
.woocommerce-pagination ul,.nav-links{list-style:none;display:flex;gap:8px;padding:0;margin:48px 0 0}
.woocommerce-pagination a,.woocommerce-pagination span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--cf-border);border-radius:999px;color:var(--cf-text);text-decoration:none}
.woocommerce-pagination .current{background:var(--cf-text);color:var(--cf-bg)}

/* „Demnächst verfügbar“-Badge in der Admin-Leiste unverändert lassen */

/* ---------- Mobil ---------- */
@media (max-width:781px){
	:root{--cf-pad-y:64px}
	.wp-block-image.is-style-hero img{height:440px}
	.wp-block-image.is-style-buehne img{height:340px}
	.single-product div.product{grid-template-columns:1fr;gap:32px}
	.single-product div.product>.woocommerce-product-gallery,.single-product div.product>.summary{grid-column:1}
	.woocommerce-product-gallery .woocommerce-product-gallery__image{padding:24px}
	.woocommerce .col2-set{grid-template-columns:1fr;gap:0}
	.woocommerce-account .woocommerce{grid-template-columns:1fr;gap:24px}
	.woocommerce table.shop_table_responsive thead{display:none}
	.woocommerce table.shop_table_responsive tr{display:block;padding:12px 0;border-bottom:1px solid var(--cf-line)}
	.woocommerce table.shop_table_responsive td{display:flex;justify-content:space-between;gap:16px;border:0;padding:6px 0;text-align:right}
	.woocommerce table.shop_table_responsive td::before{content:attr(data-title);font-weight:600;color:var(--cf-muted-2);text-align:left}
	.woocommerce table.shop_table_responsive td.product-remove::before,.woocommerce table.shop_table_responsive td.product-thumbnail::before,.woocommerce table.shop_table_responsive td.actions::before{content:none}
	.woocommerce td.actions{text-align:left}
	.woocommerce td.actions .coupon{margin-bottom:12px}
}
@media (max-width:640px){
	:root{--cf-pad-x:16px}
	.cf-header__inner,.cf-footer__inner{padding-left:16px;padding-right:16px}
	.cf-header__inner{gap:12px}
	.cf-logo{font-size:18px}
	.cf-header__actions{gap:8px}
	.cf-menu-toggle{padding:0 14px}
	.wp-block-columns.is-style-karten>.wp-block-column,.wp-block-columns.is-style-karten-rahmen>.wp-block-column,.wp-block-group.is-style-rahmen{padding:24px}
	.wp-block-list.is-style-steckbrief li strong,.wp-block-list.is-style-termine li strong:first-child{flex-basis:100%}
	.woocommerce form .form-row-first,.woocommerce form .form-row-last{width:100%;float:none}
	.woocommerce ul.products,ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 16px}
	ul.products li.product .woocommerce-loop-product__title{font-size:18px}
	.cf-teaser{display:none}
	.cf-cover{padding:14px}
	ul.products li.product .button{padding:0 12px;font-size:14px}
}
@media (prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}
