:root {
	--shc-burgundy: #6f2030;
	--shc-burgundy-dark: #511522;
	--shc-cream: #fff8ee;
	--shc-gold: #c6923e;
	--shc-error: #9f1d2d;
	--shc-navy: #243a54;
	--shc-navy-dark: #17283b;
}

/* Mi cuenta : empêcher les textes bleu foncé de disparaître sur le fond bleu. */
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3,
body.woocommerce-account .woocommerce legend,
body.woocommerce-account .woocommerce .woocommerce-Address-title h3 {
	color: var(--shc-gold) !important;
}

body.woocommerce-account .woocommerce form label,
body.woocommerce-account .woocommerce form .woocommerce-form__label,
body.woocommerce-account .woocommerce form .woocommerce-form__label span,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content p,
body.woocommerce-account .woocommerce .woocommerce-MyAccount-content address,
body.woocommerce-account .woocommerce table.shop_table th,
body.woocommerce-account .woocommerce table.shop_table td {
	color: var(--shc-cream) !important;
}

body.woocommerce-account .woocommerce form label,
body.woocommerce-account .woocommerce form .woocommerce-form__label {
	font-size: 17px !important;
	line-height: 1.35 !important;
}

body.woocommerce-account .woocommerce form input.input-text,
body.woocommerce-account .woocommerce form input[type="email"],
body.woocommerce-account .woocommerce form input[type="password"],
body.woocommerce-account .woocommerce form input[type="tel"],
body.woocommerce-account .woocommerce form select,
body.woocommerce-account .woocommerce form textarea {
	border: 2px solid rgba(198, 146, 62, .72) !important;
	background: #fff !important;
	color: var(--shc-navy-dark) !important;
}

body.woocommerce-account .woocommerce form input::placeholder,
body.woocommerce-account .woocommerce form textarea::placeholder {
	color: #65717e !important;
	opacity: 1;
}

body.woocommerce-account .woocommerce a,
body.woocommerce-account .woocommerce-LostPassword a,
body.woocommerce-account .woocommerce-MyAccount-navigation a {
	color: #e0b55b !important;
}

body.woocommerce-account .woocommerce form .required {
	color: #ff4a57 !important;
}

/* Catalogue automatique Saint Honoré. */
.shc-catalog {
	width: min(100%, 1380px);
	margin: 0 auto;
	padding: clamp(28px, 5vw, 72px) clamp(14px, 3vw, 34px);
	box-sizing: border-box;
}

.shc-catalog-title {
	margin: 0 0 clamp(22px, 3vw, 38px) !important;
	color: var(--shc-gold);
	font-size: clamp(32px, 4.2vw, 54px);
	line-height: 1.05;
}

.shc-catalog-layout {
	display: grid;
	grid-template-columns: minmax(170px, 220px) minmax(0, 1fr);
	gap: clamp(24px, 4vw, 54px);
	align-items: start;
}

.shc-catalog-nav {
	position: sticky;
	top: 24px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	padding: 10px;
	border: 1px solid rgba(198, 146, 62, .28);
	border-radius: 14px;
	background: rgba(255, 248, 238, .96);
	box-shadow: 0 10px 28px rgba(0, 0, 0, .1);
}

.shc-catalog-nav a {
	display: block;
	padding: 10px 12px;
	border-radius: 9px;
	color: var(--shc-navy-dark) !important;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.25;
	text-decoration: none !important;
}

.shc-catalog-nav a:hover,
.shc-catalog-nav a:focus-visible {
	background: var(--shc-navy);
	color: #fff !important;
}

.shc-catalog-content { min-width: 0; }
.shc-catalog-section {
	margin: 0 0 clamp(38px, 6vw, 72px);
	scroll-margin-top: 100px;
}

.shc-catalog-section > h3 {
	margin: 0 0 18px !important;
	color: var(--shc-gold);
	font-size: clamp(25px, 3vw, 36px);
	line-height: 1.12;
}

.shc-product-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: clamp(15px, 2vw, 24px);
}

.shc-product-card {
	display: flex;
	min-width: 0;
	flex-direction: column;
	overflow: hidden;
	border: 1px solid rgba(198, 146, 62, .38);
	border-radius: 16px;
	background: #fffaf2;
	box-shadow: 0 9px 25px rgba(7, 18, 31, .12);
	transition: transform .18s ease, box-shadow .18s ease;
}

.shc-product-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 32px rgba(7, 18, 31, .18);
}

.shc-product-image {
	position: relative;
	display: block;
	overflow: hidden;
	aspect-ratio: 1.22 / 1;
	background: #eee7dc;
}

.shc-product-image img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	margin: 0 !important;
	object-fit: cover;
	transition: transform .25s ease;
}

.shc-product-card:hover .shc-product-image img { transform: scale(1.025); }

.shc-stock-badge {
	position: absolute;
	top: 10px;
	left: 10px;
	padding: 6px 9px;
	border-radius: 999px;
	background: #1f7048;
	color: #fff;
	font-size: 11px;
	font-weight: 800;
	line-height: 1;
	box-shadow: 0 3px 10px rgba(0, 0, 0, .2);
}

.shc-stock-badge.is-on-order { background: var(--shc-gold); color: #21170a; }

.shc-product-body {
	display: flex;
	flex: 1;
	flex-direction: column;
	padding: 15px 16px 16px;
}

.shc-product-body h4 {
	margin: 0 0 7px !important;
	font-size: 18px;
	line-height: 1.18;
}

.shc-product-body h4 a { color: var(--shc-navy-dark) !important; text-decoration: none !important; }
.shc-product-excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	min-height: 2.75em;
	margin: 0 0 10px !important;
	color: #56606a;
	font-size: 13px;
	line-height: 1.38;
}

.shc-product-delivery {
	margin: auto 0 12px !important;
	color: #5a4220;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.25;
}

.shc-product-delivery span { color: #1f7048; }
.shc-product-footer { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.shc-product-price {
	color: var(--shc-navy-dark);
	font-size: 18px;
	font-weight: 850;
	line-height: 1.1;
}
.shc-product-price del { opacity: .55; font-size: 13px; }
.shc-product-price ins { text-decoration: none; }

.shc-catalog-add.button {
	display: grid !important;
	width: 42px;
	height: 42px;
	min-width: 42px;
	min-height: 42px;
	place-items: center;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 50% !important;
	background: var(--shc-gold) !important;
	color: #21170a !important;
	font-size: 25px !important;
	font-weight: 500 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none !important;
}

.shc-catalog-add.button:hover,
.shc-catalog-add.button:focus-visible { background: #daa94f !important; transform: scale(1.05); }
.shc-product-footer .added_to_cart { color: var(--shc-navy-dark); font-size: 12px; font-weight: 700; }
.shc-catalog-empty { padding: 28px; border-radius: 12px; background: var(--shc-cream); color: var(--shc-navy-dark); }

@media (max-width: 1050px) {
	.shc-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 760px) {
	.shc-catalog { padding-right: 12px; padding-left: 12px; }
	.shc-catalog-layout { display: block; }
	.shc-catalog-nav {
		position: sticky;
		top: 0;
		z-index: 20;
		flex-direction: row;
		overflow-x: auto;
		margin: 0 -12px 25px;
		padding: 9px 12px;
		border-width: 1px 0;
		border-radius: 0;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}
	.shc-catalog-nav::-webkit-scrollbar { display: none; }
	.shc-catalog-nav a { flex: 0 0 auto; padding: 9px 12px; background: #eee4d4; }
	.shc-product-grid { grid-template-columns: 1fr; gap: 13px; }
	.shc-product-card { display: grid; grid-template-columns: minmax(118px, 38%) minmax(0, 1fr); }
	.shc-product-image { height: 100%; min-height: 190px; aspect-ratio: auto; }
	.shc-product-body { padding: 13px 13px 14px; }
	.shc-product-body h4 { font-size: 16px; }
	.shc-product-excerpt { min-height: 0; font-size: 12px; }
	.shc-product-price { font-size: 16px; }
	.shc-catalog-add.button { width: 38px; height: 38px; min-width: 38px; min-height: 38px; }
}

@media (max-width: 390px) {
	.shc-product-card { grid-template-columns: 112px minmax(0, 1fr); }
	.shc-product-image { min-height: 185px; }
	.shc-product-excerpt { -webkit-line-clamp: 2; }
}

.shc-fulfillment {
	display: inline-flex;
	align-items: flex-start;
	gap: .42rem;
	margin: .55rem 0;
	padding: .48rem .7rem;
	border: 1px solid rgba(111, 32, 48, .22);
	border-radius: .4rem;
	background: var(--shc-cream);
	color: var(--shc-burgundy-dark);
	font-size: .9rem;
	font-weight: 600;
	line-height: 1.35;
}

.shc-fulfillment span { color: var(--shc-gold); }
.shc-fulfillment--loop { display: flex; font-size: .82rem; }

.woocommerce-error,
.wc-block-components-notice-banner.is-error {
	border: 1px solid var(--shc-error) !important;
	border-top: 4px solid var(--shc-error) !important;
	border-radius: .45rem !important;
	background: #fff5f5 !important;
	color: #4a1118 !important;
	box-shadow: 0 4px 16px rgba(74, 17, 24, .08) !important;
}

body.woocommerce-checkout .woocommerce-error,
body.woocommerce-checkout .wc-block-components-notice-banner.is-error {
	background: #fff5f5 !important;
	color: #4a1118 !important;
}

body.woocommerce-checkout .woocommerce-error *,
body.woocommerce-checkout .wc-block-components-notice-banner.is-error * {
	color: #4a1118 !important;
	text-shadow: none !important;
}

.woocommerce-error::before,
.wc-block-components-notice-banner.is-error > svg {
	color: var(--shc-error) !important;
	fill: var(--shc-error) !important;
}

.woocommerce-error li,
.woocommerce-error a,
.woocommerce-error strong,
.woocommerce-error b,
.woocommerce-error span,
.woocommerce-error p,
.wc-block-components-notice-banner.is-error a,
.wc-block-components-notice-banner.is-error div,
.wc-block-components-notice-banner.is-error strong,
.wc-block-components-notice-banner.is-error span {
	color: #4a1118 !important;
	text-shadow: none !important;
}

.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce form .form-row.woocommerce-invalid .select2-selection {
	border-color: var(--shc-error) !important;
	box-shadow: 0 0 0 1px var(--shc-error) !important;
}

.woocommerce form .form-row.woocommerce-invalid label {
	color: var(--shc-error) !important;
}

/* Checkout 0.4.0 : accordéon compact, contact allégé et livraison clarifiée. */
.woocommerce-checkout form.checkout,
.woocommerce-checkout form.checkout .shc-checkout-shell {
	width: 100% !important;
	max-width: 100% !important;
}

.woocommerce-checkout form.checkout .shc-checkout-shell {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr);
	gap: clamp(18px, 2.4vw, 34px);
	align-items: start;
}

.shc-checkout-progress {
	grid-column: 1 / -1;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	position: relative;
	margin: 0 0 4px;
}

.shc-checkout-progress::before {
	content: '';
	position: absolute;
	top: 18px;
	left: 16.66%;
	right: 16.66%;
	height: 2px;
	background: rgba(198, 146, 62, .34);
}

.shc-checkout-progress button {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 6px;
	padding: 0;
	border: 0;
	background: transparent;
	color: inherit;
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.shc-checkout-progress button:disabled { cursor: default; opacity: .5; }
.shc-checkout-progress button span {
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	border: 2px solid rgba(198, 146, 62, .62);
	border-radius: 50%;
	background: #243a54;
	color: #fff;
}

.shc-checkout-progress button.is-active span,
.shc-checkout-progress button.is-complete span {
	border-color: var(--shc-gold);
	background: var(--shc-gold);
	color: #17120b;
}

.shc-checkout-flow {
	display: grid;
	gap: 16px;
}

/* Filet de sécurité : WooCommerce peut reconstruire les blocs pendant le
 * recalcul de livraison. L'ordre visuel reste toujours celui du parcours. */
.shc-checkout-flow > .shc-contact-card { order: 1; }
.shc-checkout-flow > .shc-delivery-card { order: 2; }
.shc-checkout-flow > .shc-payment-card { order: 3; }

.shc-checkout-card,
.shc-checkout-summary {
	box-sizing: border-box;
	border: 1px solid rgba(198, 146, 62, .52);
	border-radius: 15px;
	background: rgba(5, 12, 22, .18);
	box-shadow: 0 10px 25px rgba(0, 0, 0, .09);
}

.shc-checkout-card { padding: clamp(17px, 2vw, 25px); }
.shc-checkout-card[hidden] { display: none !important; }
.shc-checkout-card.is-active {
	border-color: var(--shc-gold);
	box-shadow: 0 12px 30px rgba(0, 0, 0, .13);
}

.shc-checkout-card.is-locked { opacity: .58; }

.shc-checkout-card.is-complete > :not(.shc-section-title):not(.shc-step-summary),
.shc-checkout-card.is-locked > :not(.shc-section-title) {
	display: none !important;
}

.shc-checkout-card.is-complete .shc-section-title,
.shc-checkout-card.is-locked .shc-section-title {
	margin-bottom: 0;
}

.shc-step-summary {
	display: none;
	position: relative;
	grid-template-columns: 1fr auto;
	gap: 3px 18px;
	margin: 14px 0 0 47px;
	padding-top: 13px;
	border-top: 1px solid rgba(198, 146, 62, .28);
}

.shc-checkout-card.is-complete > .shc-step-summary { display: grid; }
.shc-step-summary strong,
.shc-step-summary span {
	grid-column: 1;
	display: block;
	font-size: 16px;
	line-height: 1.4;
}

.shc-step-summary span { opacity: .82; }
.shc-edit-step {
	grid-column: 2;
	grid-row: 1 / span 3;
	align-self: start;
	padding: 5px 9px;
	border: 0;
	background: transparent;
	color: var(--shc-gold);
	font-size: 15px;
	font-weight: 750;
	text-decoration: underline;
	cursor: pointer;
}
.shc-checkout-summary {
	position: sticky;
	top: 24px;
	padding: clamp(18px, 2vw, 26px);
}

.shc-section-title {
	display: flex;
	align-items: center;
	gap: 13px;
	margin: 0 0 18px;
}

.shc-section-title .shc-step {
	display: grid;
	place-items: center;
	flex: 0 0 34px;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: var(--shc-gold);
	color: #17120b;
	font-size: 16px;
	font-weight: 800;
}

.shc-section-title h3 {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-size: clamp(21px, 2vw, 27px);
	line-height: 1.1;
}

.shc-section-title p {
	margin: 4px 0 0;
	opacity: .78;
	font-size: 13px;
}

.woocommerce-checkout form.checkout .col2-set,
.woocommerce-checkout form.checkout .col2-set .col-1,
.woocommerce-checkout form.checkout .col2-set .col-2 {
	float: none !important;
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
}

.woocommerce-checkout form.checkout .col2-set .col-2:empty { display: none; }
.shc-contact-card .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 14px;
}

.shc-contact-card .woocommerce-billing-fields__field-wrapper > .form-row {
	float: none !important;
	clear: none !important;
	width: 100% !important;
	max-width: 100% !important;
}

.shc-contact-card #billing_email_field,
.shc-contact-card #billing_phone_field {
	grid-column: 1 / -1;
}

.shc-contact-card #billing_first_name_field { grid-column: 1; }
.shc-contact-card #billing_last_name_field { grid-column: 2; }
.shc-suppressed-field { display: none !important; }
.shc-contact-card [id*="documento"],
.shc-contact-card [id*="tipo_document"],
.shc-contact-card [class*="tipo_document"] { display: none !important; }
.woocommerce-checkout form.checkout [id*="tipo_document"][id$="_field"],
.woocommerce-checkout form.checkout [id*="tipo_doc"][id$="_field"],
.woocommerce-checkout form.checkout [id*="boleta"][id$="_field"] { display: none !important; }
.woocommerce-checkout form.checkout #order_review_heading {
	float: none !important;
	width: auto !important;
	margin: 0 0 14px !important;
	padding: 0 0 12px !important;
	border: 0 !important;
	border-bottom: 2px solid var(--shc-gold) !important;
}

.woocommerce-checkout form.checkout #order_review_heading::before,
.woocommerce-checkout form.checkout #order_review_heading::after {
	display: none !important;
	content: none !important;
}

.woocommerce-checkout form.checkout #order_review {
	float: none !important;
	width: 100% !important;
	padding: 0 !important;
	background: transparent !important;
}

.woocommerce-checkout form .form-row {
	margin-bottom: 15px;
}

.woocommerce-checkout form .form-row input.input-text,
.woocommerce-checkout form .form-row textarea,
.woocommerce-checkout form .form-row select,
.woocommerce-checkout form .select2-container .select2-selection {
	min-height: 48px;
	border: 1px solid rgba(81, 21, 34, .28) !important;
	border-radius: 9px !important;
	padding: 10px 13px;
	transition: border-color .18s ease, box-shadow .18s ease;
}

.woocommerce-checkout form .form-row textarea { min-height: 88px; }
.woocommerce-checkout form .form-row input:focus,
.woocommerce-checkout form .form-row textarea:focus,
.woocommerce-checkout form .form-row select:focus {
	border-color: var(--shc-gold) !important;
	box-shadow: 0 0 0 3px rgba(198, 146, 62, .18) !important;
	outline: 0;
}

#payment ul.payment_methods li.wc_payment_method {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	margin: 8px 0 !important;
	padding: 8px 12px !important;
	border: 1px solid rgba(198, 146, 62, .42);
	border-radius: 11px;
	background: rgba(255, 255, 255, .06);
}

#payment ul.payment_methods {
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

#payment ul.payment_methods li.wc_payment_method > label {
	display: flex !important;
	align-items: center;
	gap: 10px;
	min-height: 54px;
	cursor: pointer;
}

#payment ul.payment_methods li.wc_payment_method:has(input:checked) {
	border-color: var(--shc-gold);
	background: rgba(198, 146, 62, .12);
	box-shadow: inset 4px 0 0 var(--shc-gold);
}

/* Le SVG officiel Klap inclut Klap, Apple Pay et Google Pay. */
#payment .payment_method_klap_checkout_tarjetas > label img,
#payment label[for="payment_method_klap_checkout_tarjetas"] img {
	float: none !important;
	width: 250px !important;
	height: auto !important;
	max-width: 52% !important;
	max-height: none !important;
	margin: 0 0 0 auto !important;
}

#payment .shc-klap-copy {
	display: block;
	margin-right: auto;
	font-size: 14px;
	opacity: .82;
}

/* Checkout Pro : on conserve le choix Mercado Pago et on retire seulement sa publicité. */
#payment li.payment_method_woo-mercado-pago-basic .payment_box,
#payment .payment_method_woo-mercado-pago-basic.payment_box,
#payment li[class~="payment_method_woo-mercado-pago-basic"] > .payment_box {
	display: none !important;
}

/* Remplace uniquement le grand panneau promotionnel Checkout Pro. */
#payment .payment_box.shc-mp-promo {
	min-height: 0 !important;
	margin: 8px 0 2px !important;
	padding: 11px 14px !important;
	border-radius: 8px !important;
}

#payment .payment_box.shc-mp-promo > :not(input):not(.shc-mp-compact-note) {
	display: none !important;
}

#payment .payment_box.shc-mp-promo .shc-mp-compact-note {
	display: block !important;
	margin: 0 !important;
	font-size: 13px;
	line-height: 1.4;
}

#payment #place_order {
	min-height: 54px;
	border-radius: 9px !important;
	font-size: 18px !important;
	font-weight: 700 !important;
}

.shc-delivery-table,
.shc-delivery-table tbody,
.shc-delivery-table tr,
.shc-delivery-table th,
.shc-delivery-table td {
	box-sizing: border-box;
	width: 100%;
}

.shc-delivery-table { margin: 0 !important; border: 0 !important; }
.shc-delivery-table th { display: none; }
.shc-delivery-table td {
	display: block;
	padding: 0 !important;
	border: 0 !important;
}

.shc-delivery-table ul#shipping_method {
	display: grid;
	grid-template-columns: 1fr;
	gap: 12px;
	margin: 0 !important;
}

.shc-delivery-table ul#shipping_method li {
	position: relative;
	margin: 0 !important;
	padding: 0 !important;
}

.shc-delivery-table ul#shipping_method input {
	position: absolute;
	top: 50%;
	left: 22px;
	z-index: 4;
	width: 20px !important;
	height: 20px !important;
	margin: 0;
	transform: translateY(-50%);
	-webkit-appearance: radio !important;
	appearance: auto !important;
	opacity: 1 !important;
	accent-color: var(--shc-gold);
	cursor: pointer;
}

.shc-delivery-table ul#shipping_method label {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	min-height: 64px;
	margin: 0 !important;
	padding: 14px 18px 14px 70px !important;
	border: 1px solid rgba(198, 146, 62, .4);
	border-radius: 11px;
	background: rgba(255, 255, 255, .055);
	text-align: left;
	font-size: 15px !important;
	font-weight: 600;
	line-height: 1.38;
	cursor: pointer;
}

.shc-delivery-table ul#shipping_method label .woocommerce-Price-amount {
	flex: 0 0 auto;
	margin-left: auto;
	padding-left: 18px;
	white-space: nowrap;
	font-size: 15px !important;
}

.shc-delivery-table ul#shipping_method input:checked + label {
	border-color: var(--shc-gold);
	background: rgba(198, 146, 62, .14);
	box-shadow: inset 0 0 0 1px var(--shc-gold);
}

.shc-delivery-date {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(150px, .6fr);
	gap: 14px;
	margin: 18px 0;
	padding: 16px;
	border: 1px solid rgba(198, 146, 62, .4);
	border-radius: 11px;
	background: rgba(198, 146, 62, .09);
}

.shc-delivery-date .form-row { margin: 0; }
.shc-delivery-date label {
	display: block;
	margin-bottom: 7px;
	color: var(--shc-gold);
	font-size: 16px;
	font-weight: 750;
}
.shc-delivery-date .description {
	display: block;
	margin-top: 7px;
	font-size: 13px;
	line-height: 1.4;
	opacity: .86;
}

.shc-requested-shipping-copy {
	display: inline;
	line-height: 1.4;
}

.shc-checkout-summary table {
	margin-bottom: 0 !important;
	border: 1px solid rgba(255, 238, 205, .82) !important;
	border-collapse: collapse !important;
}
.shc-checkout-summary .woocommerce-checkout-review-order-table th,
.shc-checkout-summary .woocommerce-checkout-review-order-table td {
	padding: 11px 5px !important;
	border-left: 0 !important;
	border-right: 0 !important;
}

.shc-checkout-summary tr.shc-summary-shipping th,
.shc-checkout-summary tr.shc-summary-shipping td {
	font-weight: 700 !important;
	color: var(--shc-gold);
}

.shc-checkout-summary tr.shc-summary-shipping td {
	text-align: right !important;
	white-space: nowrap;
}

.shc-delivery-address {
	margin: 0 0 20px;
	padding: 16px;
	border-radius: 11px;
	background: rgba(255, 255, 255, .045);
}

.shc-delivery-address h4 {
	margin: 0 0 13px;
	font-size: 17px;
}

.shc-delivery-address-fields {
	display: grid;
	grid-template-columns: minmax(0, 1.45fr) minmax(105px, .45fr) minmax(0, 1fr);
	gap: 0 14px;
}

.shc-delivery-address-fields .form-row { width: 100% !important; }
.shc-delivery-address-fields .shc-google-address-row,
.shc-delivery-address-fields .shc-street-number-field { grid-column: auto !important; }
.shc-delivery-address-fields #billing_address_1_field,
.shc-delivery-address-fields #shipping_address_1_field { grid-column: 1 / -1; }

.shc-address-extra {
	margin-top: 18px;
	border-top: 1px solid rgba(198, 146, 62, .28);
	padding-top: 14px;
}

.shc-address-extra summary {
	color: var(--shc-gold);
	font-size: 16px;
	font-weight: 700;
	cursor: pointer;
}

.shc-address-extra summary span { font-size: 13px; font-weight: 500; opacity: .8; }
.shc-address-extra-fields { padding-top: 14px; }

/* Le bouton reste dans Pago, mais l'espace juridique demeure lisible et compact. */
.shc-payment-card #payment { background: transparent !important; }
.shc-payment-card #payment .form-row.place-order { padding: 14px 0 0 !important; }

.shc-step-actions {
	display: flex;
	justify-content: flex-end;
	gap: 10px;
	margin-top: 18px;
	padding-top: 17px;
	border-top: 1px solid rgba(198, 146, 62, .32);
}

.shc-delivery-card.shc-delivery-waiting::after {
	content: 'Estamos recalculando el despacho. Espera un instante y revisa las opciones de entrega antes de continuar.';
	display: block;
	margin-top: 12px;
	padding: 10px 12px;
	border-left: 4px solid var(--shc-gold);
	border-radius: 6px;
	background: rgba(198, 146, 62, .13);
	font-size: 15px;
}

.shc-step-actions .button,
.shc-payment-back {
	min-height: 48px;
	padding: 10px 22px !important;
	border-radius: 9px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
}

.shc-payment-back { margin: 0 0 10px !important; }

/* Lisibilité du panier et du menu principal. */
.woocommerce-cart .woocommerce-cart-form,
.woocommerce-cart .cart_totals,
.woocommerce-cart .wc-block-cart,
.woocommerce-cart .wc-block-components-product-name,
.woocommerce-cart .wc-block-components-product-metadata,
.woocommerce-cart .wc-block-components-totals-item {
	font-size: 17px !important;
	line-height: 1.5 !important;
}

.woocommerce-cart .product-name a,
.woocommerce-cart .wc-block-components-product-name {
	font-size: 18px !important;
	font-weight: 700 !important;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .wc-block-components-notice-banner {
	font-size: 16px !important;
}

.main-navigation a,
#site-navigation a,
.primary-navigation a,
header .menu > li > a,
header nav a {
	font-size: 18px !important;
	line-height: 1.35 !important;
}

/* Accueil : l'image d'ouverture commence immédiatement sous l'en-tête.
 * Astra ajoute normalement 60 px au contenu et conserve la marge d'un titre
 * de page vide ; la première colonne PageLayer ajoute encore 10 px. */
.home.ast-plain-container #primary {
	margin-top: 0 !important;
}

.home h1.entry-title:empty {
	display: none !important;
	margin: 0 !important;
}

.home .entry-content > .pagelayer-row:first-child .pagelayer-col-holder {
	padding-top: 0 !important;
}

/* Astra impose 12 px avec un sélecteur plus précis que les règles génériques. */
@media (min-width: 922px) {
	body.ast-desktop #ast-desktop-header .main-header-menu > .menu-item > .menu-link {
		font-size: 15px !important;
		line-height: 1.35 !important;
		padding-right: 10px !important;
		padding-left: 10px !important;
	}
}

@media (max-width: 900px) {
	.woocommerce-checkout form.checkout .shc-checkout-shell { grid-template-columns: 1fr; }
	.shc-checkout-progress { grid-column: 1; }
	.shc-checkout-summary { position: static; }
	.shc-delivery-table ul#shipping_method { grid-template-columns: 1fr; }
	.shc-delivery-date { grid-template-columns: 1fr; }
	.shc-delivery-address-fields { grid-template-columns: 1fr; }
	.shc-contact-card .woocommerce-billing-fields__field-wrapper { grid-template-columns: 1fr; }
	.shc-contact-card #billing_email_field,
	.shc-contact-card #billing_phone_field,
	.shc-contact-card #billing_first_name_field,
	.shc-contact-card #billing_last_name_field { grid-column: 1; }
	.shc-delivery-address-fields #billing_address_1_field,
	.shc-delivery-address-fields #shipping_address_1_field { grid-column: 1; }
	.shc-checkout-card, .shc-checkout-summary { padding: 16px; }
	#payment .payment_method_klap_checkout_tarjetas > label img,
	#payment label[for="payment_method_klap_checkout_tarjetas"] img { width: 190px !important; max-width: 48% !important; }
	.main-navigation a,
	#site-navigation a,
	.primary-navigation a,
	header .menu > li > a,
	header nav a { font-size: 16px !important; }
}
.shc-catalog-nav .shc-category-depth-1 { padding-left: 24px; font-size: 0.94em; }
.shc-catalog-nav .shc-category-depth-2 { padding-left: 42px; font-size: 0.9em; }
.shc-catalog-nav .shc-category-depth-3 { padding-left: 54px; font-size: 0.88em; }
.shc-catalog-nav .shc-category-marker {
	display: inline-block;
	margin-right: 5px;
	font-size: 0.66em;
	opacity: 0.68;
	transform: scaleX(0.72);
	transform-origin: right center;
}
.shc-catalog-nav .shc-category-no-marker { padding-left: 12px; }
