/* =========================================================================
   Adena Jewellery – theme.css
   Premium, editorial jewellery design. Mobile-first. Vanilla CSS, no build
   step required (minify in production). Colours and type are driven by custom
   properties so the whole palette can be themed in one place.
   ========================================================================= */

/* ----------------------------------------------------------------------- *
 * 1. Design tokens
 * ----------------------------------------------------------------------- */
:root {
	/* Palette */
	--adena-bg: #f7f7f7;
	--adena-surface: #ffffff;
	--adena-accent: #c2b9af;
	--adena-accent-dark: #a89e92;
	--adena-text: #222222;
	--adena-muted: #666666;
	--adena-border: #e5e1dc;
	--adena-sale: #b08d57; /* warm gold for sale, accessible on white */

	/* Typography */
	--adena-font-heading: "Unna", Georgia, "Times New Roman", serif;
	--adena-font-body: "Fira Sans Condensed", "Helvetica Neue", Arial, sans-serif;

	/* Rhythm */
	--adena-maxw: none;
	--adena-gap: 1.5rem;
	--adena-radius: 2px;
	--adena-header-h: 72px;

	/* Motion */
	--adena-ease: cubic-bezier(0.4, 0, 0.2, 1);
}

/* ----------------------------------------------------------------------- *
 * 2. Base / reset
 * ----------------------------------------------------------------------- */
*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

body {
	margin: 0;
	background: var(--adena-bg);
	color: var(--adena-text);
	font-family: var(--adena-font-body);
	font-size: 1.0625rem;
	line-height: 1.6;
	font-weight: 400;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Keep standard Gutenberg subpages on a clean white canvas. */
body.page-template-default {
	background: var(--adena-surface);
}

img {
	max-width: 100%;
	height: auto;
	display: block;
}

a {
	color: var(--adena-text);
	text-decoration: none;
	transition: color 0.2s var(--adena-ease);
}

a:hover,
a:focus {
	color: var(--adena-accent-dark);
}

h1, h2, h3, h4, h5, h6 {
	font-family: var(--adena-font-heading);
	font-weight: 400;
	line-height: 1.2;
	color: var(--adena-text);
	margin: 0 0 0.6em;
	letter-spacing: 0.01em;
}

h1 { font-size: clamp(2rem, 5vw, 3rem); }
h2 { font-size: clamp(1.6rem, 3.5vw, 2.25rem); }
h3 { font-size: 1.35rem; }

p { margin: 0 0 1em; }

ul, ol { margin: 0 0 1em; padding-left: 1.25rem; }

hr {
	border: 0;
	border-top: 1px solid var(--adena-border);
	margin: 2rem 0;
}

:focus-visible {
	outline: 2px solid var(--adena-accent-dark);
	outline-offset: 2px;
}

/* ----------------------------------------------------------------------- *
 * 3. Accessibility helpers
 * ----------------------------------------------------------------------- */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	width: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	word-wrap: normal !important;
}

.skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 1000;
	background: var(--adena-text);
	color: #fff;
	padding: 0.75rem 1.25rem;
	border-radius: 0 0 var(--adena-radius) 0;
}

.skip-link:focus {
	left: 0;
	color: #fff;
}

/* ----------------------------------------------------------------------- *
 * 4. Layout
 * ----------------------------------------------------------------------- */
.adena-container {
	width: 100%;
	max-width: var(--adena-maxw);
	margin-inline: auto;
	padding-inline: 3rem;
}

.adena-main {
	display: block;
}

.adena-content-layout {
	display: grid;
	gap: 2.5rem;
	padding-block: 3rem;
}

.adena-content-layout__main { min-width: 0; }

@media (min-width: 900px) {
	.adena-content-layout:has(.adena-content-layout__sidebar) {
		grid-template-columns: 1fr 300px;
	}
	.adena-content-layout--narrow {
		max-width: 820px;
	}
}

@media (max-width: 760px) {
	.adena-container,
	.adena-collections__grid,
	.adena-stories__strip {
		padding-inline: 1.25rem;
	}

	.adena-header__main-inner,
	.adena-carousel-section > .adena-container,
	.adena-random-products > .adena-container {
		padding-inline: 0.75rem;
	}
}

/* ----------------------------------------------------------------------- *
 * 5. Buttons & form controls
 * ----------------------------------------------------------------------- */
.adena-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce .button,
button[type="submit"].adena-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	font-family: var(--adena-font-body);
	font-weight: 500;
	font-size: 0.95rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #fff;
	background: var(--adena-accent);
	border: 1px solid var(--adena-accent);
	border-radius: var(--adena-radius);
	padding: 0.85rem 1.75rem;
	cursor: pointer;
	line-height: 1.2;
	transition: background 0.2s var(--adena-ease), border-color 0.2s var(--adena-ease), color 0.2s var(--adena-ease);
}

.adena-button:hover,
.adena-button:focus,
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,
.woocommerce .button:hover {
	background: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
	color: #fff;
}

.adena-button--ghost {
	background: transparent;
	color: var(--adena-text);
	border-color: var(--adena-border);
}

.adena-button--ghost:hover {
	background: var(--adena-text);
	border-color: var(--adena-text);
	color: #fff;
}

.adena-button--light {
	background: #fff;
	color: var(--adena-text);
	border-color: #fff;
}

.adena-button--light:hover {
	background: var(--adena-bg);
	color: var(--adena-text);
	border-color: var(--adena-bg);
}

input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="url"],
textarea,
select {
	font-family: var(--adena-font-body);
	font-size: 1rem;
	color: var(--adena-text);
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	padding: 0.7rem 0.9rem;
	width: 100%;
	transition: border-color 0.2s var(--adena-ease);
}

input:focus,
textarea:focus,
select:focus {
	border-color: var(--adena-accent);
	outline: none;
}

label { font-weight: 500; }

/* ----------------------------------------------------------------------- *
 * 6. Header
 * ----------------------------------------------------------------------- */
.adena-header {
	position: static;
	z-index: 100;
	background: var(--adena-surface);
	border-bottom: 0;
}

.adena-topbar {
	display: flex;
	align-items: center;
	height: 40.8px;
	min-height: 40.8px;
	max-height: 40.8px;
	color: #fff;
	background: var(--adena-accent-dark);
	text-align: center;
	overflow: hidden;
}

.adena-topbar .adena-container,
.adena-header__main-inner {
	max-width: var(--adena-maxw);
}

.adena-topbar__text {
	margin: 0;
	font-size: 0.912rem;
	font-weight: 600;
	line-height: 1.2;
	text-transform: capitalize;
}

.trustmate-rating-box {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.55rem;
	color: #fff;
	height: 40.8px;
	line-height: 1;
}

.trustmate-rating-box:hover,
.trustmate-rating-box:focus {
	color: #fff;
	opacity: 0.9;
}

.adena-header .trustmate-logo {
	width: auto;
	height: 26.4px !important;
	max-height: 26.4px !important;
	object-fit: contain;
}

.adena-header .trustmate-rating-text {
	display: inline-flex;
	align-items: baseline;
	gap: 0.25rem;
	font-size: 0.912rem;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}

.trustmate-rating-text strong {
	font-weight: 700;
}

.adena-header__sticky {
	background: var(--adena-surface);
}

.adena-header__main {
	padding-block: 1.22rem 0.89rem;
	min-height: 92px;
}

.adena-header__main-inner {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	min-height: 41px;
}

.adena-header__left,
.adena-header__tools {
	display: flex;
	align-items: center;
	min-width: 0;
}

.adena-header__left {
	justify-content: flex-start;
}

.adena-header__brand {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 0;
}

.adena-header__brand img,
.custom-logo {
	width: auto;
	max-height: 50px;
}

.custom-logo-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
}

.site-title {
	font-family: var(--adena-font-heading);
	font-size: clamp(1.92rem, 3.2vw, 3.4rem);
	line-height: 1;
	margin: 0;
}

.adena-header__tools {
	justify-content: flex-end;
	gap: 1rem;
}

.adena-header__tools a,
.adena-search-toggle {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	height: 35px;
	color: var(--adena-text);
	background: none;
	border: none;
	cursor: pointer;
	border-radius: var(--adena-radius);
	font: inherit;
	line-height: 1;
}

.adena-header__tools a {
	width: 26px;
}

.adena-icon {
	width: 25px;
	height: 25px;
	stroke-width: 1.7;
}

.adena-search-toggle {
	gap: 0.8rem;
	padding: 0;
	font-size: 0.8rem;
	font-weight: 400;
	text-transform: uppercase;
}

.adena-header__tools a:hover,
.adena-search-toggle:hover {
	color: var(--adena-accent-dark);
	background: transparent;
}

.adena-header__cart-count {
	position: absolute;
	top: 0;
	right: -0.52rem;
	min-width: 0;
	height: auto;
	padding: 0 4px;
	font-size: 0.66rem;
	font-weight: 600;
	line-height: 1;
	text-align: center;
	color: var(--adena-text);
	background: transparent;
	border-radius: 0;
}

.adena-header__nav-row {
	display: flex;
	justify-content: center;
	min-height: 45px;
	padding-bottom: 1.13rem;
}

.adena-header--cart {
	border-bottom: 1px solid #ededed;
	background: #fff;
}

.adena-cart-header__inner {
	display: grid;
	place-items: center;
	min-height: 76px;
	padding-block: 0.8rem;
}

.adena-cart-header .custom-logo-link,
.adena-cart-header .site-title {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
}

.adena-cart-header img,
.adena-cart-header .custom-logo {
	width: auto;
	max-width: min(220px, 55vw);
	max-height: 46px;
	object-fit: contain;
}

/* ----------------------------------------------------------------------- *
 * Front page: header overlays the hero image.
 * ----------------------------------------------------------------------- */
.adena-front-page #adena-header {
	position: absolute;
	top: clamp(1rem, 2vw, 1.75rem);
	left: 0;
	right: 0;
	z-index: 100;
	background: transparent;
}

.adena-front-page .adena-topbar {
	display: none;
}

.adena-front-page .adena-header__sticky {
	background: transparent;
}

.adena-front-page .adena-header__main-inner,
.adena-front-page .site-title,
.adena-front-page .adena-search-toggle,
.adena-front-page .adena-header__tools a,
.adena-front-page .adena-header__cart-count,
.adena-front-page .adena-menu a {
	color: #f6efe4;
}

.adena-front-page .adena-header__brand img,
.adena-front-page .custom-logo {
	filter: brightness(0) invert(1);
	opacity: 0.96;
}

.adena-front-page .adena-nav-toggle__bar {
	background: #f6efe4;
}

.adena-front-page .adena-header__tools a:hover,
.adena-front-page .adena-search-toggle:hover,
.adena-front-page .adena-menu a:hover {
	color: #ffffff;
}

/* Sub-menu panels stay readable (solid surface, dark text). */
.adena-front-page .adena-menu .sub-menu a {
	color: var(--adena-text);
}

/* Same for the mega menu panel: the light front-page link colour must not
   bleed onto the white surface. */
.adena-front-page .adena-menu .adena-mega-menu__links > li > a,
.adena-front-page .adena-menu .adena-mega-menu__links > li > span {
	color: var(--adena-muted);
}

.adena-front-page .adena-menu .adena-mega-menu__links > li > a:hover {
	color: var(--adena-text);
}

.adena-front-page .adena-menu .adena-mega-menu__cta {
	color: var(--adena-accent);
}

.adena-front-page .adena-menu .adena-mega-menu__cta:hover {
	color: var(--adena-text);
}

/* Primary navigation */
.adena-primary-nav {
	display: none;
}

.adena-menu {
	list-style: none;
	display: flex;
	justify-content: center;
	gap: 2.2rem;
	margin: 0;
	padding: 0;
}

.adena-menu a {
	display: inline-flex;
	align-items: center;
	gap: 0.44rem;
	font-size: 0.92rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	padding: 0.5rem 0;
	position: relative;
}

.adena-menu a::after {
	content: "";
	display: none;
}

.adena-menu .menu-item-has-children > a::after,
.adena-menu .adena-menu__item--mega > a::after {
	display: inline-block;
	width: 0.38rem;
	height: 0.38rem;
	border-right: 2px solid currentColor;
	border-bottom: 2px solid currentColor;
	transform: translateY(-0.15rem) rotate(45deg);
}

/* Sub-menus */
.adena-menu .sub-menu {
	list-style: none;
	margin: 0;
	padding: 0.5rem 0;
	position: absolute;
	top: calc(100% + 0.35rem);
	left: 0;
	min-width: 200px;
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity 0.2s var(--adena-ease), transform 0.2s var(--adena-ease), visibility 0.2s;
	z-index: 20;
}

.adena-menu .menu-item-has-children {
	position: relative;
}

.adena-menu .menu-item-has-children:hover > .sub-menu,
.adena-menu .menu-item-has-children:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.adena-menu .sub-menu a {
	display: block;
	padding: 0.5rem 1.1rem;
	text-transform: none;
	letter-spacing: 0;
}

.adena-menu .sub-menu a::after { display: none; }

/* Mega menu */
.adena-menu__item--mega {
	position: static;
}

.adena-menu__item--mega > .sub-menu {
	display: none;
}

.adena-mega-menu {
	position: fixed;
	top: var(--adena-mega-menu-top, 170px);
	left: 0;
	width: 100vw;
	margin-left: 0;
	padding-top: 0;
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transform-origin: top center;
	transition: opacity 0.2s var(--adena-ease), transform 0.2s var(--adena-ease), visibility 0s linear 0.2s;
	z-index: 25;
	pointer-events: none;
	will-change: opacity, transform;
}

.adena-mega-menu[hidden] {
	display: none !important;
}

body:not(.adena-mega-menu-ready) .adena-mega-menu {
	display: none !important;
}

.adena-menu__item--mega > a {
	cursor: pointer;
}

.adena-mega-menu.is-open {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
	pointer-events: auto;
	transition-delay: 0s;
}

@media (prefers-reduced-motion: reduce) {
	.adena-mega-menu {
		transform: none;
		transition: opacity 0.01ms linear, visibility 0.01ms linear;
	}
}

.adena-mega-menu__inner {
	height: auto;
	max-height: calc(100vh - var(--adena-mega-menu-top, 170px));
	overflow-y: auto;
	overscroll-behavior: contain;
	padding: clamp(1.45rem, 2.8vw, 2.25rem) clamp(1.65rem, 3.2vw, 2.7rem);
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-top: 2px solid var(--adena-accent);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.12);
}

.adena-mega-menu__inner--with-feature {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(220px, 300px);
	gap: 2rem;
}

.adena-mega-menu__inner--catalog .adena-mega-menu__columns {
	width: 100%;
}

.adena-mega-menu__columns {
	display: grid;
	grid-template-columns: 1.18fr 1.08fr 0.86fr 0.82fr 1fr;
	gap: 1rem clamp(1rem, 2.3vw, 2.3rem);
}

.adena-mega-menu__gold-quality {
	grid-column: 1 / -1;
	display: flex;
	align-items: center;
	gap: 0.7rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--adena-border);
}

.adena-mega-menu__gold-quality-label {
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: 1rem;
	font-weight: 700;
}

.adena-mega-menu__gold-quality-options {
	display: inline-flex;
	gap: 0.42rem;
}

.adena-mega-menu__gold-quality-option {
	min-width: 58px;
	min-height: 34px;
	padding: 0.35rem 0.8rem;
	color: var(--adena-text);
	font: 500 0.82rem/1 var(--adena-font-body);
	background: var(--adena-accent);
	border: 1px solid var(--adena-accent-dark);
	border-radius: 999px;
	cursor: pointer;
	transition: color 0.24s cubic-bezier(0.32, 0.72, 0, 1), background-color 0.24s cubic-bezier(0.32, 0.72, 0, 1), transform 0.24s cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-mega-menu__gold-quality-option:hover,
.adena-mega-menu__gold-quality-option:focus-visible,
.adena-mega-menu__gold-quality-option.is-selected {
	color: #fff;
	background: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
}

.adena-mega-menu__gold-quality-option:active {
	transform: scale(0.96);
}

.adena-mega-menu__gold-quality-hint {
	color: var(--adena-muted);
	font-size: 0.78rem;
}

/* Pierścionki opens in two stages: only the purity choice is visible first.
   Selecting 375 or 585 reveals the catalogue while keeping the choice handy. */
.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__inner--with-feature {
	display: block;
}

.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__column,
.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__feature {
	display: none;
}

.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality {
	border-bottom: 0;
}

@media (min-width: 992px) {
	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__inner {
		padding-block: clamp(2rem, 3.2vw, 3.25rem);
	}

	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality {
		flex-direction: column;
		justify-content: center;
		width: min(100%, 620px);
		margin-inline: auto;
		padding: clamp(1.65rem, 2.4vw, 2.25rem);
		gap: 0.9rem;
		text-align: center;
		background: transparent;
		border: 0;
		border-radius: 0;
		box-shadow: none;
	}

	.adena-mega-menu.is-open[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality {
		animation: adena-ring-choice-in 0.52s cubic-bezier(0.32, 0.72, 0, 1) both;
	}

	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality-label {
		font-size: clamp(1.05rem, 1.2vw, 1.2rem);
		font-weight: 600;
		letter-spacing: -0.01em;
	}

	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality-options {
		align-self: center;
		gap: 0.35rem;
		padding: 0.3rem;
		background: rgba(114, 100, 93, 0.08);
		border: 1px solid rgba(114, 100, 93, 0.1);
		border-radius: 999px;
		box-shadow: inset 0 1px 2px rgba(57, 43, 36, 0.05);
	}

	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality-option {
		min-width: 88px;
		min-height: 44px;
		padding-inline: 1.15rem;
		background: var(--adena-surface);
		border-color: transparent;
		box-shadow: 0 5px 14px rgba(57, 43, 36, 0.07);
	}

	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality-option:hover,
	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality-option:focus-visible {
		color: #fff;
		background: var(--adena-accent-dark);
		transform: translateY(-2px);
	}

	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality-hint {
		font-size: 0.74rem;
		letter-spacing: 0.035em;
	}
}

@keyframes adena-ring-choice-in {
	from {
		opacity: 0;
		transform: translateY(12px) scale(0.985);
	}
	to {
		opacity: 1;
		transform: translateY(0) scale(1);
	}
}

.adena-mega-menu[data-rings-mega-menu][data-selected-gold-quality] .adena-mega-menu__column,
.adena-mega-menu[data-rings-mega-menu][data-selected-gold-quality] .adena-mega-menu__feature {
	animation: adena-ring-menu-reveal 0.46s cubic-bezier(0.32, 0.72, 0, 1) both;
}

.adena-mega-menu[data-rings-mega-menu][data-selected-gold-quality] .adena-mega-menu__gold-quality {
	display: none;
}

@keyframes adena-ring-menu-reveal {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (prefers-reduced-motion: reduce) {
	.adena-mega-menu.is-open[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality {
		animation: none;
	}

	.adena-mega-menu[data-rings-mega-menu][data-selected-gold-quality] .adena-mega-menu__column,
	.adena-mega-menu[data-rings-mega-menu][data-selected-gold-quality] .adena-mega-menu__feature {
		animation: none;
	}
}

.adena-mega-menu__heading {
	margin: 0 0 1rem;
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: 1.06rem;
	font-weight: 700;
	line-height: 1.3;
}

.adena-mega-menu__heading--empty {
	visibility: hidden;
}

.adena-mega-menu__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.adena-mega-menu__links li + li {
	margin-top: 0.5rem;
}

.adena-mega-menu__links > li > a,
.adena-mega-menu__links > li > span {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-height: 1.45rem;
	padding: 0;
	color: var(--adena-muted);
	font-size: 0.87rem;
	font-weight: 400;
	line-height: 1.35;
	text-transform: none;
	transition: color 0.15s var(--adena-ease);
}

.adena-mega-menu__links > li > a span,
.adena-mega-menu__links > li > span span {
	min-width: 0;
}

.adena-mega-menu img.adena-mega-menu__icon {
	flex: 0 0 auto;
	width: 20px;
	height: 20px;
	object-fit: contain;
	border-radius: 0;
}

.adena-mega-menu__links > li > a:hover {
	color: var(--adena-text);
	text-decoration: underline;
	text-decoration-color: var(--adena-accent);
	text-underline-offset: 4px;
}

.adena-mega-menu__feature {
	align-self: stretch;
	padding-left: 1.4rem;
	border-left: 1px solid var(--adena-border);
}

.adena-mega-menu__image-link {
	display: block;
	margin-bottom: 0.9rem;
}

.adena-mega-menu__feature img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	background: #f6f3f0;
}

.adena-mega-menu__promo-title {
	margin: 0 0 0.35rem;
	color: var(--adena-text);
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.25;
}

.adena-mega-menu__promo-text {
	margin: 0 0 0.8rem;
	color: var(--adena-muted);
	font-size: 0.88rem;
	line-height: 1.45;
}

.adena-mega-menu__cta {
	display: inline-flex;
	align-items: center;
	padding: 0.55rem 0;
	color: var(--adena-accent);
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: underline;
	text-underline-offset: 4px;
}

.adena-mega-menu__cta:hover {
	color: var(--adena-text);
}

/* Mobile nav toggle */
.adena-nav-toggle {
	display: inline-flex;
	flex-direction: column;
	justify-content: center;
	gap: 5px;
	width: 44px;
	height: 44px;
	padding: 0 10px;
	background: none;
	border: none;
	cursor: pointer;
}

.adena-nav-toggle__bar {
	display: block;
	height: 2px;
	width: 100%;
	background: var(--adena-text);
	transition: transform 0.25s var(--adena-ease), opacity 0.25s var(--adena-ease);
}

.adena-nav-toggle[aria-expanded="true"] .adena-nav-toggle__bar:nth-child(1) {
	transform: translateY(7px) rotate(45deg);
}
.adena-nav-toggle[aria-expanded="true"] .adena-nav-toggle__bar:nth-child(2) {
	opacity: 0;
}
.adena-nav-toggle[aria-expanded="true"] .adena-nav-toggle__bar:nth-child(3) {
	transform: translateY(-7px) rotate(-45deg);
}

.adena-mobile-submenu-toggle {
	display: none;
}

/* Search panel: full-width overlay that slides down from the top edge. */
.adena-search-panel {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 300;
	padding-block: 4.2rem 4.8rem;
	background: var(--adena-surface);
	border-bottom: 1px solid var(--adena-sale);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.14);
	animation: adena-search-panel-in 0.38s var(--adena-ease);
}

@keyframes adena-search-panel-in {
	from { transform: translateY(-100%); }
	to { transform: translateY(0); }
}

@media (prefers-reduced-motion: reduce) {
	.adena-search-panel {
		animation: none;
	}
}

.adena-search-panel__close {
	position: absolute;
	top: 1.4rem;
	right: 1.9rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	padding: 0;
	color: var(--adena-text);
	background: none;
	border: none;
	cursor: pointer;
}

.adena-search-panel__close:hover {
	color: var(--adena-accent-dark);
}

.adena-search-panel__content {
	max-width: 860px;
	margin-inline: auto;
}

.adena-search-panel__title {
	margin: 0 0 1.5rem;
	font-family: var(--adena-font-heading);
	font-size: 1.55rem;
	line-height: 1.2;
	color: var(--adena-accent-dark);
}

.adena-search-panel .adena-search-form__row {
	max-width: none;
	gap: 0.75rem;
	align-items: center;
	border-bottom: 1px solid var(--adena-text);
	padding-bottom: 0.55rem;
}

.adena-search-panel .adena-search-form__field {
	border: none;
	border-radius: 0;
	background: transparent;
	padding: 0.35rem 0;
	font-size: 1.05rem;
}

.adena-search-panel .adena-search-form__submit {
	width: 44px;
	color: var(--adena-text);
	background: transparent;
	border: none;
}

.adena-search-panel .adena-search-form__submit:hover {
	background: transparent;
	color: var(--adena-accent-dark);
}

.adena-search-panel__results {
	margin-top: 1.1rem;
	max-height: min(52vh, 470px);
	overflow-y: auto;
}

.adena-search-panel__no-results {
	margin: 0.4rem 0 0;
	color: var(--adena-muted);
}

.adena-search-panel__loading {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	padding: 0.7rem 0.4rem;
	color: var(--adena-muted);
	font-size: 0.95rem;
}

.adena-search-spinner {
	flex: 0 0 auto;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	border: 2px solid var(--adena-border);
	border-top-color: var(--adena-accent-dark);
	animation: adena-spin 0.7s linear infinite;
}

@keyframes adena-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.adena-search-spinner {
		animation: none;
	}
}

/* While a newer request is in flight, keep the previous results visible but
   visibly stale. */
.adena-search-panel__results.is-loading .adena-search-suggestions,
.adena-search-panel__results.is-loading .adena-search-suggestions__all,
.adena-search-panel__results.is-loading .adena-search-panel__no-results {
	opacity: 0.45;
}

.adena-search-suggestions {
	list-style: none;
	margin: 0;
	padding: 0;
}

.adena-search-suggestion {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	padding: 0.55rem 0.4rem;
	color: var(--adena-text);
	text-decoration: none;
	border-bottom: 1px solid var(--adena-border);
	transition: background-color 0.15s var(--adena-ease);
}

.adena-search-suggestion:hover,
.adena-search-suggestion:focus-visible {
	background: var(--adena-bg);
}

.adena-search-suggestion__image {
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--adena-radius);
	background: var(--adena-bg);
}

.adena-search-suggestion__title {
	flex: 1 1 auto;
	min-width: 0;
	font-size: 0.98rem;
	line-height: 1.35;
}

.adena-search-suggestion__price {
	flex: 0 0 auto;
	font-size: 0.95rem;
	white-space: nowrap;
}

.adena-search-suggestion__price del {
	color: var(--adena-muted);
	margin-right: 0.4rem;
}

.adena-search-suggestion__price ins {
	text-decoration: none;
	color: var(--adena-sale);
}

.adena-search-suggestions__all {
	display: inline-block;
	margin-top: 1rem;
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: var(--adena-text);
	text-decoration: underline;
	text-underline-offset: 4px;
}

.adena-search-suggestions__all:hover {
	color: var(--adena-accent-dark);
}

@media (max-width: 760px) {
	.adena-search-panel {
		padding-block: 3.4rem 3rem;
	}
	.adena-search-panel__close {
		top: 0.9rem;
		right: 0.9rem;
	}
	.adena-search-panel__results {
		max-height: 58vh;
	}
}

.adena-search-form__row {
	display: flex;
	gap: 0.5rem;
	max-width: 640px;
	margin-inline: auto;
}

.adena-search-form__submit {
	flex: 0 0 auto;
	width: 52px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	background: var(--adena-accent);
	border: 1px solid var(--adena-accent);
	border-radius: var(--adena-radius);
	cursor: pointer;
}

.adena-search-form__submit:hover { background: var(--adena-accent-dark); }

/* ----------------------------------------------------------------------- *
 * 7. Mobile menu (drawer)
 * ----------------------------------------------------------------------- */
@media (max-width: 991px) {
	body.adena-nav-open {
		overflow: hidden;
	}

	body.adena-nav-open #adena-header {
		z-index: 10000;
	}

	/* Keep the controls and logo on a solid surface while the drawer scrolls
	   behind them. This prevents menu links showing through the header. */
	body.adena-nav-open .adena-header__main {
		position: relative;
		z-index: 1002;
		background: var(--adena-surface);
	}

	body.adena-nav-open .adena-header__left,
	body.adena-nav-open .adena-header__brand,
	body.adena-nav-open .adena-header__tools {
		position: relative;
		z-index: 1002;
	}

	body.adena-nav-open .adena-nav-toggle__bar,
	body.adena-nav-open.adena-front-page .adena-nav-toggle__bar {
		background: var(--adena-text);
	}

	body.adena-nav-open .adena-search-toggle,
	body.adena-nav-open .adena-header__tools a,
	body.adena-nav-open .adena-header__cart-count,
	body.adena-nav-open.adena-front-page .adena-search-toggle,
	body.adena-nav-open.adena-front-page .adena-header__tools a,
	body.adena-nav-open.adena-front-page .adena-header__cart-count {
		color: var(--adena-text);
	}

	body.adena-nav-open .adena-header__brand img,
	body.adena-nav-open .custom-logo,
	body.adena-nav-open.adena-front-page .adena-header__brand img,
	body.adena-nav-open.adena-front-page .custom-logo {
		filter: none;
		opacity: 1;
	}

	.adena-front-page #adena-header {
		top: 0.75rem;
		left: 0;
		right: 0;
	}

	.adena-topbar {
		height: 27.6px;
		min-height: 27.6px;
		max-height: 27.6px;
	}
	.trustmate-rating-box {
		height: 27.6px;
	}
	.adena-topbar__text {
		font-size: 0.792rem;
	}
	.adena-header .trustmate-logo {
		height: 20.4px !important;
		max-height: 20.4px !important;
	}
	.adena-header .trustmate-rating-text {
		font-size: 0.792rem;
	}
	.adena-header__main {
		padding-block: 0.31rem;
		min-height: 38px;
	}
	.adena-header__main-inner {
		min-height: 26px;
		padding-block: 0.75rem;
		grid-template-columns: auto 1fr auto;
		column-gap: 0.6rem;
	}
	.adena-header__brand img,
	.custom-logo {
		max-height: 50px;
	}
	.site-title {
		font-size: 1.6rem;
	}
	.adena-header__tools {
		gap: 0.48rem;
	}
	.adena-search-toggle {
		width: 29px;
		height: 32px;
	}
	.adena-search-toggle__text {
		display: none;
	}
	.adena-header__tools a {
		width: 24px;
		height: 32px;
	}
	.adena-icon {
		width: 20px;
		height: 20px;
	}
	.adena-header__nav-row {
		min-height: 0;
		padding-bottom: 0;
	}
	/* The mobile menu is a solid drawer — keep its links dark even on the
	   front page, where the desktop nav would otherwise be light. */
	.adena-front-page .adena-menu a {
		color: var(--adena-text);
	}
	.adena-primary-nav {
		position: fixed;
		inset: 0;
		z-index: 1001;
		width: 100vw;
		height: 100vh;
		height: 100dvh;
		background: var(--adena-surface);
		-webkit-backdrop-filter: none;
		backdrop-filter: none;
		border: 0;
		padding: calc(6.4rem + env(safe-area-inset-top)) clamp(1.35rem, 5vw, 2.4rem) calc(2.5rem + env(safe-area-inset-bottom));
		opacity: 0;
		visibility: hidden;
		transform: translateX(100%);
		transition: transform 0.32s var(--adena-ease), opacity 0.2s var(--adena-ease), visibility 0s linear 0.32s;
		overflow-y: auto;
		overscroll-behavior: contain;
		pointer-events: none;
		display: block;
		box-shadow: none;
	}
	.adena-primary-nav.is-open {
		opacity: 1;
		visibility: visible;
		transform: translateX(0);
		pointer-events: auto;
		transition-delay: 0s;
	}
	.adena-menu {
		width: min(100%, 680px);
		margin-inline: auto;
		flex-direction: column;
		gap: 0;
	}
	.adena-menu > li {
		position: relative;
		border-bottom: 0;
		opacity: 0;
		transform: translateY(14px);
		transition: opacity 0.42s cubic-bezier(0.32, 0.72, 0, 1), transform 0.52s cubic-bezier(0.32, 0.72, 0, 1);
	}
	.adena-menu > li::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 1px;
		background: linear-gradient(90deg, rgba(57, 43, 36, 0.14), rgba(57, 43, 36, 0.035));
	}
	.adena-primary-nav.is-open .adena-menu > li {
		opacity: 1;
		transform: translateY(0);
	}
	.adena-primary-nav.is-open .adena-menu > li:nth-child(1) { transition-delay: 0.04s; }
	.adena-primary-nav.is-open .adena-menu > li:nth-child(2) { transition-delay: 0.08s; }
	.adena-primary-nav.is-open .adena-menu > li:nth-child(3) { transition-delay: 0.12s; }
	.adena-primary-nav.is-open .adena-menu > li:nth-child(4) { transition-delay: 0.16s; }
	.adena-primary-nav.is-open .adena-menu > li:nth-child(5) { transition-delay: 0.2s; }
	.adena-primary-nav.is-open .adena-menu > li:nth-child(n+6) { transition-delay: 0.24s; }
	.adena-menu li {
		border-bottom: 0;
	}
	.adena-menu a {
		display: block;
		padding: 0.9rem 0;
	}
	.adena-menu > li > a {
		min-height: 64px;
		padding: 1.15rem 0;
		color: var(--adena-text);
		font-family: var(--adena-font-heading);
		font-size: clamp(1.35rem, 5.6vw, 1.75rem);
		font-weight: 400;
		line-height: 1.15;
		letter-spacing: -0.01em;
		padding-right: 3.75rem;
	}
	.adena-menu .menu-item-has-children > a {
		display: flex;
		align-items: center;
		justify-content: space-between;
	}
	.adena-menu .menu-item-has-children > a::after,
	.adena-menu .adena-menu__item--mega > a::after {
		display: none;
	}
	.adena-mobile-submenu-toggle {
		position: absolute;
		top: 0.55rem;
		right: -0.35rem;
		z-index: 2;
		display: grid;
		place-items: center;
		width: 52px;
		height: 52px;
		padding: 0;
		color: var(--adena-text);
		background: transparent;
		border: 0;
		border-radius: 999px;
		cursor: pointer;
		transition: background-color 0.28s cubic-bezier(0.32, 0.72, 0, 1), transform 0.28s cubic-bezier(0.32, 0.72, 0, 1);
	}
	.adena-mobile-submenu-toggle::before {
		content: "";
		width: 0.5rem;
		height: 0.5rem;
		border-right: 1px solid currentColor;
		border-bottom: 1px solid currentColor;
		transform: translateY(-0.12rem) rotate(45deg);
		transition: transform 0.38s cubic-bezier(0.32, 0.72, 0, 1);
	}
	.adena-mobile-submenu-toggle:hover,
	.adena-mobile-submenu-toggle:focus-visible {
		background: rgba(114, 100, 93, 0.09);
		outline: none;
	}
	.adena-mobile-submenu-toggle:active {
		transform: scale(0.94);
	}
	.adena-mobile-submenu-toggle[aria-expanded="true"]::before {
		transform: translateY(0.12rem) rotate(225deg);
	}
	.adena-menu .sub-menu {
		display: none;
		position: static;
		opacity: 1;
		visibility: visible;
		transform: none;
		box-shadow: none;
		border: none;
		margin: 0 0 1rem;
		padding: 0.2rem 0 0.65rem 1.1rem;
		border-left: 1px solid rgba(114, 100, 93, 0.22);
	}
	.adena-menu .menu-item-has-children.is-mobile-expanded > .sub-menu {
		display: block;
		animation: adena-mobile-submenu-in 0.38s cubic-bezier(0.32, 0.72, 0, 1) both;
	}
	.adena-menu__item--mega > .sub-menu {
		display: none;
	}
	.adena-mega-menu {
		position: static;
		width: 100%;
		margin-left: 0;
		padding: 0 0 1.15rem 1.1rem;
		opacity: 1;
		visibility: visible;
		transform: none;
		transition: none;
		pointer-events: auto;
		will-change: auto;
	}
	.adena-mega-menu.is-open {
		animation: adena-mobile-submenu-in 0.38s cubic-bezier(0.32, 0.72, 0, 1) both;
	}
	.adena-mega-menu__inner {
		display: block;
		height: auto;
		max-height: none;
		overflow-y: visible;
		padding: 0.35rem 0 0;
		border: none;
		box-shadow: none;
		background: transparent;
	}
	.adena-mega-menu__columns {
		display: block;
	}
	.adena-mega-menu__gold-quality {
		display: grid;
		grid-template-columns: auto 1fr;
		gap: 0.45rem 0.7rem;
		margin-bottom: 0.85rem;
		padding-bottom: 0.95rem;
	}
	.adena-mega-menu__gold-quality-label {
		font-family: var(--adena-font-body);
		font-size: 0.78rem;
		letter-spacing: 0.08em;
		text-transform: uppercase;
	}
	.adena-mega-menu__gold-quality-options {
		justify-self: start;
	}
	.adena-mega-menu__gold-quality-option {
		min-width: 64px;
		min-height: 40px;
	}
	.adena-mega-menu__gold-quality-hint {
		grid-column: 1 / -1;
	}
	.adena-mega-menu[data-rings-mega-menu]:not([data-selected-gold-quality]) .adena-mega-menu__gold-quality {
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		gap: 0.65rem;
		margin-bottom: 0;
		padding-block: 1.5rem 1.75rem;
	}
	.adena-mega-menu__column + .adena-mega-menu__column {
		margin-top: 1.25rem;
	}
	/* Automatically chunked lists use continuation columns on desktop. On
	   mobile they should read as one uninterrupted list. */
	.adena-mega-menu__column--continuation {
		margin-top: 0;
	}
	.adena-mega-menu__column--continuation > .adena-mega-menu__heading--empty {
		display: none;
	}
	.adena-mega-menu__heading {
		margin-bottom: 0.5rem;
		color: var(--adena-accent-dark);
		font-family: var(--adena-font-body);
		font-size: 0.69rem;
		font-weight: 600;
		letter-spacing: 0.12em;
		text-transform: uppercase;
	}
	.adena-mega-menu__links li + li {
		margin-top: 0;
	}
	.adena-mega-menu__links > li > a,
	.adena-mega-menu__links > li > span {
		display: flex;
		min-height: 42px;
		padding: 0.56rem 0;
		color: var(--adena-muted);
		font-family: var(--adena-font-body);
		font-size: 0.94rem;
		line-height: 1.35;
	}
	.adena-menu .sub-menu a {
		min-height: 42px;
		padding: 0.62rem 0;
		color: var(--adena-muted);
		font-size: 0.96rem;
		line-height: 1.35;
	}
	.adena-mega-menu img.adena-mega-menu__icon {
		width: 20px;
		height: 20px;
	}
	.adena-mega-menu__feature {
		margin-top: 1rem;
		padding-left: 0;
		border-left: 0;
	}
	.adena-mega-menu__feature img {
		max-width: 220px;
	}
}

@keyframes adena-mobile-submenu-in {
	from {
		opacity: 0;
		transform: translateY(-8px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
	.adena-primary-nav,
	.adena-primary-nav .adena-menu > li,
	.adena-menu .menu-item-has-children.is-mobile-expanded > .sub-menu,
	.adena-mega-menu.is-open {
		animation: none;
		transition: none;
	}
}

@media (min-width: 992px) {
	.adena-primary-nav { display: block; }
	.adena-nav-toggle { display: none; }
}

/* ----------------------------------------------------------------------- *
 * 8. Front page benefits + hero
 * ----------------------------------------------------------------------- */
.adena-benefits-strip {
	background: var(--adena-surface);
	border-top: 1px solid rgba(229, 225, 220, 0.45);
	border-bottom: 1px solid rgba(229, 225, 220, 0.45);
}

.adena-benefits-strip__inner {
	display: grid;
	grid-template-columns: repeat(5, max-content);
	align-items: center;
	justify-content: space-between;
	gap: 1.35rem;
	min-height: 66px;
	overflow-x: auto;
	scrollbar-width: none;
}

.adena-benefits-strip__inner::-webkit-scrollbar {
	display: none;
}

/* On desktop the track is layout-transparent so items stay direct grid
   children; the duplicate marquee set only exists on mobile. */
.adena-benefits-strip__track {
	display: contents;
}

.adena-benefits-strip__item {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	min-width: max-content;
	color: var(--adena-text);
}

.adena-benefits-strip__item--clone {
	display: none;
}

.adena-benefits-strip__icon {
	width: 25px;
	height: 25px;
	object-fit: contain;
	flex: 0 0 auto;
}

.adena-benefits-strip__label {
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1.15;
	white-space: nowrap;
}

@media (max-width: 991px) {
	/* Auto-sliding marquee: the track holds two identical item sets and
	   translates by -50% (one set) per cycle, so the loop wraps seamlessly. */
	.adena-benefits-strip__inner {
		display: flex;
		align-items: center;
		min-height: 58px;
		overflow: hidden;
	}
	.adena-benefits-strip__track {
		display: flex;
		align-items: center;
		width: max-content;
		animation: adena-benefits-marquee 24s linear infinite;
	}
	.adena-benefits-strip__item,
	.adena-benefits-strip__item--clone {
		display: inline-flex;
		/* Even per-item spacing (not gap) keeps both track halves the same
		   width, which the -50% loop depends on. */
		margin-right: 2.25rem;
	}
	.adena-benefits-strip__icon {
		width: 28px;
		height: 28px;
	}
	.adena-benefits-strip__label {
		font-size: 0.84rem;
	}
}

@keyframes adena-benefits-marquee {
	from {
		transform: translateX(0);
	}
	to {
		transform: translateX(-50%);
	}
}

@media (max-width: 991px) and (prefers-reduced-motion: reduce) {
	.adena-benefits-strip__track {
		animation: none;
	}
	.adena-benefits-strip__inner {
		overflow-x: auto;
	}
}

.adena-front-hero {
	position: relative;
	display: flex;
	flex-direction: column;
	width: 100%;
	min-height: 100vh;
	min-height: 100dvh;
	margin: 0;
	isolation: isolate;
	overflow: hidden;
	border-radius: 0;
	color: #f6efe4;
	background: #2b2118;
	box-shadow: none;
}

/* A slightly tighter crop retains the ring as the visual focus across the
   full-width editorial photograph. */
.adena-front-hero__media {
	position: absolute;
	inset: 0;
	z-index: 0;
	transform: scale(1.24);
	transform-origin: center center;
	pointer-events: none;
}

.adena-front-hero__media picture,
.adena-front-hero__media img {
	display: block;
	width: 100%;
	height: 100%;
}

.adena-front-hero__media img {
	object-fit: cover;
	object-position: center center;
}

/* Top and bottom scrims support the overlaid header and the hero copy. */
.adena-front-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(180deg, rgba(38, 28, 18, 0.38) 0%, rgba(38, 28, 18, 0.1) 23%, rgba(38, 28, 18, 0.02) 46%, rgba(38, 28, 18, 0.22) 70%, rgba(38, 28, 18, 0.72) 100%);
}

.adena-front-hero__content {
	position: relative;
	z-index: 2;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-end;
	gap: 1rem;
	padding-top: clamp(15rem, 34vh, 22rem);
	padding-bottom: clamp(3.25rem, 7vh, 5.25rem);
	text-align: left;
}

.adena-front-hero__eyebrow {
	margin: 0;
	font-size: clamp(0.72rem, 0.9vw, 0.86rem);
	font-weight: 600;
	letter-spacing: 0.32em;
	text-transform: uppercase;
	color: rgba(246, 239, 228, 0.86);
}

.adena-front-hero__title {
	margin: 0;
	max-width: 16ch;
	color: #ffffff;
	font-family: var(--adena-font-heading);
	font-weight: 400;
	font-size: clamp(1.68rem, 3.83vw, 3.37rem);
	line-height: 1.08;
	letter-spacing: 0.005em;
	text-align: center;
	text-shadow: 0 1px 30px rgba(38, 28, 18, 0.35);
}

.adena-front-hero__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0.6rem;
	padding: 0.89rem 2.21rem;
	border: 0.5px solid rgba(246, 239, 228, 0.7);
	border-radius: 999px;
	color: #f6efe4;
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	background: transparent;
	transition: background-color 0.25s var(--adena-ease), color 0.25s var(--adena-ease), border-color 0.25s var(--adena-ease);
}

.adena-front-hero__cta:hover,
.adena-front-hero__cta:focus {
	color: #2b2118;
	background: rgba(246, 239, 228, 0.92);
	border-color: rgba(246, 239, 228, 0.92);
}

/* Content below the hero. */
.adena-front-hero-after {
	position: relative;
	z-index: 1;
	background: var(--adena-surface);
	--adena-home-section-space: clamp(3.75rem, 6vw, 6rem);
	--adena-home-heading-gap: clamp(2rem, 3vw, 2.75rem);
}

/* Homepage TrustMate reviews section. */
.adena-home-reviews {
	padding-block: var(--adena-home-section-space, clamp(3.75rem, 6vw, 6rem));
	overflow: hidden;
}

.adena-home-reviews__head {
	margin-bottom: clamp(2.5rem, 4vw, 4rem);
	text-align: center;
}

.adena-home-reviews__head .adena-section-eyebrow {
	margin-bottom: 1.05rem;
	text-align: center;
}

.adena-home-reviews__head .adena-section-eyebrow::after {
	margin-inline: auto;
}

.adena-home-reviews__title {
	margin: 0;
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: clamp(2rem, 2.7vw, 3.1rem);
	font-weight: 400;
	line-height: 1.08;
	text-wrap: balance;
}


.adena-home-reviews__text {
	margin: 1rem auto 0;
	max-width: 76ch;
	color: var(--adena-text);
	font-weight: 300;
	line-height: 1.65;
}

/* Review mosaic: tall customer moments and compact stacked details frame a
   full-height TrustMate proof card in the centre. */
.adena-home-reviews__grid {
	display: grid;
	grid-template-columns: repeat(16, minmax(0, 1fr));
	grid-template-rows: repeat(2, clamp(180px, 15vw, 235px));
	gap: clamp(0.8rem, 1.25vw, 1.25rem);
	max-width: 1480px;
	margin-inline: auto;
}

.adena-home-reviews__widget {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	grid-column: 6 / span 5;
	grid-row: 1 / span 2;
	min-height: 0;
	min-width: 0;
	padding: clamp(1.25rem, 2vw, 2rem);
	border: 1px solid rgba(114, 100, 93, 0.12);
	border-radius: 24px !important;
	background: var(--adena-surface);
	box-shadow: 0 18px 48px rgba(57, 43, 36, 0.075);
}

.adena-home-reviews__verified {
	display: none;
	position: absolute;
	top: 1.25rem;
	left: 1.5rem;
	z-index: 1;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--adena-accent-dark);
}

/* Our container carries the shadow; strip the widget's own box styling. */
.adena-home-reviews__widget .tm-widget .hydra-grade {
	box-shadow: none !important;
	border: 0 !important;
	background: transparent !important;
}

.adena-home-reviews__widget > div {
	width: 100%;
}

.adena-home-reviews__photo {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 20px;
	box-shadow: 0 18px 42px rgba(57, 43, 36, 0.1);
}

.adena-home-reviews__photo:nth-of-type(1) {
	grid-column: 1 / span 3;
	grid-row: 1 / span 2;
}

.adena-home-reviews__photo:nth-of-type(2) {
	grid-column: 4 / span 2;
	grid-row: 1;
}

.adena-home-reviews__photo:nth-of-type(3) {
	grid-column: 4 / span 2;
	grid-row: 2;
}

.adena-home-reviews__photo:nth-of-type(4) {
	grid-column: 11 / span 3;
	grid-row: 1 / span 2;
}

.adena-home-reviews__photo:nth-of-type(5) {
	grid-column: 14 / span 3;
	grid-row: 1;
}

.adena-home-reviews__photo:nth-of-type(6) {
	grid-column: 14 / span 3;
	grid-row: 2;
}

@media (max-width: 980px) {
	.adena-home-reviews__head {
		text-align: center;
		margin-bottom: var(--adena-home-heading-gap, clamp(2rem, 3vw, 2.75rem));
	}
	.adena-home-reviews__head .adena-section-eyebrow {
		margin-bottom: 0.85rem;
		text-align: center;
	}
	.adena-home-reviews__head .adena-section-eyebrow::after {
		margin-inline: auto;
	}
	.adena-home-reviews__title {
		font-size: clamp(1.8rem, 6vw, 2.5rem);
	}
	.adena-home-reviews__text {
		margin: 1rem auto 0;
	}
	.adena-home-reviews__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-template-rows: auto;
		padding-block: 0;
	}
	/* Reviews widget leads as the first block, photos follow in a 2x2 grid;
	   the remaining photos are desktop-only. */
	.adena-home-reviews__widget {
		grid-column: 1 / -1;
		grid-row: auto;
		order: -1;
		min-height: 230px;
	}
	.adena-home-reviews__photo,
	.adena-home-reviews__photo:nth-of-type(n) {
		grid-column: auto;
		grid-row: auto;
		aspect-ratio: 1;
		transform: none;
		box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.2), 0 16px 34px rgba(57, 43, 36, 0.09);
	}
	.adena-home-reviews__photo:nth-of-type(n + 5) {
		display: none;
	}
	/* 10% below the 1.0625rem body size. */
	.adena-home-about__text,
	.adena-home-reviews__text {
		font-size: 0.956rem;
	}
}

/* Hide the full review list the TrustMate widget renders; keep the compact
   summary block only. */
.adena-home-reviews__widget .tm-chupacabra2__main {
	display: none !important;
}

/* Small centered kicker above section headings. */
.adena-section-eyebrow {
	display: block;
	margin-bottom: 0.85rem;
	text-align: center;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--adena-accent-dark);
}

.adena-section-eyebrow::after {
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	margin: 0.85rem auto 0;
	background: var(--adena-accent-dark);
}

/* "Shop by category" strip under the benefits bar: product cut-outs on the
   section background, serif label and a quiet text link beneath. */
.adena-shop-cats {
	background: var(--adena-surface);
	padding-block: var(--adena-home-section-space, clamp(3.75rem, 6vw, 6rem));
}

.adena-shop-cats__title {
	margin: 0 0 clamp(1.75rem, 3vw, 2.5rem);
	text-align: center;
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: clamp(1.55rem, 1.9vw, 2.1rem);
	font-weight: 400;
	line-height: 1.08;
	letter-spacing: 0.06em;
}

.adena-shop-cats__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: var(--adena-gap, 1.5rem);
}

.adena-shop-cat {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	color: var(--adena-text);
}

.adena-shop-cat__image {
	display: block;
	width: min(100%, 230px);
	aspect-ratio: 1;
	object-fit: contain;
	/* Melt the white studio background into the section surface. */
	mix-blend-mode: multiply;
	transition: transform 0.25s var(--adena-ease);
}

.adena-shop-cat:hover .adena-shop-cat__image,
.adena-shop-cat:focus .adena-shop-cat__image {
	transform: scale(1.05);
}

.adena-shop-cat__label {
	margin-top: 1.1rem;
	font-family: var(--adena-font-heading);
	font-size: 1.02rem;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.adena-shop-cat__link {
	margin-top: 0.4rem;
	font-size: 0.85rem;
	letter-spacing: 0.04em;
	color: var(--adena-accent-dark);
}

.adena-shop-cat:hover .adena-shop-cat__link,
.adena-shop-cat:focus .adena-shop-cat__link {
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 860px) {
	.adena-shop-cats__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.75rem 1rem;
	}
	.adena-shop-cat__image {
		width: min(100%, 170px);
	}
	.adena-shop-cat__label {
		font-size: 0.9rem;
	}
}

.adena-random-products {
	background: var(--adena-surface);
	padding-block: var(--adena-home-section-space, clamp(3.75rem, 6vw, 6rem));
}

.adena-random-products__head {
	text-align: center;
	margin-bottom: var(--adena-home-heading-gap, clamp(2rem, 3vw, 2.75rem));
}

.adena-random-products__title {
	margin: 0;
	color: var(--adena-text);
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1.55rem, 1.9vw, 2.1rem);
	font-weight: 400;
	line-height: 1.08;
}

.adena-random-products__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.adena-random-products__viewport::-webkit-scrollbar {
	display: none;
}

.adena-random-products__pagination {
	display: none;
}

.adena-random-products__actions {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

.adena-home-text-link {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid var(--adena-accent);
	color: var(--adena-text);
	font-size: 0.92rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	transition: color 0.42s cubic-bezier(0.32, 0.72, 0, 1), border-color 0.42s cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-home-text-link__arrow {
	display: inline-block;
	transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-home-text-link:hover,
.adena-home-text-link:focus {
	color: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
}

.adena-home-text-link:hover .adena-home-text-link__arrow,
.adena-home-text-link:focus .adena-home-text-link__arrow {
	transform: translateX(4px);
}

.adena-random-products__viewport .products {
	display: flex !important;
	flex-wrap: nowrap !important;
	grid-template-columns: none !important;
	align-items: stretch !important;
	gap: var(--adena-gap);
	margin: 0;
	padding: 0.25rem 0;
}

.adena-random-products__viewport .products li.product {
	flex: 0 0 calc((100% - (var(--adena-gap) * 4)) / 5) !important;
	width: auto !important;
	/* The shared card rule sets height: 100%, which blocks flex stretch here
	   and leaves short-titled cards shorter than their neighbours. */
	height: auto !important;
	scroll-snap-align: start;
}

@media (max-width: 860px) {
	.adena-random-products__viewport .products {
		gap: 0.75rem;
	}

	/* One product card per mobile carousel view. */
	.adena-random-products__viewport .products li.product {
		flex-basis: 100% !important;
		scroll-snap-align: center;
	}

	.adena-random-products__viewport .adena-product__media {
		display: block;
		aspect-ratio: 1 / 1;
		height: auto;
	}
	.adena-random-products__viewport ul.products li.product a img,
	.adena-random-products__viewport .adena-product__media img,
	.adena-random-products__viewport .adena-product__image {
		width: 100%;
		height: 100%;
		object-fit: contain;
	}
	.adena-random-products__pagination {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 0.1rem;
		min-height: 40px;
		margin-top: 1rem;
	}
	.adena-random-products__dot {
		display: grid;
		place-items: center;
		width: 30px;
		height: 40px;
		padding: 0;
		border: 0;
		border-radius: 999px;
		background: transparent;
		cursor: pointer;
	}
	.adena-random-products__dot::before {
		content: "";
		display: block;
		width: 5px;
		height: 5px;
		border-radius: 999px;
		background: rgba(114, 100, 93, 0.28);
		transition: width 0.42s cubic-bezier(0.32, 0.72, 0, 1), background-color 0.42s cubic-bezier(0.32, 0.72, 0, 1), transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
	}
	.adena-random-products__dot.is-active::before {
		width: 18px;
		background: var(--adena-accent-dark);
	}
	.adena-random-products__dot:active::before {
		transform: scale(0.82);
	}
	.adena-random-products__dot:focus-visible {
		outline: 1px solid var(--adena-accent-dark);
		outline-offset: -5px;
	}
}

@media (max-width: 760px) {
	.adena-front-hero {
		width: 100%;
		min-height: 100vh;
		min-height: 100dvh;
		margin: 0;
		border-radius: 0;
		box-shadow: none;
	}
	.adena-front-hero__media {
		transform: scale(1.16);
	}
	.adena-front-hero__content {
		justify-content: flex-end;
		padding: 12rem 1.25rem 2.75rem;
		gap: 1.1rem;
	}
	.adena-random-products__head {
		margin-bottom: 1.5rem;
	}
}

/* Home "about us" split: copy left, workshop photo right. */
.adena-home-about {
	padding-block: var(--adena-home-section-space, clamp(3.75rem, 6vw, 6rem));
}

.adena-home-about__inner {
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 2.5rem);
}

.adena-home-about__copy {
	width: 100%;
	text-align: center;
}

.adena-home-about__eyebrow {
	display: block;
	margin-bottom: 1.5rem;
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--adena-accent-dark);
}

.adena-home-about__eyebrow::after {
	content: "";
	display: block;
	width: 42px;
	height: 1px;
	margin: 0.85rem auto 0;
	background: var(--adena-accent-dark);
}

.adena-home-about__title {
	margin: 0 auto 1.25rem;
	max-width: 22ch;
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: clamp(1.6rem, 2.4vw, 2.4rem);
	font-weight: 400;
	line-height: 1.15;
	text-wrap: balance;
}

.adena-home-about__text {
	margin: 0 auto 1.5em;
	max-width: 92ch;
	color: var(--adena-text);
	font-weight: 300;
	line-height: 1.65;
}

.adena-home-about__text:last-child {
	margin-bottom: 0;
}

/* Five-column photo grid under the centered copy. Even images are nudged
   down for a staggered, editorial rhythm; the padding absorbs the shift. */
.adena-home-about__gallery {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: clamp(0.75rem, 1.5vw, 1.25rem);
	width: 100%;
	padding-bottom: 2rem;
}

.adena-home-about__gallery-img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 4;
	object-fit: cover;
	border-radius: 16px;
	box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.22), 0 22px 48px rgba(57, 43, 36, 0.1);
}

.adena-home-about__gallery-img:nth-child(even) {
	transform: translateY(2rem);
}

@media (max-width: 860px) {
	.adena-home-about__gallery {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		padding-bottom: 0;
	}
	.adena-home-about__gallery-img:nth-child(even) {
		transform: none;
	}
	.adena-home-about__gallery-img {
		box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.18), 0 15px 32px rgba(57, 43, 36, 0.085);
	}
	/* Four photos in a clean 2x2; the fifth is desktop-only. */
	.adena-home-about__gallery-img:last-child {
		display: none;
	}
}

@media (max-width: 860px) {
	.adena-home-about__inner {
		gap: 1rem;
	}
}

.adena-heirloom {
	padding-block: clamp(2.4rem, 4.5vw, 4rem);
	text-align: center;
}

.adena-heirloom__inner {
	background: #faf0ec;
	border-radius: 18px;
	padding: clamp(3rem, 7vw, 6rem) clamp(1.5rem, 4vw, 3rem);
}

.adena-heirloom__title {
	margin: 0 0 1.7rem;
	color: #3c332e;
	font-family: var(--adena-font-heading);
	font-size: clamp(1.5rem, 2.6vw, 2.4rem);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.adena-heirloom__text {
	max-width: 760px;
	margin: 0 auto;
	color: #6f655d;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(0.95rem, 1.1vw, 1.15rem);
	line-height: 1.7;
}

.adena-heirloom__tagline {
	margin: clamp(2rem, 4vw, 3.2rem) 0 0;
	color: #6f655d;
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-size: clamp(1.02rem, 1.2vw, 1.28rem);
}

.adena-brand-story {
	position: relative;
	padding-block: clamp(2.4rem, 4.5vw, 4rem);
}

.adena-brand-story__inner {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: stretch;
	border-radius: 18px;
	overflow: hidden;
}

.adena-brand-story__text-col {
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: clamp(2.2rem, 5vw, 5rem);
	background: #f7f7f7;
}

.adena-brand-story__heading {
	margin: 0 0 1.6rem;
	color: #3c332e;
	font-family: var(--adena-font-heading);
	font-size: clamp(1.7rem, 2.6vw, 2.85rem);
	font-weight: 400;
	line-height: 1.16;
}

.adena-brand-story__text {
	margin: 0;
	color: #6f655d;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(0.92rem, 1.05vw, 1.12rem);
	font-weight: 400;
	line-height: 1.7;
}

.adena-brand-story__signature {
	margin: 1.9rem 0 0;
	color: #6f655d;
	font-family: Georgia, "Times New Roman", serif;
	font-style: italic;
	font-size: clamp(1.05rem, 1.3vw, 1.35rem);
}

.adena-brand-story__media {
	position: relative;
	min-height: 340px;
	background: #efe7e2;
}

.adena-brand-story__media img {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@media (max-width: 860px) {
	.adena-brand-story__inner {
		grid-template-columns: 1fr;
	}
	.adena-brand-story__media {
		order: -1;
		min-height: 70vw;
		max-height: 460px;
	}
}

.adena-cert-section {
	position: relative;
	overflow: hidden;
	min-height: clamp(560px, 47vw, 800px);
	background: #f7f7f7;
}

.adena-cert-section__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: inherit;
	padding-block: clamp(5rem, 9vw, 8rem);
	text-align: center;
}

.adena-cert-section__title {
	max-width: 760px;
	margin: 0 auto 2.8rem;
	color: #756d66;
	font-family: Georgia, "Times New Roman", serif;
	font-size: clamp(1rem, 1.35vw, 1.55rem);
	font-weight: 700;
	line-height: 1.55;
	letter-spacing: 0.02em;
}

.adena-cert-section__logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 1.8rem 2.5rem;
	max-width: 420px;
	margin-inline: auto;
}

.adena-cert-section__logos img {
	width: auto;
	max-width: 150px;
	max-height: 46px;
	object-fit: contain;
}

.adena-cert-section__ring {
	position: absolute;
	left: 50%;
	z-index: 0;
	height: auto;
	pointer-events: none;
	user-select: none;
	transform: translateX(-50%);
}

.adena-cert-section__ring--top {
	top: 0;
	width: clamp(320px, 34vw, 560px);
}

.adena-cert-section__ring--bottom {
	bottom: -2rem;
	width: clamp(360px, 25vw, 620px);
}

@media (max-width: 760px) {
	.adena-cert-section {
		min-height: 520px;
	}
	.adena-cert-section__inner {
		padding-block: 4rem;
	}
	.adena-cert-section__ring--top {
		top: -3.5rem;
		width: 330px;
	}
	.adena-cert-section__ring--bottom {
		bottom: -5.8rem;
		width: 360px;
	}
	.adena-cert-section__logos {
		gap: 1.25rem;
	}
	.adena-cert-section__logos img {
		max-width: 120px;
		max-height: 38px;
	}
}

/* ----------------------------------------------------------------------- *
 * 9. Generic sections
 * ----------------------------------------------------------------------- */
.adena-section {
	padding-block: clamp(2.5rem, 6vw, 4.5rem);
}

.adena-section--alt {
	background: var(--adena-surface);
	border-block: 1px solid var(--adena-border);
}

.adena-section__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 2rem;
}

.adena-section__title {
	margin: 0;
	position: relative;
	padding-bottom: 0.5rem;
}

.adena-section__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 48px;
	height: 2px;
	background: var(--adena-accent);
}

.adena-section__lead {
	color: var(--adena-muted);
	margin: 0;
}

.adena-section__more {
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--adena-accent-dark);
	white-space: nowrap;
}

/* Featured categories */
.adena-categories ul.product-categories,
.adena-categories ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.woocommerce .adena-categories ul.products,
.adena-categories ul.products {
	display: grid;
	gap: var(--adena-gap);
	grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
	.adena-categories ul.products {
		grid-template-columns: repeat(3, 1fr);
	}
}

/* Trust badges */
.adena-trust {
	display: grid;
	gap: 1.5rem;
	grid-template-columns: repeat(2, 1fr);
	text-align: center;
}

@media (min-width: 768px) {
	.adena-trust { grid-template-columns: repeat(4, 1fr); }
}

.adena-trust__item {
	padding: 1.5rem 1rem;
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
}

.adena-trust__title {
	font-size: 1.1rem;
	margin-bottom: 0.4rem;
}

.adena-trust__item p {
	margin: 0;
	color: var(--adena-muted);
	font-size: 0.95rem;
}

/* Material / quality */
.adena-material {
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	padding: clamp(1.5rem, 5vw, 3.5rem);
}

.adena-material__list {
	list-style: none;
	padding: 0;
	margin: 1rem 0 0;
	display: grid;
	gap: 0.5rem 1.5rem;
	grid-template-columns: repeat(2, 1fr);
}

.adena-material__list li {
	padding-left: 1.25rem;
	position: relative;
	color: var(--adena-muted);
}

.adena-material__list li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.65em;
	width: 8px;
	height: 8px;
	background: var(--adena-accent);
	border-radius: 999px;
}

/* CTA */
.adena-cta {
	background: var(--adena-text);
}

.adena-cta__inner {
	text-align: center;
	color: #fff;
	padding-block: 1rem;
}

.adena-cta__title { color: #fff; }
.adena-cta__text { color: rgba(255, 255, 255, 0.8); margin-bottom: 1.5rem; }

/* SEO text */
.adena-section--seo {
	background: #fff;
	border-top: 0;
	padding-block: clamp(3rem, 5vw, 5rem);
}

.adena-seo-text {
	max-width: 980px;
	margin-inline: auto;
	color: var(--adena-text);
	text-align: center;
}

.adena-seo-text h2 {
	margin: 0 0 2rem;
	color: var(--adena-text);
	font-family: var(--adena-font-body);
	font-size: clamp(1.25rem, 1.6vw, 1.7rem);
	font-weight: 700;
	line-height: 1.25;
}

.adena-seo-text p {
	max-width: 760px;
	margin: 0 auto 0.75rem;
	font-size: clamp(1rem, 1.18vw, 1.28rem);
	font-weight: 400;
	line-height: 1.7;
	text-align: center;
}

.adena-seo-text p:last-child {
	margin-bottom: 0;
}

.adena-notice {
	padding: 1rem 1.25rem;
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-left: 3px solid var(--adena-accent);
	border-radius: var(--adena-radius);
}

/* ----------------------------------------------------------------------- *
 * 10. WooCommerce – product grid & cards
 * ----------------------------------------------------------------------- */
.adena-shop {
	max-width: 1320px;
	padding: 3rem;
}

.post-type-archive-product,
.tax-product_cat,
.tax-product_tag,
.post-type-archive-product .adena-main,
.tax-product_cat .adena-main,
.tax-product_tag .adena-main,
.post-type-archive-product .adena-shop,
.tax-product_cat .adena-shop,
.tax-product_tag .adena-shop,
.post-type-archive-product .adena-shop__main,
.tax-product_cat .adena-shop__main,
.tax-product_tag .adena-shop__main {
	background: #fff;
}

.post-type-archive-product .woocommerce-result-count,
.tax-product_cat .woocommerce-result-count,
.tax-product_tag .woocommerce-result-count {
	display: none !important;
}

.post-type-archive-product .page-title,
.tax-product_cat .page-title,
.tax-product_tag .page-title,
.post-type-archive-product .woocommerce-products-header__title,
.tax-product_cat .woocommerce-products-header__title,
.tax-product_tag .woocommerce-products-header__title {
	text-align: center;
}

.single-product .adena-shop {
	max-width: none;
	padding: 3rem;
}

.adena-shop__layout--has-sidebar {
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 900px) {
	.adena-shop__layout--has-sidebar {
		grid-template-columns: 280px 1fr;
	}
	.adena-shop__layout--has-sidebar .adena-shop__sidebar { order: -1; }
}

.adena-shop__main { min-width: 0; }

/* WooCommerce loop grid */
.woocommerce ul.products,
ul.products {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: var(--adena-gap);
	align-items: start;
	grid-template-columns: repeat(2, 1fr);
}

.woocommerce ul.products::before,
.woocommerce ul.products::after,
ul.products::before,
ul.products::after {
	content: none !important;
	display: none !important;
}

@media (min-width: 768px) {
	.woocommerce ul.products,
	ul.products {
		grid-template-columns: repeat(3, 1fr);
	}
	/* When a sidebar is present, give the grid room with 3 columns max. */
}

@media (min-width: 1100px) {
	.woocommerce.columns-4 ul.products,
	ul.products.columns-4 {
		grid-template-columns: repeat(4, 1fr);
	}

	.single-product .related ul.products {
		grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	}
}

/* Mobile: the desktop-sized paddings stack up (container + results wrapper)
   and starve the two-column grid — collapse them so the cards get the width. */
@media (max-width: 767px) {
	.adena-shop {
		padding: 1.5rem 1rem;
	}

	.woocommerce ul.products,
	ul.products {
		gap: 0.75rem;
		/* Full-width promo tiles force a row break; when the products before a
		   tile are an odd count, one card would strand next to an empty cell.
		   Dense packing lets the next product backfill that hole. */
		grid-auto-flow: dense;
	}
}

/* Neutralise WooCommerce's default float/width so our grid controls layout. */
.woocommerce ul.products li.product,
ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	clear: none !important;
}

/* Product card */
.adena-product__inner,
li.product {
	position: relative;
	background: var(--adena-surface);
	border: 0;
	border-radius: 0;
	overflow: hidden;
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: border-color 0.2s var(--adena-ease);
}

.woocommerce ul.products li.product,
ul.products li.product {
	background: transparent;
	border: 0;
	border-radius: 18px;
	overflow: visible;
}

.woocommerce ul.products li.product .adena-product__inner,
ul.products li.product .adena-product__inner {
	background: #fff;
	border: 1px solid #dfe3e8;
	border-radius: 18px;
	overflow: hidden;
}

.woocommerce ul.products li.product .adena-product__inner:hover,
ul.products li.product .adena-product__inner:hover {
	border-color: var(--adena-accent-dark);
}

.adena-product__link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	color: inherit;
}

.adena-product__media {
	position: relative;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	background: transparent;
}

.adena-product__media img,
.adena-product__image {
	width: 100%;
	height: 100%;
	object-fit: contain;
	padding: clamp(0.225rem, 0.75vw, 0.625rem);
}


.adena-product__body {
	display: flex;
	flex-direction: column;
	padding: clamp(0.7rem, 1.5vw, 1.125rem) clamp(0.625rem, 1.2vw, 1rem) 0.625rem;
	flex: 1 1 auto;
	text-align: center;
}

.adena-product__title {
	order: 1;
	font-family: var(--adena-font-body);
	font-size: clamp(0.8125rem, 0.73vw, 0.9375rem);
	font-weight: 400;
	line-height: 1.25;
	margin: 0 0 1rem;
}

.adena-product__rating {
	margin-bottom: 0.35rem;
}

.adena-product__price,
.woocommerce ul.products li.product .price {
	order: 3;
	font-family: var(--adena-font-body);
	font-size: clamp(1rem, 0.94vw, 1.25rem);
	font-weight: 700;
	line-height: 1.05;
	color: var(--adena-text);
	display: block;
	margin-top: auto;
}

.adena-product__price del,
.price del {
	color: #6f7784;
	font-weight: 400;
	margin-right: 0.4rem;
}

.adena-product__price ins,
.price ins {
	text-decoration: none;
	color: var(--adena-text);
}

.adena-obraczki-price-note {
	display: inline-block;
	max-width: 18rem;
	color: var(--adena-text);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.25;
	padding-bottom: 0.5rem;
}

.adena-product__labels {
	order: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.4rem;
	margin: 0 0 0.65rem;
}

.adena-product-label {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.34rem 0.56rem;
	border-radius: 6px;
	background: #bbb2a8;
	color: #fff;
	font-size: 0.72rem;
	font-weight: 400;
	line-height: 1;
	white-space: nowrap;
}

/* Badges */
.adena-badge {
	position: absolute;
	top: 1.05rem;
	z-index: 2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	font-size: 0.78rem;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	padding: 0.38rem 0.62rem;
	border-radius: 6px;
	color: #fff;
	line-height: 1;
	white-space: nowrap;
}

.adena-badge--sale,
.woocommerce span.onsale {
	left: auto;
	right: 1.05rem;
	top: 1.05rem;
	background: #e87896;
	min-height: auto;
	min-width: auto;
	margin: 0;
	position: absolute;
	border-radius: 6px;
	padding: 0.38rem 0.62rem;
	font-size: 0.78rem;
	line-height: 1;
}

.adena-badge--featured {
	right: 0.75rem;
	background: var(--adena-accent-dark);
}

/* ----------------------------------------------------------------------- *
 * 11. WooCommerce – archive chrome (notices, ordering, breadcrumb)
 * ----------------------------------------------------------------------- */
.woocommerce-breadcrumb,
.woocommerce:where(body:not(.woocommerce-uses-block-theme)) .woocommerce-breadcrumb {
	font-size: 14px;
	color: var(--adena-muted);
	font-weight: 300 !important;
	margin-bottom: 1.5rem;
}

.woocommerce-breadcrumb a { color: var(--adena-muted); }
.woocommerce-breadcrumb a:hover { color: var(--adena-accent-dark); }

/* Catalogue views have no .adena-shop wrapper (its hook never fires via
   woocommerce_content()), so the header elements carry their own gutter. */
.page-title,
.woocommerce-products-header__title {
	font-size: clamp(1.8rem, 4vw, 2.5rem);
	margin: 20px 0;
	padding-inline: 1rem;
}

.term-description,
.woocommerce-products-header .term-description {
	color: var(--adena-muted);
	font-size: 0.9rem;
	max-width: 760px;
	margin: 0 auto 1rem;
	padding-inline: 1rem;
	text-align: center;
}

.woocommerce-result-count {
	color: var(--adena-muted);
	font-size: 0.9rem;
	margin: 0;
}

.woocommerce-ordering select {
	width: auto;
	min-width: 220px;
}

.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering {
	display: inline-block;
}

.woocommerce-notices-wrapper:not(:empty) {
	margin-bottom: 1.5rem;
}

.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-left: 3px solid var(--adena-accent);
	border-radius: var(--adena-radius);
	padding: 1rem 1.25rem;
	list-style: none;
}

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

/* Toolbar row */
.woocommerce .products-header-bar,
.adena-shop__main > .woocommerce-result-count {
	margin-bottom: 1rem;
}

/* ----------------------------------------------------------------------- *
 * 12. WooCommerce – single product
 * ----------------------------------------------------------------------- */
.single-product {
	--adena-bg: #ffffff;
	--adena-surface: #ffffff;
	--adena-accent: #bbb2a8;
	--adena-accent-dark: #a89e92;
	--adena-text: #392b24;
	--adena-muted: #7f7168;
	--adena-border: #d6d1cb;
	--adena-sale: #a89e92;
	--belloro-product-page-bg: #ffffff;
	--belloro-product-surface-soft: #fbfaf8;
	--belloro-product-surface-tint: #e4e0dc;
	--belloro-product-focus: rgba(114, 100, 93, 0.2);
	--belloro-product-shadow: rgba(57, 43, 36, 0.12);
}

.single-product,
.single-product .adena-main,
.single-product .adena-shop,
.single-product .adena-shop__main {
	background: var(--belloro-product-page-bg);
}

.single-product div.product {
	--adena-product-content-width: var(--adena-maxw);
	position: relative;
	display: block;
	width: 100%;
	max-width: var(--adena-maxw);
	margin-inline: auto;
	padding: 3rem;
}

.single-product .adena-product-main {
	display: grid;
	row-gap: 1rem;
	width: 100%;
	max-width: var(--adena-product-content-width);
	margin-inline: auto;
}

.single-product .adena-product-main > .woocommerce-breadcrumb {
	grid-column: 1;
	margin: 0 0 0.5rem;
}

@media (min-width: 1100px) {
	.single-product .adena-product-main {
		grid-template-columns: minmax(0, 782px) minmax(380px, 636px);
		align-items: start;
		column-gap: clamp(1rem, 1.5vw, 1.5rem);
		justify-content: start;
		overflow: visible !important;
	}
	.single-product .adena-product-main > .woocommerce-product-gallery {
		grid-column: 1;
	}
	.single-product .adena-product-main > .summary {
		grid-column: 2;
	}
	.single-product div.product .related,
	.single-product div.product .adena-product-details-tabs,
	.single-product div.product .adena-gallery-attributes,
	.single-product div.product .upsells {
		clear: both;
	}
}

.single-product div.product .summary {
	width: 100% !important;
	max-width: 636px;
	float: none !important;
	align-self: start;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	backdrop-filter: none;
}

@media (min-width: 1100px) {
	.single-product div.product .summary {
		margin-top: 0;
	}
}

.single-product div.product > .onsale,
.single-product .adena-product-main > .onsale {
	position: absolute;
	top: clamp(3rem, 5vw, 4.5rem);
	left: 1rem;
	z-index: 3;
}

.single-product .product_title {
	margin: 0 0 0.55rem;
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: clamp(2rem, 2.4vw, 2.85rem);
	font-weight: 400;
	letter-spacing: 0.01em;
	line-height: 1.12;
}

.single-product .price {
	display: block;
	margin: 2rem 0 1rem;
	color: var(--adena-text);
	font-size: clamp(1.55rem, 2vw, 2rem);
	font-weight: 700;
	line-height: 1.1;
}

.single-product .price .woocommerce-Price-amount.amount {
	color: var(--adena-text);
}

.single-product .price .adena-obraczki-price-note {
	max-width: 26rem;
	font-size: clamp(1.1rem, 1.25vw, 1.35rem);
	line-height: 1.3;
}

.single-product .woocommerce-product-rating {
	display: none;
}

.single-product .woocommerce-product-details__short-description {
	color: var(--adena-muted);
	border: 0;
	padding-block: 1.25rem;
	margin-bottom: 1.5rem;
}

.single-product form.cart {
	display: block;
	margin-bottom: 1.3rem;
	padding-top: 0;
}

.single-product form.cart .single_add_to_cart_button {
	vertical-align: top;
}

.single-product form.cart .single_add_to_cart_button {
	width: 100%;
	min-height: 56px;
	border-radius: 999px;
	background: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
	color: #fff;
	font-size: 1.02rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	box-shadow: 0 14px 28px rgba(57, 43, 36, 0.16);
}

.single-product form.cart .single_add_to_cart_button:not(.disabled):not(:disabled):hover,
.single-product form.cart .single_add_to_cart_button:not(.disabled):not(:disabled):focus {
	background: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
	transform: translateY(-1px);
}

.single-product form.cart .single_add_to_cart_button.disabled,
.single-product form.cart .single_add_to_cart_button:disabled,
.single-product form.cart .single_add_to_cart_button[disabled] {
	background: var(--adena-border) !important;
	border-color: var(--adena-border) !important;
	color: #fff !important;
	box-shadow: none;
	cursor: not-allowed;
	opacity: 1 !important;
}

/* Quote-request CTA on wedding-ring (obraczki) products, mirroring the
   add-to-cart button. Rendered outside form.cart (products are non-purchasable),
   so the styles are repeated here rather than inherited. */
.single-product .adena-obraczki-cta.single_add_to_cart_button {
	display: flex;
	width: 100%;
	min-height: 56px;
	margin-bottom: 1.3rem;
	text-align: center;
	text-decoration: none;
	border-radius: 999px;
	background: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
	color: #fff;
	font-size: 1.02rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	box-shadow: 0 14px 28px rgba(57, 43, 36, 0.16);
}

.single-product .adena-obraczki-cta.single_add_to_cart_button:hover,
.single-product .adena-obraczki-cta.single_add_to_cart_button:focus {
	background: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
	color: #fff;
	transform: translateY(-1px);
}

.single-product .product_meta {
	display: none !important;
}

.single-product .product_meta > span {
	display: block;
	margin-bottom: 0.35rem;
}

/* Variations */
.woocommerce div.product form.cart .variations {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 1.4rem;
}

.woocommerce div.product form.cart .variations td,
.woocommerce div.product form.cart .variations th {
	display: block;
	padding: 0;
	text-align: left;
	vertical-align: top;
}

.woocommerce div.product form.cart .variations th.label {
	margin-bottom: 0.55rem;
	color: var(--adena-text);
	font-size: 0.95rem;
	font-weight: 700;
}

.woocommerce div.product form.cart .variations td.value {
	margin-bottom: 1rem;
}

.woocommerce div.product form.cart .variations select {
	width: 100%;
	min-height: 58px;
	padding: 0.95rem 2.75rem 0.95rem 1.35rem;
	border: 1px solid var(--adena-border);
	border-radius: 18px;
	background-color: var(--adena-surface);
	color: var(--adena-text);
	font: inherit;
	font-weight: 600;
	box-shadow: none;
}

.woocommerce div.product form.cart .variations select:focus {
	border-color: var(--adena-accent-dark);
	outline: 2px solid var(--belloro-product-focus);
	outline-offset: 2px;
}

.single-product div.product.is-missing-size .variations select[name*="rozmiar"],
.single-product div.product.is-missing-size .variations select[id*="rozmiar"],
.single-product div.product.is-missing-size .variations select[name*="size"],
.single-product div.product.is-missing-size .variations select[id*="size"] {
	border-color: var(--adena-accent-dark);
	background: var(--belloro-product-surface-soft);
	box-shadow: 0 0 0 4px rgba(114, 100, 93, 0.14), 0 14px 30px rgba(114, 100, 93, 0.18);
}

.single-product .al-attributes-wrapper {
	flex-direction: row !important;
	flex-wrap: wrap;
	gap: 0.5rem !important;
	margin: 0 0 1.05rem !important;
}

.single-product .al-attribute-value,
.single-product .al-delivery-info {
	display: inline-flex !important;
	align-items: center !important;
	min-height: 42px;
	padding: 0.55rem 1rem;
	border: 1px solid rgba(187, 178, 168, 0.55);
	border-radius: 999px;
	background: var(--belloro-product-surface-soft);
	color: var(--adena-text);
	font-size: 0.92rem !important;
	font-weight: 600 !important;
	line-height: 1.2;
}

.single-product .al-attribute-value img,
.single-product .al-delivery-info img {
	width: 18px !important;
	height: 18px !important;
	object-fit: contain;
}

.single-product .delivery-container {
	margin: 0 0 1.8rem !important;
}

.single-product .delivery-label {
	margin: 0 0 0.65rem !important;
	color: var(--adena-muted) !important;
	font-size: 0.95rem !important;
	font-weight: 600;
}

.single-product .delivery-time {
	gap: 0.35rem;
	margin: 0 !important;
	color: var(--adena-text);
	font-size: 1rem !important;
	font-weight: 600 !important;
}

.single-product .green-dot {
	width: 14px !important;
	height: 14px !important;
	margin-right: 0.45rem !important;
	background-color: #66d39a !important;
}

.single-product .woo-variant-selector,
.single-product .obraczki-attributes,
.single-product .wrs-dropdown-container {
	border: 1px solid var(--adena-border) !important;
	border-radius: 18px !important;
	background: var(--adena-surface);
	box-shadow: none;
}

.single-product .woo-variant-selector,
.single-product .obraczki-attributes,
.single-product .wrs-dropdown-container {
	margin: 0 0 1.4rem !important;
	padding: 1.5rem !important;
}

.single-product .woo-variant-selector {
	display: grid !important;
	gap: 0 !important;
	margin: 0 !important;
	padding: 1.25rem 1.45rem !important;
}

.single-product div.product.is-missing-size .wrs-dropdown-container {
	border-color: var(--adena-accent-dark) !important;
	background: var(--belloro-product-surface-soft);
	box-shadow: 0 0 0 4px rgba(114, 100, 93, 0.12), 0 14px 30px rgba(114, 100, 93, 0.12);
}

.single-product .woo-variant-row {
	display: flex !important;
	align-items: center !important;
	justify-content: space-between;
	gap: 1rem !important;
	min-height: 46px;
	padding: 0.65rem 0 !important;
	color: var(--adena-text);
	font-size: 14px;
	font-weight: 600;
	line-height: 1.25;
	border-radius: 0 !important;
}

.single-product .woo-variant-row.no-image,
.single-product .woo-variant-row.with-image {
	font-weight: 400 !important;
}

.single-product .woo-variant-row + .woo-variant-row {
	border-top: 1px solid rgba(214, 209, 203, 0.86);
}

.single-product .woo-variant-row > span {
	min-width: 0;
	color: var(--adena-text);
}

.single-product .woo-variant-row img {
	width: 26px !important;
	height: 26px !important;
	max-width: 26px !important;
	border-radius: 999px !important;
	object-fit: contain;
}

.single-product .woo-variant-row.with-image img {
	width: 20px !important;
	height: 20px !important;
	max-width: 20px !important;
}

.single-product .woo-variant-edit {
	flex: 0 0 auto;
	padding: 0 !important;
	border: 0;
	background: transparent;
	color: var(--adena-text);
	font: inherit;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
}

.single-product .woo-variant-popup {
	width: min(560px, 92vw) !important;
	padding: clamp(1.25rem, 3vw, 2rem) !important;
	border-left: 1px solid var(--adena-border);
	box-shadow: -18px 0 50px var(--belloro-product-shadow) !important;
	font-family: var(--adena-font-body);
}

.single-product .woo-variant-main-title {
	padding-right: 2rem;
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: clamp(1.6rem, 2vw, 2.2rem) !important;
	font-weight: 400 !important;
	line-height: 1.12;
}

.single-product .woo-variant-inline-section {
	padding: 1.2rem 0;
	border-top: 1px solid var(--adena-border);
}

.single-product .woo-variant-inline-title {
	margin-bottom: 0.85rem;
	color: var(--adena-text);
	font-size: 1rem;
	font-weight: 700;
}

.single-product .woo-variant-inline-options {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(96px, 1fr));
	gap: 0.75rem;
}

.single-product .woo-variant-option {
	min-height: 84px;
	padding: 0.8rem !important;
	border: 1px solid var(--adena-border);
	border-radius: 14px !important;
	background: var(--adena-surface);
	color: var(--adena-text);
	font-size: 0.86rem !important;
	font-weight: 600;
}

.single-product .woo-variant-option:hover,
.single-product .woo-variant-option.selected-no-image,
.single-product .woo-variant-option:has(img.selected) {
	border-color: var(--adena-accent-dark);
	background: var(--belloro-product-surface-soft) !important;
}

.single-product .woo-variant-option img {
	width: 34px !important;
	height: 34px !important;
	max-width: 34px !important;
	border-radius: 999px !important;
	object-fit: contain;
}

.single-product .woo-variant-option img.selected {
	border: 1px solid var(--adena-accent-dark) !important;
	padding: 2px !important;
}

.single-product .woo-variant-option.unavailable {
	opacity: 0.42 !important;
	filter: grayscale(100%);
}

.adena-product-model {
	margin: 0 0 0.625rem;
	color: var(--adena-muted);
	font-size: 0.7rem;
	font-weight: 300;
}

.adena-product-trustmate {
	margin: 0 0 1.2rem;
}

.adena-product-trustmate__rating {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.2rem;
	max-width: 120px;
	color: var(--adena-text);
}

.adena-product-trustmate__rating:hover,
.adena-product-trustmate__rating:focus {
	color: var(--adena-text);
}

.adena-product-trustmate__logo {
	width: auto;
	height: 15px;
	object-fit: contain;
}

.adena-product-trustmate__rating span {
	color: var(--adena-text);
	font-size: 0.7rem;
	font-weight: 600;
	line-height: 1.25;
}

.adena-product-trustmate__rating strong {
	font-weight: 800;
}

.adena-product-price-ad {
	margin: 1.6rem 0 1rem;
	overflow: hidden;
	border-radius: 18px;
	aspect-ratio: 4 / 1;
	display: grid;
	align-content: center;
	justify-items: end;
	padding: clamp(1rem, 4vw, 2rem);
	padding-right: clamp(2.5rem, 8vw, 5rem);
	color: #fff;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	background-image: linear-gradient(90deg, rgba(57, 43, 36, 0.05) 0%, rgba(57, 43, 36, 0.68) 50%, rgba(57, 43, 36, 0.2) 100%), url("../images/newsletter-background.png");
	background-position: center center;
	background-size: cover;
}

.adena-product-price-ad__title,
.adena-product-price-ad__text {
	width: min(24rem, 64%);
	text-align: center;
}

.adena-product-price-ad__title {
	font-family: var(--adena-font-heading);
	font-size: clamp(1.31rem, 2.31vw, 1.88rem);
	font-weight: 400;
	line-height: 1.05;
}

.adena-product-price-ad__text {
	margin-top: 0.35rem;
	font-family: var(--adena-font-heading);
	font-size: clamp(0.85rem, 1.44vw, 1.19rem);
	font-weight: 400;
	line-height: 1.25;
	white-space: nowrap;
}

.adena-product-price-ad__discount {
	font-size: 1.25em;
	font-weight: 600;
	line-height: 1;
}

.adena-reassurance-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.25rem;
	margin-top: 1.5rem;
	padding-top: 0;
	font-size: 14px;
	font-weight: 400;
	border-top: 0;
}

.adena-reassurance-panel {
	min-width: 0;
	padding: 1.35rem 1.45rem;
	border: 1px solid var(--adena-border);
	border-radius: 18px;
	background: var(--adena-surface);
	color: var(--adena-text);
}

.adena-reassurance-panel h2 {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin: 0 0 1.15rem;
	color: var(--adena-muted);
	font-family: var(--adena-font-body);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0;
}

.adena-reassurance-panel h2 img {
	width: 20px;
	height: 20px;
	object-fit: contain;
}

.adena-reassurance-panel ul {
	display: grid;
	gap: 0.95rem;
	margin: 0;
	padding-left: 1.15rem;
	color: var(--adena-muted);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35;
}

.adena-reassurance-panel li::marker {
	color: var(--adena-accent);
	font-size: 0.7em;
}

.adena-reassurance-panel strong {
	color: var(--adena-text);
	font-weight: 400;
}

.adena-payment-logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.75rem;
}

.adena-payment-logos img {
	display: block;
	width: auto;
	max-width: 66px;
	height: 26px;
	object-fit: contain;
}

.adena-reassurance-panel--benefits {
	display: grid;
	gap: 1.25rem;
}

.adena-reassurance-benefit {
	display: grid;
	grid-template-columns: 37px minmax(0, 1fr);
	align-items: center;
	gap: 1rem;
	color: var(--adena-muted);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.3;
}

.adena-reassurance-benefit__icon {
	display: inline-grid;
	place-items: center;
	width: 37px;
	height: 37px;
	border-radius: 12px;
	background: transparent;
}

.adena-reassurance-benefit__icon img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.adena-reassurance-benefit__copy {
	min-width: 0;
}

.adena-reassurance-benefit__copy span {
	color: var(--adena-muted);
	font-weight: 400;
}

.adena-reassurance-benefit__copy strong {
	margin-right: 0.25rem;
	color: var(--adena-text);
	font-weight: 400;
}

.adena-reassurance-benefit:nth-child(3) {
	align-items: start;
}

.adena-reassurance-benefit:nth-child(3) .adena-reassurance-benefit__copy {
	display: grid;
	gap: 0.25rem;
}

.adena-reassurance-benefit:nth-child(3) .adena-reassurance-benefit__copy strong {
	margin-right: 0;
}

/* Tabs */
.single-product div.product .woocommerce-tabs {
	width: 100%;
	max-width: none;
	margin: 1.5rem 0 0;
	padding-block: 0;
	border-top: 0;
}

.woocommerce-tabs ul.tabs {
	display: none !important;
}

.adena-tabs-accordion {
	display: grid;
	gap: 0.85rem;
}

.adena-tabs-accordion__item {
	overflow: hidden;
	border: 1px solid var(--adena-border);
	border-radius: 18px;
	background: var(--adena-surface);
}

.adena-tabs-accordion__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	width: 100%;
	min-height: 54px;
	padding: 0.95rem 1.15rem;
	border: 0;
	background: transparent;
	color: var(--adena-text);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.25;
	text-align: left;
	cursor: pointer;
}

.adena-tabs-accordion__button::after {
	content: "+";
	flex: 0 0 auto;
	color: var(--adena-muted);
	font-size: 1.2rem;
	font-weight: 300;
	line-height: 1;
}

.adena-tabs-accordion__button[aria-expanded="true"]::after {
	content: "−";
}

.woocommerce-Tabs-panel h2 {
	display: none;
}

.woocommerce-Tabs-panel {
	max-width: none;
	padding: 0 1.15rem 1.15rem;
	color: var(--adena-text);
	font-size: 0.92rem;
	line-height: 1.55;
}

.woocommerce-Tabs-panel[hidden] {
	display: none !important;
}

.adena-product-details-tabs {
	width: 100% !important;
	max-width: var(--adena-product-content-width) !important;
	margin: 70px auto 0;
	padding: 1rem;
	border: 1px solid var(--adena-border);
	border-radius: 18px;
	background: var(--adena-surface);
}

@media (max-width: 767px) {
	.adena-product-details-tabs {
		margin-top: 0;
	}
}

.adena-product-details-tabs__nav {
	display: flex;
	gap: 1.5rem;
	margin-bottom: 1rem;
	border-bottom: 1px solid rgba(214, 209, 203, 0.9);
}

.adena-product-details-tabs__button {
	position: relative;
	padding: 0 0 0.75rem;
	border: 0;
	background: transparent;
	color: var(--adena-muted);
	font: inherit;
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.25;
	cursor: pointer;
}

.adena-product-details-tabs__button[aria-selected="true"] {
	color: var(--adena-text);
	font-weight: 600;
}

.adena-product-details-tabs__button[aria-selected="true"]::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -1px;
	height: 2px;
	border-radius: 999px;
	background: var(--adena-text);
}

.adena-product-details-tabs__panel[hidden] {
	display: none !important;
}

.adena-product-details-tabs__description {
	color: var(--adena-text);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.65;
}

.adena-product-details-tabs__description > :first-child {
	margin-top: 0;
}

.adena-product-details-tabs__description > :last-child {
	margin-bottom: 0;
}

.adena-gallery-attributes {
	width: 100% !important;
	max-width: none !important;
	justify-self: center;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.adena-gallery-attributes h2 {
	margin: 0 0 0.65rem;
	color: var(--adena-text);
	font-family: var(--adena-font-body);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.25;
}

.woocommerce-Tabs-panel table.shop_attributes,
.woocommerce-Tabs-panel table.woocommerce-product-attributes,
.adena-gallery-attributes table.shop_attributes,
.adena-gallery-attributes table.woocommerce-product-attributes {
	display: block;
	width: 100%;
	max-width: none;
	border: 0;
	border-collapse: collapse;
}

.woocommerce-Tabs-panel table.shop_attributes tbody,
.woocommerce-Tabs-panel table.woocommerce-product-attributes tbody,
.adena-gallery-attributes table.shop_attributes tbody,
.adena-gallery-attributes table.woocommerce-product-attributes tbody {
	display: grid;
	gap: 0;
}

.woocommerce-Tabs-panel table.shop_attributes tr,
.woocommerce-Tabs-panel table.woocommerce-product-attributes tr,
.adena-gallery-attributes table.shop_attributes tr,
.adena-gallery-attributes table.woocommerce-product-attributes tr {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(120px, 0.7fr);
	gap: 1rem;
	padding: 0.65rem 0;
	border-bottom: 1px solid rgba(214, 209, 203, 0.86);
	background: transparent !important;
}

.woocommerce-Tabs-panel table.shop_attributes tr:last-child,
.woocommerce-Tabs-panel table.woocommerce-product-attributes tr:last-child {
	border-bottom: 0;
}

.woocommerce-Tabs-panel table.shop_attributes th,
.woocommerce-Tabs-panel table.shop_attributes td,
.woocommerce-Tabs-panel table.woocommerce-product-attributes th,
.woocommerce-Tabs-panel table.woocommerce-product-attributes td,
.adena-gallery-attributes table.shop_attributes th,
.adena-gallery-attributes table.shop_attributes td,
.adena-gallery-attributes table.woocommerce-product-attributes th,
.adena-gallery-attributes table.woocommerce-product-attributes td {
	display: block;
	width: auto;
	padding: 0;
	border: 0;
	background: transparent;
	text-align: left;
	font-size: 0.82rem;
	line-height: 1.35;
}

.woocommerce-Tabs-panel table.shop_attributes th,
.woocommerce-Tabs-panel table.woocommerce-product-attributes th,
.adena-gallery-attributes table.shop_attributes th,
.adena-gallery-attributes table.woocommerce-product-attributes th {
	color: var(--adena-muted);
	font-weight: 400;
}

.woocommerce-Tabs-panel table.shop_attributes td,
.woocommerce-Tabs-panel table.woocommerce-product-attributes td,
.adena-gallery-attributes table.shop_attributes td,
.adena-gallery-attributes table.woocommerce-product-attributes td {
	color: var(--adena-text);
	font-style: normal;
	font-weight: 400;
}

.woocommerce-Tabs-panel table.shop_attributes td p,
.woocommerce-Tabs-panel table.woocommerce-product-attributes td p,
.adena-gallery-attributes table.shop_attributes td p,
.adena-gallery-attributes table.woocommerce-product-attributes td p {
	margin: 0;
}

.adena-gallery-attributes table.shop_attributes tbody,
.adena-gallery-attributes table.woocommerce-product-attributes tbody {
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 0.55rem;
}

.adena-gallery-attributes table.shop_attributes tr,
.adena-gallery-attributes table.woocommerce-product-attributes tr {
	grid-template-columns: 1fr;
	gap: 0.18rem;
	padding: 0.5rem 0.65rem;
	border: 1px solid rgba(214, 209, 203, 0.86);
	border-radius: 14px;
	background: var(--adena-surface) !important;
}

.adena-gallery-attributes table.shop_attributes th,
.adena-gallery-attributes table.shop_attributes td,
.adena-gallery-attributes table.woocommerce-product-attributes th,
.adena-gallery-attributes table.woocommerce-product-attributes td,
.adena-gallery-attributes table.shop_attributes td p,
.adena-gallery-attributes table.woocommerce-product-attributes td p {
	background: var(--adena-surface) !important;
}

.adena-additional-trustmate {
	width: 100% !important;
	max-width: var(--adena-product-content-width) !important;
	margin: 50px auto 0;
	padding: 0;
	border: 0;
}

/* Gallery */
.woocommerce-product-gallery {
	position: relative;
	width: 100% !important;
	max-width: 782px;
	justify-self: start;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	opacity: 1 !important;
}

.woocommerce div.product div.images {
	width: 92% !important;
	max-width: 782px;
	float: none !important;
	margin: 0 auto 0 0 !important;
	padding: 0 !important;
	opacity: 1 !important;
}

.woocommerce-product-gallery__wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: clamp(1.5rem, 2.4vw, 2.25rem);
	margin: 0;
	padding: 0 !important;
}

.woocommerce-product-gallery__image {
	display: flex !important;
	align-items: center;
	justify-content: center;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border: 1px solid rgba(187, 178, 168, 0.42);
	border-radius: 24px;
	background: linear-gradient(180deg, var(--adena-surface) 0%, var(--belloro-product-surface-soft) 100%);
	padding: 0 !important;
	box-shadow: none;
}

.woocommerce-product-gallery__image:first-child {
	grid-column: 1 / -1;
	min-height: 0;
	padding: 0 !important;
}

.woocommerce div.product div.images .woocommerce-product-gallery__image:nth-child(n+2) {
	width: 100% !important;
	border: 0;
	box-shadow: none;
}

.woocommerce-product-gallery__image a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	padding: 0 !important;
	border-radius: inherit;
	overflow: hidden;
}

.woocommerce-product-gallery__image img,
.woocommerce div.product div.images img {
	width: 100% !important;
	height: auto !important;
	max-width: 100%;
	max-height: none;
	padding: 0;
	object-fit: contain;
	object-position: center center;
	border-radius: 24px;
}

.woocommerce-product-gallery__image:first-child img {
	padding: 0;
	transform: none;
	transform-origin: center center;
}

.woocommerce-product-gallery .woocommerce-product-gallery__trigger {
	display: none !important;
}

@media (min-width: 1100px) {
	.single-product .adena-main,
	.single-product div.product {
		overflow: visible !important;
	}

	.single-product .adena-product-main > div.images.woocommerce-product-gallery,
	.single-product.woocommerce .adena-product-main > div.images.woocommerce-product-gallery,
	.single-product.woocommerce-page .adena-product-main > div.images.woocommerce-product-gallery {
		position: -webkit-sticky !important;
		position: sticky !important;
		top: 20px;
		align-self: start !important;
		height: max-content;
		z-index: 1;
	}
}

@media (max-width: 1099px) {
	.single-product div.product .summary {
		max-width: none;
		border-radius: 18px;
		box-shadow: 0 12px 32px rgba(57, 43, 36, 0.045);
	}
	.woocommerce-product-gallery__wrapper {
		gap: 1rem;
	}
	.woocommerce-product-gallery__image {
		border-radius: 18px;
		padding: 0 !important;
	}
	.woocommerce-product-gallery,
	.woocommerce div.product div.images {
		width: 100% !important;
		max-width: none !important;
		justify-self: stretch;
		margin: 0 !important;
	}
	.woocommerce-product-gallery__wrapper {
		width: 100%;
	}
	.single-product div.product {
		width: 100%;
		max-width: var(--adena-maxw);
		margin-inline: auto;
		padding-top: 3rem;
		padding-inline: 1.25rem;
	}
}

@media (max-width: 560px) {
	.adena-product-price-ad__text {
		white-space: normal;
	}

	.woocommerce-product-gallery__wrapper {
		grid-template-columns: 1fr;
	}
	.adena-gallery-attributes {
		width: 100%;
	}
	.adena-gallery-attributes table.shop_attributes tbody,
	.adena-gallery-attributes table.woocommerce-product-attributes tbody {
		grid-template-columns: 1fr;
	}
	.adena-gallery-attributes table.shop_attributes tr,
	.adena-gallery-attributes table.woocommerce-product-attributes tr {
		grid-template-columns: 1fr;
		gap: 0.25rem;
	}
	.woocommerce-product-gallery__image img,
	.woocommerce div.product div.images img {
		padding: 0;
	}
	.single-product .al-attribute-value,
	.single-product .al-delivery-info {
		width: 100%;
		justify-content: center;
	}
	.adena-reassurance-grid {
		grid-template-columns: 1fr;
	}
	.adena-reassurance-panel {
		padding: 1.1rem;
		border-radius: 16px;
	}
	.adena-reassurance-panel h2 {
		font-size: 14px;
	}
	.adena-payment-logos {
		gap: 0.55rem;
	}
	.adena-payment-logos img {
		max-width: 54px;
		height: 22px;
	}
	.adena-reassurance-benefit {
		grid-template-columns: 32px minmax(0, 1fr);
		gap: 0.8rem;
		font-size: 14px;
	}
	.adena-reassurance-benefit__icon {
		width: 32px;
		height: 32px;
	}
	.adena-reassurance-benefit__icon img {
		width: 20px;
		height: 20px;
	}
}

/* Related / upsells headings */
.single-product div.product .related {
	width: 100% !important;
	max-width: var(--adena-product-content-width) !important;
	margin-top: 70px;
	margin-right: auto;
	margin-bottom: 50px;
	margin-left: auto;
}

.single-product div.product .upsells {
	width: 100% !important;
	max-width: var(--adena-product-content-width) !important;
	margin-right: auto;
	margin-left: auto;
}

.related > h2,
.upsells > h2,
.cross-sells > h2 {
	text-align: center;
	margin-bottom: 1.75rem;
}

/* ----------------------------------------------------------------------- *
 * 13. WooCommerce – cart, checkout, account
 * ----------------------------------------------------------------------- */
.woocommerce table.shop_table {
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	border-collapse: collapse;
	width: 100%;
	background: var(--adena-surface);
}

.woocommerce table.shop_table th,
.woocommerce table.shop_table td {
	padding: 1rem;
	border-bottom: 1px solid var(--adena-border);
}

.woocommerce table.shop_table th {
	font-family: var(--adena-font-body);
	font-weight: 600;
	text-align: left;
}

.woocommerce .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce form.checkout_coupon,
.woocommerce form.login,
.woocommerce form.register {
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	padding: 1.5rem;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	display: block;
	text-align: center;
	width: 100%;
	font-size: 1.05rem;
	padding: 1rem;
}

.woocommerce-cart .adena-shop {
	max-width: 1280px;
	padding-block: clamp(3rem, 7vw, 5rem);
}

.woocommerce-cart .adena-shop__main {
	max-width: 100%;
}

.woocommerce-cart .page-title,
.woocommerce-cart .entry-title,
.woocommerce-cart h1 {
	margin: 0 0 2rem;
	font-size: clamp(2.6rem, 5vw, 4rem);
	line-height: 1.05;
}

.woocommerce-cart .adena-page-title {
	display: none;
}

.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 420px);
	gap: clamp(1.5rem, 3vw, 2.5rem);
	align-items: start;
}

.woocommerce-cart .woocommerce-notices-wrapper,
.woocommerce-cart .woocommerce > h2,
.woocommerce-cart .woocommerce > .return-to-shop,
.woocommerce-cart .woocommerce > .cart-empty {
	grid-column: 1 / -1;
}

.woocommerce-cart .woocommerce-cart-form {
	grid-column: 1;
	min-width: 0;
	padding: clamp(1.25rem, 2vw, 1.75rem);
	border: 1px solid #dfe3e8;
	border-radius: 22px;
	background: #fff;
	overflow: hidden;
}

.woocommerce-cart .cart-collaterals {
	grid-column: 2;
	width: 100%;
	min-width: 0;
	float: none;
}

.woocommerce-cart .cart-collaterals .cart_totals {
	width: 100% !important;
	float: none !important;
	margin: 0;
	padding: clamp(1.25rem, 2vw, 1.75rem);
	border-color: rgba(223, 227, 232, 0.92);
	border-radius: 22px;
	background: #f4f2f7;
}

.woocommerce-cart .cart-collaterals .cart_totals > h2,
.woocommerce-cart .cart_totals h2 {
	margin: 0 0 1.1rem;
	font-family: var(--adena-font-body);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
}

.woocommerce-cart table.shop_table {
	table-layout: fixed;
	border: 0;
	border-radius: 0;
	border-collapse: separate;
	border-spacing: 0 0.85rem;
	background: transparent;
}

.woocommerce-cart table.shop_table thead th {
	padding: 0 0 0.15rem;
	border: 0;
	color: var(--adena-text);
	font-size: 0.9rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0;
}

.woocommerce-cart table.shop_table td {
	border-bottom: 0;
}

.woocommerce-cart table.cart tr.cart_item {
	border-radius: 18px;
	background: #fff;
	box-shadow: inset 0 0 0 1px #e7e3df;
}

.woocommerce-cart table.cart tr.cart_item td {
	padding-block: 0.85rem;
	border-top: 1px solid #e7e3df;
	border-bottom: 1px solid #e7e3df;
	background: #fff;
	vertical-align: middle;
}

.woocommerce-cart table.cart tr.cart_item td:first-child {
	border-left: 1px solid #e7e3df;
	border-radius: 18px 0 0 18px;
}

.woocommerce-cart table.cart tr.cart_item td:last-child {
	border-right: 1px solid #e7e3df;
	border-radius: 0 18px 18px 0;
}

.woocommerce-cart table.cart td.product-thumbnail {
	width: 112px;
	padding-left: 0.85rem;
}

.woocommerce-cart table.cart td.product-thumbnail img {
	width: 88px;
	height: 88px;
	border-radius: 12px;
	background: #f6f4f1;
	object-fit: contain;
}

.woocommerce-cart table.cart td.product-name {
	min-width: 0;
	width: 42%;
}

.woocommerce-cart table.cart td.product-name a {
	display: inline-block;
	color: var(--adena-text);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
}

.woocommerce-cart table.cart td.product-name .variation,
.woocommerce-cart table.cart td.product-name p {
	margin: 0.4rem 0 0;
	color: var(--adena-muted);
	font-size: 0.86rem;
	font-weight: 400;
	line-height: 1.35;
}

.woocommerce-cart table.cart td.product-price,
.woocommerce-cart table.cart td.product-subtotal {
	color: var(--adena-text);
	font-size: 1rem;
	font-weight: 600;
	white-space: nowrap;
}

.woocommerce-cart table.cart td.product-remove {
	width: 44px;
	padding-inline: 0.65rem 0.85rem;
	text-align: center;
}

.woocommerce-cart table.cart td.product-remove a.remove {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 999px;
	color: #c65a5a !important;
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
}

.woocommerce-cart table.cart td.product-remove a.remove:hover,
.woocommerce-cart table.cart td.product-remove a.remove:focus {
	background: rgba(198, 90, 90, 0.08);
	color: #a84646 !important;
}

.woocommerce-cart table.cart td.product-quantity .quantity {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 42px;
	border: 1px solid #d9d5cf;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.woocommerce-cart table.cart td.product-quantity .quantity .minus,
.woocommerce-cart table.cart td.product-quantity .quantity .plus,
.woocommerce-cart table.cart td.product-quantity .quantity button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 40px;
	border: 0;
	background: transparent;
	color: var(--adena-muted);
	font: inherit;
	font-size: 1.05rem;
	cursor: pointer;
}

.woocommerce-cart table.cart td.product-quantity .quantity input.qty {
	width: 44px;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 0.95rem;
	font-weight: 500;
	text-align: center;
}

.woocommerce-cart table.cart .actions {
	padding: 0.25rem 0 0;
	background: transparent;
}

.woocommerce-cart table.cart .actions .coupon {
	display: flex;
	gap: 0.6rem;
	max-width: 520px;
}

.woocommerce-cart table.cart .actions .coupon .input-text {
	min-height: 48px;
	border: 1px solid #d9d5cf;
	border-radius: 999px;
	background: #fff;
	padding-inline: 1rem;
}

.woocommerce-cart table.cart .actions .button,
.woocommerce-cart .cart-collaterals .button,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	min-height: 48px;
	border-radius: 999px;
	background: var(--adena-text);
	border-color: var(--adena-text);
	color: #fff;
	font-size: 0.96rem;
	font-weight: 500;
	line-height: 1.2;
	text-transform: none;
	letter-spacing: 0;
}

.woocommerce-cart table.cart .actions .button:hover,
.woocommerce-cart table.cart .actions .button:focus,
.woocommerce-cart .cart-collaterals .button:hover,
.woocommerce-cart .cart-collaterals .button:focus,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus {
	background: #000;
	border-color: #000;
	color: #fff;
}

.woocommerce-cart .cart_totals table.shop_table {
	margin: 0;
	border-spacing: 0;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td {
	padding: 0.75rem 0;
	border: 0;
	border-bottom: 1px solid rgba(217, 213, 207, 0.82);
	color: var(--adena-muted);
	font-size: 0.95rem;
	font-weight: 400;
}

.woocommerce-cart .cart_totals table.shop_table td {
	text-align: right;
}

.woocommerce-cart .cart_totals table.shop_table tr.order-total th,
.woocommerce-cart .cart_totals table.shop_table tr.order-total td {
	padding-top: 1rem;
	border-bottom: 0;
	color: var(--adena-text);
	font-size: 1.25rem;
	font-weight: 700;
}

.woocommerce-cart .wc-proceed-to-checkout {
	padding: 1.2rem 0 0;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	margin: 0;
	border-radius: 8px;
}

.woocommerce-cart .woocommerce > .wc-block-cart,
.woocommerce-cart .woocommerce > .wp-block-woocommerce-cart,
.woocommerce-cart .wp-block-woocommerce-filled-cart-block {
	grid-column: 1 / -1;
}

.woocommerce-cart .wc-block-components-sidebar-layout.wc-block-cart,
.woocommerce-cart .wc-block-cart {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) minmax(320px, 390px) !important;
	gap: clamp(1.5rem, 3vw, 2.5rem) !important;
	align-items: start !important;
	width: 100% !important;
	max-width: 1120px !important;
	margin-inline: auto;
}

.woocommerce-cart .wc-block-cart__sidebar,
.woocommerce-cart .wc-block-components-sidebar {
	box-sizing: border-box;
	width: 100% !important;
	flex-basis: auto !important;
	margin: 0 !important;
	padding: clamp(1.25rem, 2vw, 1.75rem) !important;
	border: 1px solid rgba(223, 227, 232, 0.92);
	border-radius: 22px;
	background: #f4f2f7;
	position: static !important;
}

.woocommerce-cart .wc-block-cart__main,
.woocommerce-cart .wc-block-components-main {
	box-sizing: border-box;
	width: 100% !important;
	flex-basis: auto !important;
	min-width: 0;
	margin: 0 !important;
	padding: clamp(1.25rem, 2vw, 1.75rem) !important;
	border: 1px solid #dfe3e8;
	border-radius: 22px;
	background: #fff;
}

.woocommerce-cart .wp-block-woocommerce-cart-order-summary-block {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.woocommerce-cart .wc-block-cart__totals-title {
	margin: 0 0 1.1rem;
	font-family: var(--adena-font-body);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
}

.woocommerce-cart .wc-block-cart-items {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: separate;
	border-spacing: 0 0.85rem;
	background: transparent;
	table-layout: auto;
}

.woocommerce-cart .wc-block-cart-items th,
.woocommerce-cart .wc-block-cart-items td {
	padding: 0;
	border: 0;
}

.woocommerce-cart .wc-block-cart-items__header th {
	padding: 0 0 0.15rem;
	color: var(--adena-text);
	font-size: 0.9rem;
	font-weight: 600;
	text-align: left;
}

.woocommerce-cart .wc-block-cart-items__header-total {
	text-align: right !important;
}

.woocommerce-cart .wc-block-components-totals-coupon,
.woocommerce-cart .wc-block-components-panel {
	border-bottom: 1px solid rgba(217, 213, 207, 0.82);
}

.woocommerce-cart .wc-block-components-panel__button {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	color: var(--adena-text);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.25;
	white-space: normal;
	word-break: normal;
	overflow-wrap: normal;
}

.woocommerce-cart .wc-block-components-totals-coupon__button,
.woocommerce-cart .wc-block-components-button:not(.is-link) {
	min-height: 48px;
	border-radius: 999px;
	background: var(--adena-text);
	color: #fff;
	font-weight: 500;
}

.woocommerce-cart .wc-block-components-button:not(.is-link):hover,
.woocommerce-cart .wc-block-components-button:not(.is-link):focus {
	background: #000;
	color: #fff;
}

.woocommerce-cart .wc-block-components-text-input input[type="text"],
.woocommerce-cart .wc-block-components-text-input input[type="email"],
.woocommerce-cart .wc-block-components-text-input input[type="tel"] {
	border-color: #d9d5cf;
	border-radius: 999px;
	background: #fff;
}

.woocommerce-cart .wc-block-cart-items__row {
	border: 0;
	background: #fff;
}

.woocommerce-cart .wc-block-cart-items__row td {
	padding: 0.85rem;
	border-top: 1px solid #e7e3df;
	border-bottom: 1px solid #e7e3df;
	background: #fff;
	vertical-align: middle;
}

.woocommerce-cart .wc-block-cart-item__image {
	width: 112px;
	border-left: 1px solid #e7e3df;
	border-radius: 18px 0 0 18px;
}

.woocommerce-cart .wc-block-cart-item__image img {
	width: 88px;
	height: 88px;
	border-radius: 12px;
	background: #f6f4f1;
	object-fit: contain;
}

.woocommerce-cart .wc-block-cart-item__product {
	min-width: 0;
}

.woocommerce-cart .wc-block-components-product-name {
	display: inline-block;
	color: var(--adena-text);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.25;
}

.woocommerce-cart .wc-block-components-product-price,
.woocommerce-cart .wc-block-cart-item__total {
	color: var(--adena-text);
	font-size: 1rem;
	font-weight: 600;
	white-space: nowrap;
}

.woocommerce-cart .wc-block-cart-item__total {
	border-right: 1px solid #e7e3df;
	border-radius: 0 18px 18px 0;
	text-align: right;
}

.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-components-product-metadata p,
.woocommerce-cart .wc-block-components-product-details {
	color: var(--adena-muted);
	font-size: 0.86rem;
	font-weight: 400;
	line-height: 1.35;
}

.woocommerce-cart .wc-block-cart-item__quantity {
	display: flex;
	align-items: center;
	gap: 0.8rem;
	margin-top: 0.8rem;
}

.woocommerce-cart .wc-block-components-quantity-selector {
	display: inline-flex;
	align-items: center;
	min-height: 42px;
	border: 1px solid #d9d5cf;
	border-radius: 8px;
	background: #fff;
	overflow: hidden;
}

.woocommerce-cart .wc-block-components-quantity-selector__input {
	order: 2;
	width: 44px !important;
	height: 40px;
	padding: 0;
	border: 0;
	background: transparent;
	font-size: 0.95rem;
	font-weight: 500;
	text-align: center;
}

.woocommerce-cart .wc-block-components-quantity-selector__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 40px;
	border: 0;
	background: transparent;
	color: var(--adena-muted);
	font: inherit;
	font-size: 1.05rem;
	cursor: pointer;
}

.woocommerce-cart .wc-block-components-quantity-selector__button--minus {
	order: 1;
}

.woocommerce-cart .wc-block-components-quantity-selector__button--plus {
	order: 3;
}

.woocommerce-cart .wc-block-cart-item__remove-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 0;
	border-radius: 999px;
	background: transparent;
	color: var(--adena-text);
	cursor: pointer;
}

.woocommerce-cart .wc-block-cart-item__remove-link:hover,
.woocommerce-cart .wc-block-cart-item__remove-link:focus {
	background: rgba(34, 34, 34, 0.06);
}

.woocommerce-cart .wc-block-components-totals-wrapper {
	padding-block: 0.85rem;
	border-bottom: 1px solid rgba(217, 213, 207, 0.82);
}

.woocommerce-cart .wc-block-components-totals-item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: start;
}

.woocommerce-cart .wc-block-components-totals-item__label {
	color: var(--adena-muted);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.35;
}

.woocommerce-cart .wc-block-components-totals-item__value {
	color: var(--adena-text);
	font-size: 1.25rem;
	font-weight: 700;
	line-height: 1.25;
	text-align: right;
	white-space: nowrap;
}

.woocommerce-cart .wc-block-cart__submit {
	margin-top: 1.2rem;
}

.woocommerce-cart .wc-block-cart__submit-button {
	width: 100%;
	min-height: 56px;
	border-radius: 8px !important;
}

.woocommerce-cart .woocommerce:has(> .belloro-cart) {
	display: block;
}

.woocommerce-cart .adena-content-layout--narrow,
.woocommerce-cart .adena-shop {
	max-width: none;
}

.belloro-cart {
	width: min(100%, 1680px);
	margin-inline: auto;
	padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 7vw, 9rem) clamp(3rem, 6vw, 6rem);
	background: #fff;
	color: var(--adena-text);
}

.belloro-cart-steps {
	display: flex;
	justify-content: center;
	margin: 0 0 clamp(2.5rem, 5vw, 4.5rem);
}

.belloro-cart-steps ol {
	display: grid;
	grid-template-columns: repeat(4, minmax(90px, 128px));
	gap: clamp(1rem, 3vw, 3rem);
	margin: 0;
	padding: 0;
	list-style: none;
}

.belloro-cart-steps li {
	position: relative;
	display: grid;
	justify-items: center;
	gap: 0.5rem;
	color: #a9a9a9;
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
}

.belloro-cart-steps li:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 28px;
	left: calc(50% + 42px);
	width: clamp(44px, 5vw, 90px);
	height: 2px;
	background: #e6e6ea;
}

.belloro-cart-steps__icon {
	display: inline-grid;
	place-items: center;
	width: 58px;
	height: 58px;
	border: 2px solid #b6b6b6;
	border-radius: 999px;
	color: #a4a4a4;
	font-size: 1.25rem;
	font-weight: 400;
}

.belloro-cart-steps__icon img {
	display: block;
	width: 24px;
	height: 24px;
	object-fit: contain;
}

.belloro-cart-steps .is-current {
	color: var(--adena-accent-dark);
}

.belloro-cart-steps .is-current .belloro-cart-steps__icon {
	border-color: var(--adena-accent-dark);
	color: var(--adena-accent-dark);
}

.belloro-cart-products__header {
	display: grid;
	grid-template-columns: 250px minmax(0, 640px) 140px 220px;
	gap: 1rem;
	align-items: end;
	padding-bottom: 1rem;
	border-bottom: 1px solid #e7e3df;
}

.belloro-cart-products__header h2 {
	grid-column: 1 / span 2;
	margin: 0;
	font-size: clamp(1.8rem, 2.4vw, 2.6rem);
	line-height: 1;
	letter-spacing: 0;
}

.belloro-cart-products__header span {
	color: var(--adena-text);
	font-size: 1rem;
	font-weight: 600;
	text-align: center;
}

.belloro-cart-products__header span:last-child {
	text-align: right;
}

.belloro-cart-items {
	display: grid;
	gap: 0;
}

.belloro-cart-item {
	display: grid;
	grid-template-columns: 250px minmax(0, 640px) 140px 220px;
	gap: clamp(1rem, 2.4vw, 2rem);
	align-items: start;
	justify-content: start;
	padding: clamp(1.5rem, 3vw, 2.5rem) 0;
	border-bottom: 1px solid #e7e3df;
}

.belloro-cart-item__details {
	min-width: 0;
}

.belloro-cart-item__media img {
	width: min(100%, 230px);
	aspect-ratio: 1.2 / 1;
	object-fit: contain;
}

.belloro-cart-item__details h3 {
	margin: 0 0 1.5rem;
	font-size: clamp(1.25rem, 1.4vw, 1.4rem);
	line-height: 1.12;
	letter-spacing: 0;
}

.belloro-cart-item__specs {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.4rem 2.4rem;
	max-width: 520px;
	margin: 0 0 2rem;
}

.belloro-cart-item__specs div {
	min-width: 0;
}

.belloro-cart-item__specs dt {
	margin: 0 0 0.2rem;
	color: #8c8c8c;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.25;
}

.belloro-cart-item__specs dd {
	margin: 0;
	color: var(--adena-text);
	font-size: 0.95rem;
	line-height: 1.45;
}

.belloro-cart-item__package {
	max-width: 850px;
}

.belloro-cart-item__price {
	padding-top: 0.3rem;
	color: var(--adena-text);
	font-size: 1.05rem;
	font-weight: 600;
	text-align: center;
}

.belloro-cart-item__price {
	display: grid;
	justify-items: center;
	gap: 0.75rem;
	min-width: 0;
	text-align: center;
}

.belloro-cart-item__price strong {
	color: var(--adena-accent-dark);
	font-size: 1.1rem;
	line-height: 1.1;
}

.belloro-cart-item__price > span {
	display: none;
}

.belloro-cart-item__remove-cell {
	display: flex;
	justify-content: flex-end;
	min-width: 0;
	padding-top: 0.3rem;
	text-align: right;
}

.woocommerce .belloro-cart-item__remove.remove,
.belloro-cart-item__remove {
	display: inline-flex !important;
	align-items: center;
	justify-content: flex-end;
	gap: 0.45rem;
	width: auto !important;
	height: auto !important;
	min-width: 0 !important;
	max-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	color: #a21c1c !important;
	font-size: 0.9rem;
	font-weight: 600;
	line-height: 1.2;
	text-align: right;
	white-space: nowrap;
	overflow-wrap: normal;
	text-indent: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

.woocommerce .belloro-cart-item__remove.remove:hover,
.woocommerce .belloro-cart-item__remove.remove:focus {
	background: transparent !important;
	color: #7f1111 !important;
}

.belloro-cart-item__remove::before {
	content: "×";
	font-size: 1.15rem;
	line-height: 1;
}

.belloro-cart-actions {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	align-items: start;
	padding: 1.6rem 0 0;
}

.belloro-cart-coupon {
	display: grid;
	grid-template-columns: minmax(220px, 1fr) auto;
	max-width: 560px;
	border: 1px solid #e0dfe4;
	border-radius: 16px;
	overflow: hidden;
}

.belloro-cart-coupon .input-text {
	min-height: 58px;
	border: 0;
	padding: 0 1.25rem;
	font-size: 1rem;
}

.belloro-cart-coupon .button,
.belloro-cart-update {
	min-height: 58px;
	border-radius: 999px;
	text-transform: none;
	letter-spacing: 0;
}

.belloro-cart-coupon .button {
	border-radius: 0;
	background: #f7f7f7;
	border-color: #f7f7f7;
	color: var(--adena-text);
}

.belloro-cart-update {
	padding-inline: 1.5rem;
	background: #a89e92;
	border-color: #a89e92;
}

.belloro-cart-update[hidden] {
	display: none !important;
}

.belloro-cart-footer {
	display: grid;
	grid-template-columns: minmax(180px, 320px) minmax(320px, 520px);
	justify-content: space-between;
	gap: clamp(2rem, 6vw, 8rem);
	padding-top: clamp(2.5rem, 5vw, 4rem);
}

.belloro-cart-continue {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: start;
	min-height: 56px;
	padding: 0.85rem 2rem;
	border: 1px solid var(--adena-accent-dark);
	border-radius: 999px;
	color: var(--adena-accent-dark);
	font-size: 1rem;
	font-weight: 600;
}

.belloro-cart-summary {
	display: grid;
	gap: 1.4rem;
}

.belloro-cart-summary__total {
	display: flex;
	justify-content: flex-end;
	gap: 0.7rem;
	margin: 0;
	font-size: 1.1rem;
	font-weight: 600;
}

.belloro-cart-summary__total strong {
	color: var(--adena-accent-dark);
}

.belloro-cart-checkout {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 58px;
	border-radius: 999px;
	background: var(--adena-accent-dark);
	color: #fff;
	font-size: 1.05rem;
	font-weight: 700;
	box-shadow: 0 12px 22px rgba(168, 158, 146, 0.26);
}

.belloro-cart-checkout:hover,
.belloro-cart-checkout:focus {
	background: #92877c;
	color: #fff;
}

/* ----------------------------------------------------------------------- *
 * 13b. Checkout: Shopify-like clarity in the Belloro visual language
 * ----------------------------------------------------------------------- */
.woocommerce-checkout .adena-content-layout--narrow,
.woocommerce-checkout .adena-shop {
	max-width: none;
}

.woocommerce-checkout .adena-shop {
	padding: 0;
	background: #fff;
}

.woocommerce-checkout .adena-shop__main,
.woocommerce-checkout .woocommerce {
	max-width: none;
}

.woocommerce-checkout .adena-page-title,
.woocommerce-checkout .entry-title,
.woocommerce-checkout .woocommerce > h1 {
	display: none;
}

.woocommerce-checkout .woocommerce:has(> .belloro-checkout) {
	display: block;
}

.belloro-checkout {
	width: min(100%, 1680px);
	margin-inline: auto;
	padding: clamp(2rem, 4vw, 4rem) clamp(1rem, 7vw, 9rem) clamp(3rem, 6vw, 6rem);
	color: var(--adena-text);
}

.belloro-checkout .belloro-cart-steps {
	margin-bottom: clamp(2.25rem, 4vw, 3.75rem);
}

.belloro-cart-steps .is-complete {
	color: var(--adena-text);
}

.belloro-cart-steps .is-complete .belloro-cart-steps__icon {
	border-color: var(--adena-text);
}

.belloro-checkout__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, 0.82fr);
	gap: clamp(2rem, 5vw, 6.5rem);
	align-items: start;
}

.belloro-checkout__details {
	min-width: 0;
}

.belloro-checkout__summary {
	position: sticky;
	top: 1.5rem;
	min-width: 0;
	padding: clamp(1.5rem, 2.8vw, 2.5rem);
	background: #f7f5f3;
	border: 1px solid #e8e3de;
	border-radius: 22px;
}

.belloro-checkout__section-heading,
.belloro-checkout__summary-heading {
	margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.belloro-checkout__section-heading p,
.belloro-checkout__summary-heading p {
	margin: 0 0 0.45rem;
	color: var(--adena-accent-dark);
	font-size: 0.76rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	line-height: 1.2;
	text-transform: uppercase;
}

.belloro-checkout__section-heading h1,
.belloro-checkout__summary-heading h2 {
	margin: 0;
	font-size: clamp(2rem, 3vw, 2.8rem);
	line-height: 1.05;
}

.belloro-checkout__summary-heading h2 {
	font-size: clamp(1.7rem, 2.3vw, 2.2rem);
}

.belloro-checkout #customer_details,
.belloro-checkout #customer_details .col-1,
.belloro-checkout #customer_details .col-2 {
	float: none;
	width: 100%;
}

.belloro-checkout #customer_details {
	display: grid;
	gap: clamp(2rem, 4vw, 3.5rem);
}

.belloro-checkout .woocommerce-billing-fields > h3,
.belloro-checkout .woocommerce-shipping-fields > h3,
.belloro-checkout .woocommerce-additional-fields > h3 {
	margin: 0 0 1.25rem;
	padding-bottom: 0.9rem;
	border-bottom: 1px solid var(--adena-border);
	font-family: var(--adena-font-body);
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0;
}

.belloro-checkout .woocommerce-billing-fields__field-wrapper,
.belloro-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem 0.9rem;
}

.belloro-checkout .form-row {
	float: none;
	width: 100%;
	margin: 0;
	padding: 0;
}

.belloro-checkout .form-row-wide,
.belloro-checkout #billing_country_field,
.belloro-checkout #shipping_country_field,
.belloro-checkout #billing_address_1_field,
.belloro-checkout #billing_address_2_field,
.belloro-checkout #shipping_address_1_field,
.belloro-checkout #shipping_address_2_field {
	grid-column: 1 / -1;
}

.belloro-checkout .form-row label {
	margin-bottom: 0.42rem;
	color: #494540;
	font-size: 0.83rem;
	font-weight: 600;
	line-height: 1.3;
}

.belloro-checkout .input-text,
.belloro-checkout select,
.belloro-checkout .select2-container .select2-selection--single {
	width: 100%;
	min-height: 54px;
	padding: 0.78rem 0.95rem;
	border: 1px solid #dcd6cf;
	border-radius: 12px;
	background: #fff;
	color: var(--adena-text);
	font-family: var(--adena-font-body);
	font-size: 1rem;
	line-height: 1.35;
	box-shadow: none;
	transition: border-color 0.2s var(--adena-ease), box-shadow 0.2s var(--adena-ease);
}

.belloro-checkout textarea.input-text {
	min-height: 120px;
	resize: vertical;
}

.belloro-checkout .input-text:focus,
.belloro-checkout select:focus,
.belloro-checkout .select2-container--focus .select2-selection--single,
.belloro-checkout .select2-container--open .select2-selection--single {
	outline: 0;
	border-color: var(--adena-accent-dark);
	box-shadow: 0 0 0 3px rgba(168, 158, 146, 0.16);
}

.belloro-checkout .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
}

.belloro-checkout .select2-container .select2-selection--single .select2-selection__rendered {
	padding: 0;
	color: var(--adena-text);
	line-height: 1.35;
}

.belloro-checkout .select2-container .select2-selection--single .select2-selection__arrow {
	top: 50%;
	right: 0.8rem;
	transform: translateY(-50%);
}

.belloro-checkout .woocommerce-account-fields,
.belloro-checkout .woocommerce-shipping-fields,
.belloro-checkout .woocommerce-additional-fields {
	margin-top: 1.75rem;
}

.belloro-checkout .woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: flex-start;
	gap: 0.65rem;
	font-weight: 600;
}

.belloro-checkout .woocommerce-form__label-for-checkbox input {
	flex: 0 0 auto;
	margin-top: 0.35rem;
}

.woocommerce-checkout .belloro-checkout #order_review {
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.belloro-checkout .woocommerce-checkout-review-order-table {
	margin: 0 0 1.5rem;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.belloro-checkout .woocommerce-checkout-review-order-table th,
.belloro-checkout .woocommerce-checkout-review-order-table td {
	padding: 1rem 0;
	border: 0;
	border-bottom: 1px solid #e1dcd7;
	background: transparent;
}

.belloro-checkout .woocommerce-checkout-review-order-table td.product-name {
	width: 72%;
	padding-right: 1rem;
}

.belloro-checkout .woocommerce-checkout-review-order-table td.product-total,
.belloro-checkout .woocommerce-checkout-review-order-table tfoot td {
	font-weight: 600;
	text-align: right;
	white-space: nowrap;
}

.belloro-checkout-product {
	display: grid;
	grid-template-columns: 76px minmax(0, 1fr);
	gap: 1rem;
	align-items: center;
}

.belloro-checkout-product__media {
	position: relative;
	display: block;
}

.belloro-checkout-product__media img {
	width: 76px;
	height: 76px;
	object-fit: contain;
	background: #fff;
	border: 1px solid #e5e0db;
	border-radius: 14px;
}

.belloro-checkout-product__quantity {
	position: absolute;
	top: -7px;
	right: -7px;
	display: grid;
	place-items: center;
	min-width: 24px;
	height: 24px;
	padding-inline: 0.35rem;
	border-radius: 999px;
	background: var(--adena-accent-dark);
	color: #fff;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1;
}

.belloro-checkout-product__content,
.belloro-checkout-product__name {
	display: block;
}

.belloro-checkout-product__name {
	font-weight: 600;
	line-height: 1.35;
}

.belloro-checkout-product .variation {
	margin: 0.35rem 0 0;
	color: var(--adena-muted);
	font-size: 0.8rem;
	line-height: 1.4;
}

.belloro-checkout-product .variation dt,
.belloro-checkout-product .variation dd,
.belloro-checkout-product .variation p {
	display: inline;
	float: none;
	margin: 0;
}

.belloro-checkout-product .variation dd::after {
	content: " · ";
}

.belloro-checkout-product .variation dd:last-child::after {
	display: none;
}

.belloro-checkout .woocommerce-checkout-review-order-table tfoot th {
	color: #57514b;
	font-size: 0.92rem;
	font-weight: 500;
}

.belloro-checkout .woocommerce-checkout-review-order-table .order-total th,
.belloro-checkout .woocommerce-checkout-review-order-table .order-total td {
	padding-top: 1.25rem;
	border-bottom: 0;
	color: var(--adena-text);
	font-size: 1.12rem;
	font-weight: 700;
}

.belloro-checkout .woocommerce-checkout-review-order-table .order-total .amount {
	color: var(--adena-accent-dark);
	font-size: 1.3rem;
}

.belloro-checkout #payment {
	margin-top: 1.5rem;
	border: 1px solid #e1dcd7;
	border-radius: 16px;
	background: #fff;
	overflow: hidden;
}

.belloro-checkout #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.belloro-checkout #payment ul.payment_methods > li {
	margin: 0;
	padding: 1rem 1.1rem;
	border-bottom: 1px solid #ece8e4;
}

.belloro-checkout #payment ul.payment_methods > li:last-child {
	border-bottom: 0;
}

.belloro-checkout #payment div.payment_box {
	margin: 0.8rem 0 0;
	padding: 0.9rem;
	border-radius: 10px;
	background: #f7f5f3;
	color: var(--adena-muted);
	font-size: 0.88rem;
}

.belloro-checkout #payment div.payment_box::before {
	display: none;
}

.belloro-checkout #payment .place-order {
	margin: 0;
	padding: 1.25rem 1.1rem;
	background: #fff;
}

.belloro-checkout #place_order {
	width: 100%;
	min-height: 58px;
	padding: 0.9rem 1.5rem;
	border: 0;
	border-radius: 999px;
	background: var(--adena-accent-dark);
	color: #fff;
	font-family: var(--adena-font-body);
	font-size: 1.03rem;
	font-weight: 700;
	box-shadow: 0 12px 22px rgba(168, 158, 146, 0.26);
	transition: background 0.2s var(--adena-ease), transform 0.2s var(--adena-ease), box-shadow 0.2s var(--adena-ease);
}

.belloro-checkout #place_order:hover,
.belloro-checkout #place_order:focus {
	background: #92877c;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 15px 26px rgba(146, 135, 124, 0.3);
}

.woocommerce-checkout .woocommerce-form-coupon-toggle,
.woocommerce-checkout .woocommerce-form-login-toggle,
.woocommerce-checkout .woocommerce-NoticeGroup,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message,
.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
	width: min(calc(100% - 2rem), 1400px);
	margin-right: auto;
	margin-left: auto;
}

.woocommerce-checkout form.checkout_coupon,
.woocommerce-checkout form.login {
	margin-top: 1rem;
	margin-bottom: 0;
	border-radius: 16px;
}

@media (max-width: 1060px) {
	.belloro-checkout__layout {
		grid-template-columns: minmax(0, 1fr) minmax(330px, 0.88fr);
		gap: 2rem;
	}
}

@media (max-width: 860px) {
	.belloro-checkout__layout {
		grid-template-columns: 1fr;
	}

	.belloro-checkout__summary {
		position: static;
	}
}

@media (max-width: 600px) {
	.belloro-checkout {
		padding: 1.75rem 1rem 3rem;
	}

	.belloro-checkout .belloro-cart-steps {
		margin-bottom: 2rem;
	}

	.belloro-checkout__layout {
		gap: 2.5rem;
	}

	.belloro-checkout__summary {
		padding: 1.25rem;
		border-radius: 18px;
	}

	.belloro-checkout .woocommerce-billing-fields__field-wrapper,
	.belloro-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	.belloro-checkout .form-row,
	.belloro-checkout .form-row-wide {
		grid-column: 1;
	}

	.belloro-checkout-product {
		grid-template-columns: 64px minmax(0, 1fr);
		gap: 0.85rem;
	}

	.belloro-checkout-product__media img {
		width: 64px;
		height: 64px;
		border-radius: 12px;
	}

	.belloro-checkout .woocommerce-checkout-review-order-table td.product-name {
		width: auto;
		padding-right: 0.65rem;
	}

	.belloro-checkout .woocommerce-checkout-review-order-table td.product-total {
		font-size: 0.9rem;
	}
}

/* Order summary rebuild: use grid rows instead of WooCommerce's fragile
   responsive table calculations. */
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table,
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tbody,
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tfoot {
	display: block !important;
	width: 100% !important;
	max-width: 100% !important;
	table-layout: auto !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table {
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tr {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
	width: 100%;
	min-width: 0;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table td {
	display: block !important;
	float: none !important;
	clear: none !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: none !important;
	margin: 0 !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tbody tr.cart_item {
	grid-template-columns: minmax(0, 1fr) 112px;
	gap: 1rem;
	align-items: center;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tbody td.product-name {
	padding: 1.15rem 0 !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tbody td.product-total {
	padding: 1.15rem 0 !important;
	text-align: right !important;
	white-space: nowrap;
}

body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product {
	grid-template-columns: 82px minmax(0, 1fr) !important;
	gap: 0.9rem;
	width: 100% !important;
}

body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product__media img {
	width: 82px;
	height: 82px;
}

body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product__content,
body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product__name,
body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation,
body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation dt,
body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation dd,
body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation p {
	float: none !important;
	clear: none !important;
	width: auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
	hyphens: none;
}

body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product__name {
	display: block !important;
	font-size: 0.98rem;
	line-height: 1.35;
}

body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation {
	display: grid !important;
	grid-template-columns: minmax(92px, max-content) minmax(0, 1fr);
	gap: 0.2rem 0.45rem;
}

body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation dt,
body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation dd,
body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation p {
	display: block !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tfoot tr {
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 1rem;
	border-bottom: 1px solid rgba(168, 158, 146, 0.28);
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tfoot td {
	padding: 1rem 0 !important;
	border: 0 !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tfoot td {
	text-align: right !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
	grid-template-columns: 92px minmax(0, 1fr);
	align-items: start;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals td {
	width: 100% !important;
	white-space: normal;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-shipping-methods,
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-shipping-methods li,
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-shipping-methods label {
	width: 100% !important;
	max-width: 100% !important;
	min-width: 0 !important;
	word-break: normal !important;
	overflow-wrap: normal !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-shipping-methods li {
	grid-template-columns: 18px minmax(0, 1fr);
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-shipping-totals a.button,
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-shipping-totals td > a,
body.woocommerce-checkout .belloro-checkout__summary .woocommerce-shipping-totals td > * > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin-top: 0.75rem;
	padding: 0.7rem 1.2rem;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--adena-accent-dark) !important;
	color: #fff !important;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	box-shadow: 0 10px 22px rgba(168, 158, 146, 0.2) !important;
}

body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tr.order-total {
	border-bottom: 0;
}

@media (max-width: 600px) {
	body.woocommerce-checkout .belloro-checkout__summary .woocommerce-checkout-review-order-table tbody tr.cart_item {
		grid-template-columns: minmax(0, 1fr) 78px;
		gap: 0.65rem;
	}

	body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product {
		grid-template-columns: 58px minmax(0, 1fr) !important;
	}

	body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product__media img {
		width: 58px;
		height: 58px;
	}

	body.woocommerce-checkout .belloro-checkout__summary .belloro-checkout-product .variation {
		grid-template-columns: 1fr;
		gap: 0.08rem;
	}
}

/* ----------------------------------------------------------------------- *
 * 13c. Jubiler location template
 * ----------------------------------------------------------------------- */
.belloro-location-page {
	/* Stay inside the global Belloro palette instead of introducing a
	   page-specific brown/cream colour system. */
	--location-ink: var(--adena-text);
	--location-espresso: var(--adena-text);
	--location-taupe: var(--adena-accent-dark);
	--location-champagne: var(--adena-accent);
	--location-cream: var(--adena-bg);
	--location-paper: var(--adena-surface);
	background: var(--location-paper);
	color: var(--location-ink);
	overflow: clip;
}

.belloro-location-container {
	width: 100%;
	max-width: 1440px;
	margin-inline: auto;
	padding-inline: clamp(1.25rem, 4.2vw, 4.5rem);
}

.belloro-location-hero {
	position: relative;
	min-height: clamp(620px, 78vh, 860px);
	background: var(--location-espresso);
	overflow: hidden;
}

.belloro-location-hero__image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center 52%;
	transform: scale(1.015);
}

.belloro-location-hero__overlay {
	position: absolute;
	inset: 0;
	background:
		linear-gradient(90deg, rgba(24, 24, 24, 0.84) 0%, rgba(24, 24, 24, 0.56) 44%, rgba(24, 24, 24, 0.08) 76%),
		linear-gradient(0deg, rgba(24, 24, 24, 0.54) 0%, transparent 42%);
}

.belloro-location-hero__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: inherit;
	padding-block: clamp(7rem, 12vw, 11rem) 3rem;
}

.belloro-location-hero__content {
	max-width: 720px;
}

.belloro-location-hero h1 {
	max-width: 700px;
	margin: 0 0 1.3rem;
	color: #fff;
	font-family: var(--adena-font-heading);
	font-size: clamp(4rem, 7.3vw, 7.8rem);
	font-weight: 400;
	line-height: 0.86;
	letter-spacing: -0.035em;
	text-wrap: balance;
	text-shadow: 0 12px 44px rgba(0, 0, 0, 0.18);
}

.belloro-location-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	margin: 0 0 1.4rem;
	color: rgba(255, 255, 255, 0.78);
	font-family: var(--adena-font-body);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.19em;
	line-height: 1;
	text-transform: uppercase;
}

.belloro-location-eyebrow::before {
	width: 28px;
	height: 1px;
	background: currentColor;
	content: "";
}

.belloro-location-eyebrow--dark {
	color: var(--location-taupe);
}

.belloro-location-hero__lead {
	max-width: 540px;
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-family: var(--adena-font-body);
	font-size: clamp(1.1rem, 1.5vw, 1.35rem);
	font-weight: 300;
	line-height: 1.55;
}

.belloro-location-hero__meta {
	position: absolute;
	right: clamp(1.25rem, 4.2vw, 4.5rem);
	bottom: 3.1rem;
	display: flex;
	gap: 2rem;
	color: rgba(255, 255, 255, 0.72);
	font-family: var(--adena-font-body);
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.belloro-location-intro {
	padding: clamp(6.5rem, 10vw, 10rem) 0;
}

.belloro-location-intro__grid {
	display: grid;
	grid-template-columns: minmax(0, 0.78fr) minmax(480px, 1fr);
	gap: clamp(3rem, 7vw, 8rem);
	align-items: start;
}

.belloro-location-intro__copy {
	padding-top: clamp(1rem, 4vw, 4rem);
}

.belloro-location-intro h2 {
	margin: 0;
	font-family: var(--adena-font-heading);
	font-weight: 400;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.belloro-location-intro h2 {
	max-width: 660px;
	color: var(--location-espresso);
	font-size: clamp(2.9rem, 5vw, 5.3rem);
	line-height: 0.98;
}

.belloro-location-intro__text {
	max-width: 610px;
	margin-top: 2.25rem;
}

.belloro-location-intro__text p,
.belloro-location-content__block p {
	margin: 0;
	font-family: var(--adena-font-body);
	font-size: clamp(1rem, 1.15vw, 1.16rem);
	font-weight: 300;
	line-height: 1.75;
}

.belloro-location-intro__text p + p {
	margin-top: 1rem;
}

.belloro-location-address {
	display: inline-flex;
	align-items: center;
	gap: 0.85rem;
	margin-top: 2rem;
	color: var(--location-espresso);
	font-size: 0.94rem;
	font-weight: 500;
	line-height: 1.4;
	text-decoration: none;
}

.belloro-location-address__icon {
	display: grid;
	place-items: center;
	width: 42px;
	height: 42px;
	border-radius: 50%;
	background: rgba(194, 185, 175, 0.28);
	color: var(--location-taupe);
	transition: transform 700ms cubic-bezier(0.32, 0.72, 0, 1);
}

.belloro-location-address:hover .belloro-location-address__icon,
.belloro-location-address:focus-visible .belloro-location-address__icon {
	transform: translateY(-3px);
}

.belloro-location-address__icon svg {
	width: 19px;
	height: 19px;
	fill: none;
	stroke: currentColor;
	stroke-linecap: round;
	stroke-linejoin: round;
	stroke-width: 1.45;
}

.belloro-location-intro__visual {
	position: relative;
}

.belloro-location-intro__media-shell {
	padding: 0.55rem;
	border-radius: 2.5rem;
	background: rgba(194, 185, 175, 0.22);
	box-shadow: inset 0 0 0 1px rgba(168, 158, 146, 0.14);
}

.belloro-location-intro__media {
	margin: 0;
	border-radius: calc(2.5rem - 0.45rem);
	background: var(--adena-border);
	overflow: hidden;
	box-shadow: inset 0 1px 1px rgba(255, 255, 255, 0.5);
}

.belloro-location-intro__media img {
	display: block;
	width: 100%;
	min-height: 460px;
	aspect-ratio: 4 / 3.35;
	object-fit: cover;
	object-position: center;
	transition: transform 1200ms cubic-bezier(0.32, 0.72, 0, 1);
}

.belloro-location-intro__visual:hover .belloro-location-intro__media img {
	transform: scale(1.025);
}

.belloro-location-visit {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	margin-top: clamp(1rem, 2vw, 2rem);
	border-top: 1px solid var(--adena-border);
	border-bottom: 1px solid var(--adena-border);
}

.belloro-location-visit__item {
	padding: clamp(2rem, 3.5vw, 3.4rem);
}

.belloro-location-visit__item + .belloro-location-visit__item {
	border-left: 1px solid var(--adena-border);
}

.belloro-location-visit__label {
	display: block;
	margin-bottom: 1.25rem;
	color: var(--location-taupe);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
}

.belloro-location-visit p {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	max-width: 430px;
	margin: 0.35rem 0;
	font-size: 0.95rem;
}

.belloro-location-visit p strong {
	font-weight: 500;
}

.belloro-location-visit a {
	display: block;
	width: max-content;
	color: var(--location-espresso);
	font-family: var(--adena-font-heading);
	font-size: clamp(2rem, 3vw, 3.25rem);
	line-height: 1;
	text-decoration: none;
}

.belloro-location-visit small {
	display: block;
	margin-top: 0.85rem;
	color: var(--adena-muted);
	font-weight: 300;
}

.belloro-location-content {
	padding: clamp(6.5rem, 10vw, 10rem) 0;
	background: var(--location-cream);
}

.belloro-location-content__list {
	border-top: 1px solid var(--adena-border);
}

.belloro-location-content__block {
	padding: clamp(2.5rem, 5vw, 4.8rem) 0;
	border-bottom: 1px solid var(--adena-border);
}

.belloro-location-content__block > div {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.35rem;
}

.belloro-location-content__block h2,
.belloro-location-content__block h3 {
	margin: 0;
	color: var(--location-espresso);
	font-family: var(--adena-font-heading);
	font-size: clamp(1.2rem, 2.22vw, 2.4rem);
	font-weight: 400;
	letter-spacing: -0.025em;
	line-height: 1;
}

.belloro-location-content__block p {
	max-width: 1000px;
	color: var(--adena-muted);
	font-size: clamp(1.125rem, 1.3vw, 1.5rem);
	line-height: 1.7;
}

.belloro-location-page [data-location-reveal] {
	opacity: 0;
	transform: translateY(46px);
	transition: opacity 900ms cubic-bezier(0.32, 0.72, 0, 1), transform 900ms cubic-bezier(0.32, 0.72, 0, 1);
}

.belloro-location-page [data-location-reveal].is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 980px) {
	.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form),
	.woocommerce-cart .wc-block-cart {
		grid-template-columns: 1fr !important;
	}

	.belloro-cart-products__header {
		grid-template-columns: 1fr;
	}

	.belloro-cart-products__header span {
		display: none;
	}

	.belloro-cart-item {
		grid-template-columns: 140px minmax(0, 1fr);
	}

	.belloro-cart-item__details {
		max-width: none;
	}

	.belloro-cart-item__price {
		display: grid;
		grid-template-columns: 92px minmax(0, 1fr);
		grid-column: 2;
		align-items: center;
		gap: 1rem;
		padding-top: 0;
		text-align: left;
	}

	.belloro-cart-item__price::before {
		content: attr(data-label);
		color: #8c8c8c;
		font-size: 0.9rem;
		font-weight: 600;
	}

	.belloro-cart-item__price {
		justify-items: start;
	}

	.belloro-cart-item__price strong {
		grid-column: 2;
	}

	.belloro-cart-item__remove-cell {
		grid-column: 2;
		justify-content: flex-start;
		padding-top: 0;
	}

	.belloro-cart-footer {
		grid-template-columns: 1fr;
	}

	.belloro-cart-summary {
		justify-self: stretch;
	}
}

@media (max-width: 760px) {
	.woocommerce-cart .adena-shop {
		padding-block: 2.25rem;
	}

	.belloro-cart {
		padding-inline: 1rem;
	}

	.belloro-cart-steps ol {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		width: 100%;
	}

	.belloro-cart-steps li:not(:last-child)::after {
		display: none;
	}

	.belloro-cart-steps__icon {
		width: 48px;
		height: 48px;
	}

	.belloro-cart-item {
		grid-template-columns: 1fr;
	}

	.belloro-cart-item__media,
	.belloro-cart-item__details,
	.belloro-cart-item__price,
	.belloro-cart-item__remove-cell {
		grid-column: 1;
	}

	.belloro-cart-item__media img {
		width: 180px;
		margin-inline: auto;
	}

	.belloro-cart-item__specs {
		grid-template-columns: 1fr;
		gap: 1rem;
	}

	.belloro-cart-actions,
	.belloro-cart-coupon {
		grid-template-columns: 1fr;
	}

	.belloro-cart-coupon .button {
		border-radius: 999px;
	}

	.woocommerce-cart .woocommerce-cart-form,
	.woocommerce-cart .cart-collaterals .cart_totals,
	.woocommerce-cart .wc-block-cart__main,
	.woocommerce-cart .wc-block-cart__sidebar {
		padding: 1rem !important;
		border-radius: 18px;
	}
	.woocommerce-cart table.cart td.product-thumbnail {
		width: 88px;
	}
	.woocommerce-cart table.cart td.product-thumbnail img {
		width: 72px;
		height: 72px;
	}
	.woocommerce-cart table.cart .actions .coupon {
		display: grid;
		max-width: none;
	}
	.woocommerce-cart table.shop_table_responsive tr.cart_item td {
		padding: 0.75rem;
	}
	.woocommerce-cart .wc-block-cart-items,
	.woocommerce-cart .wc-block-cart-items tbody,
	.woocommerce-cart .wc-block-cart-items__row,
	.woocommerce-cart .wc-block-cart-items__row td {
		display: block;
		width: 100%;
	}
	.woocommerce-cart .wc-block-cart-items thead {
		display: none;
	}
	.woocommerce-cart .wc-block-cart-items__row td {
		border-inline: 1px solid #e7e3df;
		border-bottom: 0;
	}
	.woocommerce-cart .wc-block-cart-items__row td:first-child {
		border-radius: 18px 18px 0 0;
	}
	.woocommerce-cart .wc-block-cart-items__row td:last-child {
		border-bottom: 1px solid #e7e3df;
		border-radius: 0 0 18px 18px;
		text-align: left;
	}
}

@media (max-width: 900px) {
	.belloro-location-hero {
		min-height: 720px;
	}

	.belloro-location-hero__overlay {
		background: linear-gradient(90deg, rgba(24, 24, 24, 0.8), rgba(24, 24, 24, 0.32)), linear-gradient(0deg, rgba(24, 24, 24, 0.64), transparent 54%);
	}

	.belloro-location-intro__grid {
		grid-template-columns: 1fr;
		gap: 4rem;
	}

	.belloro-location-intro__copy {
		padding-top: 0;
	}

	.belloro-location-intro__visual {
		width: 100%;
	}

	.belloro-location-visit {
		grid-column: 1;
		margin-top: 0;
	}

}

@media (max-width: 560px) {
	.belloro-location-hero {
		min-height: 670px;
	}

	.belloro-location-hero__image {
		object-position: 62% center;
	}

	.belloro-location-hero__overlay {
		background: linear-gradient(90deg, rgba(24, 24, 24, 0.82), rgba(24, 24, 24, 0.3)), linear-gradient(0deg, rgba(24, 24, 24, 0.76), transparent 62%);
	}

	.belloro-location-hero h1 {
		font-size: clamp(3.6rem, 17vw, 5.2rem);
	}

	.belloro-location-hero__meta {
		position: static;
		flex-direction: column;
		gap: 0.4rem;
		margin-top: 3rem;
	}

	.belloro-location-intro,
	.belloro-location-content {
		padding-block: 5.5rem;
	}

	.belloro-location-intro h2 {
		font-size: clamp(2.75rem, 13vw, 4.2rem);
	}

	.belloro-location-intro__media img {
		min-height: 370px;
		aspect-ratio: 4 / 4.6;
	}

	.belloro-location-visit {
		grid-template-columns: 1fr;
		margin-top: 1.5rem;
	}

	.belloro-location-visit__item {
		padding-inline: 0;
	}

	.belloro-location-visit__item + .belloro-location-visit__item {
		border-top: 1px solid var(--adena-border);
		border-left: 0;
	}

	.belloro-location-content__block h2,
	.belloro-location-content__block h3 {
		font-size: 1.41rem;
	}

	.belloro-location-page [data-location-reveal] {
		transform: translateY(30px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.belloro-location-page [data-location-reveal] {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

.woocommerce form .form-row label {
	display: block;
	margin-bottom: 0.35rem;
}

.woocommerce-checkout #payment {
	background: var(--adena-bg);
	border-radius: var(--adena-radius);
}

.woocommerce-checkout #payment ul.payment_methods {
	border-bottom: 1px solid var(--adena-border);
}

.required { color: #c0392b; }

/* Checkout palette lock: keep late WooCommerce/plugin rules from reintroducing
   default greys, blues and harsh validation colours. */
body.woocommerce-checkout {
	--adena-bg: #ffffff;
	--adena-surface: #ffffff;
	--adena-accent: #bbb2a8;
	--adena-accent-dark: #a89e92;
	--adena-text: #392b24;
	--adena-muted: #7f7168;
	--adena-border: #d6d1cb;
	--belloro-checkout-soft: #fbfaf8;
	--belloro-checkout-tint: #f3f0ed;
	--belloro-checkout-danger: #8b5148;
	background: #fff;
}

body.woocommerce-checkout .adena-main,
body.woocommerce-checkout .adena-shop,
body.woocommerce-checkout .adena-shop__main {
	background: #fff;
}

body.woocommerce-checkout a,
body.woocommerce-checkout .woocommerce-info a,
body.woocommerce-checkout .woocommerce-message a,
body.woocommerce-checkout .woocommerce-privacy-policy-text a {
	color: var(--adena-accent-dark);
	text-decoration-color: rgba(168, 158, 146, 0.45);
}

body.woocommerce-checkout a:hover,
body.woocommerce-checkout a:focus {
	color: #796b62;
}

body.woocommerce-checkout .woocommerce-info,
body.woocommerce-checkout .woocommerce-message,
body.woocommerce-checkout .woocommerce-error {
	background: var(--belloro-checkout-soft);
	border-color: var(--adena-border);
	border-left-color: var(--adena-accent-dark);
	border-radius: 14px;
	color: var(--adena-text);
	box-shadow: none;
}

body.woocommerce-checkout .woocommerce-error {
	border-left-color: var(--belloro-checkout-danger);
}

body.woocommerce-checkout .woocommerce-info::before,
body.woocommerce-checkout .woocommerce-message::before {
	color: var(--adena-accent-dark);
}

body.woocommerce-checkout .woocommerce-error::before,
body.woocommerce-checkout .required {
	color: var(--belloro-checkout-danger);
}

body.woocommerce-checkout input[type="checkbox"],
body.woocommerce-checkout input[type="radio"] {
	accent-color: var(--adena-accent-dark);
}

body.woocommerce-checkout .form-row.woocommerce-invalid .input-text,
body.woocommerce-checkout .form-row.woocommerce-invalid select,
body.woocommerce-checkout .form-row.woocommerce-invalid .select2-selection {
	border-color: var(--belloro-checkout-danger);
	box-shadow: 0 0 0 3px rgba(139, 81, 72, 0.1);
}

body.woocommerce-checkout .form-row.woocommerce-validated .input-text,
body.woocommerce-checkout .form-row.woocommerce-validated select,
body.woocommerce-checkout .form-row.woocommerce-validated .select2-selection {
	border-color: var(--adena-accent-dark);
}

body.woocommerce-checkout .select2-dropdown {
	border-color: var(--adena-border);
	border-radius: 12px;
	background: #fff;
	overflow: hidden;
}

body.woocommerce-checkout .select2-search--dropdown {
	padding: 0.65rem;
	background: var(--belloro-checkout-soft);
}

body.woocommerce-checkout .select2-search--dropdown .select2-search__field {
	min-height: 42px;
	border: 1px solid var(--adena-border);
	border-radius: 9px;
	color: var(--adena-text);
}

body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[aria-selected],
body.woocommerce-checkout .select2-container--default .select2-results__option--highlighted[data-selected] {
	background: var(--adena-accent-dark);
	color: #fff;
}

body.woocommerce-checkout .select2-container--default .select2-results__option[aria-selected="true"],
body.woocommerce-checkout .select2-container--default .select2-results__option[data-selected="true"] {
	background: var(--belloro-checkout-tint);
	color: var(--adena-text);
}

body.woocommerce-checkout .woocommerce-checkout .blockUI.blockOverlay {
	background: rgba(251, 250, 248, 0.78) !important;
	opacity: 1 !important;
}

body.woocommerce-checkout .belloro-checkout__summary {
	background: var(--belloro-checkout-soft);
	border-color: rgba(168, 158, 146, 0.34);
}

body.woocommerce-checkout .belloro-checkout .input-text,
body.woocommerce-checkout .belloro-checkout select,
body.woocommerce-checkout .belloro-checkout .select2-selection--single {
	border-color: var(--adena-border);
	background: #fff;
	color: var(--adena-text);
}

body.woocommerce-checkout .belloro-checkout #payment {
	background: #fff;
	border-color: rgba(168, 158, 146, 0.38);
	border-radius: 16px;
}

body.woocommerce-checkout .belloro-checkout #payment ul.payment_methods {
	border-bottom: 0;
}

body.woocommerce-checkout .belloro-checkout #payment div.payment_box {
	background: var(--belloro-checkout-tint);
	color: var(--adena-muted);
}

body.woocommerce-checkout .woocommerce-form-coupon,
body.woocommerce-checkout .woocommerce-form-login {
	background: var(--belloro-checkout-soft);
	border-color: var(--adena-border);
}

body.woocommerce-checkout .woocommerce-form-coupon .button,
body.woocommerce-checkout .woocommerce-form-login .button {
	min-height: 50px;
	padding: 0.75rem 1.4rem;
	border: 0;
	border-radius: 999px;
	background: var(--adena-accent-dark);
	color: #fff;
	font-family: var(--adena-font-body);
	font-weight: 600;
}

body.woocommerce-checkout .woocommerce-form-coupon .button:hover,
body.woocommerce-checkout .woocommerce-form-coupon .button:focus,
body.woocommerce-checkout .woocommerce-form-login .button:hover,
body.woocommerce-checkout .woocommerce-form-login .button:focus {
	background: #92877c;
	color: #fff;
}

/* WooCommerce Checkout Block controls. */
body.woocommerce-checkout .wc-block-components-text-input input,
body.woocommerce-checkout .wc-block-components-combobox-control input,
body.woocommerce-checkout textarea.wc-block-components-textarea {
	border-color: var(--adena-border) !important;
	border-radius: 12px !important;
	background: #fff;
}

body.woocommerce-checkout .wc-block-components-text-input input:focus,
body.woocommerce-checkout .wc-block-components-combobox-control input:focus,
body.woocommerce-checkout textarea.wc-block-components-textarea:focus {
	border-color: var(--adena-accent-dark) !important;
	box-shadow: 0 0 0 3px rgba(168, 158, 146, 0.16) !important;
	outline: 0;
}

body.woocommerce-checkout:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link) {
	border-color: var(--adena-accent-dark) !important;
	border-radius: 999px;
	background: var(--adena-accent-dark) !important;
	color: #fff !important;
}

body.woocommerce-checkout:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):hover,
body.woocommerce-checkout:not(.woocommerce-block-theme-has-button-styles) .wc-block-components-button:not(.is-link):focus {
	border-color: #92877c !important;
	background: #92877c !important;
	color: #fff !important;
}

body.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper,
body.woocommerce-checkout .woocommerce-privacy-policy-text {
	color: var(--adena-muted);
}

/* Order received: editorial confirmation experience. */
.woocommerce-order-received .adena-shop,
.woocommerce-order-received .adena-shop__main,
.woocommerce-order-received .woocommerce {
	max-width: none;
	padding: 0;
}

.belloro-order-received {
	width: 100%;
	padding: clamp(2.5rem, 5vw, 5rem) 3rem clamp(4rem, 7vw, 6rem);
	background: #fff;
}

.belloro-order-received__shell {
	width: min(100%, 1180px);
	margin-inline: auto;
	padding: 0;
	border: 1px solid #e8e3de;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(57, 43, 36, 0.045);
	animation: belloro-order-received-in 0.65s cubic-bezier(0.32, 0.72, 0, 1) both;
	overflow: hidden;
}

.belloro-order-received__panel {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(330px, 0.9fr);
	min-height: 0;
	border-radius: 0;
	background: #fff;
	overflow: hidden;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

.belloro-order-received__hero {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding: clamp(2.75rem, 5vw, 5rem);
	border-radius: 0;
	background: #fff;
}

.belloro-order-received__hero--center {
	align-items: center;
	text-align: center;
}

.belloro-order-received__shell--failed {
	max-width: 920px;
}

.belloro-order-received__shell--failed .belloro-order-received__hero {
	min-height: 420px;
}

.belloro-order-received__status-icon {
	display: grid;
	place-items: center;
	width: 56px;
	height: 56px;
	margin-bottom: 1.5rem;
	border-radius: 50%;
	border: 1px solid #e8e3de;
	background: #f7f5f3;
	color: var(--adena-accent-dark);
	box-shadow: none;
}

.belloro-order-received__shell--failed .belloro-order-received__status-icon {
	background: #f7ece9;
	color: var(--belloro-checkout-danger, #8b5148);
}

.belloro-order-received__eyebrow,
.belloro-order-received__overview-kicker {
	margin: 0 0 1rem;
	color: var(--adena-accent-dark);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	line-height: 1.2;
	text-transform: uppercase;
}

.belloro-order-received__hero h1 {
	max-width: 22ch;
	margin: 0;
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: clamp(2rem, 3vw, 2.8rem);
	font-weight: 400;
	line-height: 1.05;
	letter-spacing: 0;
	text-wrap: balance;
}

.belloro-order-received__hero--center h1,
.belloro-order-received__shell--failed h1 {
	max-width: 15ch;
}

.belloro-order-received__lead {
	max-width: 48ch;
	margin: 1.25rem 0 0;
	color: var(--adena-muted);
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.7;
}

.belloro-order-received__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	margin-top: 2rem;
	padding: 0.8rem 1.75rem;
	border-radius: 999px;
	background: var(--adena-accent-dark);
	color: #fff !important;
	font-size: 0.92rem;
	font-weight: 500;
	transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1), background-color 0.42s cubic-bezier(0.32, 0.72, 0, 1);
}

.belloro-order-received__button:hover,
.belloro-order-received__button:focus {
	background: #92877c;
	color: #fff !important;
	transform: translateY(-2px);
}

.belloro-order-received__button:active {
	transform: scale(0.98);
}

.belloro-order-received__actions {
	display: flex;
	align-items: center;
	gap: 1.25rem;
	flex-wrap: wrap;
}

.belloro-order-received__secondary {
	margin-top: 2.25rem;
	color: var(--adena-muted) !important;
	text-decoration: underline;
	text-decoration-color: rgba(127, 113, 104, 0.35);
	text-underline-offset: 5px;
}

.belloro-order-received__overview {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0;
	padding: clamp(2.25rem, 4vw, 3.5rem);
	border-left: 1px solid #e8e3de;
	border-radius: 0;
	background: #fbfaf8;
}

.belloro-order-received__overview h2 {
	margin: 0 0 2rem;
	font-family: var(--adena-font-heading);
	font-size: clamp(1.65rem, 2.5vw, 2.35rem);
	font-weight: 400;
	line-height: 1.08;
}

.belloro-order-received__facts {
	display: grid;
	grid-template-columns: 1fr;
	gap: 0;
	margin: 0;
	background: transparent;
}

.belloro-order-received__facts > div {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 0.75rem;
	min-height: 0;
	padding: 1rem 0;
	border-bottom: 1px solid #e8e3de;
	background: transparent;
}

.belloro-order-received__facts > div:last-child {
	border-bottom: 0;
}

.belloro-order-received__facts dt {
	color: var(--adena-muted);
	font-size: 0.75rem;
	line-height: 1.25;
}

.belloro-order-received__facts dd {
	margin: 0;
	color: var(--adena-text);
	font-size: 0.95rem;
	font-weight: 500;
	line-height: 1.35;
	word-break: break-word;
}

.belloro-order-received__facts .belloro-order-received__total {
	font-family: var(--adena-font-heading);
	font-size: 1.35rem;
}

.belloro-order-received__journey {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0;
	margin: 0;
	padding: 0;
	border-top: 1px solid #e8e3de;
	border-radius: 0;
	background: #fff;
	color: var(--adena-text);
	list-style: none;
	overflow: hidden;
}

.belloro-order-received__journey li {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 1rem;
	align-items: start;
	padding: 1.75rem;
	border-right: 1px solid #e8e3de;
}

.belloro-order-received__journey li:last-child {
	border-right: 0;
}

.belloro-order-received__step {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	border: 1px solid #e8e3de;
	background: #f7f5f3;
	color: var(--adena-accent-dark);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
}

.belloro-order-received__journey strong {
	display: block;
	margin-bottom: 0.35rem;
	font-family: var(--adena-font-heading);
	font-size: 1.1rem;
	font-weight: 400;
}

.belloro-order-received__journey li > span:last-child {
	color: var(--adena-muted);
	font-size: 0.82rem;
	line-height: 1.45;
}

.belloro-order-received__details {
	display: flex;
	flex-direction: column;
	gap: clamp(1.5rem, 3vw, 2.5rem);
	width: min(100%, 1180px);
	margin: clamp(3rem, 6vw, 5rem) auto 0;
}

.belloro-order-received__details > p,
.belloro-order-received__details > section,
.belloro-order-received__details .woocommerce-order-details,
.belloro-order-received__details .woocommerce-customer-details {
	min-width: 0;
	margin: 0;
	padding: clamp(1.5rem, 3vw, 2.5rem);
	border: 1px solid #e8e3de;
	border-radius: 16px;
	background: #fff;
	box-shadow: none;
}

.belloro-order-received__details > p {
	width: 100%;
	padding: 1rem 1.25rem;
	border-radius: 12px;
	background: #fbfaf8;
	color: var(--adena-text);
	font-size: 0.92rem;
	line-height: 1.5;
}

.belloro-order-received__details .woocommerce-order-details,
.belloro-order-received__details .woocommerce-customer-details {
	width: 100%;
}

.belloro-order-received__details .woocommerce-order-details__title,
.belloro-order-received__details .woocommerce-column__title,
.belloro-order-received__details h2 {
	margin: 0 0 1.5rem;
	font-family: var(--adena-font-heading);
	font-size: clamp(1.5rem, 2.2vw, 2rem);
	font-weight: 400;
	line-height: 1.1;
}

.belloro-order-received__details table.order_details {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	table-layout: auto;
}

.belloro-order-received__details table.order_details th,
.belloro-order-received__details table.order_details td {
	padding: 1rem 0;
	border: 0;
	border-bottom: 1px solid rgba(168, 158, 146, 0.2);
	background: transparent;
	text-align: left;
}

.belloro-order-received__details table.order_details td:last-child,
.belloro-order-received__details table.order_details th:last-child {
	text-align: right;
	white-space: nowrap;
}

.belloro-order-received__details table.order_details .product-name {
	width: 72%;
}

.belloro-order-received__details table.order_details .wc-item-meta {
	display: grid;
	gap: 0.35rem;
	margin: 0.65rem 0 0;
	padding: 0;
	color: var(--adena-muted);
	font-size: 0.84rem;
	font-weight: 400;
	line-height: 1.4;
	list-style: none;
}

.belloro-order-received__details table.order_details .wc-item-meta li {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: 0.4rem;
}

.belloro-order-received__details table.order_details .wc-item-meta strong,
.belloro-order-received__details table.order_details .wc-item-meta p {
	display: inline;
	margin: 0;
}

.belloro-order-received__details table.order_details tfoot tr:last-child th,
.belloro-order-received__details table.order_details tfoot tr:last-child td {
	border-bottom: 0;
	font-size: 1.08rem;
	font-weight: 700;
}

.belloro-order-received__details address {
	min-height: 0;
	height: auto;
	padding: 1.25rem;
	border: 1px solid #e8e3de;
	border-radius: 12px;
	background: #fbfaf8;
	color: var(--adena-muted);
	font-style: normal;
	line-height: 1.75;
}

.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	gap: 1.25rem;
	margin: 0;
	align-items: start;
}

.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses::before,
.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses::after {
	display: none !important;
	content: none !important;
}

.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses > .woocommerce-column,
.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses > .col-1,
.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses > .col-2 {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

.belloro-order-received__details .woocommerce-customer-details .woocommerce-column--billing-address,
.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses > .col-1 {
	grid-column: 1;
	grid-row: 1;
}

.belloro-order-received__details .woocommerce-customer-details .woocommerce-column--shipping-address,
.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses > .col-2 {
	grid-column: 2;
	grid-row: 1;
}

.belloro-order-received__details .woocommerce-customer-details .woocommerce-column__title {
	font-size: 1.35rem;
}

@keyframes belloro-order-received-in {
	from {
		opacity: 0;
		transform: translateY(14px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

@media (max-width: 900px) {
	.belloro-order-received__panel {
		grid-template-columns: 1fr;
	}

	.belloro-order-received__panel {
		min-height: 0;
	}

	.belloro-order-received__overview {
		border-top: 1px solid #e8e3de;
		border-left: 0;
	}

	.belloro-order-received__journey {
		grid-template-columns: 1fr;
	}

	.belloro-order-received__journey li {
		border-right: 0;
		border-bottom: 1px solid #e8e3de;
	}

	.belloro-order-received__journey li:last-child {
		border-bottom: 0;
	}
}

@media (max-width: 700px) {
	.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses {
		grid-template-columns: 1fr !important;
	}

	.belloro-order-received__details .woocommerce-customer-details .woocommerce-column--billing-address,
	.belloro-order-received__details .woocommerce-customer-details .woocommerce-column--shipping-address,
	.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses > .col-1,
	.belloro-order-received__details .woocommerce-customer-details .woocommerce-columns--addresses > .col-2 {
		grid-column: 1;
		grid-row: auto;
	}
}

@media (max-width: 600px) {
	.belloro-order-received {
		padding: 2rem 1rem 4rem;
	}

	.belloro-order-received__shell {
		padding: 0;
		border-radius: 18px;
	}

	.belloro-order-received__panel,
	.belloro-order-received__hero,
	.belloro-order-received__journey {
		border-radius: 0;
	}

	.belloro-order-received__hero {
		padding: 2.5rem 1.5rem 3rem;
	}

	.belloro-order-received__hero h1 {
		font-size: clamp(2rem, 9vw, 2.6rem);
	}

	.belloro-order-received__overview {
		margin: 0;
		padding: 1.5rem;
	}

	.belloro-order-received__facts {
		grid-template-columns: 1fr;
	}

	.belloro-order-received__facts > div {
		min-height: 96px;
	}

	.belloro-order-received__journey {
		margin-top: 0;
	}

	.belloro-order-received__details {
		margin-top: 3rem;
	}

	.belloro-order-received__details > p,
	.belloro-order-received__details > section,
	.belloro-order-received__details .woocommerce-order-details,
	.belloro-order-received__details .woocommerce-customer-details {
		padding: 1.35rem;
		border-radius: 18px;
	}

	.belloro-order-received__details table.order_details th,
	.belloro-order-received__details table.order_details td {
		font-size: 0.85rem;
	}

	.belloro-order-received__details table.order_details .product-name {
		width: auto;
	}

	.belloro-order-received__details table.order_details .wc-item-meta li {
		grid-template-columns: 1fr;
		gap: 0.1rem;
	}
}

/* ----------------------------------------------------------------------- *
 * My account
 *
 * The account area follows the same warm editorial language as the shop:
 * generous breathing room, Unna display type, soft stone surfaces and a
 * restrained gold accent. WooCommerce markup remains intact so extensions can
 * still add endpoints and fields without needing template overrides.
 * ----------------------------------------------------------------------- */
.woocommerce-account .adena-main {
	background:
		radial-gradient(circle at 88% 2%, rgba(194, 185, 175, 0.22), transparent 24rem),
		linear-gradient(180deg, #faf9f7 0%, #f5f3f0 100%);
}

.woocommerce-account .adena-shop {
	width: min(100%, 1320px);
	max-width: 1320px;
	padding: clamp(4rem, 8vw, 7.5rem) clamp(1.25rem, 4vw, 3rem);
}

/* My Account is a shortcode-backed WooCommerce page, so WordPress normally
   routes it through page.php rather than the generic WooCommerce wrapper. */
.woocommerce-account .adena-content-layout {
	display: block;
	width: min(100%, 1320px);
	max-width: 1320px;
	padding: clamp(4rem, 8vw, 7.5rem) clamp(1.25rem, 4vw, 3rem);
}

.woocommerce-account .adena-page-header {
	margin-bottom: 0;
}

.woocommerce-account .adena-page__content {
	width: 100%;
}

.woocommerce-account .adena-shop__main {
	position: relative;
}

.woocommerce-account .adena-page-title,
.woocommerce-account .entry-title,
.woocommerce-account .adena-shop__main > h1 {
	max-width: 920px;
	margin: 0 auto clamp(2.5rem, 5vw, 4.5rem);
	font-size: clamp(3rem, 7vw, 6rem);
	line-height: 0.92;
	letter-spacing: -0.035em;
	text-align: center;
}

.woocommerce-account .woocommerce {
	width: 100%;
}

.woocommerce-account .woocommerce::after {
	content: "";
	display: table;
	clear: both;
}

/* Signed-in shell: a quiet navigation rail beside a white content canvas. */
.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 100%;
	margin: 0 0 1rem;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0.35rem;
	list-style: none;
	margin: 0;
	padding: 0.5rem;
	border: 1px solid rgba(168, 158, 146, 0.24);
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.58);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.85);
	counter-reset: belloro-account-nav;
}

.woocommerce-account .woocommerce-MyAccount-navigation li {
	min-width: 0;
	margin: 0;
	counter-increment: belloro-account-nav;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	min-height: 52px;
	padding: 0.8rem 0.85rem;
	border-radius: 17px;
	background: transparent;
	color: #6d6862;
	font-size: 0.86rem;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.045em;
	text-transform: uppercase;
	transition: color 480ms var(--adena-ease), background-color 480ms var(--adena-ease), transform 480ms var(--adena-ease);
}

.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
	content: counter(belloro-account-nav, decimal-leading-zero);
	flex: 0 0 auto;
	color: #aaa29a;
	font-family: var(--adena-font-heading);
	font-size: 0.82rem;
	font-weight: 400;
	letter-spacing: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation li a:focus-visible {
	background: rgba(255, 255, 255, 0.82);
	color: var(--adena-text);
	transform: translateX(3px);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: #2d2b29;
	color: #fff;
	box-shadow: 0 14px 34px rgba(46, 41, 36, 0.13);
}

.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a::before {
	color: #c9b9a7;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: 100%;
	min-height: 430px;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	border: 1px solid rgba(168, 158, 146, 0.2);
	border-radius: clamp(24px, 3vw, 38px);
	background: rgba(255, 255, 255, 0.94);
	box-shadow: 0 28px 80px rgba(70, 61, 52, 0.08), inset 0 1px 0 #fff;
}

.woocommerce-account .woocommerce-MyAccount-content > :first-child {
	margin-top: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > :last-child {
	margin-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content > p:first-child {
	font-family: var(--adena-font-heading);
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	line-height: 1.25;
}

.woocommerce-account .woocommerce-MyAccount-content p {
	color: #635f5a;
}

.woocommerce-account .woocommerce-MyAccount-content p a:not(.button) {
	color: var(--adena-text);
	text-decoration: underline;
	text-decoration-color: #c8bbb0;
	text-decoration-thickness: 1px;
	text-underline-offset: 0.25em;
}

.woocommerce-account .woocommerce-MyAccount-content p a:not(.button):hover {
	color: #8c7560;
}

.woocommerce-account .woocommerce-MyAccount-content h2,
.woocommerce-account .woocommerce-MyAccount-content h3,
.woocommerce-account .woocommerce-Address-title h3 {
	margin-top: 0;
	font-size: clamp(1.75rem, 3vw, 2.55rem);
	letter-spacing: -0.015em;
}

/* Login and registration: editorial split with a subtle central rule. */
.woocommerce-account #customer_login {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	width: min(100%, 1060px);
	margin: 0 auto;
}

.woocommerce-account #customer_login::before,
.woocommerce-account #customer_login::after {
	content: none;
}

.woocommerce-account #customer_login > .u-column1,
.woocommerce-account #customer_login > .u-column2 {
	float: none;
	width: auto;
	padding: clamp(1.5rem, 5vw, 3.75rem);
	border: 1px solid rgba(168, 158, 146, 0.2);
	border-radius: clamp(24px, 3vw, 36px);
	background: rgba(255, 255, 255, 0.92);
	box-shadow: 0 24px 70px rgba(70, 61, 52, 0.07), inset 0 1px 0 #fff;
}

.woocommerce-account #customer_login > .u-column2 {
	background: #eae5df;
}

.woocommerce-account #customer_login h2 {
	margin: 0 0 2rem;
	font-size: clamp(2rem, 4vw, 3.15rem);
	line-height: 1;
	letter-spacing: -0.025em;
}

.woocommerce-account #customer_login h2::before {
	display: block;
	margin-bottom: 1rem;
	color: #9a8878;
	font-family: var(--adena-font-body);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.2em;
	text-transform: uppercase;
}

.woocommerce-account #customer_login .u-column1 h2::before {
	content: "Witaj ponownie";
}

.woocommerce-account #customer_login .u-column2 h2::before {
	content: "Dołącz do Belloro";
}

.woocommerce-account .woocommerce form.login,
.woocommerce-account .woocommerce form.register {
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: transparent;
}

.woocommerce-account .woocommerce form .form-row {
	margin: 0 0 1.15rem;
	padding: 0;
}

.woocommerce-account .woocommerce form .form-row label {
	display: block;
	margin: 0 0 0.45rem;
	color: #504c47;
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.11em;
	line-height: 1.4;
	text-transform: uppercase;
}

.woocommerce-account .woocommerce form .form-row .required {
	color: #9b6d58;
}

.woocommerce-account .woocommerce form .input-text,
.woocommerce-account .woocommerce form select,
.woocommerce-account .woocommerce .select2-container .select2-selection--single {
	width: 100%;
	min-height: 54px;
	padding: 0.8rem 1rem;
	border: 1px solid rgba(132, 119, 107, 0.24);
	border-radius: 15px;
	background: rgba(255, 255, 255, 0.76);
	color: var(--adena-text);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
	transition: border-color 420ms var(--adena-ease), background-color 420ms var(--adena-ease), box-shadow 420ms var(--adena-ease);
}

.woocommerce-account .woocommerce form textarea.input-text {
	min-height: 130px;
	resize: vertical;
}

.woocommerce-account .woocommerce form .input-text:focus,
.woocommerce-account .woocommerce form select:focus,
.woocommerce-account .woocommerce .select2-container--focus .select2-selection--single,
.woocommerce-account .woocommerce .select2-container--open .select2-selection--single {
	outline: 0;
	border-color: #9d8b7b;
	background: #fff;
	box-shadow: 0 0 0 4px rgba(194, 185, 175, 0.18);
}

.woocommerce-account .woocommerce-form-login__rememberme {
	display: flex !important;
	align-items: center;
	gap: 0.55rem;
	margin: 0.35rem 0 1.15rem !important;
	font-size: 0.86rem !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

.woocommerce-account .woocommerce-form-login__rememberme input {
	width: 17px;
	height: 17px;
	margin: 0;
	accent-color: #9d8b7b;
}

.woocommerce-account .woocommerce form .show-password-input {
	top: 50%;
	right: 1rem;
	transform: translateY(-50%);
}

.woocommerce-account .woocommerce form .button,
.woocommerce-account .woocommerce-MyAccount-content .button {
	min-height: 52px;
	padding: 0.95rem 1.65rem;
	border: 1px solid #2d2b29;
	border-radius: 999px;
	background: #2d2b29;
	color: #fff;
	font-size: 0.78rem;
	letter-spacing: 0.11em;
	box-shadow: none;
	transition: color 480ms var(--adena-ease), background-color 480ms var(--adena-ease), border-color 480ms var(--adena-ease), transform 480ms var(--adena-ease), box-shadow 480ms var(--adena-ease);
}

.woocommerce-account .woocommerce form .button:hover,
.woocommerce-account .woocommerce form .button:focus,
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:focus {
	border-color: #9d8b7b;
	background: #9d8b7b;
	color: #fff;
	box-shadow: 0 13px 28px rgba(83, 68, 55, 0.14);
	transform: translateY(-2px);
}

.woocommerce-account .woocommerce form .button:active,
.woocommerce-account .woocommerce-MyAccount-content .button:active {
	transform: translateY(0) scale(0.985);
}

.woocommerce-account .woocommerce-LostPassword {
	margin: 1.15rem 0 0;
	font-size: 0.88rem;
}

.woocommerce-account .woocommerce-LostPassword a {
	color: #655b52;
	text-decoration: underline;
	text-decoration-color: #c6b8ab;
	text-underline-offset: 0.25em;
}

.woocommerce-account .woocommerce-privacy-policy-text {
	color: #716c66;
	font-size: 0.86rem;
	line-height: 1.65;
}

/* Endpoint content: orders, downloads, addresses and account details. */
.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	margin: 0;
	border: 0;
	border-radius: 18px;
	background: #f8f6f3;
	overflow: hidden;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
.woocommerce-account .woocommerce-MyAccount-content table.shop_table td {
	padding: 1rem 1.15rem;
	border: 0;
	border-bottom: 1px solid rgba(168, 158, 146, 0.18);
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table tr:last-child td {
	border-bottom: 0;
}

.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	background: #eee9e3;
	color: #6d655d;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.woocommerce-account .woocommerce-orders-table__cell-order-number a {
	font-family: var(--adena-font-heading);
	font-size: 1.15rem;
	font-weight: 700;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 1rem;
	margin-top: 1.5rem;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address {
	float: none;
	width: 100%;
	max-width: none;
	min-width: 0;
	margin: 0;
	padding: clamp(1.25rem, 3vw, 2rem);
	border-radius: 20px;
	background: #f6f3ef;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-Address-title {
	display: block;
	width: 100%;
	margin: 0 0 1.35rem;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-Address-title::before,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address .woocommerce-Address-title::after {
	content: none;
	display: none;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3 {
	float: none;
	width: 100%;
	margin: 0 0 0.85rem;
	font-size: clamp(1.65rem, 2.6vw, 2.15rem);
	line-height: 1.08;
	letter-spacing: -0.015em;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit {
	display: inline-flex;
	align-items: center;
	float: none;
	width: auto;
	margin: 0;
	padding-bottom: 0.15rem;
	border-bottom: 1px solid #b8aa9c;
	color: #655b52;
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.09em;
	text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address {
	width: 100%;
	margin: 0;
	color: #67615b;
	font-style: normal;
	line-height: 1.75;
}

.woocommerce-account .woocommerce-MyAccount-content fieldset {
	margin: 2rem 0 0;
	padding: clamp(1.15rem, 3vw, 1.75rem);
	border: 1px solid rgba(168, 158, 146, 0.22);
	border-radius: 20px;
	background: #faf8f5;
}

.woocommerce-account .woocommerce-MyAccount-content legend {
	padding: 0 0.65rem;
	font-family: var(--adena-font-heading);
	font-size: 1.35rem;
}

.woocommerce-account .woocommerce-message,
.woocommerce-account .woocommerce-error,
.woocommerce-account .woocommerce-info {
	margin: 0 0 1.25rem;
	padding: 1.05rem 1.25rem 1.05rem 3.25rem;
	border: 0;
	border-radius: 18px;
	background: #eee9e3;
	color: #514b45;
	box-shadow: none;
}

.woocommerce-account .woocommerce-message::before,
.woocommerce-account .woocommerce-info::before,
.woocommerce-account .woocommerce-error::before {
	top: 1.05rem;
	left: 1.25rem;
	color: #8e7966;
}

/* Content arrives with a quiet, weighted reveal; reduced-motion users see it
   immediately. Only transform and opacity are animated. */
@keyframes belloro-account-arrive {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account #customer_login > div {
	animation: belloro-account-arrive 760ms cubic-bezier(0.32, 0.72, 0, 1) both;
}

.woocommerce-account .woocommerce-MyAccount-content,
.woocommerce-account #customer_login > div:nth-child(2) {
	animation-delay: 90ms;
}

@media (min-width: 768px) {
	.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.woocommerce-account #customer_login {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: clamp(1rem, 2vw, 1.5rem);
	}
}

@media (min-width: 900px) {
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation),
	body.logged-in.woocommerce-account .adena-page__content > .woocommerce {
		display: grid;
		grid-template-columns: minmax(220px, 0.31fr) minmax(0, 1fr);
		grid-template-areas: "account-navigation account-content";
		gap: clamp(1.5rem, 3vw, 2.75rem);
		align-items: start;
	}

	/* WooCommerce's clearfix pseudo-elements become grid children unless they
	   are explicitly removed, which can displace both real account columns. */
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::before,
	.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation)::after,
	body.logged-in.woocommerce-account .adena-page__content > .woocommerce::before,
	body.logged-in.woocommerce-account .adena-page__content > .woocommerce::after {
		content: none;
		display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content {
		float: none;
		width: auto;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		grid-area: account-navigation;
		position: sticky;
		top: calc(var(--adena-header-h) + 1.5rem);
		margin: 0;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		grid-area: account-content;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		grid-template-columns: 1fr;
		padding: 0.65rem;
		border-radius: 28px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		min-height: 58px;
		padding: 0.9rem 1rem;
	}
}

@media (max-width: 767px) {
	.woocommerce-account .adena-shop,
	.woocommerce-account .adena-content-layout {
		padding-top: 3rem;
		padding-bottom: 4rem;
	}

	.woocommerce-account .adena-page-title,
	.woocommerce-account .entry-title,
	.woocommerce-account .adena-shop__main > h1 {
		font-size: clamp(2.65rem, 15vw, 4.25rem);
		margin-bottom: 2.25rem;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation {
		overflow-x: auto;
		scrollbar-width: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation::-webkit-scrollbar {
		display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation ul {
		display: flex;
		width: max-content;
		min-width: 100%;
		padding: 0.4rem;
		border-radius: 19px;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a {
		min-height: 46px;
		padding: 0.7rem 0.9rem;
		border-radius: 14px;
		white-space: nowrap;
	}

	.woocommerce-account .woocommerce-MyAccount-navigation li a::before {
		display: none;
	}

	.woocommerce-account .woocommerce-MyAccount-content {
		min-height: 0;
		padding: 1.35rem;
		border-radius: 24px;
	}

	.woocommerce-account #customer_login > .u-column1,
	.woocommerce-account #customer_login > .u-column2 {
		padding: 1.5rem;
		border-radius: 24px;
	}

	.woocommerce-account #customer_login h2 {
		margin-bottom: 1.5rem;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr {
		margin-bottom: 0.8rem;
		padding: 0.75rem;
		border-radius: 16px;
		background: #f8f6f3;
	}

	.woocommerce-account .woocommerce-MyAccount-content table.shop_table_responsive tr td {
		padding: 0.65rem;
		background: transparent;
	}
}

@media (prefers-reduced-motion: reduce) {
	.woocommerce-account .woocommerce-MyAccount-navigation,
	.woocommerce-account .woocommerce-MyAccount-content,
	.woocommerce-account #customer_login > div {
		animation: none;
	}
}

/* Mini quantity buttons stay tidy */
.quantity input.qty {
	width: 4.5rem;
	text-align: center;
}

/* ----------------------------------------------------------------------- *
 * 14. Pagination
 * ----------------------------------------------------------------------- */
.adena-pagination,
.woocommerce nav.woocommerce-pagination {
	margin-top: 2.5rem;
	text-align: center;
}

.adena-pagination .nav-links,
.woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 0.35rem;
	list-style: none;
	padding: 0;
	margin: 0;
	border: none;
}

.adena-pagination .page-numbers,
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 0.5rem;
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	background: var(--adena-surface);
	color: var(--adena-text);
}

.adena-pagination .page-numbers.current,
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--adena-accent);
	border-color: var(--adena-accent);
	color: #fff;
}

.adena-pagination a.page-numbers:hover {
	border-color: var(--adena-accent);
}

/* ----------------------------------------------------------------------- *
 * 15. Blog, page, comments
 * ----------------------------------------------------------------------- */
.adena-page-header { margin-bottom: 2rem; }
.adena-page-title { margin: 0; }

.adena-posts {
	display: grid;
	gap: 2rem;
}

@media (min-width: 700px) {
	.adena-posts { grid-template-columns: repeat(2, 1fr); }
}

.adena-card {
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	overflow: hidden;
	display: flex;
	flex-direction: column;
}

.adena-card__media img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.adena-card__body { padding: 1.25rem 1.4rem 1.5rem; }
.adena-card__title { font-size: 1.4rem; margin: 0 0 0.5rem; }
.adena-card__meta { font-size: 0.85rem; color: var(--adena-muted); margin-bottom: 0.75rem; }
.adena-card__excerpt { color: var(--adena-muted); }
.adena-card__more {
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.85rem;
	color: var(--adena-accent-dark);
}

body.single-post {
	background: var(--adena-surface);
}

.adena-content-layout--blog {
	max-width: 1480px;
}

.adena-content-layout--article {
	max-width: 1180px;
	padding-block: clamp(3.75rem, 8vw, 7.5rem);
}

.adena-single {
	background: transparent;
}

.adena-single__header {
	max-width: 980px;
	margin: 0 auto clamp(2.75rem, 6vw, 5rem);
	text-align: center;
	animation: adena-article-arrive 800ms cubic-bezier(0.32, 0.72, 0, 1) both;
}

.adena-single__eyebrow {
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	margin-bottom: 1.4rem;
	padding: 0.35rem 0.8rem;
	border-radius: 999px;
	background: rgba(168, 158, 146, 0.12);
	color: var(--adena-accent-dark);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	line-height: 1;
	text-transform: uppercase;
}

.adena-single__title {
	max-width: 940px;
	margin: 0 auto;
	font-size: clamp(2.7rem, 6.5vw, 5rem);
	line-height: 1.03;
	letter-spacing: -0.025em;
	text-wrap: balance;
}

.adena-single__meta {
	margin-top: 1.5rem;
	color: var(--adena-muted);
	font-size: 0.78rem;
	font-weight: 400;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.adena-single__thumb {
	max-width: 1080px;
	margin: 0 auto clamp(3rem, 7vw, 5.5rem);
	overflow: hidden;
	border-radius: 2px;
}

.adena-single__thumb img {
	width: 100%;
	max-height: 680px;
	object-fit: cover;
}

.adena-single__content,
.adena-single__footer {
	max-width: 790px;
	margin-inline: auto;
}

.adena-single__content {
	font-size: clamp(1.0625rem, 1.25vw, 1.1875rem);
	line-height: 1.82;
}

.adena-single__content > p:first-child {
	color: #3f3b38;
	font-size: clamp(1.2rem, 1.7vw, 1.4rem);
	line-height: 1.65;
}

.adena-single__content p {
	margin-bottom: 1.45em;
}

.adena-single__content h2,
.adena-single__content h3 {
	margin-top: 1.8em;
	margin-bottom: 0.65em;
	letter-spacing: -0.015em;
}

.adena-single__content h2 {
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.12;
}

.adena-single__content h3 {
	font-size: clamp(1.55rem, 3vw, 2.1rem);
	line-height: 1.2;
}

.adena-single__content ul,
.adena-single__content ol {
	margin-bottom: 1.7em;
	padding-left: 1.4em;
}

.adena-single__content li + li {
	margin-top: 0.65em;
}

.adena-single__content blockquote {
	margin: clamp(2.5rem, 5vw, 4rem) 0;
	padding: 0 0 0 clamp(1.25rem, 3vw, 2rem);
	border-left: 2px solid var(--adena-accent);
	color: #4e4742;
	font-family: var(--adena-font-heading);
	font-size: clamp(1.65rem, 3vw, 2.35rem);
	line-height: 1.35;
}

.adena-single__content a:not(.wp-element-button) {
	text-decoration: underline;
	text-decoration-color: rgba(168, 158, 146, 0.55);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.2em;
}

.adena-single__footer {
	margin-top: clamp(3rem, 6vw, 5rem);
	padding-top: 1.5rem;
	border-top: 1px solid rgba(168, 158, 146, 0.3);
}

.adena-single__terms {
	margin-bottom: 0.45rem;
	color: var(--adena-muted);
	font-size: 0.8rem;
	letter-spacing: 0.04em;
}

@keyframes adena-article-arrive {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 760px) {
	.adena-content-layout--article {
		padding-block: 2.75rem 4.5rem;
	}

	.adena-single__header {
		margin-bottom: 2.5rem;
		text-align: left;
	}

	.adena-single__title {
		font-size: clamp(2.45rem, 13vw, 3.6rem);
		text-wrap: pretty;
	}

	.adena-single__meta {
		margin-top: 1.1rem;
	}

	.adena-single__thumb {
		margin-bottom: 3rem;
	}
}

@media (prefers-reduced-motion: reduce) {
	.adena-single__header {
		animation: none;
	}
}

.adena-search-result { padding: 1.25rem 0; border-bottom: 1px solid var(--adena-border); }
.adena-search-result__title { font-size: 1.3rem; margin: 0 0 0.4rem; }

.adena-no-results,
.adena-404 {
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	padding: clamp(2rem, 6vw, 3.5rem);
	text-align: center;
}

.adena-404__code {
	font-family: var(--adena-font-heading);
	font-size: clamp(3rem, 12vw, 6rem);
	color: var(--adena-accent);
	margin: 0;
	line-height: 1;
}

.adena-404__search,
.adena-no-results__search { max-width: 520px; margin: 1.5rem auto 0; }

.adena-404__actions {
	display: flex;
	gap: 0.75rem;
	justify-content: center;
	flex-wrap: wrap;
	margin-top: 1.5rem;
}

/* Comments */
.adena-comments { margin-top: 2.5rem; }
.adena-comments__title { font-size: 1.5rem; }
.adena-comments__list { list-style: none; margin: 0 0 2rem; padding: 0; }
.adena-comments__list ol { list-style: none; }
.adena-comments .comment-body {
	padding: 1.25rem;
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	margin-bottom: 1rem;
}

/* Widgets */
.widget { margin-bottom: 2rem; }
.widget__title {
	font-size: 1.2rem;
	margin-bottom: 0.85rem;
	padding-bottom: 0.5rem;
	border-bottom: 1px solid var(--adena-border);
}
.widget ul { list-style: none; padding: 0; margin: 0; }
.widget ul li { padding: 0.4rem 0; border-bottom: 1px solid var(--adena-border); }

/* ----------------------------------------------------------------------- *
 * 16. Footer
 * ----------------------------------------------------------------------- */
.adena-footer {
	background: var(--adena-surface);
	border-top: 1px solid var(--adena-border);
	margin-top: 0;
}

.adena-footer__menus {
	display: grid;
	grid-template-columns: 1fr;
	gap: 2.4rem;
	max-width: 1480px;
	padding-block: clamp(3.75rem, 6vw, 5.5rem) clamp(3rem, 5vw, 4.5rem);
}

@media (min-width: 760px) and (max-width: 1099px) {
	.adena-footer__menus {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		column-gap: clamp(2rem, 5vw, 4rem);
	}

	.adena-footer__brand {
		grid-column: 1 / -1;
		padding-bottom: 1.25rem;
	}
}

@media (min-width: 1100px) {
	.adena-footer__menus {
		grid-template-columns: minmax(220px, 1.2fr) repeat(3, minmax(0, 1fr));
		column-gap: clamp(3.5rem, 6vw, 7rem);
	}
}

.adena-footer__brand {
	align-self: start;
}

.adena-footer__brand-logo {
	display: flex;
	align-items: center;
	min-height: 2.5rem;
	margin-bottom: 1.25rem;
}

.adena-footer .adena-footer__brand-logo .custom-logo {
	width: auto;
	max-width: 148px;
	max-height: 52px;
	filter: none;
	opacity: 0.88;
}

.adena-footer__brand-logo .site-title {
	font-size: clamp(1.9rem, 2.4vw, 2.6rem);
}

.adena-footer .adena-footer__brand-logo .site-title,
.adena-footer .adena-footer__brand-logo .site-title a {
	color: var(--adena-text);
}

.adena-footer__brand p {
	max-width: 27ch;
	margin: 0;
	color: var(--adena-muted);
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.65;
}

.adena-footer__socials {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	margin-top: 1.5rem;
}

.adena-footer__socials a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(168, 158, 146, 0.38);
	border-radius: 50%;
	color: var(--adena-text);
	transition: color 420ms cubic-bezier(0.32, 0.72, 0, 1), background-color 420ms cubic-bezier(0.32, 0.72, 0, 1), border-color 420ms cubic-bezier(0.32, 0.72, 0, 1), transform 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-footer__socials a:hover,
.adena-footer__socials a:focus-visible {
	border-color: var(--adena-text);
	background: var(--adena-text);
	color: var(--adena-surface);
	transform: translateY(-2px);
}

.adena-footer__socials svg {
	width: 17px;
	height: 17px;
}

.adena-footer__socials path {
	fill: currentColor;
}

.adena-footer__socials rect,
.adena-footer__socials circle {
	fill: none;
	stroke: currentColor;
	stroke-width: 1.65;
}

.adena-footer__socials circle:last-child {
	fill: currentColor;
	stroke: none;
}

.adena-footer__nav {
	min-width: 0;
}

.adena-footer__menu-title {
	margin: 0 0 1.3rem;
	color: var(--adena-text);
	font-family: var(--adena-font-heading);
	font-size: 1.16rem;
	font-weight: 400;
	line-height: 1.25;
	letter-spacing: 0.015em;
}

.adena-footer__menu {
	list-style: none;
	display: grid;
	gap: 0.85rem;
	padding: 0;
	margin: 0;
}

.adena-footer__menu a,
.adena-footer__legal-menu a {
	position: relative;
	display: inline-flex;
	width: fit-content;
	transition: color 0.42s cubic-bezier(0.32, 0.72, 0, 1), transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-footer__menu a {
	font-size: 0.95rem;
	color: var(--adena-muted);
	font-weight: 300;
	line-height: 1.45;
}

.adena-footer__contact {
	min-width: 0;
}

.adena-footer__contact address {
	display: grid;
	gap: 0.85rem;
	font-style: normal;
}

.adena-footer__contact a {
	display: block;
	width: fit-content;
	color: var(--adena-muted);
	font-size: 0.95rem;
	font-weight: 300;
	line-height: 1.55;
	transition: color 420ms cubic-bezier(0.32, 0.72, 0, 1), transform 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-footer__contact a:hover,
.adena-footer__contact a:focus {
	color: var(--adena-text);
	transform: translateX(3px);
}

.adena-footer__contact a span {
	color: var(--adena-text);
}

.adena-footer__menu a:hover,
.adena-footer__menu a:focus,
.adena-footer__legal-menu a:hover,
.adena-footer__legal-menu a:focus {
	color: var(--adena-text);
	transform: translateX(3px);
}

.adena-footer__legal {
	border-top: 0;
}

.adena-footer__legal-inner {
	max-width: 1480px;
	padding-block: 1.25rem;
}

.adena-footer__legal-menu {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	gap: 0.7rem 1.25rem;
	justify-content: flex-start;
	padding: 0;
	margin: 0;
}

.adena-footer__legal-menu a {
	font-size: 0.84rem;
	color: var(--adena-muted);
	letter-spacing: 0.015em;
}

.adena-footer__copyright {
	border-top: 1px solid var(--adena-border);
	padding-block: 1.25rem;
	font-size: 0.84rem;
	color: var(--adena-muted);
}

.adena-footer__copyright .adena-container {
	max-width: 1480px;
}

.adena-footer__copyright p { margin: 0; }

@media (max-width: 759px) {
	.adena-footer__menus {
		gap: 2.4rem;
		padding-block: 3.5rem 3rem;
	}

	.adena-footer__brand {
		padding-bottom: 0.5rem;
	}

	.adena-footer__menu-title {
		margin-bottom: 1rem;
	}

	.adena-footer__legal-menu {
		gap: 0.65rem 1.1rem;
	}
}

.adena-footer--cart {
	background: #fff;
	border-top: 0;
}

.adena-cart-footer__inner {
	display: grid;
	justify-items: center;
	gap: clamp(4rem, 8vw, 8rem);
	padding-block: clamp(4.5rem, 9vw, 8.5rem) 2.5rem;
}

.adena-cart-footer__payments {
	width: min(820px, 70vw);
	height: auto;
	object-fit: contain;
}

.adena-cart-footer__copyright {
	margin: 0;
	color: var(--adena-text);
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.3;
	text-align: center;
}

@media (max-width: 760px) {
	.adena-cart-footer__inner {
		gap: 3rem;
		padding-block: 3.5rem 2rem;
	}

	.adena-cart-footer__payments {
		width: min(92vw, 820px);
	}
}

/* ----------------------------------------------------------------------- *
 * 17. Homepage sections (Savicki-style)
 * ----------------------------------------------------------------------- */

/* Editorial heading (eyebrow + title) */
.adena-heading { margin-bottom: 2.5rem; }
.adena-heading--center { text-align: center; }
.adena-heading--left { text-align: left; }
.adena-heading__eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.22em;
	font-size: 0.78rem;
	color: var(--adena-muted);
	margin: 0 0 0.4rem;
}
.adena-heading__title { margin: 0; }

/* --- Category tile grid --- */
.adena-cat-grid { padding-block: clamp(2rem, 5vw, 3.5rem); }

.adena-cat-grid__items {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 1.25rem;
	grid-template-columns: repeat(2, 1fr);
}

@media (min-width: 768px) {
	.adena-cat-grid__items {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	}
}

.adena-cat-tile { display: block; color: inherit; }

.adena-cat-tile__media {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--adena-surface);
}

.adena-cat-tile__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--adena-ease);
}

.adena-cat-tile:hover .adena-cat-tile__img { transform: scale(1.04); }

.adena-cat-tile__label {
	display: inline-block;
	margin-top: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.9rem;
	border-bottom: 1px solid var(--adena-text);
	padding-bottom: 2px;
}

.adena-cat-tile:hover .adena-cat-tile__label {
	color: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
}

/* --- Collections --- */
.adena-collections { padding-block: clamp(2.5rem, 6vw, 4rem); }

.adena-collections__grid {
	display: grid;
	gap: 0.5rem;
	grid-template-columns: 1fr;
	width: 100%;
	max-width: var(--adena-maxw);
	margin-inline: auto;
	padding-inline: 3rem;
}

@media (min-width: 768px) {
	.adena-collections__grid { grid-template-columns: repeat(3, 1fr); }
}

.adena-collection-tile {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	color: #fff;
}

.adena-collection-tile__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--adena-ease);
}

.adena-collection-tile:hover .adena-collection-tile__img { transform: scale(1.03); }

.adena-collection-tile::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.4), rgba(0, 0, 0, 0) 45%);
	z-index: 1;
	pointer-events: none;
}

.adena-collection-tile__name {
	position: absolute;
	left: 1.25rem;
	bottom: 1.1rem;
	z-index: 2;
	color: #fff;
	font-size: 1.05rem;
	letter-spacing: 0.02em;
	text-decoration: underline;
	text-underline-offset: 4px;
}

/* --- Product carousel --- */
.adena-carousel-section { padding-block: clamp(2.5rem, 6vw, 4rem); }
.adena-carousel { position: relative; }

.adena-carousel__viewport {
	overflow-x: auto;
	overflow-y: hidden;
	scroll-snap-type: x mandatory;
	-webkit-overflow-scrolling: touch;
	scrollbar-width: none;
}
.adena-carousel__viewport::-webkit-scrollbar { display: none; }

/* Force the WooCommerce shortcode grid into a single scrolling row. */
.adena-carousel__viewport .products {
	display: flex !important;
	flex-wrap: nowrap !important;
	grid-template-columns: none !important;
	gap: var(--adena-gap);
	margin: 0;
	padding: 0.5rem 0.25rem;
}

@media (max-width: 760px) {
	.adena-carousel__viewport .products {
		padding-inline: 0;
	}
}

.adena-carousel__viewport .products li.product {
	flex: 0 0 auto !important;
	width: clamp(220px, 72vw, 270px) !important;
	scroll-snap-align: start;
}

/* Left-align carousel cards to match the editorial reference. */
.adena-carousel .adena-product__body { text-align: left; }

.adena-carousel__nav {
	position: absolute;
	top: 40%;
	z-index: 5;
	width: 48px;
	height: 48px;
	border-radius: 999px;
	background: var(--adena-surface);
	border: 1px solid var(--adena-border);
	color: var(--adena-text);
	display: none;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	box-shadow: 0 6px 18px rgba(0, 0, 0, 0.08);
	transition: color 0.2s var(--adena-ease), border-color 0.2s var(--adena-ease);
}

.adena-carousel__nav:hover {
	color: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
}

.adena-carousel__nav:disabled {
	opacity: 0.3;
	cursor: default;
	pointer-events: none;
}

.adena-carousel__nav--prev { left: -10px; }
.adena-carousel__nav--next { right: -10px; }

@media (min-width: 900px) {
	.adena-carousel__nav { display: inline-flex; }
}

/* Product card extras */
.adena-product__save {
	order: 4;
	font-size: 0.95rem;
	color: #ff2f3c;
	margin: 0.35rem 0 0;
}

.adena-product__save span {
	color: #6f7784;
	text-decoration: line-through;
}

.woocommerce ul.products .adena-catalog-promo,
ul.products .adena-catalog-promo {
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
	/* The grid uses align-items: start, so cells sit at their natural height.
	   Stretch only this tile so it always equals the row height that the
	   neighbouring product cards establish. */
	align-self: stretch;
}

/* The tile must never dictate the row height: product cards set it, and the
   tile's image flexes to absorb the remaining space (no intrinsic min-height,
   no fixed image aspect). */
.adena-catalog-promo__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--adena-border);
	border-radius: 18px;
	background: #fbfaf8;
	color: var(--adena-text);
	text-align: center;
}

.adena-catalog-promo__link:hover,
.adena-catalog-promo__link:focus {
	border-color: var(--adena-accent-dark);
	color: var(--adena-text);
}

.adena-catalog-promo__media {
	display: block;
	flex: 1 1 0;
	min-height: 140px;
	overflow: hidden;
	background: #f4f1ed;
}

.adena-catalog-promo__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.adena-catalog-promo__body {
	display: flex;
	flex: 0 0 auto;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	padding: clamp(1.25rem, 2vw, 1.75rem);
}

.adena-catalog-promo__title {
	display: block;
	font-family: var(--adena-font-heading);
	font-size: clamp(1.45rem, 1.8vw, 2rem);
	color: var(--adena-text);
	line-height: 1.12;
}

.adena-catalog-promo__text {
	display: block;
	max-width: 18rem;
	margin-inline: auto;
	font-size: clamp(1rem, 1.05vw, 1.2rem);
	font-weight: 400;
	color: var(--adena-muted);
	line-height: 1.35;
}

.adena-catalog-promo__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 44px;
	padding: 0.65rem 1.15rem;
	border: 1px solid var(--adena-accent-dark);
	border-radius: 999px;
	background: var(--adena-accent-dark);
	color: #fff;
	font-weight: 400;
	line-height: 1.2;
}

.adena-catalog-promo--rose .adena-catalog-promo__link {
	background: #f8f5f1;
}

.adena-catalog-promo--dark .adena-catalog-promo__link {
	background: #f2eee9;
}

/* Mobile: the stacked tile is intrinsically taller than the narrow product
   cards, so instead of sharing a row (and stretching its neighbour) it becomes
   a compact full-width banner — photo left, message right. */
@media (max-width: 767px) {
	.woocommerce ul.products .adena-catalog-promo,
	ul.products .adena-catalog-promo {
		grid-column: 1 / -1;
		align-self: auto;
	}

	.adena-catalog-promo__link {
		flex-direction: row;
		align-items: stretch;
		min-height: 0;
	}

	.adena-catalog-promo__media {
		flex: 0 0 38%;
		min-height: 0;
	}

	.adena-catalog-promo__body {
		flex: 1 1 auto;
		justify-content: center;
		gap: 0.6rem;
		padding: 1rem;
	}

	.adena-catalog-promo__title {
		font-size: 1.25rem;
	}

	.adena-catalog-promo__text {
		font-size: 0.9rem;
	}

	.adena-catalog-promo__button {
		min-height: 38px;
		padding: 0.45rem 1rem;
		font-size: 0.9rem;
	}
}

/* --- Stories / Instagram strip --- */
.adena-stories { padding-block: clamp(2rem, 5vw, 3rem) 0; }

.adena-stories__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
	margin-bottom: 1.5rem;
}

.adena-stories__head .adena-heading { margin-bottom: 0; }

.adena-stories__strip {
	display: grid;
	grid-auto-flow: column;
	grid-auto-columns: 46%;
	gap: 0;
	width: 100%;
	max-width: var(--adena-maxw);
	margin-inline: auto;
	padding-inline: 3rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}
.adena-stories__strip::-webkit-scrollbar { display: none; }

@media (min-width: 768px) {
	.adena-stories__strip {
		grid-auto-flow: row;
		grid-template-columns: repeat(6, 1fr);
		grid-auto-columns: auto;
		overflow: visible;
	}
}

.adena-story {
	display: block;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	scroll-snap-align: start;
}

.adena-story__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.6s var(--adena-ease);
}

.adena-story:hover .adena-story__img { transform: scale(1.05); }

/* --- Newsletter --- */
.adena-newsletter {
	background: var(--adena-surface);
	padding-block: 0;
	margin-top: 0;
}

.adena-newsletter > .adena-container {
	padding-inline: 0;
}

.adena-newsletter__panel {
	position: relative;
	display: flex;
	align-items: stretch;
	min-height: clamp(420px, 30vw, 520px);
	overflow: hidden;
	border-radius: 0;
	background-color: #21150d;
	background-image: linear-gradient(90deg, rgba(20, 12, 7, 0.02) 0%, rgba(20, 12, 7, 0.14) 38%, rgba(20, 12, 7, 0.68) 65%, rgba(20, 12, 7, 0.9) 100%), url("../images/newsletter-background.png");
	background-position: center center;
	background-size: cover;
	box-shadow: none;
}

.adena-newsletter__inner {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: min(56%, 780px);
	min-height: 100%;
	margin-left: auto;
	padding: clamp(2.5rem, 4vw, 4.5rem);
	text-align: left;
}

.adena-newsletter__eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 0.8rem;
	margin: 0 0 1.15rem;
	color: rgba(255, 255, 255, 0.78);
	font-size: 0.78rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
}

.adena-newsletter__eyebrow::before {
	content: "";
	width: 38px;
	height: 1px;
	background: rgba(255, 255, 255, 0.48);
}

.adena-newsletter__title {
	max-width: 30ch;
	margin: 0 0 1.15rem;
	color: #fff;
	font-family: var(--adena-font-heading);
	font-size: clamp(1.6rem, 2.4vw, 2.4rem);
	font-weight: 400;
	line-height: 1.15;
	letter-spacing: 0;
}

.adena-newsletter__text {
	margin: 0;
	color: rgba(255, 255, 255, 0.82);
	font-size: 1.0625rem;
	font-weight: 300;
	line-height: 1.65;
}

.adena-newsletter__form {
	width: min(100%, 620px);
	margin-top: clamp(1.75rem, 3vw, 2.5rem);
}

form.adena-newsletter__form,
.adena-newsletter__form form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 0;
}

.adena-newsletter__form form > p {
	display: contents;
}

.adena-newsletter__form input[type="email"],
.adena-newsletter__email {
	width: 100%;
	min-width: 0;
	height: 56px;
	padding: 0 1.25rem;
	border: 1px solid var(--adena-accent);
	border-right: 0;
	border-radius: var(--adena-radius) 0 0 var(--adena-radius);
	background: rgba(255, 255, 255, 0.96);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.8);
	color: var(--adena-text);
	font-size: 1rem;
}

.adena-newsletter__form input[type="email"]:focus,
.adena-newsletter__email:focus {
	position: relative;
	z-index: 1;
	border-color: var(--adena-accent-dark);
	outline: 2px solid rgba(168, 158, 146, 0.28);
	outline-offset: 2px;
}

.adena-newsletter__form .adena-button,
.adena-newsletter__form button[type="submit"],
.adena-newsletter__form input[type="submit"] {
	min-width: 142px;
	height: 56px;
	margin: 0;
	padding: 0 1.5rem;
	border: 1px solid var(--adena-accent);
	border-radius: 0 999px 999px 0;
	background: var(--adena-accent);
	box-shadow: none;
	color: #fff;
	font-family: var(--adena-font-body);
	font-size: 0.95rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	transition: background-color 0.42s cubic-bezier(0.32, 0.72, 0, 1), border-color 0.42s cubic-bezier(0.32, 0.72, 0, 1), transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-newsletter__form .adena-button:hover,
.adena-newsletter__form .adena-button:focus,
.adena-newsletter__form button[type="submit"]:hover,
.adena-newsletter__form button[type="submit"]:focus,
.adena-newsletter__form input[type="submit"]:hover,
.adena-newsletter__form input[type="submit"]:focus {
	background: var(--adena-accent-dark);
	border-color: var(--adena-accent-dark);
	transform: translateY(-1px);
}

.adena-newsletter__note {
	max-width: 52ch;
	margin: 1rem 0 0;
	color: rgba(255, 255, 255, 0.62);
	font-size: 0.76rem;
	font-weight: 300;
	line-height: 1.5;
}

@media (max-width: 760px) {
	.adena-newsletter {
		padding-block: 0;
	}
	.adena-newsletter__panel {
		min-height: 450px;
		border-radius: 0;
		background-image: linear-gradient(180deg, rgba(20, 12, 7, 0.05) 0%, rgba(20, 12, 7, 0.16) 36%, rgba(20, 12, 7, 0.88) 70%, rgba(20, 12, 7, 0.97) 100%), url("../images/newsletter-background.png");
		background-position: 10% center;
		box-shadow: none;
	}
	.adena-newsletter__inner {
		justify-content: flex-end;
		width: 100%;
		padding: 1rem 1.5rem 2.25rem;
	}
	.adena-newsletter__title {
		font-size: clamp(1.75rem, 7.5vw, 2.25rem);
	}
	.adena-newsletter__text {
		font-size: 0.98rem;
	}
	.adena-newsletter__form {
		margin-top: 1.5rem;
	}
	.adena-newsletter__form .adena-button,
	.adena-newsletter__form button[type="submit"],
	.adena-newsletter__form input[type="submit"] {
		min-width: 112px;
		padding-inline: 1rem;
		font-size: 0.82rem;
	}
}

/* ----------------------------------------------------------------------- *
 * 17b. Homepage SEO intro (under the newsletter)
 * ----------------------------------------------------------------------- */
.adena-seo-intro {
	padding: var(--adena-home-section-space, clamp(3.75rem, 6vw, 6rem)) 0;
	background: #fbfaf8;
}

.adena-seo-intro__inner {
	width: min(100%, 1120px);
	margin-inline: auto;
	text-align: center;
}

.adena-seo-intro__title {
	font-family: var(--adena-font-heading);
	font-size: clamp(1.6rem, 3vw, 2.1rem);
	text-align: center;
	margin: 0.6rem 0 1.75rem;
	color: var(--adena-text, #222);
}

.adena-seo-intro__lead {
	max-width: 88ch;
	margin-inline: auto;
}

.adena-seo-intro__topic h3 {
	font-family: var(--adena-font-heading);
	font-size: clamp(1.2rem, 2vw, 1.45rem);
	margin: 0 0 0.75rem;
	color: var(--adena-text, #222);
}

.adena-seo-intro p {
	margin: 0 0 1rem;
	font-size: 1rem;
	font-weight: 300;
	line-height: 1.75;
	color: var(--adena-muted, #666);
}

.adena-seo-intro__details {
	margin-top: 1.75rem;
}

.adena-seo-intro__toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	min-height: 48px;
	padding: 0.7rem 1.4rem;
	border: 1px solid var(--adena-border);
	border-radius: 999px;
	background: var(--adena-surface);
	color: var(--adena-text);
	font-size: 0.92rem;
	font-weight: 500;
	cursor: pointer;
	list-style: none;
	transition: color 0.42s cubic-bezier(0.32, 0.72, 0, 1), border-color 0.42s cubic-bezier(0.32, 0.72, 0, 1), transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-seo-intro__toggle::-webkit-details-marker {
	display: none;
}

.adena-seo-intro__toggle:hover,
.adena-seo-intro__toggle:focus {
	border-color: var(--adena-accent-dark);
	color: var(--adena-accent-dark);
	transform: translateY(-1px);
}

.adena-seo-intro__toggle-less {
	display: none;
}

.adena-seo-intro__chevron {
	width: 8px;
	height: 8px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: rotate(45deg) translateY(-2px);
	transition: transform 0.42s cubic-bezier(0.32, 0.72, 0, 1);
}

.adena-seo-intro__details[open] .adena-seo-intro__toggle-more {
	display: none;
}

.adena-seo-intro__details[open] .adena-seo-intro__toggle-less {
	display: inline;
}

.adena-seo-intro__details[open] .adena-seo-intro__chevron {
	transform: rotate(225deg) translate(-2px, -2px);
}

.adena-seo-intro__expanded {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(1.75rem, 4vw, 3.5rem);
	margin-top: clamp(2.5rem, 5vw, 4rem);
	text-align: left;
}

@media (max-width: 767px) {
	.adena-seo-intro__inner {
		padding-inline: 0.25rem;
	}

	.adena-seo-intro__lead {
		text-align: left;
	}

	.adena-seo-intro__expanded {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
}

/* ----------------------------------------------------------------------- *
 * 18. Reduced motion
 * ----------------------------------------------------------------------- */
/* Homepage entry choreography. Individual translate keeps existing gallery
   transforms intact, including the staggered About and reviews layouts. */
.adena-front-page .adena-front-hero__eyebrow,
.adena-front-page .adena-front-hero__title,
.adena-front-page .adena-front-hero__cta {
	opacity: 0;
	translate: 0 20px;
	animation: adena-hero-content-in 0.85s cubic-bezier(0.32, 0.72, 0, 1) forwards;
}

.adena-front-page .adena-front-hero__title {
	animation-delay: 0.12s;
}

.adena-front-page .adena-front-hero__cta {
	animation-delay: 0.24s;
}

@keyframes adena-hero-content-in {
	to {
		opacity: 1;
		translate: 0 0;
	}
}

.adena-front-page.adena-scroll-reveal-ready .adena-scroll-reveal {
	opacity: 0;
	translate: 0 28px;
	transition:
		opacity 0.78s cubic-bezier(0.32, 0.72, 0, 1),
		translate 0.78s cubic-bezier(0.32, 0.72, 0, 1);
	transition-delay: var(--adena-reveal-delay, 0ms);
}

.adena-front-page.adena-scroll-reveal-ready .adena-scroll-reveal.is-visible {
	opacity: 1;
	translate: 0 0;
}

@media (prefers-reduced-motion: reduce) {
	html { scroll-behavior: auto; }
	.adena-front-page .adena-front-hero__eyebrow,
	.adena-front-page .adena-front-hero__title,
	.adena-front-page .adena-front-hero__cta,
	.adena-front-page.adena-scroll-reveal-ready .adena-scroll-reveal {
		opacity: 1;
		translate: none;
		animation: none !important;
		transition: none !important;
	}
	*,
	*::before,
	*::after {
		animation-duration: 0.001ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.001ms !important;
		scroll-behavior: auto !important;
	}
}

/* ----------------------------------------------------------------------- *
 * Returns wizard (template-zwroty.php)
 * ----------------------------------------------------------------------- */
.adena-returns {
	padding-block: 2.5rem 4rem;
	background: var(--adena-surface);
}

.adena-returns__title {
	text-align: center;
	font-size: 2rem;
	margin: 0 0 2rem;
}

.adena-returns__progress {
	margin-bottom: 3rem;
}

.adena-returns__bar {
	height: 14px;
	border-radius: 999px;
	background: #ececec;
	overflow: hidden;
}

.adena-returns__bar-fill {
	display: block;
	height: 100%;
	border-radius: 999px;
	background: repeating-linear-gradient(
		135deg,
		var(--adena-accent-dark) 0 12px,
		var(--adena-accent) 12px 24px
	);
	transition: width 0.4s var(--adena-ease);
}

.adena-returns__steps {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 0.5rem;
	margin: 0.8rem 0 0;
	padding: 0;
	font-size: 0.9rem;
	color: var(--adena-muted);
}

.adena-returns__step:nth-child(2) { text-align: center; }
.adena-returns__step:nth-child(3) { text-align: center; }
.adena-returns__step:nth-child(4) { text-align: center; }
.adena-returns__step:last-child { text-align: right; }

.adena-returns__step.is-current {
	color: var(--adena-text);
	font-weight: 600;
}

.adena-returns__error {
	max-width: 680px;
	margin: 0 auto 1.5rem;
	padding: 0.8rem 1rem;
	color: #8a2f2f;
	background: #fbf0f0;
	border: 1px solid #ecd3d3;
	border-radius: var(--adena-radius);
}

.adena-returns__panel {
	max-width: 680px;
	margin-inline: auto;
}

.adena-returns__heading {
	font-size: 1.8rem;
	margin: 0 0 1rem;
}

.adena-returns__lead {
	color: var(--adena-muted);
}

.adena-returns__form {
	display: grid;
	gap: 1rem;
	margin-top: 1.6rem;
}

.adena-returns__hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	opacity: 0;
}

.adena-returns__help {
	margin-top: 1.4rem;
	color: var(--adena-muted);
}

.adena-returns__help summary {
	cursor: pointer;
	text-decoration: underline;
	text-underline-offset: 4px;
	color: var(--adena-text);
}

.adena-returns__order-meta {
	color: var(--adena-muted);
	margin-top: -0.4rem;
}

.adena-returns__items {
	list-style: none;
	margin: 1.4rem 0 0;
	padding: 0;
}

.adena-returns__item {
	border-bottom: 1px solid var(--adena-border);
	padding: 0.8rem 0;
}

.adena-returns__item-main {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	cursor: pointer;
	font-weight: 400;
}

.adena-returns__item-main input[type="checkbox"] {
	width: 20px;
	height: 20px;
	accent-color: var(--adena-accent-dark);
}

.adena-returns__item-image {
	width: 64px;
	height: 64px;
	object-fit: cover;
	border-radius: var(--adena-radius);
	background: var(--adena-bg);
}

.adena-returns__item-name {
	flex: 1 1 auto;
	min-width: 0;
}

.adena-returns__item-note {
	display: block;
	font-size: 0.85rem;
	color: var(--adena-muted);
}

.adena-returns__item-total {
	white-space: nowrap;
}

.adena-returns__qty {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	margin: 0.6rem 0 0 calc(20px + 0.9rem);
	font-size: 0.92rem;
	color: var(--adena-muted);
}

.adena-returns__qty[hidden] {
	display: none;
}

.adena-returns__qty select {
	width: auto;
	padding: 0.3rem 0.6rem;
}

.adena-returns__reason {
	display: grid;
	gap: 0.7rem;
	padding: 1.1rem 0;
	border-bottom: 1px solid var(--adena-border);
}

.adena-returns__reason-name {
	margin: 0;
	font-weight: 500;
}

.adena-returns__methods {
	display: grid;
	gap: 0.9rem;
	margin-top: 1.4rem;
}

.adena-returns__method {
	display: flex;
	align-items: flex-start;
	gap: 0.8rem;
	padding: 1rem 1.1rem;
	border: 1px solid var(--adena-border);
	border-radius: var(--adena-radius);
	cursor: pointer;
	font-weight: 400;
}

.adena-returns__method:has(input:checked) {
	border-color: var(--adena-accent-dark);
	background: var(--adena-bg);
}

.adena-returns__method input {
	margin-top: 0.3rem;
	accent-color: var(--adena-accent-dark);
}

.adena-returns__method em {
	display: block;
	font-style: normal;
	font-size: 0.9rem;
	color: var(--adena-muted);
}

.adena-returns__bank {
	display: grid;
	gap: 0.5rem;
	margin-top: 1.2rem;
}

.adena-returns__bank label {
	font-size: 0.92rem;
}

.adena-returns__summary-items {
	margin: 0.8rem 0;
	padding-left: 1.2rem;
}

.adena-returns__summary-items li {
	margin-bottom: 0.4rem;
}

.adena-returns__consent {
	display: flex;
	align-items: flex-start;
	gap: 0.7rem;
	margin-top: 1.4rem;
	font-size: 0.92rem;
	font-weight: 400;
	color: var(--adena-muted);
	cursor: pointer;
}

.adena-returns__consent input {
	margin-top: 0.25rem;
	width: 18px;
	height: 18px;
	accent-color: var(--adena-accent-dark);
}

.adena-returns__nav {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
	margin-top: 2rem;
}

.adena-returns__back {
	background: none;
	border: none;
	padding: 0;
	font: inherit;
	color: var(--adena-muted);
	text-decoration: underline;
	text-underline-offset: 4px;
	cursor: pointer;
}

.adena-returns__back:hover {
	color: var(--adena-text);
}

.adena-returns__next.is-busy {
	opacity: 0.6;
	pointer-events: none;
}

.adena-returns__success {
	text-align: center;
	padding-block: 2rem;
}

.adena-returns__address {
	font-weight: 600;
}

.adena-returns__content {
	max-width: 680px;
	margin: 3rem auto 0;
}

@media (max-width: 760px) {
	.adena-returns__steps {
		font-size: 0.78rem;
	}
	.adena-returns__step:not(.is-current) {
		display: none;
	}
	.adena-returns__steps {
		grid-template-columns: 1fr;
	}
	.adena-returns__step.is-current {
		text-align: center;
	}
	.adena-returns__item-total {
		display: none;
	}
}

/* Cart notice: bring WooCommerce feedback into the Belloro purchase flow. */
body.woocommerce-cart .woocommerce-notices-wrapper {
	width: auto;
	margin: 0 clamp(1rem, 7vw, 9rem) clamp(1.5rem, 3vw, 2.25rem);
}

body.woocommerce-cart .woocommerce-notices-wrapper:empty {
	display: none;
}

body.woocommerce-cart .woocommerce-message {
	display: flex;
	align-items: center;
	gap: 0.9rem;
	min-height: 78px;
	margin: 0;
	padding: 0.9rem 1rem 0.9rem 1.1rem;
	border: 1px solid rgba(168, 158, 146, 0.42);
	border-radius: 18px;
	background: linear-gradient(135deg, #fdfcf9 0%, #f8f5f1 100%);
	color: var(--adena-text);
	font-family: var(--adena-font-body);
	font-size: clamp(0.98rem, 1.2vw, 1.08rem);
	font-weight: 400;
	line-height: 1.45;
	box-shadow: inset 0 0 0 4px rgba(255, 255, 255, 0.72), 0 12px 34px rgba(57, 43, 36, 0.055);
}

body.woocommerce-cart .woocommerce-message::before {
	position: static;
	content: "\2713";
	display: inline-grid;
	place-items: center;
	flex: 0 0 34px;
	order: -1;
	width: 34px;
	height: 34px;
	margin: 0;
	border: 1px solid rgba(168, 158, 146, 0.5);
	border-radius: 999px;
	background: #fff;
	color: var(--adena-accent-dark);
	font-family: var(--adena-font-body);
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1;
	box-shadow: 0 5px 14px rgba(57, 43, 36, 0.07);
}

body.woocommerce-cart .woocommerce-message .button,
body.woocommerce-cart .woocommerce-message a.button {
	float: none;
	flex: 0 0 auto;
	order: 2;
	min-height: 48px;
	margin: 0 0 0 auto;
	padding: 0.75rem 1.55rem;
	border: 1px solid var(--adena-accent-dark);
	border-radius: 999px;
	background: var(--adena-accent-dark);
	color: #fff;
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: 0.055em;
	line-height: 1.2;
	text-decoration: none;
	text-transform: uppercase;
	box-shadow: 0 10px 20px rgba(168, 158, 146, 0.2);
	transition: transform 420ms cubic-bezier(0.32, 0.72, 0, 1), background-color 420ms cubic-bezier(0.32, 0.72, 0, 1), border-color 420ms cubic-bezier(0.32, 0.72, 0, 1), box-shadow 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

body.woocommerce-cart .woocommerce-message .button:hover,
body.woocommerce-cart .woocommerce-message .button:focus,
body.woocommerce-cart .woocommerce-message a.button:hover,
body.woocommerce-cart .woocommerce-message a.button:focus {
	border-color: #92877c;
	background: #92877c;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 14px 24px rgba(146, 135, 124, 0.24);
}

body.woocommerce-cart .woocommerce-message .button:active,
body.woocommerce-cart .woocommerce-message a.button:active {
	transform: scale(0.98);
}

@media (max-width: 680px) {
	body.woocommerce-cart .woocommerce-notices-wrapper {
		margin-inline: 1rem;
	}

	body.woocommerce-cart .woocommerce-message {
		align-items: flex-start;
		flex-wrap: wrap;
		gap: 0.75rem;
		padding: 1rem;
		border-radius: 16px;
		font-size: 0.96rem;
	}

	body.woocommerce-cart .woocommerce-message .button,
	body.woocommerce-cart .woocommerce-message a.button {
		flex-basis: 100%;
		width: 100%;
		margin: 0.15rem 0 0;
	}
}

/* Checkout progression: delivery and payment are intentionally separate. */
.belloro-checkout__steps ol {
	grid-template-columns: repeat(4, minmax(92px, 128px));
}

.belloro-checkout__panel {
	min-width: 0;
}

.belloro-checkout.is-steps-ready .belloro-checkout__panel {
	grid-column: 1;
	grid-row: 1;
}

.belloro-checkout.is-steps-ready .belloro-checkout__summary {
	grid-column: 2;
	grid-row: 1;
}

.belloro-checkout.is-steps-ready .belloro-checkout__panel:not([hidden]) {
	animation: belloro-checkout-panel-in 620ms cubic-bezier(0.32, 0.72, 0, 1) both;
}

.belloro-checkout.is-steps-ready .belloro-checkout__panel[hidden] {
	display: none !important;
}

@keyframes belloro-checkout-panel-in {
	from {
		opacity: 0;
		transform: translateY(18px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.belloro-checkout__panel-actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-top: clamp(2rem, 4vw, 3rem);
	padding-top: 1.35rem;
	border-top: 1px solid rgba(168, 158, 146, 0.3);
}

.belloro-checkout__back {
	appearance: none;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--adena-muted);
	font-family: var(--adena-font-body);
	font-size: 0.92rem;
	font-weight: 500;
	line-height: 1.3;
	text-decoration: underline;
	text-decoration-color: rgba(127, 113, 104, 0.4);
	text-underline-offset: 0.3em;
	cursor: pointer;
	transition: color 420ms cubic-bezier(0.32, 0.72, 0, 1), text-decoration-color 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

.belloro-checkout__back:hover,
.belloro-checkout__back:focus {
	color: var(--adena-text);
	text-decoration-color: currentColor;
}

.belloro-checkout__continue {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.8rem;
	min-height: 58px;
	padding: 0.72rem 0.78rem 0.72rem 1.7rem;
	border: 0;
	border-radius: 999px;
	background: var(--adena-accent-dark);
	color: #fff;
	font-family: var(--adena-font-body);
	font-size: 0.98rem;
	font-weight: 700;
	box-shadow: 0 12px 24px rgba(168, 158, 146, 0.24);
	cursor: pointer;
	transition: transform 420ms cubic-bezier(0.32, 0.72, 0, 1), background-color 420ms cubic-bezier(0.32, 0.72, 0, 1), box-shadow 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

.belloro-checkout__continue-icon {
	display: inline-grid;
	place-items: center;
	width: 40px;
	height: 40px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.14);
	font-size: 1.05rem;
	transition: transform 420ms cubic-bezier(0.32, 0.72, 0, 1), background-color 420ms cubic-bezier(0.32, 0.72, 0, 1);
}

.belloro-checkout__continue:hover,
.belloro-checkout__continue:focus {
	background: #92877c;
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 15px 28px rgba(146, 135, 124, 0.28);
}

.belloro-checkout__continue:hover .belloro-checkout__continue-icon,
.belloro-checkout__continue:focus .belloro-checkout__continue-icon {
	background: rgba(255, 255, 255, 0.2);
	transform: translateX(3px);
}

.belloro-checkout__continue:active {
	transform: scale(0.98);
}

.belloro-checkout__payment-shell {
	padding: 5px;
	border: 1px solid rgba(168, 158, 146, 0.28);
	border-radius: 22px;
	background: rgba(168, 158, 146, 0.08);
	box-shadow: 0 18px 46px rgba(57, 43, 36, 0.06);
}

.belloro-checkout .belloro-checkout__payment-shell #payment {
	margin: 0;
	border-color: rgba(168, 158, 146, 0.32);
	border-radius: 17px;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.82);
}

.belloro-checkout__panel-actions--payment {
	justify-content: flex-start;
	margin-top: 1.4rem;
	padding-top: 0;
	border-top: 0;
}

@media (max-width: 860px) {
	.belloro-checkout.is-steps-ready .belloro-checkout__panel {
		grid-column: 1;
		grid-row: 1;
	}

	.belloro-checkout.is-steps-ready .belloro-checkout__summary {
		grid-column: 1;
		grid-row: 2;
	}
}

@media (max-width: 760px) {
	.belloro-checkout__steps ol {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: 0.45rem;
		width: 100%;
	}

	.belloro-checkout__steps li {
		font-size: 0.76rem;
	}

	.belloro-checkout__steps .belloro-cart-steps__icon {
		width: 44px;
		height: 44px;
	}
}

@media (max-width: 560px) {
	.belloro-checkout__panel-actions {
		align-items: stretch;
		flex-direction: column-reverse;
	}

	.belloro-checkout__continue {
		width: 100%;
	}

	.belloro-checkout__back {
		align-self: center;
	}
}

@media (prefers-reduced-motion: reduce) {
	.belloro-checkout.is-steps-ready .belloro-checkout__panel:not([hidden]) {
		animation: none;
	}
}

/* Checkout layout lock: WooCommerce and shipping plugins load late and can
   otherwise collapse fields or distort the order-review table. */
body.woocommerce-checkout .belloro-checkout,
body.woocommerce-checkout .belloro-checkout * {
	box-sizing: border-box;
}

body.woocommerce-checkout .belloro-checkout__steps {
	margin-bottom: clamp(2rem, 3.5vw, 3.25rem);
	padding: clamp(1.35rem, 2.5vw, 2rem);
	border: 1px solid rgba(168, 158, 146, 0.28);
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 18px 46px rgba(57, 43, 36, 0.05);
}

body.woocommerce-checkout .belloro-checkout__layout {
	grid-template-columns: minmax(0, 1.16fr) minmax(430px, 0.84fr);
	gap: clamp(2rem, 4vw, 4.5rem);
}

body.woocommerce-checkout .belloro-checkout__details,
body.woocommerce-checkout .belloro-checkout__payment {
	min-width: 0;
	padding: clamp(1.5rem, 3vw, 2.75rem);
	border: 1px solid rgba(168, 158, 146, 0.26);
	border-radius: 26px;
	background: #fff;
	box-shadow: 0 20px 52px rgba(57, 43, 36, 0.05);
}

body.woocommerce-checkout .belloro-checkout__summary {
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: clamp(1.35rem, 2.5vw, 2.25rem);
	border: 1px solid rgba(168, 158, 146, 0.3);
	border-radius: 26px;
	background: #fbfaf8;
	box-shadow: 0 20px 52px rgba(57, 43, 36, 0.055);
	overflow: hidden;
}

body.woocommerce-checkout .belloro-checkout__section-heading,
body.woocommerce-checkout .belloro-checkout__summary-heading {
	margin-bottom: clamp(1.75rem, 3vw, 2.5rem);
}

body.woocommerce-checkout .belloro-checkout__section-heading h1 {
	font-size: clamp(2.15rem, 3.5vw, 3.15rem);
}

body.woocommerce-checkout .belloro-checkout__summary-heading h2 {
	font-size: clamp(1.65rem, 2.25vw, 2.15rem);
}

body.woocommerce-checkout .belloro-checkout #customer_details,
body.woocommerce-checkout .belloro-checkout #customer_details .col-1,
body.woocommerce-checkout .belloro-checkout #customer_details .col-2 {
	float: none !important;
	width: 100% !important;
	max-width: none !important;
}

body.woocommerce-checkout .belloro-checkout .woocommerce-billing-fields__field-wrapper,
body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-fields__field-wrapper {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.15rem 1rem;
	width: 100%;
}

body.woocommerce-checkout .belloro-checkout #customer_details .form-row {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
}

body.woocommerce-checkout .belloro-checkout #customer_details .form-row-wide,
body.woocommerce-checkout .belloro-checkout #billing_country_field,
body.woocommerce-checkout .belloro-checkout #shipping_country_field,
body.woocommerce-checkout .belloro-checkout #billing_address_1_field,
body.woocommerce-checkout .belloro-checkout #billing_address_2_field,
body.woocommerce-checkout .belloro-checkout #shipping_address_1_field,
body.woocommerce-checkout .belloro-checkout #shipping_address_2_field,
body.woocommerce-checkout .belloro-checkout #billing_email_field,
body.woocommerce-checkout .belloro-checkout #shipping_email_field,
body.woocommerce-checkout .belloro-checkout #billing_phone_field,
body.woocommerce-checkout .belloro-checkout #shipping_phone_field {
	grid-column: 1 / -1;
}

body.woocommerce-checkout .belloro-checkout #customer_details .input-text,
body.woocommerce-checkout .belloro-checkout #customer_details select,
body.woocommerce-checkout .belloro-checkout #customer_details .select2-container,
body.woocommerce-checkout .belloro-checkout #customer_details .select2-selection--single {
	display: block;
	width: 100% !important;
	max-width: none !important;
}

body.woocommerce-checkout .belloro-checkout #customer_details .input-text,
body.woocommerce-checkout .belloro-checkout #customer_details select,
body.woocommerce-checkout .belloro-checkout #customer_details .select2-selection--single {
	min-height: 56px;
	padding: 0.85rem 1rem;
	border: 1px solid rgba(168, 158, 146, 0.42);
	border-radius: 13px;
	background: #fff;
	color: var(--adena-text);
	font-size: 1rem;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.9);
}

body.woocommerce-checkout .belloro-checkout #customer_details textarea.input-text {
	min-height: 132px;
}

body.woocommerce-checkout .belloro-checkout #customer_details .input-text:focus,
body.woocommerce-checkout .belloro-checkout #customer_details select:focus,
body.woocommerce-checkout .belloro-checkout #customer_details .select2-container--focus .select2-selection--single,
body.woocommerce-checkout .belloro-checkout #customer_details .select2-container--open .select2-selection--single {
	border-color: var(--adena-accent-dark);
	box-shadow: 0 0 0 4px rgba(168, 158, 146, 0.13);
}

body.woocommerce-checkout .belloro-checkout .woocommerce-checkout-review-order-table {
	width: 100% !important;
	max-width: 100%;
	margin: 0;
	table-layout: fixed;
}

body.woocommerce-checkout .belloro-checkout .woocommerce-checkout-review-order-table td.product-name {
	width: auto !important;
	min-width: 0;
	padding-right: 1rem;
}

body.woocommerce-checkout .belloro-checkout .woocommerce-checkout-review-order-table td.product-total {
	width: 118px;
	padding-left: 0.75rem;
	font-size: 1rem;
	vertical-align: middle;
}

body.woocommerce-checkout .belloro-checkout-product {
	display: grid !important;
	grid-template-columns: 88px minmax(0, 1fr) !important;
	gap: 1rem;
	align-items: center;
	width: 100%;
	min-width: 0;
}

body.woocommerce-checkout .belloro-checkout-product__media,
body.woocommerce-checkout .belloro-checkout-product__content,
body.woocommerce-checkout .belloro-checkout-product__name {
	min-width: 0;
	max-width: 100%;
}

body.woocommerce-checkout .belloro-checkout-product__media img {
	display: block;
	width: 88px;
	height: 88px;
	border-color: rgba(168, 158, 146, 0.3);
	border-radius: 16px;
}

body.woocommerce-checkout .belloro-checkout-product__name {
	color: var(--adena-text);
	font-size: 1rem;
	font-weight: 600;
	line-height: 1.35;
	overflow-wrap: anywhere;
}

body.woocommerce-checkout .belloro-checkout-product .variation {
	display: grid;
	grid-template-columns: minmax(82px, auto) minmax(0, 1fr);
	gap: 0.18rem 0.4rem;
	width: 100%;
	margin-top: 0.55rem;
	font-size: 0.8rem;
	line-height: 1.35;
}

body.woocommerce-checkout .belloro-checkout-product .variation dt,
body.woocommerce-checkout .belloro-checkout-product .variation dd,
body.woocommerce-checkout .belloro-checkout-product .variation p {
	display: block;
	min-width: 0;
	margin: 0;
	white-space: normal;
	overflow-wrap: anywhere;
}

body.woocommerce-checkout .belloro-checkout-product .variation dt {
	font-weight: 600;
}

body.woocommerce-checkout .belloro-checkout-product .variation dd::after {
	display: none;
}

body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-totals th,
body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-totals td {
	vertical-align: top;
}

body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-methods {
	display: grid;
	gap: 0.75rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-methods li {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 0.6rem;
	align-items: start;
	margin: 0;
	padding: 0.75rem;
	border-radius: 12px;
	background: rgba(255, 255, 255, 0.68);
}

body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-methods input[type="radio"] {
	margin-top: 0.3rem;
	accent-color: var(--adena-accent-dark);
}

body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-methods label {
	min-width: 0;
	color: var(--adena-text);
	font-size: 0.92rem;
	font-weight: 600;
	line-height: 1.35;
}

body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-totals .button,
body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-totals button,
body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-methods .button,
body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-methods button {
	min-height: 46px;
	margin: 0.75rem 0 0;
	padding: 0.7rem 1.2rem;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--adena-accent-dark) !important;
	color: #fff !important;
	font-family: var(--adena-font-body);
	font-size: 0.88rem;
	font-weight: 600;
	box-shadow: 0 10px 22px rgba(168, 158, 146, 0.2) !important;
}

body.woocommerce-checkout .belloro-checkout #payment input[type="radio"],
body.woocommerce-checkout .belloro-checkout #payment input[type="checkbox"] {
	accent-color: var(--adena-accent-dark);
}

body.woocommerce-checkout .belloro-checkout #payment .payment_box,
body.woocommerce-checkout .belloro-checkout #payment .payment_box * {
	border-color: rgba(168, 158, 146, 0.34) !important;
}

body.woocommerce-checkout .belloro-checkout #payment .payment_box,
body.woocommerce-checkout .belloro-checkout #payment .payment_box p,
body.woocommerce-checkout .belloro-checkout #payment .payment_box label {
	color: var(--adena-text) !important;
}

body.woocommerce-checkout .belloro-checkout #payment .payment_box a {
	color: var(--adena-accent-dark) !important;
}

@media (max-width: 1100px) {
	body.woocommerce-checkout .belloro-checkout__layout {
		grid-template-columns: minmax(0, 1fr) minmax(370px, 0.82fr);
		gap: 2rem;
	}

	body.woocommerce-checkout .belloro-checkout-product {
		grid-template-columns: 72px minmax(0, 1fr) !important;
	}

	body.woocommerce-checkout .belloro-checkout-product__media img {
		width: 72px;
		height: 72px;
	}
}

@media (max-width: 860px) {
	body.woocommerce-checkout .belloro-checkout__layout {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-checkout .belloro-checkout__summary {
		position: static;
	}
}

@media (max-width: 600px) {
	body.woocommerce-checkout .belloro-checkout__steps {
		padding: 1rem 0.65rem;
		border-radius: 18px;
	}

	body.woocommerce-checkout .belloro-checkout__details,
	body.woocommerce-checkout .belloro-checkout__payment,
	body.woocommerce-checkout .belloro-checkout__summary {
		padding: 1.15rem;
		border-radius: 20px;
	}

	body.woocommerce-checkout .belloro-checkout .woocommerce-billing-fields__field-wrapper,
	body.woocommerce-checkout .belloro-checkout .woocommerce-shipping-fields__field-wrapper {
		grid-template-columns: minmax(0, 1fr);
	}

	body.woocommerce-checkout .belloro-checkout #customer_details .form-row {
		grid-column: 1 !important;
	}

	body.woocommerce-checkout .belloro-checkout .woocommerce-checkout-review-order-table td.product-total {
		width: 88px;
		padding-left: 0.45rem;
		font-size: 0.9rem;
	}

	body.woocommerce-checkout .belloro-checkout-product {
		grid-template-columns: 58px minmax(0, 1fr) !important;
		gap: 0.7rem;
	}

	body.woocommerce-checkout .belloro-checkout-product__media img {
		width: 58px;
		height: 58px;
		border-radius: 12px;
	}

	body.woocommerce-checkout .belloro-checkout-product .variation {
		grid-template-columns: 1fr;
		gap: 0.08rem;
	}
}
