/* ============================================================
   Julias Herzblut – Marken-Overrides
   Wird NACH allen Theme-, WooCommerce- und Kadence-Styles
   geladen (Enqueue-Priorität 999 + Dependencies).
   Nur Ergänzungen – nichts wird gelöscht.
   Palette: cream #F7F3EC · paper #FFFDF8 · navy #1F2A37
            red #9E2B25 · sage #7C8F7A · line #E3DBCD
   ============================================================ */

:root{
	--jh-cream:#F7F3EC;
	--jh-paper:#FFFDF8;
	--jh-navy:#1F2A37;
	--jh-red:#9E2B25;
	--jh-red-dark:#7E211C;
	--jh-sage:#7C8F7A;
	--jh-line:#E3DBCD;
	--jh-ink-muted:#55554E;

	/* Theme-Token: kühles Blau-Grau (#2C3A4A) auf Navy ziehen */
	--navy-2:#1F2A37;

	/* Kadence-Palette neutralisieren: keine kühlen Grau-/Blautöne */
	--global-palette1:#9E2B25;
	--global-palette2:#1F2A37;
	--global-palette3:#1F2A37;
	--global-palette4:#1F2A37;
	--global-palette5:#55554E;
	--global-palette6:#55554E;
	--global-palette7:#FFFDF8;
	--global-palette8:#F7F3EC;
	--global-palette9:#FFFDF8;
	--global-palette-btn-bg:#9E2B25;
	--global-palette-btn-bg-hover:#7E211C;
	--global-palette-btn:#FFFFFF;
	--global-palette-btn-hover:#FFFFFF;
	--global-body-bg:#F7F3EC;
	--global-content-bg:#F7F3EC;
	--global-palette-highlight:#9E2B25;
	--global-palette-highlight-alt:#7E211C;
}

/* ---------------- Grundflächen & Grundtext ---------------- */
body,
body.custom-background,
.site,
.site-container,
.content-area,
.site-content,
.entry-content,
.wp-site-blocks,
.hb-main,
#hb-content{
	background-color:var(--jh-cream) !important;
	color:var(--jh-navy) !important;
}

body{ color:var(--jh-navy) !important; }

/* ---------------- Header ---------------- */
.site-header,
.main-header-row,
.hb-header,
#masthead{
	background-color:var(--jh-navy) !important;
	border-color:var(--jh-navy) !important;
}
.site-header a,
.site-title a,
.site-title,
.hb-header a,
.hb-header .hb-cart,
.hb-header .hb-mnav summary{
	color:#FFFDF8 !important;
}
.hb-header a:hover,
.site-header a:hover,
.site-title a:hover{
	color:var(--jh-line) !important;
}
.hb-header .hb-search,
.hb-header .hb-search input{
	color:#FFFDF8;
}
.hb-header .hb-search input::placeholder{
	color:rgba(255,255,255,.66);
}

/* Logo im Header */
.hb-header .hb-logo{
	background:#FFFDF8;
	border-radius:10px;
	padding:4px 9px;
	line-height:0;
	display:inline-flex;
	align-items:center;
	color:var(--jh-navy) !important;
}
.hb-header .hb-logo:hover{ color:var(--jh-navy) !important; }
.hb-logo-img{
	display:block;
	height:40px !important;
	width:auto !important;
	max-width:190px !important;
}
@media (max-width:900px){
	.hb-logo-img{ height:28px !important; max-width:150px !important; }
}

/* ---------------- Überschriften ---------------- */
h1,h2,h3,.entry-title,.product_title,
.woocommerce-products-header__title,
.hb-sec-head h2{
	font-family:Georgia,"Times New Roman",serif !important;
	color:var(--jh-navy);
}
h1,h2,h3,.entry-title{ color:var(--jh-navy) !important; }

/* ---------------- Links im Inhalt ---------------- */
a{ color:var(--jh-navy); }
a:hover,
a:focus{ color:var(--jh-red); }
a:visited{ color:var(--jh-navy); }
a:visited:hover{ color:var(--jh-red); }

/* ---------------- Buttons ---------------- */
.button,
.wp-block-button__link,
.single_add_to_cart_button,
.add_to_cart_button,
button[type="submit"],
input[type="submit"],
.checkout-button,
.wc-block-components-button,
.wc-block-components-checkout-place-order-button,
.woocommerce-message .button,
.woocommerce-info .button,
.woocommerce-error .button{
	background-color:var(--jh-red) !important;
	color:#FFFFFF !important;
	border:0 !important;
	border-radius:999px !important;
}
.button:hover,
.wp-block-button__link:hover,
.single_add_to_cart_button:hover,
.add_to_cart_button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.checkout-button:hover,
.wc-block-components-button:hover,
.wc-block-components-checkout-place-order-button:hover{
	background-color:var(--jh-red-dark) !important;
	color:#FFFFFF !important;
}
.button:focus,
.wc-block-components-button:focus{
	color:#FFFFFF !important;
}

/* Ghost-/Sekundärbuttons bleiben ruhig */
.hb-btn-ghost{
	background-color:transparent !important;
	color:var(--jh-navy) !important;
	border:1px solid var(--jh-line) !important;
	border-radius:999px !important;
}
.hb-btn-ghost:hover{
	background-color:#FFFFFF !important;
	color:var(--jh-navy) !important;
	border-color:var(--jh-navy) !important;
}

/* ---------------- Produktkarten ---------------- */
.woocommerce ul.products li.product,
.wc-block-grid__product{
	background:var(--jh-paper) !important;
	border:1px solid var(--jh-line) !important;
	border-radius:16px !important;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .price,
.wc-block-grid__product-title,
.wc-block-grid__product-price{
	color:var(--jh-navy) !important;
}
.woocommerce ul.products li.product a:hover .woocommerce-loop-product__title{
	color:var(--jh-red) !important;
}
.hb-card,.hb-step,.hb-filter,.hb-cls,.hb-chip{
	background-color:var(--jh-paper) !important;
	border-color:var(--jh-line) !important;
}

/* ---------------- Badges ---------------- */
.onsale,
.badge,
.chip,
.wc-block-components-product-sale-badge{
	background-color:var(--jh-sage) !important;
	color:#FFFFFF !important;
	border-radius:999px !important;
}

/* ---------------- Preise ---------------- */
.price,
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol,
.amount,
.hb-price{
	color:var(--jh-navy) !important;
}
.price del,
.woocommerce-Price-amount del{
	color:var(--jh-ink-muted) !important;
}

/* ---------------- Footer ---------------- */
.site-footer,
.hb-footer{
	background-color:var(--jh-navy) !important;
	color:#D8DEE6 !important;
}
.site-footer a,
.hb-footer a,
.hb-footer .hb-logo,
.hb-footer .hb-logo b{
	color:#D8DEE6 !important;
}
.site-footer a:hover,
.hb-footer a:hover{
	color:#FFFDF8 !important;
}
.hb-footer h4,
.site-footer h4,
.hb-footer .hb-foot-text,
.hb-footer .hb-fine{
	color:#C6CFD9 !important;
}

/* ---------------- Hinweise / Notices ---------------- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error,
.wc-block-components-notice-banner{
	color:var(--jh-navy) !important;
	border-radius:12px !important;
}
.woocommerce-message,
.wc-block-components-notice-banner.is-success{
	background:#EEF3EC !important;
	border-color:#CFDCC9 !important;
}
.woocommerce-info{
	background:#F1EBE0 !important;
	border-color:var(--jh-line) !important;
}
.woocommerce-error{
	background:#FBEDEC !important;
	border-color:#E8BDBA !important;
	color:#6E1F1A !important;
}

/* ---------------- Pagination / Breadcrumbs ---------------- */
.woocommerce-pagination a,
.woocommerce-pagination span.page-numbers{
	color:var(--jh-navy) !important;
	border-color:var(--jh-line) !important;
}
.woocommerce-pagination span.current{
	background:var(--jh-navy) !important;
	color:#FFFDF8 !important;
	border-color:var(--jh-navy) !important;
}
.woocommerce-breadcrumb,
.woocommerce-breadcrumb a{
	color:var(--jh-ink-muted) !important;
}

/* ---------------- Warum auch immer blaue Reste ---------------- */
.wc-block-components-totals-item,
.wc-block-components-order-summary-item,
.wc-block-components-product-name,
.wc-block-cart-item__total,
.wc-block-components-totals-footer-item,
.woocommerce-terms-and-conditions-wrapper a,
.woocommerce-privacy-policy-text a{
	color:var(--jh-navy) !important;
}

/* Blau hart ausschließen (Kadence-Akzentfarbe) */
.site-content a[style*="2B6CB0"],
.hb-main a[style*="2B6CB0"]{ color:var(--jh-navy) !important; }

/* ---------------- Formulare ---------------- */
.hb-main input[type="text"],
.hb-main input[type="email"],
.hb-main input[type="tel"],
.hb-main input[type="password"],
.hb-main input[type="search"],
.hb-main textarea,
.hb-main select,
.wc-block-components-text-input input,
.wc-block-components-select select{
	background-color:var(--jh-paper) !important;
	border-color:var(--jh-line) !important;
	color:var(--jh-navy) !important;
}
.hb-main label,
.woocommerce form .form-row label{
	color:var(--jh-navy) !important;
}

/* ---------------- Textfarben: kühles Grau ersetzen ---------------- */
.hb-main p,
.hb-main li,
.hb-main td,
.entry-content p,
.entry-content li,
....woocommerce-tabs .panel p,
.woocommerce-tabs .panel li,
.woocommerce-product-details__short-description p{
	color:var(--jh-navy);
}
.hb-hero p,
.hb-step p,
.hb-trust,
.hb-pages,
.woocommerce-result-count,
.woocommerce-breadcrumb{
	color:var(--jh-ink-muted) !important;
}

/* ---------------- Inhaltslinks (überschreibt .hb-page a) ---------------- */
.hb-page a,
.entry-content a{
	color:var(--jh-navy) !important;
}
.hb-page a:hover,
.entry-content a:hover,
.hb-page a:focus,
.entry-content a:focus{
	color:var(--jh-red) !important;
}

/* Buttons in Inhalten bleiben rot mit weißer Schrift
   (höhere Spezifität als .hb-page a / Kadence) */
.hb-page a.button,
.hb-page a.wp-block-button__link,
.hb-page a.add_to_cart_button,
.hb-main a.button,
.hb-main a.wp-block-button__link,
.hb-main a.add_to_cart_button,
.hb-main a.single_add_to_cart_button,
.hb-main a.checkout-button,
.wc-block-grid__product-add-to-cart a.wp-block-button__link,
.hb-page a.wc-block-components-button,
.hb-main a.wc-block-components-button,
.hb-page a.wc-block-cart__submit-button,
.hb-main a.wc-block-cart__submit-button,
a.wc-block-components-button.wc-block-cart__submit-button{
	background-color:var(--jh-red) !important;
	color:#FFFFFF !important;
	border:0 !important;
	border-radius:999px !important;
	padding:9px 18px !important;
	text-decoration:none !important;
}
.hb-page a.button:hover,
.hb-page a.wp-block-button__link:hover,
.hb-main a.wp-block-button__link:hover,
.hb-main a.add_to_cart_button:hover{
	background-color:var(--jh-red-dark) !important;
	color:#FFFFFF !important;
}

/* ============================================================
   A8-Nachbesserung 18.10.2026 – mobiler Overflow (390 px)
   A3-Galerie- und .alignwide-Hacks wurden entfernt; beide Ursachen
   sind an der Quelle behoben (Flexslider clippt selbst per Inline-
   overflow, alignwide-Margins in Kadence content.css geclampt).
   Hier bleibt nur die echte Ursache der Produktseite: die
   Varianten-Tabelle (Select bläht die Zelle auf).
   ============================================================ */
@media (max-width:480px){
	.hb-main .variations{
		table-layout:fixed;
		width:100%;
	}
	.hb-main .variations th{ width:88px; }
	.hb-main .variations td{ max-width:calc(100% - 88px); }
	.hb-main .variations select{
		width:100%;
		max-width:100%;
		min-width:0;
		box-sizing:border-box;
	}
	/* Tabellen generell nie breiter als der Viewport (kein Clipping) */
	table{ max-width:100%; }
	th,td{ overflow-wrap:anywhere; }
}
