/**
 * Oudyssey — luxury design system
 */

:root {
	--oud-bg: #f7f3ed;
	--oud-bg-footer: #ede6dc;
	--oud-text: #1a1614;
	--oud-accent: #3d2b1f;
	--oud-gold: #d4bc82;
	--oud-muted: #8a8178;
	--oud-border: rgba(26, 22, 20, 0.08);
	--oud-radius: 0;
	--oud-space-section: clamp(5rem, 10vw, 9rem);
	--oud-font-serif: "Cormorant Garamond", "Crimson Text", Georgia, serif;
	--oud-font-sans: "Jost", "DM Sans", system-ui, sans-serif;
	--oud-transition: 0.45s cubic-bezier(0.25, 0.1, 0.25, 1);
	--oud-z-header: 10000;
	--oud-z-cart-dropdown: 100000;
	--oud-mini-cart-bg: #f7f3ed;
}

/* —— Interactive cursors (site-wide) —— */
body :is(
	a[href],
	area[href],
	button:not(:disabled),
	[role="button"]:not([aria-disabled="true"]),
	[role="link"],
	label[for],
	select:not(:disabled),
	summary,
	input[type="submit"],
	input[type="button"],
	input[type="reset"],
	input[type="checkbox"],
	input[type="radio"],
	input[type="image"],
	[onclick],
	[tabindex]:not([tabindex="-1"]):not(input):not(textarea):not(select),
	.oud-tool--wishlist,
	.oud-tool--account,
	.search-button,
	.oud-tool--cart .cart-link,
	.oud-btn,
	.oud-tool,
	.oud-nav__link,
	.oud-nav__item--has-children > .oud-nav__link,
	.cart-link,
	.canvas-toggle,
	.quick-button,
	.add_to_cart_button,
	.added_to_cart,
	.product_type_simple,
	.product_type_variable,
	.woocommerce-loop-product__link,
	.woocommerce-LoopProduct-link,
	.wc-block-components-product-button__button,
	.wc-block-components-product-image a,
	.page-numbers:not(.dots),
	.remove,
	.oud-product-card,
	.oud-product-card__link,
	.oud-product-card__title a,
	.oud-product-card__wishlist,
	.oud-product-card__wishlist-btn,
	.oud-logo a,
	.oud-header__brand .oud-logo,
	.oud-copyright__link,
	.oud-catalog-filters__link,
	.oud-catalog-filters__item a,
	.oud-catalog-cats__item a,
	.oud-catalog-toolbar__filter-btn,
	.oud-pdp-gallery__thumb,
	.oud-pdp-accordion__trigger,
	.oud-carousel-arrow,
	.oud-collections__carousel .slick-arrow,
	.tinv-wraper,
	.tinv-wraper a,
	.tinv-wishlist a,
	.tinvwl_add_to_wishlist_button,
	.tinvwl_add_to_wishlist-text,
	a.tinvwl-button,
	.wishlist_products_counter,
	ul.products li.product .product-content,
	ul.products li.product .product-action a,
	ul.products li.product .product-action button,
	.product-action .tinv-wraper,
	.woocommerce-mini-cart-item a.remove,
	.woocommerce-message a,
	.woocommerce-info a,
	.woocommerce-error a
) {
	cursor: pointer !important;
}

/* Wishlist controls — text + icon variants (TI plugin, loop, cart, PDP) */
.tinvwl_add_to_wishlist_button,
.tinvwl_add_to_wishlist_button::before,
.tinvwl_add_to_wishlist_button::after,
a.tinvwl_add_to_wishlist_button,
.tinv-wraper a,
.tinv-wraper .tinvwl_add_to_wishlist-text,
.product-action .tinvwl_add_to_wishlist_button,
.oud-product-card__wishlist .tinvwl_add_to_wishlist_button,
.oud-pdp-buy__wishlist .tinvwl_add_to_wishlist_button,
body.oud-cart .tinvwl_add_to_wishlist_button,
body.oud-cart .tinvwl_add_to_wishlist-text {
	cursor: pointer !important;
}

/* Text fields keep I-beam / default */
body :is(
	input:not([type="button"]):not([type="submit"]):not([type="reset"]):not([type="checkbox"]):not([type="radio"]):not([type="image"]):not([type="hidden"]):not([type="file"]),
	textarea
) {
	cursor: text !important;
}

body :is(button:disabled, input:disabled, select:disabled, [disabled], [aria-disabled="true"]) {
	cursor: not-allowed !important;
}

/* —— Base overrides —— */
body.oudyssey-luxury,
body.oud-home {
	background-color: var(--oud-bg);
	color: var(--oud-text);
	font-family: var(--oud-font-sans);
}

body.oudyssey-luxury .site-primary,
body.oudyssey-luxury .site-content,
body.oudyssey-luxury .main-content,
body.oud-home .site-primary,
body.oud-home .site-content,
body.oud-home .main-content {
	background-color: var(--oud-bg);
}

body.oudyssey-luxury h1,
body.oudyssey-luxury h2,
body.oudyssey-luxury h3,
body.oud-home h1,
body.oud-home h2,
body.oud-home h3 {
	font-family: var(--oud-font-serif);
	font-weight: 500;
}

body.oud-home .site-primary,
body.oud-home .main-content {
	padding: 0;
	max-width: none;
}

body.oud-home .oud-homepage {
	overflow-x: hidden;
}

/* —— Buttons —— */
.oud-btn {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	padding: 1rem 1.75rem;
	background: var(--oud-accent);
	color: #fff;
	font-family: var(--oud-font-sans);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border: 1px solid var(--oud-accent);
	transition: background var(--oud-transition), color var(--oud-transition), border-color var(--oud-transition);
}

.oud-btn:hover,
.oud-btn:focus-visible {
	background: transparent;
	color: var(--oud-accent);
}

.oud-btn--ghost {
	background: transparent;
	color: var(--oud-accent);
	border-color: var(--oud-accent);
}

.oud-btn--ghost:hover,
.oud-btn--ghost:focus-visible {
	background: var(--oud-accent);
	color: #fff;
}

.oud-btn__arrow {
	font-size: 1rem;
	transition: transform var(--oud-transition);
}

.oud-btn:hover .oud-btn__arrow {
	transform: translateX(4px);
}

/* —— Header —— */
.site-header.header-transparent.oud-header {
	position: fixed !important;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: var(--oud-z-header);
	background: transparent;
	overflow: visible;
	transition: background var(--oud-transition), box-shadow var(--oud-transition), padding var(--oud-transition);
}

body.admin-bar .site-header.header-transparent.oud-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	body.admin-bar .site-header.header-transparent.oud-header {
		top: 46px;
	}
}

.oud-header.is-scrolled {
	background: rgba(247, 243, 237, 0.96);
	backdrop-filter: blur(12px);
	box-shadow: 0 1px 0 var(--oud-border);
}

.oud-header__inner {
	padding: 1.25rem 0;
	transition: padding var(--oud-transition);
}

.oud-header .container {
	max-width: 1280px;
}

.oud-header.is-scrolled .oud-header__inner {
	padding: 0.75rem 0;
}

.oud-header__row {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) auto minmax(0, 0.8fr);
	align-items: center;
	gap: 0.75rem 1.25rem;
}

.oud-header__nav {
	justify-self: start;
	min-width: 0;
}

.oud-header__brand {
	justify-self: center;
}

.oud-header__tools {
	justify-self: end;
	display: flex;
	align-items: center;
}

.oud-header__tools-inner {
	display: flex;
	align-items: center;
	gap: 1.35rem;
}

.oud-tool {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--oud-text);
	text-decoration: none;
	cursor: pointer !important;
	font-family: var(--oud-font-sans);
	font-size: 0.7rem;
	line-height: 1;
}

.oud-tool .oud-icon {
	display: block;
	transition: opacity var(--oud-transition);
	pointer-events: none;
}

/* SVG is the hover target; Customizer CSS sets * { cursor: auto !important } */
.site-header.oud-header .oud-header__tools-inner :is(a.oud-tool, button.oud-tool, .cart-link),
.site-header.oud-header .oud-header__tools-inner :is(a.oud-tool, button.oud-tool, .cart-link) :is(svg, .oud-icon, path, circle),
.site-header.oud-header .oud-header__mobile .oud-header__tools-inner :is(a.oud-tool, .cart-link),
.site-header.oud-header .oud-header__mobile .oud-header__tools-inner :is(a.oud-tool, .cart-link) :is(svg, .oud-icon, path, circle) {
	cursor: pointer !important;
}

/* Header topbar icons — pointer + no Cosmetsy button hover fill */
.site-header.oud-header .oud-header__tools-inner .oud-tool,
.site-header.oud-header .oud-header__tools-inner .quick-button,
.site-header.oud-header .oud-header__tools-inner .cart-link,
.site-header.oud-header .oud-header__tools-inner .oud-tool__count {
	cursor: pointer !important;
}

.site-header.oud-header .oud-header__tools-inner :is(button.oud-tool, a.oud-tool):hover,
.site-header.oud-header .oud-header__tools-inner :is(button.oud-tool, a.oud-tool):focus-visible {
	background: transparent !important;
	background-color: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	color: var(--oud-text) !important;
	opacity: 1;
}

.site-header.oud-header .oud-header__tools-inner .oud-tool:hover .oud-icon,
.site-header.oud-header .oud-header__tools-inner .oud-tool:focus-visible .oud-icon {
	opacity: 0.65;
}

.site-header.oud-header .oud-header__tools-inner button.oud-tool.search-button,
.site-header.oud-header .oud-header__tools-inner button.search-button.oud-tool {
	-webkit-appearance: none;
	appearance: none;
}

.site-header.oud-header .oud-header__tools-inner button.oud-tool.search-button:hover,
.site-header.oud-header .oud-header__tools-inner button.oud-tool.search-button:focus-visible,
.site-header.oud-header .oud-header__tools-inner button.search-button.oud-tool:hover,
.site-header.oud-header .oud-header__tools-inner button.search-button.oud-tool:focus-visible {
	background: transparent !important;
	background-color: transparent !important;
}

.oud-tool__count:empty {
	display: none;
}

.oud-tool__count {
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.02em;
}

.oud-header .oud-header__tools,
.oud-header .oud-header__tools--mobile {
	position: relative;
	z-index: 2;
}

.oud-header .oud-tool--cart {
	position: relative;
}

.oud-header .oud-tool--cart:hover,
.oud-header .oud-tool--cart:focus-within,
.oud-header .oud-tool--cart.is-mini-cart-open {
	z-index: var(--oud-z-cart-dropdown);
	opacity: 1;
}

.oud-header .oud-tool--cart .cart-link {
	color: var(--oud-text);
	text-decoration: none;
}

.oud-header .oud-tool--cart .oud-tool__count {
	color: var(--oud-accent);
}

.oud-header .oud-tool--cart .woo-mini-cart {
	position: fixed;
	top: var(--oud-mini-cart-top, calc(var(--oud-header-offset, 5.75rem) + 0.5rem));
	right: var(--oud-mini-cart-right, 1.25rem);
	left: auto;
	min-width: 20rem;
	max-width: min(20rem, calc(100vw - 2rem));
	background-color: var(--oud-mini-cart-bg) !important;
	background-image: none !important;
	color: var(--oud-text);
	border: 1px solid var(--oud-border);
	border-radius: var(--oud-radius);
	box-shadow: 0 20px 56px rgba(26, 22, 20, 0.18);
	opacity: 1 !important;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(0.35rem);
	transition:
		visibility 0.25s ease,
		transform 0.25s ease;
	z-index: var(--oud-z-cart-dropdown);
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	isolation: isolate;
	overflow: hidden;
}

.oud-header .oud-tool--cart:hover .woo-mini-cart,
.oud-header .oud-tool--cart:focus-within .woo-mini-cart,
.oud-header .oud-tool--cart.is-mini-cart-open .woo-mini-cart,
.site-header.oud-header .quick-button.mini-cart:hover .woo-mini-cart {
	visibility: visible;
	pointer-events: auto;
	transform: translateY(0);
}

body.oud-mini-cart-open .site-header.oud-header {
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
}

body.oud-mini-cart-open .site-header.oud-header.is-scrolled {
	background-color: var(--oud-mini-cart-bg) !important;
}

/* Mini-cart panel — Oudyssey tokens (override Cosmetsy coral/salmon) */
.site-header.oud-header .quick-button.mini-cart .woo-mini-cart::before,
.site-header.oud-header .quick-button.mini-cart .woo-mini-cart::after {
	display: none;
}

.site-header.oud-header .quick-button.mini-cart .woo-mini-cart--body,
.site-header.oud-header .quick-button.mini-cart .fl-mini-cart-content {
	padding: 1.35rem 1.35rem 1.15rem;
	background-color: var(--oud-mini-cart-bg) !important;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__total,
.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__buttons {
	background-color: var(--oud-mini-cart-bg);
}

.site-header.oud-header .quick-button.mini-cart .woo-mini-cart--body .woocommerce-mini-cart__empty-message {
	font-family: var(--oud-font-sans);
	font-size: 0.75rem;
	color: var(--oud-muted);
	text-align: center;
	margin: 0;
}

.site-header.oud-header .quick-button.mini-cart ul.woocommerce-mini-cart {
	max-height: 16rem !important;
	margin: 0;
	padding: 0;
	list-style: none;
}

.site-header.oud-header .quick-button.mini-cart ul.woocommerce-mini-cart::-webkit-scrollbar {
	width: 3px;
}

.site-header.oud-header .quick-button.mini-cart ul.woocommerce-mini-cart::-webkit-scrollbar-track {
	background: var(--oud-bg-footer);
}

.site-header.oud-header .quick-button.mini-cart ul.woocommerce-mini-cart::-webkit-scrollbar-thumb {
	background: var(--oud-muted);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item + .woocommerce-mini-cart-item {
	margin-top: 1rem;
	padding-top: 1rem;
	border-top: 1px solid var(--oud-border);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .product-thumbnail {
	flex: 0 0 3rem;
	max-width: 3rem;
	margin: 0;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .product-thumbnail img {
	display: block;
	width: 100%;
	height: auto;
	border: 1px solid var(--oud-border);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .product-detail {
	flex: 1 1 auto;
	min-width: 0;
	padding-right: 1.35rem;
	white-space: normal;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .product-detail .entry-name {
	font-family: var(--oud-font-sans);
	font-size: 0.8rem;
	font-weight: 500;
	line-height: 1.35;
	margin: 0 0 0.25rem;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .product-detail .entry-name a {
	color: var(--oud-text);
	text-decoration: none;
	transition: color var(--oud-transition);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .product-detail .entry-name a:hover {
	color: var(--oud-accent);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .product-detail .entry-price {
	font-family: var(--oud-font-sans);
	font-size: 0.75rem;
	color: var(--oud-muted);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .product-detail .entry-price .quantity {
	border: 0;
	padding: 0;
	margin: 0;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .remove {
	position: absolute;
	top: 0;
	right: 0;
	width: 1.125rem;
	height: 1.125rem;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 0.65rem;
	line-height: 1;
	color: var(--oud-muted);
	background: transparent;
	border: 1px solid var(--oud-border);
	border-radius: 0;
	transition:
		background var(--oud-transition),
		color var(--oud-transition),
		border-color var(--oud-transition);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart-item .remove:hover {
	color: #fff;
	background: var(--oud-accent);
	border-color: var(--oud-accent);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__total {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin: 1.15rem 0 0;
	padding-top: 1.15rem;
	border-top: 1px solid var(--oud-border);
	line-height: 1.2;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__total strong {
	font-family: var(--oud-font-sans);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--oud-muted);
	opacity: 1;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__total .amount {
	font-family: var(--oud-font-serif);
	font-size: 1.15rem;
	font-weight: 500;
	color: var(--oud-text);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__buttons {
	display: flex;
	flex-direction: column;
	gap: 0.55rem;
	margin: 1rem 0 0;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__buttons .button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	height: auto;
	padding: 0.85rem 1.25rem !important;
	font-family: var(--oud-font-sans) !important;
	font-size: 0.65rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 0 !important;
	transition:
		background var(--oud-transition),
		color var(--oud-transition),
		border-color var(--oud-transition);
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout) {
	color: var(--oud-accent) !important;
	background-color: var(--oud-mini-cart-bg) !important;
	border: 1px solid var(--oud-accent) !important;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout):hover {
	color: #fff !important;
	background-color: var(--oud-accent) !important;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__buttons .button.checkout {
	color: #fff !important;
	background-color: var(--oud-accent) !important;
	border: 1px solid var(--oud-accent) !important;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__buttons .button.checkout:hover {
	color: var(--oud-accent) !important;
	background-color: var(--oud-mini-cart-bg) !important;
}

.site-header.oud-header .quick-button.mini-cart .woocommerce-mini-cart__buttons .button + .button {
	margin-top: 0;
}

.site-header.oud-header .quick-button.mini-cart .woo-mini-cart--body a:not(.button):not(.remove):not(.product-thumbnail a) {
	font-family: var(--oud-font-sans);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.08em;
	color: var(--oud-muted);
	text-decoration: none;
	transition: color var(--oud-transition);
}

.site-header.oud-header .quick-button.mini-cart .woo-mini-cart--body a:not(.button):not(.remove):not(.product-thumbnail a):hover {
	color: var(--oud-accent);
}

body.oudyssey-luxury .site-primary,
body.oud-home .site-primary {
	position: relative;
	z-index: 0;
}

.oud-header__mobile {
	display: none;
	grid-column: 1 / -1;
	width: 100%;
}

.oud-header__mobile-row {
	margin: 0;
	width: 100%;
	min-height: 2.75rem;
}

.oud-header__mobile-row > .col {
	padding-left: 0;
	padding-right: 0;
}

.oud-header__mobile .oud-header__menu-toggle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.75rem;
	height: 2.75rem;
	min-width: 2.75rem;
	min-height: 2.75rem;
	padding: 0;
	border: 0;
	margin: 0;
	background: transparent;
	cursor: pointer;
	color: #1a1614;
	-webkit-tap-highlight-color: transparent;
}

.oud-header__mobile .oud-header__menu-toggle .oud-icon,
.oud-header__mobile .oud-header__menu-toggle svg {
	display: block;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}

.oud-header__mobile .oud-header__menu-toggle svg path {
	stroke: #1a1614;
}

.oud-header__mobile .col-middle {
	justify-content: center;
	text-align: center;
	overflow: hidden;
}

.oud-header__mobile-cart .oud-header__tools--mobile {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 2.75rem;
}

.oud-header__mobile-cart .oud-header__tools-inner {
	gap: 0;
}

.site-header.oud-header .oud-header__mobile .oud-tool,
.site-header.oud-header .oud-header__mobile .cart-link {
	color: #1a1614;
	cursor: pointer !important;
}

.site-header.oud-header .oud-header__mobile .oud-tool .oud-icon path {
	stroke: #1a1614;
}

.site-header.oud-header .oud-header__mobile .oud-tool:hover,
.site-header.oud-header .oud-header__mobile .oud-tool:focus-visible {
	background: transparent !important;
	background-color: transparent !important;
}

/* Mobile offcanvas — class toggle fallback + bundle.js compat */
.site-offcanvas.oud-is-open {
	transform: translateX(0) !important;
}

.site-overlay.oud-is-open {
	opacity: 1 !important;
	visibility: visible !important;
}

body.oud-mobile-nav-open {
	overflow: hidden;
}

/* Mobile offcanvas menu */
.oud-mobile-menu {
	background-color: var(--oud-bg);
	color: var(--oud-text);
}

.oud-mobile-menu .site-scroll {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.oud-mobile-menu .site-offcanvas--header {
	display: grid;
	grid-template-columns: 2.25rem 1fr 2.25rem;
	align-items: center;
	padding: 1.25rem 1.25rem 0;
}

.oud-mobile-menu .site-offcanvas--header .site-brand {
	grid-column: 2;
	justify-self: center;
	text-align: center;
}

.oud-mobile-menu .site-offcanvas--header .site-brand .oud-logo,
.oud-mobile-menu .site-offcanvas--header .site-brand .oud-logo__text {
	align-items: center;
}

.oud-mobile-menu .site-offcanvas--header .site-brand .oud-logo__text,
.oud-mobile-menu .site-offcanvas--header .site-brand .oud-logo__mark,
.oud-mobile-menu .site-offcanvas--header .site-brand .oud-logo__name {
	color: var(--oud-text);
}

.oud-mobile-menu .offcanvas-close {
	grid-column: 3;
	justify-self: end;
	color: var(--oud-text);
	background: transparent;
	border: 0;
	cursor: pointer;
}

.oud-mobile-menu .site-offcanvas--main {
	flex: 1 1 auto;
}

.oud-mobile-menu .site-offcanvas--footer {
	flex-shrink: 0;
	margin-top: auto;
	padding: 1.25rem 1.25rem 2rem;
	text-align: center;
}

.oud-mobile-menu .site-offcanvas--footer .oud-copyright {
	width: 100%;
}

.oud-mobile-menu .mobile-menu .menu > .menu-item > a,
.oud-mobile-menu .mobile-menu .oud-nav__list .oud-nav__link {
	font-family: var(--oud-font-sans);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--oud-text);
}

.oud-mobile-menu .mobile-menu .menu > .menu-item + .menu-item,
.oud-mobile-menu .mobile-menu .oud-nav__list .oud-nav__item + .oud-nav__item {
	margin-top: 0.25rem;
}

.oud-nav__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: clamp(0.65rem, 1.1vw, 1.35rem);
	list-style: none;
	margin: 0;
	padding: 0;
}

.oud-nav__item {
	flex-shrink: 0;
}

.oud-nav__link {
	display: block;
	font-size: clamp(0.58rem, 0.55rem + 0.12vw, 0.65rem);
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--oud-text);
	text-decoration: none;
	transition: opacity var(--oud-transition);
	cursor: pointer;
}

.oud-nav__link:hover {
	opacity: 0.6;
}

.oud-nav__item--has-panel {
	position: relative;
}

.oud-nav__item--has-panel.is-active > .oud-nav__link,
.oud-nav__item--has-panel:focus-within > .oud-nav__link {
	opacity: 0.6;
}

.oud-nav__caret {
	display: inline-block;
	width: 0;
	height: 0;
	margin-left: 0.35rem;
	border-left: 0.22rem solid transparent;
	border-right: 0.22rem solid transparent;
	border-top: 0.28rem solid currentColor;
	opacity: 0.45;
	vertical-align: middle;
	transform: translateY(-1px);
}

.oud-nav__panels {
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	z-index: 1001;
	pointer-events: none;
}

.oud-nav__panel {
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transform: translateY(0.35rem);
	transition:
		opacity 0.22s ease,
		visibility 0.22s ease,
		transform 0.22s ease;
}

.oud-nav__panel.is-active {
	pointer-events: auto;
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.oud-nav__panel--flyout {
	position: fixed;
	top: var(--flyout-top, var(--oud-header-offset, 4.5rem));
	left: var(--flyout-left, 0);
	width: min(15rem, calc(100vw - 2rem));
	z-index: 1002;
}

.oud-nav__panel--flyout .oud-nav__panel-inner {
	background: rgba(247, 243, 237, 0.98);
	border: 1px solid var(--oud-border);
	box-shadow: 0 12px 32px rgba(26, 22, 20, 0.1);
	padding: 0.65rem 0;
}

.oud-nav__flyout-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.oud-nav__flyout-item + .oud-nav__flyout-item {
	margin-top: 0.1rem;
}

.oud-nav__flyout-link {
	display: block;
	padding: 0.55rem 1.1rem;
	font-family: var(--oud-font-sans);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--oud-text);
	transition: background var(--oud-transition), opacity var(--oud-transition);
}

.oud-nav__flyout-link:hover,
.oud-nav__flyout-link:focus-visible {
	background: rgba(26, 22, 20, 0.04);
	opacity: 0.75;
}

.oud-nav__panel--mega .oud-nav__panel-inner {
	background: rgba(247, 243, 237, 0.98);
	border-top: 1px solid var(--oud-border);
	box-shadow: 0 16px 40px rgba(26, 22, 20, 0.08);
	padding: 2rem 0 2.25rem;
}

.oud-nav__mega {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 2.5rem;
	align-items: start;
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 clamp(1rem, 3vw, 2rem);
}

.oud-nav__mega-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr));
	gap: 1.75rem 2.5rem;
	min-width: 0;
}

.oud-nav__mega-heading {
	font-family: var(--oud-font-serif);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 0.75rem;
	color: var(--oud-text);
}

.oud-nav__mega-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.oud-nav__mega-item + .oud-nav__mega-item {
	margin-top: 0.35rem;
}

.oud-nav__mega-link {
	display: inline-block;
	font-family: var(--oud-font-sans);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--oud-muted);
	transition: color var(--oud-transition), opacity var(--oud-transition);
}

.oud-nav__mega-link--solo {
	font-size: 0.72rem;
	color: var(--oud-text);
}

.oud-nav__mega-link:hover,
.oud-nav__mega-link:focus-visible {
	color: var(--oud-text);
	opacity: 0.7;
}

.oud-nav__featured {
	min-width: 14rem;
	max-width: 18rem;
	padding-left: 2rem;
	border-left: 1px solid var(--oud-border);
}

.oud-nav__featured-kicker {
	font-family: var(--oud-font-sans);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin: 0 0 0.65rem;
}

.oud-nav__featured-text {
	font-family: var(--oud-font-serif);
	font-size: 1.05rem;
	line-height: 1.45;
	color: var(--oud-text);
	margin: 0 0 1rem;
}

.oud-nav__featured-cta {
	font-family: var(--oud-font-sans);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--oud-text);
	border-bottom: 1px solid currentColor;
	padding-bottom: 0.15rem;
	transition: opacity var(--oud-transition);
}

.oud-nav__featured-cta:hover,
.oud-nav__featured-cta:focus-visible {
	opacity: 0.65;
}

.oud-logo__text {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-decoration: none;
	color: var(--oud-text);
	cursor: pointer;
}

.oud-logo__mark {
	font-family: var(--oud-font-serif);
	font-size: 1.75rem;
	line-height: 1;
}

.oud-logo__name {
	font-size: 0.55rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	font-weight: 500;
}

.oud-logo__img {
	max-height: 48px;
	width: auto;
	cursor: pointer;
}

body.oud-home {
	padding-top: 0;
}

body.oud-home .oud-header + .site-primary,
body.oud-home .site-header.oud-header ~ .site-primary {
	margin-top: 0;
}

/* —— Hero —— */
.oud-hero {
	position: relative;
	min-height: 100vh;
	display: flex;
	align-items: center;
	padding: calc(6rem + 80px) 0 4rem;
	overflow: hidden;
}

.oud-hero__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
	overflow: hidden;
}

.oud-hero__bg-img {
	width: 100%;
	height: 120%;
	object-fit: cover;
	object-position: center;
	will-change: transform;
}

.oud-hero__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(247, 243, 237, 0.94) 0%,
		rgba(247, 243, 237, 0.72) 42%,
		rgba(247, 243, 237, 0.25) 68%,
		transparent 100%
	);
}

.oud-hero__grain {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	opacity: 0.04;
	background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

.oud-hero__container {
	position: relative;
	z-index: 2;
}

.oud-hero__content {
	max-width: 36rem;
}

.oud-hero__tagline {
	font-size: 0.7rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin-bottom: 1rem;
}

.oud-hero__title {
	font-size: clamp(2.25rem, 4.5vw, 3.75rem);
	line-height: 1.15;
	margin: 0 0 1.5rem;
	max-width: 18ch;
}

.oud-hero__text {
	font-size: 1rem;
	line-height: 1.7;
	color: var(--oud-muted);
	max-width: 42ch;
	margin-bottom: 2rem;
}

.oud-hero__scroll {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 2;
	opacity: 0.5;
	transition: opacity var(--oud-transition);
}

.oud-hero__scroll.is-hidden {
	opacity: 0;
}

.oud-hero__scroll-icon {
	display: block;
	width: 22px;
	height: 36px;
	border: 1px solid var(--oud-text);
	border-radius: 12px;
	position: relative;
}

.oud-hero__scroll-icon::after {
	content: "";
	position: absolute;
	top: 6px;
	left: 50%;
	width: 3px;
	height: 6px;
	background: var(--oud-text);
	border-radius: 2px;
	transform: translateX(-50%);
	animation: oudScrollDot 1.8s ease-in-out infinite;
}

@keyframes oudScrollDot {
	0%, 100% { opacity: 1; transform: translateX(-50%) translateY(0); }
	50% { opacity: 0.3; transform: translateX(-50%) translateY(8px); }
}

/* —— Trust bar —— */
.oud-trust {
	border-top: 1px solid var(--oud-border);
	border-bottom: 1px solid var(--oud-border);
	padding: 1.75rem 0;
	background: var(--oud-bg);
}

.oud-trust__list {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.oud-trust__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	gap: 0.85rem;
}

.oud-trust__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--oud-accent);
}

.oud-trust__copy {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.oud-trust__label {
	font-size: 0.6rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	font-weight: 500;
}

.oud-trust__sub {
	font-size: 0.72rem;
	color: var(--oud-muted);
	line-height: 1.4;
}

/* —— Sections —— */
.oud-collections,
.oud-journal {
	padding: var(--oud-space-section) 0;
}

.oud-section-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 1.5rem;
	margin-bottom: 3rem;
}

.oud-section-head__eyebrow {
	font-size: 0.65rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin: 0 0 0.5rem;
}

.oud-section-head__title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin: 0;
	max-width: 20ch;
	line-height: 1.2;
}

/* —— Product cards —— */
.oud-product-card {
	text-align: center;
	padding: 0 0.5rem;
	cursor: pointer;
}

.oud-product-card__media {
	position: relative;
	margin-bottom: 1.25rem;
	overflow: hidden;
	background: #f0ebe3;
	padding: 1.5rem 1rem 1rem;
}

.oud-product-card__link {
	display: block;
	text-decoration: none;
	cursor: pointer;
}

.oud-product-card__images {
	position: relative;
	display: block;
	width: 100%;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	isolation: isolate;
	background: #fff;
}

.oud-product-card__img {
	display: block;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: contain;
	object-position: center center;
}

.oud-product-card__img--primary {
	position: absolute;
	inset: 0;
	z-index: 1;
	transition:
		opacity 0.55s cubic-bezier(0.25, 0.1, 0.25, 1),
		transform 0.7s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.oud-product-card--has-alt .oud-product-card__images:hover .oud-product-card__img--primary,
.oud-product-card--has-alt .oud-product-card__images:focus-within .oud-product-card__img--primary {
	opacity: 0;
	transform: scale(1.015);
}

.oud-product-card__reveal {
	position: absolute;
	inset: 0;
	z-index: 2;
	opacity: 0;
	transition: opacity 0.55s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.oud-product-card--has-alt .oud-product-card__images:hover .oud-product-card__reveal,
.oud-product-card--has-alt .oud-product-card__images:focus-within .oud-product-card__reveal {
	opacity: 1;
}

.oud-product-card__img--secondary {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	max-height: none;
	object-fit: contain;
	object-position: center center;
	pointer-events: none;
	transform: scale(1.02);
	transition: transform 0.7s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.oud-product-card--has-alt .oud-product-card__images:hover .oud-product-card__img--secondary,
.oud-product-card--has-alt .oud-product-card__images:focus-within .oud-product-card__img--secondary {
	transform: scale(1);
}

.oud-product-card:not(.oud-product-card--has-alt):hover .oud-product-card__img {
	transform: scale(1.03);
}

.oud-product-card__wishlist {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	opacity: 0;
	transition: opacity var(--oud-transition);
}

.oud-product-card:hover .oud-product-card__wishlist {
	opacity: 1;
}

.oud-product-card__brand {
	font-size: 0.6rem;
	letter-spacing: 0.16em;
	color: var(--oud-muted);
	margin: 0 0 0.35rem;
}

.oud-product-card__title {
	font-family: var(--oud-font-serif);
	font-size: 1.1rem;
	font-weight: 500;
	margin: 0 0 0.5rem;
}

.oud-product-card__title a {
	color: inherit;
	text-decoration: none;
}

.oud-product-card__price {
	font-size: 0.85rem;
	color: var(--oud-text);
}

.oud-product-card__price .amount {
	font-weight: 500;
}

.oudyssey-luxury ul.products li.product {
	background: transparent;
	border: none;
	box-shadow: none;
	padding: 0;
}

.oudyssey-luxury ul.products li.product::before {
	display: none;
}

.oudyssey-luxury ul.products {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3rem 2rem;
}

/* —— Shop / catalog page —— */
body.oud-catalog,
body.oudyssey-luxury:has(.oud-catalog-page) {
	--oud-header-offset: 4.5rem;
}

body.oud-catalog .site-primary {
	padding-top: var(--oud-header-offset);
}

body.oud-catalog .main-content {
	padding-top: 0;
}

.oud-catalog-page {
	padding: 0 0 5rem;
	background: var(--oud-bg);
}

body.oud-catalog .module-border,
body.oud-catalog .empty-klb {
	display: none;
}

/* Catalog hero */
.oud-catalog-head {
	text-align: center;
	max-width: 42rem;
	margin: 0 auto 3.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid var(--oud-border);
	scroll-margin-top: calc(var(--oud-header-offset) + 1.5rem);
}

.oud-catalog-head__eyebrow {
	font-family: var(--oud-font-sans);
	font-size: 0.62rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin: 0 0 0.75rem;
}

.oud-catalog-head__title {
	font-family: var(--oud-font-serif);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 1rem;
}

.oud-catalog-head__desc {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--oud-muted);
	margin: 0;
}

.oud-catalog-head__desc p {
	margin: 0;
}

/* Layout */
.oud-catalog-layout {
	display: grid;
	grid-template-columns: minmax(220px, 260px) minmax(0, 1fr);
	gap: 3.5rem;
	align-items: start;
}

.oud-catalog-main {
	min-width: 0;
}

/* Sidebar */
.oud-catalog-sidebar {
	position: sticky;
	top: calc(var(--oud-header-offset) + 1rem);
}

.oud-catalog-sidebar__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
	font-size: 0.72rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.oud-catalog-sidebar__close {
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
	color: var(--oud-text);
}

.oud-catalog-sidebar__title,
.oud-catalog-sidebar .widget-title {
	font-family: var(--oud-font-sans);
	font-size: 0.62rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--oud-text);
	margin: 0 0 1rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid var(--oud-border);
}

.oud-catalog-sidebar__block + .oud-catalog-sidebar__widgets,
.oud-catalog-sidebar__block + .oud-catalog-sidebar__block {
	margin-top: 2.5rem;
}

.oud-catalog-cats {
	list-style: none;
	margin: 0;
	padding: 0;
}

.oud-catalog-filters {
	list-style: none;
	margin: 0;
	padding: 0;
}

.oud-catalog-filters__item,
.oud-catalog-cats__item {
	margin: 0;
	padding: 0;
}

.oud-catalog-filters__item + .oud-catalog-filters__item,
.oud-catalog-cats__item + .oud-catalog-cats__item {
	margin-top: 0.35rem;
}

.oud-catalog-sidebar .oud-catalog-filters__item > a,
.oud-catalog-sidebar .oud-catalog-cats__item > a,
.oud-catalog-filters__item a,
.oud-catalog-cats__item a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	width: 100%;
	box-sizing: border-box;
	min-height: 3.25rem;
	padding: 1rem 1rem;
	border: 0;
	border-radius: 4px;
	color: var(--oud-text);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	transition:
		color var(--oud-transition),
		background-color var(--oud-transition);
}

.oud-catalog-sidebar .oud-catalog-filters__item > a:hover,
.oud-catalog-sidebar .oud-catalog-cats__item > a:hover,
.oud-catalog-filters__item a:hover,
.oud-catalog-cats__item a:hover {
	color: var(--oud-accent);
	background-color: rgba(61, 43, 31, 0.06);
}

.oud-catalog-sidebar .oud-catalog-filters__item.is-active > a,
.oud-catalog-sidebar .oud-catalog-cats__item.is-active > a,
.oud-catalog-filters__item.is-active a,
.oud-catalog-cats__item.is-active a {
	color: var(--oud-accent);
	font-weight: 600;
	background-color: rgba(61, 43, 31, 0.08);
}

.oud-catalog-filters__label,
.oud-catalog-cats__label {
	flex: 1;
	min-width: 0;
	pointer-events: none;
}

.oud-catalog-filters__count,
.oud-catalog-cats__count {
	flex-shrink: 0;
	min-width: 1.25rem;
	text-align: right;
	font-size: 0.72rem;
	font-weight: 500;
	color: var(--oud-muted);
	pointer-events: none;
}

.oud-catalog-filters__item.is-active a .oud-catalog-filters__count,
.oud-catalog-cats__item.is-active a .oud-catalog-cats__count {
	color: var(--oud-accent);
	opacity: 0.8;
}

.oud-catalog-sidebar .widget {
	margin-bottom: 2rem;
}

/* Hide legacy blog widgets if they leak into shop sidebar elsewhere */
body.oud-catalog .site-shop .widget_block.widget_archive,
body.oud-catalog .site-shop .widget_block.widget_categories,
body.oud-catalog .site-shop .widget_archive,
body.oud-catalog .site-shop .widget_categories {
	display: none !important;
}

.oud-catalog-sidebar .widget ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.oud-catalog-sidebar .widget ul li a {
	display: flex;
	align-items: center;
	width: 100%;
	box-sizing: border-box;
	min-height: 3.25rem;
	padding: 1rem 1rem;
	margin: 0 0 0.35rem;
	color: var(--oud-text);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
	cursor: pointer;
	border: 0;
	border-radius: 4px;
	transition:
		color var(--oud-transition),
		background-color var(--oud-transition);
}

.oud-catalog-sidebar .widget ul li a:hover {
	color: var(--oud-accent);
	background-color: rgba(61, 43, 31, 0.05);
}

.oud-catalog-sidebar .price_slider_amount .button,
.oud-catalog-sidebar .woocommerce-widget-layered-nav-dropdown__submit {
	background: var(--oud-accent);
	border-color: var(--oud-accent);
	border-radius: 0;
	font-size: 0.65rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* Toolbar */
.oud-catalog-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 2rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid var(--oud-border);
}

.oud-catalog-toolbar__left,
.oud-catalog-toolbar__right {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.oud-catalog-filter-toggle {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.55rem 0.9rem;
	border: 1px solid var(--oud-border);
	background: transparent;
	color: var(--oud-text);
	font-family: var(--oud-font-sans);
	font-size: 0.68rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	cursor: pointer;
}

body.oud-catalog .woocommerce-result-count,
body.oud-catalog .woocommerce-ordering,
body.oud-catalog .woocommerce-ordering select {
	font-family: var(--oud-font-sans);
	font-size: 0.75rem;
	color: var(--oud-muted);
	margin: 0;
}

body.oud-catalog .woocommerce-ordering select {
	border: 1px solid var(--oud-border);
	background: transparent;
	padding: 0.45rem 2rem 0.45rem 0.75rem;
	color: var(--oud-text);
}

/* Hide duplicate sort dropdown injected by WooCommerce hooks */
body.oud-catalog .oud-catalog-main > .woocommerce-ordering,
body.oud-catalog .oud-catalog-main > form.woocommerce-ordering {
	display: none !important;
}

/* Product grid */
body.oud-catalog ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem 1.5rem;
	margin-bottom: 0;
	align-items: stretch;
}

body.oud-catalog ul.products li.product.oud-product-loop-item {
	list-style: none;
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	display: flex;
}

body.oud-catalog ul.products li.product.oud-product-loop-item > .oud-product-card {
	width: 100%;
}

/* Hide TI auto-inserted wrappers everywhere except our card slot */
body.oud-catalog ul.products li.product .tinv-wraper {
	display: none !important;
	visibility: hidden !important;
	pointer-events: none !important;
}

body.oud-catalog .product-content + .tinv-wraper {
	display: none !important;
}

body.oud-catalog .oud-product-card,
.oud-catalog-page .oud-product-card,
.oud-product-card--catalog {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	background: #f2ede6;
	border: 1px solid transparent;
	border-radius: 6px;
	overflow: hidden;
	transition: border-color var(--oud-transition), box-shadow var(--oud-transition);
}

body.oud-catalog .oud-product-card:hover {
	border-color: rgba(26, 22, 20, 0.06);
	box-shadow: 0 8px 24px rgba(26, 22, 20, 0.06);
}

body.oud-catalog .oud-product-card__media,
.oud-catalog-page .oud-product-card__media,
.oud-product-card.oud-product-card--catalog > .oud-product-card__media {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
	background: #fff;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	flex-shrink: 0;
}

body.oud-catalog .oud-product-card__link,
.oud-catalog-page .oud-product-card__link,
.oud-product-card.oud-product-card--catalog > .oud-product-card__media > .oud-product-card__link {
	position: absolute;
	inset: 0;
	display: block;
	height: auto;
	line-height: 0;
}

body.oud-catalog .oud-product-card__images,
.oud-catalog-page .oud-product-card__images,
.oud-product-card.oud-product-card--catalog .oud-product-card__images {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100%;
	margin: 0;
	aspect-ratio: auto;
	overflow: hidden;
	background: #fff;
	line-height: 0;
}

body.oud-catalog .oud-product-card__img,
.oud-catalog-page .oud-product-card__img,
.oud-product-card--catalog .oud-product-card__img {
	margin: 0;
	vertical-align: top;
}

body.oud-catalog .oud-product-card__reveal,
.oud-catalog-page .oud-product-card__reveal,
.oud-product-card--catalog .oud-product-card__reveal {
	position: absolute;
	inset: 0;
}

body.oud-catalog .oud-product-card__img--primary,
body.oud-catalog .oud-product-card__img--secondary,
.oud-catalog-page .oud-product-card__img--primary,
.oud-catalog-page .oud-product-card__img--secondary,
.oud-product-card--catalog .oud-product-card__img--primary,
.oud-product-card--catalog .oud-product-card__img--secondary {
	position: absolute;
	inset: 0;
	display: block;
	width: 100%;
	height: 100% !important;
	max-width: none;
	max-height: none;
	object-fit: contain;
	object-position: center bottom;
}

body.oud-catalog .oud-product-card__body {
	padding: 0.85rem 1rem 1.15rem;
	background: #f2ede6;
}

body.oud-catalog .oud-product-card__brand {
	font-size: 0.58rem;
	letter-spacing: 0.18em;
	margin-bottom: 0.4rem;
}

body.oud-catalog .oud-product-card__title {
	font-size: 1rem;
	line-height: 1.35;
	margin-bottom: 0.45rem;
}

body.oud-catalog .oud-product-card__price {
	font-size: 0.82rem;
	font-weight: 600;
}

body.oud-catalog .oud-product-card__wishlist {
	top: 0.65rem;
	right: 0.65rem;
	z-index: 3;
	opacity: 1;
}

body.oud-catalog .oud-product-card__wishlist .tinvwl_add_to_wishlist-text,
body.oud-catalog .oud-product-card__wishlist .tinvwl-tooltip,
body.oud-catalog .oud-product-card__wishlist .tinv-wishlist-clear {
	display: none !important;
}

body.oud-catalog .oud-product-card__wishlist .tinv-wraper {
	display: block !important;
	visibility: visible !important;
	pointer-events: auto !important;
	position: static !important;
	top: auto !important;
	left: auto !important;
	right: auto !important;
	margin: 0 !important;
	width: auto !important;
	height: auto !important;
	font-size: 100%;
}

body.oud-catalog .oud-product-card__wishlist .tinv-wraper.tinvwl-above_thumb-add-to-cart {
	position: static !important;
	inset: auto !important;
	z-index: auto !important;
}

body.oud-catalog .oud-product-card__wishlist .tinvwl_add_to_wishlist_button,
body.oud-catalog .oud-product-card__wishlist a.tinvwl-button.tinvwl_add_to_wishlist_button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	position: relative;
	width: 2rem !important;
	height: 2rem !important;
	min-width: 2rem;
	min-height: 2rem;
	padding: 0 !important;
	border: 0;
	background: rgba(26, 22, 20, 0.52);
	border-radius: 50%;
	color: var(--oud-accent);
	font-size: 0 !important;
	line-height: 0 !important;
	vertical-align: middle !important;
	overflow: hidden;
	transition: opacity var(--oud-transition), background-color var(--oud-transition);
}

body.oud-catalog .oud-product-card__wishlist .tinvwl_add_to_wishlist_button:hover {
	opacity: 0.88;
	background: rgba(26, 22, 20, 0.65);
}

body.oud-catalog ul.products li.product .oud-product-card__wishlist a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart::before,
body.oud-catalog .oud-product-card__wishlist .tinvwl_add_to_wishlist_button::before {
	content: "" !important;
	display: block !important;
	position: absolute !important;
	top: 50% !important;
	left: 50% !important;
	right: auto !important;
	transform: translate(-50%, -50%) !important;
	width: 1rem !important;
	height: 1rem !important;
	margin: 0 !important;
	padding: 0 !important;
	font-family: inherit !important;
	font-size: 0 !important;
	line-height: 0 !important;
	vertical-align: middle !important;
	background-color: transparent !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 18.5s-6.5-4.2-6.5-8.4a3.6 3.6 0 0 1 6.5-2.1 3.6 3.6 0 0 1 6.5 2.1c0 4.2-6.5 8.4-6.5 8.4z' fill='none' stroke='%23d4bc82' stroke-width='1.25' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: center !important;
	background-size: contain !important;
	transition: background-image var(--oud-transition);
}

body.oud-catalog .oud-product-card__wishlist .tinvwl_add_to_wishlist_button::after {
	display: none !important;
	content: none !important;
}

body.oud-catalog ul.products li.product .oud-product-card__wishlist a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before,
body.oud-catalog ul.products li.product .oud-product-card__wishlist a.tinvwl_add_to_wishlist_button.tinvwl-icon-heart.tinvwl-product-in-list::before,
body.oud-catalog .oud-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 18.5s-6.5-4.2-6.5-8.4a3.6 3.6 0 0 1 6.5-2.1 3.6 3.6 0 0 1 6.5 2.1c0 4.2-6.5 8.4-6.5 8.4z' fill='%23d4bc82' stroke='none'/%3E%3C/svg%3E") !important;
}

body.oud-catalog ul.products li.product .oud-product-card__wishlist a.tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover::before,
body.oud-catalog .oud-product-card__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 18.5s-6.5-4.2-6.5-8.4a3.6 3.6 0 0 1 6.5-2.1 3.6 3.6 0 0 1 6.5 2.1c0 4.2-6.5 8.4-6.5 8.4z' fill='%23c9a86c' stroke='none'/%3E%3C/svg%3E") !important;
}

/* Pagination — horizontal flex row on nav (plain links) */
.oud-catalog-page .oud-catalog-pagination {
	width: 100%;
	margin-top: 4rem;
	clear: both;
}

.oud-catalog-page nav.woocommerce-pagination.oud-pagination-nav {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: 100%;
	margin: 0 auto;
	padding: 0;
}

.oud-catalog-page nav.oud-pagination-nav > .page-numbers,
.oud-catalog-page nav.woocommerce-pagination.oud-pagination-nav .page-numbers {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.65rem;
	border: 1px solid var(--oud-border);
	background: transparent;
	color: var(--oud-text);
	text-decoration: none;
	font-family: var(--oud-font-sans);
	font-size: 0.75rem;
	box-sizing: border-box;
	transition: background var(--oud-transition), color var(--oud-transition), border-color var(--oud-transition);
}

.oud-catalog-page nav.oud-pagination-nav > .page-numbers.current,
.oud-catalog-page nav.woocommerce-pagination.oud-pagination-nav .page-numbers.current {
	background: var(--oud-accent);
	border-color: var(--oud-accent);
	color: #fff;
}

.oud-catalog-page nav.oud-pagination-nav > a.page-numbers:hover,
.oud-catalog-page nav.woocommerce-pagination.oud-pagination-nav a.page-numbers:hover {
	background: var(--oud-text);
	border-color: var(--oud-text);
	color: var(--oud-bg);
}

.oud-catalog-page nav.oud-pagination-nav > .prev,
.oud-catalog-page nav.oud-pagination-nav > .next,
.oud-catalog-page nav.woocommerce-pagination.oud-pagination-nav .prev,
.oud-catalog-page nav.woocommerce-pagination.oud-pagination-nav .next {
	border: 0;
	min-width: auto;
	height: auto;
	padding: 0 0.75rem;
	font-size: 0.65rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	background: transparent !important;
}

/* Legacy list-based pagination fallback */
.oud-catalog-page .oud-pagination-list,
.oud-catalog-page nav.woocommerce-pagination ul.page-numbers {
	display: flex !important;
	flex-direction: row !important;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	width: 100%;
	margin: 0 auto;
	padding: 0;
	list-style: none !important;
}

.oud-catalog-page .oud-pagination-list__item,
.oud-catalog-page nav.woocommerce-pagination ul.page-numbers > li {
	display: block !important;
	flex: 0 0 auto;
	margin: 0 !important;
	padding: 0;
	list-style: none !important;
	float: none !important;
	width: auto !important;
}

@media (max-width: 991px) {
	body.oud-catalog ul.products,
	body.oud-catalog .oud-catalog-products ul.products,
	.oud-catalog-page ul.products,
	.oudyssey-luxury ul.products {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1rem 0.75rem !important;
		max-width: none !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}

	.oud-catalog-layout {
		grid-template-columns: 1fr;
		gap: 0;
	}

	.oud-catalog-sidebar {
		position: fixed;
		top: 0;
		left: 0;
		width: min(88vw, 320px);
		height: 100vh;
		z-index: 1001;
		background: var(--oud-bg);
		padding: 1.25rem;
		transform: translateX(-110%);
		box-shadow: 0 0 40px rgba(26, 22, 20, 0.12);
		overflow: hidden;
	}

	.oud-catalog-sidebar__inner {
		height: calc(100vh - 3rem);
		overflow: auto;
	}
}

@media (max-width: 575px) {
	.oud-catalog-toolbar {
		flex-direction: column;
		align-items: stretch;
	}

	.oud-catalog-toolbar__left,
	.oud-catalog-toolbar__right {
		justify-content: space-between;
	}
}

/* —— Collections section (mockup) —— */
.oud-collections .oud-btn--ghost {
	color: var(--oud-text);
	border-color: var(--oud-text);
	background: transparent;
}

.oud-collections .oud-btn--ghost:hover,
.oud-collections .oud-btn--ghost:focus-visible {
	background: var(--oud-text);
	color: var(--oud-bg);
	border-color: var(--oud-text);
}

.oud-collections .oud-section-head__title {
	font-family: var(--oud-font-serif);
	max-width: 22ch;
}

/* Carousel cards */
.oud-collections .oud-product-card--carousel {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 0;
	background: #f2ede6;
	border: 1px solid transparent;
	border-radius: 6px;
	overflow: hidden;
	transition:
		box-shadow var(--oud-transition),
		transform var(--oud-transition),
		border-color var(--oud-transition),
		background-color var(--oud-transition);
}

.oud-collections .oud-product-card--carousel:hover {
	border-color: rgba(26, 22, 20, 0.06);
	background: #efe9e1;
	box-shadow: 0 10px 28px rgba(26, 22, 20, 0.08);
	transform: translateY(-4px);
}

.oud-collections .oud-product-card--carousel .oud-product-card__media {
	position: relative;
	margin-bottom: 0;
	padding: 0;
	background: #fff;
}

.oud-collections .oud-product-card--carousel .oud-product-card__images {
	aspect-ratio: 1 / 1;
}

.oud-collections .oud-product-card--carousel .oud-product-card__img--primary,
.oud-collections .oud-product-card--carousel .oud-product-card__img--secondary {
	max-height: none;
	height: 100%;
}

.oud-collections .oud-product-card--carousel:not(.oud-product-card--has-alt):hover .oud-product-card__img {
	transform: none;
}

.oud-collections .oud-product-card--carousel .oud-product-card__wishlist {
	top: 0.85rem;
	right: 0.85rem;
	opacity: 1;
}

.oud-collections .oud-product-card--carousel .oud-product-card__wishlist .tinv-wraper,
.oud-collections .oud-product-card--carousel .oud-product-card__wishlist-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--oud-text);
	cursor: pointer;
}

.oud-collections .oud-product-card--carousel .tinvwl_add_to_wishlist-text,
.oud-collections .oud-product-card--carousel .tinvwl-tooltip {
	display: none !important;
}

.oud-collections .oud-product-card--carousel .tinvwl_add_to_wishlist_button::before,
.oud-collections .oud-product-card--carousel .tinvwl-icon-heart::before {
	font-size: 1rem;
	color: var(--oud-text);
}

.oud-collections .oud-product-card__wishlist-btn .oud-icon {
	width: 18px;
	height: 18px;
}

.oud-collections .oud-product-card--carousel .oud-product-card__body {
	padding: 0.35rem 1rem 1.35rem;
}

.oud-collections .oud-product-card--carousel .oud-product-card__brand {
	font-family: var(--oud-font-sans);
	font-size: 0.58rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	color: var(--oud-muted);
	margin: 0 0 0.45rem;
}

.oud-collections .oud-product-card--carousel .oud-product-card__title {
	font-family: var(--oud-font-sans);
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	line-height: 1.35;
	margin: 0 0 0.55rem;
}

.oud-collections .oud-product-card--carousel .oud-product-card__price {
	font-family: var(--oud-font-sans);
	font-size: 0.8rem;
	font-weight: 600;
}

.oud-collections .oud-product-card--carousel .oud-product-card__price .amount {
	font-weight: 600;
}

/* —— Collections slider —— */
.oud-collections__carousel {
	position: relative;
	padding: 0 3.5rem 3.25rem;
}

.oud-collections__slider:not(.slick-initialized) {
	display: flex;
	flex-wrap: nowrap;
	gap: 1rem;
	overflow: hidden;
}

.oud-collections__slider:not(.slick-initialized) .oud-collections__slide {
	flex: 0 0 calc((100% - 5rem) / 6);
	min-width: 0;
}

.oud-collections__slider {
	margin: 0 -0.55rem;
}

.oud-collections__slider .slick-slide {
	padding: 0 0.55rem;
	height: auto;
}

.oud-collections__slider .slick-slide > div {
	height: 100%;
}

.oud-collections__slider .slick-list {
	overflow: hidden;
}

.oud-collections__slider .slick-track {
	display: flex !important;
	align-items: stretch;
}

/* Hide default Slick text labels */
.oud-collections__carousel .slick-arrow {
	font-size: 0;
	line-height: 0;
}

.oud-collections__carousel .slick-arrow::before {
	display: none;
	content: none;
}

.oud-carousel-arrow,
.oud-collections__carousel > .oud-carousel-arrow {
	position: absolute;
	top: 42%;
	transform: translateY(-50%);
	width: 42px;
	height: 42px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--oud-text);
	border-radius: 50%;
	background: var(--oud-bg);
	color: var(--oud-text);
	cursor: pointer;
	padding: 0;
	z-index: 3;
	transition: background var(--oud-transition), color var(--oud-transition);
}

.oud-carousel-arrow .oud-icon {
	width: 18px;
	height: 18px;
}

.oud-carousel-arrow:hover,
.oud-carousel-arrow:focus-visible {
	background: var(--oud-text);
	color: var(--oud-bg);
}

.oud-collections__carousel .slick-arrow.slick-disabled,
.oud-maisons__carousel .slick-arrow.slick-disabled {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
}

.oud-carousel-arrow--prev,
.oud-collections__carousel > .oud-carousel-arrow.slick-prev {
	left: 0;
}

.oud-carousel-arrow--next,
.oud-collections__carousel > .oud-carousel-arrow.slick-next {
	right: 0;
}

.oud-collections__carousel .slick-dots {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	display: flex !important;
	justify-content: center;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.oud-collections__carousel .slick-dots li {
	margin: 0;
	width: auto;
	height: auto;
}

.oud-collections__carousel .slick-dots li button {
	width: 7px;
	height: 7px;
	padding: 0;
	border: 1px solid var(--oud-text);
	border-radius: 50%;
	background: transparent;
	opacity: 1;
	font-size: 0;
	line-height: 0;
	transition: background var(--oud-transition);
}

.oud-collections__carousel .slick-dots li button::before {
	display: none;
	content: none;
}

.oud-collections__carousel .slick-dots li.slick-active button {
	background: var(--oud-text);
	border-color: var(--oud-text);
}

/* —— Maisons sélectionnées —— */
.oud-maisons {
	padding: clamp(2.5rem, 5vw, 3.5rem) 0;
	background: #f0ebe3;
	overflow: hidden;
}

.oud-maisons__eyebrow {
	margin: 0 0 2rem;
	font-family: var(--oud-font-sans);
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--oud-muted);
	text-align: left;
}

.oud-maisons__carousel {
	position: relative;
	padding: 0 3.75rem;
}

.oud-maisons__slider .slick-list {
	overflow: hidden;
}

.oud-maisons__slider .slick-track {
	display: flex;
	align-items: center;
}

.oud-maisons__slide {
	height: auto;
}

.oud-maisons__brand {
	margin: 0;
	padding: 0 0.5rem;
	text-align: center;
	color: var(--oud-text);
}

.oud-maisons__name {
	display: block;
	font-family: var(--oud-font-serif);
	font-size: clamp(1.1rem, 2vw, 1.65rem);
	font-weight: 500;
	line-height: 1.15;
	letter-spacing: 0.06em;
	white-space: nowrap;
}

.oud-maisons__tagline {
	display: block;
	margin-top: 0.45rem;
	font-family: var(--oud-font-sans);
	font-size: 0.5rem;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--oud-muted);
	white-space: nowrap;
}

.oud-maisons__tagline--mark {
	display: block;
	width: 11px;
	height: 11px;
	margin: 0.5rem auto 0;
	border: 1px solid var(--oud-text);
	opacity: 0.7;
}

.oud-maisons__brand--logo {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	min-height: 4.5rem;
}

.oud-maisons__logo {
	display: block;
	width: auto;
	max-width: min(11rem, 100%);
	height: auto;
	max-height: clamp(2rem, 4vw, 3.25rem);
	margin: 0 auto;
	object-fit: contain;
	object-position: center;
}

.oud-maisons__brand--logo .oud-maisons__tagline {
	margin-top: 0.65rem;
}

/* Brand typography presets (Customizer — text mode) */
.oud-maisons__brand--wide .oud-maisons__name {
	font-weight: 400;
	letter-spacing: 0.12em;
}

.oud-maisons__brand--italic .oud-maisons__name {
	font-style: italic;
	font-weight: 500;
	letter-spacing: 0.04em;
}

.oud-maisons__brand--sans-bold .oud-maisons__name {
	font-family: var(--oud-font-sans);
	font-weight: 700;
	letter-spacing: 0.2em;
	font-size: clamp(1rem, 1.8vw, 1.45rem);
}

.oud-maisons__brand--mark .oud-maisons__name {
	font-weight: 400;
	letter-spacing: 0.14em;
	font-size: clamp(1rem, 1.8vw, 1.5rem);
}

.oud-maisons__brand--emphasis .oud-maisons__name {
	font-weight: 600;
	letter-spacing: 0.18em;
}

a.oud-maisons__brand {
	display: block;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.2s ease;
}

a.oud-maisons__brand--logo {
	display: flex;
}

a.oud-maisons__brand:hover,
a.oud-maisons__brand:focus-visible {
	opacity: 0.72;
}

.oud-maisons__carousel .slick-arrow {
	font-size: 0;
	line-height: 0;
}

.oud-maisons__carousel .slick-arrow::before {
	display: none;
	content: none;
}

.oud-maisons__carousel > .oud-carousel-arrow--prev,
.oud-maisons__carousel > .slick-prev.oud-carousel-arrow {
	left: 0;
}

.oud-maisons__carousel > .oud-carousel-arrow--next,
.oud-maisons__carousel > .slick-next.oud-carousel-arrow {
	right: 0;
}

/* —— Philosophy —— */
.oud-philosophy {
	position: relative;
	min-height: min(85vh, 720px);
	display: flex;
	align-items: center;
	padding: var(--oud-space-section) 0;
	overflow: hidden;
}

.oud-philosophy__bg {
	position: absolute;
	inset: 0;
	z-index: 0;
}

.oud-philosophy__bg-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center right;
}

.oud-philosophy__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(
		90deg,
		rgba(247, 243, 237, 0.97) 0%,
		rgba(247, 243, 237, 0.88) 32%,
		rgba(247, 243, 237, 0.45) 52%,
		rgba(247, 243, 237, 0.08) 72%,
		transparent 100%
	);
}

.oud-philosophy__container {
	position: relative;
	z-index: 2;
}

.oud-philosophy__eyebrow {
	font-size: 0.65rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin: 0 0 0.75rem;
}

.oud-philosophy__title {
	font-size: clamp(1.75rem, 3vw, 2.75rem);
	line-height: 1.2;
	margin: 0 0 1.5rem;
	max-width: 22ch;
}

.oud-philosophy__text {
	color: var(--oud-muted);
	line-height: 1.8;
	margin: 0 0 2rem;
	max-width: 48ch;
}

.oud-philosophy__content {
	max-width: 36rem;
}

/* —— Journal —— */
.oud-journal__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}

.oud-journal-card__link {
	text-decoration: none;
	color: inherit;
	display: block;
}

.oud-journal-card__media {
	overflow: hidden;
	margin-bottom: 1rem;
	aspect-ratio: 16/10;
	background: #e8e0d4;
}

.oud-journal-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.8s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.oud-journal-card:hover .oud-journal-card__img {
	transform: scale(1.05);
}

.oud-journal-card__cat {
	font-size: 0.6rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--oud-muted);
}

.oud-journal-card__title {
	font-family: var(--oud-font-serif);
	font-size: 1.35rem;
	margin: 0.5rem 0 0;
	line-height: 1.3;
}

.oud-journal-card__placeholder {
	width: 100%;
	height: 100%;
	background: linear-gradient(135deg, #e8e0d4, #d4ccc0);
}

/* —— Oudyssey footer main —— */
.oud-footer {
	background: var(--oud-bg-footer);
	border-top: 1px solid var(--oud-border);
	padding: clamp(3rem, 6vw, 5rem) 0 clamp(2.5rem, 5vw, 4rem);
}

.oud-footer__grid {
	display: grid;
	gap: clamp(2rem, 4vw, 3rem);
	grid-template-columns: minmax(0, 1fr);
}

@media screen and (min-width: 48rem) {
	.oud-footer__grid {
		grid-template-columns: repeat(auto-fit, minmax(11rem, 1fr));
	}

	.oud-footer__brand {
		grid-column: span 1;
	}
}

@media screen and (min-width: 62rem) {
	.oud-footer__grid:has(.oud-footer__col) {
		grid-template-columns: minmax(0, 1.35fr) repeat(auto-fit, minmax(10rem, 1fr));
	}
}

.oud-footer__brand {
	max-width: 22rem;
}

.oud-footer__logo .oud-logo__text,
.oud-footer__logo .oud-logo__name,
.oud-footer__logo .oud-logo__mark {
	color: var(--oud-text);
}

.oud-footer__logo .oud-logo__img {
	max-width: 10rem;
	height: auto;
}

.oud-footer__tagline {
	margin: 1.25rem 0 0;
	font-size: 0.9rem;
	line-height: 1.75;
	color: var(--oud-muted);
}

.oud-footer__contact {
	list-style: none;
	margin: 1.25rem 0 0;
	padding: 0;
	display: grid;
	gap: 0.45rem;
}

.oud-footer__contact a {
	color: var(--oud-text);
	text-decoration: none;
	font-size: 0.82rem;
	transition: opacity var(--oud-transition);
}

.oud-footer__contact a:hover {
	opacity: 0.65;
}

.oud-footer-social {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	list-style: none;
	margin: 1.5rem 0 0;
	padding: 0;
}

.oud-footer-social a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2.25rem;
	height: 2.25rem;
	color: var(--oud-accent);
	border: 1px solid rgba(61, 43, 31, 0.18);
	transition: background var(--oud-transition), color var(--oud-transition), border-color var(--oud-transition);
}

.oud-footer-social a:hover {
	color: #f7f3ed;
	background: var(--oud-accent);
	border-color: var(--oud-accent);
}

.oud-footer__title {
	margin: 0 0 1.15rem;
	font-family: var(--oud-font-serif);
	font-size: 1.05rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--oud-text);
}

.oud-footer-nav {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: 0.55rem;
}

.oud-footer-nav a {
	color: var(--oud-muted);
	text-decoration: none;
	font-size: 0.82rem;
	line-height: 1.5;
	transition: color var(--oud-transition), opacity var(--oud-transition);
}

.oud-footer-nav a:hover {
	color: var(--oud-accent);
	opacity: 1;
}

.oud-subfooter {
	gap: 1.25rem;
}

.oud-footer-legal {
	width: 100%;
}

.oud-footer-legal__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.35rem 0.85rem;
}

.oud-footer-legal__list li {
	display: inline-flex;
	align-items: center;
}

.oud-footer-legal__list li + li::before {
	content: "·";
	margin-right: 0.85rem;
	color: rgba(247, 243, 237, 0.35);
}

.oud-footer-legal__list a {
	color: rgba(247, 243, 237, 0.72);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.oud-footer-legal__list a:hover {
	color: #f7f3ed;
}

/* —— Footer luxury —— */
.site-footer {
	margin-top: 0;
}

body.oudyssey-luxury .site-footer,
body.oud-home .site-footer {
	background: transparent;
	border-top: 0;
}

body.oudyssey-luxury .site-footer .footer-widgets,
body.oud-home .site-footer .footer-widgets,
.site-footer .footer-widgets {
	background-color: var(--oud-bg-footer);
}

body.oudyssey-luxury .footer-widgets,
body.oud-home .footer-widgets {
	padding: var(--oud-space-section) 0 3rem;
}

body.oudyssey-luxury .site-footer .widget-title,
body.oud-home .site-footer .widget-title {
	font-family: var(--oud-font-serif);
	font-size: 1rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

body.oudyssey-luxury .site-footer .oud-footer a,
body.oudyssey-luxury .site-footer .footer-widgets a,
body.oud-home .site-footer .oud-footer a,
body.oud-home .site-footer .footer-widgets a {
	color: var(--oud-text);
	text-decoration: none;
}

body.oudyssey-luxury .site-footer .oud-footer a:hover,
body.oudyssey-luxury .site-footer .footer-widgets a:hover,
body.oud-home .site-footer .oud-footer a:hover,
body.oud-home .site-footer .footer-widgets a:hover {
	opacity: 0.65;
}

.site-footer .subfooter,
.site-footer .subfooter.klbtype-1,
.site-footer .subfooter.oud-subfooter-bar {
	padding: 0;
	background-color: var(--oud-accent);
	color: rgba(247, 243, 237, 0.82);
}

.site-footer .subfooter .site-footer--wrapper {
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.75rem;
	padding: clamp(2rem, 4vw, 3.25rem) 0;
	border-top: 0;
}

.site-footer .subfooter .site-social ul li a {
	color: rgba(247, 243, 237, 0.72);
}

.site-footer .subfooter .site-social ul li a:hover {
	color: #f7f3ed;
	opacity: 1;
}

@media screen and (min-width: 62rem) {
	.site-footer .subfooter .site-footer--wrapper:has(.site-social) {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
	}

	.site-footer .subfooter .site-footer--wrapper:has(.site-social) .oud-copyright {
		grid-column: 2;
	}

	.site-footer .subfooter .site-footer--wrapper:has(.site-social) .site-social {
		grid-column: 3;
		justify-self: end;
	}
}

.site-footer .oud-copyright,
.oud-mobile-menu .oud-copyright {
	width: 100%;
	text-align: center;
}

.site-footer .oud-copyright__text,
.oud-mobile-menu .oud-copyright__text {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: clamp(1rem, 3vw, 2rem);
	margin: 0;
	font-family: var(--oud-font-sans);
	font-size: clamp(0.62rem, 1.2vw, 0.72rem);
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.18em;
	text-transform: uppercase;
}

.site-footer .subfooter .oud-copyright__text {
	color: rgba(247, 243, 237, 0.72);
}

.oud-mobile-menu .oud-copyright__text {
	color: var(--oud-muted);
}

.site-footer .oud-copyright__line,
.oud-mobile-menu .oud-copyright__line {
	flex: 1 1 3rem;
	max-width: 5.5rem;
	height: 1px;
}

.site-footer .subfooter .oud-copyright__line {
	background: linear-gradient(
		90deg,
		transparent,
		rgba(247, 243, 237, 0.28) 35%,
		rgba(247, 243, 237, 0.28) 65%,
		transparent
	);
}

.oud-mobile-menu .oud-copyright__line {
	background: linear-gradient(
		90deg,
		transparent,
		rgba(61, 43, 31, 0.22) 35%,
		rgba(61, 43, 31, 0.22) 65%,
		transparent
	);
}

.site-footer .oud-copyright__content,
.oud-mobile-menu .oud-copyright__content {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.45rem 0.65rem;
}

.site-footer .subfooter .oud-copyright__symbol,
.site-footer .subfooter .oud-copyright__year {
	color: rgba(247, 243, 237, 0.92);
}

.oud-mobile-menu .oud-copyright__symbol,
.oud-mobile-menu .oud-copyright__year {
	color: var(--oud-accent);
}

.site-footer .oud-copyright__sep,
.oud-mobile-menu .oud-copyright__sep {
	opacity: 0.45;
}

.site-footer .oud-copyright__link,
.oud-mobile-menu .oud-copyright__link {
	position: relative;
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
	transition: color var(--oud-transition), opacity var(--oud-transition);
}

.site-footer .oud-copyright__link::after,
.oud-mobile-menu .oud-copyright__link::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: -0.15rem;
	height: 1px;
	background: currentColor;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform var(--oud-transition);
	opacity: 0.55;
}

.site-footer .subfooter .oud-copyright__brand,
.oud-mobile-menu .oud-copyright__brand {
	font-family: var(--oud-font-serif);
	font-size: clamp(0.95rem, 2vw, 1.15rem);
	font-weight: 500;
	font-style: italic;
	letter-spacing: 0.04em;
	text-transform: none;
}

.site-footer .subfooter .oud-copyright__brand {
	color: #f7f3ed;
}

.oud-mobile-menu .oud-copyright__brand {
	color: var(--oud-accent);
}

.site-footer .oud-copyright__rights,
.oud-mobile-menu .oud-copyright__rights {
	font-size: 0.58rem;
	letter-spacing: 0.22em;
	opacity: 0.85;
}

.site-footer .oud-copyright__link:hover,
.site-footer .oud-copyright__link:focus-visible,
.oud-mobile-menu .oud-copyright__link:hover,
.oud-mobile-menu .oud-copyright__link:focus-visible {
	opacity: 1;
}

.site-footer .oud-copyright__link:hover::after,
.site-footer .oud-copyright__link:focus-visible::after,
.oud-mobile-menu .oud-copyright__link:hover::after,
.oud-mobile-menu .oud-copyright__link:focus-visible::after {
	transform: scaleX(1);
}

/* Subfooter bar — chocolate background, light text (overrides Cosmetsy base/Kirki) */
.site-footer .subfooter.oud-subfooter-bar {
	background-color: var(--oud-accent) !important;
	color: rgba(247, 243, 237, 0.82);
}

.site-footer .subfooter.oud-subfooter-bar a,
.site-footer .subfooter.oud-subfooter-bar .oud-footer-legal__list a {
	color: rgba(247, 243, 237, 0.72);
	text-decoration: none;
}

.site-footer .subfooter.oud-subfooter-bar a:hover,
.site-footer .subfooter.oud-subfooter-bar a:focus-visible,
.site-footer .subfooter.oud-subfooter-bar .oud-footer-legal__list a:hover,
.site-footer .subfooter.oud-subfooter-bar .oud-footer-legal__list a:focus-visible {
	color: #f7f3ed;
	opacity: 1;
}

.site-footer .subfooter.oud-subfooter-bar .oud-copyright__text,
.site-footer .subfooter.oud-subfooter-bar .oud-copyright__rights {
	color: rgba(247, 243, 237, 0.72);
}

.site-footer .subfooter.oud-subfooter-bar .oud-copyright__symbol,
.site-footer .subfooter.oud-subfooter-bar .oud-copyright__year {
	color: rgba(247, 243, 237, 0.92);
}

.site-footer .subfooter.oud-subfooter-bar .oud-copyright__brand {
	color: #f7f3ed;
}

.site-footer .subfooter.oud-subfooter-bar .oud-copyright__link {
	color: inherit;
}

/* —— Single product (luxury PDP) —— */
body.oudyssey-luxury.single-product {
	--oud-header-offset: 5.75rem;
}

body.oudyssey-luxury.single-product .site-primary {
	padding-top: var(--oud-header-offset);
}

body.oudyssey-luxury.single-product .main-content {
	padding-top: 0;
}

body.oudyssey-luxury.single-product .module-border {
	display: none;
}

.oud-pdp-page {
	padding-bottom: 5rem;
	background: var(--oud-bg);
}

.oud-pdp-page .container {
	max-width: 1280px;
}

/* Breadcrumb */
.oud-pdp__breadcrumb {
	margin-bottom: 2rem;
}

.oud-pdp__breadcrumb .woocommerce-breadcrumb {
	margin: 0;
	font-family: var(--oud-font-sans);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--oud-muted);
}

.oud-pdp__breadcrumb .woocommerce-breadcrumb a {
	color: var(--oud-muted);
	text-decoration: none;
}

.oud-pdp__breadcrumb .woocommerce-breadcrumb a:hover {
	color: var(--oud-text);
}

/* Layout */
.oud-pdp__layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
	gap: clamp(2rem, 5vw, 4.5rem);
	align-items: start;
	margin-bottom: clamp(3rem, 6vw, 5rem);
}

.oud-pdp__gallery-col {
	position: sticky;
	top: calc(var(--oud-header-offset) + 1.5rem);
	z-index: 0;
}

.oud-pdp__summary-col {
	position: relative;
	z-index: 0;
}

/* Gallery */
.oud-pdp-gallery__stage {
	background: #f0ebe3;
	border: 1px solid var(--oud-border);
	aspect-ratio: 4 / 5;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.oud-pdp-gallery__main {
	margin: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.oud-pdp-gallery__img {
	max-width: 85%;
	max-height: 90%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: opacity 0.35s ease;
}

.oud-pdp-gallery__thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin: 1rem 0 0;
	padding: 0;
	list-style: none;
}

.oud-pdp-gallery__thumb {
	display: block;
	padding: 0;
	border: 1px solid transparent;
	background: #f0ebe3;
	cursor: pointer;
	width: 4.5rem;
	height: 4.5rem;
	overflow: hidden;
	transition: border-color var(--oud-transition);
}

.oud-pdp-gallery__thumb.is-active,
.oud-pdp-gallery__thumb:hover,
.oud-pdp-gallery__thumb:focus-visible {
	border-color: var(--oud-accent);
	outline: none;
}

.oud-pdp-gallery__thumb-img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Buy box */
.oud-pdp-buy__meta-top {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem 1rem;
	margin-bottom: 0.75rem;
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.oud-pdp-buy__brand {
	color: var(--oud-accent);
	text-decoration: none;
}

.oud-pdp-buy__brand:hover {
	opacity: 0.7;
}

.oud-pdp-buy__famille {
	color: var(--oud-muted);
}

.oud-pdp-buy__famille::before {
	content: "·";
	margin-right: 0.5rem;
}

.oud-pdp-buy__title {
	font-family: var(--oud-font-serif);
	font-size: clamp(2rem, 4.5vw, 3.25rem);
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 0.75rem;
	letter-spacing: 0.02em;
}

.oud-pdp-buy__rating {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem 0.75rem;
	margin-bottom: 1.25rem;
}

.oud-pdp-buy__rating .star-rating {
	font-size: 0.85rem;
}

.oud-pdp-buy__reviews-link {
	font-size: 0.7rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--oud-muted);
	text-decoration: none;
}

.oud-pdp-buy__reviews-link:hover {
	color: var(--oud-text);
}

.oud-pdp-buy__price-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.75rem;
	padding-bottom: 1.75rem;
	border-bottom: 1px solid var(--oud-border);
}

.oud-pdp-buy__price-leading {
	display: flex;
	align-items: baseline;
	flex-wrap: wrap;
	gap: 0.75rem 1.25rem;
	min-width: 0;
}

.oud-pdp-buy__price .price {
	font-family: var(--oud-font-serif);
	font-size: clamp(1.5rem, 3vw, 2rem);
	color: var(--oud-text);
	margin: 0;
}

.oud-pdp-buy__stock {
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.oud-pdp-buy__stock--in {
	color: #3d6b4f;
}

.oud-pdp-buy__stock--out {
	color: #9a4a4a;
}

/* Cart form */
.oud-pdp-cart-form__row {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.75rem;
	align-items: stretch;
}

.oud-pdp-buy .single_variation_wrap .woocommerce-variation-price {
	margin-bottom: 1rem;
}

.oud-pdp-buy .single_variation_wrap .woocommerce-variation-price .price {
	font-family: var(--oud-font-serif);
	font-size: 1.25rem;
}

.oud-pdp-cart-form .quantity {
	display: flex;
	align-items: stretch;
	border: 1px solid var(--oud-border);
}

.oud-pdp-cart-form .quantity .qty {
	width: 3rem;
	min-height: 3rem;
	border: 0;
	background: transparent;
	text-align: center;
	font-family: var(--oud-font-sans);
	font-size: 0.85rem;
}

.oud-pdp-cart-form__submit {
	min-width: 0;
	width: auto;
	justify-content: center;
	min-height: 3rem;
}

.oud-pdp-buy .single_add_to_cart_button,
.oud-pdp-buy .button {
	background: var(--oud-accent) !important;
	border-color: var(--oud-accent) !important;
	border-radius: 0 !important;
	color: #fff !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	font-size: 0.7rem !important;
	font-family: var(--oud-font-sans) !important;
	padding: 1rem 2rem !important;
}

.oud-pdp-buy .single_add_to_cart_button:hover,
.oud-pdp-buy .button:hover {
	background: transparent !important;
	color: var(--oud-accent) !important;
}

.oud-pdp-buy__wishlist {
	flex-shrink: 0;
	margin-left: auto;
	width: auto;
	min-width: 0;
}

.oud-pdp-buy__wishlist .tinv-wraper {
	margin: 0;
	width: auto;
}

.oud-pdp-buy__wishlist .tinvwl_add_to_wishlist-text,
.oud-pdp-buy__wishlist .tinvwl-tooltip {
	display: none !important;
}

.oud-pdp-buy__wishlist .tinvwl_add_to_wishlist_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 2rem;
	height: 2rem;
	min-height: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: var(--oud-text);
	font-size: 0;
	line-height: 0;
	transition: opacity var(--oud-transition);
}

.oud-pdp-buy__wishlist .tinvwl_add_to_wishlist_button:hover {
	opacity: 0.7;
}

.oud-pdp-buy__wishlist .tinvwl_add_to_wishlist_button::before,
.oud-pdp-buy__wishlist .tinvwl-icon-heart::before {
	content: "" !important;
	display: block !important;
	width: 1.05rem;
	height: 1.05rem;
	margin: 0 !important;
	font-family: inherit !important;
	font-size: 0 !important;
	line-height: 0 !important;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 18.5s-6.5-4.2-6.5-8.4a3.6 3.6 0 0 1 6.5-2.1 3.6 3.6 0 0 1 6.5 2.1c0 4.2-6.5 8.4-6.5 8.4z' fill='none' stroke='%231a1614' stroke-width='1.25' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	transition: background-image var(--oud-transition);
}

.oud-pdp-buy__wishlist .tinvwl_add_to_wishlist_button:hover::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 18.5s-6.5-4.2-6.5-8.4a3.6 3.6 0 0 1 6.5-2.1 3.6 3.6 0 0 1 6.5 2.1c0 4.2-6.5 8.4-6.5 8.4z' fill='none' stroke='%233d2b1f' stroke-width='1.25' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.oud-pdp-buy__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 18.5s-6.5-4.2-6.5-8.4a3.6 3.6 0 0 1 6.5-2.1 3.6 3.6 0 0 1 6.5 2.1c0 4.2-6.5 8.4-6.5 8.4z' fill='%23d4bc82'/%3E%3C/svg%3E");
}

.oud-pdp-buy__wishlist .tinvwl_add_to_wishlist_button.tinvwl-product-in-list:hover::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 22 22'%3E%3Cpath d='M11 18.5s-6.5-4.2-6.5-8.4a3.6 3.6 0 0 1 6.5-2.1 3.6 3.6 0 0 1 6.5 2.1c0 4.2-6.5 8.4-6.5 8.4z' fill='%23c9a86c'/%3E%3C/svg%3E");
}

.oud-pdp-buy__trust {
	list-style: none;
	margin: 1.75rem 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.35rem;
	font-size: 0.72rem;
	color: var(--oud-muted);
	letter-spacing: 0.04em;
}

.oud-pdp-buy__trust li::before {
	content: "—";
	margin-right: 0.5rem;
	opacity: 0.5;
}

/* Variable products */
.oud-pdp-buy .variations {
	width: 100%;
	margin-bottom: 1rem;
	border-collapse: collapse;
}

.oud-pdp-buy .variations td,
.oud-pdp-buy .variations th {
	padding: 0.35rem 0;
	vertical-align: middle;
}

.oud-pdp-buy .variations label {
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.oud-pdp-buy .variations select {
	width: 100%;
	min-height: 2.75rem;
	border: 1px solid var(--oud-border);
	background: transparent;
	padding: 0 0.75rem;
	font-family: var(--oud-font-sans);
}

/* Scent pyramid */
.oud-pdp-pyramid {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--oud-border);
}

.oud-pdp-pyramid__title {
	font-family: var(--oud-font-sans);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin: 0 0 1.25rem;
	color: var(--oud-muted);
}

.oud-pdp-pyramid__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

.oud-pdp-pyramid__label {
	font-family: var(--oud-font-sans);
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin: 0 0 0.5rem;
}

.oud-pdp-pyramid__notes {
	font-family: var(--oud-font-serif);
	font-size: 1.05rem;
	line-height: 1.5;
	margin: 0;
}

.oud-pdp-pyramid__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-top: 1.25rem;
}

.oud-pdp-chip {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.35rem 0.75rem;
	border: 1px solid var(--oud-border);
	font-size: 0.65rem;
	letter-spacing: 0.08em;
}

.oud-pdp-chip__label {
	color: var(--oud-muted);
	text-transform: uppercase;
}

.oud-pdp-chip__value {
	color: var(--oud-text);
}

/* Story */
.oud-pdp-story {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid var(--oud-border);
}

.oud-pdp-story__title {
	font-family: var(--oud-font-sans);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	margin: 0 0 1.25rem;
	color: var(--oud-muted);
}

.oud-pdp-story__content {
	font-family: var(--oud-font-serif);
	font-size: 1.05rem;
	line-height: 1.75;
	color: var(--oud-text);
}

.oud-pdp-story__content p {
	margin: 0 0 1rem;
}

.oud-pdp-story__content p:last-child {
	margin-bottom: 0;
}

/* Accordions */
.oud-pdp-accordions {
	border-top: 1px solid var(--oud-border);
	margin-bottom: clamp(3rem, 6vw, 5rem);
}

.oud-pdp-accordion {
	border-bottom: 1px solid var(--oud-border);
}

.oud-pdp-accordion__heading {
	margin: 0;
}

.oud-pdp-accordion__trigger {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1.35rem 1.25rem;
	background: none;
	border: 0;
	font-family: var(--oud-font-sans);
	font-size: 0.72rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--oud-text);
	cursor: pointer;
	text-align: left;
	transition: background-color var(--oud-transition), color var(--oud-transition);
}

.oud-pdp-accordion__trigger:hover,
.oud-pdp-accordion__trigger:focus-visible {
	background-color: var(--oud-accent) !important;
	color: #fff !important;
	border-color: transparent !important;
}

.oud-pdp-accordion__trigger:hover .oud-pdp-accordion__icon::before,
.oud-pdp-accordion__trigger:hover .oud-pdp-accordion__icon::after,
.oud-pdp-accordion__trigger:focus-visible .oud-pdp-accordion__icon::before,
.oud-pdp-accordion__trigger:focus-visible .oud-pdp-accordion__icon::after {
	background: #fff;
}

.oud-pdp-accordion__icon {
	width: 0.75rem;
	height: 0.75rem;
	position: relative;
	flex-shrink: 0;
}

.oud-pdp-accordion__icon::before,
.oud-pdp-accordion__icon::after {
	content: "";
	position: absolute;
	background: var(--oud-text);
	transition: transform var(--oud-transition);
}

.oud-pdp-accordion__icon::before {
	top: 50%;
	left: 0;
	right: 0;
	height: 1px;
	transform: translateY(-50%);
}

.oud-pdp-accordion__icon::after {
	left: 50%;
	top: 0;
	bottom: 0;
	width: 1px;
	transform: translateX(-50%);
}

.oud-pdp-accordion.is-open .oud-pdp-accordion__icon::after {
	transform: translateX(-50%) scaleY(0);
}

.oud-pdp-accordion__content {
	padding: 0 1.25rem 1.75rem;
	font-size: 0.95rem;
	line-height: 1.75;
	color: var(--oud-text);
}

.oud-pdp-accordion.is-open .oud-pdp-accordion__content {
	padding-top: 0.25rem;
}

.oud-pdp-accordion__content p:first-child {
	margin-top: 0;
}

.oud-pdp-accordion__content--specs {
	padding-top: 0.5rem;
}

.oud-pdp-specs {
	margin: 0;
	display: flex;
	flex-direction: column;
}

.oud-pdp-specs__row {
	display: grid;
	grid-template-columns: minmax(7rem, 10rem) 1fr;
	gap: 1rem 2.5rem;
	align-items: baseline;
	padding: 1rem 0;
	border-bottom: 1px solid var(--oud-border);
}

.oud-pdp-specs__row:first-child {
	padding-top: 0;
}

.oud-pdp-specs__row:last-child {
	border-bottom: 0;
	padding-bottom: 0;
}

.oud-pdp-specs__label {
	margin: 0;
	font-family: var(--oud-font-sans);
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--oud-muted);
}

.oud-pdp-specs__value {
	margin: 0;
	font-family: var(--oud-font-serif);
	font-size: 1.05rem;
	line-height: 1.45;
	color: var(--oud-text);
	text-align: right;
}

/* Related products */
.oud-pdp-related {
	margin-bottom: clamp(3rem, 6vw, 5rem);
}

.oud-pdp-related__head {
	text-align: center;
	margin-bottom: 2.5rem;
}

.oud-pdp-related__eyebrow {
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin: 0 0 0.5rem;
}

.oud-pdp-related__title {
	font-family: var(--oud-font-serif);
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	margin: 0;
	font-weight: 500;
}

.oud-pdp-related__grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem 1.5rem;
}

/* Reviews */
body.single-product #reviews.woocommerce-Reviews {
	max-width: 720px;
	margin: 0 auto clamp(3rem, 6vw, 5rem);
	padding-top: 2rem;
	border-top: 1px solid var(--oud-border);
}

body.single-product #reviews .woocommerce-Reviews-title {
	font-family: var(--oud-font-serif);
	font-size: 1.75rem;
	font-weight: 500;
}

/* Sticky mobile bar */
.oud-pdp-sticky {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 900;
	background: rgba(247, 243, 237, 0.97);
	backdrop-filter: blur(10px);
	border-top: 1px solid var(--oud-border);
	padding: 0.75rem 1rem;
	transform: translateY(100%);
	transition: transform 0.35s ease;
}

.oud-pdp-sticky.is-visible {
	transform: translateY(0);
}

.oud-pdp-sticky__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	max-width: 1280px;
	margin: 0 auto;
}

.oud-pdp-sticky__price .price {
	font-family: var(--oud-font-serif);
	font-size: 1.25rem;
	margin: 0;
}

.oud-pdp-sticky__cta {
	flex-shrink: 0;
	padding: 0.85rem 1.25rem !important;
	min-height: 44px;
}

/* Hide legacy Cosmetsy PDP noise */
.oud-pdp .product-details--header.hot-product,
.oud-pdp .product-single--columns,
.oud-pdp .woocommerce-product-gallery,
.oud-pdp .woocommerce-tabs {
	display: none !important;
}

.oud-pdp .product-price-wrapper .stock {
	display: none;
}

/* —— Reveal (initial state for GSAP) —— */
.oud-reveal {
	opacity: 0;
	transform: translateY(40px);
}

body.oud-loaded .oud-hero .oud-reveal {
	/* GSAP will animate; fallback if no JS */
}

@media (prefers-reduced-motion: reduce) {
	.oud-reveal {
		opacity: 1;
		transform: none;
	}
	.oud-hero__scroll-icon::after {
		animation: none;
	}
	.oud-product-card__reveal {
		transition: opacity 0.2s ease;
		opacity: 0;
	}
	.oud-product-card--has-alt .oud-product-card__images:hover .oud-product-card__reveal,
	.oud-product-card--has-alt .oud-product-card__images:focus-within .oud-product-card__reveal {
		opacity: 1;
	}
	.oud-product-card__img--primary,
	.oud-product-card__img--secondary {
		transition: opacity 0.2s ease;
		transform: none;
	}
}

/* —— Responsive —— */
@media (max-width: 991px) {
	.oud-header__row {
		grid-template-columns: 1fr;
	}

	.oud-header__nav,
	.oud-header__brand,
	.oud-header__tools:not(.oud-header__tools--mobile) {
		display: none;
	}

	.oud-header__mobile {
		display: block;
	}

	.site-header.oud-header .oud-header__mobile .oud-header__menu-toggle,
	.site-header.oud-header .oud-header__mobile .oud-tool {
		color: #1a1614 !important;
	}

	.site-header.oud-header .oud-header__mobile .oud-header__menu-toggle svg path,
	.site-header.oud-header .oud-header__mobile .oud-tool svg path {
		stroke: #1a1614 !important;
	}

	.oud-hero__overlay,
	.oud-philosophy__overlay {
		background: linear-gradient(
			180deg,
			rgba(247, 243, 237, 0.94) 0%,
			rgba(247, 243, 237, 0.78) 55%,
			rgba(247, 243, 237, 0.35) 100%
		);
	}

	.oud-philosophy {
		min-height: auto;
	}

	.oud-trust__list {
		grid-template-columns: repeat(2, 1fr);
	}

	.oud-journal__grid {
		grid-template-columns: 1fr;
	}

	.oud-pdp__layout {
		grid-template-columns: 1fr;
	}

	.oud-pdp__gallery-col {
		position: relative;
		top: auto;
	}

	.oud-pdp-pyramid__grid {
		grid-template-columns: 1fr;
		gap: 1.25rem;
	}

	.oud-pdp-related__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 1.25rem;
	}

	.oud-pdp-specs__row {
		grid-template-columns: 1fr;
		gap: 0.35rem;
	}

	.oud-pdp-specs__value {
		text-align: left;
	}

	.oud-pdp-cart-form__submit {
		min-width: 0;
		width: auto;
	}

	body.oudyssey-luxury.single-product {
		padding-bottom: 4.5rem;
	}

	body.oud-catalog,
	body.oudyssey-luxury:has(.oud-catalog-page),
	body.oudyssey-luxury.single-product {
		--oud-header-offset: 4.5rem;
	}

	body.oud-catalog .site-primary,
	body.oudyssey-luxury.single-product .site-primary {
		padding-top: var(--oud-header-offset);
	}

	.oud-catalog-page {
		padding-top: 0;
	}
}

@media (max-width: 575px) {
	.oud-section-head {
		flex-direction: column;
		align-items: flex-start;
	}

	.oud-collections__carousel {
		padding: 0 2.75rem 3rem;
	}

	.oud-collections__slider:not(.slick-initialized) .oud-collections__slide {
		flex: 0 0 calc((100% - 1rem) / 2);
	}
}

/* Catalog grid — flush image to card top (load last) */
body.oud-catalog .oud-product-card.oud-product-card--catalog > .oud-product-card__media,
.oud-catalog-page .oud-product-card.oud-product-card--catalog > .oud-product-card__media {
	padding: 0 !important;
	margin: 0 !important;
}

body.oud-catalog .oud-product-card.oud-product-card--catalog .oud-product-card__link,
body.oud-catalog .oud-product-card.oud-product-card--catalog .oud-product-card__images {
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}

body.oud-catalog .oud-product-card.oud-product-card--catalog .oud-product-card__img--primary,
body.oud-catalog .oud-product-card.oud-product-card--catalog .oud-product-card__img--secondary {
	object-fit: contain !important;
	object-position: center bottom !important;
}

@media (min-width: 992px) {
	body.oud-catalog .oud-product-card__media,
	.oud-catalog-page .oud-product-card__media {
		aspect-ratio: 1 / 1;
	}

	body.oud-catalog .oud-product-card__img--primary,
	body.oud-catalog .oud-product-card__img--secondary,
	body.oud-catalog .oud-product-card.oud-product-card--catalog .oud-product-card__img--primary,
	body.oud-catalog .oud-product-card.oud-product-card--catalog .oud-product-card__img--secondary,
	.oud-catalog-page .oud-product-card__img--primary,
	.oud-catalog-page .oud-product-card__img--secondary {
		object-position: center bottom !important;
	}

	body.oud-catalog .oud-product-card__body,
	.oud-catalog-page .oud-product-card__body {
		padding-top: 0.65rem;
	}
}

@media (max-width: 991px) {
	body.oud-catalog .oud-product-card__media,
	.oud-catalog-page .oud-product-card__media {
		aspect-ratio: 1 / 1;
	}

	body.oud-catalog .oud-product-card__img--primary,
	body.oud-catalog .oud-product-card__img--secondary,
	body.oud-catalog .oud-product-card.oud-product-card--catalog .oud-product-card__img--primary,
	body.oud-catalog .oud-product-card.oud-product-card--catalog .oud-product-card__img--secondary,
	.oud-catalog-page .oud-product-card__img--primary,
	.oud-catalog-page .oud-product-card__img--secondary {
		object-fit: contain !important;
		object-position: center bottom !important;
	}

	body.oud-catalog .oud-product-card__body,
	.oud-catalog-page .oud-product-card__body {
		padding: 0.65rem 0.5rem 0.85rem;
	}

	body.oud-catalog .oud-product-card__title,
	.oud-catalog-page .oud-product-card__title {
		font-size: 0.82rem;
		line-height: 1.3;
	}

	body.oud-catalog .oud-product-card__brand,
	.oud-catalog-page .oud-product-card__brand {
		font-size: 0.5rem;
	}

	body.oud-catalog .oud-product-card__price,
	.oud-catalog-page .oud-product-card__price {
		font-size: 0.75rem;
	}
}

/* —— Contact page —— */
body.oud-contact,
body.oudyssey-luxury:has(.oud-contact-page) {
	--oud-header-offset: 4.5rem;
}

body.oud-contact .site-primary {
	padding-top: var(--oud-header-offset);
}

body.oud-contact .main-content {
	padding-top: 0;
}

body.oud-contact .module-border,
body.oud-contact .empty-klb {
	display: none;
}

.oud-contact-page {
	padding: 0 0 5rem;
	background: var(--oud-bg);
}

.oud-contact-head {
	text-align: center;
	max-width: 42rem;
	margin: 0 auto 3.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 1px solid var(--oud-border);
}

.oud-contact-head__breadcrumb {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	margin: 0 0 1.25rem;
	font-family: var(--oud-font-sans);
	font-size: 0.68rem;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--oud-muted);
}

.oud-contact-head__breadcrumb a {
	color: inherit;
	text-decoration: none;
	transition: color var(--oud-transition);
}

.oud-contact-head__breadcrumb a:hover,
.oud-contact-head__breadcrumb a:focus-visible {
	color: var(--oud-accent);
}

.oud-contact-head__sep {
	opacity: 0.5;
}

.oud-contact-head__eyebrow {
	font-family: var(--oud-font-sans);
	font-size: 0.62rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin: 0 0 0.75rem;
}

.oud-contact-head__title {
	font-family: var(--oud-font-serif);
	font-size: clamp(2.25rem, 5vw, 3.5rem);
	font-weight: 500;
	line-height: 1.1;
	margin: 0 0 1rem;
	text-transform: none;
}

.oud-contact-head__desc {
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--oud-muted);
	margin: 0;
}

.oud-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.05fr) minmax(280px, 0.95fr);
	gap: clamp(2.5rem, 5vw, 4.5rem);
	align-items: start;
}

.oud-contact-form__title,
.oud-contact-info__title {
	font-family: var(--oud-font-serif);
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 500;
	line-height: 1.15;
	margin: 0 0 0.75rem;
}

.oud-contact-form__text,
.oud-contact-info__text {
	font-size: 0.92rem;
	line-height: 1.7;
	color: var(--oud-muted);
	margin: 0 0 2rem;
}

.oud-contact-form__fields {
	padding: 2rem;
	background: #fff;
	border: 1px solid var(--oud-border);
}

.oud-contact-form__fallback {
	font-size: 0.9rem;
	color: var(--oud-muted);
	margin: 0;
}

/* CF7 — luxury form styling */
.oud-contact-form .wpcf7 {
	font-family: var(--oud-font-sans);
}

.oud-contact-form .wpcf7-form {
	display: grid;
	gap: 0;
}

.oud-contact-form .wpcf7-form p {
	margin: 0 0 1.35rem;
}

.oud-contact-form .wpcf7-form p:last-of-type {
	margin-bottom: 0;
}

.oud-contact-form .wpcf7 label {
	display: block;
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--oud-text);
	margin-bottom: 0.5rem;
}

.oud-contact-form .wpcf7 input[type="text"],
.oud-contact-form .wpcf7 input[type="email"],
.oud-contact-form .wpcf7 input[type="tel"],
.oud-contact-form .wpcf7 input[type="url"],
.oud-contact-form .wpcf7 input[type="number"],
.oud-contact-form .wpcf7 select,
.oud-contact-form .wpcf7 textarea {
	width: 100%;
	padding: 0.85rem 1rem;
	background: var(--oud-bg);
	border: 1px solid var(--oud-border);
	border-radius: 0;
	color: var(--oud-text);
	font-family: var(--oud-font-sans);
	font-size: 0.92rem;
	line-height: 1.5;
	transition: border-color var(--oud-transition), background var(--oud-transition);
}

.oud-contact-form .wpcf7 textarea {
	min-height: 9rem;
	resize: vertical;
}

.oud-contact-form .wpcf7 input:focus,
.oud-contact-form .wpcf7 select:focus,
.oud-contact-form .wpcf7 textarea:focus {
	outline: none;
	border-color: rgba(61, 43, 31, 0.35);
	background: #fff;
}

.oud-contact-form .wpcf7-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 11rem;
	padding: 1rem 1.75rem;
	background: var(--oud-accent);
	color: #fff;
	font-family: var(--oud-font-sans);
	font-size: 0.7rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border: 1px solid var(--oud-accent);
	border-radius: 0;
	cursor: pointer;
	transition: background var(--oud-transition), color var(--oud-transition);
}

.oud-contact-form .wpcf7-submit:hover,
.oud-contact-form .wpcf7-submit:focus-visible {
	background: transparent;
	color: var(--oud-accent);
}

.oud-contact-form .wpcf7-spinner {
	margin-left: 0.75rem;
}

.oud-contact-form .wpcf7-not-valid-tip {
	display: block;
	margin-top: 0.35rem;
	font-size: 0.78rem;
	color: #9a4a3a;
}

.oud-contact-form .wpcf7-response-output {
	margin: 1.25rem 0 0;
	padding: 0.85rem 1rem;
	border: 1px solid var(--oud-border);
	font-size: 0.85rem;
}

.oud-contact-info__channels {
	list-style: none;
	margin: 0 0 2.5rem;
	padding: 0 0 2.5rem;
	border-bottom: 1px solid var(--oud-border);
	display: grid;
	gap: 1.25rem;
}

.oud-contact-info__channel {
	display: flex;
	align-items: flex-start;
	gap: 0.85rem;
}

.oud-contact-info__icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 2.25rem;
	height: 2.25rem;
	color: var(--oud-accent);
	background: rgba(61, 43, 31, 0.06);
}

.oud-contact-info__channel-body {
	display: grid;
	gap: 0.2rem;
	min-width: 0;
}

.oud-contact-info__label {
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--oud-muted);
}

.oud-contact-info__channel a,
.oud-contact-location__value a {
	color: var(--oud-text);
	text-decoration: none;
	transition: color var(--oud-transition);
}

.oud-contact-info__channel a:hover,
.oud-contact-info__channel a:focus-visible,
.oud-contact-location__value a:hover,
.oud-contact-location__value a:focus-visible {
	color: var(--oud-accent);
}

.oud-contact-locations {
	display: grid;
	gap: 2.5rem;
}

.oud-contact-location__city {
	font-family: var(--oud-font-serif);
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.2;
	margin: 0 0 0.5rem;
}

.oud-contact-location__note {
	font-size: 0.88rem;
	line-height: 1.6;
	color: var(--oud-muted);
	margin: 0 0 1.25rem;
}

.oud-contact-location__details {
	margin: 0;
	display: grid;
	gap: 1rem;
}

.oud-contact-location__row {
	display: grid;
	gap: 0.35rem;
}

.oud-contact-location__label {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin: 0;
	font-size: 0.62rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--oud-muted);
}

.oud-contact-location__label .oud-contact-info__icon {
	width: 1.75rem;
	height: 1.75rem;
	background: transparent;
	padding: 0;
}

.oud-contact-location__value {
	margin: 0 0 0 2.25rem;
	font-size: 0.92rem;
	line-height: 1.65;
	color: var(--oud-text);
}

@media (max-width: 991px) {
	.oud-contact-layout {
		grid-template-columns: 1fr;
	}

	.oud-contact-form__fields {
		padding: 1.5rem;
	}

	.oud-contact-info {
		padding-top: 0.5rem;
	}
}

@media (max-width: 767px) {
	body.oud-contact .site-primary {
		padding-top: calc(var(--oud-header-offset) + 0.5rem);
	}

	.oud-contact-head {
		margin-bottom: 2.5rem;
		padding-bottom: 2rem;
	}

	.oud-contact-location__value {
		margin-left: 0;
	}
}

/* —— Cart page —— */
body.oud-cart {
	--oud-header-offset: 5.75rem;
}

body.oud-cart .site-primary {
	padding-top: var(--oud-header-offset);
	background: var(--oud-bg);
}

body.oud-cart .main-content {
	padding-top: 0;
}

body.oud-cart .module-border,
body.oud-cart .empty-klb {
	display: none;
}

body.oud-cart .cart-page-wrapper {
	margin-top: clamp(2rem, 5vw, 3.5rem);
	margin-bottom: clamp(3rem, 8vw, 6rem);
	max-width: 1280px;
	margin-left: auto;
	margin-right: auto;
}

/* Block cart — empty state */
body.oud-cart .wp-block-woocommerce-empty-cart-block {
	max-width: 100%;
	padding: 0;
}

body.oud-cart .wc-block-cart__empty-cart__title.with-empty-cart-icon::before {
	display: none;
}

body.oud-cart .wc-block-cart__empty-cart__title,
body.oud-cart .wp-block-woocommerce-empty-cart-block > .wp-block-heading.has-text-align-center:first-of-type {
	font-family: var(--oud-font-serif);
	font-size: clamp(1.75rem, 3vw, 2.35rem);
	font-weight: 500;
	line-height: 1.2;
	text-align: center;
	color: var(--oud-text);
	margin: 0 0 0.5rem;
}

body.oud-cart .wc-empty-cart-message,
body.oud-cart .cart-empty.woocommerce-info,
body.oud-cart .woocommerce-info.cart-empty {
	font-family: var(--oud-font-sans);
	font-size: 0.85rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	text-align: center;
	color: var(--oud-muted);
	background: transparent !important;
	border: 0 !important;
	padding: 0 !important;
	margin: 0 auto 2.5rem;
	max-width: 36rem;
}

body.oud-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator {
	border: 0;
	border-top: 1px solid var(--oud-border);
	margin: 2.5rem auto;
	max-width: 100%;
}

body.oud-cart .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots::before {
	display: none;
}

body.oud-cart .wp-block-woocommerce-empty-cart-block .wp-block-heading.has-text-align-center:not(.wc-block-cart__empty-cart__title) {
	font-family: var(--oud-font-serif);
	font-size: clamp(1.35rem, 2.5vw, 1.85rem);
	font-weight: 500;
	text-align: left;
	margin: 0 0 2rem;
	color: var(--oud-text);
}

body.oud-cart .return-to-shop .button,
body.oud-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 2.75rem;
	padding: 0.85rem 1.75rem !important;
	font-family: var(--oud-font-sans) !important;
	font-size: 0.65rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 0 !important;
	background: var(--oud-accent) !important;
	border: 1px solid var(--oud-accent) !important;
	color: #fff !important;
	transition:
		background var(--oud-transition),
		color var(--oud-transition),
		border-color var(--oud-transition);
}

body.oud-cart .return-to-shop .button:hover,
body.oud-cart .wp-block-woocommerce-empty-cart-block .wp-block-button__link:hover {
	background: transparent !important;
	color: var(--oud-accent) !important;
}

body.oud-cart .return-to-shop {
	text-align: center;
	margin: 0 0 2rem;
}

/* Product grids on cart (block + classic loop) */
body.oud-cart .cart-page-wrapper ul.products,
body.oud-cart .oud-cart-cross-sells ul.products,
body.oud-cart .wp-block-woocommerce-product-new ul.products,
body.oud-cart .wc-block-product-template {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 2rem 1.5rem !important;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none;
}

body.oud-cart .wc-block-product-template.columns-4 {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

body.oud-cart .wc-block-product-template .wc-block-product,
body.oud-cart .cart-page-wrapper ul.products li.product {
	display: flex;
	flex-direction: column;
	align-items: stretch;
	text-align: center;
	padding: 0 !important;
	margin: 0 !important;
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
}

body.oud-cart ul.products li.product .oud-product-card {
	width: 100%;
	padding: 0;
}

body.oud-cart ul.products li.product .oud-product-card__media {
	margin-bottom: 1rem;
}

body.oud-cart ul.products li.product .oud-product-card__images {
	aspect-ratio: 1 / 1;
}

body.oud-cart ul.products li.product .oud-product-card__img {
	max-height: 11rem;
	object-position: center bottom;
}

body.oud-cart .wc-block-product-template .wc-block-product > * {
	margin-bottom: 0.75rem;
}

body.oud-cart .wc-block-product-template .wc-block-product > *:last-child {
	margin-bottom: 0;
}

/* Block product images */
body.oud-cart .wc-block-components-product-image,
body.oud-cart .wc-block-grid__product-image {
	background: #f0ebe3;
	border: 1px solid var(--oud-border);
	padding: 1.25rem 1rem;
	margin-bottom: 1rem !important;
}

body.oud-cart .wc-block-components-product-image img,
body.oud-cart .wc-block-grid__product-image img {
	width: 100%;
	height: auto;
	max-height: 11rem;
	object-fit: contain;
	object-position: center bottom;
}

body.oud-cart .wc-block-components-product-title,
body.oud-cart .wc-block-grid__product-title {
	font-family: var(--oud-font-serif);
	font-size: 1.05rem;
	font-weight: 500;
	line-height: 1.3;
	margin: 0 0 0.35rem;
}

body.oud-cart .wc-block-components-product-title a,
body.oud-cart .wc-block-grid__product-title a {
	color: var(--oud-text);
	text-decoration: none;
}

body.oud-cart .wc-block-components-product-price,
body.oud-cart .wc-block-grid__product-price {
	font-family: var(--oud-font-sans);
	font-size: 0.8rem;
	color: var(--oud-muted);
	margin-bottom: 0.85rem !important;
}

body.oud-cart .wc-block-components-product-button .wp-block-button__link,
body.oud-cart .wc-block-components-product-button__button,
body.oud-cart .cart-page-wrapper ul.products .add_to_cart_button,
body.oud-cart .cart-page-wrapper ul.products a.button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	min-height: 2.65rem;
	padding: 0.75rem 1rem !important;
	font-family: var(--oud-font-sans) !important;
	font-size: 0.65rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	border-radius: 0 !important;
	background: var(--oud-accent) !important;
	border: 1px solid var(--oud-accent) !important;
	color: #fff !important;
	box-shadow: none !important;
}

body.oud-cart .wc-block-components-product-button .wp-block-button__link:hover,
body.oud-cart .wc-block-components-product-button__button:hover,
body.oud-cart .cart-page-wrapper ul.products .add_to_cart_button:hover,
body.oud-cart .cart-page-wrapper ul.products a.button:hover {
	background: transparent !important;
	color: var(--oud-accent) !important;
}

body.oud-cart .oud-product-card__actions {
	margin-top: 0.85rem;
}

body.oud-cart .oud-product-card__actions .add_to_cart_button,
body.oud-cart .oud-product-card__actions a.button {
	width: 100%;
}

body.oud-cart .cart-page-wrapper ul.products .add_to_cart_button::before {
	display: none !important;
}

body.oud-cart .cart-page-wrapper ul.products .add_to_cart_button span {
	display: inline !important;
}

/* Legacy Cosmetsy loop cards → editorial layout on cart */
body.oud-cart .cart-page-wrapper ul.products .product .product-content {
	display: flex;
	flex-direction: column;
	text-align: center;
}

body.oud-cart .cart-page-wrapper ul.products .product .product-content .product-media {
	margin-bottom: 1rem;
}

body.oud-cart .cart-page-wrapper ul.products .product .product-content .product-media figure.entry-media {
	background: #f0ebe3;
	border: 1px solid var(--oud-border);
	padding: 1.25rem 1rem;
	aspect-ratio: 1 / 1;
	display: flex;
	align-items: flex-end;
	justify-content: center;
}

body.oud-cart .cart-page-wrapper ul.products .product .product-content .product-media img {
	max-height: 11rem;
	width: auto;
	max-width: 85%;
	object-fit: contain;
}

body.oud-cart .cart-page-wrapper ul.products .product .product-content .product-media .entry-media .product-action {
	position: static;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	margin-top: 0.85rem;
	padding: 0;
	opacity: 1 !important;
	transform: none !important;
}

body.oud-cart .cart-page-wrapper ul.products .product .product-content .entry-name {
	font-family: var(--oud-font-serif);
	font-size: 1.05rem;
	font-weight: 500;
	margin: 0 0 0.35rem;
}

body.oud-cart .cart-page-wrapper ul.products .product .product-content .price {
	font-size: 0.8rem;
	color: var(--oud-muted);
	margin-bottom: 0;
}

body.oud-cart .cart-page-wrapper ul.products .tinvwl_add_to_wishlist-text {
	font-family: var(--oud-font-sans);
	font-size: 0.7rem;
	color: var(--oud-muted);
}

body.oud-cart .cart-page-wrapper ul.products .tinvwl_add_to_wishlist_button {
	color: var(--oud-muted) !important;
}

body.oud-cart .cart-page-wrapper ul.products .tinvwl_add_to_wishlist_button:hover {
	color: var(--oud-accent) !important;
}

/* Cross-sells section */
.oud-cart-cross-sells {
	margin-top: clamp(3rem, 6vw, 5rem);
	padding-top: clamp(2rem, 4vw, 3rem);
	border-top: 1px solid var(--oud-border);
}

.oud-cart-cross-sells__eyebrow {
	font-family: var(--oud-font-sans);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--oud-muted);
	margin: 0 0 0.5rem;
}

.oud-cart-cross-sells__title {
	font-family: var(--oud-font-serif);
	font-size: clamp(1.35rem, 2.5vw, 1.85rem);
	font-weight: 500;
	margin: 0 0 2rem;
	color: var(--oud-text);
}

/* Filled cart — table & totals */
body.oud-cart .cart-form-wrapper {
	display: grid;
	gap: 2.5rem;
}

@media (min-width: 992px) {
	body.oud-cart .cart-form-wrapper {
		grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
		align-items: start;
	}
}

body.oud-cart .woocommerce-cart-form table.shop_table {
	border-collapse: collapse;
	width: 100%;
}

body.oud-cart .woocommerce-cart-form table.shop_table thead th {
	font-family: var(--oud-font-sans);
	font-size: 0.65rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--oud-muted);
	border-bottom: 1px solid var(--oud-border);
	padding: 0 0 1rem;
}

body.oud-cart .woocommerce-cart-form table.shop_table tbody td {
	border-bottom: 1px solid var(--oud-border);
	padding: 1.25rem 0.75rem 1.25rem 0;
	vertical-align: middle;
	font-family: var(--oud-font-sans);
	font-size: 0.85rem;
}

body.oud-cart .woocommerce-cart-form table.shop_table .product-thumbnail img {
	max-width: 4.5rem;
	border: 1px solid var(--oud-border);
	background: #f0ebe3;
}

body.oud-cart .woocommerce-cart-form table.shop_table .product-name a {
	font-family: var(--oud-font-serif);
	font-size: 1rem;
	color: var(--oud-text);
	text-decoration: none;
}

body.oud-cart .woocommerce-cart-form table.shop_table .product-remove a {
	color: var(--oud-muted);
	transition: color var(--oud-transition);
}

body.oud-cart .woocommerce-cart-form table.shop_table .product-remove a:hover {
	color: var(--oud-accent);
}

body.oud-cart .cart-collaterals .cart_totals > h2 {
	font-family: var(--oud-font-serif);
	font-size: 1.35rem;
	font-weight: 500;
	margin: 0 0 1.25rem;
}

body.oud-cart .cart-collaterals .cart_totals table th,
body.oud-cart .cart-collaterals .cart_totals table td {
	border-color: var(--oud-border);
	font-family: var(--oud-font-sans);
	font-size: 0.85rem;
	padding: 0.65rem 0;
}

body.oud-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button,
body.oud-cart .cart-form-wrapper .button,
body.oud-cart .woocommerce-cart-form .button {
	font-family: var(--oud-font-sans) !important;
	font-size: 0.65rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	border-radius: 0 !important;
}

body.oud-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button {
	background: var(--oud-accent) !important;
	border: 1px solid var(--oud-accent) !important;
	color: #fff !important;
}

body.oud-cart .cart-collaterals .wc-proceed-to-checkout .checkout-button:hover {
	background: transparent !important;
	color: var(--oud-accent) !important;
}

body.oud-cart .woocommerce-cart-form .actions .button:not(.checkout-button) {
	background: transparent !important;
	color: var(--oud-accent) !important;
	border: 1px solid var(--oud-accent) !important;
}

body.oud-cart .woocommerce-cart-form .actions .button:not(.checkout-button):hover {
	background: var(--oud-accent) !important;
	color: #fff !important;
}

@media (max-width: 991px) {
	body.oud-cart {
		--oud-header-offset: 4.5rem;
	}

	body.oud-cart .cart-page-wrapper ul.products,
	body.oud-cart .oud-cart-cross-sells ul.products,
	body.oud-cart .wp-block-woocommerce-product-new ul.products,
	body.oud-cart .wc-block-product-template {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 1.5rem 1rem !important;
	}
}

@media (max-width: 575px) {
	body.oud-cart .cart-page-wrapper ul.products,
	body.oud-cart .oud-cart-cross-sells ul.products,
	body.oud-cart .wp-block-woocommerce-product-new ul.products,
	body.oud-cart .wc-block-product-template {
		grid-template-columns: 1fr !important;
	}
}

/* Late override — beats Customizer * { cursor: auto !important } on SVG hit-targets */
.site-header.oud-header .oud-header__tools-inner :is(a.oud-tool, button.oud-tool, .cart-link) :is(svg, .oud-icon, path, circle),
.site-header.oud-header .oud-header__mobile .oud-header__tools-inner :is(a.oud-tool, .cart-link) :is(svg, .oud-icon, path, circle) {
	cursor: pointer !important;
}

