/*
 Theme Name:   Waldgeschwister (Hello Biz Child)
 Description:  Child Theme von Hello Biz mit globalen responsive Styles
 Template:     hello-biz
 Version:      1.0.0
 Author:       Niko
 Text Domain:  waldgeschwister
*/

/* ==========================================================================
   GLOBAL RESPONSIVE PADDING
   Elementor Container haben standardmäßig padding: 0.
   Wenn Viewport < max-width, klebt Inhalt an den Rändern.
   Fix: Rein fluides Padding mit clamp() – keine festen Breakpoints.
   clamp(16px, 4vw, 40px) skaliert automatisch:
     – 400px Viewport → 16px
     – 600px Viewport → 24px
     – 1000px+ Viewport → 40px
   ========================================================================== */

.e-con-boxed.e-parent {
	padding-left: clamp(16px, 4vw, 40px);
	padding-right: clamp(16px, 4vw, 40px);
}

/* ==========================================================================
   JET STICKY FIX
   JetPlugins setzt eine feste Pixel-Breite per Inline-Style wenn der
   Header sticky wird. Beim Resize des Fensters wird diese nicht immer
   aktualisiert → Header bleibt bei alter Breite stecken.
   Fix: width: 100% !important überschreibt den Inline-Style.
   ========================================================================== */

.jet-sticky-section--stuck {
	width: 100% !important;
}

/* ==========================================================================
   OPT-OUT KLASSEN
   In Elementor bei "CSS-Klassen" eintragen:
   - fhg-no-padding     → Kein seitliches Padding (randlose Sections)
   - fhg-padding-narrow → Schmales Padding
   ========================================================================== */

.fhg-no-padding,
.fhg-no-padding > .e-con-inner {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.fhg-padding-narrow {
	padding-left: clamp(8px, 2vw, 20px) !important;
	padding-right: clamp(8px, 2vw, 20px) !important;
}

/* ==========================================================================
   GLOBALE FORM-STYLES (Figma: Input Component 1395:4448)
   Pill-shaped Inputs mit Dark Forest 40% Border.
   Gilt fuer: WooCommerce Blocks Checkout + Kontaktformulare
   ========================================================================== */

/* ---------- Text Inputs (Blocks Checkout) ---------- */

.wc-block-components-text-input input,
.wc-block-components-text-input textarea {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	line-height: 28px !important;
	letter-spacing: -0.18px !important;
	color: #0D2102 !important;
	background-color: transparent !important;
	border: 1.1px solid #9EA69A !important;
	border-radius: 80px !important;
	padding: 24px 27px 10px !important;
	height: auto !important;
	min-height: 65px !important;
	outline: none !important;
	box-shadow: none !important;
	transition: border-color 0.3s ease !important;
}

/* Textarea (Bestellnotizen) */
.wc-block-components-text-input textarea {
	border-radius: 30px !important;
	min-height: 120px !important;
	resize: vertical !important;
}

/* Floating Labels */
.wc-block-components-text-input label {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	color: rgba(13, 33, 2, 0.6) !important;
	left: 27px !important;
	right: 27px !important;
}

/* Focus State */
.wc-block-components-text-input.is-active input,
.wc-block-components-text-input input:focus,
.wc-block-components-text-input textarea:focus {
	border-color: #0D2102 !important;
	box-shadow: none !important;
	outline: none !important;
}

/* ---------- Select (Land/Region, Bundesland) ---------- */

.wc-blocks-components-select__container {
	font-family: 'Poppins', sans-serif !important;
	border: 1.1px solid #9EA69A !important;
	border-radius: 80px !important;
	min-height: 65px !important;
	background-color: transparent !important;
	transition: border-color 0.3s ease !important;
	position: relative !important;
}

.wc-blocks-components-select__select {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	font-size: 18px !important;
	line-height: 28px !important;
	letter-spacing: -0.18px !important;
	color: #0D2102 !important;
	padding: 24px 40px 10px 27px !important;
	border: none !important;
	background: transparent !important;
	outline: none !important;
	box-shadow: none !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	width: 100% !important;
	min-height: 65px !important;
}

.wc-blocks-components-select__label {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	color: rgba(13, 33, 2, 0.6) !important;
	left: 27px !important;
}

/* Select Focus */
.wc-blocks-components-select__container:focus-within {
	border-color: #0D2102 !important;
}

/* Select Arrow positionieren */
.wc-blocks-components-select__container svg,
.wc-blocks-components-select__expand {
	right: 20px !important;
	color: #0D2102 !important;
}

/* ---------- Checkbox ---------- */

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"] {
	width: 22px !important;
	height: 22px !important;
	border: 1.1px solid #9EA69A !important;
	border-radius: 6px !important;
	background-color: transparent !important;
	-webkit-appearance: none !important;
	appearance: none !important;
	cursor: pointer !important;
	flex-shrink: 0 !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:checked {
	background-color: #0D2102 !important;
	border-color: #0D2102 !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__input[type="checkbox"]:focus {
	outline: none !important;
	box-shadow: none !important;
}

.wc-block-components-checkbox .wc-block-components-checkbox__label,
.wc-block-components-checkbox label {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 400 !important;
	font-size: 16px !important;
	color: #0D2102 !important;
}

/* ---------- Section Headings ---------- */

.wc-block-components-checkout-step__heading,
.wc-block-checkout__form .wc-block-components-title {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 500 !important;
	color: #0D2102 !important;
}

/* ---------- Checkout Layout ---------- */

.wp-block-woocommerce-checkout {
	max-width: 1480px !important;
	margin: 0 auto !important;
	font-family: 'Poppins', sans-serif !important;
	color: #0D2102 !important;
}

/* ---------- Place Order Button ---------- */

.wc-block-components-checkout-place-order-button,
.wc-block-checkout__actions_row .wc-block-components-button {
	font-family: 'Poppins', sans-serif !important;
	font-weight: 500 !important;
	font-size: 24px !important;
	line-height: 30px !important;
	letter-spacing: -0.72px !important;
	color: #0D2102 !important;
	background-color: transparent !important;
	border: 1px solid #0D2102 !important;
	border-radius: 80px !important;
	padding: 11px 25px 13px !important;
	cursor: pointer !important;
	transition: background-color 0.3s ease, color 0.3s ease !important;
}

.wc-block-components-checkout-place-order-button:hover,
.wc-block-checkout__actions_row .wc-block-components-button:hover {
	background-color: #0D2102 !important;
	color: #FFFFFF !important;
}

/* Button Spinner bei Loading */
.wc-block-components-checkout-place-order-button .wc-block-components-spinner {
	color: #0D2102 !important;
}

.wc-block-components-checkout-place-order-button:hover .wc-block-components-spinner {
	color: #FFFFFF !important;
}

/* ---------- Order Summary (Sidebar) ---------- */

.wc-block-components-order-summary,
.wc-block-components-totals-wrapper {
	font-family: 'Poppins', sans-serif !important;
	color: #0D2102 !important;
}

.wc-block-components-totals-wrapper {
	border-color: rgba(222, 215, 174, 0.7) !important;
}

.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value {
	font-family: 'Poppins', sans-serif !important;
}

/* ---------- Notices / Fehler ---------- */

.wc-block-components-notice-banner {
	font-family: 'Poppins', sans-serif !important;
	border-radius: 16px !important;
}

/* ---------- Links ---------- */

.wc-block-checkout a,
.wc-block-components-checkout-return-to-cart-button {
	font-family: 'Poppins', sans-serif !important;
	color: rgba(13, 33, 2, 0.6) !important;
}

.wc-block-components-checkout-return-to-cart-button:hover {
	color: #0D2102 !important;
}

/* ---------- Mobile (< 768px) ---------- */

@media (max-width: 767px) {
	.wc-block-components-text-input input,
	.wc-blocks-components-select__select {
		font-size: 16px !important;
		padding: 22px 20px 8px !important;
		min-height: 54px !important;
	}

	.wc-blocks-components-select__container {
		min-height: 54px !important;
	}

	.wc-block-components-text-input label,
	.wc-blocks-components-select__label {
		left: 20px !important;
	}

	.wc-block-components-checkout-place-order-button,
	.wc-block-checkout__actions_row .wc-block-components-button {
		font-size: 20px !important;
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}

	.wc-blocks-components-select__select option {
		font-size: 14px !important;
		padding: 10px 20px !important;
	}
}
