:root {
	--gen09-yellow: #FDE100;
	--gen09-dark: #101010;
	--gen09-black: #080808;
	--gen09-surface: #ffffff;
	--gen09-page: #f4f5f7;
	--gen09-border: #e2e5e9;
	--gen09-muted: #656a73;
	--gen09-radius: 18px;
	--gen09-radius-small: 12px;
	--gen09-shadow: 0 12px 34px rgba(0, 0, 0, .08);
	--gen09-shadow-hover: 0 16px 42px rgba(0, 0, 0, .13);
}

/* Base / Astra ------------------------------------------------------------ */
body.gen09-astra-child {
	background: var(--gen09-page);
}

.gen09-astra-child a {
	text-underline-offset: 3px;
}

.gen09-astra-child .site-content {
	min-height: 55vh;
}


.gen09-astra-child .ast-primary-header-bar,
.gen09-astra-child .ast-mobile-header-wrap .ast-primary-header-bar {
	background: var(--gen09-dark);
	border-bottom: 1px solid rgba(255,255,255,.08);
}

.gen09-astra-child .site-title a,
.gen09-astra-child .site-header .site-description,
.gen09-astra-child .main-header-menu > .menu-item > .menu-link,
.gen09-astra-child .ast-header-html-1,
.gen09-astra-child .ast-header-account-wrap,
.gen09-astra-child .ast-site-header-cart .ast-addon-cart-wrap,
.gen09-astra-child .ast-menu-toggle {
	color: #fff;
}

.gen09-astra-child .main-header-menu > .menu-item:hover > .menu-link,
.gen09-astra-child .main-header-menu > .current-menu-item > .menu-link,
.gen09-astra-child .main-header-menu > .current-menu-ancestor > .menu-link {
	color: var(--gen09-yellow);
}

.gen09-astra-child .ast-mobile-menu-trigger-minimal {
	color: var(--gen09-yellow);
}

.gen09-astra-child .site-footer,
.gen09-astra-child .site-below-footer-wrap,
.gen09-astra-child .site-primary-footer-wrap,
.gen09-astra-child .site-above-footer-wrap {
	background: var(--gen09-dark);
	color: rgba(255,255,255,.78);
}

.gen09-astra-child .site-footer a {
	color: #fff;
}

.gen09-astra-child .site-footer a:hover {
	color: var(--gen09-yellow);
}

.gen09-astra-child button,
.gen09-astra-child input[type="button"],
.gen09-astra-child input[type="submit"],
.gen09-astra-child .button,
.gen09-astra-child .wp-element-button {
	border-radius: 999px;
	font-weight: 800;
	transition: transform .15s ease, box-shadow .15s ease, background-color .15s ease, color .15s ease;
}

.gen09-astra-child button:focus-visible,
.gen09-astra-child a:focus-visible,
.gen09-astra-child input:focus-visible,
.gen09-astra-child select:focus-visible,
.gen09-astra-child textarea:focus-visible {
	outline: 3px solid var(--gen09-yellow);
	outline-offset: 3px;
}

/* WooCommerce archive ----------------------------------------------------- */
.gen09-woocommerce .ast-container,
.gen09-woocommerce .site-content > .ast-container {
	max-width: 1240px;
}

.gen09-woocommerce .site-main {
	padding-top: 28px;
	padding-bottom: 56px;
}

.gen09-woocommerce .woocommerce-breadcrumb {
	font-size: 13px;
	color: var(--gen09-muted);
	margin-bottom: 18px;
}

.gen09-woocommerce .woocommerce-products-header,
.gen09-woocommerce .woocommerce-products-header__title.page-title {
	margin-bottom: 18px;
}

.gen09-woocommerce .woocommerce-products-header__title.page-title,
.gen09-woocommerce h1.entry-title {
	font-weight: 900;
	letter-spacing: -.035em;
}

.gen09-woocommerce .woocommerce-result-count,
.gen09-woocommerce .woocommerce-ordering {
	margin-bottom: 22px;
}

.gen09-woocommerce .woocommerce-ordering select {
	background: #fff;
	border: 1px solid var(--gen09-border);
	border-radius: 999px;
	min-height: 44px;
	padding-left: 16px;
	padding-right: 36px;
}

.gen09-woocommerce ul.products {
	gap: 22px 0;
}

.gen09-woocommerce ul.products li.product {
	background: var(--gen09-surface);
	border: 1px solid var(--gen09-border);
	border-radius: var(--gen09-radius);
	padding: 14px 14px 18px;
	box-shadow: 0 2px 0 rgba(0,0,0,.02);
	transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
	overflow: hidden;
}

.gen09-woocommerce ul.products li.product:hover {
	transform: translateY(-3px);
	box-shadow: var(--gen09-shadow-hover);
	border-color: transparent;
}

.gen09-woocommerce ul.products li.product a img {
	border-radius: 13px;
	margin-bottom: 16px;
	background: #f1f2f3;
}

.gen09-woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 17px;
	font-weight: 850;
	line-height: 1.25;
	color: #111;
	padding: 0 2px;
}

.gen09-woocommerce ul.products li.product .price {
	font-size: 17px;
	font-weight: 900;
	color: #111;
	margin: 10px 2px 14px;
}

.gen09-woocommerce ul.products li.product .price del {
	color: var(--gen09-muted);
	font-weight: 600;
}

.gen09-woocommerce ul.products li.product .button,
.gen09-woocommerce ul.products li.product .added_to_cart {
	width: 100%;
	text-align: center;
	background: var(--gen09-dark);
	color: #fff;
	border: 2px solid var(--gen09-dark);
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 16px;
}

.gen09-woocommerce ul.products li.product .button:hover,
.gen09-woocommerce ul.products li.product .added_to_cart:hover {
	background: var(--gen09-yellow);
	border-color: var(--gen09-yellow);
	color: #111;
}

.gen09-woocommerce span.onsale {
	background: var(--gen09-yellow);
	color: #111;
	font-weight: 900;
	min-height: auto;
	min-width: auto;
	line-height: 1;
	padding: 9px 11px;
	border-radius: 999px;
	box-shadow: 0 4px 16px rgba(0,0,0,.12);
}

/* Single product ---------------------------------------------------------- */
.gen09-single-product div.product {
	background: #fff;
	border: 1px solid var(--gen09-border);
	border-radius: 24px;
	padding: clamp(18px, 3vw, 38px);
	box-shadow: var(--gen09-shadow);
}

.gen09-single-product div.product .woocommerce-product-gallery img {
	border-radius: 16px;
}

.gen09-single-product div.product .product_title {
	font-weight: 900;
	letter-spacing: -.035em;
	line-height: 1.05;
}

.gen09-single-product div.product p.price,
.gen09-single-product div.product span.price {
	font-size: clamp(24px, 3vw, 34px);
	font-weight: 900;
	color: #111;
}

.gen09-single-product div.product .woocommerce-product-details__short-description {
	color: #343840;
	font-size: 16px;
	line-height: 1.7;
}

.gen09-single-product div.product form.cart {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: stretch;
	margin-top: 24px;
}

.gen09-single-product div.product form.cart .quantity .qty {
	min-height: 48px;
	border-radius: 12px;
	border: 1px solid var(--gen09-border);
}

.gen09-single-product div.product .single_add_to_cart_button,
.gen09-single-product div.product .button {
	min-height: 48px;
	background: var(--gen09-yellow);
	border: 2px solid var(--gen09-yellow);
	color: #111;
	font-weight: 900;
	padding-inline: 24px;
}

.gen09-single-product div.product .single_add_to_cart_button:hover,
.gen09-single-product div.product .button:hover {
	background: var(--gen09-dark);
	border-color: var(--gen09-dark);
	color: #fff;
	transform: translateY(-1px);
}

.gen09-single-product .woocommerce-tabs,
.gen09-single-product .related.products,
.gen09-single-product .up-sells {
	margin-top: 34px;
}

.gen09-single-product .woocommerce-tabs ul.tabs {
	border-bottom: 1px solid var(--gen09-border);
}

.gen09-single-product .woocommerce-tabs ul.tabs li a {
	font-weight: 800;
}

/* Forms, notices, common cards ------------------------------------------- */
.gen09-woocommerce .woocommerce-message,
.gen09-woocommerce .woocommerce-info,
.gen09-woocommerce .woocommerce-error {
	background: #fff;
	border: 1px solid var(--gen09-border);
	border-left: 5px solid var(--gen09-yellow);
	border-radius: var(--gen09-radius-small);
	box-shadow: 0 7px 24px rgba(0,0,0,.05);
	padding: 16px 18px 16px 22px;
}

.gen09-woocommerce .woocommerce-error {
	border-left-color: #c62828;
}

/* WooCommerce/Astra can inject a notice icon via ::before.
 * We already use the coloured left edge as the status marker, so the icon is
 * intentionally removed. This also prevents the icon box from overlapping the
 * first letters of messages such as "Dein Warenkorb ist derzeit leer.". */
.gen09-woocommerce .woocommerce-message::before,
.gen09-woocommerce .woocommerce-info::before,
.gen09-woocommerce .woocommerce-error::before,
.gen09-woocommerce .cart-empty.woocommerce-info::before {
	content: none !important;
	display: none !important;
}

.gen09-woocommerce .woocommerce-message,
.gen09-woocommerce .woocommerce-info,
.gen09-woocommerce .woocommerce-error {
	position: relative;
}

.gen09-woocommerce form .form-row input.input-text,
.gen09-woocommerce form .form-row textarea,
.gen09-woocommerce .select2-container .select2-selection--single,
.gen09-woocommerce input[type="text"],
.gen09-woocommerce input[type="email"],
.gen09-woocommerce input[type="tel"],
.gen09-woocommerce input[type="password"],
.gen09-woocommerce select,
.gen09-woocommerce textarea {
	border: 1px solid #cfd3d8;
	border-radius: 12px;
	background: #fff;
	min-height: 48px;
}

.gen09-woocommerce textarea {
	padding: 12px 14px;
}

.gen09-woocommerce form .form-row label {
	font-weight: 750;
	color: #25282d;
}

/* Cart -------------------------------------------------------------------- */
.gen09-cart .woocommerce-cart-form,
.gen09-cart .cart-collaterals .cart_totals {
	background: #fff;
	border: 1px solid var(--gen09-border);
	border-radius: var(--gen09-radius);
	box-shadow: var(--gen09-shadow);
	padding: clamp(16px, 2.5vw, 28px);
}

.gen09-cart .woocommerce table.shop_table {
	border: 0;
	border-collapse: separate;
	border-spacing: 0;
}

.gen09-cart .woocommerce table.shop_table th,
.gen09-cart .woocommerce table.shop_table td {
	border-color: var(--gen09-border);
}

.gen09-cart .woocommerce-cart-form img {
	border-radius: 10px;
}

.gen09-cart .cart-collaterals .cart_totals h2 {
	font-weight: 900;
}

.gen09-cart .wc-proceed-to-checkout .checkout-button,
.gen09-cart .woocommerce .button {
	background: var(--gen09-dark);
	color: #fff;
	border: 2px solid var(--gen09-dark);
	font-weight: 900;
}

.gen09-cart .wc-proceed-to-checkout .checkout-button:hover,
.gen09-cart .woocommerce .button:hover {
	background: var(--gen09-yellow);
	color: #111;
	border-color: var(--gen09-yellow);
}

/* Checkout ---------------------------------------------------------------- */
.gen09-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(330px, .85fr);
	gap: 26px;
	align-items: start;
}

.gen09-checkout #customer_details,
.gen09-checkout #order_review_heading,
.gen09-checkout #order_review {
	background: #fff;
	border: 1px solid var(--gen09-border);
	border-radius: var(--gen09-radius);
	box-shadow: var(--gen09-shadow);
}

.gen09-checkout #customer_details {
	padding: clamp(18px, 3vw, 30px);
}

.gen09-checkout #order_review_heading {
	padding: 20px 22px 0;
	margin: 0;
	border-bottom: 0;
	border-radius: var(--gen09-radius) var(--gen09-radius) 0 0;
	box-shadow: none;
	font-weight: 900;
}

.gen09-checkout #order_review {
	padding: 8px 22px 22px;
	border-top: 0;
	border-radius: 0 0 var(--gen09-radius) var(--gen09-radius);
	box-shadow: var(--gen09-shadow);
}

.gen09-checkout #place_order {
	width: 100%;
	min-height: 52px;
	background: var(--gen09-yellow);
	border: 2px solid var(--gen09-yellow);
	color: #111;
	font-size: 16px;
	font-weight: 950;
}

.gen09-checkout #place_order:hover {
	background: var(--gen09-dark);
	border-color: var(--gen09-dark);
	color: #fff;
}

.gen09-checkout .woocommerce-checkout-payment {
	border-radius: 14px !important;
	overflow: hidden;
}

/* My Account -------------------------------------------------------------- */
.gen09-account .woocommerce {
	display: grid;
	grid-template-columns: 260px minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

.gen09-account .woocommerce-MyAccount-navigation,
.gen09-account .woocommerce-MyAccount-content,
.gen09-account .woocommerce-form-login,
.gen09-account .woocommerce-form-register {
	background: #fff;
	border: 1px solid var(--gen09-border);
	border-radius: var(--gen09-radius);
	box-shadow: var(--gen09-shadow);
}

.gen09-account .woocommerce-MyAccount-navigation {
	width: 100%;
	padding: 10px;
}

.gen09-account .woocommerce-MyAccount-content {
	width: 100%;
	padding: clamp(18px, 3vw, 30px);
}

.gen09-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
}

.gen09-account .woocommerce-MyAccount-navigation-link a {
	display: block;
	border-radius: 10px;
	padding: 11px 13px;
	font-weight: 750;
	color: #202329;
}

.gen09-account .woocommerce-MyAccount-navigation-link.is-active a,
.gen09-account .woocommerce-MyAccount-navigation-link a:hover {
	background: var(--gen09-yellow);
	color: #111;
}

.gen09-account .woocommerce-form-login,
.gen09-account .woocommerce-form-register {
	padding: clamp(18px, 3vw, 30px);
}

/* WooCommerce Blocks ------------------------------------------------------ */
.gen09-woocommerce .wc-block-cart,
.gen09-woocommerce .wc-block-checkout {
	--wp--preset--color--contrast: var(--gen09-dark);
}

.gen09-woocommerce .wc-block-components-sidebar-layout .wc-block-components-main,
.gen09-woocommerce .wc-block-components-sidebar-layout .wc-block-components-sidebar {
	background: #fff;
	border: 1px solid var(--gen09-border);
	border-radius: var(--gen09-radius);
	box-shadow: var(--gen09-shadow);
	padding: clamp(16px, 2.5vw, 26px);
}

.gen09-woocommerce .wc-block-components-button:not(.is-link) {
	border-radius: 999px;
	font-weight: 900;
	min-height: 50px;
}

.gen09-woocommerce .wc-block-cart__submit-button,
.gen09-woocommerce .wc-block-components-checkout-place-order-button {
	background: var(--gen09-yellow);
	color: #111;
	border: 2px solid var(--gen09-yellow);
}

.gen09-woocommerce .wc-block-cart__submit-button:hover,
.gen09-woocommerce .wc-block-components-checkout-place-order-button:hover {
	background: var(--gen09-dark);
	color: #fff;
	border-color: var(--gen09-dark);
}

.gen09-woocommerce .wc-block-components-text-input input,
.gen09-woocommerce .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input {
	border-radius: 12px !important;
}

/* Responsive -------------------------------------------------------------- */
@media (max-width: 921px) {
	.gen09-checkout form.checkout,
	.gen09-account .woocommerce {
		display: block;
	}

	.gen09-checkout #customer_details,
	.gen09-checkout #order_review_heading {
		margin-top: 18px;
	}

	.gen09-account .woocommerce-MyAccount-navigation {
		margin-bottom: 18px;
	}

	.gen09-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		padding-bottom: 4px;
		scrollbar-width: thin;
	}

	.gen09-account .woocommerce-MyAccount-navigation li {
		flex: 0 0 auto;
		border: 0;
	}
}

@media (max-width: 544px) {

	.gen09-woocommerce .site-main {
		padding-top: 18px;
	}

	.gen09-woocommerce ul.products li.product {
		border-radius: 14px;
		padding: 10px 10px 14px;
	}

	.gen09-single-product div.product {
		border-radius: 16px;
		padding: 15px;
	}

	.gen09-single-product div.product form.cart {
		display: block;
	}

	.gen09-single-product div.product form.cart .quantity,
	.gen09-single-product div.product form.cart .single_add_to_cart_button {
		width: 100%;
		margin: 0 0 10px;
	}

	.gen09-cart .woocommerce-cart-form,
	.gen09-cart .cart-collaterals .cart_totals,
	.gen09-checkout #customer_details,
	.gen09-checkout #order_review,
	.gen09-account .woocommerce-MyAccount-content {
		border-radius: 14px;
		padding: 15px;
	}

	.gen09-woocommerce .wc-block-components-sidebar-layout .wc-block-components-main,
	.gen09-woocommerce .wc-block-components-sidebar-layout .wc-block-components-sidebar {
		border-radius: 14px;
		padding: 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.gen09-astra-child *,
	.gen09-astra-child *::before,
	.gen09-astra-child *::after {
		scroll-behavior: auto !important;
		transition-duration: .01ms !important;
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
	}
}

/* v1.0.1 – Mobile Astra header polish ------------------------------------ */
@media (max-width: 921px) {
	/* Astra can use above/primary/below rows independently on mobile. Keep
	 * every active row in the GEN09 palette so no white/grey strip appears. */
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-above-header-bar,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-below-header-bar,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-above-header-wrap,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-primary-header-wrap,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-below-header-wrap {
		background: var(--gen09-dark) !important;
		color: #fff;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-primary-header-bar {
		border-bottom: 1px solid rgba(253, 225, 0, .35) !important;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-primary-header-wrap {
		min-height: 64px;
	}

	/* Make the mobile toggle look intentional instead of like Astra's
	 * default outlined square. */
	.gen09-astra-child #masthead .ast-mobile-header-wrap .menu-toggle.main-header-menu-toggle,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-button-wrap .menu-toggle {
		width: 48px;
		height: 48px;
		min-width: 48px;
		min-height: 48px;
		padding: 0;
		border: 0 !important;
		border-radius: 14px;
		background: var(--gen09-yellow) !important;
		color: #111 !important;
		box-shadow: none !important;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .menu-toggle svg,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .menu-toggle .ast-mobile-svg {
		fill: #111 !important;
		color: #111 !important;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-title a,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-description,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-header-html,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-header-html a {
		color: #fff !important;
	}

	/* If the branding/logo is placed in an additional mobile row, keep it
	 * compact and readable rather than producing a washed-out hero strip. */
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-below-header-bar .site-below-header-wrap,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-above-header-bar .site-above-header-wrap {
		padding-top: 14px;
		padding-bottom: 14px;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-logo-img img,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .custom-logo {
		max-height: 76px;
		width: auto;
	}

	.gen09-astra-child .ast-mobile-popup-drawer .ast-mobile-popup-inner,
	.gen09-astra-child .ast-mobile-header-wrap .ast-mobile-header-content {
		background: var(--gen09-dark) !important;
		color: #fff;
	}

	.gen09-astra-child .ast-mobile-popup-drawer .main-header-menu .menu-link,
	.gen09-astra-child .ast-mobile-header-content .main-header-menu .menu-link {
		color: #fff;
	}

	.gen09-astra-child .ast-mobile-popup-drawer .main-header-menu .current-menu-item > .menu-link,
	.gen09-astra-child .ast-mobile-popup-drawer .main-header-menu .menu-link:hover,
	.gen09-astra-child .ast-mobile-header-content .main-header-menu .current-menu-item > .menu-link,
	.gen09-astra-child .ast-mobile-header-content .main-header-menu .menu-link:hover {
		color: var(--gen09-yellow);
	}
}

@media (max-width: 544px) {

	/* Empty-cart state: cleaner spacing on phones. */
	.gen09-cart .woocommerce {
		max-width: 760px;
		margin-inline: auto;
	}

	.gen09-cart .cart-empty.woocommerce-info,
	.gen09-cart .woocommerce-info.cart-empty {
		margin-top: 8px;
		margin-bottom: 22px;
		font-size: 16px;
		line-height: 1.45;
	}

	.gen09-cart .return-to-shop .button {
		min-height: 50px;
		padding: 12px 24px;
	}
}

/* v1.0.3 – Compact mobile menu row --------------------------------------- */
@media (max-width: 921px) {
	/* Astra's responsive header height can inherit a very large value from
	 * the Header Builder. On the current shop this produced a tall empty black
	 * band with the menu button floating in the middle. Keep the mobile menu
	 * row deliberately compact; the dropdown itself remains outside this row. */
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-primary-header-wrap,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-primary-header-wrap > .ast-builder-grid-row {
		min-height: 60px !important;
		height: 60px !important;
		max-height: 60px !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-primary-header-wrap > .ast-builder-grid-row {
		position: relative;
		align-items: center !important;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-header-section,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-builder-layout-element,
	.gen09-astra-child #masthead .ast-mobile-header-wrap [data-section="section-header-mobile-trigger"] {
		min-height: 0 !important;
		height: auto !important;
		padding-top: 0 !important;
		padding-bottom: 0 !important;
	}

	/* The current Header Builder places the trigger in a centred cell. Anchor
	 * the actual trigger to the right edge instead, without changing Astra's
	 * HTML or menu JavaScript. */
	.gen09-astra-child #masthead .ast-mobile-header-wrap [data-section="section-header-mobile-trigger"] {
		position: absolute !important;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		z-index: 5;
		margin: 0 !important;
		display: flex !important;
		align-items: center;
		justify-content: flex-end;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap [data-section="section-header-mobile-trigger"] .ast-button-wrap {
		margin: 0 !important;
		padding: 0 !important;
		line-height: 1;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .menu-toggle.main-header-menu-toggle,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-button-wrap .menu-toggle {
		width: 44px;
		height: 44px;
		min-width: 44px;
		min-height: 44px;
		max-width: 44px;
		max-height: 44px;
		border-radius: 12px;
		margin: 0 !important;
		padding: 0 !important;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .menu-toggle .mobile-menu-toggle-icon,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .menu-toggle .ast-mobile-svg {
		line-height: 1;
	}

	/* Dropdown/menu area: open below the compact row instead of visually
	 * becoming part of the trigger band. */
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-mobile-header-content {
		width: 100%;
		border-top: 1px solid rgba(253, 225, 0, .28);
		box-shadow: 0 14px 28px rgba(0, 0, 0, .18);
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-mobile-header-content .main-navigation,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-mobile-header-content .main-header-menu {
		width: 100%;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-mobile-header-content .main-header-menu .menu-link {
		display: flex;
		align-items: center;
		min-height: 48px;
		padding: 12px 20px;
		border-bottom: 1px solid rgba(255, 255, 255, .08);
	}
}

@media (max-width: 544px) {
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-primary-header-bar,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-primary-header-wrap,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .site-primary-header-wrap > .ast-builder-grid-row {
		min-height: 56px !important;
		height: 56px !important;
		max-height: 56px !important;
	}

	.gen09-astra-child #masthead .ast-mobile-header-wrap .menu-toggle.main-header-menu-toggle,
	.gen09-astra-child #masthead .ast-mobile-header-wrap .ast-button-wrap .menu-toggle {
		width: 42px;
		height: 42px;
		min-width: 42px;
		min-height: 42px;
		max-width: 42px;
		max-height: 42px;
		border-radius: 11px;
	}
}

/* v1.0.5 – Remove visually empty Astra mobile rows ----------------------- */
@media (max-width: 921px) {
	/* Astra may still render a configured mobile Header-Builder row even when
	 * its component is hidden on the current viewport/page. The small helper
	 * script marks only rows that have no visible branding/control. Collapsing
	 * those rows removes the empty black band without touching the row that
	 * contains the GEN09 branding or the hamburger button. */
	.gen09-astra-child #masthead .ast-mobile-header-wrap .gen09-empty-mobile-header-row {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		overflow: hidden !important;
	}
}

/* v1.0.7 – Keep the mobile menu while removing empty header rows ---------- */
@media (max-width: 921px) {
	/* Do not hard-hide Astra's mobile Above Header row: depending on the Header
	 * Builder setup it can contain the real mobile-menu trigger. Empty rows are
	 * collapsed by mobile-header.js instead. */
	.gen09-astra-child #masthead #ast-mobile-header .gen09-mobile-trigger-row {
		display: block !important;
		height: auto !important;
		min-height: 0 !important;
		max-height: none !important;
		overflow: visible !important;
	}

	/* When the existing Astra trigger is placed into the visible branding row,
	 * reserve a small area on the right so title/description cannot collide. */
	.gen09-astra-child #masthead #ast-mobile-header .gen09-mobile-branding-trigger-row,
	.gen09-astra-child #masthead #ast-mobile-header .gen09-mobile-branding-trigger-row > .ast-builder-grid-row {
		position: relative !important;
	}

	.gen09-astra-child #masthead #ast-mobile-header .gen09-mobile-branding-trigger-row > .ast-builder-grid-row {
		padding-right: 58px !important;
	}

	.gen09-astra-child #masthead #ast-mobile-header .gen09-mobile-branding-trigger-row [data-section="section-header-mobile-trigger"] {
		display: flex !important;
		position: absolute !important;
		right: 8px !important;
		top: 50% !important;
		transform: translateY(-50%) !important;
		z-index: 20 !important;
	}

	/* Keep Astra's desktop builder from reserving the former empty band at the
	 * mobile breakpoint. This was the part of v1.0.6 that correctly removed the
	 * blank area and is safe because the actual mobile trigger stays in
	 * #ast-mobile-header. */
	.gen09-astra-child.ast-header-break-point #masthead #ast-desktop-header,
	.gen09-astra-child #masthead #ast-desktop-header {
		display: none !important;
		height: 0 !important;
		min-height: 0 !important;
		max-height: 0 !important;
		margin: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		overflow: hidden !important;
	}
}
