/* Ergänzungen zu theme.json: Dinge, die sich dort nicht ausdrücken lassen. */

:focus-visible { outline: 2px solid var(--wp--preset--color--gold); outline-offset: 3px; }
h1, h2, h3 { text-wrap: balance; }

/* Kopfzeile bleibt oben stehen */
.fp-header {
	position: sticky;
	top: 0;
	z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--base) 90%, transparent);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid var(--wp--preset--color--line);
}
.admin-bar .fp-header { top: var(--wp-admin--admin-bar--height, 32px); }
.fp-header .wp-block-site-logo img, .fp-brand img { width: 38px; height: auto; }
.fp-brand { display: flex; align-items: center; gap: .6rem; text-decoration: none; }
.fp-header .wp-block-navigation a { color: var(--wp--preset--color--muted); }
.fp-header .wp-block-navigation a:hover { color: var(--wp--preset--color--contrast); }

/* Überzeile */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: .75rem !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gold);
}

/* Wabenmuster wie auf der Logo-Scheibe */
.is-style-waben {
	background-image: url("../images/waben.webp");
	background-size: cover;
	background-position: center;
}

/* Karten */
.is-style-karte {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 14px;
	background: var(--wp--preset--color--base-2);
}
@media (prefers-reduced-motion: no-preference) {
	.is-style-karte { transition: transform .2s, border-color .2s; }
	.is-style-karte:hover { transform: translateY(-3px); border-color: var(--wp--preset--color--gold-deep); }
}

/* Knopf mit goldenem Rahmen */
.wp-block-button.is-style-rahmen .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--gold);
	border: 1px solid var(--wp--preset--color--gold);
}
.wp-block-button.is-style-rahmen .wp-block-button__link:hover {
	background: color-mix(in srgb, var(--wp--preset--color--gold) 14%, transparent);
}

.fp-logo { display: block; width: min(360px, 100%); height: auto; filter: drop-shadow(0 24px 40px rgba(0, 0, 0, .45)); margin-inline: auto; }

/* Technische Eckdaten im Hero */
.fp-specs { font-family: var(--wp--preset--font-family--mono); font-size: .8rem; color: var(--wp--preset--color--muted); }
.fp-specs strong { color: var(--wp--preset--color--gold); font-weight: 400; }

/* Ablauf-Schritte */
.fp-step { border-top: 2px solid var(--wp--preset--color--gold-deep); padding-top: 1rem; }

/* Formulare (Contact Form 7, WooCommerce) */
input[type="text"], input[type="email"], input[type="tel"], input[type="number"], input[type="password"], input[type="search"], select, textarea {
	width: 100%;
	padding: .7rem .8rem;
	border-radius: 8px;
	border: 1px solid var(--wp--preset--color--line);
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--contrast);
	font: inherit;
}
input[type="file"] { color: var(--wp--preset--color--muted); }
.wpcf7 form { display: grid; gap: 1rem; }
.wpcf7 label { display: grid; gap: .35rem; font-weight: 500; font-size: .9rem; }
.wpcf7 input[type="submit"] {
	justify-self: start;
	background: var(--wp--preset--color--gold);
	color: var(--wp--preset--color--on-gold);
	border: 0;
	border-radius: 999px;
	padding: .75rem 1.4rem;
	font-weight: 600;
	cursor: pointer;
}

/* WooCommerce: Preise, Produktkarten, Hinweise */
.wc-block-components-product-price, .woocommerce-Price-amount { font-variant-numeric: tabular-nums; }
.wc-block-product-template .wc-block-product, .wp-block-woocommerce-product-template .wc-block-product {
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 12px;
	background: var(--wp--preset--color--panel);
	padding-bottom: 1rem;
	overflow: hidden;
}
.wc-block-components-notice-banner { color: #10241a; }

.fp-plainlist { list-style: none; padding-left: 0; display: grid; gap: .35rem; }
.fp-plainlist a { color: inherit; text-decoration: none; }
.fp-plainlist a:hover { color: var(--wp--preset--color--contrast); }
.wp-block-site-title a { text-decoration: none; }

/* WooCommerce-Blöcke (Warenkorb, Kasse): Eingabefelder und Bestellübersicht an das dunkle Design anpassen */
.wc-block-components-text-input input,
.wc-block-components-text-input input:-webkit-autofill,
.wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,
.wc-blocks-components-select .wc-blocks-components-select__select,
.wc-block-components-textarea,
.wc-block-components-form .wc-block-components-text-input input {
	background-color: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	border-color: var(--wp--preset--color--line) !important;
}
.wc-block-components-text-input label,
.wc-block-components-combobox .wc-block-components-combobox-control label,
.wc-blocks-components-select .wc-blocks-components-select__label { color: var(--wp--preset--color--muted) !important; }
.wc-block-components-order-summary,
.wc-block-components-order-summary.is-large { background: transparent !important; }
.wc-block-components-order-summary-item__quantity {
	background: var(--wp--preset--color--gold) !important;
	color: var(--wp--preset--color--on-gold) !important;
	border-color: var(--wp--preset--color--base) !important;
}
.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	background: var(--wp--preset--color--base);
	border-color: var(--wp--preset--color--muted);
}
.wc-block-components-checkbox .wc-block-components-checkbox__mark { fill: var(--wp--preset--color--gold); }

/* Produktoptionen (Advanced Product Fields) */
.wapf-field-label label { font-weight: 500; }
.wapf-field-description { color: var(--wp--preset--color--muted); }

/* Contact Form 7: Abstände, Datei-Upload und Einwilligung */
.wpcf7 form > p { margin: 0; }
.wpcf7 label br { display: none; }
.wpcf7-acceptance .wpcf7-list-item { margin: 0; }
.wpcf7-acceptance label { display: flex; align-items: flex-start; gap: .6rem; font-weight: 400; }
.wpcf7-acceptance input[type="checkbox"] { width: 1.1rem; height: 1.1rem; margin-top: .2rem; accent-color: var(--wp--preset--color--gold); flex: none; }
input[type="file"] { padding: .6rem; border: 1px dashed var(--wp--preset--color--line); border-radius: 8px; width: 100%; }
input[type="file"]::file-selector-button {
	margin-right: .8rem;
	padding: .45rem .9rem;
	border: 1px solid var(--wp--preset--color--gold);
	border-radius: 999px;
	background: transparent;
	color: var(--wp--preset--color--gold);
	font: inherit;
	cursor: pointer;
}

/* Germanized-Pflichtangaben (MwSt., Versand, Lieferzeit) in den Produktkarten */
.wc-block-product .wc-gzd-additional-info-loop { margin: .2rem 0; padding-inline: 1rem; font-size: .8rem; color: var(--wp--preset--color--muted); text-align: center; }

/* Produktseite: Artikelnummer und Kategorie umbrechen statt quetschen, Etsy-Schlagwörter nur für Suche/SEO */
.wp-block-woocommerce-product-meta .wp-block-group { flex-wrap: wrap !important; gap: .4rem 1.5rem; font-size: .85rem; color: var(--wp--preset--color--muted); }
.wp-block-woocommerce-product-meta .taxonomy-product_tag { display: none; }

/* Hinweis auf digital erstellte Farbbeispiele (bildwahl.js). */
.woocommerce-product-gallery { position: relative; }
.fp-bildhinweis {
	position: absolute;
	left: 12px;
	top: 12px;
	z-index: 9;
	padding: 4px 10px;
	border-radius: 999px;
	background: rgba(13, 26, 18, .82);
	color: #efe9db;
	font-size: .78rem;
	letter-spacing: .02em;
	pointer-events: none;
}
.fp-bildhinweis[hidden] { display: none; }

/* Warnhinweise auf der Produktseite */
.fp-warnhinweis { margin: 1.25rem 0; padding: .75rem 1rem; border-left: 3px solid var(--wp--preset--color--gold); background: color-mix(in srgb, var(--wp--preset--color--gold) 8%, transparent); font-size: .875rem; }
.fp-warnhinweis__titel { margin: 0 0 .25rem; font-weight: 600; }
.fp-warnhinweis ul { margin: 0; padding-left: 1.1rem; }

/* Widerrufsbutton im Fußbereich (§ 356a BGB) */
.fp-widerruf { margin-top: 1rem; }
.fp-widerruf .button { display: inline-block; padding: .45rem .9rem; border: 1px solid var(--wp--preset--color--gold); border-radius: 999px; color: var(--wp--preset--color--gold); background: transparent; text-decoration: none; font-size: .85rem; }
.fp-widerruf .button:hover, .fp-widerruf .button:focus-visible { background: var(--wp--preset--color--gold); color: var(--wp--preset--color--on-gold); }

/* „ab“ vor Preisen mit Aufpreis-Optionen */
.fp-ab { font-size: .85em; color: var(--wp--preset--color--muted); margin-right: .15em; }

/* Artikel im Fokus (Startseite) */
.fp-fokus { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 6fr); gap: var(--wp--preset--spacing--50); align-items: center; }
.fp-fokus__bild img { width: 100%; height: auto; border-radius: 12px; display: block; }
.fp-fokus__text h2 { margin-top: .25rem; }
.fp-fokus__preis { font-size: 1.25rem; color: var(--wp--preset--color--gold); }
@media (max-width: 781px) { .fp-fokus { grid-template-columns: 1fr; } }

/* Spam-Schutzfeld in Formularen: unsichtbar, aber nicht display:none (manche Bots prüfen das). */
.fp-hp { position: absolute !important; left: -10000px !important; width: 1px; height: 1px; overflow: hidden; }

/* Handy: Vorschaubilder als waagerechte, wischbare Leiste statt mehrerer Reihen */
@media (max-width: 781px) {
	.woocommerce-product-gallery .flex-control-thumbs { display: flex !important; flex-wrap: nowrap; overflow-x: auto; gap: 6px; scroll-snap-type: x mandatory; -webkit-overflow-scrolling: touch; padding-bottom: 4px; }
	.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 64px !important; width: 64px !important; margin: 0 !important; scroll-snap-align: start; }
}
