/*
Theme Name: Ad Fundum
Description: A custom block theme scaffolded by Studio Code.
Requires at least: 6.7
Tested up to: 6.9
Requires PHP: 7.2
Version: 0.3.3
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: adfundum
Tags: full-site-editing, block-patterns, block-styles, wide-blocks, accessibility-ready, style-variations
*/

/* WordPress inserts a margin-block-start equal to the block gap (24px unless
   theme.json sets styles.spacing.blockGap) between the template's top-level
   sections (header part, main, footer part) — a gap that exists even when no
   markup asks for it. Zero it so sections butt edge-to-edge and own their
   vertical rhythm via padding; this does not affect block gaps inside nested
   layouts. */
.wp-site-blocks > * + * {
	margin-block-start: 0;
}

/* Never let any element push the page wider than the viewport (which would
   reveal a navy band on the right on small screens). Nested scroll areas such
   as the featured product row keep their own overflow-x: auto behaviour. */
html, body {
	overflow-x: hidden;
}

/* With that gap gone, main carries its own vertical padding so templates this
   theme does not author (WooCommerce shop, product, cart…) still clear the
   header and footer. A descendant selector, not a child one: WooCommerce wraps
   the single-product main in an extra group. Templates built from full-bleed
   sections opt out with is-flush and let the sections own the rhythm. */
.wp-site-blocks main {
	padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--70);
}
.wp-site-blocks main.is-flush {
	padding-block: 0;
}

:root {
	--adf-gold: var( --wp--preset--color--primary );
	--adf-navy: var( --wp--preset--color--background );
	--adf-cream: var( --wp--preset--color--text );
	--adf-navy-2: var( --wp--preset--color--accent-1 );
	--adf-blue: var( --wp--preset--color--accent-2 );
	--adf-serif: var( --wp--preset--font-family--cormorant-garamond );
	--adf-sans: var( --wp--preset--font-family--albert-sans );
	--adf-gutter: var( --wp--style--root--padding-left );
}

/* === header === */
.site-header-main {
	position: relative;
	z-index: 20;
	background: linear-gradient( 180deg, var( --adf-navy ), var( --adf-navy-2 ) );
}
.site-header-top,
.site-header-mid,
.site-header-navrow {
	width: 100%;
}
.site-header-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding-inline: clamp( 1.25rem, 5vw, 3rem );
	padding-block: 0.4rem 0.35rem;
	border-bottom: 1px solid rgba( 212, 168, 83, 0.3 );
}
.site-header-top.is-layout-flex {
	flex-wrap: wrap;
}
.site-header-hours {
	margin: 0;
	font-size: 0.8rem;
	line-height: 1.4;
	color: var( --adf-cream );
	opacity: 0.85;
	letter-spacing: 0.02em;
}
.site-header-hours-addr::before {
	content: " · ";
}
@media (max-width: 640px) {
	.site-header-hours-addr {
		display: block;
		margin-top: 0.15rem;
	}
	.site-header-hours-addr::before {
		content: none;
	}
}
.site-header-social {
	margin: 0;
}
.site-header-social .wp-block-social-link {
	background-color: var( --adf-navy-2 ) !important;
	border: 1px solid rgba( 212, 168, 83, 0.55 );
	box-shadow: 0 2px 6px rgba( 0, 0, 0, 0.2 );
	transition: background-color 0.22s ease, border-color 0.22s ease, transform 0.22s ease, box-shadow 0.22s ease;
}
.site-header-social .wp-block-social-link-anchor svg {
	fill: var( --adf-gold ) !important;
}
.site-header-social .wp-block-social-link:hover {
	background-color: var( --adf-gold ) !important;
	border-color: var( --adf-gold );
	transform: translateY( -2px );
	box-shadow: 0 6px 14px rgba( 0, 0, 0, 0.28 );
}
.site-header-social .wp-block-social-link:hover .wp-block-social-link-anchor svg {
	fill: var( --adf-navy ) !important;
}
@media ( prefers-reduced-motion: reduce ) {
	.site-header-social .wp-block-social-link {
		transition: none;
		transform: none;
	}
}
.site-header-mid {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.25rem;
	padding-inline: clamp( 1.25rem, 5vw, 3rem );
	padding-block: 1rem;
	width: 100%;
}
.site-header-mid.is-layout-flex {
	flex-wrap: wrap;
}
.site-header-search-wrap {
	flex: 1 1 320px;
	min-width: 0;
	max-width: 640px;
	margin-inline: auto;
}
.site-header-search-wrap.is-layout-constrained {
	padding: 0;
}
.site-header-search {
	display: flex;
	justify-content: center;
	width: 100%;
}
.site-header-search .apsw-search-wrap {
	max-width: 100%;
}
.site-header-actions {
	display: inline-flex;
	align-items: center;
	gap: 1rem;
}
.site-header-actions.is-layout-flex {
	gap: 1rem;
}
.site-header-account {
	margin: 0;
}
.site-header-account a {
	color: var( --adf-cream );
	text-decoration: none;
	font-weight: 500;
	letter-spacing: 0.02em;
}
.site-header-account a:hover {
	color: var( --adf-gold );
}
.site-header-navrow {
	display: flex;
	justify-content: center;
	padding-inline: clamp( 1.25rem, 5vw, 3rem );
	padding-block: 0.55rem 0.85rem;
	border-top: 1px solid rgba( 212, 168, 83, 0.22 );
}
.site-header-navrow .site-header-nav {
	justify-content: center;
}
.site-header-main > * {
	margin-block-start: 0;
}

/* Mobile: centre every header band (hours, socials, logo, search, account + cart). */
@media (max-width: 640px) {
	.site-header-top {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		gap: 0.35rem;
	}
	.site-header-top .site-header-social {
		justify-content: center !important;
	}
	.site-header-mid {
		flex-direction: column;
		align-items: center;
		justify-content: center;
		text-align: center;
		gap: 0.75rem;
	}
	.site-header-search-wrap {
		flex: none;
		width: 100%;
		max-width: 100%;
	}
	.site-header-actions {
		justify-content: center !important;
		margin-inline: auto;
	}
}
.adf-contact-hours {
	margin: 0.85rem 0 0;
	font-weight: 600;
	color: var( --adf-navy );
}
.site-header-brand .site-title {
	font-size: clamp(1.4rem, 3vw, 1.9rem);
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var( --adf-cream );
	line-height: 1.1;
}
.site-header-brand .site-title a {
	color: var( --adf-cream );
	text-decoration: none;
}
.site-header-brand .wp-block-site-logo.site-brand {
	line-height: 0;
}
.site-header-brand .custom-logo {
	max-height: 81px;
	width: auto;
	height: auto;
}
.site-header-flex {
	align-items: center;
}
.site-mini-cart .wc-block-mini-cart__button {
	color: var(--adf-cream);
	padding-left: 0.5rem;
}
.site-mini-cart .wc-block-mini-cart__button:hover {
	color: var(--adf-gold);
}
.site-mini-cart .wc-block-mini-cart__badge {
	background: var(--adf-gold);
	color: var(--adf-navy);
	border-color: transparent;
}

/* Lightweight mini-cart (replaces the React blocks mini-cart for performance) */
.adf-mini-cart {
	display: inline-flex;
	align-items: center;
	padding-left: 0.5rem;
}
.adf-mini-cart-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	color: var(--adf-cream);
	text-decoration: none;
	position: relative;
	transition: color 0.2s ease;
}
.adf-mini-cart-link:hover {
	color: var(--adf-gold);
}
.adf-mini-cart-icon {
	display: inline-flex;
	line-height: 0;
}
.adf-mini-cart-count {
	min-width: 1.15rem;
	height: 1.15rem;
	padding: 0 0.28rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border-radius: 999px;
	background: var(--adf-gold);
	color: var(--adf-navy);
	font-family: var(--adf-sans);
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1;
}

/* Pickup appointment (Abholung in Elten) */
.adf-pickup {
	margin: 1.5rem 0;
	padding: 1.4rem 1.5rem;
	border: 1px solid rgba(212,168,83,0.4);
	border-radius: 10px;
	background: rgba(23,39,67,0.35);
}
#adf-pickup-appointment h3 {
	font-family: var(--adf-serif);
	color: var(--adf-gold);
	font-size: 1.25rem;
	margin: 0 0 0.4rem;
}
.adf-pickup-hint {
	font-size: 0.9rem;
	margin: 0 0 1rem;
	color: var(--adf-text);
}
#adf-pickup-appointment select {
	width: 100%;
	max-width: 340px;
	background: #fff;
	color: #1a1a1a;
	border: 1px solid #ccc;
	border-radius: 6px;
	padding: 0.55rem 0.7rem;
}
.adf-pickup-admin,
.adf-pickup-customer {
	margin: 0.5rem 0;
}

.site-header-nav .wp-block-navigation-item a {
	color: var( --adf-cream );
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	padding-block: 0.4rem;
	position: relative;
}
.site-header-nav .wp-block-navigation-item a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var( --adf-gold );
	transform: scaleX(0);
	transform-origin: left;
	transition: transform 0.35s ease;
}
.site-header-nav .wp-block-navigation-item a:hover::after,
.site-header-nav .wp-block-navigation-item.current-menu-item a::after {
	transform: scaleX(1);
}
.wp-block-button.is-style-outline .wp-element-button {
	background: transparent;
	color: var( --adf-cream );
	border: 1px solid var( --adf-blue );
}
.wp-block-button.is-style-outline .wp-element-button:hover {
	border-color: var( --adf-gold );
	color: var( --adf-cream );
}

.wp-site-blocks > .site-header-main {
	margin-block-start: 0;
}

/* === hero === */
.site-hero {
	position: relative;
	min-height: 88vh;
	display: flex;
	align-items: center;
	overflow: hidden;
	isolation: isolate;
}
.site-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: radial-gradient( ellipse at top, #1d3159, transparent 62% );
}
.site-hero .hero-inner {
	padding-top: 2.5rem;
	padding-bottom: 5rem;
}
.site-hero-eyebrow {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var( --adf-gold );
	margin-bottom: 1.25rem;
}
.site-hero h1.hero-title {
	font-family: var( --adf-serif );
	font-size: clamp(2.6rem, 6.5vw, 5.5rem);
	font-weight: 500;
	line-height: 1.05;
	letter-spacing: -0.01em;
	color: var( --adf-cream );
	margin: 0 0 1rem;
}
.site-hero h1.hero-title em {
	font-style: italic;
	color: var( --adf-gold );
}
.hero-intro {
	max-width: 34rem;
	color: var( --adf-cream );
	opacity: 0.88;
	font-size: 1.12rem;
	line-height: 1.6;
	margin-bottom: 2.25rem;
}
.hero-rule {
	height: 2px;
	width: 4.5rem;
	background: var( --adf-gold );
	margin-bottom: 2rem;
}

/* === hero carousel === */
.adf-hero-carousel .adf-hero-slide {
	position: absolute;
	inset: 0;
	margin: 0 !important;
	z-index: 0;
	opacity: 0;
	animation: adf-hero-fade 24s infinite;
}
.adf-hero-carousel .adf-hero-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.adf-hero-carousel .adf-hero-slide-1 { animation-delay: 0s; }
.adf-hero-carousel .adf-hero-slide-2 { animation-delay: 8s; }
.adf-hero-carousel .adf-hero-slide-3 { animation-delay: 16s; }
@keyframes adf-hero-fade {
	0%   { opacity: 1; }
	30%  { opacity: 1; }
	37%  { opacity: 0; }
	100% { opacity: 0; }
}
.adf-hero-carousel .adf-hero-overlay {
	position: absolute;
	inset: 0;
	margin: 0 !important;
	z-index: 1;
	background: linear-gradient( 180deg, rgba( 15, 27, 51, 0.45 ) 0%, rgba( 15, 27, 51, 0.62 ) 55%, rgba( 15, 27, 51, 0.86 ) 100% );
}
.adf-hero-carousel .hero-inner {
	position: relative;
	z-index: 2;
}
@media ( prefers-reduced-motion: reduce ) {
	.adf-hero-carousel .adf-hero-slide {
		animation: none !important;
	}
	.adf-hero-carousel .adf-hero-slide-2,
	.adf-hero-carousel .adf-hero-slide-3 {
		opacity: 0 !important;
	}
}

/* === bands === */
.site-band {
	padding-block: clamp(4rem, 9vw, 7rem);
}
.site-band + .site-band {
	padding-top: 0;
}
.site-band.band-page-hero {
	padding-top: clamp( 2rem, 5vw, 3.5rem );
}
.band-head {
	margin-bottom: 3rem;
}
.band-head .band-label {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var( --adf-gold );
	margin-bottom: 0.75rem;
}
.band-head h2 {
	font-family: var( --adf-serif );
	font-size: clamp(1.9rem, 3.2vw, 2.6rem);
	font-weight: 500;
	line-height: 1.12;
	color: var( --adf-cream );
	margin: 0;
}
.band-head .band-note {
	margin: 0.25rem 0 0;
	color: var( --adf-blue );
	font-size: 0.9rem;
}
.band-lead {
	max-width: 40rem;
	color: var( --adf-cream );
	opacity: 0.88;
}
.band-lead p {
	margin: 0 0 1rem;
}
.band-lead p:last-child {
	margin-bottom: 0;
}
.band-rule {
	height: 1px;
	background: var( --adf-blue );
	opacity: 0.4;
	margin-bottom: 3rem;
}
/* === story === */
.site-story .story-media img {
	width: 100%;
	height: auto;
	filter: contrast(1.05) saturate(0.9);
}
.story-heading {
	font-family: var( --adf-serif );
	font-size: clamp(1.7rem, 2.8vw, 2.3rem);
	font-weight: 500;
	line-height: 1.15;
	color: var( --adf-cream );
	margin: 0 0 1.25rem;
}
.story-copy p {
	color: var( --adf-cream );
	opacity: 0.86;
	line-height: 1.66;
	margin-bottom: 1rem;
}

/* === cards === */
.is-style-card {
	background: var( --adf-navy-2 );
	border: 1px solid var( --adf-blue );
	padding: 1.75rem;
	border-radius: 4px;
}
.is-style-card .card-title {
	font-family: var( --adf-serif );
	font-size: 1.35rem;
	font-weight: 500;
	color: var( --adf-cream );
	margin: 0 0 0.75rem;
}
.is-style-card .card-text {
	color: var( --adf-cream );
	opacity: 0.8;
	font-size: 0.95rem;
	line-height: 1.55;
}
.is-style-card .card-link a {
	color: var( --adf-gold );
	font-weight: 600;
	font-size: 0.85rem;
	letter-spacing: 0.06em;
	text-decoration: none;
}
.is-style-card .card-link a:hover {
	text-decoration: underline;
}
.cat-card {
	min-height: 9rem;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
}

/* === journal === */
.band-more {
	margin: 0;
	font-size: 0.85rem;
	letter-spacing: 0.05em;
}
.band-more a {
	color: var( --adf-gold );
	font-weight: 600;
	text-decoration: none;
}
.band-more a:hover {
	text-decoration: underline;
}
.journal-card {
	padding: 0 0 1.4rem;
	overflow: hidden;
	display: flex;
	flex-direction: column;
}
.journal-card .journal-thumb {
	margin: 0 0 1.2rem;
}
.journal-card .journal-thumb img {
	width: 100%;
	height: 200px;
	object-fit: cover;
	display: block;
}
.journal-card .journal-title {
	font-family: var( --adf-serif );
	font-size: 1.2rem;
	font-weight: 500;
	line-height: 1.25;
	margin: 0 1.4rem 0.55rem;
}
.journal-card .journal-title a {
	color: var( --adf-cream );
	text-decoration: none;
}
.journal-card .journal-title a:hover {
	color: var( --adf-gold );
}
.journal-card .wp-block-post-excerpt {
	margin: 0 1.4rem 0.9rem;
}
.journal-card .wp-block-post-excerpt p {
	color: var( --adf-cream );
	opacity: 0.78;
	font-size: 0.92rem;
	line-height: 1.55;
	margin: 0;
}
.journal-card .journal-date {
	margin: auto 1.4rem 0;
	padding-top: 0.85rem;
	border-top: 1px solid var( --adf-blue );
	color: var( --adf-gold );
	font-size: 0.75rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
@media (max-width: 781px) {
	.adf-journal-query .wp-block-post-template {
		grid-template-columns: 1fr !important;
	}
}

/* === contact === */
.page-hero {
	max-width: 46rem;
}
.band-eyebrow {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var( --adf-gold );
	margin-bottom: 1rem;
}
.page-title {
	font-family: var( --adf-serif );
	font-size: clamp(2.2rem, 4.5vw, 3.4rem);
	font-weight: 500;
	line-height: 1.1;
	letter-spacing: -0.01em;
	color: var( --adf-cream );
	margin: 0 0 1.25rem;
}
.page-intro {
	max-width: 40rem;
	color: var( --adf-cream );
	opacity: 0.88;
	font-size: 1.05rem;
	line-height: 1.6;
	margin: 0;
}
.band-title {
	font-family: var( --adf-serif );
	font-size: clamp(1.7rem, 2.8vw, 2.3rem);
	font-weight: 500;
	color: var( --adf-cream );
	margin: 0 0 1.5rem;
}
.contact-details h3 {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var( --adf-gold );
	margin: 1.75rem 0 0.5rem;
}
.contact-details h3:first-child {
	margin-top: 0;
}
.contact-details p {
	color: var( --adf-cream );
	opacity: 0.9;
	line-height: 1.7;
	margin: 0;
}
.contact-details a {
	color: var( --adf-gold );
	text-decoration: none;
}
.contact-details a:hover {
	text-decoration: underline;
}

/* WPForms in dark theme */
.band-contact .wpforms-container .wpforms-form input[type=text],
.band-contact .wpforms-container .wpforms-form input[type=email],
.band-contact .wpforms-container .wpforms-form textarea {
	background: var( --adf-navy-2 );
	border: 1px solid var( --adf-blue );
	color: var( --adf-cream );
	border-radius: 4px;
	padding: 0.75rem 0.9rem;
}
.band-contact .wpforms-container .wpforms-form input::placeholder,
.band-contact .wpforms-container .wpforms-form textarea::placeholder {
	color: var( --adf-cream );
	opacity: 0.5;
}
.band-contact .wpforms-container .wpforms-form .wpforms-field-label {
	color: var( --adf-cream );
	font-weight: 600;
}
.band-contact .wpforms-container .wpforms-form .wpforms-submit {
	background: var( --adf-gold ) !important;
	color: var( --adf-navy ) !important;
	font-weight: 600;
	border-radius: 2px;
	padding: 0.875rem 1.5rem;
	border: none;
	cursor: pointer;
}
.band-contact .wpforms-container .wpforms-form .wpforms-submit:hover {
	background: var( --adf-cream ) !important;
	color: var( --adf-navy ) !important;
}
@media (max-width: 781px) {
	.band-contact .wp-block-columns {
		flex-direction: column !important;
	}
}

/* === cta === */
.site-cta {
	text-align: center;
}
.site-cta .cta-title {
	font-family: var( --adf-serif );
	font-size: clamp(2rem, 4.5vw, 3.2rem);
	font-weight: 500;
	color: var( --adf-cream );
	margin: 0 0 0.5rem;
}
.site-cta .cta-sub {
	color: var( --adf-cream );
	opacity: 0.82;
	max-width: 32rem;
	margin: 0 auto 2rem;
}
/* === footer === */
.site-footer {
	padding-block: clamp(3.5rem, 7vw, 5.5rem) 2rem;
}
.site-footer-inner .site-footer-cols {
	margin-bottom: 3rem;
}
.site-footer-brand .site-title {
	font-size: 1.5rem;
	font-weight: 500;
	letter-spacing: 0.02em;
	color: var( --adf-gold );
	margin-bottom: 0.75rem;
}
.site-footer-brand {
	text-align: center;
	justify-content: center;
}
.site-footer-brand .wp-block-site-logo.footer-brand {
	display: inline-block;
	line-height: 0;
	margin-bottom: 1.1rem;
}
.site-footer-brand .wp-block-site-logo.footer-brand .custom-logo {
	max-height: 192px;
	width: auto;
	height: auto;
}

/* === blog (magazine) === */
.blog-masthead {
	border-bottom: 1px solid rgba(165, 178, 205, 0.28);
}
.blog-eyebrow {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--albert-sans);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin: 0;
}
.blog-title {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: clamp(2.75rem, 6vw, 4.75rem);
	font-weight: 500;
	line-height: 1.02;
	color: var(--wp--preset--color--text);
	margin: 1.4rem 0 0;
	letter-spacing: -0.01em;
}
.blog-sub {
	max-width: 56ch;
	color: rgba(243, 237, 224, 0.72);
	font-size: 1.05rem;
	margin: 0.6rem 0 2.2rem;
}
.blog-query .wp-block-post-template.is-layout-grid {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2.25rem 2rem;
}
.blog-query .wp-block-post-template.is-layout-grid > li.wp-block-post:first-child {
	grid-column: span 2;
}
.blog-query .wp-block-post-template.is-layout-grid > li.wp-block-post:first-child .wp-block-post-featured-image {
	aspect-ratio: 16 / 9;
}
.blog-query .wp-block-post-template.is-layout-grid > li.wp-block-post:first-child .wp-block-post-title {
	font-size: clamp(1.7rem, 3vw, 2.4rem);
}
.is-style-blog-card {
	background: var(--wp--preset--color--accent-1);
	border: 1px solid rgba(165, 178, 205, 0.28);
	border-radius: 14px;
	overflow: hidden;
	height: 100%;
}
.is-style-blog-card .wp-block-post-featured-image {
	border-radius: 14px 14px 0 0;
	overflow: hidden;
	background: #f6efdf;
	margin: 0;
}
.is-style-blog-card .wp-block-post-featured-image img {
	transition: transform 0.5s ease;
}
.is-style-blog-card:hover .wp-block-post-featured-image img {
	transform: scale(1.04);
}
.is-style-blog-card .wp-block-post-title {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 1.55rem;
	line-height: 1.15;
	margin: 0 0 0.5rem;
	padding: 0 1.25rem;
}
.is-style-blog-card .wp-block-post-title a {
	color: var(--wp--preset--color--text);
	text-decoration: none;
}
.is-style-blog-card .wp-block-post-title a:hover {
	color: var(--wp--preset--color--primary);
}
.is-style-blog-card .wp-block-post-excerpt {
	color: rgba(243, 237, 224, 0.74);
	padding: 0 1.25rem 1.35rem;
	margin: 0;
}
.blog-meta {
	width: 100%;
	flex-wrap: wrap;
	padding: 1.25rem 1.25rem 0.5rem;
}
.blog-meta .wp-block-post-date {
	color: rgba(243, 237, 224, 0.6);
}
.blog-meta .wp-block-post-terms a {
	color: var(--wp--preset--color--primary);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	text-decoration: none;
}
.blog-meta .wp-block-post-terms a:hover {
	text-decoration: underline;
}
.blog-query .wp-block-query-pagination {
	justify-content: center;
}
.blog-query .wp-block-query-pagination a,
.blog-query .wp-block-query-pagination .page-numbers {
	color: var(--wp--preset--color--text);
	border: 1px solid rgba(165, 178, 205, 0.35);
	border-radius: 999px;
	padding: 0.35em 0.9em;
	text-decoration: none;
}
.blog-query .wp-block-query-pagination .page-numbers.current {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
	border-color: transparent;
}
.blog-filters {
	align-items: center;
}
.blog-filters-label {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--albert-sans);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	margin: 0 0.4rem 0 0;
	white-space: nowrap;
}
.blog-filters .wp-element-button {
	background: transparent;
	color: var(--wp--preset--color--text);
	border: 1px solid rgba(243, 237, 224, 0.35);
	border-radius: 999px;
	padding: 0.45em 1.1em;
	font-size: 0.95rem;
	line-height: 1.3;
	text-decoration: none;
	transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}
.blog-filters .wp-block-button .wp-element-button:hover {
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
}
.blog-filters .blog-filter-current .wp-element-button {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--background);
}
@media (max-width: 900px) {
	.blog-query .wp-block-post-template.is-layout-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.blog-query .wp-block-post-template.is-layout-grid > li.wp-block-post:first-child {
		grid-column: span 2;
	}
}
@media (max-width: 620px) {
	.blog-query .wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr;
	}
	.blog-query .wp-block-post-template.is-layout-grid > li.wp-block-post:first-child {
		grid-column: auto;
	}
}
@media (prefers-reduced-motion: reduce) {
	.is-style-blog-card .wp-block-post-featured-image img {
		transition: none;
	}
	.is-style-blog-card:hover .wp-block-post-featured-image img {
		transform: none;
	}
	.blog-filters .wp-element-button {
		transition: none;
	}
}
.site-footer-about {
	color: var( --adf-cream );
	opacity: 0.78;
	font-size: 0.92rem;
	line-height: 1.6;
	max-width: 21rem;
	margin: 0 auto;
	text-align: center;
}
.site-footer-h {
	font-family: var( --adf-sans );
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var( --adf-gold );
	margin: 0 0 1rem;
}
.site-footer-text {
	color: var( --adf-cream );
	opacity: 0.82;
	line-height: 1.75;
	font-size: 0.92rem;
	margin: 0;
}
.site-footer-text a {
	color: var( --adf-cream );
	opacity: 0.85;
	text-decoration: none;
}
.site-footer-text a:hover {
	color: var( --adf-gold );
}
.site-footer-bottom {
	border-top: 1px solid var( --adf-blue );
	opacity: 0.4;
	padding-top: 1.5rem;
}
.site-footer-copy,
.site-footer-note {
	color: var( --adf-cream );
	font-size: 0.82rem;
	opacity: 0.75;
	margin: 0;
}

/* === shop === */
.woocommerce ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-category__title {
	font-family: var( --adf-serif );
	color: var( --adf-cream );
}
.woocommerce ul.products li.product .price {
	color: var( --adf-gold );
}
.woocommerce ul.products li.product .button {
	background: var( --adf-gold );
	color: var( --adf-navy );
	border-radius: 2px;
}
.woocommerce div.product .product_title {
	font-family: var( --adf-serif );
	color: var( --adf-cream );
}
.woocommerce div.product p.price {
	color: var( --adf-gold );
}
.woocommerce div.product .woocommerce-product-details__short-description {
	color: var( --adf-cream );
	opacity: 0.85;
}
.woocommerce .widget_price_filter .ui-slider .ui-slider-range {
	background: var( --adf-gold );
}
.woocommerce a.button,
.woocommerce button.button {
	background: var( --adf-gold );
	color: var( --adf-navy );
	border-radius: 2px;
}
.woocommerce #respond input#submit,
.woocommerce input.button {
	background: var( --adf-gold );
	color: var( --adf-navy );
	border-radius: 2px;
}

/* archive / shop */
.site-archive-head {
	padding-top: clamp( 2rem, 5vw, 3.5rem );
	padding-bottom: 1.5rem;
}
.archive-title {
	font-family: var( --adf-serif );
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 500;
	color: var( --adf-cream );
	margin: 0;
}
.archive-desc {
	color: var( --adf-cream );
	opacity: 0.82;
	max-width: 34rem;
	margin-top: 0.75rem;
}
.site-products .wc-block-grid__products,
.wp-block-woocommerce-product-collection {
	gap: 2rem;
}
.site-products .wc-block-product .wc-block-components-product-name,
.wp-block-woocommerce-product-collection .wc-block-components-product-name {
	font-size: 1.02rem;
	font-weight: 600;
	color: var( --adf-cream );
}
.site-products .wc-block-components-product-price .amount,
.wp-block-woocommerce-product-collection .wc-block-components-product-price .amount {
	color: var( --adf-gold );
}

/* Featured band: single horizontal scroll row at (near) full screen width.
   Desktop shows up to 6 cards, tablet ~4, mobile ~2, scrolling left-right.
   One flex line (nowrap) keeps every card equal height in the row. */
.site-featured-inner .adf-featured-collection {
	width: auto;
	max-width: none;
	margin-left: calc( 50% - 50vw ) !important;
	margin-right: calc( 50% - 50vw ) !important;
}
.adf-featured-collection .wc-block-product-template {
	display: flex;
	flex-wrap: nowrap;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	gap: clamp( 16px, 2.5vw, 28px );
	padding: 0 4vw 14px 4vw;
	scroll-snap-type: x mandatory;
	scrollbar-width: thin;
	scrollbar-color: var( --adf-gold ) rgba(23, 39, 67, 0.45);
}
.adf-featured-collection .wc-block-product-template > .wc-block-product {
	flex: 0 0 auto;
	scroll-snap-align: start;
	width: calc( (100% - 5 * 24px) / 6 );
}
@media (max-width: 1439px) {
	.adf-featured-collection .wc-block-product-template > .wc-block-product {
		width: calc( (100% - 3 * 20px) / 4 );
	}
}
@media (max-width: 899px) {
	.adf-featured-collection .wc-block-product-template > .wc-block-product {
		width: calc( (100% - 20px) / 2 );
	}
}
@media (prefers-reduced-motion: reduce) {
	.adf-featured-collection .wc-block-product-template {
		scroll-behavior: auto;
	}
}

/* single product */
.site-single-product {
	padding-top: clamp( 2rem, 5vw, 3.5rem );
}
.sp-columns .product-title {
	font-family: var( --adf-serif );
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 500;
	color: var( --adf-cream );
}
.sp-columns .wp-block-woocommerce-product-price .amount {
	color: var( --adf-gold );
	font-size: 1.4rem;
}
.sp-details {
	margin-top: 3rem;
}
.sp-details h2 {
	font-family: var( --adf-serif );
	color: var( --adf-cream );
}
.sp-related {
	margin-top: 4rem;
}
.sp-related h2 {
	font-family: var( --adf-serif );
	color: var( --adf-gold );
}

/* cart / checkout / account */
.woocommerce-cart .wp-site-blocks main,
.woocommerce-checkout .wp-site-blocks main,
.woocommerce-account .wp-site-blocks main {
	padding-top: clamp( 2rem, 5vw, 3.5rem );
}
.woocommerce-cart .wp-block-post-title {
	color: var( --adf-gold );
}
.woocommerce table.shop_table {
	border-color: var( --adf-blue );
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	color: var( --adf-cream );
}
.woocommerce-cart .cart_totals h2 {
	font-family: var( --adf-serif );
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	line-height: 1.15;
	margin: 0 0 1rem;
	color: var( --adf-gold );
}
.woocommerce-checkout h3 {
	font-family: var( --adf-serif );
	color: var( --adf-cream );
}

/* Cart items as cards (all screen widths): each product is a soft panel with
   a rounded image on the left, the name beside it, and labelled price /
   quantity / subtotal details beneath. Desktop and tablet/mobile alike. */
.woocommerce-cart table.shop_table.cart {
	border: 0;
}
.woocommerce-cart table.shop_table.cart thead {
	display: none;
}
.woocommerce-cart table.shop_table.cart tbody {
	display: block;
}
.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
	position: relative;
	display: grid;
	grid-template-columns: 96px 1fr 1fr 1fr;
	column-gap: 1.25rem;
	row-gap: 1rem;
	align-items: start;
	margin: 0 0 1.25rem;
	padding: 1.25rem;
	background: var( --adf-navy-2 );
	border: 1px solid rgba( 58, 79, 120, 0.4 );
	border-radius: 4px;
	box-sizing: border-box;
}
.woocommerce-cart table.shop_table.cart tbody tr.cart_item td {
	border: 0;
	padding: 0;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-remove {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	padding: 0;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-remove a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba( 58, 79, 120, 0.5 );
	border-radius: 50%;
	color: var( --adf-cream );
	font-size: 1.3rem;
	line-height: 1;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-remove a:hover {
	background: var( --adf-gold );
	color: var( --adf-navy );
}
.woocommerce-cart table.shop_table.cart .cart_item .product-thumbnail {
	grid-column: 1;
	grid-row: 1 / span 2;
	display: block;
	text-align: left;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-thumbnail img {
	width: 96px;
	height: 96px;
	object-fit: cover;
	border-radius: 4px;
	display: block;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-name {
	grid-column: 2 / -1;
	grid-row: 1;
	min-width: 0;
	text-align: left;
	padding: 0 3rem 0 0;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-name::before {
	display: none;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-name a {
	font-family: var( --adf-serif );
	font-size: 1.2rem;
	font-weight: 500;
	color: var( --adf-gold );
}
.woocommerce-cart table.shop_table.cart .cart_item .product-price {
	grid-column: 2;
	grid-row: 2;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-quantity {
	grid-column: 3;
	grid-row: 2;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-subtotal {
	grid-column: 4;
	grid-row: 2;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-price,
.woocommerce-cart table.shop_table.cart .cart_item .product-quantity,
.woocommerce-cart table.shop_table.cart .cart_item .product-subtotal {
	text-align: left;
}
.woocommerce-cart table.shop_table.cart .cart_item .product-price::before,
.woocommerce-cart table.shop_table.cart .cart_item .product-quantity::before,
.woocommerce-cart table.shop_table.cart .cart_item .product-subtotal::before {
	content: attr( data-title );
	display: block;
	font-family: var( --adf-sans );
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var( --adf-gold );
	margin-bottom: 0.3rem;
}

/* Narrow screens: single column — image, then name, then stacked details. */
@media ( max-width: 640px ) {
	.woocommerce-cart table.shop_table.cart tbody tr.cart_item {
		grid-template-columns: 1fr;
	}
	.woocommerce-cart table.shop_table.cart .cart_item .product-thumbnail {
		grid-column: 1;
		grid-row: 1;
	}
	.woocommerce-cart table.shop_table.cart .cart_item .product-name {
		grid-column: 1;
		grid-row: 2;
	}
	.woocommerce-cart table.shop_table.cart .cart_item .product-name,
	.woocommerce-cart table.shop_table.cart .cart_item .product-price,
	.woocommerce-cart table.shop_table.cart .cart_item .product-quantity,
	.woocommerce-cart table.shop_table.cart .cart_item .product-subtotal {
		text-align: left !important;
	}
	.woocommerce-cart table.shop_table.cart .cart_item .product-price,
	.woocommerce-cart table.shop_table.cart .cart_item .product-quantity,
	.woocommerce-cart table.shop_table.cart .cart_item .product-subtotal {
		grid-column: 1;
		grid-row: auto;
	}
}

/* Cart action buttons on narrow screens: coupon field full width, buttons below. */
@media ( max-width: 640px ) {
	.woocommerce-cart table.shop_table.cart .actions {
		flex-direction: column;
		align-items: stretch;
		justify-content: flex-start;
		gap: 0.75rem;
	}
	.woocommerce-cart table.shop_table.cart .actions .coupon {
		flex: 1 1 auto;
		display: flex;
		flex-wrap: wrap;
		gap: 0.5rem 0.35rem;
		margin: 0;
	}
	.woocommerce-cart table.shop_table.cart .actions .coupon input {
		flex: 1 1 100%;
	}
	.woocommerce-cart table.shop_table.cart .actions button[name="update_cart"] {
		margin: 0;
		align-self: flex-end;
		width: auto;
	}
}

/* Cart action row: coupon on the left, the update button pushed to the right
   edge of the cards, both vertically centered on the same height. */
.woocommerce-cart table.shop_table.cart {
	width: 100%;
}
.woocommerce-cart table.shop_table.cart tbody tr:has(td.actions) {
	display: flex;
	width: 100%;
}
.woocommerce-cart table.shop_table.cart .actions {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	border: 0;
	padding: 0.25rem 0 0;
}
.woocommerce-cart table.shop_table.cart .actions .coupon {
	flex: 1 1 auto;
	margin: 0;
}
.woocommerce-cart table.shop_table.cart .actions button[name="update_cart"] {
	flex: 0 0 auto;
	margin: 0 0 0 auto;
}

/* Tablet & mobile: stack the cart collaterals with the totals heading first,
   followed by the cross-sells. Desktop keeps the side-by-side float layout. */
@media ( max-width: 1024px ) {
	.woocommerce-cart .cart-collaterals {
		display: flex;
		flex-direction: column;
	}
	.woocommerce-cart .cart-collaterals .cart_totals {
		order: 1;
	}
	.woocommerce-cart .cart-collaterals .cross-sells {
		order: 2;
	}
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection--single {
	background: var( --adf-navy-2 );
	color: var( --adf-cream );
	border: 1px solid var( --adf-blue );
}

/* === legal === */
.legal-note {
	margin: 0 0 2rem;
	padding: 1rem 1.25rem;
	background: var( --wp--preset--color--accent-1 );
	border-left: 3px solid var( --wp--preset--color--primary );
	border-radius: 4px;
	color: var( --wp--preset--color--text );
}
.legal-h2 {
	margin-top: 2.75rem;
	padding-top: 1.25rem;
}
.legal-h2::before {
	content: "";
	display: block;
	width: 36px;
	height: 2px;
	background: var( --wp--preset--color--primary );
	margin-bottom: 0.85rem;
}
.wp-block-group.legal-card {
	margin: 1.75rem 0;
	padding: 1.5rem;
	background: var( --wp--preset--color--accent-1 );
	border: 1px solid rgba(58, 79, 120, 0.4);
	border-left: 3px solid var( --wp--preset--color--primary );
	border-radius: 4px;
}
.wp-block-group.legal-card .legal-h2 {
	margin-top: 0;
	padding-top: 0;
}
.legal-card-label {
	margin: 0 0 0.5rem;
	font-family: var( --wp--preset--font-family--albert-sans );
	font-size: var( --wp--preset--font-size--label );
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var( --wp--preset--color--accent-2 );
}
.legal-card-address {
	margin: 0;
	color: var( --wp--preset--color--text );
	opacity: 0.9;
}
.wp-block-group.legal-card ul {
	margin-bottom: 0;
}
.legal-h2 + p,
.legal-h2 + .wp-block-group,
.wp-block-group + .legal-h2 {
	margin-top: 1rem;
}

/* === shop filter sidebar === */
.site-shop-cols {
	align-items: flex-start;
}
.site-filter-col .wc-block-product-filters {
	padding: 0;
}
.site-filter-col .wp-block-woocommerce-product-filters {
	border: 1px solid rgba(212, 168, 83, 0.2);
	border-radius: 14px;
	background: linear-gradient(180deg, rgba(212, 168, 83, 0.05), rgba(10, 18, 34, 0.2));
	padding: 20px 18px;
}
.wp-block-woocommerce-product-filters .filter-heading {
	color: #d4a853;
	font-size: 13px;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin: 22px 0 6px;
	border-bottom: 1px solid rgba(212, 168, 83, 0.18);
	padding-bottom: 6px;
}
.wp-block-woocommerce-product-filters .filter-heading + * {
	margin-top: 0;
}
.site-filter-col > * {
	margin-top: 0;
}
.site-filter-col > div:first-child {
	margin-top: 0;
}

.adf-price-filter {
	margin: 6px 0 4px;
}
.adf-price-slider {
	position: relative;
	height: 24px;
	margin: 14px 2px 16px;
}
.adf-price-slider::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 8px;
	height: 6px;
	border-radius: 999px;
	background: rgba(212, 168, 83, 0.2);
}
.adf-price-range {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 24px;
	margin: 0;
	-webkit-appearance: none;
	appearance: none;
	background: transparent;
	pointer-events: none;
}
.adf-price-range::-webkit-slider-runnable-track {
	height: 6px;
	background: transparent;
}
.adf-price-range::-moz-range-track {
	height: 6px;
	background: transparent;
}
.adf-price-range::-webkit-slider-thumb {
	-webkit-appearance: none;
	appearance: none;
	margin-top: -5px;
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #d4a853;
	border: 2px solid #0d1220;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
	pointer-events: auto;
	cursor: pointer;
}
.adf-price-range::-moz-range-thumb {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	background: #d4a853;
	border: 2px solid #0d1220;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.45);
	pointer-events: auto;
	cursor: pointer;
}
.adf-price-values {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 8px;
}
.adf-price-value {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	font-size: 13px;
	color: rgba(243, 237, 224, 0.72);
}
.adf-price-label {
	text-transform: uppercase;
	letter-spacing: 0.04em;
	font-size: 11px;
	color: rgba(243, 237, 224, 0.55);
}
.adf-price-num {
	font-weight: 600;
	color: #f3ede0;
	font-variant-numeric: tabular-nums;
	font-size: 14px;
}

.adf-reset-filters {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	box-sizing: border-box;
	padding: 10px 14px;
	border: 1px solid rgba(212, 168, 83, 0.4);
	border-radius: 8px;
	background: rgba(212, 168, 83, 0.08);
	color: #d4a853;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}
.adf-reset-filters:hover {
	background: #d4a853;
	color: #0d1220;
	border-color: #d4a853;
}
.adf-reset-icon {
	position: relative;
	width: 12px;
	height: 12px;
	flex: 0 0 auto;
}
.adf-reset-icon::before,
.adf-reset-icon::after {
	content: "";
	position: absolute;
	top: 5px;
	left: 0;
	width: 12px;
	height: 1.6px;
	background: currentColor;
	border-radius: 2px;
}
.adf-reset-icon::before {
	transform: rotate(45deg);
}
.adf-reset-icon::after {
	transform: rotate(-45deg);
}

.adf-cat-filter {
	margin-top: 4px;
}
.adf-cat-group {
	border-bottom: 1px solid rgba(212, 168, 83, 0.22);
}
.adf-cat-parent {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 11px 0;
	background: none;
	border: 0;
	cursor: pointer;
	font: inherit;
	color: inherit;
	text-align: left;
}
.adf-cat-name {
	flex: 1;
	font-weight: 600;
	color: #f3ede0;
	letter-spacing: 0.01em;
	transition: color 0.15s ease;
}
.adf-cat-parent:hover .adf-cat-name {
	color: #d4a853;
}
.adf-cat-count {
	font-size: 12px;
	color: #d4a853;
	font-variant-numeric: tabular-nums;
}
.adf-cat-chevron {
	flex: 0 0 auto;
	width: 9px;
	height: 9px;
	border-right: 2px solid #d4a853;
	border-bottom: 2px solid #d4a853;
	transform: rotate(45deg);
	transition: transform 0.2s ease;
}
.adf-cat-group.open .adf-cat-chevron {
	transform: rotate(225deg);
}
.adf-cat-children {
	display: none;
	list-style: none;
	margin: 0;
	padding: 0 0 10px 20px;
}
.adf-cat-group.open .adf-cat-children {
	display: block;
}
.adf-cat-children li {
	padding: 4px 0;
}
.adf-cat-children a {
	color: rgba(243, 237, 224, 0.78);
	text-decoration: none;
	font-size: 15px;
	line-height: 1.4;
	border-left: 2px solid rgba(212, 168, 83, 0.25);
	padding-left: 10px;
	transition: color 0.15s ease;
}
.adf-cat-children a:hover {
	color: #d4a853;
	border-left-color: #d4a853;
}

.adf-bundle-chip {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	box-sizing: border-box;
	padding: 12px 14px;
	border: 1px solid rgba(212, 168, 83, 0.34);
	border-radius: 10px;
	background: rgba(212, 168, 83, 0.08);
	color: #f3ede0;
	text-decoration: none;
	transition: background 0.2s ease, border-color 0.2s ease;
}
.adf-bundle-chip:hover {
	background: rgba(212, 168, 83, 0.16);
	border-color: #d4a853;
}
.adf-bundle-chip-icon {
	flex: 0 0 auto;
	position: relative;
	width: 20px;
	height: 20px;
	border: 1.5px solid #d4a853;
	border-radius: 3px;
}
.adf-bundle-chip-icon::before,
.adf-bundle-chip-icon::after {
	content: "";
	position: absolute;
	left: 3px;
	right: 3px;
	background: #d4a853;
}
.adf-bundle-chip-icon::before {
	top: 8px;
	height: 1.5px;
}
.adf-bundle-chip-icon::after {
	top: 3px;
	bottom: 3px;
	right: auto;
	width: 1.5px;
}
.adf-bundle-chip-label {
	flex: 1;
	font-weight: 700;
	font-size: 15px;
	letter-spacing: 0.01em;
}
.adf-bundle-chip-hint {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #d4a853;
}
.adf-bundle-chip-count {
	font-size: 12px;
	font-variant-numeric: tabular-nums;
	color: #d4a853;
}

.adf-flag-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 8px 8px;
	margin-top: 6px;
}
.adf-flag-item {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	padding: 8px 4px;
	background: rgba(212, 168, 83, 0.06);
	border: 1px solid rgba(212, 168, 83, 0.2);
	border-radius: 10px;
	color: inherit;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}
.adf-flag-item:hover {
	background: rgba(212, 168, 83, 0.16);
	border-color: #d4a853;
}
.adf-flag-emoji {
	font-size: 24px;
	line-height: 1;
}
.adf-flag-name {
	font-size: 11px;
	line-height: 1.25;
	color: rgba(243, 237, 224, 0.8);
	text-align: center;
}

.adf-brand-grid {
	grid-template-columns: repeat(3, 1fr);
	gap: 8px;
}
.adf-brand-tile {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	padding: 6px;
	background: #0d1220;
	border: 1px solid rgba(212, 168, 83, 0.22);
	border-radius: 10px;
	text-decoration: none;
	transition: border-color 0.15s ease, transform 0.15s ease;
}
.adf-brand-tile:hover {
	border-color: #d4a853;
	transform: translateY(-1px);
}
.adf-brand-thumb {
	max-width: 82%;
	max-height: 82%;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}
.adf-brand-name {
	color: #d4a853;
	font-size: 11px;
	font-weight: 600;
	text-align: center;
	padding: 4px;
	text-decoration: none;
}

@media (prefers-reduced-motion: reduce) {
	.adf-price-range::-webkit-slider-thumb,
	.adf-price-range::-moz-range-thumb,
	.adf-cat-chevron,
	.adf-cat-name,
	.adf-cat-children a,
	.adf-brand-tile,
	.adf-reset-filters,
	.adf-bundle-chip {
		transition: none !important;
	}
	.adf-brand-tile:hover {
		transform: none;
	}
}

/* === product-card origin flag + sale badge (ported from Clone 1) === */
.wp-block-woocommerce-product-collection li.wc-block-product {
	text-align: center;
	display: flex;
	flex-direction: column;
	height: 100%;
}
.wp-block-woocommerce-product-collection li.wc-block-product .wp-block-post-title {
	flex-grow: 1;
}
.wp-block-woocommerce-product-collection li.wc-block-product .wp-block-woocommerce-product-button {
	margin-top: auto;
}
.wc-block-product .card-flag {
	position: absolute;
	top: 6px;
	left: 10px;
	z-index: 2;
	font-size: 3.2em;
	line-height: 1;
	filter: drop-shadow( 0 1px 2px rgba(15, 27, 51, 0.55) );
}
/* Scotland's Saltire and all local SVG flags are drawn as inline SVGs (flag
   emoji render wrong/black on Windows). Sized like — and slightly larger than —
   the emoji flags that sat next to them. */
.flag-saltire, .flag-svg {
	display: inline-block;
	vertical-align: -0.18em;
	width: 1.4em;
	height: 0.94em;
	border-radius: 2px;
	box-shadow: 0 0 0 1px rgba(15, 27, 51, 0.35);
}
/* On cards and the single-product page the SVG flags read larger than the
   emoji flags they replaced, so scale them down to emoji size here. The shop
   Herkunft filter keeps its larger flag tiles. */
.card-flag .flag-svg,
.product-page-flag .flag-svg {
	width: 1em;
	height: 0.67em;
}
.product-page-flag {
	position: absolute;
	top: 14px;
	left: 14px;
	z-index: 5;
	font-size: 40px;
	line-height: 1;
	filter: drop-shadow(0 2px 3px rgba(0, 0, 0, 0.45));
	pointer-events: none;
}
.wp-block-woocommerce-product-image-gallery:has(.onsale) .product-page-flag {
	top: 62px;
}
.wp-block-woocommerce-product-image-gallery .onsale {
	left: 10.5px !important;
	top: 8px !important;
	background: #d4a853 !important;
	color: #0f1b33 !important;
	font-weight: 900 !important;
}
.wc-block-components-product-sale-badge.wc-block-components-product-sale-badge {
	background: #d4a853 !important;
	color: #0f1b33 !important;
	font-weight: 900 !important;
	font-size: 14px !important;
	line-height: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 47px;
	height: 47px;
	padding: 0 6px !important;
	border: none !important;
	border-radius: 100% !important;
}

/* === product-card layout: title, promo label, price, VAT line, button === */
.wp-block-woocommerce-product-collection li.wc-block-product .adf-price-label {
	display: block;
	text-align: center;
	color: var(--wp--preset--color--primary, #d4a853);
	font-size: 0.82em;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin: 2px 0 2px;
}
.wp-block-woocommerce-product-collection li.wc-block-product .adf-card-tax {
	text-align: center;
	color: #9db1d1;
	font-size: 0.72em;
	line-height: 1.4;
	margin: 4px 0 8px;
}
/* Grundpreis ("€ / 100 ml") matches the VAT line exactly in size and colour */
.wp-block-woocommerce-product-collection li.wc-block-product .price-unit {
	text-align: center;
	color: #9db1d1;
	font-size: 13px;
	line-height: 1.4;
	margin: 0 0 4px;
}
/* === single product: short description lead under the title === */
.site-single-product .sp-short-description {
	margin: 0 0 1.5rem;
	color: rgba(243, 237, 224, 0.86);
	font-family: var(--wp--preset--font-family--body);
	font-size: 1.02rem;
	line-height: 1.7;
	text-align: left;
}
.site-single-product .sp-short-description p {
	margin: 0 0 0.6rem;
}
/* === single product: 'Inhalt und Gefäß' spec tiles under the title === */
.site-single-product .adf-spec-tiles {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1.25rem 0 0.5rem;
}
.site-single-product .adf-spec-tile {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	background: #172743;
	border: 1px solid rgba(58, 79, 120, 0.45);
	border-radius: 4px;
	padding: 0.55rem 0.9rem;
}
.site-single-product .adf-spec-tile__icon {
	width: 1.55rem;
	height: 1.55rem;
	flex: 0 0 auto;
	color: #d4a853;
}
.site-single-product .adf-spec-tile__icon svg {
	width: 100%;
	height: 100%;
	display: block;
}
.site-single-product .adf-spec-tile__body {
	display: flex;
	flex-direction: column;
	line-height: 1.25;
}
.site-single-product .adf-spec-tile__label {
	font-family: "Albert Sans", sans-serif;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(243, 237, 224, 0.62);
}
.site-single-product .adf-spec-tile__value {
	font-size: 0.95rem;
	color: #f3ede0;
}
/* === single product: categories under the add-to-cart button === */
.site-single-product .adf-product-cats {
	margin: 1.4rem 0 0;
	font-size: 0.88rem;
	line-height: 1.7;
	color: rgba(243, 237, 224, 0.72);
}
.site-single-product .adf-product-cats__label {
	color: var(--adf-gold, #d4a853);
	font-weight: 600;
}
.site-single-product .adf-product-cats a {
	color: rgba(243, 237, 224, 0.9);
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-color: rgba(212, 168, 83, 0.45);
	transition: color 0.2s ease;
}
.site-single-product .adf-product-cats a:hover {
	color: var(--adf-gold, #d4a853);
}
/* === single product: variation attribute dropdowns aligned with the label ===
   Turn the default WooCommerce variations table rows into flex rows so the
   label and the select sit on one shared vertical center line, and give the
   select (first option "Option auswählen") a lighter, on-brand type. */
.site-single-product table.variations {
	border: 0 !important;
	margin: 0 0 1.5rem;
}
.site-single-product table.variations tr {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}
.site-single-product table.variations th.label,
.site-single-product table.variations td.value {
	padding: 0 !important;
	border: 0 !important;
}
.site-single-product table.variations th.label {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
}
.site-single-product table.variations th.label label {
	margin: 0;
	font-size: 0.95rem;
	line-height: 1.4;
	white-space: nowrap;
}
.site-single-product table.variations td.value {
	flex: 1 1 auto;
	display: flex;
	align-items: center;
}
.site-single-product table.variations select {
	width: 100%;
	margin: 0;
	appearance: none;
	-webkit-appearance: none;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 300;
	font-size: 0.95rem;
	color: rgba(243, 237, 224, 0.92);
	background-color: rgba(243, 237, 224, 0.06) !important;
	border: 1px solid rgba(243, 237, 224, 0.35);
	border-radius: 6px;
	padding: 0.7rem 2.5rem 0.7rem 1rem;
	cursor: pointer;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23d4a853' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>") !important;
	background-repeat: no-repeat !important;
	background-position: right 0.9rem center !important;
	background-size: 1em !important;
}
.site-single-product table.variations select:focus {
	outline: none;
	border-color: rgba(212, 168, 83, 0.7);
}
/* The opened dropdown: turn the native white listbox into a themed surface. */
.site-single-product table.variations select option {
	background-color: #0f1b33;
	color: rgba(243, 237, 224, 0.92);
	font-family: var(--wp--preset--font-family--body);
	font-weight: 300;
	font-size: 0.95rem;
	padding: 0.45rem 0.75rem;
}
.site-single-product table.variations select option:hover,
.site-single-product table.variations select option:checked {
	background-color: #172743;
	color: var(--adf-gold, #d4a853);
}
/* === product-card: align Add to Cart buttons across the row ===
   Use CSS grid (not flex-wrap) for the standard shop/category collection so every
   card in a row stretches to the same height and the button (margin-top:auto)
   lands on one shared baseline — deterministic, no JS. The featured band
   (horizontal scroll) and cross-sell (2-col) collections keep their own layouts. */
.wp-block-woocommerce-product-collection:not(.adf-featured-collection):not(.cross-sells) ul.wc-block-product-template {
	display: grid;
	grid-template-columns: repeat( 2, 1fr );
	gap: 1.5rem;
}
/* WooCommerce's interactive store sets an explicit pixel width on each card;
   override it so every card fills its grid track. */
.wp-block-woocommerce-product-collection:not(.adf-featured-collection):not(.cross-sells) ul.wc-block-product-template > li.wc-block-product {
	width: 100% !important;
}
@media ( min-width: 680px ) {
	.wp-block-woocommerce-product-collection:not(.adf-featured-collection):not(.cross-sells) ul.wc-block-product-template {
		grid-template-columns: repeat( 3, 1fr );
	}
}
@media ( min-width: 1024px ) {
	.wp-block-woocommerce-product-collection:not(.adf-featured-collection):not(.cross-sells) ul.wc-block-product-template {
		grid-template-columns: repeat( 4, 1fr );
	}
}
.wp-block-woocommerce-product-collection ul.wc-block-product-template {
	align-items: stretch !important;
}
.wp-block-woocommerce-product-collection li.wc-block-product {
	display: flex;
	flex-direction: column;
	align-self: stretch !important;
}
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-button {
	margin-top: auto;
}
/* Sale price: old price red strikethrough, sale price optically larger and bolder */
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-price del {
	color: #d8453a;
	text-decoration: line-through;
	font-size: 0.8em;
	opacity: 0.85;
}
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-price ins {
	font-size: 1.3em;
	font-weight: 700;
	color: var(--wp--preset--color--primary, #d4a853);
}
/* Regular (non-sale) card price: bolder, like the Whisky-des-Monats sale price */
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-price .woocommerce-Price-amount {
	font-weight: 700;
	color: var(--wp--preset--color--primary, #d4a853);
}
/* Keep the strikethrough old price red and not bold */
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-price del .woocommerce-Price-amount {
	color: #d8453a;
	font-weight: 400;
}
/* Hide the Germanized inline sale label inside the card price row — it now lives once,
   as its own row (adf-price-label) under the title. */
.wp-block-woocommerce-product-collection li.wc-block-product .wc-block-components-product-price .wc-gzd-sale-price-label {
	display: none !important;
}
/* Hide Germanized's redundant card info lines ("incl. VAT", "plus verzendkosten",
   "Product bevat: 700 ml") — the card shows our own single VAT line instead. Kept in the DOM.
   The legally-required Grundpreis ("€ / 100 ml", .price-unit) stays visible. */
.wp-block-woocommerce-product-collection li.wc-block-product .wc-gzd-additional-info-loop.tax-info,
.wp-block-woocommerce-product-collection li.wc-block-product .wc-gzd-additional-info-loop.shipping-costs-info,
.wp-block-woocommerce-product-collection li.wc-block-product .wc-gzd-additional-info-loop.product-units {
	display: none !important;
}

/* === related products ("Das interessiert dich vielleicht", .sp-related) cards ===
   Mirror the shop product-card layout row for row so both read identically:
   image, centered title, promo label, centered price, VAT line, Equal-height
   button. Flags (card-flag) and equal-heights are applied by card-flags.js. */
.sp-related ul.wp-block-post-template {
	align-items: stretch !important;
}
.sp-related .wp-block-post {
	text-align: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	align-self: stretch !important;
}
.sp-related .wp-block-post .wp-block-post-title {
	flex-grow: 1;
}
.sp-related .wp-block-post .wc-block-components-product-button {
	margin-top: auto;
}
.sp-related .wp-block-post .adf-price-label {
	display: block;
	text-align: center;
	color: var(--wp--preset--color--primary, #d4a853);
	font-size: 0.82em;
	font-weight: 600;
	letter-spacing: 0.02em;
	margin: 2px 0;
}
.sp-related .wp-block-post .adf-card-tax {
	text-align: center;
	color: #9db1d1;
	font-size: 0.72em;
	line-height: 1.4;
	margin: 4px 0 8px;
}
.sp-related .wp-block-post .price-unit {
	text-align: center;
	color: #9db1d1;
	font-size: 13px;
	line-height: 1.4;
	margin: 0 0 4px;
}
.sp-related .wp-block-post .wc-block-components-product-price del {
	color: #d8453a;
	text-decoration: line-through;
	font-size: 0.8em;
	opacity: 0.85;
}
.sp-related .wp-block-post .wc-block-components-product-price ins {
	font-size: 1.3em;
	font-weight: 700;
	color: var(--wp--preset--color--primary, #d4a853);
}
.sp-related .wp-block-post .wc-block-components-product-price .woocommerce-Price-amount {
	font-weight: 700;
	color: var(--wp--preset--color--primary, #d4a853);
}
.sp-related .wp-block-post .wc-block-components-product-price del .woocommerce-Price-amount {
	color: #d8453a;
	font-weight: 400;
}
.sp-related .wp-block-post .wc-block-components-product-price .wc-gzd-sale-price-label {
	display: none !important;
}
.sp-related .wp-block-post .wc-gzd-additional-info-loop.tax-info,
.sp-related .wp-block-post .wc-gzd-additional-info-loop.shipping-costs-info,
.sp-related .wp-block-post .wc-gzd-additional-info-loop.product-units {
	display: none !important;
}
.sp-related .card-flag {
	position: absolute;
	top: 6px;
	left: 10px;
	z-index: 2;
	font-size: 3.2em;
	line-height: 1;
	filter: drop-shadow( 0 1px 2px rgba(15, 27, 51, 0.55) );
}

/* === cart cross-sells ("Das interessiert dich vielleicht …") ===
   Rendered via the theme override with shop-card classes, so the shop card
   layout (flex column, centered, equal-height button, flags) applies. This
   block only supplies the 2-column grid, the image wrapper for the flag, and
   the button look. */
.cross-sells.wp-block-woocommerce-product-collection h2 {
	font-family: var( --adf-serif );
	font-size: clamp(1.4rem, 2.4vw, 1.9rem);
	font-weight: 500;
	color: var( --adf-gold );
	margin: 0 0 1rem;
}
.cross-sells.wp-block-woocommerce-product-collection ul.wc-block-product-template {
	list-style: none;
	padding: 0;
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.25rem 1.5rem;
}
.cross-sells.wp-block-woocommerce-product-collection li.wc-block-product {
	box-sizing: border-box;
	position: relative;
}
.cross-sells .wp-block-woocommerce-product-image {
	position: relative;
}
.cross-sells .wp-block-woocommerce-product-sale-badge {
	position: absolute;
	top: 0;
	right: 0;
	left: auto;
	z-index: 3;
	pointer-events: none;
}
.cross-sells .wp-block-woocommerce-product-button a.button {
	background: var( --adf-gold );
	color: var( --adf-navy );
	border-radius: 2px;
	font-family: var( --adf-sans );
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 14px 24px;
}
.cross-sells .wp-block-woocommerce-product-button a.button:hover {
	opacity: 0.9;
}
/* Hide the net-filling-quantity row on the single product page — kept in the DOM */
.wc-gzd-net-filling-quantity {
	display: none !important;
}

/* === shop pagination === */
.wp-block-woocommerce-product-collection .wp-block-query-pagination {
	gap: 0.4rem;
	margin-top: 2.5rem;
}
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination .wp-block-query-pagination-previous,
.wp-block-query-pagination .wp-block-query-pagination-next {
	color: var( --wp--preset--color--text, #f3ede0 );
	padding: 0.35rem 0.7rem;
	border-radius: 6px;
	text-decoration: none;
}
.wp-block-query-pagination .page-numbers.current {
	background: var( --wp--preset--color--primary, #d4a853 );
	color: var( --wp--preset--color--background, #0f1b33 );
	font-weight: 700;
}
.wp-block-query-pagination a.page-numbers:hover,
.wp-block-query-pagination .wp-block-query-pagination-previous:hover,
.wp-block-query-pagination .wp-block-query-pagination-next:hover {
	color: var( --wp--preset--color--primary, #d4a853 );
}

/* === brands page (Unsere Marken) === */
.brands-masthead {
	padding: clamp(8rem, 15vw, 11rem) 0 clamp(1.75rem, 4vw, 3rem);
}
.brands-masthead .eyebrow {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--albert-sans);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin: 0;
}
.brands-masthead h1 {
	margin: 1.2rem 0 0;
}
.brands-masthead .masthead-sub {
	max-width: 56ch;
	color: rgba(243, 237, 224, 0.74);
	font-size: 1.08rem;
	margin: 0.6rem 0 2.2rem;
}
.brands-masthead .is-style-brand-sep {
	width: 90px;
	height: 2px;
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--primary);
	border: none;
	border-radius: 0;
	margin: 0;
}

.brands-band {
	padding: 0 0 clamp(3rem, 7vw, 5.5rem);
}
.brands-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2rem;
}

.is-style-brand-card {
	background: var(--wp--preset--color--accent-1);
	border: 1px solid rgba(58, 79, 120, 0.55);
	border-radius: 14px;
	padding: 1.75rem 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	transition: border-color 0.25s ease, transform 0.25s ease;
}
.is-style-brand-card:hover {
	border-color: var(--wp--preset--color--primary);
	transform: translateY(-3px);
}

.is-style-brand-card .brand-logo {
	margin: 0 0 1.1rem;
}
.is-style-brand-card .brand-logo img {
	max-height: 64px;
	width: auto;
	object-fit: contain;
	transition: transform 0.3s ease;
}
.is-style-brand-card:hover .brand-logo img {
	transform: scale(1.05);
}

.brands-grid .brand-name {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: 1.4rem;
	line-height: 1.2;
	color: var(--wp--preset--color--text);
	margin: 0 0 0.25rem;
}
.brands-grid .brand-name a {
	color: inherit;
	text-decoration: none;
}
.brands-grid .brand-name a:hover {
	color: var(--wp--preset--color--primary);
}
.brands-grid .brand-count {
	color: rgba(243, 237, 224, 0.55);
	font-size: 0.8rem;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0;
}

/* gold serif name tile for brands without a logo */
.is-style-brand-tile .brand-tile-name {
	font-family: var(--wp--preset--font-family--cormorant-garamond);
	font-size: clamp(1.6rem, 2.6vw, 2.1rem);
	line-height: 1.1;
	color: var(--wp--preset--color--primary);
	margin: 0 0 0.6rem;
}
.is-style-brand-tile .brand-tile-name a {
	color: inherit;
	text-decoration: none;
}
.is-style-brand-tile .brand-tile-name a:hover {
	color: var(--wp--preset--color--text);
}

@media (max-width: 1020px) {
	.brands-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}
@media (max-width: 760px) {
	.brands-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
@media (max-width: 340px) {
	.brands-grid {
		grid-template-columns: 1fr;
	}
}

/* brands page section headers (Hausmarke / Direkt importiert / Fachgroßhandel) */
.brands-section {
	padding: clamp(2.5rem, 5vw, 4.5rem) 0 0;
}
.brands-section .eyebrow {
	color: var(--wp--preset--color--primary);
	font-family: var(--wp--preset--font-family--albert-sans);
	font-size: var(--wp--preset--font-size--label);
	font-weight: 600;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	margin: 0;
}
.brands-section h2 {
	margin: 1rem 0 0;
}
.brands-section .brand-section-sub {
	max-width: 62ch;
	color: rgba(243, 237, 224, 0.72);
	font-size: 1.02rem;
	margin: 0.6rem 0 2.2rem;
}

/* Brand category filter toolbar */
.adf-brand-filters {
	padding: clamp(1rem, 2vw, 1.75rem) 0 0;
}
.adf-brand-filters-inner {
	display: flex;
	flex-wrap: wrap;
	gap: 0.55rem;
	max-width: 760px;
	margin: 0 auto;
}
.adf-filter-chip {
	font-family: var(--wp--preset--font-family--albert-sans);
	font-size: 0.86rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: rgba(243, 237, 224, 0.85);
	background: rgba(255, 255, 255, 0.04);
	border: 1px solid rgba(212, 168, 83, 0.35);
	border-radius: 999px;
	padding: 0.42rem 0.95rem;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.adf-filter-chip:hover {
	border-color: var(--wp--preset--color--primary);
	color: #fff;
}
.adf-filter-chip.is-active {
	background: var(--wp--preset--color--primary);
	color: #111;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(212, 168, 83, 0.22);
	font-weight: 700;
}

/* Card states while a filter is active */
.is-style-brand-card.is-dimmed {
	opacity: 0.14;
	filter: saturate(0.15);
	transition: opacity 0.3s ease, filter 0.3s ease;
}
.is-style-brand-card.is-highlighted {
	box-shadow: 0 0 0 1px var(--wp--preset--color--primary), 0 12px 34px -14px rgba(212, 168, 83, 0.55);
	transition: box-shadow 0.3s ease, opacity 0.3s ease;
}
.is-style-brand-card {
	transition: opacity 0.3s ease, filter 0.3s ease, box-shadow 0.3s ease;
}

/* Black transparent logos -> white, only on dark surfaces */
.is-style-brand-card .brand-logo img[alt="Blacks Brewery & Distillery Logo"],
.is-style-brand-card .brand-logo img[alt="De Kuyper Logo"],
.is-style-brand-card .brand-logo img[alt="Miodula Logo"] {
	filter: invert(1);
}

/* White-inversion for flagged dark logos (adf-logo-white) */
.is-style-brand-card .brand-logo.adf-logo-white img {
	filter: invert(1);
}

/* Brand archive header (product_brand pages): logo card + title + description */
.adf-brand-header .adf-brand-archive-logo {
	margin: 0;
}
.adf-brand-archive-logo img {
	max-height: 92px;
	width: auto;
	height: auto;
	vertical-align: middle;
}
body.tax-product_brand .adf-brand-header {
	display: grid;
	grid-template-columns: auto 1fr;
	grid-template-areas:
		"logo title"
		"logo desc";
	column-gap: 18px;
	align-items: start;
}
body.tax-product_brand .site-archive-head .archive-eyebrow {
	display: none;
}
body.tax-product_brand .archive-desc {
	max-width: none;
}
body.tax-product_brand .adf-brand-header::after {
	content: "";
	grid-column: 1 / -1;
	width: 90px;
	height: 2px;
	margin-top: 28px;
	background: var( --wp--preset--color--primary );
}
body.tax-product_brand .adf-brand-header .adf-brand-archive-logo {
	grid-area: logo;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.tax-product_brand .adf-brand-header .adf-brand-archive-logo img {
	display: block;
	width: auto;
	height: auto;
	max-height: 180px;
	max-width: 260px;
}
body.tax-product_brand .adf-brand-header .adf-brand-archive-logo img.adf-logo-white {
	filter: invert(1);
}
body.tax-product_brand .adf-brand-header .wp-block-query-title {
	grid-area: title;
	margin: 0;
	color: var( --wp--preset--color--primary );
}
body.tax-product_brand .adf-brand-header .wp-block-term-description {
	grid-area: desc;
	margin: 6px 0 0;
}
@media (max-width: 781px) {
	body.tax-product_brand .adf-brand-header {
		display: block;
		text-align: center;
	}
	body.tax-product_brand .adf-brand-header .adf-brand-archive-logo {
		margin: 0 auto 14px;
	}
	body.tax-product_brand .adf-brand-header .wp-block-query-title {
		text-align: center;
	}
	body.tax-product_brand .adf-brand-header .wp-block-term-description {
		text-align: center;
		max-width: none;
	}
}

/* === responsive === */
@media (max-width: 781px) {
	.site-header-flex {
		flex-wrap: wrap;
		justify-content: center;
		gap: 0.5rem;
		padding-block: 1rem;
	}
	.site-hero {
		min-height: 78vh;
	}
	.site-hero .hero-inner {
		padding-top: 2.5rem;
	}
	.site-footer-cols {
		gap: 2rem;
	}
}

/* === motion === */
@media (prefers-reduced-motion: reduce) {
	.site-header-nav .wp-block-navigation-item a::after {
		transition: none;
	}
	*,
	*::before,
	*::after {
		animation: none !important;
		transition: none !important;
	}
}

/* ---------- Checkout: two-column (billing/shipping left, order summary right) ---------- */
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	grid-template-areas:
		"billing order-head"
		"billing order-review";
	column-gap: 3rem;
	align-items: start;
}
.woocommerce-checkout #customer_details {
	grid-area: billing;
	float: none;
	width: auto;
}
/* Stack billing above the shipping block inside the left column. */
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
}
.woocommerce-checkout #order_review_heading {
	grid-area: order-head;
	margin-top: 0;
}
.woocommerce-checkout #order_review {
	grid-area: order-review;
	float: none;
	width: auto;
}

/* ---------- Checkout country/state select contrast (select2 + native) ---------- */
.woocommerce-checkout .select2-container--default .select2-selection--single {
	background: #fff;
	border: 1px solid #c9c9c9;
	border-radius: 6px;
	height: auto;
	padding: 0.45rem 0.65rem;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
	color: #1a1a1a;
	line-height: 1.5;
}
.woocommerce-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 100%;
}
.woocommerce-checkout select.country_select,
.woocommerce-checkout select.state_select,
.woocommerce-checkout select:not([class*="select2"]):not([multiple]) {
	background: #fff;
	color: #1a1a1a;
	border: 1px solid #c9c9c9;
	border-radius: 6px;
	padding: 0.55rem 0.7rem;
}
.woocommerce-checkout .select2-dropdown,
.woocommerce-checkout .select2-container--default .select2-results__option {
	color: #1a1a1a;
	background: #fff;
}
.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected] {
	background: var(--adf-navy);
	color: #fff;
}

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout {
		grid-template-columns: 1fr;
		grid-template-areas:
			"billing"
			"order-head"
			"order-review";
		column-gap: 0;
	}
}

/* ---------- Order summary + payment: dark readable card ---------- */
.woocommerce-checkout #order_review {
	background: var(--adf-navy-2);
	border: 1px solid var(--adf-blue);
	border-radius: 14px;
	padding: 0.6rem 1.3rem 1.4rem;
	color: var(--adf-cream);
}
.woocommerce-checkout #order_review h3 {
	font-family: var(--adf-serif);
	color: var(--adf-gold);
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--adf-cream);
	margin: 0 0 1.2rem;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table th,
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table td {
	background: transparent;
	color: var(--adf-cream);
	border-color: rgba(243, 237, 224, 0.14);
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table thead th {
	font-family: var(--adf-serif);
	font-size: 1rem;
	letter-spacing: 0.04em;
	color: var(--adf-gold);
	border-bottom: 1px solid rgba(212, 168, 83, 0.4);
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table .product-total {
	text-align: right;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table tfoot th {
	font-weight: 600;
}
.woocommerce-checkout #order_review #payment {
	background: transparent;
	border: 0;
	border-top: 1px solid var(--adf-blue);
	border-radius: 0;
	color: var(--adf-cream);
	margin: 0 0 1rem;
	padding-top: 0.4rem;
}
.woocommerce-checkout #order_review #payment .wc_payment_methods,
.woocommerce-checkout #order_review #payment .place-order,
.woocommerce-checkout #order_review #payment .wc_payment_method {
	background: transparent;
	color: var(--adf-cream);
}
.woocommerce-checkout #order_review #payment .wc_payment_method label {
	color: var(--adf-cream);
}
.woocommerce-checkout #order_review #payment .wc_payment_method label:hover {
	color: var(--adf-gold);
}

/* Order the right column: Deine Bestellung (heading) -> table -> Zahlungsart -> methods -> legal checkboxes -> button */
.woocommerce-checkout #order_review {
	display: flex;
	flex-direction: column;
}
.woocommerce-checkout #order_review #order_review_heading {
	order: 10;
}
.woocommerce-checkout #order_review .woocommerce-checkout-review-order-table {
	order: 20;
}
.woocommerce-checkout #order_review #adf-pickup-appointment {
	order: 29;
	margin: 0 0 1.4rem;
}
.woocommerce-checkout #order_review #order_payment_heading {
	order: 30;
}
.woocommerce-checkout #order_review #payment {
	order: 40;
}
.woocommerce-checkout #order_review .wc-gzd-checkbox-placeholder {
	order: 50;
}
.woocommerce-checkout #order_review .wc-gzd-order-submit {
	order: 60;
}
.woocommerce-checkout #order_review > input {
	display: none;
}

/* === NL shipping popup (checkout) === */
.adf-nl-overlay {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	background: rgba( 15, 27, 51, 0.8 );
	backdrop-filter: blur( 2px );
}
.adf-nl-box {
	position: relative;
	max-width: 460px;
	width: 100%;
	background: var( --adf-navy-2 );
	border: 1px solid rgba( 212, 168, 83, 0.5 );
	border-radius: 6px;
	padding: 2.25rem 2rem 2rem;
	text-align: center;
	box-shadow: 0 20px 60px rgba( 0, 0, 0, 0.5 );
}
.adf-nl-close {
	position: absolute;
	top: 0.6rem;
	right: 0.9rem;
	background: none;
	border: 0;
	color: var( --adf-gold );
	font-size: 1.7rem;
	line-height: 1;
	cursor: pointer;
}
.adf-nl-title {
	font-family: var( --adf-serif );
	color: var( --adf-gold );
	font-size: 1.5rem;
	line-height: 1.2;
	margin: 0 0 0.85rem;
}
.adf-nl-text {
	color: var( --adf-cream );
	margin: 0 0 0.6rem;
}
.adf-nl-welcome {
	color: var( --adf-cream );
	margin: 0 0 1.5rem;
}
.adf-nl-welcome strong {
	color: var( --adf-gold );
}
.adf-nl-ok {
	width: 100%;
}

/* === Age gate (frontend) === */
.adf-age-lock {
	overflow: hidden;
}
.adf-age-overlay {
	position: fixed;
	inset: 0;
	z-index: 100000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	background:
		radial-gradient( ellipse at 50% 0, rgba( 212, 168, 83, 0.18 ), transparent 60% ),
		var( --adf-navy );
	backdrop-filter: blur( 4px );
}
.adf-age-box {
	max-width: 500px;
	width: 100%;
	background: var( --adf-navy-2 );
	border: 1px solid rgba( 212, 168, 83, 0.55 );
	border-radius: 8px;
	padding: 2.75rem 2.25rem 2.25rem;
	text-align: center;
	box-shadow: 0 20px 70px rgba( 0, 0, 0, 0.6 );
}
.adf-age-brand {
	font-family: var( --adf-serif );
	color: var( --adf-gold );
	font-size: 1.4rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	margin: 0 0 1.1rem;
}
.adf-age-logo {
	display: block;
	max-width: 260px;
	width: 100%;
	height: auto;
	margin: 0 auto 1.4rem;
}
.adf-age-title {
	font-family: var( --adf-serif );
	color: var( --adf-cream );
	font-size: 1.7rem;
	line-height: 1.25;
	margin: 0 0 0.9rem;
}
.adf-age-text {
	color: rgba( 243, 237, 224, 0.85 );
	font-size: 0.98rem;
	line-height: 1.6;
	margin: 0 0 1.6rem;
}
.adf-age-actions {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}
.adf-age-actions .adf-age-yes {
	width: 100%;
}
.adf-age-no {
	background: none;
	border: 1px solid rgba( 212, 168, 83, 0.35 );
	border-radius: 2px;
	color: var( --adf-cream );
	font-family: var( --adf-sans );
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	padding: 12px 24px;
	cursor: pointer;
	transition: border-color 0.2s ease, color 0.2s ease;
}
.adf-age-no:hover {
	border-color: var( --adf-gold );
	color: var( --adf-gold );
}
.adf-age-underage {
	color: var( --adf-gold );
	font-size: 0.95rem;
	margin: 1.2rem 0 0;
}

/* === lightweight cookie notice === */
.adf-cookie-notice {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 99999;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.8rem 1.5rem;
	padding: 0.9rem 1.25rem;
	background: var( --adf-navy-2 );
	border-top: 2px solid var( --adf-gold );
	color: var( --adf-cream );
	box-shadow: 0 -6px 24px rgba( 0, 0, 0, 0.35 );
}
.adf-cookie-text {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.5;
	max-width: 62ch;
}
.adf-cookie-text a {
	color: var( --adf-gold );
	text-decoration: underline;
	text-underline-offset: 2px;
}
.adf-cookie-text a:hover {
	color: var( --adf-cream );
}
.adf-cookie-accept {
	flex: 0 0 auto;
}
@media ( max-width: 640px ) {
	.adf-cookie-notice {
		flex-direction: column;
		align-items: flex-start;
	}
	.adf-cookie-accept {
		width: 100%;
	}
}

/* === adfundum/map block === */
.adf-map-frame {
	position: relative;
	width: 100%;
	aspect-ratio: 16 / 9;
	border: 1px solid rgba( 58, 79, 120, 0.4 );
	overflow: hidden;
	background: var( --adf-navy-2 );
}
.adf-map-frame iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
}
.adf-map-heading {
	font-family: var( --adf-serif );
	font-size: clamp( 1.75rem, 3.2vw, 2.5rem );
	font-weight: 500;
	line-height: 1.15;
	color: var( --adf-cream );
	margin: 0 0 1.5rem;
}
.adf-map-actions {
	margin-top: 1.5rem;
}

/* === header product search (Advanced Product Search) === */
.site-header-search {
	display: flex;
	justify-content: center;
	padding: 0.6rem 1.5rem 1.1rem;
}
.site-header-search .apsw-search-wrap {
	max-width: 620px;
	width: 100%;
}

/* === newsletter page === */
.band-newsletter .newsletter-perks {
	list-style: none;
	margin: 0 0 2rem;
	padding: 0;
}
.band-newsletter .newsletter-perks li {
	display: flex;
	gap: 0.9rem;
	align-items: flex-start;
	padding: 1.1rem 0;
	border-bottom: 1px solid rgba(58, 79, 120, 0.4);
	color: rgba(243, 237, 224, 0.9);
	font-size: 1.0625rem;
	line-height: 1.5;
}
.band-newsletter .newsletter-perks li::before {
	content: "";
	flex: 0 0 8px;
	width: 8px;
	height: 8px;
	margin-top: 0.55rem;
	background: var(--adf-gold);
	border-radius: 1px;
}
.band-newsletter .newsletter-perks li strong {
	color: var(--adf-cream);
	font-weight: 600;
}
.band-newsletter .newsletter-note {
	color: rgba(243, 237, 224, 0.65);
	font-size: 0.85rem;
	line-height: 1.55;
	max-width: 40ch;
}
.band-newsletter .newsletter-note a {
	color: var(--adf-gold);
}

/* Mailchimp form - force house style over the embed's classic CSS */
#mc_embed_signup {
	background: transparent !important;
	width: 100% !important;
	max-width: 520px;
	font-family: var(--adf-sans) !important;
	color: var(--adf-cream);
}
#mc_embed_signup #mc_embed_signup_scroll > h2 {
	display: none;
}
#mc_embed_signup form {
	padding: 0 !important;
	width: 100% !important;
}
#mc_embed_signup .indicates-required {
	color: rgba(243, 237, 224, 0.6);
	font-size: 0.78rem;
	text-align: right;
	margin: 0 0 1rem;
}
#mc_embed_signup .mc-field-group {
	width: 100% !important;
	min-height: 0 !important;
	margin: 0 0 1.1rem;
}
#mc_embed_signup .mc-field-group label,
#mc_embed_signup .content__gdpr label,
#mc_embed_signup .checkbox.subfield {
	color: var(--adf-cream) !important;
	font-size: 0.82rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.04em;
	margin-bottom: 0.35rem;
}
#mc_embed_signup .asterisk {
	color: var(--adf-gold) !important;
}
#mc_embed_signup input[type="text"],
#mc_embed_signup input[type="email"],
#mc_embed_signup .datefield input {
	background: var(--adf-navy-2) !important;
	border: 1px solid var(--adf-blue) !important;
	color: var(--adf-cream) !important;
	font-family: var(--adf-sans) !important;
	font-size: 1rem !important;
	padding: 0.8rem 0.9rem !important;
	width: 100% !important;
	box-sizing: border-box;
	border-radius: 2px;
	height: auto !important;
}
#mc_embed_signup input::placeholder {
	color: rgba(243, 237, 224, 0.5);
}
#mc_embed_signup input:focus {
	outline: none;
	border-color: var(--adf-gold) !important;
	box-shadow: 0 0 0 2px rgba(212, 168, 83, 0.25);
}
#mc_embed_signup .datefield {
	display: flex;
	gap: 0.5rem;
	align-items: center;
}
#mc_embed_signup .datefield .subfield {
	width: auto !important;
}
#mc_embed_signup .datefield input {
	width: 3.2rem !important;
	text-align: center;
}
#mc_embed_signup .datefield .small-meta {
	color: rgba(243, 237, 224, 0.55);
	font-size: 0.8rem;
}
#mc_embed_signup .input-group > strong {
	display: block;
	color: var(--adf-cream);
	font-size: 0.82rem;
	font-weight: 600;
	margin: 1.2rem 0 0.4rem;
}
#mc_embed_signup .input-group ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.8rem 1.6rem;
}
#mc_embed_signup .input-group ul li {
	color: rgba(243, 237, 224, 0.85);
	font-size: 0.95rem;
	margin-top: 0.5rem;
}
#mc_embed_signup .content__gdpr {
	margin-top: 1.2rem;
	border-top: 1px solid rgba(58, 79, 120, 0.4);
	padding-top: 1.1rem;
}
#mc_embed_signup .content__gdpr p {
	color: rgba(243, 237, 224, 0.6);
	font-size: 0.8rem;
	line-height: 1.5;
}
#mc_embed_signup .content__gdpr a {
	color: var(--adf-gold);
}
#mc_embed_signup .mc_fieldset {
	border: none;
	margin: 0.4rem 0 0;
}
#mc_embed_signup .checkbox.subfield {
	display: flex;
	gap: 0.6rem;
	align-items: flex-start;
	font-weight: 400 !important;
}
#mc_embed_signup input[type="checkbox"],
#mc_embed_signup input[type="radio"] {
	accent-color: var(--adf-gold);
	margin-top: 0.2rem;
}
#mc_embed_signup #mce-responses {
	margin: 0.9rem 0;
}
#mc_embed_signup .optionalParent {
	margin-top: 1.4rem;
	border-top: 1px solid rgba(58, 79, 120, 0.4);
	padding-top: 1.2rem;
}
#mc_embed_signup #mc-embedded-subscribe {
	background: var(--adf-gold) !important;
	color: var(--adf-navy) !important;
	border: none !important;
	border-radius: 2px;
	font-family: var(--adf-sans);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	padding: 0.9rem 2rem;
	cursor: pointer;
	width: 100%;
	margin: 0 !important;
	transition: background 0.2s ease;
}

/* Make the submit button fill the width under the form (override Mailchimp 2-col grid) */
#mc_embed_signup .optionalParent,
#mc_embed_signup .optionalParent .clear.foot {
	display: block !important;
	width: 100% !important;
}
#mc_embed_signup #mc-embedded-subscribe {
	width: 100% !important;
	height: auto !important;
	line-height: 1.3 !important;
	padding: 0.9rem 2rem !important;
}
#mc_embed_signup #mc-embedded-subscribe:hover {
	background: #c99a44 !important;
}
#mc_embed_signup .refferal_badge {
	display: none !important;
}

@media (max-width: 781px) {
	.band-newsletter .wp-block-columns {
		flex-direction: column !important;
	}
	.band-newsletter .wp-block-column {
		margin-left: 0;
	}
}

/* === footer: tablet & mobile layout === */
@media (max-width: 1024px) and (min-width: 641px) {
	.site-footer-cols {
		flex-direction: row !important;
		flex-wrap: wrap !important;
	}
	.site-footer-cols > .site-footer-col:first-child {
		flex: 0 0 100% !important;
	}
	.site-footer-cols > .site-footer-col:not(:first-child) {
		flex: 1 1 0 !important;
		text-align: center;
	}
	.site-footer-cols > .site-footer-col:not(:first-child) .site-footer-h,
	.site-footer-cols > .site-footer-col:not(:first-child) .site-footer-text {
		text-align: center;
	}
}
@media (max-width: 640px) {
	.site-footer-cols {
		flex-direction: column !important;
		flex-wrap: nowrap !important;
	}
	.site-footer-cols > .site-footer-col {
		flex-basis: auto !important;
		text-align: center;
	}
	.site-footer-h,
	.site-footer-text,
	.site-footer-text a {
		text-align: center;
	}
}

/* password visibility toggle - icons stay dark from WooCommerce but are lightened here, alternating via display-password */
.password-input .show-password-input {
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	opacity: 0.95;
}
.password-input .show-password-input:hover,
.password-input .show-password-input:focus {
	opacity: 1;
}
.password-input .show-password-input::after {
	content: none !important;
}
.password-input .show-password-input::before {
	content: '';
	display: block;
	height: 22px;
	width: 22px;
	filter: brightness(0) invert(1) opacity(0.92);
}
.password-input .show-password-input.display-password::before {
	filter: brightness(0) invert(1) opacity(0.92);
}

/* === my account (WooCommerce) - house style === */
.woocommerce-account .u-column1.col-1,
.woocommerce-account .u-column2.col-2 {
	background: var(--wp--preset--color--accent-1);
	border: 1px solid rgba(165, 178, 205, 0.18);
	border-top: 3px solid var(--adf-gold);
	border-radius: 10px;
	padding: 2.6rem 2.3rem;
	box-sizing: border-box;
}
.woocommerce-account .u-column1.col-1 h2,
.woocommerce-account .u-column2.col-2 h2 {
	font-family: var(--adf-serif);
	font-size: clamp(1.7rem, 3vw, 2.2rem);
	font-weight: 500;
	line-height: 1.1;
	color: var(--adf-cream);
	margin: 0 0 1.4rem;
}
.woocommerce-account .form-row label {
	display: inline-block;
	font-family: var(--adf-sans);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--adf-gold);
	margin-bottom: 0.5rem;
}
.woocommerce-account .form-row .required {
	color: var(--adf-gold);
}
.woocommerce-account .form-row input.input-text {
	background: var(--adf-navy);
	border: 1px solid rgba(165, 178, 205, 0.35);
	color: var(--adf-cream);
	font-family: var(--adf-sans);
	font-size: 1rem;
	padding: 0.85rem 0.95rem;
	border-radius: 4px;
	width: 100%;
	box-sizing: border-box;
}
.woocommerce-account .form-row input.input-text:focus {
	outline: none;
	border-color: var(--adf-gold);
	box-shadow: 0 0 0 3px rgba(212, 168, 83, 0.18);
}
.woocommerce-account button.button.woocommerce-form-login__submit,
.woocommerce-account button.button.woocommerce-form-register__submit,
.woocommerce-account button.button[name="save_account_details"],
.woocommerce-account button.button[name="save_address"] {
	background: var(--adf-gold);
	color: var(--adf-navy);
	border: 0 !important;
	border-radius: 2px;
	font-family: var(--adf-sans);
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	padding: 0.95rem 2rem;
}
.woocommerce-account button.button:hover {
	background: #c99a44;
	color: var(--adf-navy);
}
.woocommerce-account .woocommerce-form__label-for-checkbox {
	font-size: 0.95rem;
	color: rgba(243, 237, 224, 0.85);
}
.woocommerce-account .woocommerce-LostPassword a,
.woocommerce-account .woocommerce-form-login .lost_password a {
	color: var(--adf-gold);
}
.woocommerce-account input[type="checkbox"],
.woocommerce-account input[type="radio"] {
	accent-color: var(--adf-gold);
}

/* logged in: two-column layout (nav column 25%, content 75%) */
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
	background: var(--wp--preset--color--accent-1);
	border: 1px solid rgba(58, 79, 120, 0.45);
	border-radius: 10px;
	padding: 1rem 0;
}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 0.85rem 1.2rem;
	color: rgba(243, 237, 224, 0.82);
	border-left: 3px solid transparent;
	font-size: 1rem;
	transition: color 0.2s, border-color 0.2s;
}
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation li a:hover {
	color: var(--adf-gold);
	border-left-color: var(--adf-gold);
}
@media (min-width: 782px) {
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) {
		display: flex;
		align-items: flex-start;
		gap: 2rem;
	}
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-navigation {
		flex: 0 0 25%;
		max-width: 25%;
	}
	.woocommerce-account .woocommerce > .woocommerce-MyAccount-content {
		flex: 1 1 75%;
		min-width: 0;
	}
}

/* account content headings, links, messages */
.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3 {
	font-family: var(--adf-serif);
	color: var(--adf-cream);
}
.woocommerce-account .woocommerce-MyAccount-content p {
	color: rgba(243, 237, 224, 0.85);
}
.woocommerce-account .woocommerce-MyAccount-content a {
	color: var(--adf-gold);
}
.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-info,
.woocommerce-account .woocommerce-error {
	background: var(--wp--preset--color--accent-1);
	border: 1px solid rgba(58, 79, 120, 0.5);
	border-radius: 6px;
	color: var(--adf-cream);
}
.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before {
	color: var(--adf-gold);
}
.woocommerce-account .woocommerce-message .button {
	background: var(--adf-gold);
	color: var(--adf-navy);
	border: 0;
	border-radius: 2px;
}

/* order / billing tables */
.woocommerce-account table.shop_table {
	background: transparent;
	border: 1px solid rgba(58, 79, 120, 0.45);
	border-radius: 6px;
	color: var(--adf-cream);
}
.woocommerce-account table.shop_table th {
	background: var(--wp--preset--color--accent-1);
	color: var(--adf-gold);
	font-family: var(--adf-sans);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
.woocommerce-account table.shop_table td,
.woocommerce-account table.shop_table th {
	border-color: rgba(58, 79, 120, 0.45);
}
.woocommerce-account table.shop_table a {
	color: var(--adf-gold);
}
.woocommerce-account .addresses .title h3 {
	font-family: var(--adf-serif);
	color: var(--adf-cream);
}
.woocommerce-account .addresses address {
	color: rgba(243, 237, 224, 0.85);
	font-style: normal;
}
.woocommerce-account .edit-account fieldset legend {
	font-family: var(--adf-serif);
	color: var(--adf-cream);
}
@media (max-width: 600px) {
	.woocommerce-account .u-column1.col-1,
	.woocommerce-account .u-column2.col-2 {
		padding: 1.8rem 1.4rem;
	}
}
.page-hero .account-logout {
	margin-top: 1.6rem;
}
.account-logout .wp-element-button {
	background: var(--wp--preset--color--accent-1);
	color: var(--adf-cream);
	border: 1px solid var(--adf-blue);
	border-radius: 2px;
	padding: 0.8rem 1.7rem;
	font-family: var(--adf-sans);
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	display: inline-block;
	transition: border-color 0.2s, color 0.2s;
}
.account-logout .wp-element-button:hover {
	border-color: var(--adf-gold);
	color: var(--adf-gold);
}

/* order action buttons (view/pay/reorder/cancel) — outline, not solid gold */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .button {
	background: var(--wp--preset--color--accent-1);
	color: var(--adf-cream) !important;
	border: 1px solid var(--adf-blue);
	border-radius: 2px;
	padding: 0.55rem 1.05rem;
	font-family: var(--adf-sans);
	font-size: 0.85rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	line-height: 1.3;
	display: inline-block;
	transition: border-color 0.2s, color 0.2s, background-color 0.2s;
}
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .woocommerce-button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table .button:hover {
	border-color: var(--adf-gold);
	color: var(--adf-gold) !important;
	background: var(--wp--preset--color--accent-1);
}

/* order detail / view-order buttons: solid gold with navy text */
.woocommerce-account .woocommerce-MyAccount-content .button,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button {
	background: var(--adf-gold);
	color: var(--adf-navy) !important;
	border: 0 !important;
	border-radius: 2px;
	font-family: var(--adf-sans);
	font-size: 0.9rem;
	font-weight: 600;
	letter-spacing: 0.03em;
	padding: 0.75rem 1.5rem;
	display: inline-block;
	line-height: 1.4;
	transition: background-color 0.2s;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-button:hover {
	background: #c99a44;
	color: var(--adf-navy) !important;
}

/* ---------- Language switcher (header + footer) ---------- */
.adf-lang-switch {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-family: var(--adf-sans, inherit);
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
}
.site-header-navrow .adf-lang-switch {
	margin-left: 1rem;
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	padding-left: 1rem;
}
.site-footer-bottom .adf-lang-switch {
	margin-left: auto;
}
.adf-lang-link {
	display: inline-block;
	padding: 0.2rem 0.45rem;
	border: 1px solid transparent;
	border-radius: 2px;
	color: inherit;
	text-decoration: none;
	opacity: 0.75;
	transition: opacity 0.15s, border-color 0.15s, background 0.15s;
}
.adf-lang-link:hover {
	opacity: 1;
	border-color: currentColor;
}
.adf-lang-link.is-current {
	opacity: 1;
	border-color: currentColor;
	background: var(--adf-gold, #d4b15b);
	color: var(--adf-navy, #10233d);
}

