/*
 Theme Name:   Bricks Child Theme
 Theme URI:    https://bricksbuilder.io/
 Description:  Use this child theme to extend Bricks.
 Author:       Bricks
 Author URI:   https://bricksbuilder.io/
 Template:     bricks
 Version:      1.1
 Text Domain:  bricks
*/

/* Self-hosted fonts (latin subset, no Google Fonts requests) */
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/BeVietnamPro-400.woff2') format('woff2');
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: italic;
	font-weight: 400;
	font-display: swap;
	src: url('fonts/BeVietnamPro-400italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/BeVietnamPro-500.woff2') format('woff2');
}
@font-face {
	font-family: 'Be Vietnam Pro';
	font-style: normal;
	font-weight: 600;
	font-display: swap;
	src: url('fonts/BeVietnamPro-600.woff2') format('woff2');
}
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: normal;
	font-weight: 300 700;
	font-display: swap;
	src: url('fonts/CormorantGaramond.woff2') format('woff2');
}
@font-face {
	font-family: 'Cormorant Garamond';
	font-style: italic;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/CormorantGaramond-italic.woff2') format('woff2');
}
@font-face {
	font-family: 'Caveat';
	font-style: normal;
	font-weight: 500;
	font-display: swap;
	src: url('fonts/Caveat-500.woff2') format('woff2');
}

/* Site-wide content width with side gutters (sections stay full-bleed) */
:root {
	--mg-gutter: clamp(2rem, 5vw, 4.8rem);
	--mg-container: 128rem;
	--mg-container-width: min(var(--mg-container), 100% - 2 * var(--mg-gutter));
}
.brxe-container {
	width: var(--mg-container-width);
}

/* Product buy box: WooCommerce variation form (Bricks "Add to cart" element) */
.mg-buy__box .cart {
	margin-bottom: 2.4rem;
}
.mg-buy__box .variations {
	width: 100%;
	margin: 0 0 1.6rem;
	border: 0;
}
.mg-buy__box .variations tbody,
.mg-buy__box .variations tr,
.mg-buy__box .variations th,
.mg-buy__box .variations td {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	text-align: left;
}
.mg-buy__box .variations label {
	display: block;
	margin-bottom: 0.6rem;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ink-muted);
}
.mg-buy__box .variations select {
	width: 100%;
	height: 4.8rem;
	padding: 0 1.2rem;
	font: inherit;
	font-size: 1.5rem;
	color: var(--ink);
	background-color: var(--surface);
	border: 1px solid var(--line);
	border-radius: 0.3rem;
}
.mg-buy__box .reset_variations {
	font-size: 1.2rem;
}
.mg-buy__box .woocommerce-variation-add-to-cart,
.mg-buy__box form.cart:not(.variations_form) {
	display: flex;
	gap: 1.2rem;
	margin-top: 1.6rem;
}
.mg-buy__box form.cart .quantity {
	display: flex;
	align-items: stretch;
	width: auto;
	height: 4.8rem;
	border: 1px solid var(--line);
	border-radius: 0.3rem;
	background-color: var(--surface);
	overflow: hidden;
}
.mg-buy__box form.cart .quantity .qty {
	width: 4.4rem;
	height: 100%;
	margin: 0;
	padding: 0;
	font: inherit;
	font-weight: 600;
	line-height: 1;
	color: var(--ink);
	text-align: center;
	border: 0;
	border-radius: 0;
}
.mg-buy__box form.cart .quantity .action {
	width: 4rem;
	height: 100%;
	border: 0;
	color: var(--ink-muted);
	opacity: 1;
	transition: color 0.2s, background-color 0.2s;
}
.mg-buy__box form.cart .quantity .action:hover {
	color: var(--ink);
	background-color: var(--cream);
}
.mg-buy__box form.cart .quantity .action svg {
	width: 1.6rem;
	height: 1.6rem;
}
.mg-buy__box form.cart .quantity:focus-within {
	border-color: var(--sand);
}
.mg-buy__box form.cart .quantity + button {
	margin-top: 0;
}
.mg-buy__box .single_add_to_cart_button {
	flex: 1;
	height: 4.8rem;
	padding: 0 2.4rem;
	font-family: 'Be Vietnam Pro', system-ui, sans-serif;
	font-size: 1.3rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--night);
	background-color: var(--sand);
	border: 0;
	border-radius: 0.3rem;
	cursor: pointer;
	transition: background-color 0.2s;
}
.mg-buy__box .single_add_to_cart_button:hover {
	background-color: var(--sand-light);
}
.mg-buy__box .single_add_to_cart_button.disabled {
	opacity: 0.5;
	cursor: not-allowed;
}

/*
 * Transparent header over the first section ("Inhalt hinter das Menü ziehen").
 * Enable per page/template: Bricks page settings → CSS classes (body) → mg-header-overlay
 * The header stays in the normal flow (<body> is a flex container in Bricks, so an absolutely positioned header
 * would always jump to the very top, e.g. over the Notice Bar Manager bar); the first section is pulled up instead.
 */
:root {
	--mg-header-h: 7.2rem;
}
body.mg-header-overlay #brx-header {
	position: relative;
	z-index: 100;
}
body.mg-header-overlay #brx-header .mg-header {
	background-color: transparent;
	background-image: linear-gradient(180deg, rgba(11, 19, 38, 0.6) 0%, rgba(11, 19, 38, 0) 100%);
}
/* Only when the section directly follows the header; product pages have an (empty) WooCommerce notices wrapper first */
body.mg-header-overlay #brx-content > section.brxe-section:first-child,
body.mg-header-overlay #brx-content > .woocommerce-notices-wrapper:empty:first-child + section.brxe-section {
	margin-top: calc(-1 * var(--mg-header-h));
	padding-top: calc(var(--mg-header-h) + clamp(4rem, 7vw, 9.6rem));
}

/* "Leinwand ab" / "Poster ab" before the from price, hint after an automatic size change (mg-shop-tools plugin) */
.price .mg-price-from {
	font-size: .55em;
	font-weight: 400;
	letter-spacing: .02em;
	color: var(--ink-muted);
}
.mg-buy__box .mg-variation-hint {
	margin: 0.8rem 0 0;
	padding: 0.8rem 1.2rem;
	font-size: 1.3rem;
	line-height: 1.4;
	color: var(--ink);
	background-color: var(--cream);
	border-left: 0.3rem solid var(--sand);
	border-radius: 0.3rem;
}

/* Standard product template: hide empty detail sections, style WooCommerce tabs */
.mg-section:has(> .brxe-container > .brxe-product-tabs:empty),
.mg-section:has(> .brxe-container > .brxe-product-tabs:not(:has(.woocommerce-tabs))) {
	display: none;
}
.brxe-product-tabs .wc-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 2.4rem;
	margin: 0 0 2.4rem;
	padding: 0;
	list-style: none;
	border-bottom: 1px solid var(--line);
}
.brxe-product-tabs .wc-tabs li a {
	display: inline-block;
	padding-block: 1.2rem;
	font-size: 1.4rem;
	font-weight: 600;
	color: var(--ink-muted);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	margin-bottom: -1px;
}
.brxe-product-tabs .wc-tabs li.active a {
	color: var(--ink);
	border-bottom-color: var(--sand);
}
.brxe-product-tabs .woocommerce-Tabs-panel {
	max-width: 80rem;
	font-size: 1.6rem;
	line-height: 1.7;
}

/* Product gallery: prev/next arrows outside the main image (includes/product-gallery.php); inside on small screens */
.woocommerce-product-gallery > .flex-direction-nav{list-style:none;margin:0;padding:0;}
.woocommerce-product-gallery > .flex-direction-nav a{position:absolute;top:50%;z-index:10;display:grid;place-items:center;width:3.2rem;height:6.4rem;color:var(--night);font-size:0;text-decoration:none;transform:translateY(-50%);transition:color .2s,opacity .2s;}
.woocommerce-product-gallery > .flex-direction-nav a:hover,.woocommerce-product-gallery > .flex-direction-nav a:focus-visible{color:var(--sand-dark);}
.woocommerce-product-gallery > .flex-direction-nav a::before{content:"";width:1.6rem;height:1.6rem;border-top:.2rem solid currentColor;border-right:.2rem solid currentColor;}
.woocommerce-product-gallery > .flex-direction-nav .flex-prev{left:-3.6rem;}
.woocommerce-product-gallery > .flex-direction-nav .flex-prev::before{transform:translateX(.4rem) rotate(-135deg);}
.woocommerce-product-gallery > .flex-direction-nav .flex-next{right:-3.6rem;}
.woocommerce-product-gallery > .flex-direction-nav .flex-next::before{transform:translateX(-.4rem) rotate(45deg);}
.woocommerce-product-gallery > .flex-direction-nav .flex-disabled{opacity:.2;pointer-events:none;}
@media (max-width:767px){
	.woocommerce-product-gallery > .flex-direction-nav a{width:3.6rem;height:3.6rem;border-radius:50%;background-color:rgba(255,255,255,.8);}
	.woocommerce-product-gallery > .flex-direction-nav a::before{width:1.1rem;height:1.1rem;}
	.woocommerce-product-gallery > .flex-direction-nav .flex-prev{left:.8rem;}
	.woocommerce-product-gallery > .flex-direction-nav .flex-next{right:.8rem;}
}

/* Product gallery: main image and thumbnails sit on square canvases and are contained, so landscape, portrait and
   mockup images keep their full frame and the gallery height never jumps. No zoom (Bricks setting), no magnifier
   icon; a click on the image still opens the lightbox. */
.brxe-product-gallery .woocommerce-product-gallery__trigger{display:none;}
.brxe-product-gallery > .woocommerce-product-gallery .flex-viewport .woocommerce-product-gallery__image{aspect-ratio:1;}
.brxe-product-gallery > .woocommerce-product-gallery > .flex-viewport{clip-path:inset(0 1px 0 0);} /* fractional slide widths let a 1px sliver of the next image show */
.brxe-product-gallery > .woocommerce-product-gallery .woocommerce-product-gallery__image > a{display:block;height:100%;}
.brxe-product-gallery > .woocommerce-product-gallery .woocommerce-product-gallery__image img{width:100%;height:100%;object-fit:contain;}
.brxe-product-gallery.thumbnail-slider .brx-product-gallery-thumbnail-slider .woocommerce-product-gallery__image{aspect-ratio:1;cursor:pointer;opacity:.6;transition:opacity .2s;}
.brxe-product-gallery.thumbnail-slider .brx-product-gallery-thumbnail-slider .woocommerce-product-gallery__image:hover,
.brxe-product-gallery.thumbnail-slider .brx-product-gallery-thumbnail-slider .flex-active-slide{opacity:1;}
.brxe-product-gallery.thumbnail-slider .brx-product-gallery-thumbnail-slider .woocommerce-product-gallery__image > a{display:block;height:100%;}
.brxe-product-gallery.thumbnail-slider .brx-product-gallery-thumbnail-slider .woocommerce-product-gallery__image img{width:100%;height:100%;aspect-ratio:auto;object-fit:contain;}

/* Header navigation (Bricks "Nav menu" element, WordPress menu "Hauptnavigation"): links like the former mg-nav__link,
   dropdowns as white cards (same look as the mini cart), burger menu below 992px as a dark panel from the right */
#brx-header .mg-mainnav{margin-right:auto;}
#brx-header .mg-mainnav .bricks-nav-menu{gap:2.4rem;white-space:nowrap;}
#brx-header .mg-header__cta{white-space:nowrap;}
#brx-header .mg-mainnav .bricks-nav-menu > li > a,
#brx-header .mg-mainnav .bricks-nav-menu > li > .brx-submenu-toggle > a{padding-block:.6rem;font-size:1.4rem;font-weight:500;color:rgba(255,255,255,.88);text-decoration:none;border-bottom:1px solid transparent;transition:color .2s,border-color .2s;}
#brx-header .mg-mainnav .bricks-nav-menu > li:hover > a,
#brx-header .mg-mainnav .bricks-nav-menu > li:hover > .brx-submenu-toggle > a,
#brx-header .mg-mainnav .bricks-nav-menu > :is(.current-menu-item,.current-menu-ancestor,.current-menu-parent) > a,
#brx-header .mg-mainnav .bricks-nav-menu > :is(.current-menu-item,.current-menu-ancestor,.current-menu-parent) > .brx-submenu-toggle > a{color:#fff;border-bottom-color:var(--sand);}
#brx-header .mg-mainnav .bricks-nav-menu .brx-submenu-toggle button{margin-left:.4rem;color:rgba(255,255,255,.7);}
#brx-header .mg-mainnav .bricks-nav-menu .brx-submenu-toggle svg{width:1rem;height:1rem;}
#brx-header .mg-mainnav .bricks-nav-menu .sub-menu{min-width:22rem;padding:.8rem;border-radius:.8rem;background-color:var(--surface);box-shadow:0 1.2rem 3.2rem rgba(20,32,58,.18);}
#brx-header .mg-mainnav .bricks-nav-menu .sub-menu > li{background:none;}
#brx-header .mg-mainnav .bricks-nav-menu .sub-menu a{display:block;width:100%;height:auto;padding:.9rem 1.2rem;line-height:1.4;border-radius:.4rem;font-size:1.4rem;font-weight:500;color:var(--ink);text-decoration:none;white-space:nowrap;transition:background-color .2s,color .2s;}
#brx-header .mg-mainnav .bricks-nav-menu .sub-menu a:hover,
#brx-header .mg-mainnav .bricks-nav-menu .sub-menu .current-menu-item > a{background-color:var(--cream);color:var(--ink);}
#brx-header .mg-mainnav .bricks-mobile-menu-toggle{color:#fff;}
#brx-header .mg-mainnav .bricks-mobile-menu-wrapper{width:min(36rem,100vw);padding-top:var(--mg-header-h);}
#brx-header .mg-mainnav .bricks-mobile-menu-wrapper::before{background-color:var(--night);}
#brx-header .mg-mainnav .bricks-mobile-menu > li > a,
#brx-header .mg-mainnav .bricks-mobile-menu > li > .brx-submenu-toggle > *{padding:1.2rem 3.2rem;font-size:1.8rem;font-weight:500;line-height:1.3;color:#fff;}
#brx-header .mg-mainnav .bricks-mobile-menu > li{border-bottom:1px solid rgba(255,255,255,.1);}
#brx-header .mg-mainnav .bricks-mobile-menu .sub-menu{padding-bottom:1.2rem;}
#brx-header .mg-mainnav .bricks-mobile-menu .sub-menu a{padding:.7rem 3.2rem .7rem 4.8rem;font-size:1.5rem;color:rgba(255,255,255,.75);}
#brx-header .mg-mainnav .bricks-mobile-menu :is(.current-menu-item,.current-menu-ancestor) > :is(a,.brx-submenu-toggle > a){color:var(--sand);}
#brx-header .mg-mainnav .bricks-mobile-menu-overlay{background-color:rgba(11,19,38,.5);}
/* Below 992px: one row – burger left, logo centered, search + cart right (account and CTA hidden; "Mein Konto" is in the footer) */
@media (max-width:991px){
	#brx-header .mg-header__inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1.2rem;}
	#brx-header .mg-mainnav{grid-column:1;grid-row:1;justify-self:start;margin-right:0;}
	#brx-header .brxe-logo{grid-column:2;grid-row:1;}
	#brx-header .mg-header__actions{grid-column:3;grid-row:1;justify-self:end;gap:0;}
	#brx-header .mg-header__actions > .mg-header__icon-link{display:none;}
}
@media (max-width:478px){
	#brx-header .brxe-logo img{width:auto;height:2.2rem;}
}

/* Header search (Bricks "Search" element, icon + overlay) */
:root{--mg-icon-search:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E");}
#brx-header .mg-header-search .toggle{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;padding:0;border-radius:50%;color:#fff;transition:background-color .2s;}
#brx-header .mg-header-search .toggle:hover{background-color:rgba(255,255,255,.1);}
#brx-header .mg-header-search .toggle i{display:none;}
#brx-header .mg-header-search .toggle::before{content:"";width:2rem;height:2rem;background-color:currentColor;-webkit-mask:var(--mg-icon-search) center/contain no-repeat;mask:var(--mg-icon-search) center/contain no-repeat;}
#brx-header .mg-header-search .bricks-search-overlay{background-color:rgba(11,19,38,.96);}
#brx-header .mg-header-search .bricks-search-inner{width:min(72rem,calc(100% - 3.2rem));}
#brx-header .mg-header-search .title{margin:0 0 2.4rem;font-family:'Cormorant Garamond',serif;font-size:clamp(3.2rem,4vw,4.8rem);font-weight:600;line-height:1.1;color:#fff;text-align:center;}
#brx-header .mg-header-search input[type=search]{width:100%;height:6.4rem;padding:0 2.4rem;font:inherit;font-size:2rem;color:var(--ink);background-color:var(--surface);border:0;border-radius:.4rem;}
#brx-header .mg-header-search .close{font-size:4rem;color:#fff;}

/* Header mini cart (Bricks "Mini cart" element): same look as the other header icons, badge, compact dropdown */
#brx-header .brxe-woocommerce-mini-cart{color:#fff;}
#brx-header .brxe-woocommerce-mini-cart .mini-cart-link{display:inline-flex;align-items:center;justify-content:center;width:4rem;height:4rem;border-radius:50%;color:inherit;transition:background-color .2s;}
#brx-header .brxe-woocommerce-mini-cart .mini-cart-link:hover{background-color:rgba(255,255,255,.1);}
#brx-header .brxe-woocommerce-mini-cart .cart-icon{position:relative;display:block;width:2rem;height:2rem;}
#brx-header .brxe-woocommerce-mini-cart .cart-icon::before{content:"";position:absolute;inset:0;background-color:currentColor;-webkit-mask:var(--mg-icon-bag) center/contain no-repeat;mask:var(--mg-icon-bag) center/contain no-repeat;}
#brx-header .brxe-woocommerce-mini-cart .cart-count{position:absolute;top:-.7rem;right:-.9rem;display:grid;place-items:center;min-width:1.7rem;height:1.7rem;padding:0 .4rem;border-radius:.9rem;background-color:var(--sand);color:var(--night);font-size:1.05rem;font-weight:600;line-height:1;}
#brx-header .brxe-woocommerce-mini-cart .cart-detail{width:32rem;padding:1.6rem;border-radius:.8rem;background-color:var(--surface);color:var(--ink);font-size:1.4rem;box-shadow:0 1.2rem 3.2rem rgba(20,32,58,.18);}
#brx-header .brxe-woocommerce-mini-cart .mini_cart_item > a:not(.remove){font-size:1.5rem;font-weight:600;line-height:1.35;}
#brx-header .brxe-woocommerce-mini-cart .mini_cart_item .delivery-time-info{margin:.4rem 0 0;font-size:1.3rem;font-weight:400;color:var(--ink-muted);}
#brx-header .brxe-woocommerce-mini-cart .mini_cart_item dl.variation{display:none;} /* size is already part of the variation name */
#brx-header .brxe-woocommerce-mini-cart .mini_cart_item .quantity{font-size:1.3rem;color:var(--ink-muted);}
#brx-header .brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons{display:grid;grid-template-columns:1fr 1fr;gap:.8rem;}
#brx-header .brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons .button{display:block;width:auto;margin:0;padding:1rem 1.2rem;border-radius:.4rem;background-color:var(--night);color:#fff;font-size:1.3rem;font-weight:600;text-align:center;white-space:nowrap;}
#brx-header .brxe-woocommerce-mini-cart .woocommerce-mini-cart__buttons .button.checkout{background-color:var(--sand);color:var(--night);}
:root{--mg-icon-bag:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 2L3 6v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2V6l-3-4z'/%3E%3Cpath d='M3 6h18'/%3E%3Cpath d='M16 10a4 4 0 0 1-8 0'/%3E%3C/svg%3E");}

/* Product gallery thumbnails:
   - inset the row so it lines up with the visible image (the PNGs include a drop shadow)
   - show N full thumbnails plus a cut-off, faded part of the next one. N must match "Max. items" of the
     Product Gallery element; FlexSlider sizes items to fit N into the narrowed viewport, the rest peeks out.
   Fine-tune per gallery in Bricks: element > Style > Custom CSS, e.g.
   %root% { --mg-gallery-thumbs-inset: 2%; --mg-gallery-thumbs-visible: 5; --mg-gallery-thumbs-peek: .35; } */
.brxe-product-gallery{--mg-gallery-thumbs-inset:1.8%;--mg-gallery-thumbs-visible:5;--mg-gallery-thumbs-peek:.35;--mg-gallery-thumbs-fade:6rem;}
.brxe-product-gallery .brx-product-gallery-thumbnail-slider{padding-inline:var(--mg-gallery-thumbs-inset);overflow:hidden;-webkit-mask-image:linear-gradient(to right,transparent 0,#000 var(--mg-gallery-thumbs-inset),#000 calc(100% - var(--mg-gallery-thumbs-fade)),transparent 100%);mask-image:linear-gradient(to right,transparent 0,#000 var(--mg-gallery-thumbs-inset),#000 calc(100% - var(--mg-gallery-thumbs-fade)),transparent 100%);}
.brxe-product-gallery .brx-product-gallery-thumbnail-slider .flex-viewport{overflow:visible!important;width:calc(100% * var(--mg-gallery-thumbs-visible) / (var(--mg-gallery-thumbs-visible) + var(--mg-gallery-thumbs-peek)));}


/* Footer bottom: copyright left, Germanized legal guarantee notice right (includes/legal-guarantee.php).
   The preview image opens the full notice on click; Germanized's min-width (250px, legibility) is kept. */
#brx-footer .mg-footer__bottom{display:flex;flex-direction:row;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:2.4rem;}
#brx-footer .mg-footer__legal{width:auto;}
#brx-footer .mg-footer__legal .wc-gzd-legal-guarantee{margin:0;}
#brx-footer .mg-footer__legal .wc-gzd-legal-guarantee-image-preview{display:block;width:250px;height:auto;border-radius:.4rem;opacity:.9;transition:opacity .2s;}
#brx-footer .mg-footer__legal a:hover .wc-gzd-legal-guarantee-image-preview{opacity:1;}
#brx-footer .mg-footer__legal .wc-gzd-popover{color:var(--ink);}

/* Footer withdrawal button (Germanized shortcode [eu_owb_order_withdrawal_button], § 356a BGB): permanently visible */
#brx-footer .mg-footer__withdraw-wrap{margin-top:2rem;}
#brx-footer .mg-footer__withdraw{display:inline-flex;align-items:center;min-height:4rem;padding:0 1.6rem;font-size:1.3rem;font-weight:600;letter-spacing:.04em;line-height:1.2;color:#fff;text-decoration:none;border:1px solid var(--sand);border-radius:.3rem;transition:background-color .2s,color .2s;}
#brx-footer .mg-footer__withdraw:hover{background-color:var(--sand);color:var(--night);}

/* Partner logos (Fotowettbewerb): equal tiles, logos contained */
.mg-logos > a{display:grid;place-items:center;height:12rem;padding:2.4rem 3.2rem;border:1px solid var(--line);border-radius:.8rem;background-color:var(--surface);transition:border-color .2s;}
.mg-logos > a:hover{border-color:var(--sand);}
.mg-logos img{display:block;width:100%;height:6.4rem;object-fit:contain;}

/* Product cards: WooCommerce loop markup (related products, upsells, archives; includes/product-loop.php).
   Button: shared outline button of the WooCommerce base below. */
#brx-content ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(24rem,1fr));gap:4rem 2.4rem;margin:0;padding:0;list-style:none;}
#brx-content ul.products::before,#brx-content ul.products::after{display:none;}
#brx-content ul.products li.product{display:block;width:auto;margin:0;padding:0;float:none;text-align:left;}
#brx-content ul.products .woocommerce-loop-product__link{display:block;color:var(--ink);text-decoration:none;}
#brx-content ul.products li.product img{display:block;width:100%;height:auto;aspect-ratio:3/2;margin:0 0 1.6rem;object-fit:cover;border-radius:.6rem;background-color:var(--cream);transition:opacity .2s;}
#brx-content ul.products .woocommerce-loop-product__link:hover img{opacity:.88;}
#brx-content ul.products .woocommerce-loop-product__title{margin:0 0 .6rem;padding:0;font-size:2.2rem;font-weight:600;line-height:1.2;color:var(--ink);}
#brx-content ul.products .woocommerce-loop-product__link:hover .woocommerce-loop-product__title{color:var(--sand-dark);}
#brx-content ul.products .price{display:block;margin:0 0 .4rem;font-size:1.6rem;font-weight:600;color:var(--ink);}
#brx-content ul.products .price .mg-price-from{font-size:1.3rem;}
#brx-content ul.products .wc-gzd-additional-info-loop{display:inline;margin:0;font-size:1.2rem;line-height:1.5;color:var(--ink-muted);}
#brx-content ul.products .wc-gzd-additional-info-loop.tax-info::after{content:" · ";}
#brx-content ul.products .wc-gzd-additional-info-loop a{color:inherit;}
#brx-content ul.products .delivery-time-info{display:none;} /* same for all products; shown on the product page */
#brx-content ul.products li.product .button{display:flex;width:fit-content;height:4rem;margin-top:1.6rem;}
#brx-content ul.products .added_to_cart{display:none;} /* the mini cart opens instead */

/* Free shipping notice (includes/shipping.php): cart totals + mini cart */
.mg-free-shipping{margin-bottom:2rem;padding:1.4rem 1.6rem;border-radius:.6rem;background-color:var(--cream);font-size:1.4rem;line-height:1.4;color:var(--ink);}
.mg-free-shipping__text{margin:0 0 .8rem;}
.mg-free-shipping__bar{height:.4rem;border-radius:.2rem;background-color:var(--line);overflow:hidden;}
.mg-free-shipping__bar span{display:block;height:100%;border-radius:inherit;background-color:var(--sand);transition:width .3s;}
.mg-free-shipping.is-reached .mg-free-shipping__bar span{background-color:#3d7a4f;}
.cart-detail .mg-free-shipping{margin:1.2rem 0;padding:1rem 1.2rem;font-size:1.3rem;}
.cart-detail .mini_cart_item dl.variation{display:none;} /* size is already part of the variation name */

/* ==========================================================================
   WooCommerce base: classic WooCommerce pages (cart, checkout, order received, my account).
   body.mg-woo .woocommerce is set in includes/woocommerce-pages.php. Page-specific layouts follow below.
   ========================================================================== */
body.mg-woo #brx-content{width:var(--mg-container-width);margin-inline:auto;padding-block:clamp(4rem,6vw,8rem);}
body.mg-woo #brx-content > h1{margin:0 0 3.2rem;font-size:clamp(3.6rem,5vw,5.6rem);line-height:1.1;}
.mg-woo #brx-content .brxe-container{width:100%;}
.mg-woo .woocommerce h2{margin:0 0 1.6rem;font-size:2.6rem;line-height:1.2;}
.mg-woo .woocommerce h3{margin:0 0 2rem;font-size:2.4rem;line-height:1.2;}

/* Card: white box used for totals, order review, login, order details (:where keeps specificity low for page overrides) */
.mg-woo .woocommerce :where(.cart_totals,.woocommerce-checkout-review-order,form.woocommerce-form-login,.woocommerce-order-details,.woocommerce-customer-details .woocommerce-column,.woocommerce-bacs-bank-details){padding:2.4rem;border-radius:.8rem;background-color:var(--surface);box-shadow:0 .2rem 1.6rem rgba(20,32,58,.06);}

/* Fields */
.mg-woo .woocommerce .form-row{margin:0 0 1.6rem;padding:0;}
.mg-woo .woocommerce .form-row label{display:block;margin-bottom:.6rem;font-size:1.3rem;font-weight:600;line-height:1.4;color:var(--ink);}
.mg-woo .woocommerce .form-row .required{color:var(--sand-dark);text-decoration:none;}
.mg-woo .woocommerce .form-row .optional{font-weight:400;color:var(--ink-muted);}
.mg-woo .woocommerce :is(.input-text,select,.select2-container .select2-selection--single){width:100%;height:4.8rem;padding:0 1.4rem;font:inherit;font-size:1.5rem;line-height:4.6rem;color:var(--ink);border:1px solid var(--line);border-radius:.3rem;background-color:var(--surface);transition:border-color .2s,box-shadow .2s;}
.mg-woo .woocommerce textarea.input-text{height:10rem;padding-block:1.2rem;line-height:1.5;}
.mg-woo .woocommerce :is(.input-text,select):focus,.mg-woo .woocommerce .select2-container--open .select2-selection--single{outline:0;border-color:var(--sand);box-shadow:0 0 0 3px rgba(200,163,116,.2);}
.mg-woo .woocommerce .woocommerce-invalid :is(.input-text,select){border-color:#b3412f;}
.mg-woo .woocommerce .select2-container .select2-selection--single .select2-selection__rendered{padding:0;line-height:4.6rem;color:var(--ink);}
.mg-woo .woocommerce .select2-container .select2-selection--single .select2-selection__arrow{top:0;right:1rem;height:4.6rem;}
.mg-woo .woocommerce .form-row-first,.mg-woo .woocommerce .form-row-last{float:none;width:auto;}
.mg-woo .woocommerce .clear{display:none;}

/* Checkboxes and radios */
.mg-woo .woocommerce :is(input[type=checkbox],input[type=radio]){width:1.8rem;height:1.8rem;margin:0;accent-color:var(--sand-dark);vertical-align:middle;}
.mg-woo .woocommerce :is(label.checkbox,.woocommerce-form__label-for-checkbox){display:flex!important;align-items:flex-start;gap:1rem;font-size:1.4rem;font-weight:400;line-height:1.5;cursor:pointer;}
.mg-woo .woocommerce :is(label.checkbox,.woocommerce-form__label-for-checkbox) input{flex:none;margin-top:.15rem;}

/* Buttons: secondary (outline) by default, primary for the main action of each page. Also used by product cards. */
.mg-woo .woocommerce .button,#brx-content ul.products .button{display:inline-flex;align-items:center;justify-content:center;height:4.8rem;padding:0 2rem;font-size:1.3rem;font-weight:600;line-height:1;color:var(--ink);text-decoration:none;border:1px solid var(--line);border-radius:.3rem;background-color:var(--surface);cursor:pointer;transition:border-color .2s,background-color .2s;}
.mg-woo .woocommerce .button:hover,#brx-content ul.products .button:hover{border-color:var(--sand);background-color:var(--cream);color:var(--ink);}
.mg-woo .woocommerce .button:disabled{opacity:.45;cursor:default;}
.mg-woo .woocommerce :is(.checkout-button,.place-order .button,.woocommerce-form-login__submit,.button.alt){height:5.2rem;padding:0 2.8rem;font-size:1.4rem;letter-spacing:.08em;text-transform:uppercase;color:var(--night);border:0;background-color:var(--sand);}
.mg-woo .woocommerce :is(.checkout-button,.place-order .button,.woocommerce-form-login__submit,.button.alt):hover{background-color:var(--sand-light);color:var(--night);}

/* Tables (cart, totals, review, order details) */
.mg-woo .woocommerce .shop_table{width:100%;margin:0;border:0;border-collapse:collapse;background:none;font-size:1.5rem;}
.mg-woo .woocommerce .shop_table :is(th,td){padding:1.2rem 0;font-weight:400;text-align:left;vertical-align:top;border:0;border-bottom:1px solid var(--line);background:none;}
.mg-woo .woocommerce .shop_table thead th{padding-top:0;font-size:1.2rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);}
.mg-woo .woocommerce .shop_table :is(.product-total,.product-subtotal,tfoot td){text-align:right;white-space:nowrap;}
.mg-woo .woocommerce .shop_table .product-name{font-weight:600;}
.mg-woo .woocommerce .shop_table .product-name a{color:var(--ink);text-decoration:none;}
.mg-woo .woocommerce .shop_table .product-name a:hover{color:var(--sand-dark);}
.mg-woo .woocommerce .shop_table .delivery-time-info{margin:.4rem 0 0;font-size:1.3rem;font-weight:400;color:var(--ink-muted);}
.mg-woo .woocommerce .shop_table dl.variation{display:none;} /* size is already part of the variation name */
.mg-woo .woocommerce .shop_table :is(.order-total,.order_total) :is(th,td){padding-top:1.6rem;font-size:1.8rem;font-weight:700;border-bottom:0;}
.mg-woo .woocommerce .shop_table tr[class*="tax"] :is(th,td){padding-top:0;font-size:1.3rem;color:var(--ink-muted);border-bottom:0;}
.mg-woo .woocommerce .woocommerce-shipping-methods{margin:0;padding:0;list-style:none;}
.mg-woo .woocommerce .woocommerce-shipping-methods li{margin:0;}
.mg-woo .woocommerce .woocommerce-shipping-methods label{font-size:1.5rem;font-weight:400;color:var(--ink);}
.mg-woo .woocommerce .wc-gzd-cart-item-name-wrapper{display:flex;align-items:flex-start;gap:1.2rem;}
.mg-woo .woocommerce .wc-gzd-cart-item-thumbnail{flex:none;width:7.2rem;}
.mg-woo .woocommerce .wc-gzd-cart-item-thumbnail img{display:block;width:100%;height:auto;}

/* Quantity (same look as the product buy box) */
.mg-woo .woocommerce .quantity{display:inline-flex;width:auto;height:4.4rem;border:1px solid var(--line);border-radius:.3rem;background-color:var(--surface);overflow:hidden;}
.mg-woo .woocommerce .quantity .qty{width:4rem;height:100%;margin:0;padding:0;font:inherit;font-weight:600;line-height:1;text-align:center;border:0;border-radius:0;box-shadow:none;}
.mg-woo .woocommerce .quantity .action{width:3.6rem;height:100%;border:0;color:var(--ink-muted);opacity:1;transition:color .2s,background-color .2s;}
.mg-woo .woocommerce .quantity .action:hover{color:var(--ink);background-color:var(--cream);}
.mg-woo .woocommerce .quantity .action svg{width:1.4rem;height:1.4rem;}

/* Notices */
.mg-woo .woocommerce :is(.woocommerce-error,.woocommerce-info,.woocommerce-message){margin:0 0 .8rem;padding:1.2rem 1.6rem;list-style:none;border:0;border-radius:.4rem;color:var(--ink);font-size:1.4rem;line-height:1.5;}
.mg-woo .woocommerce :is(.woocommerce-info,.woocommerce-message){background-color:var(--cream);}
.mg-woo .woocommerce .woocommerce-error{border-left:.4rem solid #b3412f;background-color:#fbefec;}
.mg-woo .woocommerce :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) li{margin:0;padding:0;}
.mg-woo .woocommerce :is(.woocommerce-error,.woocommerce-info,.woocommerce-message) li + li{margin-top:.6rem;}
.mg-woo .woocommerce :is(.woocommerce-info,.woocommerce-message) a{color:var(--sand-dark);font-weight:600;}
.mg-woo .woocommerce .woocommerce-error a{color:#b3412f;font-weight:600;}
.mg-woo .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error)::before{display:none;}

/* ==========================================================================
   Cart
   ========================================================================== */
.woocommerce-cart #brx-content > .woocommerce{display:grid;grid-template-columns:minmax(0,1fr) 38rem;gap:4.8rem;align-items:start;}
.woocommerce-cart #brx-content > .woocommerce > :not(.woocommerce-cart-form):not(.cart-collaterals){grid-column:1 / -1;}
@media (max-width:991px){.woocommerce-cart #brx-content > .woocommerce{grid-template-columns:minmax(0,1fr);gap:3.2rem;}}

.woocommerce-cart-form .shop_table thead th{padding-inline:1.2rem;}
.woocommerce-cart-form .shop_table .cart_item > :is(td,th){padding:2rem 1.2rem;vertical-align:middle;}
.woocommerce-cart-form .shop_table .cart_item > .product-remove{width:3.2rem;padding-inline:0;}
.woocommerce-cart-form .cart_item .remove{display:grid;place-items:center;width:2.8rem;height:2.8rem;border-radius:50%;font-size:2rem;line-height:1;color:var(--ink-muted);text-decoration:none;transition:background-color .2s,color .2s;}
.woocommerce-cart-form .cart_item .remove:hover{background-color:var(--cream);color:var(--ink);}
.woocommerce-cart-form .cart_item .product-thumbnail{width:12rem;}
.woocommerce-cart-form .cart_item .product-thumbnail img{display:block;width:100%;height:auto;}
.woocommerce-cart-form .cart_item .product-subtotal{font-weight:600;}
.woocommerce-cart-form .cart_item .product-price{white-space:nowrap;color:var(--ink-muted);}

.woocommerce-cart-form td.actions{padding:2rem 0 0;border:0;}
.woocommerce-cart-form td.actions .coupon{display:flex;gap:.8rem;float:left;}
.woocommerce-cart-form td.actions .coupon .input-text{width:20rem;height:4.4rem;font-size:1.4rem;}
.woocommerce-cart-form td.actions .button{height:4.4rem;}
.woocommerce-cart-form td.actions > .button{float:right;}

.woocommerce-cart .cart-collaterals{float:none;width:auto;}
.woocommerce-cart .cart_totals{width:auto;float:none;}
.woocommerce-cart .cart_totals .shop_table td{text-align:right;}
.woocommerce-cart .cart_totals .woocommerce-shipping-destination{display:none;}
.woocommerce-cart .wc-proceed-to-checkout{padding:1.6rem 0 0;}
.woocommerce-cart .wc-proceed-to-checkout .checkout-button{display:flex;width:100%;margin:0 0 1.2rem;}

@media (max-width:767px){
	.woocommerce-cart-form .shop_table thead{display:none;}
	.woocommerce-cart-form .cart_item{display:grid;grid-template-columns:9rem 1fr auto;gap:.4rem 1.2rem;padding:1.6rem 0;border-bottom:1px solid var(--line);}
	.woocommerce-cart-form .shop_table .cart_item > :is(td,th){display:block;padding:0;border:0;text-align:left!important;}
	.woocommerce-cart-form .cart_item > *::before{display:none;}
	.woocommerce-cart-form .cart_item .product-thumbnail{grid-column:1;grid-row:1 / span 3;width:auto;}
	.woocommerce-cart-form .cart_item .product-name{grid-column:2;grid-row:1;}
	.woocommerce-cart-form .shop_table .cart_item > .product-remove{grid-column:3;grid-row:1;width:auto;}
	.woocommerce-cart-form .cart_item .product-price{display:none;}
	.woocommerce-cart-form .cart_item .product-quantity{grid-column:2;grid-row:2;}
	.woocommerce-cart-form .cart_item .product-subtotal{grid-column:2 / -1;grid-row:3;}
	.woocommerce-cart-form tr:not(.cart_item){display:block;}
	.woocommerce-cart-form td.actions{display:flex;flex-direction:column;gap:1.2rem;}
	.woocommerce-cart-form td.actions .coupon,.woocommerce-cart-form td.actions > .button{float:none;width:100%;}
	.woocommerce-cart-form td.actions .coupon .input-text{flex:1;width:auto;}
}

/* ==========================================================================
   Checkout (Germanized order: payment → terms checkbox → review → order button)
   ========================================================================== */

/* Coupon: always visible as a compact row (the "Hast du einen Gutschein?" toggle is hidden) */
.woocommerce-checkout .woocommerce-form-coupon-toggle{display:none;}
.woocommerce-checkout form.checkout_coupon{display:flex!important;flex-wrap:wrap;align-items:center;gap:.8rem 1.2rem;max-width:56rem;margin:1.6rem 0 0;padding:0;border:0;background:none;}
.woocommerce-checkout form.checkout_coupon::before{content:"Gutschein";flex-basis:100%;font-size:1.3rem;font-weight:600;color:var(--ink);}
.woocommerce-checkout form.checkout_coupon .form-row{margin:0;}
.woocommerce-checkout form.checkout_coupon .form-row-first{flex:1;}

/* Login form: intro, username | password, remember me + button, lost password */
.woocommerce-checkout form.woocommerce-form-login{display:grid;grid-template-columns:1fr 1fr;gap:0 1.6rem;max-width:72rem;margin:0 0 1.6rem;border:1px solid var(--line);box-shadow:none;}
.woocommerce-checkout form.woocommerce-form-login > *{grid-column:1 / -1;}
.woocommerce-checkout form.woocommerce-form-login > p:first-child{margin:0 0 2rem;font-size:1.4rem;color:var(--ink-muted);}
.woocommerce-checkout form.woocommerce-form-login .form-row-first{grid-column:1;}
.woocommerce-checkout form.woocommerce-form-login .form-row-last{grid-column:2;}
.woocommerce-checkout form.woocommerce-form-login .password-input{position:relative;display:block;}
.woocommerce-checkout form.woocommerce-form-login .show-password-input{position:absolute;top:50%;right:1.2rem;transform:translateY(-50%);}
.woocommerce-checkout form.woocommerce-form-login .form-row:not(.form-row-first):not(.form-row-last){display:flex;flex-direction:row-reverse;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:1.6rem 2.4rem;margin:.4rem 0 0;}
.woocommerce-checkout form.woocommerce-form-login .woocommerce-form-login__rememberme{margin:0;font-weight:400;}
.woocommerce-checkout form.woocommerce-form-login .lost_password{margin:1.6rem 0 0;font-size:1.3rem;}
.woocommerce-checkout form.woocommerce-form-login .lost_password a{color:var(--sand-dark);}
@media (max-width:478px){
	.woocommerce-checkout form.woocommerce-form-login{grid-template-columns:1fr;}
	.woocommerce-checkout form.woocommerce-form-login :is(.form-row-first,.form-row-last){grid-column:1;}
}

/* Layout: fields left, order box right (sticky). The order box sits in an unclassed wrapper div. */
form.woocommerce-checkout.bricks-default-checkout{grid-template-columns:minmax(0,1fr) 42rem;gap:4.8rem;align-items:start;padding-block:2.4rem 0;}
form.woocommerce-checkout.bricks-default-checkout > :has(#order_review){position:sticky;top:2.4rem;}
form.woocommerce-checkout.bricks-default-checkout > :not(#customer_details):not(#order_review):not(:has(#order_review)):not(.wc-gzd-legal-guarantee-checkout){grid-column:1 / -1;} /* validation notices */
@media (max-width:991px){
	form.woocommerce-checkout.bricks-default-checkout{grid-template-columns:minmax(0,1fr);gap:3.2rem;}
	form.woocommerce-checkout.bricks-default-checkout > :has(#order_review){position:static;}
}
.woocommerce-checkout #order_review{padding:2.8rem;}
.woocommerce-checkout #customer_details :is(.col-1,.col-2){float:none;width:100%;margin-top:0;}
.woocommerce-checkout .woocommerce-account-fields,.woocommerce-checkout .woocommerce-account-fields .form-row{margin-bottom:0;}

/* Address fields: logical pairs side by side (6-column grid) */
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper){display:grid;grid-template-columns:repeat(6,minmax(0,1fr));column-gap:1.6rem;}
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper) > .form-row{grid-column:span 6;}
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper) > :is(.form-row-first,.form-row-last,[id$="_company_field"],[id$="_country_field"],[id$="_phone_field"],[id$="_email_field"]){grid-column:span 3;}
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper) > [id$="_postcode_field"]{grid-column:span 2;}
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper) > [id$="_city_field"]{grid-column:span 4;}
.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper) > [id$="_state_field"]:has(input[type=hidden],input.hidden){display:none;}
.woocommerce-checkout [id$="_address_1_field"]{margin-bottom:.8rem;}
@media (max-width:478px){
	.woocommerce-checkout :is(.woocommerce-billing-fields__field-wrapper,.woocommerce-shipping-fields__field-wrapper) > .form-row:not([id$="_postcode_field"]):not([id$="_city_field"]){grid-column:span 6;}
}

/* Ship to different address (Bricks adds 60px above the shipping fields; the divider line gives enough separation) */
.woocommerce-checkout #customer_details .woocommerce-shipping-fields{margin-top:0;}
.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address{margin:2.4rem 0 2rem;padding-top:2.4rem;border-top:1px solid var(--line);font-family:inherit;font-size:1.5rem;}
.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address label{justify-content:flex-start;font-size:1.5rem;font-weight:600;}
.woocommerce-checkout .woocommerce-shipping-fields #ship-to-different-address input{position:static;order:-1;transform:none;}

/* Germanized legal guarantee notice (EU harmonised notice, mandatory; includes/legal-guarantee.php moves it behind the
   order box): preview image at Germanized's min. width like in the footer. Desktop: below the fields (left column). */
form.woocommerce-checkout.bricks-default-checkout > .wc-gzd-legal-guarantee-checkout{grid-column:1;margin:0;}
@media (min-width:992px){form.woocommerce-checkout.bricks-default-checkout:has(> .wc-gzd-legal-guarantee-checkout) > :has(#order_review){grid-row:span 2;}}
.woocommerce-checkout .wc-gzd-legal-guarantee-checkout .wc-gzd-legal-guarantee-image-preview{display:block;width:250px;max-width:100%;height:auto;border-radius:.4rem;}
@media (max-width:991px){form.woocommerce-checkout.bricks-default-checkout > .wc-gzd-legal-guarantee-checkout{grid-column:1 / -1;}}

/* Order box: payment methods */
.woocommerce-checkout #order_review h3{font-size:2.2rem;}
.woocommerce-checkout #payment{margin:0 0 2.8rem;padding:0;border:0;border-radius:0;background:none;}
.woocommerce-checkout #order_review .ppcp-messages:not(:empty){margin:0 0 1.6rem;} /* PayPal "Später bezahlen" message */
.woocommerce-checkout #payment ul.payment_methods{margin:0;padding:0;border:0;list-style:none;}
.woocommerce-checkout #payment ul.payment_methods li{margin:0 0 .8rem;padding:1.4rem 1.6rem;border:1px solid var(--line);border-radius:.6rem;transition:border-color .2s;}
.woocommerce-checkout #payment ul.payment_methods li:has(input:checked){border-color:var(--sand);background-color:#fffcf7;}
.woocommerce-checkout #payment ul.payment_methods li > label{display:inline;margin-left:.8rem;font-size:1.5rem;font-weight:600;cursor:pointer;}
.woocommerce-checkout #payment ul.payment_methods li img{max-height:2.4rem;margin-left:.8rem;vertical-align:middle;}
.woocommerce-checkout #payment .payment_box{margin:1rem 0 0;padding:0;background:none;font-size:1.3rem;color:var(--ink-muted);}
.woocommerce-checkout #payment .payment_box::before{display:none;}
.woocommerce-checkout #payment .payment_box p{margin:0;}

/* Order box: terms checkbox, review table, order button */
.woocommerce-checkout #order_review .checkbox-legal{margin:0 0 2rem;}
.woocommerce-checkout #order_review .checkbox-legal a{color:var(--sand-dark);}
.woocommerce-checkout .checkbox-legal .required{display:none;} /* mandatory anyway, the asterisk would wrap into its own column */
.woocommerce-checkout .woocommerce-checkout-review-order-table{font-size:1.4rem;}
.woocommerce-checkout .wc-gzd-order-submit{margin-top:2rem;}
.woocommerce-checkout #place_order{width:100%;height:5.6rem;margin:0;}

/* Small screens: narrower order box, review table without header row, amounts may wrap below the name */
@media (max-width:767px){
	.woocommerce-checkout #order_review{padding:2rem 1.6rem;}
	.woocommerce-checkout .woocommerce-checkout-review-order-table thead{display:none;}
	.woocommerce-checkout .woocommerce-checkout-review-order-table .wc-gzd-cart-item-thumbnail{width:5.6rem;}
	.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name{padding-right:1.2rem;}
	.mg-woo .woocommerce .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td{white-space:normal;}
}

/* ==========================================================================
   Order received (thank you page, checkout endpoint)
   ========================================================================== */
.woocommerce-order-received .woocommerce-order{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2.4rem;max-width:96rem;}
.woocommerce-order-received .woocommerce-order > *{grid-column:1 / -1;margin:0;}
.woocommerce-order-received .woocommerce-thankyou-order-received{padding:2.4rem 2.8rem 2.4rem 7.2rem;position:relative;border-radius:.8rem;background-color:var(--cream);font-family:'Cormorant Garamond',serif;font-size:2.6rem;line-height:1.3;color:var(--ink);}
.woocommerce-order-received .woocommerce-thankyou-order-received::before{content:"";position:absolute;top:50%;left:2.4rem;width:3.2rem;height:3.2rem;border-radius:50%;background:#3d7a4f url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/1.8rem no-repeat;transform:translateY(-50%);}

/* Overview: order number, date, email, total, payment method as tiles */
.woocommerce-order-received ul.woocommerce-order-overview{display:grid;grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));gap:1px;margin:0;padding:0;list-style:none;border:1px solid var(--line);border-radius:.8rem;background-color:var(--line);overflow:hidden;}
.woocommerce-order-received ul.woocommerce-order-overview li{margin:0;padding:1.6rem 1.8rem;border:0;background-color:var(--surface);font-size:1.2rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);}
.woocommerce-order-received ul.woocommerce-order-overview li strong{display:block;margin-top:.4rem;font-size:1.6rem;letter-spacing:0;text-transform:none;color:var(--ink);word-break:break-word;}

/* Bank details (Vorkasse): highlighted, the customer has to act on them */
.woocommerce-order-received .woocommerce-bacs-bank-details{border:1px solid var(--sand);box-shadow:none;}
.woocommerce-order-received .woocommerce-bacs-bank-details h3{margin-bottom:1.2rem;font-family:inherit;font-size:1.5rem;font-weight:600;}
.woocommerce-order-received ul.bacs_details{display:grid;grid-template-columns:repeat(auto-fit,minmax(18rem,1fr));gap:1.2rem 2.4rem;margin:0 0 1.6rem;padding:0;list-style:none;}
.woocommerce-order-received ul.bacs_details li{margin:0;font-size:1.2rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-muted);}
.woocommerce-order-received ul.bacs_details li strong{display:block;margin-top:.2rem;font-size:1.6rem;letter-spacing:0;text-transform:none;color:var(--ink);}
.woocommerce-order-received .woocommerce-order > p:not(.woocommerce-thankyou-order-received){font-size:1.5rem;line-height:1.6;}

/* Order details + addresses */
.woocommerce-order-received .woocommerce-order-details .shop_table{font-size:1.4rem;}
.woocommerce-order-received .woocommerce-order-details .shop_table tfoot th{font-weight:400;}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-columns{display:grid;grid-template-columns:repeat(auto-fit,minmax(26rem,1fr));gap:2.4rem;}
.woocommerce-order-received .woocommerce-customer-details .woocommerce-column{float:none;width:auto;}
.woocommerce-order-received .woocommerce-customer-details h2{font-size:2.2rem;}
.woocommerce-order-received .woocommerce-customer-details address{margin:0;padding:0;border:0;font-size:1.5rem;font-style:normal;line-height:1.6;}
.woocommerce-order-received .woocommerce-customer-details address p{margin:.8rem 0 0;}

/* ==========================================================================
   Withdrawal page ("Vertrag widerrufen", Germanized form, includes/woocommerce-pages.php)
   ========================================================================== */
.mg-woo #brx-content > .mg-withdraw__intro{max-width:64rem;margin:0 0 3.2rem;font-size:1.6rem;line-height:1.6;color:var(--ink-muted);}
.mg-woo #brx-content > .mg-withdraw__intro a{color:var(--sand-dark);font-weight:600;}
.mg-woo .woocommerce form.order-withdrawal-request{max-width:64rem;padding:2.4rem;border-radius:.8rem;background-color:var(--surface);box-shadow:0 .2rem 1.6rem rgba(20,32,58,.06);}
.mg-woo .woocommerce .order-withdrawal-request .eu-owb-form-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:1.6rem;}
.mg-woo .woocommerce .order-withdrawal-request .eu-owb-form-fields > :not(.form-row-first,.form-row-last){grid-column:1 / -1;}
.mg-woo .woocommerce .order-withdrawal-request .form-row-submit{margin:.8rem 0 0;}
.mg-woo .woocommerce .order-withdrawal-request .woocommerce-form-return_request__submit{height:5.2rem;padding:0 2.8rem;font-size:1.4rem;letter-spacing:.08em;text-transform:uppercase;color:var(--night);border:0;background-color:var(--sand);}
.mg-woo .woocommerce .order-withdrawal-request .woocommerce-form-return_request__submit:hover{background-color:var(--sand-light);color:var(--night);}
@media (max-width:478px){
	.mg-woo .woocommerce .order-withdrawal-request .eu-owb-form-fields{grid-template-columns:minmax(0,1fr);}
	.mg-woo .woocommerce .order-withdrawal-request .woocommerce-form-return_request__submit{width:100%;}
}
