/**
 * ironafal – Custom styles
 * Hero section & homepage | Swiper.js, one image per slide
 *
 * @package ironafal
 */

/* --------------------------------------------------------------
   Typography – Instrument Sans
   -------------------------------------------------------------- */

   :root {
	--font-instrument: 'Instrument Sans', sans-serif;
}

body {
	font-family: var(--font-instrument);
}
ì
a:focus {
 outline: none;
}

ol, ul {
	padding-left: 0;
}

/* --------------------------------------------------------------
   Header / Navbar
   -------------------------------------------------------------- */

.site-header {
	position: sticky;
	top: 0;
	z-index: 1000;
	background: #fff;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	font-family: var(--font-instrument);
}

.navbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	position: relative;
	gap: 2rem;
}

.navbar_brand {
	flex-shrink: 0;
	order: 1;
}

.navbar_nav {
	order: 2;
	flex: 1;
	display: flex;
	justify-content: center;
}

.navbar_actions {
	order: 3;
}

.navbar_logo_link {
	text-decoration: none;
	color: #1c1917;
}

.navbar_logo_text {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: -0.02em;
}

.navbar_brand img {
	max-height: 50px;
	width: auto;
}

.navbar_logo_img {
	display: block;
	max-height: 40px;
	width: auto;
}

.navbar_toggle {
	display: none;
	flex-direction: column;
	gap: 4px;
	padding: 0.5rem;
	border: none;
	background: transparent;
	cursor: pointer;
}

.navbar_toggle_icon {
	width: 24px;
	height: 2px;
	background: #1c1917;
	transition: transform 0.2s;
}

.navbar_menu {
	display: flex;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2rem;
	align-items: center;
}

.navbar_menu li {
	margin: 0;
}

.navbar_menu a {
	font-size: 0.95rem;
	font-weight: 500;
	color: #1c1917;
	text-decoration: none;
	transition: color 0.2s;
	padding: 0.5rem 0;
}

.navbar_menu a:hover,
.navbar_menu .current-menu-item > a {
	color: #78716c;
}

/* Top-level menu caret for items with children */
.navbar_menu > li.menu-item-has-children > a::after {
	content: '▾';
	display: inline-block;
	margin-left: 0.25rem;
	font-size: 0.7em;
}

/* Mega menu for \"Nos Catégories\" */
.navbar_menu .menu-item--mega {
	position: relative;
}

.navbar_menu .menu-item--mega > a {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.navbar_menu .menu-item--mega > a::after {
	content: '▾';
	font-size: 0.7em;
}

.navbar_mega {
	position: absolute;
	left: 35%;
	top: 100%;
	transform: translate(-35%, 0px);
	margin-top: 0.75rem;
	opacity: 0;
	visibility: hidden;
	z-index: 9999;
	transition: opacity 0.25s ease, transform 0.25s ease, visibility 0.25s ease;
	width: 1300px;
}

.menu-item--mega:hover > .navbar_mega,
.menu-item--mega:focus-within > .navbar_mega {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
	transform: translate(-35%, 0);
}

.navbar_mega_panel {
	background: #fff;
	border-radius: 20px;
	box-shadow: 0 24px 60px rgba(15, 23, 42, 0.15);
	padding: 1.75rem 2.25rem 2rem;
	min-width: 720px;
	max-width: 1300px;
}

.navbar_mega_inner {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.7fr);
	gap: 2rem;
}

.navbar_mega_col_title {
	font-size: 0.9rem;
	font-weight: 600;
	color: #1c1917;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	margin-bottom: 0.75rem;
}

.navbar_mega_list {
	list-style: none;
	margin: 0 0 1.25rem;
	padding: 0;
}

.navbar_mega_list li {
	margin-bottom: 0.4rem;
}

.navbar_mega_list a {
	font-size: 0.9rem;
	color: #565656 !important;
	text-decoration: none;
	transition: color 0.2s;
	font-weight: 100;
}

.navbar_mega_list a:hover {
	color: #1c1917;
}

.navbar_mega_badge {
	display: inline-block;
	margin-left: 0.4rem;
	padding: 0.1rem 0.4rem;
	border-radius: 9999px;
	font-size: 0.7rem;
	font-weight: 600;
	color: #fff;
	background: #f97316;
}

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

.navbar_mega_categories_cards .categories_card {
	min-height: 260px;
	aspect-ratio: 4 / 5;
}

.navbar_mega_categories_cards .categories_card_title {
	font-size: 1.1rem;
}

.navbar_mega_categories_grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	column-gap: 3rem;
	row-gap: 1.75rem;
	margin-top: 1.75rem;
}

.navbar_mega_category_group .navbar_mega_col_title {
	margin-bottom: 0.5rem;
}

.navbar_mega_col_title a {
	color: inherit;
	text-decoration: none;
}

.navbar_mega_col_title a:hover {
	text-decoration: underline;
}

.navbar_mega_list--compact {
	margin-bottom: 0;
}

.navbar_mega_list--compact li {
	margin-bottom: 0.3rem;
}

.navbar_mega_badge--new {
	background: #4f46e5;
}

.navbar_mega_badge--hot {
	background: #ef4444;
}

@media (max-width: 991px) {
	.search_overlay {
		z-index: 9998;
	}

	/* Optionally hide mega menu on mobile (use normal menu instead) */
	.navbar_mega {
		display: none;
	}
}

/* --------------------------------------------------------------
   Search Overlay
   -------------------------------------------------------------- */

.search_overlay {
	position: fixed;
	inset: 0;
	z-index: 9998;
	background: rgba(255, 255, 255, 0.98);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.25s ease, visibility 0.25s ease;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.search_overlay--open {
	opacity: 1;
	visibility: visible;
}

.search_overlay_inner {
	position: relative;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	padding-top: 3.5rem;
	padding-bottom: 3rem;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

.search_overlay_close {
	position: absolute;
	top: 1.75rem;
	right: 1.25rem;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: none;
	background: transparent;
	line-height: 1;
	cursor: pointer;
	color: #1c1917;
	transition: background 0.2s;
	display: flex;
	align-items: center;
	justify-content: center;
}

.search_overlay_close i {
	font-size: 1.1rem;
}

.search_overlay_close:hover {
	background: #f5f5f4;
}

.search_overlay_title {
	text-align: center;
	font-size: 1.5rem;
	font-weight: 600;
	color: #1c1917;
	margin-bottom: 1.75rem;
}

.search_overlay_field_wrap {
	max-width: 50rem;
	margin: 0 auto 2rem;
	position: relative;
}

.search_overlay_input {
	width: 100%;
	border-radius: 9999px !important;
	border: 1px solid rgba(0, 0, 0, 0.12) !important;
	padding: 10px 20px !important;
	font-size: 14px;
	outline: none;
	background: #fff;
}

.search_overlay_input:focus {
	border-color: #1c1917;
}

.search_overlay_input_btn {
	position: absolute;
	right: 0.9rem;
	top: 50%;
	transform: translateY(-50%);
	width: 32px;
	height: 32px;
	border-radius: 50%;
	border: none;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	color: #1c1917;
	cursor: pointer;
}

.search_overlay_input_btn svg {
	width: 18px;
	height: 18px;
}

.search_overlay_trending {
	margin-bottom: 2rem;
}

.search_overlay_subtitle {
	font-size: 0.98rem;
	font-weight: 600;
	color: #1c1917;
	margin-bottom: 0.75rem;
}

.search_overlay_tags {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.search_overlay_tag {
	display: inline-block;
	border-radius: 9999px;
	border: 1px solid rgba(0, 0, 0, 0.12);
	padding: 0.4rem 0.9rem;
	background: #fff;
	font-size: 0.9rem;
	color: #44403c !important;
	cursor: pointer;
	text-decoration: none;
}

.search_overlay_tag:hover {
	border-color: #1c1917;
	color: #1c1917;
}

.search_overlay_results {
	margin-top: 1rem;
}

.search_overlay_results_heading {
	margin-bottom: 0.75rem;
	font-size: 0.98rem;
	font-weight: 600;
	color: #1c1917;
}

.search_overlay_results_content--loading {
	opacity: 0.6;
	pointer-events: none;
}

.search_overlay_no_results {
	margin: 0;
	padding: 1rem 0;
	color: #57534e;
	font-size: 0.95rem;
}

/* --------------------------------------------------------------
   Cart Popup (Shopping Cart sidebar)
   -------------------------------------------------------------- */

.cart_popup {
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.cart_popup--open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.cart_popup_backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.cart_popup--open .cart_popup_backdrop {
	opacity: 1;
}

.cart_popup_panel {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 420px;
	height: 100%;
	background: var(--hp-paper);
	box-shadow: -12px 0 60px rgba(19,19,46,.18);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.38s cubic-bezier(.2,.7,.2,1);
	overflow: hidden;
	border-left: 1px solid var(--hp-line);
}

.cart_popup--open .cart_popup_panel {
	transform: translateX(0);
}

/* Account Panel (logged-in user) */
.account_panel {
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.account_panel--open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.account_panel_backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.35);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.account_panel--open .account_panel_backdrop {
	opacity: 1;
}

.account_panel_sidebar {
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 360px;
	height: 100%;
	background: #fff;
	box-shadow: -8px 0 40px rgba(0, 0, 0, 0.12);
	display: flex;
	flex-direction: column;
	transform: translateX(100%);
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
}

.account_panel--open .account_panel_sidebar {
	transform: translateX(0);
}

.account_panel_header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1.25rem 1.5rem 1.25rem 3.5rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	flex-shrink: 0;
}

.account_panel_email {
	font-size: 0.95rem;
	font-weight: 600;
	color: #1c1917;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.account_panel_close {
	position: absolute;
	right: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: none;
	background: transparent;
	border-radius: 50%;
	cursor: pointer;
	color: #78716c;
	transition: background 0.2s, color 0.2s;
}

.account_panel_close:hover {
	background: #f5f5f4;
	color: #1c1917;
}

.account_panel_close i {
	font-size: 1.1rem;
}

.account_panel_nav {
	flex: 1;
	overflow-y: auto;
	padding: 1rem 1.5rem;
}

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

.account_panel_item {
	margin: 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.account_panel_item:last-child {
	border-bottom: none;
}

.account_panel_link {
	display: block;
	padding: 1rem 0;
	font-size: 1rem;
	font-weight: 500;
	color: #1c1917 !important;
	text-decoration: none;
	transition: color 0.2s;
}

.account_panel_link:hover {
	color: #78716c;
}

.cart_popup_header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem 1.5rem 1.25rem 3.5rem;
	border-bottom: 1px solid var(--hp-line);
	flex-shrink: 0;
	background: #fff;
}

.cart_popup_title {
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--hp-ink);
	margin: 0;
	text-align: center;
	letter-spacing: -0.01em;
}

.cart_popup_close {
	position: absolute;
	right: 0.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 36px;
	height: 36px;
	border: none;
	background: var(--hp-tint-2);
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hp-ink-2);
	transition: background 0.2s, color 0.2s, transform 0.2s;
}

.cart_popup_close:hover {
	background: var(--hp-tint);
	color: var(--hp-navy);
	transform: translateY(-50%) rotate(90deg);
}

.cart_popup_close i {
	font-size: 1rem;
}

.cart_popup_shipping {
	padding: 0.9rem 1.5rem;
	background: #fff;
	border-bottom: 1px solid var(--hp-line);
}

.cart_popup_shipping_bar {
	position: relative;
	height: 5px;
	background: var(--hp-line);
	border-radius: 9999px;
	overflow: visible;
	margin-bottom: 0.5rem;
}

.cart_popup_shipping_fill {
	height: 100%;
	background: var(--hp-navy);
	border-radius: 9999px;
	transition: width 0.4s var(--hp-ease);
}

.cart_popup_shipping_icon {
	position: absolute;
	right: -2px;
	top: 50%;
	transform: translateY(-50%);
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border-radius: 50%;
	color: var(--hp-navy);
	box-shadow: 0 0 0 2px var(--hp-navy);
}

.cart_popup_shipping_icon i {
	font-size: 0.8rem;
}

.cart_popup_shipping_msg {
	font-size: 0.82rem;
	color: var(--hp-navy);
	font-weight: 600;
	margin: 0;
}

.cart_popup_urgency {
	font-size: 0.8rem;
	font-weight: 600;
	color: #92400e;
	margin: 0;
	padding: 0.55rem 1.5rem;
	background: #fffbeb;
	border-bottom: 1px solid #fde68a;
}

.cart_popup_items {
	flex: 1;
	overflow-y: auto;
	padding: 0.75rem 1.25rem;
	-webkit-overflow-scrolling: touch;
	background: var(--hp-paper);
}

.cart_popup_item {
	display: flex;
	gap: 0.875rem;
	padding: 1rem 0;
	border-bottom: 1px solid var(--hp-line);
}

.cart_popup_item:last-child {
	border-bottom: none;
}

.cart_popup_item_image_wrap {
	flex-shrink: 0;
	width: 76px;
	height: 76px;
	border-radius: var(--hp-r-sm);
	overflow: hidden;
	background: var(--hp-tint-2);
	border: 1px solid var(--hp-line);
}

.cart_popup_item_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cart_popup_item_body {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
}

.cart_popup_item_name {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--hp-ink);
	text-decoration: none;
	line-height: 1.35;
	transition: color 0.18s;
}

.cart_popup_item_name:hover {
	color: var(--hp-navy);
}

.cart_popup_item_meta {
	font-size: 0.78rem;
	color: var(--hp-ink-3);
}

.cart_popup_item_price_wrap {
	display: flex;
	align-items: baseline;
	gap: 0.4rem;
}

.cart_popup_item_price {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--hp-navy);
}

.cart_popup_item_price--sale {
	color: var(--hp-gold);
}

.cart_popup_item_price_old {
	font-size: 0.8rem;
	color: var(--hp-ink-3);
	text-decoration: line-through;
}

.cart_popup_item_actions {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem;
	margin-top: 0.4rem;
}

.cart_popup_item_icons {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.2rem;
}

.cart_popup_edit {
	width: 28px;
	height: 28px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hp-ink-3);
	text-decoration: none;
	border-radius: var(--hp-r-sm);
	transition: background 0.2s, color 0.2s;
}

.cart_popup_edit:hover {
	background: var(--hp-tint-2);
	color: var(--hp-navy);
}

.cart_popup_edit svg {
	width: 15px;
	height: 15px;
}

.cart_popup_qty,
.cart_popup_qty_pill {
	display: inline-flex;
	align-items: center;
	background: #fff;
	border: 1.5px solid var(--hp-line);
	border-radius: 99px;
	overflow: hidden;
}

.cart_popup_items--loading {
	position: relative;
	pointer-events: none;
	opacity: 0.7;
}

.cart_popup_qty_btn {
	min-width: 30px;
	height: 28px;
	padding: 0 0.4rem;
	border: none;
	background: transparent;
	color: var(--hp-ink);
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s, color 0.15s;
	position: relative;
	z-index: 2;
	pointer-events: auto;
}

.cart_popup_qty_btn:hover {
	background: var(--hp-tint-2);
	color: var(--hp-navy);
}

.cart_popup_qty_val {
	min-width: 2.2rem;
	text-align: center;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--hp-ink);
	border-left: 1.5px solid var(--hp-line);
	border-right: 1.5px solid var(--hp-line);
}

.cart_popup_qty_btn:first-child {
	border-right: none;
}

.cart_popup_remove {
	width: 30px;
	height: 30px;
	border: none;
	background: transparent;
	border-radius: var(--hp-r-sm);
	color: var(--hp-ink-3);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s, color 0.2s;
}

.cart_popup_remove:hover {
	background: #fef2f2;
	color: #dc2626;
}

.cart_popup_remove svg {
	width: 16px;
	height: 16px;
}

.cart_popup_remove.loading {
	pointer-events: none;
}

.cart_popup_remove.loading svg {
	display: none;
}

.cart_popup_remove.loading::after {
	content: '';
	width: 14px;
	height: 14px;
	border-radius: 9999px;
	border: 2px solid rgba(0, 0, 0, 0.18);
	border-top-color: var(--hp-navy);
	animation: products_card_spinner 0.7s linear infinite;
}

.cart_popup_empty {
	padding: 3rem 1.5rem 2.5rem;
	text-align: center;
	color: var(--hp-ink-2);
}

.cart_popup_empty_icon {
	width: 72px;
	height: 72px;
	border-radius: 9999px;
	background: var(--hp-tint-2);
	border: 1px solid var(--hp-line);
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hp-ink-3);
	margin: 0 auto 1.5rem;
}

.cart_popup_empty_icon svg {
	width: 36px;
	height: 36px;
}

.cart_popup_empty_title {
	font-size: 1.1rem;
	font-weight: 700;
	color: var(--hp-ink);
	margin: 0 0 0.5rem;
	letter-spacing: -0.01em;
}

.cart_popup_empty_text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: var(--hp-ink-3);
	max-width: 300px;
	margin: 0 auto 1.75rem;
}

.cart_popup_empty_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0.75rem 2rem;
	border-radius: 99px;
	border: none;
	background: var(--hp-navy);
	color: #fff;
	font-size: 0.9rem;
	font-weight: 700;
	font-family: inherit;
	cursor: pointer;
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}

.cart_popup_empty_btn:hover {
	background: var(--hp-navy-dk);
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(51,51,135,.25);
}

.cart_popup_footer {
	padding: 1.1rem 1.25rem 1.25rem;
	border-top: 1px solid var(--hp-line);
	background: #fff;
	flex-shrink: 0;
}

.cart_popup_subtotal {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0.875rem;
}

.cart_popup_subtotal_label {
	font-size: 0.9rem;
	color: var(--hp-ink-2);
}

.cart_popup_subtotal_val {
	font-size: 1.2rem;
	font-weight: 800;
	color: var(--hp-ink);
	letter-spacing: -0.02em;
}

.cart_popup_terms {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 0 0.25rem;
	margin-bottom: 0.875rem;
	font-size: 0.85rem;
	color: var(--hp-ink-2);
}

.cart_popup_terms_label {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	cursor: pointer;
}

.cart_popup_terms_input {
	width: 16px;
	height: 16px;
	margin-top: 0.1rem;
	flex-shrink: 0;
	accent-color: var(--hp-navy);
}

.cart_popup_terms_text {
	line-height: 1.4;
}

.cart_popup_terms_link {
	color: var(--hp-navy);
	text-decoration: underline;
	text-underline-offset: 2px;
	line-height: 1.4;
	transition: color 0.18s;
}

.cart_popup_terms_link:hover {
	color: var(--hp-gold);
}

.cart_popup_btns {
	display: flex;
	flex-direction: column;
	gap: 0.6rem;
}

.cart_popup_btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.875rem 1.25rem;
	font-size: 0.9rem;
	font-weight: 700;
	font-family: inherit;
	text-decoration: none;
	border-radius: 99px;
	transition: background 0.22s, color 0.22s, border-color 0.22s, transform 0.15s, box-shadow 0.22s;
	cursor: pointer;
}

.cart_popup_btn--outline {
	background: transparent;
	border: 1.5px solid var(--hp-navy) !important;
	color: var(--hp-navy) !important;
}

.cart_popup_btn--outline:hover {
	background: var(--hp-tint-2);
}

.cart_popup_btn--primary {
	background: var(--hp-gold);
	border: 1.5px solid var(--hp-gold);
	color: var(--hp-ink) !important;
	font-weight: 700;
}

.cart_popup_btn--primary:hover {
	background: var(--hp-gold-dk);
	border-color: var(--hp-gold-dk);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(194,155,49,.35);
}

@media (max-width: 479px) {
	.cart_popup_panel {
		max-width: 100%;
	}
}

/* --------------------------------------------------------------
   Login Popup (Sign in modal)
   -------------------------------------------------------------- */

.login_popup {
	position: fixed;
	inset: 0;
	z-index: 9999;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.5rem;
}

.login_popup--open {
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.login_popup_backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.4);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.login_popup--open .login_popup_backdrop {
	opacity: 1;
}

.login_popup_modal {
	position: relative;
	width: 100%;
	max-width: 480px;
	background: #fff;
	border-radius: 24px;
	box-shadow: 0 32px 80px rgba(19,19,46,.22), 0 4px 16px rgba(19,19,46,.08);
	overflow: hidden;
}

/* ── Top gold accent bar ── */
.login_popup_modal::before {
	content: '';
	display: block;
	height: 4px;
	background: linear-gradient(90deg, var(--hp-navy), var(--hp-gold));
}

.login_popup_close {
	position: absolute;
	top: 1.1rem;
	right: 1.1rem;
	width: 36px;
	height: 36px;
	border: none;
	background: var(--hp-tint-2);
	border-radius: 50%;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--hp-ink-2);
	transition: background 0.2s, color 0.2s, transform 0.2s;
	z-index: 1;
}

.login_popup_close:hover {
	background: var(--hp-tint);
	color: var(--hp-navy);
	transform: rotate(90deg);
}

.login_popup_close i {
	font-size: 1rem;
}

.login_popup_inner {
	padding: 2rem 2.25rem 2.5rem;
}

.login_popup_title {
	font-size: 1.6rem;
	font-weight: 800;
	font-style: italic;
	letter-spacing: -0.03em;
	color: var(--hp-ink);
	margin: 0 0 0.4rem;
	text-align: center;
}

.login_popup_subtitle {
	font-size: 0.9rem;
	color: var(--hp-ink-3);
	text-align: center;
	margin: 0 0 1.75rem;
	line-height: 1.5;
}

.login_popup_form {
	margin: 0;
}

.login_popup_field {
	margin: 0 0 1rem;
}

.login_popup_label {
	display: block;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--hp-ink);
	margin-bottom: 0.4rem;
}

.login_popup_input {
	width: 100%;
	padding: 0.8rem 1.25rem !important;
	border: 1.5px solid var(--hp-line) !important;
	border-radius: 99px !important;
	font-size: 0.9rem;
	font-family: inherit;
	background: var(--hp-paper);
	color: var(--hp-ink);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.login_popup_input:focus {
	outline: none;
	border-color: var(--hp-navy) !important;
	box-shadow: 0 0 0 3px rgba(51,51,135,.1);
	background: #fff;
}

.login_popup_password_wrap {
	position: relative;
}

.login_popup_password_wrap .login_popup_input {
	padding-right: 3rem !important;
}

.login_popup_password_toggle {
	position: absolute;
	right: 0.4rem;
	top: 50%;
	transform: translateY(-50%);
	width: 34px;
	height: 34px;
	border: none;
	background: transparent;
	border-radius: 50%;
	color: var(--hp-ink-3);
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s, background 0.2s;
}

.login_popup_password_toggle:hover {
	color: var(--hp-navy);
	background: var(--hp-tint-2);
}

.login_popup_password_toggle i {
	font-size: 0.95rem;
}

.login_popup_options {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
}

.login_popup_remember {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	cursor: pointer;
	font-size: 0.875rem;
	color: var(--hp-ink-2);
}

.login_popup_remember_input {
	width: 16px;
	height: 16px;
	accent-color: var(--hp-navy);
	border-radius: 4px;
}

.login_popup_lost {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	font-family: inherit;
	font-size: 0.875rem;
	color: var(--hp-navy);
	text-decoration: underline;
	text-underline-offset: 2px;
	transition: color 0.2s;
}

.login_popup_lost:hover {
	color: var(--hp-gold);
}

.login_popup_privacy {
	font-size: 0.82rem;
	color: var(--hp-ink-3);
	line-height: 1.5;
	margin: 0 0 1.5rem;
}

.login_popup_privacy_link {
	color: var(--hp-navy);
	text-decoration: underline;
	text-underline-offset: 2px;
}

.login_popup_privacy_link:hover {
	color: var(--hp-gold);
}

.login_popup_switch_btn {
	width: 100%;
	font-family: inherit;
}

.login_popup_message {
	font-size: 0.875rem;
	line-height: 1.4;
	padding: 0.7rem 1rem;
	border-radius: 10px;
	margin-bottom: 1rem;
	display: none;
}

.login_popup_message:not(:empty) {
	display: block;
}

.login_popup_message--success {
	background: #dcfce7;
	color: #166534;
	border: 1px solid #86efac;
}

.login_popup_message--error {
	background: #fee2e2;
	color: #991b1b;
	border: 1px solid #fca5a5;
}

.login_popup_btn--loading {
	pointer-events: none;
	opacity: 0.7;
}

.login_popup_btns {
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}

.login_popup_btn {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.9rem 1.25rem;
	font-size: 0.95rem;
	font-weight: 700;
	font-family: inherit;
	text-decoration: none;
	border-radius: 99px;
	transition: background 0.22s, color 0.22s, border-color 0.22s, transform 0.15s, box-shadow 0.22s;
	border: 2px solid transparent;
	cursor: pointer;
	letter-spacing: 0.01em;
}

.login_popup_btn--primary {
	background: var(--hp-navy);
	color: #fff;
	border-color: var(--hp-navy);
}

.login_popup_btn--primary:hover {
	background: var(--hp-navy-dk);
	border-color: var(--hp-navy-dk);
	color: #fff;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(51,51,135,.25);
}

.login_popup_btn--outline {
	background: transparent;
	border-color: var(--hp-line);
	color: var(--hp-ink);
}

.login_popup_btn--outline:hover {
	border-color: var(--hp-navy);
	color: var(--hp-navy);
	background: var(--hp-tint-2);
}

.navbar_actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-shrink: 0;
}

.navbar_icon_btn {
	position: relative;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: transparent;
	color: #1c1917;
	cursor: pointer;
	text-decoration: none;
	transition: color 0.2s;
}

.navbar_icon_btn:hover {
	color: #78716c;
}

.navbar_icon_btn svg {
	width: 20px;
	height: 20px;
	stroke: currentColor;
}

.navbar_count_style {
	position: absolute;
	top: 0;
	right: 0;
	width: 18px;
	height: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 0.7rem;
	font-weight: 700;
	color: #fff;
	background: #c29b31;
	border-radius: 50%;
	transform: translate(4px, -4px);
}

.navbar_count_style:empty,
.navbar_count_style[style*="display: none"] {
	display: none !important;
}

@media (min-width: 769px) {
	.container {
		max-width: 1580px;
	}
	.container, .container-fluid, .container-lg, .container-md, .container-sm, .container-xl, .container-xxl {
		--bs-gutter-x: 3.5rem;
	}
}

/* --------------------------------------------------------------
   Hero Section – one image per slide (left blurred, right clear)
   -------------------------------------------------------------- */

.hero_section {
	padding: 0.5rem 0;
	font-family: var(--font-instrument);
}

.hero_section_inner {
	position: relative;
	min-height: 650px;
	background: #2a2522;
	border-radius: 1.25rem 1.25rem;
	overflow: hidden;
	box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12);
}

.hero_swiper {
	width: 100%;
	height: 100%;
	min-height: 650px;
	border-radius: inherit;
}

.hero_slide {
	position: relative;
	background-size: 120%;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	height: 650px;
	padding: 0 60px;
}

/* Hero slide subtle zoom-out (dezoom) animation only on active slide */
.hero_slide--zooming.swiper-slide-active {
	animation: hero_slide_zoom_out 3s ease-out forwards;
}

@keyframes hero_slide_zoom_out {
	from {
		background-size: 125%;
	}
	to {
		background-size: 110%;
	}
}

/* Left blur overlay – same image, blurred left only; right stays sharp */
.hero_slide_blur {
	position: absolute;
	left: 0;
	top: 0;
	width: 50%;
	height: 100%;
	background: linear-gradient(
		90deg,
		rgba(42, 37, 34, 0.85) 0%,
		rgba(55, 48, 44, 0.5) 70%,
		rgba(42, 37, 34, 0.05) 100%
	);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	pointer-events: none;
}

.hero_slide_content {
	position: relative;
	z-index: 1;
	max-width: 800px;
	padding: 2.5rem 2.5rem 2.5rem 2.5rem;
	display: flex;
	flex-direction: column;
	gap: 0;
}

/* data-motion="fade-up-lg" – fade up animation, triggered when slide is active */
[data-motion="fade-up-lg"] {
	opacity: 0;
	transform: translateY(40px);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
	transition-delay: var(--motion-delay, 0ms);
}

.hero_slide.swiper-slide-active [data-motion="fade-up-lg"] {
	opacity: 1;
	transform: translateY(0);
}

/* Reset motion on inactive slides (no transition on exit for snappy switch) */
.hero_slide:not(.swiper-slide-active) [data-motion="fade-up-lg"] {
	transition-duration: 0.15s;
}

/* Button: slower fade-up so it doesn’t feel rushed */
.hero_section_btn[data-motion="fade-up-lg"] {
	transition-duration: 0.75s;
}

.hero_slide:not(.swiper-slide-active) .hero_section_btn[data-motion="fade-up-lg"] {
	transition-duration: 0.15s;
}

.hero_section_subtitle {
	display: block;
	font-family: var(--font-instrument);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	color: #d6d3d1;
	margin: 0 0 0.5rem;
	line-height: 1.3;
}

.hero_section_title {
	font-family: var(--font-instrument);
	font-size: clamp(1.85rem, 4.5vw, 2.75rem);
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
	margin: 0 0 0.75rem;
	letter-spacing: -0.02em;
}

.hero_section_description {
	font-family: var(--font-instrument);
	font-size: 0.95rem;
	line-height: 1.5;
	color: #d6d3d1;
	margin: 0 0 1.25rem;
}

.hero_section_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	align-self: flex-start;
	padding: 0.75rem 2.5rem;
	font-family: var(--font-instrument);
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	color: #1c1917;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 9999px;
	transition: background 0.2s, color 0.2s, transform 0.15s, border-color 0.2s;
	cursor: pointer;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.hero_section_btn:hover {
	background: #f5f5f4;
	color: #1c1917;
	transform: translateY(-1px);
	border-color: rgba(0, 0, 0, 0.1);
}

/* Swiper arrows – circular, white bg, dark chevron; show only on hero hover */
.hero_arrow {
	width: 44px;
	height: 44px;
	margin-top: 0;
	background: #fff !important;
	border-radius: 50%;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.2s, box-shadow 0.2s;
}

.hero_section_inner:hover .hero_arrow {
	opacity: 1;
	pointer-events: auto;
}

.hero_arrow::after {
	font-size: 1rem;
	font-weight: 700;
	color: #374151 !important;
}

.hero_arrow:hover {
	transform: scale(1.05);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.hero_arrow--prev {
	left: 1rem;
}

.hero_arrow--next {
	right: 1rem;
}

/* Pagination – active solid black, inactive hollow white */
.hero_pagination {
	bottom: 1.25rem !important;
}

.hero_pagination .swiper-pagination-bullet {
	width: 10px;
	height: 10px;
	background: transparent !important;
	border: 2px solid rgba(255, 255, 255, 0.9);
	opacity: 1;
	transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.hero_pagination .swiper-pagination-bullet:hover {
	border-color: #fff;
	transform: scale(1.1);
}

.hero_pagination .swiper-pagination-bullet-active {
	background: #c29b31 !important;
	border-color: #c29b31 !important;
	transform: scale(1.1);
}

/* --------------------------------------------------------------
   Catégories Populaires (section 2)
   -------------------------------------------------------------- */

.categories_section {
	padding: 3.5rem 0;
	background: #fff;
	font-family: var(--font-instrument);
}

.categories_header {
	text-align: center;
	margin-bottom: 2rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

.categories_title {
	font-size: clamp(1.75rem, 3.5vw, 2.25rem);
	font-weight: 600;
	color: #1c1917;
	margin: 0 0 0.5rem;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.categories_subtitle {
	font-size: 1rem;
	line-height: 1.55;
	color: #78716c;
	margin: 0;
}

.categories_card {
	display: block;
	position: relative;
	border-radius: 1rem;
	overflow: hidden;
	aspect-ratio: 3.6 / 5;
	min-height: 260px;
	text-decoration: none;
	color: inherit;
}

.categories_card_bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
}

.categories_card_bg--placeholder {
	background-color: #e7e5e4;
}

.categories_card:hover .categories_card_bg {
	transform: scale(1.06);
}

.categories_card_overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.65) 0%,
		rgba(0, 0, 0, 0.2) 45%,
		transparent 100%
	);
}

.categories_card_content {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	padding: 1.5rem 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	z-index: 1;
}

.categories_card_title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #fff;
	line-height: 1.25;
}

.categories_card_count {
	font-size: 0.875rem;
	color: rgba(255, 255, 255, 0.85);
	line-height: 1.3;
}

/* Categories carousel wrap & swiper */
.categories_carousel_wrap {
	position: relative;
	overflow: visible;
}

.categories_swiper {
	overflow: hidden;
	padding-bottom: 2.5rem;
}

.categories_slide {
	height: auto;
}

.categories_slide .categories_card {
	height: 100%;
	min-height: 260px;
}

.categories_pagination {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	z-index: 2;
}

.categories_pagination .swiper-pagination-bullet {
	width: 8px;
	height: 8px;
	background: #d6d3d1;
	opacity: 1;
	transition: background 0.2s;
}

.categories_pagination .swiper-pagination-bullet-active {
	background: #1c1917;
}

/* --------------------------------------------------------------
   Notre sélection de produits (section 3) – match screenshot
   -------------------------------------------------------------- */

.products_section {
	padding: 3.5rem 0;
	background: #fff;
	font-family: var(--font-instrument);
}

.products_header {
	text-align: center;
	margin-bottom: 2rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

.products_title {
	font-size: clamp(1.75rem, 3.5vw, 2.25rem);
	font-weight: 600;
	color: #1c1917;
	margin: 0 0 0.5rem;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.products_subtitle {
	font-size: 1rem;
	line-height: 1.55;
	color: #78716c;
	margin: 0;
}

.products_carousel_wrap {
	position: relative;
	/* padding: 0 3.5rem; */
	overflow: visible;
}

.products_swiper {
	padding: 1.5rem 0;
	overflow: hidden;
}

.products_slide {
	height: auto;
}

.products_card {
	height: 100%;
	border-radius: 1.25rem 1.25rem 1.25rem 1.25rem;
	overflow: hidden;
}

.products_card_link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.products_card_image_wrap {
	position: relative;
	overflow: hidden;
	border-radius: 1.25rem;
}

.products_card_visual {
	position: relative;
}

.products_card_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.products_card_link:hover .products_card_image {
	transform: scale(1.05);
}

.products_card_badge {
	position: absolute;
	top: 0.75rem;
	left: 0.75rem;
	padding: 0.25rem 0.6rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: #fff;
	background: #c29b31;
	border-radius: 9999px;
	line-height: 1.2;
}

.products_card_wishlist {
	position: absolute;
	top: 0.75rem;
	right: 0.75rem;
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid #c29b31;
	border-radius: 50%;
	background: #fff;
	cursor: pointer;
	transition: transform 0.2s;
}

.products_card_wishlist:hover {
	transform: scale(1.08);
}

.products_card_wishlist_icon {
	width: 18px;
	height: 18px;
	min-width: 18px;
	min-height: 18px;
	display: block;
	color: #c29b31;
	stroke: currentColor;
	fill: none;
}

/* Fix: SVG inside hp-prod__wish — always visible */
.hp-prod__wish svg,
.products_card_wishlist svg {
	display: block;
	width: 16px;
	height: 16px;
	stroke: currentColor;
	fill: none;
	transition: fill 0.2s, stroke 0.2s;
}

/* Active (wishlisted) — gold background, white filled heart */
.products_card_wishlist--active {
	background: #c29b31;
	border-color: #c29b31;
	box-shadow: 0 8px 20px rgba(194,155,49,.35);
	transition: background 0.25s, border-color 0.25s, box-shadow 0.25s;
}
.products_card_wishlist--active svg,
.products_card_wishlist--active .products_card_wishlist_icon {
	fill: #fff !important;
	stroke: #fff !important;
	color: #fff;
}

.products_card_wishlist--loading .products_card_wishlist_icon {
	animation: wishlist-spin 0.6s linear infinite;
}

/* Mobile-only add-to-cart icon (circular, matches wishlist style) */
.products_card_atc_icon {
	display: none;
	position: absolute;
	top: calc(0.75rem + 36px + 8px);
	right: 0.75rem;
	width: 36px;
	height: 36px;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid #1c1917;
	border-radius: 50%;
	background: #fff;
	color: #1c1917;
	text-decoration: none;
	cursor: pointer;
	transition: transform 0.2s;
	z-index: 2;
}

.products_card_atc_icon:hover {
	transform: scale(1.08);
	color: #1c1917;
}

.products_card_atc_icon_svg {
	width: 18px;
	height: 18px;
}

.products_card_atc_icon.loading,
.products_card_atc_icon.added {
	pointer-events: none;
}

.products_card_atc_icon.loading .products_card_atc_icon_svg {
	opacity: 0;
}

.products_card_atc_icon.loading::after {
	content: '';
	position: absolute;
	width: 16px;
	height: 16px;
	border: 2px solid rgba(0, 0, 0, 0.18);
	border-top-color: rgba(0, 0, 0, 0.5);
	border-radius: 50%;
	animation: products_card_spinner 0.7s linear infinite;
}

@media (max-width: 991px) {
	.products_card_atc_icon {
		display: flex;
	}
}

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

/* Wishlist page */
.wishlist_page {
	padding: 4rem 0 5rem;
	background: #ffffff;
}

.wishlist_main > .container {
	max-width: 1140px;
}

.wishlist_breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.875rem;
	color: #6b7280;
	margin-bottom: 1.5rem;
}

.wishlist_breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.wishlist_breadcrumb a:hover {
	text-decoration: underline;
}

.wishlist_header {
	text-align: center;
	margin-bottom: 2.5rem;
}

.wishlist_title {
	font-size: 2.25rem;
	font-weight: 700;
	margin-bottom: 0.75rem;
}

.wishlist_subtitle {
	max-width: 520px;
	margin: 0 auto;
	font-size: 0.975rem;
	color: #6b7280;
}

.wishlist_grid {
	margin-top: 1.5rem;
}

.wishlist_card_visual {
	background: #f3f4f6;
	border-radius: 1rem;
	padding: 2rem 2rem 1.75rem;
}

.wishlist_card_image_wrap {
	background: transparent;
}

.wishlist_card .products_card_image {
	object-fit: contain;
}

.wishlist_remove_btn {
	background: #ffffff;
	border-color: transparent;
	box-shadow: 0 4px 12px rgba(15, 23, 42, 0.12);
}

.wishlist_remove_btn .products_card_wishlist_icon {
	color: #c29b31;
}

.wishlist_indicator {
	display: flex;
	justify-content: center;
	margin-top: 2rem;
}

.wishlist_indicator_dot {
	width: 14px;
	height: 14px;
	border-radius: 50%;
	border: 2px solid #111827;
	background: transparent;
}

.wishlist_indicator_dot--active {
	background: #b91c1c;
	border-color: #b91c1c;
}

.products_card_atc {
	position: absolute;
	left: 50%;
	bottom: 1rem;
	width: 90%;
	text-align: center;
	transform: translateX(-50%) translateY(8px);
	opacity: 0;
	padding: 0.5rem 1.25rem;
	font-size: 0.875rem;
	font-weight: 600;
	color: #1c1917;
	background: #e7e5e4;
	border-radius: 1.5rem;
	white-space: nowrap;
	transition: opacity 0.25s ease, transform 0.25s ease;
	pointer-events: auto;
	text-decoration: none;
	z-index: 2;
}
.products_card_atc:hover{color: #1c1917;}

.products_card_visual:hover .products_card_atc {
	opacity: 1;
	transform: translateX(-50%) translateY(0);
}

/* WooCommerce AJAX states for homepage Add to Cart button */
.products_card_atc.loading,
.products_card_atc.added {
	background: #e7e5e4;
}

.products_card_atc.loading {
	pointer-events: none;
	color: transparent;
}

.products_card_atc.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border-radius: 9999px;
	border: 2px solid rgba(0, 0, 0, 0.18);
	border-top-color: rgba(0, 0, 0, 0.5);
	animation: products_card_spinner 0.7s linear infinite;
}

@keyframes products_card_spinner {
	to {
		transform: rotate(360deg);
	}
}

/* Hide default WooCommerce "View cart" link injected after AJAX add-to-cart */
a.added_to_cart {
	display: none !important;
}

.products_card_info {
	padding: 1rem 1rem 1.25rem;
	text-align: center;
}

.products_card_name a {
	font-size: 1rem;
	font-weight: 600;
	color: #1c1917;
	margin: 0 0 0.35rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-decoration: none;
}

.products_card_rating {
	display: flex;
	justify-content: center;
	gap: 0.15rem;
	margin-bottom: 0.5rem;
}

.products_card_star {
	font-size: 0.9rem;
	color: #eab308;
	line-height: 1;
}

.products_card_price_wrap {
	display: flex;
	justify-content: center;
	align-items: baseline;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.products_card_price {
	font-size: 1.1rem;
	font-weight: 700;
	color: #1c1917;
}

.products_card_price--sale {
	color: #c29b31;
}

.products_card_price_old {
	font-size: 0.9rem;
	color: #a8a29e;
	text-decoration: line-through;
}

/* Products carousel arrows – show only on section hover (flash) */
.products_carousel_wrap .products_arrow {
	position: absolute;
	top: 40%;
	margin-top: 0;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	background: #fff !important;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 50%;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.25s ease, transform 0.2s, box-shadow 0.2s;
	z-index: 2;
}

.products_section:hover .products_arrow {
	opacity: 1;
	pointer-events: auto;
}

.products_carousel_wrap .products_arrow:hover {
	transform: translateY(-50%) scale(1.05);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);
}

.products_arrow::after {
	font-size: 0.9rem;
	font-weight: 700;
	color: #1c1917 !important;
}

.products_arrow--prev {
	left: 0.5rem;
}

.products_arrow--next {
	right: 0.5rem;
}

/* --------------------------------------------------------------
   Promo / Collections (2 large cards – Microphones & Éclairage)
   -------------------------------------------------------------- */

.promo_section {
	padding: 3.5rem 0;
	background: #fff;
	font-family: var(--font-instrument);
}

.promo_card {
	display: block;
	position: relative;
	border-radius: 1.25rem 1.25rem 1.25rem 1.25rem;
	overflow: hidden;
	min-height: 320px;
	aspect-ratio: 4 / 3;
	text-decoration: none;
	color: inherit;
}

.promo_card_bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	transition: transform 0.5s cubic-bezier(0.25, 0.46, 0.45, 0.94);
	will-change: transform;
}

.promo_card:hover .promo_card_bg {
	transform: scale(1.05);
}

.promo_card_overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.6) 0%,
		rgba(0, 0, 0, 0.2) 50%,
		transparent 100%
	);
}

.promo_card_content {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem;
	z-index: 1;
	gap: 1rem;
}

.promo_card_title {
	font-size: clamp(1.1rem, 2.2vw, 1.5rem);
	font-weight: 700;
	color: #fff;
	line-height: 1.3;
}

.promo_card_subtitle {
	font-size: 0.9rem;
	font-weight: 400;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.45;
	margin: 0.25rem 0 0.5rem;
	max-width: 480px;
}

.promo_card_btn {
	display: inline-block;
	padding: 0.6rem 1.5rem;
	font-size: 0.9rem;
	font-weight: 600;
	color: #1c1917;
	background: rgba(255, 255, 255, 0.95);
	border-radius: 1.5rem;
	white-space: nowrap;
	transition: background 0.2s, transform 0.2s;
}

.promo_card:hover .promo_card_btn {
	background: #fff;
	transform: translateY(-2px);
}

/* --------------------------------------------------------------
   Studio CTA (diagonal split + white card)
   -------------------------------------------------------------- */

.studio_section {
	position: relative;
	min-height: 700px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	display: flex;
	align-items: center;
	padding: 4rem 0;
	overflow: hidden;
	font-family: var(--font-instrument);
}

.studio_section::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.15);
	z-index: 0;
}

.studio_section .container {
	position: relative;
	z-index: 1;
	display: flex;
	justify-content: flex-end;
	align-items: center;
}

.studio_card {
	background: #fff;
	border-radius: 1.25rem;
	padding: 4.5rem 3rem;
	max-width: 560px;
	text-align: center;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.studio_card_title {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 1rem;
	line-height: 1.25;
	letter-spacing: -0.02em;
}

.studio_card_desc {
	font-size: 1rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0 0 1.5rem;
}

.studio_card_btn {
	display: inline-block;
	padding: 0.75rem 1.75rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #fff !important;
	background: #c29b31;
	border-radius: 30px;
	text-decoration: none;
	transition: background 0.2s, transform 0.2s;
}

.studio_card_btn:hover {
	background: #c29b31;
	transform: translateY(-2px);
	color: #fff;
}

/* --------------------------------------------------------------
   Offres & Promotions (deals section – same design as products_section, grid)
   -------------------------------------------------------------- */

.deals_section {
	padding: 4rem 0;
	background: #fff;
}

.deals_urgency_badge {
	display: inline-block;
	margin-top: 0.75rem;
	padding: 0.4rem 0.9rem;
	font-size: 0.8rem;
	font-weight: 600;
	color: #1c1917;
	background: #fef3c7;
	border-radius: 9999px;
	white-space: nowrap;
}

.deals_grid {
	margin-bottom: 2rem;
}

.deals_cta_wrap {
	text-align: center;
}

.deals_cta_btn {
	display: inline-block;
	padding: 0.75rem 1.75rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #fff !important;
	background: #c29b31;
	border-radius: 30px;
	text-decoration: none;
	transition: background 0.2s, transform 0.2s;
}

.deals_cta_btn:hover {
	background: #c29b31;
	transform: translateY(-2px);
	color: #fff;
}

/* --------------------------------------------------------------
   Articles & Guides (blog posts grid)
   -------------------------------------------------------------- */

.articles_section {
	padding: 3.5rem 0;
	background: #fff;
	font-family: var(--font-instrument);
}

.articles_header {
	text-align: center;
	margin-bottom: 2rem;
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
}

.articles_title {
	font-size: clamp(1.75rem, 3.5vw, 2.25rem);
	font-weight: 600;
	color: #1c1917;
	margin: 0 0 0.5rem;
	letter-spacing: -0.02em;
	line-height: 1.2;
}

.articles_subtitle {
	font-size: 1rem;
	line-height: 1.55;
	color: #78716c;
	margin: 0;
}

.articles_card {
	height: 100%;
	background: #fff;
	border-radius: 1.25rem 1.25rem 1.25rem 1.25rem;
	overflow: hidden;
	transition: transform 0.25s ease, box-shadow 0.25s ease;
}

.articles_card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
}

.articles_card_link {
	display: block;
	text-decoration: none;
	color: inherit;
	height: 100%;
}

.articles_card_image_wrap {
	position: relative;
	aspect-ratio: 16 / 10;
	overflow: hidden;
	border-radius: 1.25rem 1.25rem 0 0;
}

.articles_card_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.articles_card:hover .articles_card_image {
	transform: scale(1.05);
}

.articles_card_content {
	padding: 1.5rem;
}

.articles_card_title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.75rem;
	line-height: 1.3;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.articles_card_excerpt {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0 0 0.75rem;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.articles_card_date {
	font-size: 0.85rem;
	color: #a8a29e;
	display: block;
}

/* Articles list page (blog index, category/date archives) */
.articles_list_page {
	padding: 2.5rem 0 4rem;
	background: #fff;
}

.articles_main > .container {
	max-width: 1140px;
}

.articles_breadcrumb {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0.375rem;
	font-size: 0.875rem;
	color: #6b7280;
	margin-bottom: 1.5rem;
}

.articles_breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.articles_breadcrumb a:hover {
	text-decoration: underline;
	color: #1c1917;
}

.articles_breadcrumb_sep {
	margin: 0 0.125rem;
}

.articles_breadcrumb_current {
	color: #1c1917;
	font-weight: 600;
}

.articles_list_page .articles_header {
	margin-bottom: 2.5rem;
}

.articles_list_page .articles_title {
	font-size: 2.25rem;
	font-weight: 700;
}

.articles_description {
	font-size: 1rem;
	line-height: 1.55;
	color: #78716c;
	margin-top: 0.5rem;
}

.articles_grid {
	margin-bottom: 2.5rem;
}

.articles_message {
	text-align: center;
	padding: 3rem 2rem;
}

.articles_message--empty p {
	margin: 0 0 1rem;
	color: #78716c;
}

.articles_btn {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	background: #1c1917;
	color: #fff;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	border-radius: 999px;
	transition: background 0.2s, color 0.2s;
}

.articles_btn:hover {
	background: #292524;
	color: #fff;
}

.articles_pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 2rem;
}

.articles_pagination .nav-links {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
	justify-content: center;
}

.articles_pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.5rem;
	background: #f5f5f4;
	color: #1c1917;
	text-decoration: none;
	font-size: 0.9375rem;
	font-weight: 500;
	border-radius: 0.5rem;
	transition: background 0.2s, color 0.2s;
}

.articles_pagination .page-numbers:hover,
.articles_pagination .page-numbers.current {
	background: #1c1917;
	color: #fff;
}

.articles_pagination .page-numbers.dots {
	background: transparent;
	cursor: default;
}

/* --------------------------------------------------------------
   Single Article (single post)
   -------------------------------------------------------------- */

.single_article_page {
	padding: 2.5rem 0 4rem;
	background: #fff;
}

.single_article .container,
.single_article_nav .container,
.single_article_comments .container {
	max-width: 920px;
	margin-left: auto;
	margin-right: auto;
}

.single_article_breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.25rem;
	font-size: 0.875rem;
	color: #6b7280;
	margin-bottom: 1.5rem;
}

.single_article_breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.single_article_breadcrumb a:hover {
	text-decoration: underline;
	color: #1c1917;
}

.single_article_breadcrumb_sep {
	margin: 0 0.125rem;
}

.single_article_breadcrumb_current {
	color: #1c1917;
	font-weight: 600;
}

.single_article_header {
	margin-bottom: 2rem;
}

.single_article_title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	color: #1c1917;
	line-height: 1.25;
	margin: 0 0 0.75rem;
	letter-spacing: -0.02em;
}

.single_article_meta {
	font-size: 0.9375rem;
	color: #78716c;
}

.single_article_meta .posted-on,
.single_article_meta .byline {
	display: inline;
}

.single_article_meta a {
	color: inherit;
	text-decoration: none;
}

.single_article_meta a:hover {
	text-decoration: underline;
	color: #1c1917;
}

.single_article_image_wrap {
	position: relative;
	width: 100%;
	border-radius: 1.25rem;
	overflow: hidden;
	margin-bottom: 2rem;
	aspect-ratio: 16 / 9;
}

.single_article_image {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.single_article_content {
	font-size: 1.0625rem;
	line-height: 1.75;
	color: #44403c;
}

.single_article_content p {
	margin: 0 0 1.25rem;
}

.single_article_content h2,
.single_article_content h3,
.single_article_content h4 {
	margin: 2rem 0 0.75rem;
	color: #1c1917;
	font-weight: 700;
}

.single_article_content ul,
.single_article_content ol {
	margin: 0 0 1.25rem;
	padding-left: 1.5rem;
}

.single_article_content img {
	max-width: 100%;
	height: auto;
	border-radius: 0.5rem;
}

.single_article_content a {
	color: #1c1917;
	text-decoration: underline;
}

.single_article_content a:hover {
	text-decoration: none;
}

.single_article_footer {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
	font-size: 0.9375rem;
	color: #78716c;
}

.single_article_footer .cat-links,
.single_article_footer .tags-links {
	display: block;
	margin-bottom: 0.5rem;
}

.single_article_footer a {
	color: inherit;
	text-decoration: none;
}

.single_article_footer a:hover {
	text-decoration: underline;
	color: #1c1917;
}

.single_article_nav {
	margin-top: 2.5rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.single_article_nav .nav-links {
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	flex-wrap: wrap;
}

.single_article_nav .nav-subtitle {
	display: block;
	font-size: 0.8125rem;
	color: #78716c;
	margin-bottom: 0.25rem;
}

.single_article_nav .nav-title {
	font-weight: 600;
}

.single_article_nav a {
	color: #1c1917;
	text-decoration: none;
}

.single_article_nav a:hover {
	text-decoration: underline;
}

.single_article_comments {
	margin-top: 3rem;
	padding-top: 2rem;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

/* --------------------------------------------------------------
   Features / Services (3 columns – icon, title, desc)
   -------------------------------------------------------------- */

.features_section {
	padding: 3.5rem 0;
	background: #fff;
	font-family: var(--font-instrument);
}

.features_item {
	text-align: center;
	padding: 1rem 0.75rem;
}

.features_icon {
	width: 40px;
	height: 40px;
	margin: 0 auto 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #1c1917;
}

.features_icon svg {
	width: 100%;
	height: 100%;
	stroke: #c29b31;
	stroke-width: 1.5;
}

.features_title {
	font-size: 0.95rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.35rem;
	line-height: 1.3;
}

.features_desc {
	font-size: 0.85rem;
	line-height: 1.5;
	color: #78716c;
	margin: 0;
}

/* Mobile menu panel (slide-in) – shown only on small screens */
.navbar_mobile_panel_overlay,
.navbar_mobile_panel {
	display: none;
}

@media (max-width: 991px) {
	.navbar_mobile_panel_overlay {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.4);
		z-index: 9998;
		opacity: 0;
		visibility: hidden;
		transition: opacity 0.25s ease, visibility 0.25s ease;
	}

	body.navbar_mobile_panel--open .navbar_mobile_panel_overlay {
		opacity: 1;
		visibility: visible;
	}

	.navbar_mobile_panel {
		display: flex;
		flex-direction: column;
		position: fixed;
		left: 0;
		top: 0;
		bottom: 0;
		width: 85%;
		max-width: 320px;
		background: #fff;
		z-index: 9999;
		transform: translateX(-100%);
		transition: transform 0.3s ease;
		box-shadow: 4px 0 24px rgba(0, 0, 0, 0.1);
		overflow: hidden;
	}

	body.navbar_mobile_panel--open .navbar_mobile_panel {
		transform: translateX(0);
	}

	.navbar_mobile_panel_header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 0.5rem 1.25rem;
		background: #333387;
		color: #fff;
		flex-shrink: 0;
	}

	.navbar_mobile_panel_title {
		font-size: 1.125rem;
		font-weight: 700;
	}

	.navbar_mobile_panel_close {
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: none;
		background: transparent;
		color: #fff;
		cursor: pointer;
		font-size: 1.25rem;
		padding: 0;
	}

	.navbar_mobile_panel_close:hover {
		opacity: 0.9;
	}

	.navbar_mobile_panel_close i {
		font-size: 1.25rem;
	}

	.navbar_mobile_panel_body {
		flex: 1;
		overflow-y: auto;
		-webkit-overflow-scrolling: touch;
	}

	.navbar_mobile_panel .navbar_mega {
		display: none;
	}

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

	.navbar_mobile_menu li {
		margin: 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.navbar_mobile_menu li:last-child {
		border-bottom: none;
	}

	.navbar_mobile_menu a {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 1rem 1.25rem;
		font-size: 1rem;
		font-weight: 500;
		color: #1c1917;
		text-decoration: none;
	}

	.navbar_mobile_menu a:hover {
		background: #f5f5f4;
	}

	.navbar_mobile_menu a::after {
		content: '\203A';
		font-size: 1.25rem;
		color: #78716c;
	}

	.navbar_mobile_panel_footer {
		border-top: 1px solid rgba(0, 0, 0, 0.08);
		padding: 1rem 1.25rem;
		display: flex;
		flex-direction: column;
		gap: 0.5rem;
		flex-shrink: 0;
	}

	.navbar_mobile_panel_link {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		padding: 0.75rem 0;
		font-size: 1rem;
		color: #1c1917 !important;
		text-decoration: none;
	}

	.navbar_mobile_panel_link:hover {
		color: #78716c;
	}

	.navbar_mobile_panel_link svg {
		width: 20px;
		height: 20px;
		flex-shrink: 0;
		stroke: currentColor;
	}

	.navbar_nav .navbar_menu {
		display: none !important;
	}
}

/* Mobile bottom navigation bar */
.mobnav {
	display: none;
}

@media (max-width: 991px) {
	.mobnav {
		display: flex;
		align-items: stretch;
		justify-content: space-around;
		position: fixed;
		bottom: 0;
		left: 0;
		right: 0;
		background: #fff;
		border-top: 1px solid rgba(0, 0, 0, 0.1);
		z-index: 9990;
		padding: 0.5rem 0;
		padding-bottom: max(0.5rem, env(safe-area-inset-bottom));
	}

	body {
		padding-bottom: 64px;
	}

	.mobnav_item {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		flex: 1;
		gap: 0.25rem;
		padding: 0.35rem 0.25rem;
		text-decoration: none;
		color: #1c1917 !important;
		font-size: 0.6875rem;
		font-weight: 500;
	}

	.mobnav_item:hover {
		color: #78716c;
	}

	.mobnav_icon_wrap {
		position: relative;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.mobnav_icon {
		width: 22px;
		height: 22px;
		stroke: currentColor;
	}

	.mobnav_badge {
		position: absolute;
		top: -6px;
		right: -8px;
		min-width: 16px;
		height: 16px;
		padding: 0 4px;
		display: flex;
		align-items: center;
		justify-content: center;
		background: #c29b31;
		color: #fff;
		font-size: 0.625rem;
		font-weight: 600;
		border-radius: 999px;
		line-height: 1;
	}

	.mobnav_label {
		display: block;
	}
}

/* Responsive */
@media (max-width: 991px) {
	.navbar {
		display: grid;
		grid-template-columns: 1fr auto 1fr;
		align-items: center;
		gap: 0.75rem;
	}

	.navbar_nav {
		order: 1;
		justify-self: start;
		flex: none;
		justify-content: flex-start;
		position: relative;
	}

	.navbar_brand {
		order: 2;
		justify-self: center;
	}

	.navbar_actions {
		order: 3;
		justify-self: end;
		display: flex;
		align-items: center;
		gap: 0.5rem;
	}

	.navbar_profile_btn,
	.navbar_wishlist_btn {
		display: none;
	}

	.navbar_toggle {
		display: flex;
	}

	.navbar_menu {
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		flex-direction: column;
		background: #fff;
		border: 1px solid rgba(0, 0, 0, 0.06);
		border-radius: 0.5rem;
		padding: 1rem;
		box-shadow: 0 4px 16px rgba(0, 0, 0, 0.08);
		opacity: 0;
		visibility: hidden;
		transform: translateY(-10px);
		transition: opacity 0.2s, visibility 0.2s, transform 0.2s;
		gap: 0;
		margin-top: 0.5rem;
		z-index: 9999;
	}

	.navbar_nav[aria-expanded="true"] .navbar_menu {
		opacity: 1;
		visibility: visible;
		transform: translateY(0);
	}

	.navbar_menu li {
		width: 100%;
	}

	.navbar_menu a {
		display: block;
		padding: 0.75rem 1rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	}

	.navbar_menu li:last-child a {
		border-bottom: none;
	}
}

@media (max-width: 767px) {
	.site-header {
		padding: 0.75rem 0;
	}

	.navbar {
		gap: 1rem;
	}

	.navbar_logo_text {
		font-size: 1.25rem;
	}

	.navbar_brand img {
		max-height: 55px;
	}

	.navbar_actions {
		gap: 0.5rem;
	}

	.navbar_icon_btn {
		width: 36px;
		height: 36px;
	}

	.navbar_icon_btn svg {
		width: 18px;
		height: 18px;
	}

	.hero_section {
		padding: 0.75rem 0;
	}

	.hero_section .container-fluid {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.hero_section_inner {
		min-height: 520px;
		border-radius: 1rem;
	}

	.hero_swiper {
		min-height: 520px;
		border-radius: inherit;
	}

	.hero_slide {
		height: 520px;
		padding: 0 1.25rem;
		align-items: flex-end;
		background-size: cover !important;
		background-position: center;
	}

	.hero_slide--zooming.swiper-slide-active {
		animation: none;
	}

	.hero_slide_blur {
		width: 100%;
		height: 100%;
		background: linear-gradient(
			180deg,
			rgba(42, 37, 34, 0.05) 0%,
			rgba(42, 37, 34, 0.3) 40%,
			rgba(42, 37, 34, 0.85) 100%
		);
		backdrop-filter: none;
	}

	.hero_slide_content {
		max-width: 100%;
		width: 100%;
		padding: 0 0 2.5rem;
		align-items: flex-start;
	}

	.hero_section_subtitle {
		font-size: 0.7rem;
		letter-spacing: 0.12em;
		color: rgba(255, 255, 255, 0.95);
		margin-bottom: 0.35rem;
	}

	.hero_section_title {
		font-size: clamp(1.5rem, 6vw, 2rem);
		margin-bottom: 0.75rem;
		color: #fff;
	}

	.hero_section_description {
		display: none;
	}

	.hero_section_btn {
		padding: 0.65rem 1.75rem;
		font-size: 0.875rem;
	}

	.hero_arrow {
		width: 36px;
		height: 36px;
	}

	.hero_arrow::after {
		font-size: 0.85rem;
	}

	.hero_arrow--prev {
		left: 0.5rem;
	}

	.hero_arrow--next {
		right: 0.5rem;
	}

	.hero_pagination {
		bottom: 1rem !important;
	}

	.hero_pagination .swiper-pagination-bullet {
		width: 8px;
		height: 8px;
	}
}

@media (max-width: 767px) {
	.hero_section_inner,
	.hero_swiper,
	.hero_slide {
		min-height: 460px;
		height: 460px;
	}

	.hero_section .container-fluid {
		padding-left: 0.75rem;
		padding-right: 0.75rem;
	}

	.hero_section_title {
		font-size: clamp(1.35rem, 7vw, 1.75rem);
	}

	.hero_section_btn {
		padding: 0.6rem 1.5rem;
		font-size: 0.8rem;
	}

	.hero_arrow {
		width: 32px;
		height: 32px;
	}

	.hero_arrow::after {
		font-size: 0.75rem;
	}
}

/* Catégories Populaires – responsive */
@media (max-width: 991px) {
	.categories_section .container {
		padding-left: 1rem;
		padding-right: 1rem;
	}

	.categories_pagination {
		bottom: 0.5rem;
	}
}

@media (max-width: 767px) {
	.categories_section {
		padding: 2.5rem 0;
	}

	

	.categories_header {
		margin-bottom: 1.5rem;
	}

	.categories_title {
		font-size: clamp(1.5rem, 5vw, 1.75rem);
	}

	.categories_subtitle {
		font-size: 0.9rem;
		line-height: 1.5;
	}

	.categories_card {
		min-height: 200px;
		aspect-ratio: 3 / 4;
	}

	.categories_card_content {
		padding: 1rem 1rem;
	}

	.categories_card_title {
		font-size: 0.95rem;
	}

	.categories_card_count {
		font-size: 0.8rem;
	}

	.categories_swiper {
		padding-bottom: 2rem;
	}

	.categories_pagination .swiper-pagination-bullet {
		width: 8px;
		height: 8px;
	}
}

/* Promo / Collections – responsive */
@media (max-width: 767px) {
	.promo_section {
		padding: 2.5rem 0;
	}

	.promo_card {
		min-height: 280px;
		aspect-ratio: 4 / 3;
	}

	.promo_card_content {
		padding: 1.5rem;
		gap: 0.75rem;
	}

	.promo_card_title {
		font-size: 1.05rem;
	}

	.promo_card_btn {
		font-size: 0.85rem;
		padding: 0.5rem 1.25rem;
	}
}

/* Articles & Guides – responsive */
@media (max-width: 767px) {
	.articles_section {
		padding: 2.5rem 0;
	}

	.articles_header {
		margin-bottom: 1.5rem;
	}

	.articles_card_content {
		padding: 1.25rem;
	}

	.articles_card_title {
		font-size: 1rem;
		margin-bottom: 0.5rem;
	}

	.articles_card_excerpt {
		font-size: 0.85rem;
		margin-bottom: 0.5rem;
	}

	.articles_card_date {
		font-size: 0.8rem;
	}
}

/* Studio CTA – responsive */
@media (max-width: 767px) {
	.studio_section {
		min-height: 360px;
		padding: 2.5rem 1rem;
	}

	.studio_card {
		padding: 2rem 1.5rem;
	}

	.studio_card_title {
		font-size: 1.35rem;
	}

	.studio_card_desc {
		font-size: 0.95rem;
	}

	.studio_card_btn {
		font-size: 0.9rem;
		padding: 0.65rem 1.5rem;
	}
}

/* Features / Services – responsive */
@media (max-width: 767px) {
	.features_section {
		padding: 2.5rem 0;
	}

	.features_item {
		padding: 1rem 0.5rem;
	}

	.features_icon {
		width: 36px;
		height: 36px;
		margin-bottom: 0.65rem;
	}

	.features_title {
		font-size: 0.9rem;
	}

	.features_desc {
		font-size: 0.8rem;
	}
}

/* Footer – responsive */
@media (max-width: 991px) {
	.footer_bottom_inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.footer_bottom_right {
		width: 100%;
		justify-content: space-between;
	}
}

@media (max-width: 767px) {
	.footer_top {
		padding: 2.5rem 0;
	}

	.footer_widget {
		margin-bottom: 2rem;
	}

	.footer_widget_title {
		font-size: 1rem;
		margin-bottom: 1rem;
	}

	.footer_widget_text {
		font-size: 0.85rem;
	}

	.footer_contact {
		margin-bottom: 1.25rem;
	}

	.footer_contact_link {
		font-size: 0.85rem;
	}

	.footer_menu a {
		font-size: 0.85rem;
	}

	.footer_newsletter {
		flex-direction: column;
	}

	.footer_newsletter_input {
		font-size: 0.85rem;
	}

	.footer_newsletter_btn {
		font-size: 0.85rem;
		width: 100%;
	}

	.footer_newsletter_legal {
		font-size: 0.7rem;
	}

	.footer_bottom {
		padding: 1.25rem 0;
	}

	.footer_bottom_left {
		flex-direction: column;
		align-items: flex-start;
		gap: 1rem;
	}

	.footer_select {
		font-size: 0.8rem;
		padding: 0.45rem 2rem 0.45rem 0.65rem;
	}

	.footer_copyright {
		font-size: 0.8rem;
	}

	.footer_payments {
		gap: 0.4rem;
	}

	.footer_payment_icon {
		font-size: 0.7rem;
		padding: 0.2rem 0.4rem;
	}

	.footer_back_to_top {
		width: 40px;
		height: 40px;
	}

	.footer_back_to_top svg {
		width: 18px;
		height: 18px;
	}
}

/* Notre sélection de produits – responsive */
@media (max-width: 767px) {
	.products_section {
		padding: 2.5rem 0;
	}

	.products_header {
		margin-bottom: 1.5rem;
	}

	

	.products_swiper {
		padding: 1rem 0;
	}

	.products_carousel_wrap .products_arrow {
		width: 34px;
		height: 34px;
	}

	.products_arrow::after {
		font-size: 0.8rem;
	}

	.products_arrow--prev {
		left: 0.5rem;
	}

	.products_arrow--next {
		right: 0.5rem;
	}

	.products_card_info {
		padding: 0.875rem 0.75rem 1rem;
	}

	.products_card_name a {
		font-size: 0.95rem;
	}

	.products_card_price {
		font-size: 1rem;
	}
}

/* --------------------------------------------------------------
   Footer
   -------------------------------------------------------------- */

.site-footer {
	background: #fff;
	font-family: var(--font-instrument);
}

.footer_top {
	padding: 3.5rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.footer_widget {
	margin-bottom: 1.5rem;
}

.footer_widget_title {
	font-size: 1.1rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 1.25rem;
	line-height: 1.3;
}

.footer_widget_text {
	font-size: 0.9rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0 0 1rem;
}

.footer_widget_text strong {
	font-weight: 700;
	color: white;
}

.footer_contact {
	margin-bottom: 1.5rem;
}

.footer_contact_item {
	margin: 0 0 0.5rem;
}

.footer_contact_link {
	font-size: 0.9rem;
	color: #1c1917;
	text-decoration: none;
	transition: color 0.2s;
}

.footer_contact_link:hover {
	color: #78716c;
}

.footer_social {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.footer_social_link {
	width: 36px;
	height: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 50%;
	color: #1c1917;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.footer_social_link:hover {
	background: #f5f5f4;
	border-color: rgba(0, 0, 0, 0.15);
	transform: translateY(-2px);
}

.footer_social_link svg {
	width: 18px;
	height: 18px;
}

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

.footer_menu li {
	margin: 0 0 0.65rem;
}

.footer_menu a {
	font-size: 0.9rem;
	color: #78716c;
	text-decoration: none;
	transition: color 0.2s;
}

.footer_menu a:hover {
	color: #1c1917;
}

.footer_newsletter {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.footer_newsletter_input {
	flex: 1;
	padding: 0.65rem 1rem !important;
	font-size: 0.9rem;
	font-family: var(--font-instrument);
	color: #1c1917 !important;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1) !important;
	border-radius: 30px !important;
	outline: none;
	transition: border-color 0.2s;
}

.footer_newsletter_input:focus {
	border-color: #1c1917;
}

.footer_newsletter_input::placeholder {
	color: #a8a29e;
}

.footer_newsletter_btn {
	padding: 0.65rem 1.25rem;
	font-size: 0.9rem;
	font-weight: 600;
	font-family: var(--font-instrument);
	color: #fff;
	background: #c29b31;
	border: none;
	border-radius: 30px;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
	white-space: nowrap;
}

.footer_newsletter_btn:hover {
	background: #c29b31;
	transform: translateY(-1px);
}

.footer_newsletter_legal {
	font-size: 0.75rem;
	line-height: 1.5;
	color: #a8a29e;
	margin: 0;
}

.footer_newsletter_legal strong a {
	color: white;
	text-decoration: none;
}

.footer_newsletter_legal strong a:hover {
	text-decoration: underline;
}

.footer_bottom {
	padding: 1.5rem 0;
	background: #fafaf9;
}

.footer_bottom_inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.footer_bottom_left {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	flex-wrap: wrap;
}

.footer_select_wrap {
	position: relative;
}

.footer_select {
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	font-size: 0.875rem;
	font-family: var(--font-instrument);
	color: #1c1917;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 0.375rem;
	cursor: pointer;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231c1917' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.5rem center;
	background-size: 16px;
	padding-right: 2.5rem;
}

.footer_copyright {
	font-size: 0.875rem;
	color: white;
	margin: 0;
}

.footer_bottom_right {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.footer_payments {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	flex-wrap: wrap;
}

.footer_payment_icon {
	font-size: 0.75rem;
	font-weight: 600;
	color: #78716c;
	padding: 0.25rem 0.5rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0.25rem;
}

.footer_back_to_top {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	border-radius: 50%;
	background: #1c1917;
	color: #fff;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s, opacity 0.3s, visibility 0.3s;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	opacity: 0;
	visibility: hidden;
}

.footer_back_to_top:hover {
	background: #374151;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}

.footer_back_to_top svg {
	width: 20px;
	height: 20px;
}

/* --------------------------------------------------------------
   WooCommerce – Archive / Shop / Category (front design)
   -------------------------------------------------------------- */

.archive_shop {
	padding-bottom: 3rem;
}

.archive_shop_header {
	padding: 2rem 0 2.5rem;
	text-align: center;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.archive_shop_breadcrumb {
	font-size: 0.875rem;
	color: #78716c;
	margin-bottom: 0.75rem;
}

.archive_shop_breadcrumb a {
	color: #78716c;
	text-decoration: none;
	transition: color 0.2s;
}

.archive_shop_breadcrumb a:hover {
	color: #1c1917;
}

.archive_shop_breadcrumb_sep {
	margin: 0 0.35rem;
}

.archive_shop_breadcrumb_current {
	color: #1c1917;
	font-weight: 600;
}

.archive_shop_title {
	font-size: 2.25rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.5rem;
	letter-spacing: -0.02em;
}

.archive_shop_description {
	font-size: 1rem;
	color: #78716c;
	margin: 0;
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

.archive_shop_body {
	padding: 2rem 0;
}

.archive_shop_sidebar {
	position: sticky;
	top: 2rem;
	align-self: start;
}

/* Filter popup (mobile) – hidden on desktop */
.archive_shop_filter_popup_header {
	display: none;
}

.archive_shop_filter_backdrop {
	display: none;
}

.archive_shop_mobile_toolbar {
	display: none;
}

.archive_shop_filters {
	display: flex;
	flex-direction: column;
	gap: 0;
	background: #fff;
	border: 1px solid rgb(0 0 0 / 2%);
	border-radius: 1rem;
	overflow: hidden;
}

.archive_shop_filter {
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	padding: 1rem 1.25rem;
}

.archive_shop_filter:last-child {
	border-bottom: none;
}

.archive_shop_filter_title {
	display: flex;
	align-items: center;
	justify-content: space-between;
	font-size: 0.9375rem;
	font-weight: 600;
	color: #1c1917;
	margin: 0 0 0.75rem;
	cursor: pointer;
	user-select: none;
}

.archive_shop_filter_toggle {
	font-size: 1rem;
	color: #78716c;
	line-height: 1;
}

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

.archive_shop_filter_list li {
	margin: 0;
}

.archive_shop_filter_list a {
	display: block;
	font-size: 0.9375rem;
	color: #565656;
	text-decoration: none;
	padding: 0.35rem 0;
	transition: color 0.2s;
}

.archive_shop_filter_list a:hover {
	color: #1c1917;
}

.archive_shop_filter_list--checkboxes .archive_shop_filter_checkbox {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.9375rem;
	color: #44403c;
	cursor: pointer;
	padding: 0.35rem 0;
}

.archive_shop_filter_list--checkboxes input[type="checkbox"] {
	width: 1.125rem;
	height: 1.125rem;
	accent-color: #1c1917;
}

.archive_shop_filter_price {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.archive_shop_filter_price_inputs {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.archive_shop_filter_price_min,
.archive_shop_filter_price_max {
	width: 4.5rem;
	padding: 0.4rem 0.5rem;
	font-size: 0.875rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 0.375rem;
	font-family: inherit;
}

.archive_shop_filter_price_sep {
	color: #78716c;
	font-size: 0.875rem;
}

.archive_shop_filter_slider {
	padding: 0.5rem 0;
}

.archive_shop_filter_slider_track {
	position: relative;
	height: 6px;
	background: #e7e5e4;
	border-radius: 3px;
}

.archive_shop_filter_slider_range {
	position: absolute;
	top: 0;
	height: 100%;
	background: #1c1917;
	border-radius: 3px;
	pointer-events: none;
}

.archive_shop_filter_slider_handle {
	position: absolute;
	top: 50%;
	width: 18px;
	height: 18px;
	background: #fff;
	border: 2px solid #1c1917;
	border-radius: 50%;
	transform: translate(-50%, -50%);
	box-shadow: 0 1px 4px rgba(0, 0, 0, 0.1);
	cursor: grab;
	z-index: 2;
}

.archive_shop_filter_slider_handle:active {
	cursor: grabbing;
}

.archive_shop_filter_price_label {
	font-size: 0.8125rem;
	color: #78716c;
	margin: 0;
}

.archive_shop_toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.5rem;
	padding-bottom: 1rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.archive_shop_results {
	font-size: 0.9375rem;
	color: #44403c;
	margin: 0;
}

.archive_shop_views {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.archive_shop_view_btn {
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: #fff;
	border-radius: 0.5rem;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s;
}

.archive_shop_view_btn svg,
.archive_shop_view_btn i {
	width: 18px;
	height: 18px;
	color: #cbcbcb;
	font-size: 18px;
}

.archive_shop_view_btn:hover i {
	color: #44403c;
}

.archive_shop_view_btn--active {
	color: #fff;
}


.archive_shop_view_btn--active i{color: #44403c;}

.archive_shop_view_btn--active svg {
	color: #fff;
}

.archive_shop_sort {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}

.archive_shop_sort_label {
	font-size: 0.9375rem;
	color: #44403c;
	margin: 0;
}

.archive_shop_sort_select {
	padding: 0.5rem 2rem 0.5rem 0.75rem;
	font-size: 0.9375rem;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 0.5rem;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%2344403c' d='M6 8L1 3h10z'/%3E%3C/svg%3E") no-repeat right 0.75rem center;
	background-size: 12px;
	font-family: inherit;
	color: #1c1917;
	cursor: pointer;
	appearance: none;
}

.archive_shop_grid {
	display: grid;
	gap: 1.5rem;
}

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

.archive_shop_grid--cols-3 {
	grid-template-columns: repeat(2, 1fr);
}

.archive_shop_grid--cols-4 {
	grid-template-columns: repeat(2, 1fr);
}

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

@media (min-width: 992px) {
	.archive_shop_grid--cols-3 {
		grid-template-columns: repeat(3, 1fr);
	}
	.archive_shop_grid--cols-4 {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1200px) {
	.archive_shop_grid--cols-4 {
		grid-template-columns: repeat(4, 1fr);
	}
}

/* .archive_shop_grid--cols-2 .archive_shop_card .products_card_image_wrap {
	aspect-ratio: 1;
}

.archive_shop_card .products_card_image_wrap {
	aspect-ratio: 1;
} */

/* Archive product cards: same design as homepage (centered content, rounded corners, no extra bg) */


.archive_shop_grid .archive_shop_card .products_card_colors {
	justify-content: center;
}

.products_card_colors {
	display: flex;
	align-items: center;
	gap: 0.35rem;
	margin-top: 0.5rem;
}

.products_card_color_swatch {
	width: 16px;
	height: 16px;
	border-radius: 50%;
	border: 1px solid rgba(0, 0, 0, 0.15);
	flex-shrink: 0;
}

/* Archive grid – list view: custom _list classes only */
.archive_shop_grid--list {
	grid-template-columns: 1fr;
	gap: 1.5rem;
}

/* Grid/column view: list body is transparent (children flow as before) */
.archive_shop_grid:not(.archive_shop_grid--list) .archive_shop_list_body {
	display: contents;
}

.archive_shop_grid:not(.archive_shop_grid--list) .archive_shop_list_extra {
	display: none !important;
}

/* ----- List view only: custom _list classes (no card bg/border/shadow) ----- */
.archive_shop_grid--list .archive_shop_list_card {
	background: transparent;
	border: none;
	box-shadow: none;
}

.archive_shop_grid--list .archive_shop_list_card {
	display: flex;
	flex-direction: row;
	align-items: center;
	gap: 0;
}

.archive_shop_grid--list .archive_shop_list_card .products_card_link {
	flex: 0 0 auto;
	text-align: left;
	padding: 0;
	min-height: 0;
}

.archive_shop_grid--list .products_card_atc--grid,
.archive_shop_grid--list .products_card_wishlist--grid,
.archive_shop_grid--list .products_card_atc_icon--grid {
	display: none !important;
}

/* Left: grey only on image box (~40–45%), centered, rounded */
.archive_shop_grid--list .archive_shop_list_image_wrap {
	flex: 0 0 42%;
	min-width: 220px;
	max-width: 400px;
	aspect-ratio: 1;
	border-radius: 10px;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.archive_shop_grid--list .archive_shop_list_image {
	width: 100%;
	height: 100%;
	max-width: 88%;
	max-height: 88%;
	border-radius: 10px;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.archive_shop_grid--list .archive_shop_list_image_wrap:hover .archive_shop_list_image {
	transform: scale(1.05);
}

/* Right: stacked column (list body) */
.archive_shop_grid--list .archive_shop_list_body {
	display: flex;
	flex-direction: column;
	justify-content: center;
	flex: 1;
	min-width: 0;
	padding-left: 0.5rem;
	gap: 0;
}

.archive_shop_grid--list .archive_shop_list_body .products_card_colors {
	display: none;
}

/* 1. Title – bold, prominent */
.archive_shop_grid--list .archive_shop_list_title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.4rem;
	line-height: 1.3;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 2. Rating – tight under title */
.archive_shop_grid--list .archive_shop_list_rating {
	justify-content: flex-start;
	margin-bottom: 0.5rem;
}

.archive_shop_grid--list .archive_shop_list_rating .products_card_star {
	font-size: 1rem;
	color: #eab308;
}

.archive_shop_grid--list .products_card_info{text-align: left;padding: 0;}

/* 3. Price – moderate space under rating */
.archive_shop_grid--list .archive_shop_list_price {
	justify-content: flex-start;
	margin-bottom: 0.75rem;
}

.archive_shop_grid--list .archive_shop_list_price .products_card_price {
	font-size: 1.125rem;
	font-weight: 700;
}

/* 4. Description – generous space above, smaller lighter font */
.archive_shop_grid--list .archive_shop_list_extra {
	display: flex;
	flex-direction: column;
	gap: 1rem;
	margin-top: 0;
	padding-top: 0;
	flex: 1;
}

.archive_shop_grid--list .archive_shop_list_desc {
	font-size: 0.9375rem;
	font-weight: 300;
	color: #78716c;
	line-height: 1.55;
	margin: 0;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 5. Actions – substantial space above; Add to Cart pill + two circles */
.archive_shop_grid--list .archive_shop_list_actions {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: nowrap;
	margin-top: 1rem;
}

.archive_shop_grid--list .archive_shop_list_atc {
	display: inline-block;
	position: relative;
	padding: 0.75rem 4.75rem;
	font-size: 1rem;
	font-weight: 600;
	color: #fff;
	background: #1c1917;
	border-radius: 9999px;
	text-decoration: none;
	transition: background 0.2s;
	border: none;
	cursor: pointer;
}

.archive_shop_list_atc.loading, .archive_shop_list_atc.added{background: #1c1917 !important;}

.archive_shop_grid--list .archive_shop_list_atc:hover {
	background: #374151;
}

/* Spinner for list view Add to Cart (white on dark button only) */
.archive_shop_list_atc.loading,
.archive_shop_list_atc.added {
	background: #1c1917;
}

.archive_shop_list_atc.loading {
	pointer-events: none;
	color: transparent;
}

.archive_shop_list_atc.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border-radius: 9999px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: rgba(255, 255, 255, 0.9);
	animation: products_card_spinner 0.7s linear infinite;
}

.archive_shop_grid--list .archive_shop_list_icon {
	width: 44px;
	height: 44px;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: 1px solid rgba(0, 0, 0, 0.2);
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.2s, border-color 0.2s;
}

.archive_shop_grid--list .archive_shop_list_icon svg {
	width: 20px;
	height: 20px;
	color: #1c1917;
}

.archive_shop_grid--list .archive_shop_list_icon--active {
	background: #111827;
	border-color: #111827;
	box-shadow: 0 8px 20px rgba(15, 23, 42, 0.25);
}

.archive_shop_grid--list .archive_shop_list_icon--active svg {
	color: #ffffff;
}

.archive_shop_grid--list .archive_shop_list_icon:hover {
	background: #f7f7f7;
}

/* List view – mobile: stack image above body so archive_shop_list_body is visible */
@media (max-width: 767px) {
	.archive_shop_grid--list .archive_shop_list_card {
		flex-direction: column;
		align-items: stretch;
	}

	.archive_shop_grid--list .archive_shop_list_image_wrap {
		flex: 0 0 auto;
		min-width: 0;
		max-width: none;
		width: 100%;
		aspect-ratio: 1;
	}
	.archive_shop_grid--list .archive_shop_list_image{
		max-width: 100%;
		max-height: 100%;
	}

	.archive_shop_grid--list .archive_shop_list_body {
		padding-left: 0;
		padding-top: 1rem;
	}
}

/* Archive shop – skeleton loading cards */
.archive_shop_skeleton_card {
	background: #fff;
	border-radius: 0.5rem;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	animation: archive_shop_skeleton_pulse 1.5s ease-in-out infinite;
}

.archive_shop_skeleton_image {
	aspect-ratio: 1;
	background: linear-gradient(90deg, #e7e5e4 25%, #f5f5f4 50%, #e7e5e4 75%);
	background-size: 200% 100%;
	animation: archive_shop_skeleton_shimmer 1.5s ease-in-out infinite;
}

.archive_shop_skeleton_body {
	padding: 1rem;
}

.archive_shop_skeleton_line {
	height: 14px;
	background: #e7e5e4;
	border-radius: 4px;
	margin-bottom: 0.5rem;
}

.archive_shop_skeleton_line:last-child {
	margin-bottom: 0;
}

.archive_shop_skeleton_line--short {
	width: 60%;
}

.archive_shop_skeleton_line--long {
	width: 85%;
	height: 12px;
}

@keyframes archive_shop_skeleton_pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.85; }
}

@keyframes archive_shop_skeleton_shimmer {
	0% { background-position: 200% 0; }
	100% { background-position: -200% 0; }
}

/* Archive shop – product card entrance animation */
.archive_shop_grid--init .archive_shop_card,
.archive_shop_grid--init .products_card {
	opacity: 0;
}

.archive_shop_card--animate,
.archive_shop_grid .archive_shop_card.archive_shop_card--animate,
.archive_shop_grid .products_card.archive_shop_card--animate {
	animation: archive_shop_fade_in_up 0.5s ease-out forwards;
	opacity: 0;
}

@keyframes archive_shop_fade_in_up {
	from {
		opacity: 0;
		transform: translateY(24px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* Homepage – same card entrance as boutique grid (archive_shop_fade_in_up), stagger via JS */
@media (prefers-reduced-motion: no-preference) {
	.site-main--homepage .hp_cards_init .products_card,
	.site-main--homepage .hp_cards_init .categories_card {
		opacity: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.site-main--homepage .hp_cards_init .products_card,
	.site-main--homepage .hp_cards_init .categories_card {
		opacity: 1;
	}
}

.site-main--homepage .products_card.hp_card_animate,
.site-main--homepage .categories_card.hp_card_animate {
	animation: archive_shop_fade_in_up 0.5s ease-out forwards;
	opacity: 0;
}

/* Archive shop content */
.archive_shop_content {
	position: relative;
}

.archive_shop_grid--loading {
	pointer-events: none;
}

/* Archive shop pagination – circular page numbers */
.archive_shop_pagination {
	margin-top: 2.5rem;
	padding-top: 1.5rem;
	display: flex;
	justify-content: center;
}

.archive_shop_pagination .woocommerce-pagination {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}

.archive_shop_pagination .page-numbers {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	list-style: none;
	margin: 0;
	padding: 0;
}

.archive_shop_pagination .page-numbers li {
	margin: 0;
}

.archive_shop_pagination .page-numbers a,
.archive_shop_pagination .page-numbers span {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 2.5rem;
	height: 2.5rem;
	padding: 0 0.5rem;
	font-size: 0.9375rem;
	font-weight: 500;
	text-decoration: none;
	border-radius: 50%;
	border: 1px solid #e5e7eb;
	background: #fff;
	color: #374151;
	transition: background 0.2s, border-color 0.2s, color 0.2s;
}

.archive_shop_pagination .page-numbers a:hover {
	background: #f5f5f4;
	border-color: #d6d3d1;
	color: #1c1917;
}

.archive_shop_pagination .page-numbers .current {
	background: #1c1917 !important;
	border-color: #1c1917;
	color: #fff !important;
	cursor: default;
}

.archive_shop_pagination .page-numbers a, .archive_shop_pagination .page-numbers span{display: flex !important;min-width: 2.5rem !important;padding: 0 0.5rem !important;
	font-size: 0.9375rem !important;}

.woocommerce nav.woocommerce-pagination ul{border: none !important;display: flex !important;}
.woocommerce nav.woocommerce-pagination ul li{border-right: none !important;}

/* Archive shop – filter popup & mobile toolbar */
@media (max-width: 991px) {
	.archive_shop_filter_popup {
		position: fixed;
		inset: 0;
		z-index: 10002;
		pointer-events: none;
	}

	.archive_shop_filter_popup .archive_shop_sidebar {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		max-width: 360px;
		height: 100%;
		background: #fff;
		box-shadow: 4px 0 24px rgba(0, 0, 0, 0.12);
		display: flex;
		flex-direction: column;
		transform: translateX(-100%);
		transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
		overflow: hidden;
		pointer-events: auto;
	}

	.archive_shop_filter_popup--open .archive_shop_sidebar {
		transform: translateX(0);
	}

	.archive_shop_filter_popup_header {
		display: flex;
		align-items: center;
		justify-content: space-between;
		padding: 1.25rem 1.5rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
		flex-shrink: 0;
	}

	.archive_shop_filter_popup_title {
		font-size: 1.125rem;
		font-weight: 600;
		color: #1c1917;
	}

	.archive_shop_filter_popup_close {
		width: 40px;
		height: 40px;
		display: flex;
		align-items: center;
		justify-content: center;
		border: none;
		background: transparent;
		border-radius: 50%;
		cursor: pointer;
		color: #78716c;
		transition: background 0.2s, color 0.2s;
	}

	.archive_shop_filter_popup_close:hover {
		background: #f5f5f4;
		color: #1c1917;
	}

	.archive_shop_filter_popup_close i {
		font-size: 1.25rem;
	}

	.archive_shop_filter_popup .archive_shop_filters {
		flex: 1;
		overflow-y: auto;
		border: none;
		border-radius: 0;
	}

	.archive_shop_filter_backdrop {
		display: block;
		position: fixed;
		inset: 0;
		background: rgba(0, 0, 0, 0.4);
		opacity: 0;
		pointer-events: none;
		transition: opacity 0.35s ease;
	}

	.archive_shop_filter_popup--open .archive_shop_filter_backdrop {
		opacity: 1;
		pointer-events: auto;
	}

	.archive_shop_filter_popup--open {
		pointer-events: auto;
	}

	.archive_shop_row {
		display: block;
	}

	.archive_shop_filter_popup.col-lg-3 {
		width: auto;
	}

	.archive_shop_main {
		width: 100% !important;
		max-width: 100% !important;
		flex: none !important;
	}

	.archive_shop_mobile_toolbar {
		display: flex;
		align-items: center;
		gap: 0.75rem;
		margin-bottom: 1rem;
		padding-bottom: 1rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.archive_shop_filter_btn {
		display: flex;
		align-items: center;
		gap: 0.5rem;
		padding: 0.6rem 1.25rem;
		background: #1c1917;
		color: #fff;
		border: none;
		border-radius: 0.5rem;
		font-size: 0.9375rem;
		font-weight: 500;
		cursor: pointer;
		transition: background 0.2s, opacity 0.2s;
	}

	.archive_shop_filter_btn:hover {
		background: #292524;
		color: #fff;
	}

	.archive_shop_filter_btn i {
		font-size: 0.9rem;
	}

	.archive_shop_mobile_sort {
		flex: 1;
		min-width: 0;
	}

	.archive_shop_mobile_sort .archive_shop_sort_select {
		width: 100%;
		max-width: 180px;
	}

	.archive_shop_views--mobile {
		display: flex;
		align-items: center;
		gap: 0.25rem;
	}

	.archive_shop_toolbar .archive_shop_results {
		display: none;
	}

	.archive_shop_toolbar .archive_shop_views:not(.archive_shop_views--mobile) {
		display: none;
	}

	.archive_shop_toolbar .archive_shop_sort {
		display: none;
	}
}

@media (min-width: 992px) {
	.archive_shop_filter_popup {
		position: static;
	}

	.archive_shop_filter_popup .archive_shop_sidebar {
		position: sticky;
		top: 2rem;
		transform: none;
		max-width: none;
		height: auto;
	}
}

/* --------------------------------------------------------------
   WooCommerce – Cart Page (Panier)
   -------------------------------------------------------------- */

.site-main--cart {
	max-width: none;
}

.panier_page {
	padding: 0 0 3rem;
	font-family: var(--font-instrument);
}

.panier_header {
	padding: 2rem 0 1.5rem;
	text-align: center;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.panier_breadcrumb {
	font-size: 0.875rem;
	color: #78716c;
	margin-bottom: 0.75rem;
}

.panier_breadcrumb a {
	color: #78716c;
	text-decoration: none;
	transition: color 0.2s;
}

.panier_breadcrumb a:hover {
	color: #1c1917;
}

.panier_breadcrumb_sep {
	margin: 0 0.35rem;
}

.panier_breadcrumb_current {
	color: #1c1917;
	font-weight: 600;
}

.panier_title {
	font-size: 2.25rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.5rem;
	letter-spacing: -0.02em;
}

.panier_description {
	font-size: 1rem;
	color: #78716c;
	margin: 0;
	max-width: 42rem;
	margin-left: auto;
	margin-right: auto;
}

.panier_urgency {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	margin: 1.5rem 0;
	padding: 0.75rem 1rem;
	border: 2px dashed #ef4444;
	border-radius: 30px;
	background: #fef2f2;
}

.panier_urgency_icon {
	font-size: 1.25rem;
}

.panier_urgency_text {
	margin: 0;
	font-size: 0.9375rem;
	color: #1c1917;
}

.panier_urgency_text strong {
	color: #b91c1c;
}

.panier_row {
	margin-top: 2rem;
	align-items: flex-start;
}

.panier_main.panier_loading {
	position: relative;
	pointer-events: none;
	opacity: 0.7;
}

.panier_main.panier_loading::after {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(255,255,255,0.5);
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 0.75rem;
}

/* Cart success toast */
.panier_toast {
	position: fixed;
	top: 1rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 99999;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	padding: 0.75rem 1.25rem;
	background: #ecfdf5;
	border: 1px solid #a7f3d0;
	border-radius: 0.5rem;
	box-shadow: 0 4px 12px rgba(0,0,0,0.1);
	animation: panier_toast_in 0.3s ease;
}

.panier_toast--hide {
	animation: panier_toast_out 0.3s ease forwards;
}

@keyframes panier_toast_in {
	from { opacity: 0; transform: translateX(-50%) translateY(-10px); }
	to { opacity: 1; transform: translateX(-50%) translateY(0); }
}

@keyframes panier_toast_out {
	to { opacity: 0; transform: translateX(-50%) translateY(-10px); }
}

.panier_toast_icon {
	color: #059669;
	font-size: 1.25rem;
}

.panier_toast_text {
	color: #047857;
	font-size: 0.9375rem;
	font-weight: 500;
}

.panier_table_wrap {
	overflow-x: auto;
	margin-bottom: 1.5rem;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0.75rem;
	background: #fff;
}

.panier_table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.9375rem;
}

.panier_table thead th {
	text-align: left;
	padding: 1rem 1.25rem;
	background: #f5f5f4;
	font-weight: 600;
	color: #1c1917;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.panier_table tbody td {
	padding: 1rem 1.25rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	vertical-align: middle;
}

.panier_table tbody tr:last-child td {
	border-bottom: none;
}

/* Product column: image then title then remove (screenshot layout) */
.panier_product_cell {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
}

.panier_product_image {
	flex-shrink: 0;
}

.panier_product_image a,
.panier_product_image img {
	display: block;
}

.panier_product_img {
	width: 80px;
	height: 80px;
	object-fit: cover;
	border-radius: 0.5rem;
}

.panier_product_info {
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
	min-width: 0;
}

.panier_product_title {
	color: #333387 !important;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9375rem;
}

.panier_product_title:hover {
	color: #333387;
}

.panier_remove_link {
	font-size: 0.8125rem;
	color: #333387;
	text-decoration: underline;
	display: inline-block;
	margin-top: 0.15rem;
}

.panier_remove_link:hover {
	color: #1c1917;
}

.panier_table .product-price,
.panier_table .product-subtotal {
	font-weight: 600;
	color: #1c1917;
}

/* Pill-shaped quantity: - 1 + (border-radius 30px) */
.panier_quantity_pill,
.panier_table .quantity.panier_quantity_pill {
	display: inline-flex;
	align-items: center;
	border: 1px solid rgba(0, 0, 0, 0.12);
	border-radius: 30px;
	overflow: hidden;
	background: #fff;
}

.panier_quantity_pill .panier_quantity_minus,
.panier_quantity_pill .panier_quantity_plus {
	border: none;
	background: transparent;
	font-size: 1.1rem;
	padding: 0.35rem 0.65rem;
	cursor: pointer;
	color: #1c1917;
	font-weight: 600;
	line-height: 1;
	position: relative;
	z-index: 2;
	pointer-events: auto;
}

.panier_quantity_pill .panier_quantity_minus:hover,
.panier_quantity_pill .panier_quantity_plus:hover {
	opacity: 0.7;
}

.panier_quantity_pill .qty,
.panier_table .quantity.panier_quantity_pill input.qty {
	width: 2.5rem;
	text-align: center;
	border: none;
	border-left: 1px solid rgba(0, 0, 0, 0.08);
	border-right: 1px solid rgba(0, 0, 0, 0.08);
	font-size: 0.9375rem;
	padding: 0.4rem 0;
	-moz-appearance: textfield;
}

.panier_quantity_pill .qty::-webkit-outer-spin-button,
.panier_quantity_pill .qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.panier_actions_row td {
	padding: 1.25rem !important;
	background: #fafaf9;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.panier_coupon {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.75rem;
}

.panier_coupon_input {
	padding: 0.6rem 1.25rem !important;
	border-radius: 30px !important;
	border: 1px solid rgba(0, 0, 0, 0.15);
	font-size: 0.9375rem !important;
	min-width: 140px !important;
}
.woocommerce #content table.cart td.actions .input-text, .woocommerce table.cart td.actions .input-text, .woocommerce-page #content table.cart td.actions .input-text, .woocommerce-page table.cart td.actions .input-text{width: auto !important;}

.panier_btn {
	display: inline-block;
	padding: 0.6rem 1.25rem;
	font-size: 0.9375rem;
	font-weight: 600;
	border-radius: 0.5rem;
	text-decoration: none;
	cursor: pointer;
	border: none;
	transition: background 0.2s, color 0.2s;
	font-family: inherit;
	border-radius: 30px;
}

.panier_btn--secondary {
	background: #e7e5e4;
	color: #1c1917;
}

.panier_btn--secondary:hover {
	background: #d6d3d1;
}

.panier_btn--update {
	background: #c29b31;
	color: #fff;
}

.panier_btn--update:hover {
	background: #c29b31;
}

.panier_btn--checkout {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.875rem 1.5rem;
	font-size: 1rem;
	background: #1c1917;
	color: #fff !important;
	border-radius: 30px;
	text-decoration: none;
	font-weight: 600;
	margin-top: 0.5rem;
}

.panier_btn--checkout:hover {
	background: #374151;
	color: #fff;
}

.panier_wrap_option {
	margin: 1.5rem 0;
	padding: 1rem 0;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
}

.panier_wrap_label {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	cursor: pointer;
	font-size: 0.9375rem;
	color: #44403c;
}

.panier_wrap_input {
	margin-top: 0.25rem;
	accent-color: #1c1917;
}

.panier_trust {
	margin-top: 2rem;
}

.panier_trust_box {
	background: #f5f5f4;
	border: 1px solid rgba(0, 0, 0, 0.06);
	border-radius: 0.75rem;
	padding: 1.25rem;
	height: 100%;
}

.panier_trust_icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.1);
	border-radius: 50%;
	font-size: 1.125rem;
	font-weight: 700;
	color: #1c1917;
	margin-bottom: 0.75rem;
}

.panier_trust_icon--shield,
.panier_trust_icon--check {
	background: #1c1917;
	color: #fff;
	border-color: #1c1917;
}

.panier_trust_title {
	font-size: 1rem;
	font-weight: 600;
	color: #1c1917;
	margin: 0 0 0.35rem;
}

.panier_trust_text {
	font-size: 0.875rem;
	color: #78716c;
	margin: 0;
	line-height: 1.45;
}

.panier_sidebar_inner {
	position: sticky;
	top: 2rem;
	background: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 1rem;
	padding: 1.5rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}

/* Total Panier card – same design as reference */
.panier_total_card {
	background: #fff;
	border-radius: 12px;
	padding: 1.5rem;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	border: 1px solid rgba(0, 0, 0, 0.06);
}

.panier_total_title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 1.25rem;
}

.panier_total_row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.6rem 0;
	font-size: 0.9375rem;
}

.panier_total_row--subtotal {
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.panier_total_label {
	color: #1c1917;
	font-weight: 500;
}

.panier_total_val {
	color: #888;
}

.panier_total_ship {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1rem;
	padding: 0.75rem 0;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	font-size: 0.9375rem;
}

.panier_total_ship_detail {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	text-align: right;
	gap: 0.2rem;
}

.panier_total_ship_free,
.panier_total_ship_zone {
	color: #888;
}

.panier_total_ship_change {
	color: #1c1917;
	font-weight: 600;
	text-decoration: none;
}

.panier_total_ship_change:hover {
	color: #78716c;
	text-decoration: underline;
}

.panier_total_row--total {
	padding: 1rem 0 1.25rem;
	border-bottom: none;
}

.panier_promo_hint {
	margin-top: 0.5rem;
	margin-bottom: 0.75rem;
	font-size: 0.875rem;
	line-height: 1.4;
	color: #44403c;
	background: #f5f5f4;
	border-radius: 0.5rem;
	padding: 0.5rem 0.75rem;
}

.panier_promo_hint_ok {
	color: #166534;
}

.panier_promo_hint_ready {
	color: #333387;
}

.panier_promo_hint_progress {
	color: #92400e;
}

.panier_total_val--total {
	color: #1c1917;
	font-weight: 700;
	font-size: 1rem;
}

.panier_checkout_wrap {
	margin-top: 1.25rem;
}

/* --------------------------------------------------------------
   WooCommerce – Checkout Page (Custom layout)
   -------------------------------------------------------------- */

.site-main--checkout {
	padding: 2rem 0 4rem;
}

.checkout_page {
	padding-top: 1rem;
}

.checkout_header .checkout_title {
	margin-bottom: 0.25rem;
}

.checkout_header .checkout_description {
	max-width: 640px;
}

.checkout_urgency {
	margin-top: 1.5rem;
}

.checkout_login_coupon {
	margin: 1.5rem 0;
}

.checkout_row {
	margin-top: 1.75rem;
	align-items: flex-start;
}

.checkout_main {
	background: #fff;
	border-radius: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	padding: 1.5rem 1.5rem 2rem;
}

.checkout_section_title {
	font-size: 1.1rem;
	font-weight: 600;
	margin-bottom: 1.25rem;
}

.checkout_section_subtitle {
	font-size: 0.98rem;
	font-weight: 600;
	margin: 1.5rem 0 0.75rem;
}

.checkout_customer_details .form-row,
.checkout_customer_details .woocommerce-billing-fields__field-wrapper .form-row {
	margin-bottom: 0.75rem;
}

.checkout_sidebar {
	position: relative;
}

.checkout_order_card {
	position: sticky;
	top: 5.5rem;
}

.checkout_order_title {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.checkout_shipping_progress {
	margin: 0.75rem 0 1rem;
	padding: 0.5rem 0.75rem;
	border-radius: 9999px;
	background: #f5f5f4;
	font-size: 0.875rem;
}

.checkout_shipping_msg--ok {
	color: #166534;
}

.checkout_shipping_msg--progress {
	color: #92400e;
}

.checkout_order_review {
	margin-top: 1rem;
}

.checkout_info_boxes {
	margin-top: 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.checkout_info_box {
	font-size: 0.85rem;
	color: #57534e;
}

.checkout_info_title {
	font-size: 0.9rem;
	font-weight: 600;
	margin-bottom: 0.25rem;
	color: #1c1917;
}

.checkout_info_box--payments .checkout_info_text {
	display: flex;
	flex-wrap: wrap;
	gap: 0.25rem;
}

@media (max-width: 991px) {
	.checkout_main {
		padding: 1.25rem 1rem 1.75rem;
	}

	.checkout_order_card {
		position: static;
		margin-top: 1.25rem;
	}
}

/* --------------------------------------------------------------
   WooCommerce – Thank You Page
   -------------------------------------------------------------- */

.site-main--thankyou {
	padding: 2.5rem 0 4rem;
}

.thankyou_page {
	padding-top: 1rem;
}

.thankyou_header .thankyou_title {
	margin-bottom: 0.25rem;
}

.thankyou_header .thankyou_description {
	max-width: 640px;
}

.thankyou_row {
	margin-top: 2rem;
	align-items: flex-start;
}

.thankyou_main {
	background: #fff;
	border-radius: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	padding: 1.5rem 1.5rem 2rem;
}

.thankyou_status {
	margin: 0 0 1rem;
	font-size: 0.98rem;
}

.thankyou_status--success {
	color: #166534;
}

.thankyou_status--info {
	color: #1f2937;
}

.thankyou_details {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 0.9rem;
}

.thankyou_details li {
	display: flex;
	justify-content: space-between;
	padding: 0.35rem 0;
	border-bottom: 1px dashed rgba(0, 0, 0, 0.06);
}

.thankyou_details strong {
	color: #57534e;
}

.thankyou_sidebar {
	position: relative;
}

.thankyou_next_steps {
	position: sticky;
	top: 5.5rem;
}

.thankyou_next_list {
	margin: 0.75rem 0 1.25rem;
	padding-left: 1.1rem;
	font-size: 0.9rem;
	color: #57534e;
}

.thankyou_next_list li {
	margin-bottom: 0.35rem;
}

.thankyou_actions .panier_btn {
	width: 100%;
	text-align: center;
	padding: 0.875rem 1.5rem;
	font-size: 1rem;
	font-weight: 700;
	background: #1c1917;
	color: #fff !important;
	border: none;
	border-radius: 30px;
	text-decoration: none;
	transition: background 0.2s;
	cursor: pointer;
}

@media (max-width: 991px) {
	.thankyou_main {
		padding: 1.25rem 1rem 1.75rem;
	}

	.thankyou_next_steps {
		position: static;
		margin-top: 1.25rem;
	}
}

.woocommerce form .form-row{width: 100%;}
.woocommerce form .form-row label, .woocommerce-page form .form-row label{margin-bottom: 9px;}
.showcoupon{color: black;}

.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple, .select2-container--default.select2-container--open.select2-container--above .select2-selection--single{border: none;}
.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple, .select2-container--default.select2-container--open.select2-container--below .select2-selection--single{border: var(--wc-form-border-width, 1px) solid rgb(217 217 217 / 80%);}
.select2-container--open .select2-dropdown{border: var(--wc-form-border-width, 1px) solid rgb(217 217 217 / 80%) !important;}
.select2-container .select2-selection--single{border: none !important;}
.woocommerce #payment #place_order, .woocommerce-page #payment #place_order{float: left;text-align: center;
	padding: 0.875rem 1.5rem;
	font-size: 1rem;
	font-weight: 700;
	background: #c29b31;
	color: #fff !important;
	border: none;
	border-radius: 30px;
	text-decoration: none;
	transition: background 0.2s;
	cursor: pointer;}
.select2-container--default .select2-search--dropdown .select2-search__field{    width: 100%;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	font-family: inherit;
	border: 1px solid #d6d3d1;
	border-radius: 30px;
	background: #fff;
	color: #1c1917;
	transition: border-color 0.2s;}
.select2-container .select2-selection--single .select2-selection__rendered{width: 100%;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	font-family: inherit;
	border: 1px solid #d6d3d1;
	border-radius: 30px;
	background: #fff;
	color: #1c1917;
	transition: border-color 0.2s;}
.woocommerce form .form-row .input-text, .woocommerce-page form .form-row .input-text{width: 100%;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	font-family: inherit;
	border: 1px solid #d6d3d1;
	border-radius: 30px;
	background: #fff;
	color: #1c1917;
	transition: border-color 0.2s;}

.panier_btn--validate {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0.875rem 1.5rem;
	font-size: 1rem;
	font-weight: 700;
	background:#c29b31;
	color: #fff !important;
	border: none;
	border-radius: 30px;
	text-decoration: none;
	transition: background 0.2s;
	cursor: pointer;
}

.panier_btn--validate:hover {
	background: #c29b31;
	color: #fff;
}

.panier_free_shipping {
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.panier_free_shipping_text {
	font-size: 0.9375rem;
	color: #44403c;
	margin: 0 0 0.5rem;
}

.panier_free_shipping_bar {
	height: 8px;
	background: #e7e5e4;
	border-radius: 4px;
	overflow: hidden;
}

.panier_free_shipping_fill {
	height: 100%;
	background: #1c1917;
	border-radius: 4px;
	transition: width 0.3s ease;
}

.panier_order_note {
	margin-bottom: 1.25rem;
}

.panier_order_note_label {
	display: block;
	font-size: 0.9375rem;
	font-weight: 600;
	color: #1c1917;
	margin-bottom: 0.5rem;
}

.panier_order_note_field {
	width: 100%;
	padding: 0.6rem 0.75rem;
	border: 1px solid rgba(0, 0, 0, 0.15);
	border-radius: 0.5rem;
	font-size: 0.9375rem;
	font-family: inherit;
	resize: vertical;
	min-height: 80px;
}

.panier_sidebar_title {
	font-size: 1rem;
	font-weight: 600;
	color: #1c1917;
	margin: 0 0 0.75rem;
}

.panier_shipping_calc {
	margin-bottom: 1.25rem;
	padding-bottom: 1.25rem;
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}

.panier_collaterals {
	margin-bottom: 1rem;
}

.panier_collaterals .cart_totals {
	width: 100%;
}

.panier_collaterals .shop_table {
	border: none;
	margin: 0;
}

.panier_collaterals .shop_table th,
.panier_collaterals .shop_table td {
	padding: 0.5rem 0;
	border: none;
	font-size: 0.9375rem;
}

.panier_collaterals .shop_table .order-total th,
.panier_collaterals .shop_table .order-total td {
	font-size: 1.0625rem;
	font-weight: 700;
	padding-top: 0.75rem;
	border-top: 1px solid rgba(0, 0, 0, 0.1);
}

.panier_taxes_note {
	font-size: 0.8125rem;
	color: #78716c;
	margin: 0 0 1rem;
}

.panier_terms {
	margin-bottom: 1rem;
}

.panier_terms_label {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.25rem;
	font-size: 0.9375rem;
	color: #44403c;
	cursor: pointer;
}

.panier_terms_input {
	accent-color: #1c1917;
}

.panier_terms_link {
	color: #1c1917;
	text-decoration: underline;
}

.panier_terms_link:hover {
	color: #78716c;
}

.panier_delivery_info {
	margin-top: 1.5rem;
	padding-top: 1.25rem;
	border-top: 1px solid rgba(0, 0, 0, 0.06);
	font-size: 0.875rem;
	color: #78716c;
}

.panier_delivery_info p {
	margin: 0 0 0.5rem;
}

.panier_payment_methods {
	margin-top: 1rem;
}

.panier_payment_title {
	font-size: 0.8125rem;
	color: #78716c;
	margin: 0 0 0.5rem;
}

.panier_payment_icons {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
}

.panier_payment_icons img {
	height: 24px;
	width: auto;
}

.panier_page--empty .panier_empty {
	text-align: center;
	padding: 3rem 2rem;
	background: #fafaf9;
	border-radius: 1rem;
	border: 1px solid rgba(0, 0, 0, 0.06);
	margin-top: 2rem;
}

.panier_empty .woocommerce-info,
.panier_empty .cart-empty {
	margin: 0 0 1.5rem;
	font-size: 1.0625rem;
	color: #44403c;
}

.panier_return_wrap {
	margin: 0;
}

@media (max-width: 991px) {
	.panier_table thead {
		display: none;
	}
	.panier_table tbody tr {
		display: grid;
		grid-template-columns: 1fr 1fr;
		grid-template-rows: auto auto auto;
		gap: 0.5rem;
		padding: 1rem;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}
	.panier_table tbody tr.cart_item .product-name {
		grid-column: 1 / -1;
		grid-row: 1;
	}
	.panier_table tbody tr.cart_item .product-price,
	.panier_table tbody tr.cart_item .product-quantity,
	.panier_table tbody tr.cart_item .product-subtotal {
		grid-column: 1 / -1;
	}
	.panier_table tbody tr.panier_actions_row {
		display: table-row;
	}
	.panier_table tbody tr.panier_actions_row td {
		display: block;
	}
}

/* panier_table_wrap – mobile card layout */
@media (max-width: 767px) {
	.panier_table_wrap {
		overflow-x: visible;
		border: none;
		border-radius: 0;
		background: transparent;
		margin-bottom: 1.25rem;
	}

	.panier_table {
		display: block;
	}

	.panier_table thead {
		display: none;
	}

	.panier_table tbody {
		display: block;
	}

	.panier_table tbody tr.cart_item {
		display: block;
		background: #fff;
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 0.75rem;
		padding: 1rem 1.25rem;
		margin-bottom: 1rem;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	}

	.panier_table tbody tr.cart_item td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		flex-wrap: wrap;
		gap: 0.5rem;
		padding: 0.75rem 0;
		border-bottom: 1px solid rgba(0, 0, 0, 0.06);
	}

	.panier_table tbody tr.cart_item td:last-child {
		border-bottom: none;
		padding-bottom: 0;
	}

	.panier_table tbody tr.cart_item td:first-child {
		padding-top: 0;
	}

	/* Product cell: full width, thumbnail + info + remove */
	.panier_table tbody tr.cart_item td.product-name {
		flex-direction: column;
		align-items: stretch;
	}

	.panier_table tbody tr.cart_item td.product-name::before {
		content: attr(data-title);
		font-weight: 600;
		color: #1c1917;
		font-size: 0.875rem;
		margin-bottom: 0.5rem;
	}

	.panier_product_cell {
		display: flex;
		align-items: flex-start;
		gap: 0.75rem;
		width: 100%;
	}

	.panier_product_img {
		width: 70px;
		height: 70px;
		min-width: 70px;
		border-radius: 0.5rem;
	}

	.panier_product_info {
		flex: 1;
		min-width: 0;
	}

	.panier_product_title {
		font-size: 0.9375rem;
	}

	.panier_remove_link {
		align-self: flex-end;
		margin-top: 0.25rem;
	}

	/* Price, Quantity, Total: label left, value right */
	.panier_table tbody tr.cart_item td.product-price::before,
	.panier_table tbody tr.cart_item td.product-quantity::before,
	.panier_table tbody tr.cart_item td.product-subtotal::before {
		content: attr(data-title);
		font-weight: 600;
		color: #1c1917;
		font-size: 0.875rem;
	}

	.panier_table tbody tr.cart_item td.product-price .amount,
	.panier_table tbody tr.cart_item td.product-subtotal .amount {
		font-weight: 600;
		color: #1c1917;
	}

	/* Actions row: stacked coupon + update */
	.panier_table tbody tr.panier_actions_row {
		display: block;
		background: #fff;
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 0.75rem;
		padding: 1.25rem;
		margin-top: 1rem;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.04);
	}

	.panier_table tbody tr.panier_actions_row td {
		padding: 0 !important;
		background: transparent !important;
		border: none !important;
	}

	.panier_coupon {
		flex-direction: column;
		align-items: stretch;
		gap: 0.75rem;
		margin-bottom: 1rem;
	}

	.panier_coupon_input {
		width: 100% !important;
		min-width: 0 !important;
	}

	.panier_btn--secondary {
		width: 100% !important;
		text-align: center;
		padding: 0.65rem 1.25rem;
		
	}

	.panier_btn--update {
		width: 100%;
		text-align: center;
		padding: 0.75rem 1.5rem;
	}
}

/* --------------------------------------------------------------
   WooCommerce – Single Product Page
   -------------------------------------------------------------- */

.single_product {
	padding: 2rem 0 4rem;
	background: var(--hp-paper);
}

.single_product_breadcrumb {
	font-size: 0.875rem;
	color: var(--hp-ink-3);
	margin-bottom: 1.5rem;
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.single_product_breadcrumb a {
	color: var(--hp-ink-3);
	text-decoration: none;
	transition: color 0.18s;
}

.single_product_breadcrumb a:hover {
	color: var(--hp-navy);
}

.single_product_breadcrumb_sep {
	margin: 0 0.25rem;
	color: var(--hp-line);
}

.single_product_breadcrumb_current {
	color: var(--hp-ink);
	font-weight: 500;
}

.single_product_row {
	align-items: flex-start;
}

.single_product_gallery_col {
	position: sticky;
	top: 1.5rem;
	align-self: flex-start;
}

/* Left: Gallery */
.single_product_gallery {
	display: flex;
	gap: 1rem;
	flex-direction: row;
}

.single_product_thumbnails {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	flex-shrink: 0;
	width: 80px;
}

.single_product_thumb {
	display: block;
	width: 100%;
	aspect-ratio: 1;
	padding: 0;
	border: 2px solid transparent;
	border-radius: 10px;
	overflow: hidden;
	background: var(--hp-tint-2);
	cursor: pointer;
	transition: border-color 0.2s, box-shadow 0.2s;
}

.single_product_thumb--active {
	border-color: var(--hp-navy);
	box-shadow: 0 0 0 1px var(--hp-navy);
}

.single_product_thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.single_product_main_image_wrap {
	flex: 1;
	position: relative;
	min-width: 0;
}

.single_product_main_image_bg {
	background: var(--hp-tint-2);
	border-radius: 16px;
	aspect-ratio: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	position: relative;
	height: 100%;
	max-width: 550px;
	border: 1px solid var(--hp-line);
	cursor: zoom-in;
}
.single_product_main_image_bg.sp-zooming {
	cursor: crosshair;
}

.single_product_main_image {
	max-width: 100%;
	max-height: 100%;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: opacity 0.25s ease, transform 0.25s ease;
	transform-origin: center center;
	will-change: transform;
	pointer-events: none;
}

.single_product_gallery_arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: rgba(255,255,255,.92);
	backdrop-filter: blur(6px);
	border-radius: 50%;
	box-shadow: var(--hp-shadow);
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.25s var(--hp-ease), background 0.2s, transform 0.2s;
	z-index: 2;
}

.single_product_main_image_bg:hover .single_product_gallery_arrow {
	opacity: 1;
}
/* Hide arrows + zoom button while inner-zoom is active */
.single_product_main_image_bg.sp-zooming .single_product_gallery_arrow,
.single_product_main_image_bg.sp-zooming + .single_product_zoom,
.single_product_main_image_wrap:has(.sp-zooming) .single_product_zoom {
	opacity: 0 !important;
	pointer-events: none;
}

.single_product_gallery_arrow:hover {
	background: #fff;
	transform: translateY(-50%) scale(1.08);
}

.single_product_gallery_arrow svg {
	width: 20px;
	height: 20px;
	color: var(--hp-ink);
}

.single_product_gallery_arrow--prev {
	left: 1rem;
}

.single_product_gallery_arrow--next {
	right: 1rem;
}

.single_product_zoom {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: rgba(255,255,255,.9);
	backdrop-filter: blur(6px);
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(19,19,46,.12);
	cursor: pointer;
	transition: background 0.2s, transform 0.15s;
}

.single_product_zoom svg {
	width: 18px;
	height: 18px;
	color: var(--hp-ink);
}

.single_product_zoom:hover {
	background: #fff;
	transform: scale(1.08);
}

/* Related products */
.single_product_related {
	padding: 4rem 0 5rem;
	border-top: 1px solid var(--hp-line);
	background: var(--hp-paper);
}

.single_product_related_header {
	text-align: center;
	margin-bottom: 2.5rem;
	max-width: 36rem;
	margin-left: auto;
	margin-right: auto;
}

.single_product_related_title {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-weight: 800;
	font-style: italic;
	letter-spacing: -0.03em;
	color: var(--hp-ink);
	margin: 0 0 0.5rem;
	line-height: 1.15;
}

.single_product_related_desc {
	font-size: 0.95rem;
	color: var(--hp-ink-3);
	line-height: 1.55;
	margin: 0;
}

.single_product_related_grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 1.5rem;
}

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

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

.single_product_related_card .products_card_info {
	padding: 1rem 0.75rem 1.25rem;
}

/* Zoom lightbox */
.single_product_lightbox {
	position: fixed;
	inset: 0;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.85);
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
}

.single_product_lightbox--open {
	opacity: 1;
	visibility: visible;
}

.single_product_lightbox_inner {
	max-width: 90vw;
	max-height: 90vh;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 3rem;
}

.single_product_lightbox_img {
	max-width: 100%;
	max-height: 85vh;
	width: auto;
	height: auto;
	object-fit: contain;
}

.single_product_lightbox_close {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: #fff;
	border-radius: 50%;
	cursor: pointer;
	transition: background 0.2s;
	z-index: 10;
}

.single_product_lightbox_close:hover {
	background: var(--hp-tint);
}

.single_product_lightbox_close svg {
	width: 24px;
	height: 24px;
	color: var(--hp-ink);
}

.single_product_lightbox_arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 52px;
	height: 52px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: var(--hp-paper);
	border-radius: 50%;
	box-shadow: 0 2px 12px rgba(0, 0, 0, 0.2);
	cursor: pointer;
	transition: background 0.2s, box-shadow 0.2s;
	z-index: 10;
}

.single_product_lightbox_arrow:hover {
	background: var(--hp-tint);
	box-shadow: 0 4px 16px rgba(0, 0, 0, 0.25);
}

.single_product_lightbox_arrow svg {
	width: 24px;
	height: 24px;
	color: var(--hp-ink);
}

.single_product_lightbox_arrow--prev {
	left: 1.5rem;
}

.single_product_lightbox_arrow--next {
	right: 1.5rem;
}

/* Right: Details */
.single_product_details_col {
	padding-left: 2rem;
}

.single_product_solde_badge {
	display: inline-block;
	padding: 0.3rem 0.75rem;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--hp-ink);
	background: var(--hp-gold);
	border-radius: 9999px;
	line-height: 1.2;
	margin-bottom: 0.75rem;
	letter-spacing: 0.02em;
}

.single_product_brand {
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hp-navy);
	margin: 0 0 0.5rem;
}

.single_product_title {
	font-size: clamp(1.5rem, 3.5vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--hp-ink);
	margin: 0 0 0.75rem;
	line-height: 1.2;
}

.single_product_meta_row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin-bottom: 1rem;
}

.single_product_rating {
	display: flex;
	gap: 0.15rem;
}

.single_product_star {
	font-size: 1rem;
	color: var(--hp-gold);
}

.single_product_star:not(.single_product_star--full) {
	color: var(--hp-line);
}

.single_product_review {
	font-size: 0.875rem;
	color: var(--hp-ink-3);
}

.single_product_sold {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	font-size: 0.875rem;
	color: var(--hp-ink-3);
}

.single_product_sold_icon {
	width: 16px;
	height: 16px;
	color: var(--hp-gold);
}

.single_product_price {
	font-size: 1.75rem;
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--hp-navy);
	margin: 0 0 1rem;
}

/* WooCommerce injects ins/del for sale price */
.single_product_price ins { text-decoration: none; color: var(--hp-gold); }
.single_product_price del { font-size: 1rem; color: var(--hp-ink-3); font-weight: 400; }

.single_product_short {
	font-size: 0.9rem;
	color: var(--hp-ink-2);
	line-height: 1.65;
	margin-bottom: 1.25rem;
}

.single_product_features {
	background: var(--hp-tint-2);
	border: 1px solid var(--hp-line);
	border-radius: 14px;
	padding: 1.1rem 1.25rem;
	margin-bottom: 1.25rem;
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
}

.single_product_feature {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	font-size: 0.875rem;
	color: var(--hp-ink-2);
	margin: 0;
}

.single_product_feature_icon {
	flex-shrink: 0;
	width: 18px;
	height: 18px;
	color: var(--hp-navy);
	margin-top: 0.1rem;
}

.single_product_social_row {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem 1rem;
	margin-bottom: 1.25rem;
	font-size: 0.85rem;
	color: var(--hp-ink-3);
	padding: 0.75rem 0;
	border-top: 1px solid var(--hp-line);
	border-bottom: 1px solid var(--hp-line);
}

.single_product_viewing {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
}

.single_product_viewing_icon {
	width: 15px;
	height: 15px;
	color: var(--hp-gold);
}

.single_product_social_link {
	color: var(--hp-navy);
	text-decoration: none;
	font-weight: 600;
	font-size: 0.85rem;
	transition: color 0.18s;
}

.single_product_social_link:hover {
	color: var(--hp-gold);
	text-decoration: underline;
}

/* Mobile fixed Add to Cart bar (single product) */
.single_product_atc_fixed {
	display: none;
}

@media (max-width: 991px) {
	.single_product_atc_fixed {
		display: block;
		position: fixed;
		bottom: 64px;
		left: 0;
		right: 0;
		z-index: 9989;
		background: var(--hp-paper);
		border-top: 1px solid var(--hp-line);
		padding: 0.6rem 1rem;
		padding-bottom: max(0.6rem, env(safe-area-inset-bottom));
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
	}
	.single_product_atc_fixed_inner {
		max-width: 600px;
		margin: 0 auto;
		display: flex;
		align-items: center;
		gap: 0.75rem;
	}
	.single_product_atc_fixed .quantity {
		display: flex;
		align-items: center;
		background: var(--hp-tint-2);
		border: 1.5px solid var(--hp-line);
		border-radius: 99px;
		overflow: hidden;
		flex-shrink: 0;
	}
	.single_product_atc_fixed .quantity .screen-reader-text {
		position: absolute;
		clip: rect(1px, 1px, 1px, 1px);
		overflow: hidden;
		height: 1px;
		width: 1px;
	}
	.single_product_atc_fixed .quantity .single_product_qty_btn {
		width: 44px;
		height: 44px;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		border: none;
		background: transparent;
		font-size: 1.25rem;
		color: var(--hp-ink);
		cursor: pointer;
		transition: background 0.2s;
	}
	.single_product_atc_fixed .quantity .single_product_qty_btn:hover {
		background: var(--hp-tint);
		color: var(--hp-navy);
	}
	.single_product_atc_fixed .quantity input.qty {
		width: 56px;
		height: 44px;
		text-align: center;
		border: none;
		background: transparent;
		font-size: 1rem;
		font-weight: 600;
		color: var(--hp-ink);
		-moz-appearance: textfield;
	}
	.single_product_atc_fixed .quantity input.qty::-webkit-outer-spin-button,
	.single_product_atc_fixed .quantity input.qty::-webkit-inner-spin-button {
		-webkit-appearance: none;
		margin: 0;
	}
	.single_product_atc_fixed_btn {
		flex: 1;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 1.25rem;
		font-size: 0.95rem;
		font-weight: 600;
		color: #fff;
		background: var(--hp-navy);
		border-radius: 9999px;
		text-decoration: none;
		transition: background 0.2s;
	}
	.single_product_atc_fixed_btn:hover {
		background: var(--hp-ink);
		color: #fff;
	}
	.single_product_atc_fixed_btn.loading {
		pointer-events: none;
		color: transparent;
		position: relative;
	}
	.single_product_atc_fixed_btn.loading::after {
		content: '';
		position: absolute;
		width: 18px;
		height: 18px;
		top: 50%;
		left: 50%;
		margin: -9px 0 0 -9px;
		border: 2px solid rgba(255,255,255,0.3);
		border-top-color: #fff;
		border-radius: 50%;
		animation: products_card_spinner 0.7s linear infinite;
	}
	.single_product_atc_fixed .single_product_btn--icon {
		width: 44px;
		height: 44px;
		flex-shrink: 0;
		display: flex;
		align-items: center;
		justify-content: center;
		padding: 0;
		border: 1.5px solid var(--hp-navy);
		border-radius: 50%;
		background: var(--hp-paper);
		cursor: pointer;
	}
	.single_product_atc_fixed .single_product_btn--icon svg {
		width: 20px;
		height: 20px;
	}
	body.single-product {
		padding-bottom: 130px;
	}
}

/* Mobile fixed Commander bar (checkout) */
.checkout_place_order_fixed {
	display: none;
}

@media (max-width: 991px) {
	.checkout_place_order_fixed {
		display: block;
		position: fixed;
		bottom: 64px;
		left: 0;
		right: 0;
		z-index: 9989;
		background: #fff;
		border-top: 1px solid rgba(0, 0, 0, 0.08);
		padding: 0.75rem 1rem;
		padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
	}
	.checkout_place_order_fixed_btn {
		display: block;
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
		padding: 0.875rem 1.5rem;
		font-size: 1rem;
		font-weight: 600;
		color: #fff;
		background: #c29b31;
		border: none;
		border-radius: 9999px;
		cursor: pointer;
		transition: background 0.2s;
		font-family: inherit;
	}
	.checkout_place_order_fixed_btn:hover {
		background: #374151;
		color: #fff;
	}
	.checkout_place_order_fixed_btn:disabled {
		opacity: 0.6;
		cursor: not-allowed;
	}
	body.woocommerce-checkout {
		padding-bottom: 130px;
	}
}

/* Mobile fixed Valider la commande bar (cart) */
.panier_validate_fixed {
	display: none;
}

@media (max-width: 991px) {
	.panier_validate_fixed {
		display: block;
		position: fixed;
		bottom: 64px;
		left: 0;
		right: 0;
		z-index: 9989;
		background: #fff;
		border-top: 1px solid rgba(0, 0, 0, 0.08);
		padding: 0.75rem 1rem;
		padding-bottom: max(0.75rem, env(safe-area-inset-bottom));
		box-shadow: 0 -4px 20px rgba(0, 0, 0, 0.08);
	}
	.panier_validate_fixed_btn {
		display: block;
		width: 100%;
		max-width: 600px;
		margin: 0 auto;
		padding: 0.875rem 1.5rem;
		font-size: 1rem;
		font-weight: 600;
		color: #fff !important;
		background: #c29b31;
		border: none;
		border-radius: 9999px;
		cursor: pointer;
		text-align: center;
		text-decoration: none;
		transition: background 0.2s;
	}
	.panier_validate_fixed_btn:hover {
		background: #c29b31;
		color: #fff;
	}
	body.woocommerce-cart {
		padding-bottom: 130px;
	}
}

.single_product_actions_row {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 1rem;
	flex-wrap: wrap;
}

/* Simple product: same add-to-cart link as card (WooCommerce AJAX) */
.single_product_actions_row--form .single_product_atc_simple {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
	flex: 1;
	min-width: 0;
}

.single_product_actions_row--form .single_product_atc_simple .quantity {
	display: flex;
	align-items: center;
	background: var(--hp-tint-2);
	border: 1.5px solid var(--hp-line);
	border-radius: 99px;
	overflow: hidden;
}

.single_product_actions_row--form .single_product_atc_simple .quantity .screen-reader-text {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	height: 1px;
	width: 1px;
}

.single_product_actions_row--form .single_product_atc_simple .quantity .single_product_qty_btn {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 1.2rem;
	color: var(--hp-ink);
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
	flex-shrink: 0;
	font-weight: 600;
}

.single_product_actions_row--form .single_product_atc_simple .quantity .single_product_qty_btn:hover {
	background: var(--hp-tint);
	color: var(--hp-navy);
}

.single_product_actions_row--form .single_product_atc_simple .quantity input.qty {
	width: 52px;
	height: 44px;
	text-align: center;
	border: none;
	background: transparent;
	font-size: 1rem;
	font-weight: 700;
	color: var(--hp-ink);
	-moz-appearance: textfield;
}

.single_product_actions_row--form .single_product_atc_simple .quantity input.qty::-webkit-outer-spin-button,
.single_product_actions_row--form .single_product_atc_simple .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.5rem;
	height: 44px;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 30px;
	background: var(--hp-navy);
	color: #fff;
	min-width: 140px;
	border: none;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.2s;
	text-decoration: none;
	position: relative;
}

.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button:hover {
	background: var(--hp-ink);
	color: #fff;
}

.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button.loading,
.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button.added {
	background: var(--hp-navy);
}

.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button.loading {
	pointer-events: none;
	color: transparent;
}

.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border-radius: 9999px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: rgba(255, 255, 255, 0.9);
	animation: products_card_spinner 0.7s linear infinite;
}

/* WooCommerce add to cart form inside actions row (variable products) */
.single_product_actions_row--form .cart {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: nowrap;
	flex: 1;
	min-width: 0;
}

.single_product_actions_row--form .cart .quantity {
	display: flex;
	align-items: center;
	background: var(--hp-tint-2);
	border: 1.5px solid var(--hp-line);
	border-radius: 99px;
}

.single_product_actions_row--form .cart .quantity .screen-reader-text {
	position: absolute;
	clip: rect(1px, 1px, 1px, 1px);
	overflow: hidden;
	height: 1px;
	width: 1px;
}

.single_product_actions_row--form .cart .quantity .single_product_qty_btn {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 1.25rem;
	color: var(--hp-ink);
	cursor: pointer;
	transition: background 0.2s;
	flex-shrink: 0;
}

.single_product_actions_row--form .cart .quantity .single_product_qty_btn:hover {
	background: var(--hp-tint);
	color: var(--hp-navy);
}

.single_product_actions_row--form .cart .quantity input.qty {
	width: 56px;
	height: 44px;
	text-align: center;
	border: none;
	background: transparent;
	font-size: 1rem;
	font-weight: 600;
	color: var(--hp-ink);
	-moz-appearance: textfield;
}

.single_product_actions_row--form .cart .quantity input.qty::-webkit-outer-spin-button,
.single_product_actions_row--form .cart .quantity input.qty::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

.single_product_actions_row--form .cart .single_add_to_cart_button {
	width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.5rem;
	height: 44px;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 30px;
	background: var(--hp-navy);
	color: #fff;
	min-width: 140px;
	border: none;
	cursor: pointer;
	font-family: inherit;
	transition: background 0.2s;
}

.single_product_actions_row--form .cart .single_add_to_cart_button:hover {
	background: var(--hp-ink);
}

/* Single product Add to cart: loading spinner (white on navy) */
.single_product_actions_row--form .cart .single_add_to_cart_button.loading,
.single_product_actions_row--form .cart .single_add_to_cart_button.added {
	background: var(--hp-navy);
}

.single_product_actions_row--form .cart .single_add_to_cart_button.loading {
	pointer-events: none;
	color: transparent;
}

.single_product_actions_row--form .cart .single_add_to_cart_button.loading::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border-radius: 9999px;
	border: 2px solid rgba(255, 255, 255, 0.35);
	border-top-color: rgba(255, 255, 255, 0.9);
	animation: products_card_spinner 0.7s linear infinite;
}

.single_product_actions_row--form .cart .single_add_to_cart_button {
	position: relative;
}

.single_product_actions_row--form .cart .single_variation_wrap,
.single_product_actions_row--form .cart .variations_button {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	flex-wrap: wrap;
}

.single_product_actions_row--form .cart .variations {
	margin-bottom: 0;
	width: 100%;
}

.single_product_actions_row--form .cart .variations tr {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.single_product_actions_row--form .cart .variations td {
	padding: 0;
	display: flex;
	align-items: center;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button.alt, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button.alt, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button.alt{background: var(--hp-navy) !important}

/* ── Quantity pill ── */
.single_product_quantity {
	display: flex;
	align-items: center;
	background: var(--hp-tint-2);
	border: 1.5px solid var(--hp-line);
	border-radius: 99px;
	overflow: hidden;
}

.single_product_qty_btn {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	border: none;
	background: transparent;
	font-size: 1.2rem;
	color: var(--hp-ink);
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
	font-weight: 600;
}

.single_product_qty_btn:hover {
	background: var(--hp-tint);
	color: var(--hp-navy);
}

.single_product_qty_input {
	width: 52px;
	height: 44px;
	text-align: center;
	border: none;
	background: transparent;
	font-size: 1rem;
	font-weight: 700;
	color: var(--hp-ink);
	-moz-appearance: textfield;
}

.single_product_qty_input::-webkit-outer-spin-button,
.single_product_qty_input::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
}

/* ── Action buttons ── */
.single_product_btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 1.5rem;
	height: 48px;
	font-size: 0.95rem;
	font-weight: 700;
	border-radius: 99px;
	cursor: pointer;
	transition: background 0.22s, color 0.22s, transform 0.15s, box-shadow 0.22s;
	font-family: inherit;
	border: none;
	letter-spacing: 0.01em;
}

.single_product_btn--atc {
	background: var(--hp-navy);
	color: #fff;
	flex: 1;
	min-width: 140px;
}

.single_product_btn--atc:hover {
	background: var(--hp-navy-dk);
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(51,51,135,.25);
}

.single_product_btn--icon {
	width: 48px;
	min-width: 48px;
	height: 48px;
	padding: 0;
	background: #fff;
	border: 1.5px solid var(--hp-line);
	border-radius: 50%;
	transition: background 0.2s, border-color 0.2s, transform 0.2s;
}

.single_product_btn--icon svg {
	width: 20px;
	height: 20px;
	color: var(--hp-ink-2);
}

.single_product_btn--icon:hover {
	background: var(--hp-tint-2);
	border-color: var(--hp-navy);
}

.single_product_wishlist_btn.products_card_wishlist--active {
	background: var(--hp-gold);
	border-color: var(--hp-gold);
}

.single_product_wishlist_btn.products_card_wishlist--active svg {
	fill: #fff;
	color: #fff;
}

.single_product_terms {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 1rem;
	font-size: 0.875rem;
	color: var(--hp-ink-2);
	cursor: pointer;
}

.single_product_terms_checkbox {
	width: 1rem;
	height: 1rem;
	accent-color: var(--hp-navy);
}

.single_product_btn--buy {
	width: 100%;
	background: var(--hp-gold) !important;
	color: var(--hp-ink) !important;
	margin-bottom: 1.25rem;
	height: 50px;
	font-weight: 700;
	border-radius: 99px;
}

.single_product_btn--buy:hover {
	background: var(--hp-gold-dk) !important;
	transform: translateY(-1px);
	box-shadow: 0 6px 20px rgba(194,155,49,.3);
}

/* ── Meta table ── */
.single_product_meta {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0.4rem 1.25rem;
	margin-bottom: 1.5rem;
	font-size: 0.875rem;
	padding: 1rem 0;
	border-top: 1px solid var(--hp-line);
}

.single_product_meta dt {
	color: var(--hp-ink-3);
	margin: 0;
	font-weight: 400;
}

.single_product_meta dd {
	margin: 0;
	color: var(--hp-ink);
	font-weight: 500;
}

.single_product_guarantee {
	background: var(--hp-tint-2);
	border: 1px solid var(--hp-line);
	border-radius: 12px;
	padding: 1rem 1.25rem;
	margin-bottom: 1.5rem;
}

.single_product_guarantee_title {
	font-size: 0.875rem;
	font-weight: 700;
	color: var(--hp-ink);
	margin: 0 0 0.75rem;
}

.single_product_guarantee_logos {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.5rem;
}

.single_product_pay_icon {
	font-size: 0.7rem;
	font-weight: 700;
	color: var(--hp-ink-2);
	padding: 0.25rem 0.6rem;
	background: #fff;
	border: 1px solid var(--hp-line);
	border-radius: 4px;
	letter-spacing: 0.05em;
}

/* ── Accordion ── */
.single_product_accordion {
	border-top: 1px solid var(--hp-line);
}

.single_product_accordion_item {
	border-bottom: 1px solid var(--hp-line);
}

.single_product_accordion_btn {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 1rem 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--hp-ink);
	background: none;
	border: none;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
	transition: color 0.18s;
}

.single_product_accordion_btn:hover {
	color: var(--hp-navy);
}

.single_product_accordion_icon {
	font-size: 1.25rem;
	color: var(--hp-ink-3);
	font-weight: 400;
	flex-shrink: 0;
	margin-left: 0.5rem;
	transition: color 0.18s;
}

.single_product_accordion_item--open .single_product_accordion_icon {
	color: var(--hp-navy);
}

.single_product_accordion_panel {
	overflow: hidden;
	max-height: 0;
	transition: max-height 0.55s cubic-bezier(.2,.7,.2,1);
}

.single_product_accordion_item--open .single_product_accordion_panel {
	max-height: 2000px;
}

.single_product_accordion_content {
	padding: 0 0 1.25rem;
	font-size: 0.9rem;
	color: var(--hp-ink-2);
	line-height: 1.65;
	opacity: 0;
	transform: translateY(-4px);
	transition: opacity 0.4s ease-out 0.05s, transform 0.4s var(--hp-ease) 0.05s;
}

.single_product_accordion_item--open .single_product_accordion_content {
	opacity: 1;
	transform: translateY(0);
}

.single_product_accordion_content p { margin: 0 0 0.75rem; }
.single_product_accordion_content p:last-child,
.single_product_accordion_content ul:last-child { margin-bottom: 0; }
.single_product_accordion_content ul { margin: 0.5rem 0 1rem 1.5rem; padding: 0; list-style: disc; }
.single_product_accordion_content li { margin-bottom: 0.35rem; }

/* Single product – tablet */
@media (max-width: 991px) {
	.single_product {
		padding: 1.5rem 0 3rem;
	}

	.single_product_gallery_col {
		position: static;
	}

	.single_product_main_image_bg {
		max-width: none;
	}

	.single_product_gallery_arrow {
		opacity: 1;
		width: 38px;
		height: 38px;
	}

	.single_product_gallery_arrow--prev {
		left: 0.5rem;
	}

	.single_product_gallery_arrow--next {
		right: 0.5rem;
	}

	.single_product_zoom {
		width: 38px;
		height: 38px;
		top: 0.75rem;
		right: 0.75rem;
	}

	.single_product_title {
		font-size: 1.5rem;
	}

	.single_product_related {
		padding: 2rem 0 3rem;
	}

	.single_product_related_title {
		font-size: 1.5rem;
	}
}

@media (max-width: 767px) {
	.single_product {
		padding: 1rem 0 2.5rem;
	}

	.single_product_breadcrumb {
		font-size: 0.8125rem;
		margin-bottom: 1rem;
	}

	.single_product_gallery {
		flex-direction: column;
		gap: 0.75rem;
	}

	.single_product_thumbnails {
		flex-direction: row;
		width: 100%;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding-bottom: 0.5rem;
		-webkit-overflow-scrolling: touch;
	}

	.single_product_thumb {
		flex: 0 0 64px;
		width: 64px;
		min-width: 64px;
		scroll-snap-align: start;
	}

	.single_product_main_image_wrap {
		order: -1;
	}

	.single_product_main_image_bg {
		aspect-ratio: 1;
		border-radius: 0.75rem;
	}

	.single_product_gallery_arrow {
		width: 36px;
		height: 36px;
	}

	.single_product_gallery_arrow svg {
		width: 18px;
		height: 18px;
	}

	.single_product_gallery_arrow--prev {
		left: 0.5rem;
	}

	.single_product_gallery_arrow--next {
		right: 0.5rem;
	}

	.single_product_zoom {
		width: 36px;
		height: 36px;
		top: 0.5rem;
		right: 0.5rem;
	}

	.single_product_zoom svg {
		width: 16px;
		height: 16px;
	}

	

	.single_product_brand {
		font-size: 0.875rem;
	}

	.single_product_title {
		font-size: clamp(1.25rem, 5vw, 1.5rem);
		margin-bottom: 0.5rem;
	}

	.single_product_meta_row {
		margin-bottom: 0.75rem;
		gap: 0.35rem 0.75rem;
	}

	.single_product_price {
		font-size: 1.35rem;
		margin-bottom: 0.75rem;
	}

	.single_product_short {
		font-size: 0.875rem;
		margin-bottom: 1rem;
	}

	.single_product_features {
		padding: 1rem 1.25rem;
		margin-bottom: 1rem;
	}

	.single_product_feature {
		font-size: 0.875rem;
		gap: 0.5rem;
	}

	.single_product_feature_icon {
		width: 18px;
		height: 18px;
	}

	.single_product_social_row {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.5rem;
		margin-bottom: 1rem;
		font-size: 0.8125rem;
	}

	.single_product_actions_row {
		gap: 0.5rem;
		margin-bottom: 0.75rem;
	}

	.single_product_actions_row--form .single_product_atc_simple {
		flex: 1 1 100%;
		min-width: 0;
	}

	.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button {
		flex: 1;
		min-width: 0;
	}

	.single_product_actions_row--form .cart {
		flex-wrap: wrap;
	}

	.single_product_actions_row--form .cart .single_variation_wrap,
	.single_product_actions_row--form .cart .variations_button {
		width: 100%;
	}

	.single_product_btn--buy {
		padding: 0.75rem 1.25rem;
		height: 46px;
		font-size: 0.9375rem;
		margin-bottom: 1.25rem;
	}

	.single_product_meta {
		gap: 0.25rem 1rem;
		font-size: 0.875rem;
		margin-bottom: 1.25rem;
	}

	.single_product_guarantee {
		padding: 1rem 1.25rem;
		margin-bottom: 1.25rem;
	}

	.single_product_guarantee_title {
		font-size: 0.875rem;
		margin-bottom: 0.5rem;
	}

	.single_product_pay_icon {
		font-size: 0.6875rem;
		padding: 0.2rem 0.4rem;
	}

	.single_product_accordion_btn {
		padding: 0.875rem 0;
		font-size: 0.9375rem;
	}

	.single_product_accordion_content {
		padding: 0 0 1rem;
		font-size: 0.875rem;
	}

	.single_product_related {
		padding: 1.5rem 0 2.5rem;
	}

	.single_product_related_header {
		margin-bottom: 1.25rem;
	}

	.single_product_related_title {
		font-size: 1.35rem;
	}

	.single_product_related_desc {
		font-size: 0.9rem;
	}

	.single_product_related_grid {
		gap: 1rem;
	}

	.single_product_related_card .products_card_info {
		padding: 0.75rem 0.5rem 1rem;
	}

	.single_product_lightbox_close {
		top: 1rem;
		right: 1rem;
		width: 42px;
		height: 42px;
	}

	.single_product_lightbox_close svg {
		width: 20px;
		height: 20px;
	}

	.single_product_lightbox_arrow {
		width: 44px;
		height: 44px;
	}

	.single_product_lightbox_arrow--prev {
		left: 0.75rem;
	}

	.single_product_lightbox_arrow--next {
		right: 0.75rem;
	}

	.single_product_lightbox_arrow svg {
		width: 20px;
		height: 20px;
	}

	.single_product_lightbox_inner {
		padding: 2rem 1rem;
	}
}

/* --------------------------------------------------------------
   About Us page – first section
   -------------------------------------------------------------- */

.about_hero {
	padding: 2rem 0 3.5rem;
	font-family: var(--font-instrument);
}

.about_breadcrumb {
	font-size: 0.9rem;
	color: #78716c;
	margin-bottom: 2rem;
}

.about_breadcrumb a {
	color: #44403c;
	text-decoration: none;
}

.about_breadcrumb a:hover {
	color: #1c1917;
}

.about_breadcrumb_sep {
	margin: 0 0.35rem;
}

.about_breadcrumb_current {
	color: #78716c;
}

.about_hero_text {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3rem;
}

.about_hero_subtitle {
	font-size: 0.95rem;
	color: #44403c;
	margin: 0 0 0.5rem;
}

.about_hero_title {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	color: #1c1917;
	line-height: 1.15;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}

.about_hero_title_line2 {
	font-size: 0.85em;
}

.about_hero_desc {
	font-size: 1rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0;
}

.about_hero_visual {
	border-radius: 1rem;
	overflow: hidden;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.08);
}

.about_hero_visual .about_hero_image {
	width: 100%;
	height: auto;
	display: block;
	object-fit: cover;
}

@media (max-width: 767px) {
	.about_hero {
		padding: 1.5rem 0 2.5rem;
	}
}

/* --------------------------------------------------------------
   About Us page – Why Choose Us / Our Peculiar Things
   -------------------------------------------------------------- */

.about_features {
	padding: 4rem 0 5rem;
	font-family: var(--font-instrument);
}

.about_features_header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3.5rem;
}

.about_features_subtitle {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #78716c;
	margin: 0 0 0.5rem;
}

.about_features_title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	color: #1c1917;
	line-height: 1.2;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}

.about_features_desc {
	font-size: 1rem;
	line-height: 1.65;
	color: #78716c;
	margin: 0;
}

.about_features_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	align-items: start;
	max-width: 1300px;
	margin-left: auto;
	margin-right: auto;
}

.about_features_item {
	display: flex;
	flex-direction: column;
}

.about_features_image_wrap {
	border-radius: 0.75rem;
	overflow: hidden;
	aspect-ratio: 4 / 5;
	margin-bottom: 1.5rem;
}

.about_features_image_wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about_features_item:hover .about_features_image_wrap img {
	transform: scale(1.05);
}

.about_features_item_title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.75rem;
	line-height: 1.3;
}

.about_features_item_desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0;
}

@media (max-width: 991px) {
	.about_features_grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 575px) {
	.about_features {
		padding: 3rem 0 4rem;
	}

	.about_features_header {
		margin-bottom: 2.5rem;
	}

	.about_features_grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.about_features_image_wrap {
		aspect-ratio: 16 / 10;
	}
}

/* --------------------------------------------------------------
   About Us page – Our Factories / Our Products blocks
   -------------------------------------------------------------- */

.about_blocks {
	padding: 0 0 5rem;
	font-family: var(--font-instrument);
}

.about_block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: center;
	margin: 0 auto 4rem;
	max-width: 1300px;
}

.about_block:last-child {
	margin-bottom: 0;
}

.about_block--image-right .about_block_content {
	order: 1;
}

.about_block--image-right .about_block_visual {
	order: 2;
}

.about_block_visual {
	position: relative;
	border-radius: 0.75rem;
	overflow: hidden;
	aspect-ratio: 4 / 3;
}

.about_block_visual img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about_block_visual:hover img {
	transform: scale(1.05);
}

.about_block_caption {
	position: absolute;
	bottom: 1rem;
	left: 1rem;
	font-size: 0.8rem;
	color: #fff;
	text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}

.about_block--image-right .about_block_caption {
	left: auto;
	right: 1rem;
}

.about_block_content {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.about_block_subtitle {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #78716c;
	margin: 0 0 0.5rem;
}

.about_block_title {
	font-size: clamp(1.75rem, 4vw, 2.25rem);
	font-weight: 700;
	color: #1c1917;
	line-height: 1.2;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}

.about_block_desc {
	font-size: 1rem;
	line-height: 1.65;
	color: #78716c;
	margin: 0 0 1.5rem;
}

.about_block_btn {
	display: inline-block;
	padding: 0.75rem 1.5rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #fff !important;
	background: #1c1917;
	border-radius: 30px;
	text-decoration: none;
	transition: background 0.2s, transform 0.2s;
}

.about_block_btn:hover {
	background: #374151;
	transform: translateY(-2px);
}

@media (max-width: 991px) {
	.about_block {
		grid-template-columns: 1fr;
		gap: 2rem;
		margin-bottom: 3rem;
	}

	.about_block--image-right .about_block_content,
	.about_block--image-right .about_block_visual {
		order: unset;
	}

	.about_block--image-right .about_block_visual {
		order: 2;
	}

	.about_block--image-right .about_block_content {
		order: 1;
	}
}

@media (max-width: 575px) {
	.about_blocks {
		padding: 0 0 3rem;
	}

	.about_block {
		gap: 1.5rem;
		margin-bottom: 2.5rem;
	}

	.about_block_visual {
		aspect-ratio: 16 / 10;
	}
}

/* --------------------------------------------------------------
   About Us page – How We Work / Expanding Horizons
   -------------------------------------------------------------- */

.about_horizons {
	padding: 4rem 0 5rem;
	font-family: var(--font-instrument);
}

.about_horizons_header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3.5rem;
}

.about_horizons_subtitle {
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #78716c;
	margin: 0 0 0.5rem;
}

.about_horizons_title {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 700;
	color: #1c1917;
	line-height: 1.2;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}

.about_horizons_desc {
	font-size: 1rem;
	line-height: 1.65;
	color: #78716c;
	margin: 0;
}

.about_horizons_grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
	align-items: start;
	max-width: 1300px;
	margin: 0 auto;
}

.about_horizons_item {
	display: flex;
	flex-direction: column;
}

.about_horizons_image_wrap {
	border-radius: 0.75rem;
	overflow: hidden;
	aspect-ratio: 4 / 3;
	margin-bottom: 1.5rem;
}

.about_horizons_image_wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.about_horizons_item:hover .about_horizons_image_wrap img {
	transform: scale(1.05);
}

.about_horizons_item_title {
	font-size: 1.25rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.75rem;
	line-height: 1.3;
	text-align: left;
}

.about_horizons_item_desc {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0;
	text-align: left;
}

@media (max-width: 991px) {
	.about_horizons_grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media (max-width: 575px) {
	.about_horizons {
		padding: 3rem 0 4rem;
	}

	.about_horizons_header {
		margin-bottom: 2.5rem;
	}

	.about_horizons_grid {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}

	.about_horizons_image_wrap {
		aspect-ratio: 16 / 10;
	}
}

/* --------------------------------------------------------------
   Contact Us page
   -------------------------------------------------------------- */

.contact_hero {
	padding: 2rem 0 4rem;
	font-family: var(--font-instrument);
}

.contact_breadcrumb {
	font-size: 0.9rem;
	color: #78716c;
	margin-bottom: 2rem;
	text-align: center;
}

.contact_breadcrumb a {
	color: #44403c;
	text-decoration: none;
}

.contact_breadcrumb a:hover {
	color: #1c1917;
}

.contact_breadcrumb_sep {
	margin: 0 0.35rem;
}

.contact_breadcrumb_current {
	color: #78716c;
}

.contact_hero_header {
	text-align: center;
	max-width: 720px;
	margin: 0 auto 3rem;
}

.contact_hero_title {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	color: #1c1917;
	line-height: 1.15;
	margin: 0 0 1rem;
	letter-spacing: -0.02em;
}

.contact_hero_desc {
	font-size: 1rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0;
}

.contact_map_wrap {
	border-radius: 0.75rem;
	overflow: hidden;
	max-width: 1200px;
	margin: 0 auto 3rem;
}

.contact_map_wrap iframe {
	display: block;
}

.contact_content {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 3rem;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto;
}

.contact_info_title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.75rem;
	line-height: 1.3;
}

.contact_info_intro {
	font-size: 1rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0 0 1.5rem;
}

.contact_info_block {
	margin-bottom: 1.5rem;
}

.contact_info_block:last-child {
	margin-bottom: 0;
}

.contact_info_label {
	font-size: 1rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.5rem;
}

.contact_info_text {
	font-size: 0.95rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0 0 0.35rem;
}

.contact_form_wrap {
	background: #fff;
}

.contact_form_title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 0.75rem;
	line-height: 1.3;
}

.contact_form_intro {
	font-size: 1rem;
	line-height: 1.6;
	color: #78716c;
	margin: 0 0 1.5rem;
}

.contact_form .contact_form_row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 1rem;
}

.contact_form input[type="text"],
.contact_form input[type="email"],
.contact_form textarea {
	width: 100%;
	padding: 0.75rem 1rem;
	font-size: 1rem;
	font-family: inherit;
	border: 1px solid #d6d3d1;
	border-radius: 0.5rem;
	background: #fff;
	color: #1c1917;
	transition: border-color 0.2s;
}

.contact_form input[type="text"]:focus,
.contact_form input[type="email"]:focus,
.contact_form textarea:focus {
	outline: none;
	border-color: #1c1917;
}

.contact_form textarea {
	resize: vertical;
	min-height: 120px;
	margin-bottom: 1rem;
}

.contact_form_privacy {
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #78716c;
	margin-bottom: 1.5rem;
	cursor: pointer;
}

.contact_form_privacy input[type="checkbox"] {
	margin-top: 0.25rem;
	flex-shrink: 0;
}

.contact_form_privacy_link {
	color: #1c1917;
	text-decoration: underline;
	font-weight: 700;
}

.contact_form_privacy_link:hover {
	color: #44403c;
}

.contact_form_submit {
	width: 100%;
	display: inline-block;
	padding: 0.75rem 2rem;
	font-size: 0.95rem;
	font-weight: 600;
	color: #fff;
	background: #c29b31;
	border: none;
	border-radius: 30px;
	cursor: pointer;
	transition: background 0.2s, transform 0.2s;
}

.contact_form_submit:hover {
	background: #c29b31;
	transform: translateY(-2px);
}

@media (max-width: 991px) {
	.contact_content {
		grid-template-columns: 1fr;
		gap: 2.5rem;
	}
}

@media (max-width: 575px) {
	.contact_hero {
		padding: 1.5rem 0 3rem;
	}

	.contact_map_wrap {
		margin-bottom: 2rem;
	}

	.contact_form .contact_form_row {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------
   My Account (mon-compte) – small & clean design
   -------------------------------------------------------------- */

.myaccount_page .myaccount_header {
	padding: 1rem 0 0.75rem;
	text-align: center;
}

.woocommerce-account .woocommerce-MyAccount-content{float: left;width: 100%;}

.myaccount_breadcrumb {
	font-size: 0.8rem;
	color: #9ca3af;
	margin-bottom: 0.5rem;
}

.myaccount_breadcrumb a {
	color: #9ca3af;
	text-decoration: none;
	transition: color 0.2s;
}

.myaccount_breadcrumb a:hover {
	color: #1c1917;
}

.myaccount_breadcrumb_sep {
	margin: 0 0.25rem;
}

.myaccount_breadcrumb_current {
	color: #1c1917;
	font-weight: 500;
}

.myaccount_title {
	font-size: 1.5rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0 0 1.25rem;
	letter-spacing: -0.02em;
	text-align: center;
}

.myaccount_body {
	padding: 1.25rem 0 3rem;
}

.myaccount_row {
	align-items: flex-start;
}

.myaccount_nav_col {
	position: sticky;
	top: 2rem;
	align-self: start;
	max-width: 200px;
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	padding: 1.25rem 1.5rem;
}

.myaccount_container{max-width: 1260px;}

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

.myaccount_nav_item {
	margin: 0;
}

.myaccount_nav_link {
	display: block;
	position: relative;
	padding: 0.5rem 0 0.5rem 0.75rem;
	font-size: 0.9rem;
	font-weight: 400;
	color: #1c1917 !important;
	text-decoration: none;
	transition: color 0.2s;
	border-left: 2px solid transparent;
	margin-left: 0;
}

.myaccount_nav_link:hover {
	color: #1c1917;
}

.myaccount_nav_link.is-active,
.myaccount_nav_link.woocommerce-MyAccount-navigation-link--dashboard.is-active {
	border-left-color: #1c1917;
	font-weight: 600;
	color: #1c1917;
}

.myaccount_content_col .woocommerce-MyAccount-content {
	margin: 0;
}

/* All My Account content panels – compact bordered box */
.myaccount_panel {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	padding: 1.25rem 1.5rem;
}

.myaccount_panel a {
	color: #374151;
	text-decoration: underline;
	transition: color 0.2s;
}

.myaccount_panel a:hover {
	color: #374151;
}

.myaccount_dashboard_panel {
	background: #fff;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	padding: 1.25rem 1.5rem;
}

.myaccount_dashboard_greeting,
.myaccount_dashboard_text {
	margin: 0 0 0.75rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #1c1917;
}

.myaccount_dashboard_greeting:last-child,
.myaccount_dashboard_text:last-child {
	margin-bottom: 0;
}

.myaccount_dashboard_panel a {
	color: #2563eb;
	text-decoration: underline;
	transition: color 0.2s;
}

.myaccount_dashboard_panel a:hover {
	color: #333387;
}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button{background: #1c1917;
	border: 2px solid #1c1917;
	color: #fff !important;
	border-radius: 30px;
	margin-top: 10px;}

.woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) #respond input#submit:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) a.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) button.button:hover, .woocommerce:where(body:not(.woocommerce-block-theme-has-button-styles)) input.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce #respond input#submit:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce a.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce button.button:hover, :where(body:not(.woocommerce-block-theme-has-button-styles)):where(:not(.edit-post-visual-editor)) .woocommerce input.button:hover{background: #1c1917;
	border: 2px solid #1c1917;
	color: #fff !important;
	border-radius: 30px;
	margin-top: 10px;}

/* Login / Register form (when logged out) */

.myaccount_panel--auth .lost_password a, .myaccount_panel--auth .myaccount_auth_switch a{color: #374151 !important;}

.myaccount_panel--auth .myaccount_auth_title,
.myaccount_panel--login .myaccount_login_title {
	font-size: 1.1rem;
	font-weight: 600;
	margin: 0 0 1rem;
	color: #1c1917;
}

.myaccount_panel--auth .form-row {
	margin-bottom: 1rem;
}

.myaccount_panel--auth label {
	display: block;
	font-size: 0.9rem;
	font-weight: 500;
	color: #374151;
	margin-bottom: 0.35rem;
}

.myaccount_panel--auth .required {
	color: #dc2626;
}

.myaccount_panel--auth input[type="text"],
.myaccount_panel--auth input[type="password"],
.myaccount_panel--auth input[type="email"] {
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-size: 0.9rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	background: #fff;
}

.myaccount_panel--auth .woocommerce-form-login__submit,
.myaccount_panel--auth .woocommerce-form-register__submit {
	background: #1c1917;
	color: #fff;
	border: none;
	padding: 0.5rem 1.25rem;
	font-size: 0.9rem;
	border-radius: 0.375rem;
	cursor: pointer;
}

.myaccount_panel--auth .woocommerce-form-login__submit:hover,
.myaccount_panel--auth .woocommerce-form-register__submit:hover {
	background: #374151;
}

.myaccount_panel--auth .lost_password {
	margin-top: 1rem;
	margin-bottom: 0;
}

.myaccount_panel--auth .lost_password a,
.myaccount_panel--auth .myaccount_auth_switch a {
	color: #2563eb;
	text-decoration: underline;
}

.myaccount_panel--auth .myaccount_auth_switch {
	margin-top: 1rem;
	margin-bottom: 0;
	font-size: 0.9rem;
	color: #374151;
}

/* Mon compte: popup trigger panel (Login / Register buttons) */
.myaccount_panel--popup-trigger .myaccount_auth_prompt {
	margin: 0 0 1.25rem;
	font-size: 0.9rem;
	color: #374151;
	line-height: 1.5;
}

.myaccount_auth_btns {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.myaccount_auth_btn {
	display: inline-block;
	padding: 0.5rem 1.25rem;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 0.375rem;
	border: none;
	cursor: pointer;
	transition: background 0.2s, color 0.2s;
}

.myaccount_auth_btn--login {
	background: #1c1917;
	color: #fff;
}

.myaccount_auth_btn--login:hover {
	background: #374151;
}

.myaccount_auth_btn--register {
	background: #f3f4f6;
	color: #1c1917;
	border: 1px solid #e5e7eb;
}

.myaccount_auth_btn--register:hover {
	background: #e5e7eb;
}

/* Lost password page (form + confirmation) */
.myaccount_panel--lost-password .myaccount_lost_password_intro,
.myaccount_panel--lost-password-confirm .myaccount_lost_password_confirm_text {
	margin: 0 0 1rem;
	font-size: 0.9rem;
	line-height: 1.5;
	color: #374151;
}

.myaccount_panel--lost-password .form-row {
	margin-bottom: 1rem;
}

.myaccount_panel--lost-password label {
	display: block;
	font-size: 0.9rem;
	font-weight: 500;
	color: #374151;
	margin-bottom: 0.35rem;
}

.myaccount_panel--lost-password input[type="text"],
.myaccount_panel--lost-password input[type="email"] {
	width: 100%;
	padding: 0.5rem 0.75rem;
	font-size: 0.9rem;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	background: #fff;
}

.myaccount_panel--lost-password .myaccount_lost_password_btn {
	background: #1c1917;
	color: #fff;
	border: none;
	padding: 0.5rem 1.25rem;
	font-size: 0.9rem;
	border-radius: 0.375rem;
	cursor: pointer;
}

.myaccount_panel--lost-password .myaccount_lost_password_btn:hover {
	background: #374151;
}

/* Reset password (new password form) */
/* Hide only WooCommerce-injected show-password buttons (keep .password-input visible - it wraps the input!) */
.myaccount_panel--reset-password .show-password-input,
.myaccount_panel--reset-password .woocommerce-password-strength {
	display: none !important;
}

.myaccount_panel--reset-password .myaccount_auth_title {
	margin-bottom: 1rem;
}

.myaccount_panel--reset-password .form-row {
	display: block;
	margin-bottom: 1.25rem;
	clear: both;
}

.myaccount_panel--reset-password .form-row label {
	display: block;
	width: 100%;
	font-size: 0.9rem;
	font-weight: 500;
	color: #374151;
	margin-bottom: 0.35rem;
}

.myaccount_panel--reset-password .myaccount_password_wrap {
	display: flex;
	align-items: center;
	position: relative;
	width: 100%;
}

/* WooCommerce wraps input in .password-input – ensure it and the input are visible */
.myaccount_panel--reset-password .myaccount_password_wrap .password-input {
	display: flex !important;
	flex: 1;
	align-items: center;
	position: relative;
	min-width: 0;
}

.myaccount_panel--reset-password .myaccount_password_wrap .password-input input {
	flex: 1;
	min-width: 0;
}

.myaccount_panel--reset-password .myaccount_password_wrap input[type="password"],
.myaccount_panel--reset-password .myaccount_password_wrap input[type="text"] {
	width: 100%;
	padding: 0.5rem 2.75rem 0.5rem 0.75rem;
	font-size: 0.9rem;
	border: 1px solid #e5e7eb;
	border-radius: 9999px;
	background: #fff;
}

.myaccount_panel--reset-password .myaccount_password_toggle {
	position: absolute;
	right: 0.5rem;
	top: 50%;
	transform: translateY(-50%);
	width: 2rem;
	height: 2rem;
	padding: 0;
	border: none;
	background: transparent;
	color: #6b7280;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
}

.myaccount_panel--reset-password .myaccount_password_toggle:hover {
	color: #1c1917;
}

.myaccount_panel--reset-password .myaccount_password_toggle i {
	font-size: 1rem;
}

.myaccount_panel--reset-password .form-row .myaccount_reset_password_btn {
	width: 100%;
}

.myaccount_panel--reset-password .myaccount_reset_password_btn {
	background: #1c1917;
	color: #fff;
	border: none;
	padding: 0.5rem 1.25rem;
	font-size: 0.9rem;
	border-radius: 0.375rem;
	cursor: pointer;
}

.myaccount_panel--reset-password .myaccount_reset_password_btn:hover {
	background: #374151;
}

/* Lost password / reset password: keep notice and content in same visual column */
.myaccount_page--lost-password-confirm .woocommerce-notices-wrapper,
.myaccount_page--lost-password .woocommerce-notices-wrapper,
.myaccount_page--reset-password .woocommerce-notices-wrapper {
	max-width: 100%;
	margin-bottom: 1rem;
}

.woocommerce form.checkout_coupon, .woocommerce form.login, .woocommerce form.register{border: none;}
.woocommerce .woocommerce-form-login .woocommerce-form-login__rememberme{display: block !important;}
.woocommerce .woocommerce-form-login .woocommerce-form-login__submit{width: 100%;}

/* Orders table – clean design */
.myaccount_panel .woocommerce-orders-table,
.myaccount_panel .woocommerce-MyAccount-downloads {
	font-size: 0.9rem;
	width: 100%;
	border-collapse: collapse;
}

.myaccount_panel .woocommerce-orders-table thead tr {
	border-bottom: 1px solid #e5e7eb;
}

.myaccount_panel .woocommerce-orders-table th,
.myaccount_panel .woocommerce-orders-table td,
.myaccount_panel .woocommerce-MyAccount-downloads th,
.myaccount_panel .woocommerce-MyAccount-downloads td {
	padding: 0.6rem 0.75rem;
	text-align: left;
	vertical-align: middle;
	border: none;
}

.myaccount_panel .woocommerce-orders-table th {
	font-size: 0.85rem;
	font-weight: 600;
	color: #1c1917;
	background: transparent;
}

.myaccount_panel .woocommerce-orders-table tbody tr {
	border-bottom: 1px solid #f3f4f6;
}

.myaccount_panel .woocommerce-orders-table tbody tr:last-child {
	border-bottom: none;
}

.myaccount_panel .woocommerce-orders-table td {
	color: #374151;
}

/* Order number links – blue underlined */
.myaccount_panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a {
	color: #2563eb;
	text-decoration: underline;
}

.myaccount_panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-number a:hover {
	color: #333387;
}

/* Action buttons – light grey, rounded */
.myaccount_panel .woocommerce-button,
.myaccount_panel .button {
	font-size: 0.85rem;
	font-weight: 500;
	padding: 0.4rem 0.9rem;
	background: #f3f4f6;
	color: #1c1917;
	border: 1px solid #e5e7eb;
	border-radius: 0.375rem;
	text-decoration: none;
	display: inline-block;
	margin-right: 0.35rem;
	margin-bottom: 0.25rem;
	transition: background 0.2s, border-color 0.2s;
}

.myaccount_panel .woocommerce-button:hover,
.myaccount_panel .button:hover {
	background: #e5e7eb;
	border-color: #d1d5db;
	color: #1c1917;
}

.myaccount_panel .woocommerce-orders-table .woocommerce-orders-table__cell-order-actions a {
	text-decoration: none;
}

.myaccount_panel h2,
.myaccount_panel h3 {
	font-size: 1rem;
	margin: 0 0 0.75rem;
}

/* Responsive orders table */
@media (max-width: 767px) {
	.myaccount_panel .woocommerce-orders-table,
	.myaccount_panel .woocommerce-orders-table thead,
	.myaccount_panel .woocommerce-orders-table tbody,
	.myaccount_panel .woocommerce-orders-table th,
	.myaccount_panel .woocommerce-orders-table td,
	.myaccount_panel .woocommerce-orders-table tr {
		display: block;
	}

	.myaccount_panel .woocommerce-orders-table thead {
		display: none;
	}

	.myaccount_panel .woocommerce-orders-table tbody tr {
		border: 1px solid #e5e7eb;
		border-radius: 0.375rem;
		margin-bottom: 0.75rem;
		padding: 0.75rem;
	}

	.myaccount_panel .woocommerce-orders-table td {
		padding: 0.35rem 0;
		border-bottom: 1px solid #f3f4f6;
	}

	.myaccount_panel .woocommerce-orders-table td:last-child {
		border-bottom: none;
		padding-top: 0.5rem;
	}

	.myaccount_panel .woocommerce-orders-table td::before {
		content: attr(data-title);
		font-weight: 600;
		color: #1c1917;
		display: inline-block;
		margin-right: 0.5rem;
		min-width: 5rem;
	}
}

@media (max-width: 991px) {
	.myaccount_nav_col {
		position: static;
		max-width: none;
	}

	.myaccount_title {
		text-align: center;
	}
}

/* --------------------------------------------------------------
   Error 404 Page
   -------------------------------------------------------------- */

.error-404-page {
	min-height: calc(100vh - 200px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	text-align: center;
}

.error-404-page .error-404 {
	width: 100%;
	max-width: 520px;
}

.error-404_content {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
}

.error-404_image_wrap {
	line-height: 0;
}

.error-404_image {
	max-width: 320px;
	width: 100%;
	height: auto;
	display: block;
}

.error-404_title {
	font-size: 2rem;
	font-weight: 700;
	color: #1c1917;
	margin: 0;
	line-height: 1.2;
}

.error-404_subtitle {
	font-size: 1rem;
	color: #44403c;
	margin: 0;
	line-height: 1.5;
	max-width: 400px;
}

.error-404_btn {
	display: inline-block;
	padding: 0.9rem 2rem;
	background: #1c1917;
	color: #fff !important;
	text-decoration: none;
	font-size: 1rem;
	font-weight: 500;
	border-radius: 999px;
	transition: background 0.2s, color 0.2s;
}

.error-404_btn:hover {
	background: #292524;
	color: #fff;
}

@media (min-width: 768px) {
	.error-404_title {
		font-size: 2.5rem;
	}
}

/* ================================================
   IRONAFAL.MA — BRAND DESIGN PATCH v3
   Applied after full live-site audit (April 2026)
   Brand: navy #333387 | gold #c29b31 | lavender #e6eafc
   ================================================ */

/* 0. CSS Variables */
:root {
	--if-navy: #333387;
	--if-navy-dark: #26215C;
	--if-gold: #c29b31;
	--if-gold-dark: #a07f20;
	--if-lavender: #e6eafc;
}

/* ── 1. HOMEPAGE SCROLL FADE (GSAP) ── */
/* Initial state before / without JS; GSAP sets final opacity/transform inline. */
@media (prefers-reduced-motion: no-preference) {
	.site-main--homepage .hp-animate .hp-animate-item {
		opacity: 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.site-main--homepage .hp-animate .hp-animate-item {
		opacity: 1;
	}
}
/* Remove accidental body margin-bottom that creates white gap */
body { margin-bottom: 0 !important; }

/* ── 2. NAVBAR ── */
.site-header {
	box-shadow: 0 2px 8px rgba(51, 51, 135, 0.08) !important;
	border-bottom: 1px solid rgba(51, 51, 135, 0.10) !important;
}
/* Active nav link color */
.navbar_nav .current-menu-item > a,
.navbar_nav .current_page_item > a {
	color: var(--if-navy) !important;
}

/* ── 3. HERO CTA BUTTON → GOLD ── */
.hero_section_btn,
.hero_slide_content .btn,
.hero_section a[class*="btn"] {
	background-color: var(--if-gold) !important;
	border-color: var(--if-gold) !important;
	color: #fff !important;
}
.hero_section_btn:hover,
.hero_slide_content .btn:hover {
	background-color: var(--if-gold-dark) !important;
	border-color: var(--if-gold-dark) !important;
}

/* ── 4. SECTION HEADINGS → NAVY ── */
.categories_title,
.products_title,
.deals_title,
.articles_title,
.studio_card_title,
.promo_title,
.features_title {
	color: var(--if-navy) !important;
}

/* ── 5. SECTION BACKGROUNDS — ALTERNATING LAVENDER ── */
.categories_section,
.features_section {
	/*background-color: var(--if-lavender) !important;*/
}
/* Keep promo/studio sections with their image overlays — just add top border accent */
.promo_section {
	border-top: 3px solid var(--if-navy) !important;
}

/* ── 6. PRODUCT CARDS ── */
/* Image — fix aspect ratio (prevents 659px mobile height bug) */
.products_card_image_wrap {
	height: auto !important;
	overflow: hidden !important;
}
/* ATC button on card hover: navy background, gold hover */
.products_card_atc {
	background: var(--if-navy) !important;
	color: #fff !important;
}
.products_card_atc:hover {
	background: var(--if-gold) !important;
	color: #fff !important;
}
/* Price: darker gold for contrast (WCAG AA) */
.products_card_price--sale .woocommerce-Price-amount,
.products_card_price--sale {
	color: var(--if-gold-dark) !important;
}
/* Discount badge: brand gold */
.products_card_badge {
	background: var(--if-gold) !important;
	color: #fff !important;
}

/* ── 7. SINGLE PRODUCT PAGE ── */
/* Sale badge: brand gold instead of amber-700 */
.single_product_solde_badge {
	background: var(--if-gold) !important;
	color: #fff !important;
}
/* Price: gold-dark for WCAG contrast */
.single_product_price ins .woocommerce-Price-amount,
.single_product_price ins {
	color: var(--if-gold-dark) !important;
	font-size: 24px !important;
	font-weight: 700 !important;
}
.single_product_price del .woocommerce-Price-amount {
	color: #a8a29e !important;
}
/* "Add to cart" → GOLD (main conversion button) */
.single_product_btn--atc {
	background: var(--if-gold) !important;
	color: #fff !important;
}
.single_product_btn--atc:hover {
	background: var(--if-gold-dark) !important;
	color: #fff !important;
}
/* Variable product ATC */
.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button,
.single_product_actions_row--form .cart .single_add_to_cart_button {
	background: var(--if-gold) !important;
	color: #fff !important;
}
.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button:hover,
.single_product_actions_row--form .cart .single_add_to_cart_button:hover,
.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button.loading,
.single_product_actions_row--form .single_product_atc_simple .single_add_to_cart_button.added,
.single_product_actions_row--form .cart .single_add_to_cart_button.loading,
.single_product_actions_row--form .cart .single_add_to_cart_button.added {
	background: var(--if-gold-dark) !important;
	color: #fff !important;
}
/* "Buy it now" → NAVY outlined (secondary action) */
.single_product_btn--buy {
	background: transparent !important;
	border: 2px solid var(--if-navy) !important;
	color: var(--if-navy) !important;
}
.single_product_btn--buy:hover {
	background: var(--if-navy) !important;
	color: #fff !important;
}
/* Accordion active accent */
.single_product_accordion_btn[aria-expanded="true"] {
	color: var(--if-navy) !important;
}
/* Quantity buttons accent */
.single_product_qty_btn:focus,
.single_product_qty_btn:hover {
	border-color: var(--if-navy) !important;
	color: var(--if-navy) !important;
}

/* ── 8. MOBILE STICKY ATC BAR → GOLD ── */
.single_product_atc_fixed_btn {
	background: var(--if-gold) !important;
	color: #fff !important;
}
.single_product_atc_fixed_btn:hover {
	background: var(--if-gold-dark) !important;
}
.single_product_atc_fixed_btn.loading,
.single_product_atc_fixed_btn.added {
	background: var(--if-gold-dark) !important;
}
.single_product_atc_fixed {
	border-top: 2px solid var(--if-gold) !important;
}

/* ── 9. FILTER/ARCHIVE SHOP ── */
/* Price slider range bar */
.archive_shop_filter_slider_range,
.noUi-connect {
	background-color: var(--if-navy) !important;
}
/* Active filter checkbox/button accent */
.archive_shop_filter_checkbox:checked,
.archive_shop_view_btn--active {
	accent-color: var(--if-navy) !important;
	border-color: var(--if-navy) !important;
}

/* ── 10. FEATURES SECTION ICONS → GOLD ── */
.features_icon,
.features_icon svg {
	color: var(--if-gold) !important;
	stroke: var(--if-gold) !important;
	fill: none !important;
}

/* ── 11. FOOTER → DARK NAVY ── */
.footer_top {
	background-color: var(--if-navy) !important;
	color: #fff !important;
	border-bottom-color: rgba(255, 255, 255, 0.1) !important;
}
.footer_widget_title {
	color: #fff !important;
}
.footer_widget_text,
.footer_contact_link,
.footer_menu a {
	color: rgba(255, 255, 255, 0.75) !important;
}
.footer_menu a:hover,
.footer_contact_link:hover {
	color: var(--if-gold) !important;
}
.footer_social_link {
	border-color: rgba(255, 255, 255, 0.2) !important;
	color: rgba(255, 255, 255, 0.8) !important;
}
.footer_social_link:hover {
	background: rgba(255, 255, 255, 0.1) !important;
	border-color: rgba(255, 255, 255, 0.4) !important;
}
/* Footer newsletter button already gold — ensure it stays */
.footer_newsletter_btn {
	background: var(--if-gold) !important;
}
.footer_newsletter_btn:hover {
	background: var(--if-gold-dark) !important;
}
/* Footer bottom bar: deeper navy */
.footer_bottom {
	background-color: var(--if-navy-dark) !important;
	color: rgba(255, 255, 255, 0.55) !important;
}
.footer_bottom a {
	color: rgba(255, 255, 255, 0.55) !important;
}
.footer_bottom a:hover {
	color: var(--if-gold) !important;
}

/* ── 12. ACCESSIBILITY — FOCUS RINGS ── */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible {
	outline: 2px solid var(--if-navy) !important;
	outline-offset: 2px !important;
	border-radius: 3px !important;
}
/* Skip-to-content link */
.skip-link:focus {
	position: fixed !important;
	top: 8px !important;
	left: 8px !important;
	background: var(--if-navy) !important;
	color: #fff !important;
	padding: 8px 16px !important;
	border-radius: 4px !important;
	z-index: 99999 !important;
}

/* ── 13. MOBILE RESPONSIVE ── */
@media (max-width: 576px) {
	/* Shrink header */
	.site-header {
		padding-top: 8px !important;
		padding-bottom: 8px !important;
	}
	.navbar_logo img {
		height: 36px !important;
	}
	/* 2-column product grid on mobile (fixes single-column giant image) */
	.archive_shop_products .col-12 {
		flex: 0 0 50% !important;
		max-width: 50% !important;
	}
	/* Padding for fixed bottom nav */
	.site-main,
	main {
		padding-bottom: 80px !important;
	}
	/* 44px minimum touch targets */
	.navbar_cart_btn,
	.navbar_wishlist_btn,
	.navbar_search_btn {
		min-width: 44px !important;
		min-height: 44px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
	}
}

/* Mobile menu panel accent bar */
@media (max-width: 992px) {
	.navbar_mobile_panel::before {
		content: '';
		display: block;
		background: var(--if-navy);
		height: 4px;
	}
	.navbar_mobile_panel_close {
		background-color: var(--if-navy) !important;
		color: #fff !important;
	}
}

/* ── 14. CART & CHECKOUT CTA BUTTONS → NAVY ── */
.wc-proceed-to-checkout .checkout-button,
.cart_totals .checkout-button,
.single_add_to_cart_button {
	background-color: var(--if-gold) !important;
	border-color: var(--if-gold) !important;
	color: #fff !important;
}
.wc-proceed-to-checkout .checkout-button:hover {
	background-color: var(--if-gold-dark) !important;
}
.woocommerce-cart-form .button[name="update_cart"],
.woocommerce button.button {
	background-color: var(--if-navy) !important;
	color: #fff !important;
}

/* ── 15. BREADCRUMB ACCENT ── */
.woocommerce-breadcrumb a:hover,
.archive_shop_breadcrumb a:hover {
	color: var(--if-navy) !important;
}

/* ── END BRAND PATCH v3 ── */



/* ================================================================
   IRONAFAL — Homepage Design System v5
   Inspired by claude.ai/design handoff
   Navy #333387 · Gold #c29b31 · Instrument Sans
   All selectors prefixed hp- to avoid theme conflicts
   ================================================================ */

:root {
  --hp-navy:     #333387;
  --hp-navy-dk:  #1e1e52;
  --hp-gold:     #c29b31;
  --hp-gold-dk:  #a4821f;
  --hp-ink:      #13132E;
  --hp-ink-2:    #3C3C52;
  --hp-ink-3:    #6D6D82;
  --hp-paper:    #FAFAF7;
  --hp-tint:     #E6EAFC;
  --hp-tint-2:   #F3F5FE;
  --hp-line:     #E7E5DC;
  --hp-white:    #ffffff;
  --hp-r:        14px;
  --hp-r-sm:     8px;
  --hp-r-lg:     22px;
  --hp-shadow:   0 12px 40px -18px rgba(19,19,46,.25), 0 2px 6px -2px rgba(19,19,46,.08);
  --hp-shadow-lg:0 32px 80px -30px rgba(19,19,46,.35);
  --hp-ease:     cubic-bezier(.2,.7,.2,1);
}

/* ── Reduced motion ── */
@media (prefers-reduced-motion: reduce) {
  .hp-hero *, .hp-cat__img, .hp-prod img, .hp-split__bg,
  .hp-article__img img { transition-duration: 0.01ms !important; }
}

/* ================================================================
   LAYOUT PRIMITIVES
   ================================================================ */
.hp-wrap {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;
}
@media (max-width: 720px) { .hp-wrap { padding: 0 20px; } }

/* ================================================================
   ANNOUNCEMENT BAR
   ================================================================ */
.hp-announce {
  background: var(--hp-ink);
  color: #D8D4C2;
  font-size: 12.5px;
  letter-spacing: 0.04em;
  padding: 10px 0;
}
.hp-announce__inner {
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 32px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
}
.hp-announce__items {
  display: flex;
  align-items: center;
  gap: 20px;
  flex-wrap: wrap;
}
.hp-announce__dot {
  width: 5px; height: 5px;
  border-radius: 99px;
  background: var(--hp-gold);
  display: inline-block;
  flex-shrink: 0;
}
.hp-announce__right {
  display: flex;
  gap: 20px;
  color: rgba(188,188,188,.7);
  font-size: 12px;
  flex-shrink: 0;
  margin-left: auto;
}
.hp-announce__right a { color: inherit; transition: color 0.2s; }
.hp-announce__right a:hover { color: var(--hp-gold); }
@media (max-width: 860px) { .hp-announce__right { display: none; } }
@media (max-width: 720px) {
  .hp-announce__inner { padding: 0 20px; }
  .hp-announce__items { gap: 12px; font-size: 11.5px; }
}

/* ================================================================
   EYEBROW LABEL
   ================================================================ */
.hp-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: var(--hp-ink-3);
}
.hp-eyebrow::before {
  content: "";
  width: 22px; height: 1px;
  background: var(--hp-gold);
  display: inline-block;
  flex-shrink: 0;
}
.hp-eyebrow--light { color: rgba(255,255,255,.72); }
.hp-eyebrow--faint { color: rgba(253,251,242,.6); }
.hp-eyebrow--faint::before,
.hp-eyebrow--light::before { background: var(--hp-gold); }

/* ================================================================
   SECTION HEADS
   ================================================================ */
.hp-section-head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 44px;
  flex-wrap: wrap;
}
.hp-section-head h2 {
  font-weight: 700;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 14px 0 0;
  max-width: 600px;
  color: var(--hp-ink);
}
.hp-section-head h2 em {
  font-style: italic;
  color: var(--hp-navy);
  font-weight: 700;
}
.hp-section-head p {
  margin: 12px 0 0;
  color: var(--hp-ink-3);
  max-width: 440px;
  font-size: 15px;
  line-height: 1.6;
}

.hp-link-arrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--hp-navy);
  padding: 6px 0;
  border-bottom: 1px solid transparent;
  transition: border-color 0.2s var(--hp-ease);
  white-space: nowrap;
  flex-shrink: 0;
  padding-bottom: 14px;
}
.hp-link-arrow:hover { border-color: var(--hp-navy); color: var(--hp-navy); }
.hp-link-arrow svg { transition: transform 0.2s var(--hp-ease); }
.hp-link-arrow:hover svg { transform: translateX(3px); }

/* ================================================================
   BUTTONS
   ================================================================ */
.hp-btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 14px 22px;
  border-radius: 99px;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  transition: transform 0.2s var(--hp-ease), background 0.2s var(--hp-ease), box-shadow 0.2s var(--hp-ease);
  white-space: nowrap;
  text-decoration: none;
}
.hp-btn:hover { transform: translateY(-1px); text-decoration: none; }
.hp-btn svg { transition: transform 0.2s var(--hp-ease); }
.hp-btn:hover svg { transform: translateX(3px); }

.hp-btn--gold { background: var(--hp-gold); color: var(--hp-ink); }
.hp-btn--gold:hover { background: #d2aa3c; color: var(--hp-ink); }

.hp-btn--ghost {
  background: transparent;
  color: #FDFBF2;
  box-shadow: inset 0 0 0 1px rgba(253,251,242,.35);
}
.hp-btn--ghost:hover { box-shadow: inset 0 0 0 1px rgba(253,251,242,.7); background: rgba(253,251,242,.06); color: #FDFBF2; }

.hp-btn--ghost-dk {
  background: transparent;
  color: rgba(253,251,242,.85);
  box-shadow: inset 0 0 0 1px rgba(253,251,242,.25);
}
.hp-btn--ghost-dk:hover { box-shadow: inset 0 0 0 1px rgba(253,251,242,.55); color: #FDFBF2; }

.hp-btn--outline {
  background: transparent;
  color: var(--hp-ink);
  box-shadow: inset 0 0 0 1.5px var(--hp-ink);
}
.hp-btn--outline:hover { background: var(--hp-ink); color: #FDFBF2; }

.hp-btn--indigo { background: var(--hp-navy); color: #fff; }
.hp-btn--indigo:hover { background: var(--hp-navy-dk); color: #fff; }

/* ================================================================
   HERO
   ================================================================ */
.hp-hero {
  position: relative;
  overflow: hidden;
  background: var(--hp-ink);
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
}
.hp-hero__overlay {
  position: absolute; inset: 0;
  background:
	linear-gradient(100deg, rgba(19,19,46,.88) 0%, rgba(19,19,46,.58) 48%, rgba(19,19,46,.22) 100%),
	linear-gradient(180deg, rgba(19,19,46,.08) 0%, rgba(19,19,46,.52) 100%);
}
.hp-hero__inner { position: relative; padding: 110px 0 140px; color: #FDFBF2; }
.hp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0,1fr) 360px;
  gap: 60px;
  align-items: end;
}
@media (max-width: 960px) { .hp-hero__grid { grid-template-columns: 1fr; gap: 40px; } }

.hp-hero__title {
  font-weight: 700;
  font-size: clamp(40px, 6.5vw, 82px);
  line-height: 1.0;
  letter-spacing: -0.025em;
  margin: 22px 0 0;
  color: #FDFBF2;
}
.hp-hero__title em {
  font-style: italic;
  color: var(--hp-gold);
  font-weight: 700;
}
.hp-hero__sub {
  max-width: 500px;
  margin: 22px 0 0;
  color: rgba(253,251,242,.78);
  font-size: 17px;
  line-height: 1.55;
}
.hp-hero__ctas {
  display: flex;
  gap: 14px;
  margin-top: 36px;
  flex-wrap: wrap;
}
.hp-hero__stats {
  display: flex;
  gap: 44px;
  margin-top: 52px;
  padding-top: 28px;
  border-top: 1px solid rgba(253,251,242,.15);
  flex-wrap: wrap;
}
.hp-hero__stats div { color: rgba(253,251,242,.8); }
.hp-hero__stats b {
  display: block;
  font-weight: 700;
  font-size: 34px;
  line-height: 1;
  color: #FDFBF2;
  margin-bottom: 6px;
  letter-spacing: -0.02em;
}
.hp-hero__stats span {
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(253,251,242,.52);
}

.hp-hero__aside {
  background: rgba(253,251,242,.07);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(253,251,242,.13);
  border-radius: var(--hp-r-lg);
  padding: 26px;
  display: grid;
  gap: 12px;
}
.hp-hero__aside h4 {
  font-weight: 700;
  font-size: 22px;
  margin: 6px 0 2px;
  color: #FDFBF2;
  letter-spacing: -0.01em;
}
.hp-hero__aside p { margin: 0; color: rgba(253,251,242,.7); font-size: 13.5px; line-height: 1.55; }
.hp-hero__aside a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hp-gold);
  margin-top: 6px;
  transition: gap 0.2s var(--hp-ease);
}
.hp-hero__aside a:hover { gap: 10px; }

@media (max-width: 720px) {
  .hp-hero__inner { padding: 72px 20px 90px; }
  .hp-hero__title { font-size: clamp(34px, 10vw, 60px); }
  .hp-hero__stats { gap: 24px; }
  .hp-hero__stats b { font-size: 26px; }
}

/* ================================================================
   BRANDS BAR
   ================================================================ */
.hp-brands {
  background: var(--hp-ink);
  color: rgba(253,251,242,.52);
  padding: 22px 0;
  border-top: 1px solid rgba(253,251,242,.08);
}
.hp-brands__inner {
  display: flex;
  align-items: center;
  gap: 40px;
  flex-wrap: wrap;
  justify-content: space-between;
}
.hp-brands__label {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: rgba(253,251,242,.4);
  flex-shrink: 0;
}
.hp-brands__row {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 700;
  font-style: italic;
  font-size: 20px;
  letter-spacing: 0.01em;
  color: rgba(253,251,242,.72);
}
.hp-brands__row span {
  opacity: 0.85;
  transition: opacity 0.2s, color 0.2s;
  cursor: default;
}
.hp-brands__row span:hover { opacity: 1; color: var(--hp-gold); }

/* ================================================================
   SECTION SPACING
   ================================================================ */
.hp-cats-section,
.hp-prods-section,
.hp-pack-section,
.hp-promo-section,
.hp-splits-section,
.hp-ed-section { padding: 110px 0; }
.hp-promise-section { padding: 72px 0; }

@media (max-width: 720px) {
  .hp-cats-section,
  .hp-prods-section,
  .hp-pack-section,
  .hp-promo-section,
  .hp-splits-section,
  .hp-ed-section { padding: 72px 0; }
  .hp-promise-section { padding: 56px 0; }
}

.hp-cats-section,
.hp-prods-section,
.hp-ed-section { background: var(--hp-paper); }
.hp-promo-section { background: var(--hp-tint-2); position: relative; overflow: hidden; }
.hp-promo-section::before {
  content: "IRONAFAL";
  position: absolute; right: -60px; top: 40px;
  font-weight: 700;
  font-style: italic;
  font-size: 220px;
  color: rgba(51,51,135,.04);
  letter-spacing: -0.05em;
  pointer-events: none;
  line-height: 1;
}
.hp-splits-section { padding: 110px 0; background: var(--hp-paper); }
.hp-pack-section { padding-top: 0; background: var(--hp-paper); }

/* ================================================================
   CATEGORIES — masonry grid
   ================================================================ */
.hp-cats {
  display: grid;
  grid-template-columns: 1.3fr 1fr 1fr;
  grid-template-rows: repeat(2, 280px);
  gap: 16px;
}
@media (max-width: 960px) { .hp-cats { grid-template-columns: 1fr 1fr; grid-template-rows: auto; } }
@media (max-width: 560px) { .hp-cats { grid-template-columns: 1fr; } }

.hp-cat {
  position: relative;
  border-radius: var(--hp-r);
  overflow: hidden;
  background: var(--hp-tint);
  transition: transform 0.4s var(--hp-ease);
  min-height: 260px;
  display: block;
  text-decoration: none;
}
.hp-cat:hover { transform: translateY(-3px); }
.hp-cat--lg { grid-row: span 2; }
@media (max-width: 960px) {
  .hp-cat--lg { grid-row: auto; grid-column: span 2; }
}
@media (max-width: 560px) {
  .hp-cat--lg { grid-column: auto; }
}

.hp-cat__img {
  position: absolute; inset: 0;
  background-size: cover;
  background-position: center;
  transition: transform 0.6s var(--hp-ease);
}
.hp-cat:hover .hp-cat__img { transform: scale(1.04); }

.hp-cat__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(19,19,46,0) 40%, rgba(19,19,46,.85) 100%);
}
.hp-cat__body {
  position: absolute; left: 0; right: 0; bottom: 0;
  padding: 24px;
  color: #FDFBF2;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
}
.hp-cat__body h3 {
  font-weight: 700;
  font-size: 24px;
  line-height: 1.1;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
}
.hp-cat--lg .hp-cat__body h3 { font-size: 32px; }
.hp-cat__body p { margin: 0; font-size: 12.5px; color: rgba(253,251,242,.72); letter-spacing: .02em; }
.hp-cat__count {
  background: rgba(253,251,242,.12);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  border: 1px solid rgba(253,251,242,.2);
  color: #FDFBF2;
  padding: 6px 12px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  white-space: nowrap;
  flex-shrink: 0;
}
.hp-cat__tag {
  position: absolute; top: 20px; left: 20px;
  font-size: 10px; font-weight: 600; letter-spacing: .22em; text-transform: uppercase;
  color: var(--hp-gold);
  padding: 6px 10px;
  border-radius: 4px;
  background: rgba(19,19,46,.5);
  backdrop-filter: blur(8px);
}

/* ================================================================
   PRODUCT CARDS
   ================================================================ */
.hp-prods {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 20px;
}
@media (max-width: 960px) { .hp-prods { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .hp-prods { grid-template-columns: 1fr; } }

/* Search overlay — 4 col grid inside dark overlay */
.hp-prods--search {
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
@media (max-width: 960px) { .hp-prods--search { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 520px) { .hp-prods--search { grid-template-columns: repeat(2, 1fr); } }
.hp-prods--search .hp-prod__name a { color: var(--hp-ink); }
.hp-prods--search .hp-prod__price b { color: var(--hp-navy); }

.hp-prod {
  position: relative;
  display: flex;
  flex-direction: column;
  background: transparent;
  border-radius: var(--hp-r);
  overflow: hidden;
  transition: transform 0.25s var(--hp-ease);
}
.hp-prod:hover { transform: translateY(-3px); }

.hp-prod__media {
  position: relative;
  aspect-ratio: 4/5;
  background: #F3F1E8;
  overflow: hidden;
  border-radius: var(--hp-r);
}
.hp-prod__imglink { display: block; width: 100%; height: 100%; }
.hp-prod__media img {
  position: absolute; inset: 0;
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--hp-ease);
}
.hp-prod:hover .hp-prod__media img { transform: scale(1.03); }

.hp-prod__badge {
  position: absolute; top: 14px; left: 14px;
  padding: 5px 9px;
  border-radius: 4px;
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.06em;
  background: var(--hp-ink);
  color: #FDFBF2;
}
.hp-prod__badge--sale { background: var(--hp-gold); color: var(--hp-ink); }

.hp-prod__wish {
  position: absolute; top: 14px; right: 14px;
  width: 34px; height: 34px;
  border-radius: 99px;
  background: rgba(255,255,255,.9);
  backdrop-filter: blur(8px);
  -webkit-backdrop-filter: blur(8px);
  display: flex; align-items: center; justify-content: center;
  color: var(--hp-ink-2);
  border: none;
  cursor: pointer;
  transition: background 0.25s var(--hp-ease), color 0.25s var(--hp-ease), transform 0.2s var(--hp-ease), box-shadow 0.25s var(--hp-ease);
}
.hp-prod__wish:hover { background: #fff; color: var(--hp-navy); transform: scale(1.08); box-shadow: 0 4px 16px rgba(19,19,46,.15); }

/* ── Active (wishlisted) state — gold filled heart ── */
.hp-prod__wish--active,
.hp-prod__wish--active:hover {
  background: var(--hp-gold);
  color: #fff;
  transform: scale(1.1);
  box-shadow: 0 4px 20px rgba(194,155,49,.4);
}
.hp-prod__wish--active svg {
  fill: #fff !important;
  stroke: #fff !important;
}

/* ── Click pop animation ── */
@keyframes hp-wish-pop {
  0%   { transform: scale(1); }
  35%  { transform: scale(1.35); }
  55%  { transform: scale(0.9); }
  80%  { transform: scale(1.15); }
  100% { transform: scale(1.1); }
}
.hp-prod__wish--pop { animation: hp-wish-pop 0.45s var(--hp-ease) forwards; }

/* Idle SVG color (not active) */
.hp-prod__wish:not(.hp-prod__wish--active) svg {
  fill: none;
  stroke: currentColor;
}

.hp-prod__quick {
  position: absolute; left: 14px; right: 14px; bottom: 14px;
  background: var(--hp-ink);
  color: #FDFBF2;
  padding: 11px 14px;
  border-radius: 99px;
  font-size: 12.5px;
  font-weight: 600;
  letter-spacing: 0.02em;
  display: flex; align-items: center; justify-content: center; gap: 8px;
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.25s var(--hp-ease), transform 0.25s var(--hp-ease), background 0.2s;
  text-decoration: none;
  white-space: nowrap;
}
.hp-prod:hover .hp-prod__quick { opacity: 1; transform: translateY(0); }
.hp-prod__quick:hover { background: var(--hp-navy); color: #fff; }

.hp-prod__body {
  padding: 14px 4px 4px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  background: transparent;
}
.hp-prod__cat {
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--hp-ink-3);
}
.hp-prod__name {
  font-weight: 700;
  font-size: 15.5px;
  line-height: 1.3;
  letter-spacing: -0.01em;
  color: var(--hp-ink);
  margin: 2px 0 5px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.hp-prod__name a { color: inherit; text-decoration: none; transition: color 0.2s; }
.hp-prod__name a:hover { color: var(--hp-navy); }
.hp-prod__row { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 4px; }
.hp-prod__price { display: flex; align-items: baseline; gap: 8px; }
.hp-prod__price b { font-weight: 700; font-size: 17px; color: var(--hp-navy); letter-spacing: -0.01em; }
.hp-prod__price s { font-size: 12.5px; color: var(--hp-ink-3); }
.hp-prod__rating { font-size: 12px; color: var(--hp-ink-3); display: inline-flex; align-items: center; gap: 5px; }
.hp-stars { color: var(--hp-gold); letter-spacing: -0.5px; font-size: 13px; }

/* ================================================================
   STUDIO PACK BANNER
   ================================================================ */
.hp-pack {
  position: relative;
  overflow: hidden;
  border-radius: var(--hp-r-lg);
  background: var(--hp-navy);
  color: #FDFBF2;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  min-height: 460px;
}
@media (max-width: 860px) { .hp-pack { grid-template-columns: 1fr; } }

.hp-pack__text {
  padding: 64px 56px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 18px;
  position: relative;
  z-index: 2;
}
@media (max-width: 720px) { .hp-pack__text { padding: 40px 28px; } }

.hp-pack__text h2 {
  font-weight: 700;
  font-size: clamp(28px, 3.5vw, 44px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 4px 0 0;
  color: #FDFBF2;
}
.hp-pack__text h2 em { font-style: italic; color: var(--hp-gold); }
.hp-pack__text p { color: rgba(253,251,242,.78); font-size: 15.5px; line-height: 1.55; margin: 0; max-width: 440px; }

.hp-pack__list {
  list-style: none;
  padding: 0; margin: 6px 0 2px;
  display: flex;
  flex-direction: column;
  gap: 0;
}
.hp-pack__list li {
  padding: 10px 0;
  border-top: 1px solid rgba(253,251,242,.15);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  font-size: 14px;
  color: rgba(253,251,242,.85);
}
.hp-pack__list li:last-child { border-bottom: 1px solid rgba(253,251,242,.15); }
.hp-pack__list b { color: var(--hp-gold); font-weight: 600; font-size: 16px; letter-spacing: -0.01em; }

.hp-pack__cta { display: flex; gap: 12px; margin-top: 8px; flex-wrap: wrap; }

.hp-pack__media {
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
@media (max-width: 860px) { .hp-pack__media { min-height: 280px; } }
.hp-pack__media::before {
  content: "";
  position: absolute; inset: 0;
  background: linear-gradient(270deg, rgba(51,51,135,0) 0%, rgba(51,51,135,.35) 60%, rgba(51,51,135,.82) 100%);
}
.hp-pack__tag {
  position: absolute; top: 24px; right: 24px; z-index: 3;
  background: var(--hp-gold); color: var(--hp-ink);
  padding: 8px 14px;
  border-radius: 99px;
  font-size: 11px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
}
.hp-pack__float {
  position: absolute; right: 32px; bottom: 32px; z-index: 3;
  background: rgba(253,251,242,.96);
  color: var(--hp-ink);
  padding: 18px 22px;
  border-radius: var(--hp-r);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  display: flex;
  gap: 14px;
  align-items: center;
  box-shadow: var(--hp-shadow-lg);
  max-width: 260px;
}
.hp-pack__float-ico {
  width: 42px; height: 42px;
  border-radius: 99px;
  background: var(--hp-tint);
  color: var(--hp-navy);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.hp-pack__float b { font-weight: 700; font-size: 15px; display: block; letter-spacing: -0.01em; }
.hp-pack__float span { font-size: 12px; color: var(--hp-ink-3); }

/* ================================================================
   PROMO SECTION
   ================================================================ */
.hp-promo-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 40px;
  gap: 30px;
  flex-wrap: wrap;
  position: relative;
  z-index: 2;
}
.hp-promo-head h2 {
  font-weight: 700;
  font-size: clamp(30px, 4vw, 50px);
  line-height: 1.05;
  letter-spacing: -0.02em;
  margin: 10px 0 0;
  color: var(--hp-ink);
}
.hp-promo-head h2 em { font-style: italic; color: var(--hp-navy); }
.hp-promo-timer {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--hp-white);
  border: 1px solid var(--hp-line);
  padding: 10px 16px;
  border-radius: 99px;
  font-size: 12.5px;
  color: var(--hp-ink-2);
  flex-shrink: 0;
}
.hp-promo-timer__dot {
  width: 8px; height: 8px;
  border-radius: 99px;
  background: var(--hp-gold);
  animation: hp-pulse 2s infinite;
}
@keyframes hp-pulse { 0%,100%{opacity:1} 50%{opacity:.35} }
.hp-promo-timer b { font-weight: 700; color: var(--hp-navy); }
.hp-promo-cta { text-align: center; margin-top: 48px; position: relative; z-index: 2; }

/* ================================================================
   SPLIT BANDS — 3 editorial cards
   ================================================================ */
.hp-splits {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
}
@media (max-width: 860px) { .hp-splits { grid-template-columns: 1fr; } }

.hp-split {
  position: relative;
  overflow: hidden;
  border-radius: var(--hp-r-lg);
  min-height: 420px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: 36px 32px;
  cursor: pointer;
  transition: transform 0.4s var(--hp-ease);
  text-decoration: none;
}
.hp-split:hover { transform: translateY(-4px); }
.hp-split__bg {
  position: absolute; inset: 0;
  background-image: var(--split-bg);
  background-size: cover;
  background-position: center;
  transition: transform 0.55s var(--hp-ease);
}
.hp-split--dark .hp-split__bg { opacity: 0.48; }
.hp-split--navy .hp-split__bg { opacity: 0.35; }
.hp-split:hover .hp-split__bg { transform: scale(1.04); }

.hp-split--dark { background: var(--hp-ink); }
.hp-split--navy { background: var(--hp-navy); }

.hp-split__overlay {
  position: absolute; inset: 0;
  background: linear-gradient(180deg, rgba(19,19,46,0) 30%, rgba(19,19,46,.95) 100%);
}
.hp-split__overlay--navy {
  background: linear-gradient(180deg, rgba(51,51,135,0) 20%, rgba(51,51,135,.97) 100%);
}
.hp-split__pop {
  position: absolute; top: 24px; left: 24px; z-index: 3;
  background: var(--hp-gold); color: var(--hp-ink);
  padding: 6px 12px; border-radius: 99px;
  font-size: 10.5px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.hp-split__body { position: relative; z-index: 2; }
.hp-split__ico {
  display: inline-flex; align-items: center; justify-content: center;
  width: 46px; height: 46px;
  border-radius: 99px;
  background: rgba(194,155,49,.15);
  margin-bottom: 20px;
}
.hp-split__ico--light { background: rgba(253,251,242,.1); }
.hp-split__label {
  font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase;
  color: var(--hp-gold); margin: 0 0 10px;
}
.hp-split__label--faint { color: rgba(253,251,242,.65); }
.hp-split__body h3 {
  font-weight: 700;
  font-size: 26px; line-height: 1.1;
  letter-spacing: -0.02em;
  color: #FDFBF2; margin: 0 0 12px;
}
.hp-split__body h3 em { font-style: italic; color: var(--hp-gold); }
.hp-split__body p { color: rgba(253,251,242,.72); font-size: 13.5px; line-height: 1.55; margin: 0 0 22px; }
.hp-split__link {
  display: inline-flex; align-items: center; gap: 8px;
  font-size: 13px; font-weight: 600;
  color: var(--hp-gold);
  text-decoration: none;
  transition: gap 0.2s var(--hp-ease);
}
.hp-split__link:hover { gap: 12px; }

/* ================================================================
   ARTICLES / EDITORIAL
   ================================================================ */
.hp-ed-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}
@media (max-width: 860px) { .hp-ed-grid { grid-template-columns: 1fr; } }

.hp-article {
  display: flex;
  flex-direction: column;
  gap: 14px;
  text-decoration: none;
  color: inherit;
}
.hp-article__img {
  aspect-ratio: 4/3;
  border-radius: var(--hp-r);
  overflow: hidden;
  background: #eee;
}
.hp-article__img img {
  width: 100%; height: 100%;
  object-fit: cover;
  transition: transform 0.5s var(--hp-ease);
  display: block;
}
.hp-article:hover .hp-article__img img { transform: scale(1.04); }
.hp-article__meta {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 11.5px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--hp-ink-3);
}
.hp-article__tag { color: var(--hp-navy); font-weight: 700; }
.hp-article h3 {
  font-weight: 700;
  font-size: 20px;
  line-height: 1.25;
  margin: 0;
  letter-spacing: -0.01em;
  color: var(--hp-ink);
}
.hp-article:hover h3 { color: var(--hp-navy); }
.hp-article p { margin: 0; color: var(--hp-ink-3); font-size: 14px; line-height: 1.55; }
.hp-article__read {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--hp-navy);
  margin-top: 4px;
  letter-spacing: 0.04em;
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

/* ================================================================
   PROMISE / TRUST BAR
   ================================================================ */
.hp-promise-section { background: var(--hp-ink); }
.hp-promise-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
}
@media (max-width: 860px) { .hp-promise-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { .hp-promise-grid { grid-template-columns: 1fr; } }

.hp-promise__item { display: flex; gap: 18px; align-items: flex-start; }
.hp-promise__ico {
  width: 44px; height: 44px;
  border-radius: 12px;
  background: rgba(194,155,49,.12);
  color: var(--hp-gold);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.hp-promise__item h4 {
  font-weight: 700;
  font-size: 17px;
  color: #FDFBF2;
  margin: 0 0 4px;
  letter-spacing: -0.005em;
}
.hp-promise__item p { margin: 0; color: rgba(233,230,215,.58); font-size: 13px; line-height: 1.5; }

/* ================================================================
   WOOCOMMERCE GLOBAL (kept from v4)
   ================================================================ */
:root {
  --navy: var(--hp-navy);
  --navy-dk: var(--hp-navy-dk);
  --gold: var(--hp-gold);
  --gold-dk: var(--hp-gold-dk);
}
.navbar_count_style { background: var(--hp-gold); }
.woocommerce .button.alt,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.single_add_to_cart_button {
  background: var(--hp-gold) !important;
  color: var(--hp-ink) !important;
  border-radius: 99px !important;
  font-weight: 600 !important;
}
.woocommerce .button.alt:hover,
.single_add_to_cart_button:hover { background: var(--hp-gold-dk) !important; }
.woocommerce span.onsale { background: var(--hp-navy) !important; border-radius: 99px !important; }
.woocommerce .star-rating span::before { color: var(--hp-gold) !important; }
.woocommerce .price,
.woocommerce .price ins { color: var(--hp-navy) !important; font-weight: 700; }
.single_product_btn--buy {
  border: 2px solid var(--hp-navy) !important;
  color: var(--hp-navy) !important;
  background: transparent !important;
  border-radius: 99px !important;
}
.single_product_btn--buy:hover { background: var(--hp-navy) !important; color: #fff !important; }
.single_product_atc_fixed_btn { background: var(--hp-gold) !important; color: var(--hp-ink) !important; }
.single_product_solde_badge { background: var(--hp-gold) !important; }
.cart_popup_btn--primary { background: var(--hp-gold) !important; border-color: var(--hp-gold) !important; }
.cart_popup_btn--outline { border-color: var(--hp-navy) !important; color: var(--hp-navy) !important; }
.cart_popup_shipping_fill { background: var(--hp-navy); }
.search_overlay_input:focus { border-color: var(--hp-navy) !important; }

/* ================================================================
   MOBILE — homepage
   ================================================================ */
@media (max-width: 576px) {
  .hp-announce__items span:not(:first-child) { display: none; }
  .hp-pack { grid-template-columns: 1fr; }
  .hp-pack__media { min-height: 240px; }
  .hp-pack__float { right: 16px; bottom: 16px; }
  .hp-proms { grid-template-columns: 1fr; }
  main { padding-bottom: 80px !important; }
}

/* ================================================================
   hp-prod — LIST VIEW OVERRIDES
   When parent grid has .archive_shop_grid--list, switch to horizontal layout
   ================================================================ */
.archive_shop_grid--list .hp-prod {
  flex-direction: row;
  align-items: flex-start;
  gap: 24px;
  transform: none !important;
  border-radius: var(--hp-r);
  background: #fff;
  box-shadow: 0 1px 3px rgba(19,19,46,.06);
  padding: 20px;
  overflow: visible;
}
.archive_shop_grid--list .hp-prod__media {
  width: 200px;
  flex-shrink: 0;
  aspect-ratio: 1;
  border-radius: var(--hp-r-sm);
}
.archive_shop_grid--list .hp-prod__body {
  flex: 1;
  padding: 0;
  min-width: 0;
}
.archive_shop_grid--list .hp-prod__name {
  -webkit-line-clamp: unset;
  font-size: 17px;
}
/* In list mode: keep quick-add hidden (list has its own CTA row) */
.archive_shop_grid--list .hp-prod__quick,
.archive_shop_grid--list .hp-prod__wish { display: none !important; }
/* In list mode: show the extra section */
.archive_shop_grid--list .archive_shop_list_extra { display: flex !important; flex-direction: column; gap: 12px; }

/* In grid mode: hide the list-only extra section */
.archive_shop_list_extra { display: none; }

/* ================================================================
   hp-promise-bar — 4-col trust strip (dark navy, above footer)
   ================================================================ */
.hp-promise-bar {
  background: var(--hp-ink);
  padding: 52px 0;
}
.hp-promise-bar__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 32px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 860px) {
  .hp-promise-bar__grid { grid-template-columns: repeat(2, 1fr); padding: 0 24px; }
}
@media (max-width: 480px) {
  .hp-promise-bar__grid { grid-template-columns: 1fr; padding: 0 20px; }
}
.hp-promise-bar__item {
  display: flex;
  gap: 18px;
  align-items: flex-start;
}
.hp-promise-bar__ico {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  background: rgba(194,155,49,.12);
  color: var(--hp-gold);
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.hp-promise-bar__item h4 {
  font-size: 15px;
  font-weight: 700;
  color: #FDFBF2;
  margin: 0 0 4px;
  letter-spacing: -0.01em;
  line-height: 1.3;
}
.hp-promise-bar__item p {
  margin: 0;
  color: rgba(233,230,215,.55);
  font-size: 13px;
  line-height: 1.55;
}

/* ================================================================
   hp-news — Newsletter signup (lavender tint)
   ================================================================ */
.hp-news {
  background: var(--hp-tint-2);
  padding: 96px 0;
  position: relative;
  overflow: hidden;
}
.hp-news__inner {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 64px;
  align-items: center;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 860px) {
  .hp-news__inner { grid-template-columns: 1fr; gap: 36px; padding: 0 24px; }
  .hp-news { padding: 64px 0; }
}
@media (max-width: 480px) {
  .hp-news__inner { padding: 0 20px; }
}
.hp-news__title {
  font-size: clamp(32px, 4vw, 50px);
  font-weight: 800;
  font-style: italic;
  line-height: 1.05;
  letter-spacing: -0.03em;
  color: var(--hp-ink);
  margin: 14px 0 0;
}
.hp-news__title em {
  font-style: italic;
  color: var(--hp-gold);
  font-weight: 800;
}
.hp-news__desc {
  color: var(--hp-ink-2);
  font-size: 15.5px;
  line-height: 1.6;
  margin: 0 0 22px;
  max-width: 440px;
}
.hp-news__form {
  background: #fff;
  padding: 7px;
  border-radius: 99px;
  display: flex;
  gap: 6px;
  box-shadow: 0 2px 12px rgba(19,19,46,.08);
}
.hp-news__input {
  flex: 1;
  padding: 14px 20px !important;
  border: none !important;
  background: transparent;
  font: inherit;
  font-size: 14px;
  color: var(--hp-ink);
  outline: none;
  min-width: 0;
}
.hp-news__input::placeholder { color: var(--hp-ink-3); }
.hp-news__btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--hp-navy);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  padding: 14px 24px;
  border-radius: 99px;
  border: none;
  cursor: pointer;
  white-space: nowrap;
  transition: background 0.2s, transform 0.15s;
  flex-shrink: 0;
}
.hp-news__btn:hover { background: var(--hp-navy-dk); transform: translateY(-1px); }
.hp-news__terms {
  font-size: 12px;
  color: var(--hp-ink-3);
  margin: 14px 0 0;
  line-height: 1.6;
}
.hp-news__terms a {
  color: var(--hp-navy);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.hp-news__terms a:hover { color: var(--hp-ink); }
.hp-news__feedback {
  font-size: .85rem;
  font-weight: 500;
  margin: 6px 0 0;
  padding: 10px 14px;
  border-radius: 8px;
  background: rgba(0,0,0,.04);
}

/* ================================================================
   hp-footer — Dark editorial footer
   ================================================================ */
.hp-footer {
  background: var(--hp-ink);
  color: rgba(255,255,255,.65);
  font-size: 14px;
  line-height: 1.6;
}

/* ── Top section ── */
.hp-footer__top {
  padding: 72px 0 56px;
}
.hp-footer__grid {
  display: grid;
  grid-template-columns: 1.6fr 1fr 1fr 1fr 1.5fr;
  gap: 40px;
  max-width: 1320px;
  margin: 0 auto;
  padding: 0 40px;
}
@media (max-width: 1100px) {
  .hp-footer__grid { grid-template-columns: 1fr 1fr 1fr; gap: 32px; padding: 0 24px; }
}
@media (max-width: 680px) {
  .hp-footer__grid { grid-template-columns: 1fr 1fr; gap: 28px 20px; padding: 0 20px; }
  .hp-footer__col--brand { grid-column: 1 / -1; }
  .hp-footer__col--contact { grid-column: 1 / -1; }
}
@media (max-width: 400px) {
  .hp-footer__grid { grid-template-columns: 1fr; }
}

/* ── Brand col ── */
.hp-footer__logo {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 18px;
  text-decoration: none;
}
.hp-footer__logo-img {
  height: 32px;
  width: auto;
  filter: brightness(0) invert(1);
}
.hp-footer__logo-text {
  font-size: 22px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.03em;
  font-style: italic;
}
.hp-footer__tagline {
  font-size: 13.5px;
  line-height: 1.65;
  color: rgba(255,255,255,.5);
  margin-bottom: 28px;
  max-width: 240px;
}

/* Social icons */
.hp-footer__social {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.hp-footer__social-link {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.15);
  display: flex;
  align-items: center;
  justify-content: center;
  color: rgba(255,255,255,.6);
  text-decoration: none;
  transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.hp-footer__social-link:hover {
  border-color: var(--hp-gold);
  color: var(--hp-gold);
  background: rgba(194,155,49,.1);
}
.hp-footer__social-link svg { display: block; width: 16px; height: 16px; }

/* ── Nav cols ── */
.hp-footer__heading {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #fff;
  margin-bottom: 20px;
}
.hp-footer__links {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 11px;
}
.hp-footer__links a {
  color: rgba(255,255,255,.5);
  text-decoration: none;
  font-size: 13.5px;
  transition: color 0.18s;
}
.hp-footer__links a:hover { color: #fff; }

/* ── Contact col ── */
.hp-footer__phone {
  font-size: 26px;
  font-weight: 800;
  color: #fff;
  letter-spacing: -0.03em;
  margin-bottom: 8px;
  display: block;
  text-decoration: none;
  transition: color 0.18s;
}
.hp-footer__phone:hover { color: var(--hp-gold); }
.hp-footer__email {
  display: block;
  color: rgba(255,255,255,.5);
  font-size: 13.5px;
  text-decoration: none;
  margin-bottom: 18px;
  transition: color 0.18s;
}
.hp-footer__email:hover { color: #fff; }
.hp-footer__address {
  font-size: 13px;
  color: rgba(255,255,255,.45);
  line-height: 1.7;
  margin-bottom: 24px;
}
.hp-footer__cta {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--hp-gold);
  color: var(--hp-ink);
  font-size: 13.5px;
  font-weight: 700;
  padding: 12px 22px;
  border-radius: 99px;
  text-decoration: none;
  transition: background 0.2s, transform 0.15s;
  white-space: nowrap;
}
.hp-footer__cta:hover {
  background: var(--hp-gold-dk);
  color: var(--hp-ink);
  transform: translateY(-1px);
}

/* ── Bottom bar ── */
.hp-footer__bottom {
  border-top: 1px solid rgba(255,255,255,.08);
  padding: 20px 40px;
  max-width: 1320px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
}
@media (max-width: 680px) {
  .hp-footer__bottom { padding: 20px; justify-content: center; text-align: center; }
}
.hp-footer__copy {
  font-size: 12.5px;
  color: rgba(255,255,255,.3);
}

/* ================================================================
   END — IRONAFAL Design System v5
   ================================================================ */

/* ================================================================
   ABOUT US PAGE  (about-us.php)  — prefix: ab-
   ================================================================ */

/* ── Shared primitives ── */
.ab-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--hp-ink-3);
	margin-bottom: 1rem;
}
.ab-eyebrow::before {
	content: "";
	width: 22px;
	height: 1px;
	background: var(--hp-gold);
	display: inline-block;
	flex-shrink: 0;
}
.ab-eyebrow--light {
	color: rgba(255,255,255,.7);
}
.ab-eyebrow--light::before {
	background: var(--hp-gold);
}

.ab-section-title {
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
	font-weight: 800;
	font-style: normal;
	letter-spacing: -0.03em;
	color: var(--hp-ink);
	line-height: 1.2;
	margin: 0 0 1.25rem;
}
.ab-section-title em {
	font-style: italic;
	color: var(--hp-navy);
}

.ab-section-head {
	text-align: center;
	margin-bottom: 3rem;
}
.ab-section-head .ab-eyebrow {
	display: flex;
	justify-content: center;
}
.ab-section-head .ab-eyebrow::before { display: none; }
.ab-section-head .ab-eyebrow::after {
	content: "";
	width: 22px;
	height: 1px;
	background: var(--hp-gold);
	display: inline-block;
}

/* Buttons */
.ab-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.75rem 1.6rem;
	border-radius: 99px;
	font-size: 0.9rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.2s, color 0.2s, border-color 0.2s, transform 0.18s;
	border: 2px solid transparent;
	white-space: nowrap;
}
.ab-btn:hover { transform: translateY(-1px); }

.ab-btn--gold {
	background: var(--hp-gold);
	color: var(--hp-ink);
}
.ab-btn--gold:hover { background: #a4821f; }

.ab-btn--navy {
	background: var(--hp-navy);
	color: #fff;
}
.ab-btn--navy:hover { background: var(--hp-ink); }

.ab-btn--ghost {
	background: rgba(255,255,255,.12);
	color: #fff;
	border-color: rgba(255,255,255,.35);
	backdrop-filter: blur(4px);
}
.ab-btn--ghost:hover {
	background: rgba(255,255,255,.22);
}

.ab-btn--outline-light {
	background: transparent;
	color: #fff;
	border-color: rgba(255,255,255,.4);
}
.ab-btn--outline-light:hover {
	background: rgba(255,255,255,.1);
}

/* ── Hero ── */
.ab-hero {
	position: relative;
	min-height: 540px;
	display: flex;
	align-items: flex-end;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}
.ab-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(19,19,46,.72) 0%, rgba(19,19,46,.45) 100%);
}
.ab-hero__wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 3rem 2rem 4rem;
}
.ab-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: rgba(255,255,255,.6);
	margin-bottom: 2rem;
}
.ab-breadcrumb a {
	color: rgba(255,255,255,.6);
	text-decoration: none;
	transition: color 0.18s;
}
.ab-breadcrumb a:hover { color: var(--hp-gold); }

.ab-hero__content {
	max-width: 640px;
}
.ab-hero__title {
	font-size: clamp(2.2rem, 5.5vw, 3.6rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #fff;
	line-height: 1.1;
	margin: 0 0 1.1rem;
}
.ab-hero__title em {
	font-style: italic;
	color: var(--hp-gold);
}
.ab-hero__desc {
	font-size: 1rem;
	color: rgba(255,255,255,.8);
	line-height: 1.65;
	margin: 0 0 1.75rem;
	max-width: 520px;
}
.ab-hero__btns {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
}

/* ── Stats bar ── */
.ab-stats {
	background: var(--hp-ink);
	padding: 2rem 2rem;
}
.ab-stats__wrap {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0;
	flex-wrap: wrap;
}
.ab-stats__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	padding: 1rem 2.5rem;
	flex: 1 1 180px;
}
.ab-stats__num {
	font-size: clamp(1.8rem, 3vw, 2.4rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #fff;
	line-height: 1;
	margin-bottom: 0.35rem;
}
.ab-stats__plus {
	font-size: 0.65em;
	color: var(--hp-gold);
	vertical-align: super;
}
.ab-stats__label {
	font-size: 0.78rem;
	color: rgba(255,255,255,.5);
	letter-spacing: 0.03em;
}
.ab-stats__sep {
	width: 1px;
	height: 48px;
	background: rgba(255,255,255,.12);
	flex-shrink: 0;
}
@media (max-width: 600px) {
	.ab-stats__sep { display: none; }
	.ab-stats__item { padding: 0.75rem 1rem; flex: 1 1 40%; }
}

/* ── Story / Mission ── */
.ab-story {
	padding: 5rem 2rem;
	background: var(--hp-paper);
}
.ab-story__wrap {
	max-width: 1320px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5rem;
	align-items: center;
}
.ab-story__media {
	position: relative;
}
.ab-story__img {
	width: 100%;
	aspect-ratio: 4/5;
	object-fit: cover;
	border-radius: var(--hp-r);
	display: block;
}
.ab-story__badge {
	position: absolute;
	bottom: -1.5rem;
	right: -1.5rem;
	background: var(--hp-navy);
	color: #fff;
	border-radius: 14px;
	padding: 1.1rem 1.5rem;
	text-align: center;
	box-shadow: 0 12px 32px rgba(19,19,46,.25);
}
.ab-story__badge-num {
	display: block;
	font-size: 1.8rem;
	font-weight: 800;
	letter-spacing: -0.04em;
	color: var(--hp-gold);
	line-height: 1;
}
.ab-story__badge-txt {
	display: block;
	font-size: 0.72rem;
	color: rgba(255,255,255,.65);
	margin-top: 0.2rem;
	letter-spacing: 0.04em;
}
.ab-story__desc {
	font-size: 0.95rem;
	color: var(--hp-ink-2);
	line-height: 1.7;
	margin-bottom: 1.5rem;
}
.ab-story__list {
	list-style: none;
	margin: 0 0 1.75rem;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
}
.ab-story__list li {
	display: flex;
	align-items: center;
	gap: 0.6rem;
	font-size: 0.9rem;
	color: var(--hp-ink-2);
}
.ab-story__list li svg {
	width: 18px;
	height: 18px;
	color: var(--hp-navy);
	flex-shrink: 0;
}
@media (max-width: 900px) {
	.ab-story__wrap {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
	.ab-story__badge {
		right: 1rem;
		bottom: -1rem;
	}
}

/* ── Values grid ── */
.ab-values {
	padding: 5rem 2rem;
	background: var(--hp-tint-2);
}
.ab-values__wrap {
	max-width: 1320px;
	margin: 0 auto;
}
.ab-values__grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.5rem;
}
.ab-val {
	background: #fff;
	border: 1px solid var(--hp-line);
	border-radius: var(--hp-r);
	padding: 2rem 1.75rem;
	transition: box-shadow 0.22s, transform 0.22s;
}
.ab-val:hover {
	box-shadow: 0 12px 32px rgba(19,19,46,.1);
	transform: translateY(-3px);
}
.ab-val__icon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--hp-tint);
	border-radius: 12px;
	color: var(--hp-navy);
	margin-bottom: 1.1rem;
}
.ab-val__icon svg {
	width: 22px;
	height: 22px;
}
.ab-val__title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--hp-ink);
	margin: 0 0 0.5rem;
}
.ab-val__desc {
	font-size: 0.875rem;
	color: var(--hp-ink-3);
	line-height: 1.65;
	margin: 0;
}
@media (max-width: 900px) {
	.ab-values__grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 560px) {
	.ab-values__grid { grid-template-columns: 1fr; }
}

/* ── Alternating blocks ── */
.ab-blocks {
	padding: 5rem 2rem;
	background: var(--hp-paper);
}
.ab-blocks__wrap {
	max-width: 1320px;
	margin: 0 auto;
	display: flex;
	flex-direction: column;
	gap: 5rem;
}
.ab-block {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 4rem;
	align-items: center;
}
.ab-block--img-right .ab-block__media { order: 2; }
.ab-block--img-right .ab-block__body  { order: 1; }

.ab-block__media img {
	width: 100%;
	aspect-ratio: 4/3;
	object-fit: cover;
	border-radius: var(--hp-r);
	display: block;
}
.ab-block__desc {
	font-size: 0.95rem;
	color: var(--hp-ink-2);
	line-height: 1.7;
	margin-bottom: 1.75rem;
}
@media (max-width: 860px) {
	.ab-block {
		grid-template-columns: 1fr;
		gap: 2rem;
	}
	.ab-block--img-right .ab-block__media { order: -1; }
}

/* ── CTA band ── */
.ab-cta {
	background: var(--hp-navy);
	padding: 5rem 2rem;
}
.ab-cta__wrap {
	max-width: 1320px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 3rem;
	align-items: center;
}
.ab-cta__title {
	font-size: clamp(1.6rem, 3.5vw, 2.4rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #fff;
	line-height: 1.2;
	margin: 0 0 0.75rem;
}
.ab-cta__title em {
	font-style: italic;
	color: var(--hp-gold);
}
.ab-cta__desc {
	font-size: 0.95rem;
	color: rgba(255,255,255,.65);
	line-height: 1.6;
	margin: 0;
}
.ab-cta__btns {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	flex-shrink: 0;
}
@media (max-width: 768px) {
	.ab-cta__wrap {
		grid-template-columns: 1fr;
	}
	.ab-cta__btns {
		flex-direction: row;
		flex-wrap: wrap;
	}
}

/* ── Responsive tweaks ── */
@media (max-width: 640px) {
	.ab-hero { min-height: 480px; }
	.ab-hero__wrap { padding: 2rem 1.25rem 3rem; }
	.ab-story, .ab-values, .ab-blocks, .ab-cta { padding: 3.5rem 1.25rem; }
	.ab-blocks__wrap { gap: 3rem; }
}

/* ================================================================
   END — ABOUT US
   ================================================================ */

/* ================================================================
   CONTACT US PAGE  (contact-us.php)  — prefix: ct-
   ================================================================ */

/* ── Eyebrow ── */
.ct-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: rgba(255,255,255,.65);
	margin-bottom: 1rem;
}
.ct-eyebrow::before {
	content: "";
	width: 22px;
	height: 1px;
	background: var(--hp-gold);
	display: inline-block;
	flex-shrink: 0;
}
.ct-eyebrow--dark {
	color: var(--hp-ink-3);
}

/* ── Page header ── */
.ct-header {
	background: var(--hp-ink);
	padding: 4rem 2rem 3.5rem;
}
.ct-header__wrap {
	max-width: 900px;
	margin: 0 auto;
	text-align: center;
}
.ct-breadcrumb {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: rgba(255,255,255,.4);
	margin-bottom: 2rem;
}
.ct-breadcrumb a {
	color: rgba(255,255,255,.4);
	text-decoration: none;
	transition: color 0.18s;
}
.ct-breadcrumb a:hover { color: var(--hp-gold); }

.ct-header .ct-eyebrow {
	justify-content: center;
}
.ct-header__title {
	font-size: clamp(2rem, 5vw, 3.2rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #fff;
	line-height: 1.15;
	margin: 0 0 1rem;
}
.ct-header__title em {
	font-style: italic;
	color: var(--hp-gold);
}
.ct-header__desc {
	font-size: 1rem;
	color: rgba(255,255,255,.65);
	line-height: 1.65;
	max-width: 560px;
	margin: 0 auto;
}

/* ── Info cards ── */
.ct-cards {
	background: var(--hp-navy);
	padding: 0 2rem;
}
.ct-cards__wrap {
	max-width: 1320px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
}
.ct-card {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 2rem 1.75rem;
	border-right: 1px solid rgba(255,255,255,.1);
	transition: background 0.2s;
}
.ct-card:last-child { border-right: none; }
.ct-card:hover { background: rgba(255,255,255,.04); }

.ct-card__icon {
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(194,155,49,.15);
	border-radius: 12px;
	color: var(--hp-gold);
	margin-bottom: 1rem;
	flex-shrink: 0;
}
.ct-card__icon svg {
	width: 22px;
	height: 22px;
}
.ct-card__label {
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: rgba(255,255,255,.4);
	margin: 0 0 0.35rem;
}
.ct-card__val {
	font-size: 1rem;
	font-weight: 700;
	color: #fff;
	text-decoration: none;
	line-height: 1.3;
	transition: color 0.18s;
}
a.ct-card__val:hover { color: var(--hp-gold); }
.ct-card__sub {
	font-size: 0.78rem;
	color: rgba(255,255,255,.45);
	margin-top: 0.25rem;
}
.ct-card__sub a {
	color: rgba(255,255,255,.5);
	text-decoration: none;
	transition: color 0.18s;
}
.ct-card__sub a:hover { color: var(--hp-gold); }

@media (max-width: 860px) {
	.ct-cards__wrap {
		grid-template-columns: repeat(2, 1fr);
	}
	.ct-card { border-right: 1px solid rgba(255,255,255,.1); border-bottom: 1px solid rgba(255,255,255,.1); }
	.ct-card:nth-child(2n) { border-right: none; }
	.ct-card:nth-child(3),
	.ct-card:nth-child(4) { border-bottom: none; }
}
@media (max-width: 480px) {
	.ct-cards__wrap { grid-template-columns: 1fr; }
	.ct-card { border-right: none; }
	.ct-card:last-child { border-bottom: none; }
}

/* ── Main: form + info col ── */
.ct-main {
	background: var(--hp-paper);
	padding: 5rem 2rem;
}
.ct-main__wrap {
	max-width: 1320px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 5rem;
	align-items: flex-start;
}
@media (max-width: 900px) {
	.ct-main__wrap {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}

/* Form column */
.ct-form-col__title {
	font-size: clamp(1.5rem, 3vw, 2.1rem);
	font-weight: 800;
	letter-spacing: -0.03em;
	color: var(--hp-ink);
	line-height: 1.2;
	margin: 0 0 0.75rem;
}
.ct-form-col__title em {
	font-style: italic;
	color: var(--hp-navy);
}
.ct-form-col__desc {
	font-size: 0.9rem;
	color: var(--hp-ink-3);
	line-height: 1.65;
	margin-bottom: 2rem;
}

/* Form fields */
.ct-form { display: flex; flex-direction: column; gap: 1rem; }

.ct-form__row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}
@media (max-width: 560px) {
	.ct-form__row { grid-template-columns: 1fr; }
}

.ct-form__field {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.ct-form__field label {
	font-size: 0.8rem;
	font-weight: 600;
	color: var(--hp-ink-2);
}
.ct-form__opt {
	font-weight: 400;
	color: var(--hp-ink-3);
}
.ct-form__field input,
.ct-form__field select,
.ct-form__field textarea {
	width: 100%;
	padding: 0.7rem 0.95rem;
	border: 1.5px solid var(--hp-line);
	border-radius: 10px;
	font-size: 0.9rem;
	font-family: inherit;
	color: var(--hp-ink);
	background: #fff;
	transition: border-color 0.18s, box-shadow 0.18s;
	outline: none;
	-webkit-appearance: none;
	appearance: none;
}
.ct-form__field input::placeholder,
.ct-form__field textarea::placeholder {
	color: var(--hp-ink-3);
}
.ct-form__field input:focus,
.ct-form__field select:focus,
.ct-form__field textarea:focus {
	border-color: var(--hp-navy);
	box-shadow: 0 0 0 3px rgba(51,51,135,.12);
}
.ct-form__field textarea { resize: vertical; min-height: 130px; }
.ct-form__field select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236D6D82'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.75rem center;
	background-size: 18px;
	padding-right: 2.5rem;
	cursor: pointer;
}
.ct-form__check {
	display: flex;
	align-items: flex-start;
	gap: 0.6rem;
	font-size: 0.82rem;
	color: var(--hp-ink-3);
	cursor: pointer;
}
.ct-form__check input[type="checkbox"] {
	width: 16px;
	height: 16px;
	min-width: 16px;
	border-radius: 4px;
	border: 1.5px solid var(--hp-line);
	background: #fff;
	accent-color: var(--hp-navy);
	cursor: pointer;
	margin-top: 1px;
	padding: 0;
}
.ct-form__check a { color: var(--hp-navy); text-decoration: underline; }
.ct-form__submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.85rem 2rem;
	background: var(--hp-navy);
	color: #fff;
	border: none;
	border-radius: 99px;
	font-size: 0.95rem;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: background 0.2s, transform 0.18s;
	align-self: flex-start;
}
.ct-form__submit svg { width: 18px; height: 18px; }
.ct-form__submit:hover {
	background: var(--hp-ink);
	transform: translateY(-1px);
}

/* CF7 override */
.ct-cf7-wrap .wpcf7-form { display: flex; flex-direction: column; gap: 1rem; }
.ct-cf7-wrap input,
.ct-cf7-wrap select,
.ct-cf7-wrap textarea {
	width: 100%;
	padding: 0.7rem 0.95rem;
	border: 1.5px solid var(--hp-line);
	border-radius: 10px;
	font-size: 0.9rem;
	font-family: inherit;
	color: var(--hp-ink);
	background: #fff;
	outline: none;
}
.ct-cf7-wrap input[type="submit"] {
	background: var(--hp-navy);
	color: #fff;
	border-radius: 99px;
	font-weight: 600;
	cursor: pointer;
	padding: 0.85rem 2rem;
	transition: background 0.2s;
}
.ct-cf7-wrap input[type="submit"]:hover { background: var(--hp-ink); }

/* Info column */
.ct-info-col {
	display: flex;
	flex-direction: column;
	gap: 2rem;
}

/* Map */
.ct-map {
	border-radius: var(--hp-r);
	overflow: hidden;
	border: 1px solid var(--hp-line);
}
.ct-map iframe { display: block; }

/* Social block */
.ct-social-block {
	background: var(--hp-tint-2);
	border: 1px solid var(--hp-line);
	border-radius: var(--hp-r);
	padding: 1.5rem 1.75rem;
}
.ct-social-block__label {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--hp-ink-3);
	margin: 0 0 1rem;
}
.ct-social-block__links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.65rem;
}
.ct-social-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	padding: 0.5rem 1rem;
	border: 1.5px solid var(--hp-line);
	border-radius: 99px;
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--hp-ink-2);
	text-decoration: none;
	background: #fff;
	transition: border-color 0.18s, color 0.18s, background 0.18s;
}
.ct-social-link svg { width: 16px; height: 16px; }
.ct-social-link:hover {
	border-color: var(--hp-navy);
	color: var(--hp-navy);
}

/* FAQ accordion */
.ct-faq {
	display: flex;
	flex-direction: column;
	gap: 0;
}
.ct-faq .ct-eyebrow--dark { margin-bottom: 1rem; }
.ct-faq__item {
	border-bottom: 1px solid var(--hp-line);
}
.ct-faq__item:first-of-type { border-top: 1px solid var(--hp-line); }
.ct-faq__q {
	list-style: none;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem 0;
	font-size: 0.9rem;
	font-weight: 600;
	color: var(--hp-ink);
	cursor: pointer;
	user-select: none;
	gap: 0.75rem;
	transition: color 0.18s;
}
.ct-faq__q::-webkit-details-marker { display: none; }
.ct-faq__q::after {
	content: "+";
	font-size: 1.1rem;
	font-weight: 400;
	color: var(--hp-navy);
	flex-shrink: 0;
	transition: transform 0.22s;
}
.ct-faq__item[open] .ct-faq__q { color: var(--hp-navy); }
.ct-faq__item[open] .ct-faq__q::after { transform: rotate(45deg); }
.ct-faq__a {
	font-size: 0.875rem;
	color: var(--hp-ink-3);
	line-height: 1.65;
	padding-bottom: 1rem;
	margin: 0;
}

/* ── Responsive ── */
@media (max-width: 640px) {
	.ct-header { padding: 3rem 1.25rem 2.5rem; }
	.ct-main { padding: 3.5rem 1.25rem; }
}

/* ================================================================
   END — CONTACT US
   ================================================================ */

/* ================================================================
   STUDIO RESERVATION PAGES  (page-reservation-studio.php) — prefix: rstd-
   ================================================================ */

/* ── Hero ── */
.rstd-hero {
	position: relative;
	min-height: 420px;
	display: flex;
	align-items: flex-end;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
}
.rstd-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(160deg, rgba(19,19,46,.78) 0%, rgba(19,19,46,.5) 100%);
}
.rstd-hero__wrap {
	position: relative;
	z-index: 1;
	width: 100%;
	max-width: 1320px;
	margin: 0 auto;
	padding: 2.5rem 2rem 3rem;
}
.rstd-breadcrumb {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.8rem;
	color: rgba(255,255,255,.5);
	margin-bottom: 1.5rem;
}
.rstd-breadcrumb a { color: rgba(255,255,255,.5); text-decoration: none; transition: color .18s; }
.rstd-breadcrumb a:hover { color: var(--hp-gold); }
.rstd-eyebrow {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: var(--hp-gold);
	display: block;
	margin-bottom: 0.75rem;
}
.rstd-hero__title {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 800;
	letter-spacing: -0.04em;
	color: #fff;
	margin: 0 0 0.6rem;
	line-height: 1.1;
}
.rstd-hero__sub {
	font-size: 1rem;
	color: rgba(255,255,255,.75);
	margin: 0 0 1.25rem;
}
.rstd-hero__feats {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.rstd-hero__feat {
	display: inline-flex;
	align-items: center;
	gap: 0.3rem;
	font-size: 0.78rem;
	font-weight: 500;
	color: rgba(255,255,255,.8);
	background: rgba(255,255,255,.1);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 99px;
	padding: 0.3rem 0.75rem;
	backdrop-filter: blur(4px);
}
.rstd-hero__feat svg { color: var(--hp-gold); flex-shrink: 0; }

/* ── Section layout ── */
.rstd-section {
	background: var(--hp-tint-2);
	padding: 3rem 2rem 4rem;
}
.rstd-wrap {
	max-width: 1320px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 300px 1fr 280px;
	gap: 2rem;
	align-items: flex-start;
}
@media (max-width: 1100px) {
	.rstd-wrap { grid-template-columns: 280px 1fr; }
	.rstd-summary { grid-column: 1 / -1; grid-row: 3; }
}
@media (max-width: 760px) {
	.rstd-wrap { grid-template-columns: 1fr; }
	.rstd-section { padding: 2rem 1.25rem 3rem; }
}

/* ── Info col ── */
.rstd-info { display: flex; flex-direction: column; gap: 1rem; }
.rstd-info__card {
	background: #fff;
	border: 1px solid var(--hp-line);
	border-radius: var(--hp-r);
	padding: 1.5rem;
}
.rstd-info__title {
	font-size: 1rem;
	font-weight: 700;
	color: var(--hp-ink);
	margin: 0 0 0.75rem;
}
.rstd-info__desc {
	font-size: 0.85rem;
	color: var(--hp-ink-3);
	line-height: 1.65;
	margin-bottom: 1rem;
}
.rstd-info__list {
	padding-left: 1.2rem;
	margin: 0 0 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}
.rstd-info__list li {
	font-size: 0.875rem;
	color: var(--hp-ink-2);
}
.rstd-info__note {
	font-size: 0.8rem;
	color: var(--hp-ink-3);
	margin-bottom: 1rem;
}
.rstd-info__note a { color: var(--hp-navy); text-decoration: underline; }
.rstd-info__contacts { display: flex; flex-direction: column; gap: 0.5rem; }
.rstd-info__contact-item {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 0.85rem;
	font-weight: 600;
	color: var(--hp-navy);
	text-decoration: none;
	transition: color .18s;
}
.rstd-info__contact-item:hover { color: var(--hp-gold); }

/* Price card */
.rstd-price-card {
	background: var(--hp-navy);
	border-radius: var(--hp-r);
	padding: 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	gap: 0;
}
.rstd-price-card__item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.75rem 0;
}
.rstd-price-card__sep {
	height: 1px;
	background: rgba(255,255,255,.12);
}
.rstd-price-card__label {
	font-size: 0.85rem;
	color: rgba(255,255,255,.65);
}
.rstd-price-card__price {
	font-size: 1.1rem;
	font-weight: 800;
	color: var(--hp-gold);
	letter-spacing: -0.02em;
}
.rstd-price-card__price small {
	font-size: 0.7rem;
	font-weight: 400;
	color: rgba(255,255,255,.45);
}

/* ── Form col ── */
.rstd-form-col {
	background: #fff;
	border: 1px solid var(--hp-line);
	border-radius: var(--hp-r);
	padding: 2rem;
}
.rstd-form { display: flex; flex-direction: column; gap: 1.1rem; }

.rstd-field { display: flex; flex-direction: column; gap: 0.4rem; }
.rstd-field label {
	font-size: 0.82rem;
	font-weight: 600;
	color: var(--hp-ink-2);
}
.rstd-req { color: #ef4444; }
.rstd-field-hint {
	font-size: 0.75rem;
	color: var(--hp-ink-3);
	margin: 0 0 0.35rem;
}
.rstd-field input[type="text"],
.rstd-field input[type="email"],
.rstd-field input[type="tel"],
.rstd-field input[type="number"],
.rstd-field input[type="date"],
.rstd-field select,
.rstd-field textarea {
	width: 100%;
	padding: 0.7rem 0.95rem;
	border: 1.5px solid var(--hp-line);
	border-radius: 99px;
	font-size: 0.9rem;
	font-family: inherit;
	color: var(--hp-ink);
	background: #fff;
	outline: none;
	transition: border-color .18s, box-shadow .18s;
	-webkit-appearance: none;
	appearance: none;
}
.rstd-field textarea {
	border-radius: 14px;
	resize: vertical;
	min-height: 100px;
}
.rstd-field select {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%236D6D82'%3E%3Cpath fill-rule='evenodd' d='M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z' clip-rule='evenodd'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 1rem center;
	background-size: 16px;
	padding-right: 2.5rem;
	cursor: pointer;
}
.rstd-field input:focus,
.rstd-field select:focus,
.rstd-field textarea:focus {
	border-color: var(--hp-navy);
	box-shadow: 0 0 0 3px rgba(51,51,135,.1);
}
.rstd-field input[type="number"] {
	border-radius: 99px;
}

/* Date wrapper */
.rstd-date-wrap { position: relative; }
.rstd-date-ico {
	position: absolute;
	left: 1rem;
	top: 50%;
	transform: translateY(-50%);
	width: 16px;
	height: 16px;
	color: var(--hp-ink-3);
	pointer-events: none;
}
.rstd-date-wrap input[type="date"] {
	padding-left: 2.5rem;
}

/* Toggle buttons */
.rstd-toggles {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.rstd-toggle {
	padding: 0.6rem 1.2rem;
	border-radius: 99px;
	border: 1.5px solid var(--hp-line);
	background: #fff;
	color: var(--hp-ink-2);
	font-size: 0.875rem;
	font-weight: 500;
	font-family: inherit;
	cursor: pointer;
	transition: all .18s;
}
.rstd-toggle:hover { border-color: var(--hp-navy); color: var(--hp-navy); }
.rstd-toggle--active {
	background: var(--hp-navy);
	border-color: var(--hp-navy);
	color: #fff;
	font-weight: 600;
}

/* Separator */
.rstd-sep {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin: 0.25rem 0;
}
.rstd-sep::before,
.rstd-sep::after {
	content: "";
	flex: 1;
	height: 1px;
	background: var(--hp-line);
}
.rstd-sep span {
	font-size: 0.75rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: var(--hp-ink-3);
	white-space: nowrap;
}

/* Error/Success */
.rstd-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 10px;
	padding: 0.85rem 1rem;
	font-size: 0.875rem;
	color: #dc2626;
}
.rstd-success {
	text-align: center;
	padding: 2rem 1rem;
}
.rstd-success__ico {
	width: 64px;
	height: 64px;
	border-radius: 50%;
	background: var(--hp-navy);
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.25rem;
}
.rstd-success__ico svg {
	width: 28px;
	height: 28px;
	stroke: #fff;
	stroke-width: 2.5;
}
.rstd-success h3 {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--hp-ink);
	margin: 0 0 0.5rem;
}
.rstd-success p { color: var(--hp-ink-2); margin: 0 0 0.5rem; font-size: 0.9rem; }
.rstd-success__ref { font-size: 0.9rem; }
.rstd-success__ref strong { color: var(--hp-navy); }
.rstd-success__hint { color: var(--hp-ink-3) !important; font-size: 0.82rem !important; }

/* Submit button */
.rstd-submit {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.9rem 2rem;
	background: var(--hp-navy);
	color: #fff;
	border: none;
	border-radius: 99px;
	font-size: 0.95rem;
	font-weight: 600;
	font-family: inherit;
	cursor: pointer;
	transition: background .2s, transform .18s;
	position: relative;
}
.rstd-submit:hover { background: var(--hp-ink); transform: translateY(-1px); }
.rstd-submit:disabled { opacity: .6; cursor: not-allowed; transform: none; }
.rstd-submit--loading { color: transparent; }
.rstd-submit--loading::after {
	content: "";
	position: absolute;
	width: 18px;
	height: 18px;
	top: 50%;
	left: 50%;
	margin: -9px 0 0 -9px;
	border: 2px solid rgba(255,255,255,.3);
	border-top-color: #fff;
	border-radius: 50%;
	animation: products_card_spinner .7s linear infinite;
}

/* ── Summary col ── */
.rstd-summary { display: flex; flex-direction: column; gap: 1rem; }
.rstd-summary__card {
	background: #fff;
	border: 1px solid var(--hp-line);
	border-radius: var(--hp-r);
	overflow: hidden;
}
.rstd-summary__head {
	background: var(--hp-ink);
	padding: 1rem 1.25rem;
}
.rstd-summary__head h3 {
	font-size: 0.9rem;
	font-weight: 700;
	color: #fff;
	margin: 0;
}
.rstd-summary__body { padding: 1rem 1.25rem; }
.rstd-summary__table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.85rem;
}
.rstd-summary__table th {
	padding: 0.4rem 0.5rem;
	text-align: left;
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--hp-ink-3);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	border-bottom: 1px solid var(--hp-line);
}
.rstd-summary__table td {
	padding: 0.6rem 0.5rem;
	color: var(--hp-ink-2);
	vertical-align: top;
}
.rstd-summary__table td small { display: block; color: var(--hp-ink-3); font-size: 0.78rem; }
.rstd-summary__table tfoot td {
	border-top: 2px solid var(--hp-navy);
	font-weight: 700;
	color: var(--hp-ink);
	padding-top: 0.75rem;
}
.rstd-summary__big {
	font-size: 1.4rem;
	font-weight: 800;
	color: var(--hp-navy);
	margin: 0.5rem 0 0;
	letter-spacing: -0.03em;
}

/* Other studios */
.rstd-other {
	background: #fff;
	border: 1px solid var(--hp-line);
	border-radius: var(--hp-r);
	overflow: hidden;
}
.rstd-other__label {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--hp-ink-3);
	margin: 0;
	padding: 0.85rem 1.25rem;
	border-bottom: 1px solid var(--hp-line);
}
.rstd-other__item {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.9rem 1.25rem;
	text-decoration: none;
	border-bottom: 1px solid var(--hp-line);
	transition: background .18s;
}
.rstd-other__item:last-child { border-bottom: none; }
.rstd-other__item:hover { background: var(--hp-tint-2); }
.rstd-other__ico {
	width: 36px;
	height: 36px;
	background: var(--hp-tint);
	border-radius: 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	color: var(--hp-navy);
}
.rstd-other__ico svg { width: 18px; height: 18px; }
.rstd-other__item > div {
	flex: 1;
	min-width: 0;
}
.rstd-other__item strong {
	display: block;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--hp-ink);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rstd-other__item small {
	display: block;
	font-size: 0.75rem;
	color: var(--hp-ink-3);
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.rstd-other__arr { color: var(--hp-ink-3); flex-shrink: 0; }

/* ── Homepage studios section ── */
.hp-studios-section { padding: 5rem 0; background: var(--hp-paper); }

/* ================================================================
   END — RESERVATION STUDIOS
   ================================================================ */
