/*
Theme Name: DonSonsi (Botiga)
Template: botiga
Description: Child-Theme für donsonsi.de auf Basis von Botiga – CI Rot #550404, Hellgrau #C4C4C4, Dunkelgrau #5F5F5F.
Version: 0.2.8
Text Domain: donsonsi
*/
:root {
	--ds-rot: #550404; --ds-rot-hover: #7A1A1A; --ds-hellgrau: #C4C4C4; --ds-dunkelgrau: #5F5F5F; --ds-flaeche: #F5F4F2;
	--bt-color-button-bg: var(--ds-rot); --bt-color-button-bg-hover: var(--ds-rot-hover);
	--bt-color-button: #fff; --bt-color-button-hover: #fff;
	--bt-color-button-border: var(--ds-rot); --bt-color-button-border-hover: var(--ds-rot-hover);
	--bt-color-link-default: var(--ds-rot); --bt-color-link-hover: var(--ds-rot-hover);
	--bt-color-body-text: #3b3b3b;
}
body { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, h5, h6 { font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, sans-serif; letter-spacing: -0.02em; }
button, .button, .wp-block-button__link, .wp-element-button { border-radius: 999px !important; }

/* Header in CI-Rot */
.bhfb-header .bhfb-main_header_row, .bhfb-mobile_header .bhfb-main_header_row, .bhfb-header.bhfb-mobile .bhfb-main_header_row { background-color: var(--ds-rot) !important; }
.bhfb-header .bhfb-main_header_row, .bhfb-header .bhfb-main_header_row a, .bhfb-header .bhfb-main_header_row svg, .bhfb-header .bhfb-main_header_row .menu-item > a { color: #fff !important; fill: #fff !important; }
.bhfb-header .bhfb-main_header_row .menu-item > a:hover { opacity: .8; }
.bhfb-component-logo .site-title, .bhfb-component-logo .site-description { display: none !important; }
.custom-logo-link img { max-height: 46px; width: auto; }
/* Footer dunkelgrau */
.site-footer, .bhfb-footer .bhfb-row-wrapper { background-color: var(--ds-dunkelgrau) !important; color: #fff; }
.site-footer a, .site-footer h4, .bhfb-footer a, .bhfb-footer h4, .bhfb-footer p { color: #fff !important; }
.bhfb-footer ul.wp-block-list { list-style: none; padding-left: 0; }
.bhfb-footer ul.wp-block-list li { margin: .35em 0; }
/* Überschriften: dunkel, außer wenn eine Farbe gesetzt ist */
h1:not(.has-text-color), h2:not(.has-text-color), h3:not(.has-text-color), h4:not(.has-text-color) { color: #1d1d1f; }
.wp-block-cover .has-base-color { color: #fff !important; }
.wp-block-quote.is-style-plain { border-left: 3px solid var(--ds-rot); padding-left: 1em; }
.woocommerce-Price-amount { color: var(--ds-rot); font-weight: 700; }
/* Buttons in CI */
.wp-block-button__link, .wp-element-button, .button, button.single_add_to_cart_button, .wc-block-components-button { background-color: var(--ds-rot) !important; border-color: var(--ds-rot) !important; color: #fff !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 600; }
.wp-block-button__link:hover, .wp-element-button:hover, .button:hover, button.single_add_to_cart_button:hover { background-color: var(--ds-rot-hover) !important; border-color: var(--ds-rot-hover) !important; }
.wp-block-button.is-style-outline .wp-block-button__link { background-color: transparent !important; color: var(--ds-rot) !important; border: 2px solid var(--ds-rot) !important; }
/* USP-Leiste kompakter auf Mobil */
@media (max-width: 781px) { .ds-usp .wp-block-columns { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px 16px; } .ds-usp .wp-block-column p.has-x-large-font-size { font-size: 1.6rem !important; margin: 0; } .ds-usp h3 { font-size: 1rem !important; margin: .4em 0 .2em; } }
.ds-loop-legal { font-size: .78rem; line-height: 1.4; color: #6b6b6b; margin-top: 4px; }
.ds-loop-legal > * { margin: 0 !important; }
ul.products li.product .woocommerce-loop-product__title { font-size: .95rem; }
.ds-usp-icon { margin-bottom: .2em; line-height: 0; }
@media (max-width: 781px) { .ds-usp-icon svg { width: 34px; height: 34px; } }
/* USP-Icons einheitlich hoch */
.ds-usp .ds-usp-icon, .ds-usp p.has-x-large-font-size { height: 44px; line-height: 44px !important; margin: 0 0 .3em !important; display: flex; align-items: center; justify-content: center; }
@media (max-width: 781px) { .ds-usp .ds-usp-icon, .ds-usp p.has-x-large-font-size { height: 36px; line-height: 36px !important; } }
/* Seitenränder für Textblöcke auf Mobil */
@media (max-width: 781px) { .entry-content > p, .entry-content > .wp-block-group > p, .entry-content .alignwide > p { padding-left: 16px; padding-right: 16px; } }
/* Footer mobil kompakter */
@media (max-width: 781px) { .bhfb-footer ul.wp-block-list li { margin: .15em 0; } .bhfb-footer .wp-block-heading { margin-bottom: .4em; } .bhfb-footer .bhfb-main_footer_row .bhfb-column { padding-bottom: 8px; } }
/* Rechtstexte (Impressum, AGB, Datenschutz, Widerruf, Gewährleistung) */
.ds-rechtstext { max-width: 820px; margin: 0 auto; padding: 0 16px; font-size: .95rem; line-height: 1.6; }
.ds-rechtstext p { margin: 0 0 .8em; }
.ds-rechtstext h2 { font-size: 1.35rem; margin: 1.8em 0 .6em; }
.ds-rechtstext h3 { font-size: 1.1rem; margin: 1.4em 0 .5em; }
.ds-rechtstext h4 { font-size: 1rem; margin: 1.2em 0 .4em; }
.ds-rechtstext > div:first-of-type { margin: .5em 0 2em; line-height: 1.9; }
.ds-rechtstext > div:first-of-type a { color: inherit; text-decoration: none; }
.ds-rechtstext table td { padding: 1em; background: var(--ds-flaeche); border: 0; }
.ds-rechtstext ul { margin: 0 0 1em 1.2em; }
/* Widerrufsformular (Germanized Widerrufsbutton) */
.order-withdrawal-request { max-width: 520px; margin: 0 auto; padding: 0 16px; }
.order-withdrawal-request .form-row { display: block; margin: 0 0 14px; }
.order-withdrawal-request label { display: block; margin-bottom: 4px; font-weight: 600; font-size: .9rem; }
.order-withdrawal-request .woocommerce-input-wrapper, .order-withdrawal-request input.input-text { display: block; width: 100%; }
.order-withdrawal-request input.input-text { padding: 10px 12px; border: 1px solid var(--ds-hellgrau); border-radius: 10px; }
/* Globaler Button „Vertrag widerrufen“ unter dem Footer – farblich in den Footer integriert */
p.eu-owb-order-withdraw-from-contract-button { background: var(--ds-dunkelgrau); margin: 0 !important; padding: 0 16px 24px; }
p.eu-owb-order-withdraw-from-contract-button .button { background: transparent !important; border: 1px solid #fff !important; color: #fff !important; font-size: .85rem; padding: 8px 18px; }
p.eu-owb-order-withdraw-from-contract-button .button:hover { background: rgba(255,255,255,.12) !important; }
/* Info-Karten (Zahlungsarten, Versandarten) */
.ds-zahlart { background: var(--ds-flaeche); border-radius: 16px; padding: 18px 22px; margin: 0 0 16px; }
.ds-zahlart h3 { margin: 0 0 .4em !important; font-size: 1.1rem; }
.ds-zahlart p:last-child { margin-bottom: 0; }
.ds-versandtabelle { width: 100%; border-collapse: collapse; margin: 0; }
.ds-versandtabelle td { padding: 6px 0 !important; border: 0 !important; border-bottom: 1px solid #e3e1dd !important; background: transparent !important; }
.ds-versandtabelle tr:last-child td { border-bottom: 0 !important; }
.ds-versandtabelle td:last-child { text-align: right; font-weight: 600; }
.ds-versandtabelle, .ds-versandtabelle tbody, .ds-versandtabelle tr { border: 0 !important; background: transparent !important; }
/* Mengenwähler im Warenkorb (Block): schlichte Pille statt grauer Kasten */
.wc-block-components-quantity-selector { border: 1px solid var(--ds-hellgrau) !important; border-radius: 999px !important; background: #fff !important; overflow: hidden; }
.wc-block-components-quantity-selector::after { display: none !important; border: 0 !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button { background: transparent !important; color: #1d1d1f !important; border: 0 !important; box-shadow: none !important; min-width: 34px; opacity: 1; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:hover { background: var(--ds-flaeche) !important; color: var(--ds-rot) !important; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__button:disabled { opacity: .35; }
.wc-block-components-quantity-selector .wc-block-components-quantity-selector__input { background: transparent !important; box-shadow: none !important; }
.bhfb-header .menu-item.ds-menu-shop > a, .bhfb-mobile_offcanvas .menu-item.ds-menu-shop > a { font-weight: 700 !important; }
.ds-versandtabelle table { border: 0 !important; width: 100%; margin: 0; } .ds-usp figure.ds-usp-icon, .ds-usp .wp-block-image.ds-usp-icon { margin: 0 auto .3em !important; } .ds-usp .wp-block-image.ds-usp-icon img { width: 44px; height: 44px; } @media (max-width: 781px) { .ds-usp .wp-block-image.ds-usp-icon img { width: 36px; height: 36px; } }
/* Mengenwähler Produktseite (Botiga): ovale Pille wie im Warenkorb */
form.cart .quantity, .woocommerce .quantity { border: 1px solid var(--ds-hellgrau) !important; border-radius: 999px !important; background: #fff !important; overflow: hidden; }
.quantity .botiga-quantity-minus, .quantity .botiga-quantity-plus { color: #1d1d1f !important; background: transparent !important; transition: background .15s, color .15s; }
.quantity .botiga-quantity-minus:hover, .quantity .botiga-quantity-plus:hover { background: var(--ds-flaeche) !important; color: var(--ds-rot) !important; }
.quantity input.qty { background: transparent !important; box-shadow: none !important; }

/* WordPress-Emojis (img.emoji) auf Textgröße begrenzen – v0.1.9 */
img.emoji, img.wp-smiley {
	display: inline !important;
	width: 1em !important;
	height: 1em !important;
	max-width: 1em !important;
	margin: 0 .07em !important;
	vertical-align: -0.1em !important;
	box-shadow: none !important;
	border: 0 !important;
	background: none !important;
	padding: 0 !important;
}

/* Menü: größerer Abstand vor Menüpunkten mit Klasse ds-menu-gap (z. B. „Über mich“) – v0.2.0 */
.bhfb-header .menu-item.ds-menu-gap { margin-left: 40px; }
@media (max-width: 1024px) { .bhfb-header .menu-item.ds-menu-gap { margin-left: 0; } }

/* Footer: Text unter dem Logo (Widget block-11) auf Höhe der Linklisten der anderen Spalten – v0.2.1 */
#block-11 p { padding-top: 8px; }
@media (max-width: 767px) { #block-11 p { padding-top: 0; } }

/* Produktvideos (YouTube, responsiv 16:9) – v0.2.3 */
.ds-video { position: relative; width: 100%; max-width: 720px; aspect-ratio: 16 / 9; margin: 0 0 24px; border-radius: 12px; overflow: hidden; background: #000; }
.ds-video iframe, .ds-video > div { position: absolute; inset: 0; width: 100% !important; height: 100% !important; border: 0; }
.ds-video-label { margin: 16px 0 8px; }

/* Englisch-Hinweis auf den Rechtstext-Seiten – v0.2.5 */
.ds-legal-en-note { background: #f4f4f4; border-left: 4px solid var(--ds-rot, #550404); padding: 12px 16px; border-radius: 6px; }

/* Sprachumschalter DE/EN – v0.2.6 */
/* Desktop: Umschalter rechts neben Suche/Konto/Warenkorb (Sekundärmenü „Sprache“); der Eintrag im Hauptmenü erscheint nur im mobilen Menü. */
.bhfb-desktop .bhfb-component-menu .menu-item.ds-nur-mobil { display: none; }
.bhfb-desktop .bhfb-component-secondary_menu { margin-right: 8px; }
.bhfb-component-secondary_menu .ds-lang-switch > a { font-weight: 600; letter-spacing: .03em; }
.bhfb-component-secondary_menu .sub-menu { min-width: 80px; }
/* Englisch: Leerzeichen zwischen „plus“ und „shipping“ in den Germanized-Preisangaben */
html[lang^="en"] .wc-gzd-additional-info.shipping-costs-info a { margin-left: .25em; }

/* Sprachumschalter: Dropdown lesbar (vorher weiße Schrift auf weißem Grund) – v0.2.7 */
.bhfb-component-secondary_menu .sub-menu { width: auto !important; min-width: 72px; background: #fff !important; border-radius: 10px; box-shadow: 0 6px 20px rgba(0,0,0,.15); padding: 6px 0; }
.bhfb-component-secondary_menu .sub-menu a,
.bhfb-component-secondary_menu .sub-menu a span { color: #1d1d1f !important; font-weight: 600; }
.bhfb-component-secondary_menu .sub-menu a { padding: 8px 18px; text-align: center; }
.bhfb-component-secondary_menu .sub-menu a:hover,
.bhfb-component-secondary_menu .sub-menu a:hover span { color: #550404 !important; }

/* Produktseite: PayPal-Hinweis und Express-Buttons mit Abstand unter „Lieferzeit“ – v0.2.8 */
.single-product .summary .ppcp-messages { margin-top: 28px; margin-bottom: 8px; }
.single-product .summary .ppcp-messages:empty + .ppc-button-wrapper,
.single-product .summary > .ppc-button-wrapper:first-of-type { margin-top: 28px; }
