/* Maison Carrillo — page de commande (voir maison-carrillo-validation.php).
 * Couleurs et typo du panier (maison-carrillo-panier). !important : le kit Elementor impose sa typo
 * (majuscules Harmattan) aux liens, titres et boutons, et WooCommerce ses flottants aux champs. */

.mcv-page { --mcv-accent: #052A38; --mcv-creme: #FFFBF7; --mcv-sable: #F3ECE2; --mcv-texte: #1E1E1E; --mcv-doux: #6B6157;
	--mcv-trait: rgba(5, 42, 56, .14); --mcv-bord: rgba(5, 42, 56, .3); --mcv-or: #B08D3C; --mcv-vert: #2F6B4F; --mcv-rouge: #A3261C;
	background: var(--mcv-creme); }
.mcv-page[data-universe="heritaje"] { --mcv-accent: #77273F; }
.mcv-page[data-universe="emblaime"] { --mcv-accent: #4F6B53; }

.mcv-page .woocommerce { max-width: 1160px; margin: 0 auto; padding: 0 0 72px; color: var(--mcv-texte); font: 400 17px/1.5 "Harmattan", sans-serif; }
.mcv-page .woocommerce *, .mcv-page .woocommerce *::before, .mcv-page .woocommerce *::after { box-sizing: border-box; }
.mcv-page .woocommerce p { margin: 0; }
.mcv-page .woocommerce a { color: var(--mcv-accent) !important; text-transform: none !important; letter-spacing: 0 !important; font-family: inherit !important;
	font-size: inherit !important; text-decoration: underline !important; text-underline-offset: 3px; }
.mcv-page .woocommerce a:hover { text-decoration-thickness: 2px !important; }
.mcv-doux { color: var(--mcv-doux); }
svg.mcv-ico { width: 20px; height: 20px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.mcv-page .screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- En-tête : titre + « Déjà client ? » ---------- */
.mcv-h1 .elementor-heading-title { font: 500 40px/1.1 "Cormorant", serif !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--mcv-accent) !important; }
.mcv-page .woocommerce-form-login-toggle { margin: 0 0 28px; }
.mcv-page .woocommerce-form-login-toggle .woocommerce-info { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
	color: var(--mcv-doux) !important; font-size: 16px; text-align: center; }
.mcv-page .woocommerce-form-login-toggle .woocommerce-info::before { display: none !important; }
.mcv-page form.woocommerce-form-login { max-width: 560px; margin: 0 auto 36px !important; padding: 24px !important; border: 1px solid var(--mcv-trait) !important; border-radius: 0 !important; background: #fff; }
.mcv-page form.woocommerce-form-login > p:first-child { margin-bottom: 16px; color: var(--mcv-doux); font-size: 15.5px; }

/* ---------- Grille : étapes à gauche, récapitulatif à droite ---------- */
.mcv-grille { display: grid; grid-template-columns: minmax(0, 1fr) 410px; gap: 64px; align-items: start; }
.mcv-principal { min-width: 0; }

.mcv-bloc { padding: 32px 0; border-top: 1px solid var(--mcv-trait); }
#customer_details > .woocommerce-billing-fields > .mcv-bloc:first-of-type { border-top: 0; padding-top: 0; }
.mcv-page h2.mcv-bloc__titre { display: flex; align-items: center; gap: 14px; margin: 0 0 22px !important; padding: 0 !important;
	font: 500 28px/1.15 "Cormorant", serif !important; color: var(--mcv-accent) !important; text-transform: none !important; letter-spacing: 0 !important; }
.mcv-num { display: inline-grid; place-items: center; flex: none; width: 30px; height: 30px; border: 1px solid var(--mcv-accent); border-radius: 50%;
	font: 500 15px/1 "Harmattan", sans-serif; color: var(--mcv-accent); }
.mcv-bloc__intro { display: flex; align-items: center; gap: 8px; margin: -8px 0 18px !important; color: var(--mcv-doux); font-size: 15.5px; }
.mcv-bloc__intro .mcv-ico { width: 17px; height: 17px; color: var(--mcv-accent); }

/* ---------- Champs ---------- */
.mcv-champs { display: grid; grid-template-columns: 1fr 1fr; gap: 18px 16px; }
.mcv-page .mcv-champs .form-row, .mcv-page .create-account .form-row { grid-column: 1 / -1; float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
.mcv-page .mcv-champs .form-row-first { grid-column: 1; }
.mcv-page .mcv-champs .form-row-last { grid-column: 2; }
.mcv-page .mcv-champs #billing_address_2_field, .mcv-page .mcv-champs #shipping_address_2_field { margin-top: -8px !important; }
.mcv-page .woocommerce form .form-row label { display: block; margin: 0 0 6px !important; padding: 0; font: 500 15.5px/1.3 "Harmattan", sans-serif !important;
	color: var(--mcv-texte) !important; text-transform: none !important; letter-spacing: 0 !important; }
.mcv-page .woocommerce form .form-row .required { color: var(--mcv-accent) !important; text-decoration: none; border: 0; font-weight: 500; }
.mcv-page .woocommerce form .form-row .optional { color: var(--mcv-doux); font-weight: 400; }
.mcv-page .woocommerce form .form-row input.input-text, .mcv-page .woocommerce form .form-row textarea, .mcv-page .woocommerce form .form-row select,
.mcv-page .mcv-code input.input-text {
	width: 100%; height: 50px; margin: 0; padding: 0 14px !important; border: 1px solid var(--mcv-bord) !important; border-radius: 2px !important;
	background: #fff !important; color: var(--mcv-texte) !important; font: 400 17px/1.3 "Harmattan", sans-serif !important; box-shadow: none !important; transition: border-color .15s; }
.mcv-page .woocommerce form .form-row textarea { height: 96px; padding: 12px 14px !important; resize: vertical; }
.mcv-page .woocommerce form .form-row input.input-text::placeholder, .mcv-page .woocommerce form .form-row textarea::placeholder, .mcv-page .mcv-code input::placeholder { color: #9A9188; opacity: 1; }
.mcv-page .woocommerce form .form-row input.input-text:hover, .mcv-page .woocommerce form .form-row textarea:hover { border-color: rgba(5, 42, 56, .5) !important; }
.mcv-page .woocommerce form .form-row input.input-text:focus, .mcv-page .woocommerce form .form-row textarea:focus, .mcv-page .woocommerce form .form-row select:focus,
.mcv-page .mcv-code input.input-text:focus { border-color: var(--mcv-accent) !important; outline: 1px solid var(--mcv-accent); outline-offset: 0; }
.mcv-page .woocommerce form .form-row .description { display: block !important; position: static !important; margin: 6px 0 0; padding: 0 !important; background: none !important;
	color: var(--mcv-doux) !important; font-size: 14px; line-height: 1.4; }
.mcv-page .woocommerce form .form-row .description::before { display: none !important; }
.mcv-page .woocommerce form .form-row.woocommerce-invalid input.input-text, .mcv-page .woocommerce form .form-row.woocommerce-invalid select,
.mcv-page .woocommerce form .form-row.woocommerce-invalid .select2-selection { border-color: var(--mcv-rouge) !important; }
.mcv-page .woocommerce form .form-row.woocommerce-invalid label { color: var(--mcv-rouge) !important; }
.mcv-page .checkout-inline-error-message { margin: 6px 0 0 !important; color: var(--mcv-rouge); font-size: 14.5px; }
.mcv-page .woocommerce form .form-row.woocommerce-validated input.input-text { border-color: var(--mcv-bord) !important; }

/* Pays (liste selectWoo) */
.mcv-page .select2-container .select2-selection--single { height: 50px !important; border: 1px solid var(--mcv-bord) !important; border-radius: 2px !important; background: #fff !important; }
.mcv-page .select2-container .select2-selection--single .select2-selection__rendered { padding: 0 40px 0 14px !important; line-height: 48px !important;
	color: var(--mcv-texte) !important; font: 400 17px/48px "Harmattan", sans-serif !important; }
.mcv-page .select2-container .select2-selection--single .select2-selection__arrow { height: 48px !important; right: 8px !important; }
.mcv-page .select2-container--focus .select2-selection--single, .mcv-page .select2-container--open .select2-selection--single { border-color: var(--mcv-accent) !important; }
.select2-dropdown { border-color: var(--mcv-bord) !important; border-radius: 0 !important; font-family: "Harmattan", sans-serif; }
.select2-results__option--highlighted[aria-selected], .select2-results__option--highlighted[data-selected] { background: var(--mcv-accent, #052A38) !important; }

/* Cases à cocher (compte, autre adresse, conditions) */
.mcv-page .woocommerce form .form-row label.checkbox, .mcv-page #ship-to-different-address label, .mcv-page .woocommerce-terms-and-conditions-wrapper label.checkbox {
	display: flex !important; align-items: flex-start; gap: 10px; margin: 0 !important; font: 400 16.5px/1.4 "Harmattan", sans-serif !important; cursor: pointer; }
.mcv-page .woocommerce input[type="checkbox"], .mcv-page .woocommerce input[type="radio"] { flex: none; width: 18px; height: 18px; margin: 2px 0 0 !important; accent-color: var(--mcv-accent); cursor: pointer; }
.mcv-page .woocommerce form .woocommerce-terms-and-conditions-wrapper label.checkbox { display: block !important; position: relative; padding-left: 28px !important; }
.mcv-page .woocommerce form .woocommerce-terms-and-conditions-wrapper label.checkbox input { position: absolute; left: 0; top: 1px; margin: 0 !important; }
.mcv-page .woocommerce form .woocommerce-terms-and-conditions-wrapper label.checkbox .required { margin: 0 !important; padding: 0 !important; }
#customer_details { padding-bottom: 32px; }
.mcv-compte { margin-top: 22px; }
.mcv-compte .create-account:not(.form-row) { margin-top: 16px; }

/* Autre adresse + note */
.mcv-autre { margin-top: 22px; }
.mcv-page h3#ship-to-different-address { margin: 0 !important; padding: 0 !important; font: inherit !important; text-transform: none !important; letter-spacing: 0 !important; }
.mcv-page .mcv-autre .shipping_address { margin-top: 20px; padding: 22px; border: 1px solid var(--mcv-trait); background: #fff; }
.mcv-autre__intro { margin: 0 0 16px !important; color: var(--mcv-doux); font-size: 15px; }
.mcv-note { margin-top: 18px; }
.mcv-note__details > summary, .mcv-code > summary { display: inline-flex; align-items: center; gap: 8px; cursor: pointer; list-style: none; color: var(--mcv-accent);
	font-size: 16.5px; text-decoration: underline; text-underline-offset: 3px; }
.mcv-note__details > summary::-webkit-details-marker, .mcv-code > summary::-webkit-details-marker { display: none; }
.mcv-note__details > summary::before, .mcv-code > summary::before { content: "+"; display: inline-grid; place-items: center; width: 18px; height: 18px;
	border: 1px solid currentColor; border-radius: 50%; font-size: 14px; line-height: 1; text-decoration: none; }
.mcv-note__details[open] > summary::before, .mcv-code[open] > summary::before { content: "−"; }
.mcv-note__details .woocommerce-additional-fields__field-wrapper { margin-top: 14px; }
.mcv-note__details .form-row { float: none !important; width: auto !important; margin: 0 !important; padding: 0 !important; }

/* ---------- Étape 3 : modes de livraison ---------- */
.mcv-modes__liste { display: grid; gap: 10px; margin: 0 !important; padding: 0 !important; list-style: none !important; }
.mcv-page .mcv-mode { position: relative; display: grid; grid-template-columns: 18px 1fr; column-gap: 14px; margin: 0 !important; padding: 16px 18px !important;
	border: 1px solid var(--mcv-bord); border-radius: 2px; background: #fff; list-style: none !important; transition: border-color .15s; }
.mcv-page .mcv-mode:hover { border-color: rgba(5, 42, 56, .55); }
.mcv-page .mcv-mode--choisi, .mcv-page .mcv-mode:has(input:checked) { border-color: var(--mcv-accent); box-shadow: inset 0 0 0 1px var(--mcv-accent); }
.mcv-page .mcv-mode > input[type="radio"] { grid-column: 1; grid-row: 1; margin: 3px 0 0 !important; }
.mcv-page .mcv-mode > input[type="hidden"] + label { grid-column: 1 / -1; }
.mcv-page .mcv-mode > label { grid-column: 2; grid-row: 1; display: grid !important; grid-template-columns: 1fr auto; gap: 2px 16px; margin: 0 !important; cursor: pointer;
	font: 400 16.5px/1.35 "Harmattan", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--mcv-texte) !important; }
/* clic sur toute la carte */
.mcv-page .mcv-mode > label::after { content: ""; position: absolute; inset: 0; }
.mcv-mode__nom { font-weight: 600; color: var(--mcv-texte); }
.mcv-mode__prix { grid-column: 2; grid-row: 1; text-align: right; font-weight: 600; white-space: nowrap; }
.mcv-mode__prix .amount { font: inherit !important; }
.mcv-mode__info { grid-column: 1 / -1; color: var(--mcv-doux); font-size: 14.5px; }
/* Bouton et point choisi du point relais (ajoutés par Sendcloud dans la carte) */
.mcv-page .mcv-mode > :not(input):not(label) { grid-column: 2; position: relative; z-index: 1; }
.mcv-page .mcv-mode #sendcloudshipping_service_point_select { justify-self: start; margin: 12px 0 0 !important; padding: 10px 18px !important; border: 1px solid var(--mcv-accent) !important;
	border-radius: 2px !important; background: #fff !important; color: var(--mcv-accent) !important; font: 500 15.5px/1.2 "Harmattan", sans-serif !important;
	text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
.mcv-page .mcv-mode #sendcloudshipping_service_point_select:hover { background: var(--mcv-accent) !important; color: #fff !important; }
.mcv-page #sendcloudshipping_service_point_selected_label:not(:empty) { margin-top: 10px; padding: 10px 12px; background: var(--mcv-sable); font-size: 15px; line-height: 1.4; }
.mcv-modes__vide { padding: 16px 18px; border: 1px dashed var(--mcv-bord); color: var(--mcv-doux); }
.mcv-modes__offerte { margin-top: 14px !important; color: var(--mcv-doux); font-size: 15px; }
.mcv-modes__offerte strong, .mcv-modes__offerte .amount { color: var(--mcv-accent); font-weight: 600; }

/* ---------- Étape 4 : paiement ---------- */
.mcv-page #payment { background: none !important; border-radius: 0 !important; }
.mcv-page #payment ul.payment_methods { display: grid; gap: 10px; margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none !important; }
.mcv-page #payment ul.payment_methods li.wc_payment_method { margin: 0 !important; padding: 16px 18px !important; border: 1px solid var(--mcv-bord); border-radius: 2px; background: #fff; list-style: none !important; }
.mcv-page #payment ul.payment_methods li.wc_payment_method:has(> input:checked) { border-color: var(--mcv-accent); box-shadow: inset 0 0 0 1px var(--mcv-accent); }
.mcv-page #payment ul.payment_methods li.wc_payment_method:only-child > input { display: none; }
.mcv-page #payment ul.payment_methods li > input[type="radio"] { vertical-align: -3px; margin: 0 10px 0 0 !important; }
.mcv-page #payment ul.payment_methods li > label { display: inline !important; margin: 0 !important; cursor: pointer; font: 600 16.5px/1.35 "Harmattan", sans-serif !important;
	color: var(--mcv-texte) !important; text-transform: none !important; letter-spacing: 0 !important; }
.mcv-page #payment ul.payment_methods li > label img { float: right; max-height: 22px; width: auto; margin: 0 !important; }
.mcv-page #payment div.payment_box { margin: 14px 0 0 !important; padding: 0 !important; background: none !important; color: var(--mcv-doux) !important; font-size: 15px; border-radius: 0 !important; }
.mcv-page #payment div.payment_box::before { display: none !important; }
.mcv-page #payment div.payment_box p:only-child { margin: 0 !important; }
.mcv-page #payment .woocommerce-notice, .mcv-page #payment .woocommerce-info { margin: 0 !important; }
/* Stripe : pas de cadre autour de ses champs (le thème encadre les fieldset) */
.mcv-page #payment fieldset { min-width: 0; margin: 0 !important; padding: 0 !important; border: 0 !important; }
.mcv-page #payment .wc-stripe-upe-element { padding: 0 !important; border: 0 !important; background: none !important; }
.mcv-page #payment #wc-stripe-currency-selector { margin-top: 0 !important; }

.mcv-page #payment div.form-row.place-order { margin: 22px 0 0 !important; padding: 0 !important; }
.mcv-page .woocommerce-terms-and-conditions-wrapper { display: grid; gap: 14px; }
.mcv-page .woocommerce-privacy-policy-text p { color: var(--mcv-doux); font-size: 14px; line-height: 1.45; }
.mcv-page .woocommerce-terms-and-conditions { padding: 16px !important; border: 1px solid var(--mcv-trait); background: #fff; font-size: 15px; }
.mcv-page .woocommerce-terms-and-conditions h1, .mcv-page .woocommerce-terms-and-conditions h2 { font: 500 20px/1.2 "Cormorant", serif !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--mcv-accent) !important; margin: 12px 0 6px !important; }
.mcv-a-payer { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin: 22px 0 12px !important; padding-top: 18px; border-top: 1px solid var(--mcv-trait); }
.mcv-a-payer span { font-size: 17px; }
.mcv-a-payer strong, .mcv-a-payer .amount { font: 600 24px/1.1 "Harmattan", sans-serif !important; color: var(--mcv-accent); }
.mcv-a-payer small { display: none; } /* « dont TVA » : déjà dans le récapitulatif */
.mcv-page #payment #place_order { display: block; float: none !important; width: 100% !important; min-height: 56px; margin: 0 !important; padding: 14px 20px !important;
	border: 1px solid var(--mcv-accent) !important; border-radius: 2px !important; background: var(--mcv-accent) !important; color: #FFFBF7 !important;
	font: 500 18px/1.2 "Harmattan", sans-serif !important; letter-spacing: .06em !important; text-transform: uppercase !important; box-shadow: none !important; cursor: pointer; transition: background-color .2s, color .2s; }
.mcv-page #payment #place_order:hover, .mcv-page #payment #place_order:focus-visible { background: #FFFBF7 !important; color: var(--mcv-accent) !important; }
.mcv-page #payment #place_order:focus-visible { outline: 2px solid var(--mcv-accent); outline-offset: 2px; }

/* ---------- Messages (erreurs de validation, etc.) ---------- */
.mcv-page .woocommerce-NoticeGroup-checkout, .mcv-page .woocommerce-notices-wrapper:not(:empty) { margin-bottom: 28px; }
.mcv-page .woocommerce-error, .mcv-page .woocommerce-message, .mcv-page .woocommerce-info:not(.woocommerce-form-login-toggle .woocommerce-info) {
	margin: 0 0 14px !important; padding: 14px 18px 14px 18px !important; border: 0 !important; border-left: 3px solid var(--mcv-accent) !important;
	background: #fff !important; color: var(--mcv-texte) !important; font-size: 16px; list-style: none !important; }
.mcv-page .woocommerce-error { border-left-color: var(--mcv-rouge) !important; }
.mcv-page .woocommerce-error::before, .mcv-page .woocommerce-message::before, .mcv-page .woocommerce-info::before { display: none !important; }
.mcv-page .woocommerce-error li { margin: 0 !important; padding: 2px 0 !important; }

/* ---------- Récapitulatif ---------- */
.mcv-recap { position: sticky; top: 120px; padding: 28px; background: var(--mcv-sable); }
.mcv-recap__bascule { display: none; }
.mcv-recap__tete { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin-bottom: 8px; }
.mcv-page h2.mcv-recap__titre { margin: 0 !important; padding: 0 !important; font: 500 26px/1.15 "Cormorant", serif !important; color: var(--mcv-accent) !important; text-transform: none !important; letter-spacing: 0 !important; }
.mcv-page .mcv-recap__tete a.mcv-lien { font-size: 15px !important; }

.mcv-page table.mcv-table { width: 100%; margin: 0 !important; border: 0 !important; border-collapse: collapse; background: none !important; font-size: 16px; }
.mcv-page table.mcv-table th, .mcv-page table.mcv-table td { padding: 0 !important; border: 0 !important; background: none !important; text-align: left; vertical-align: top;
	font-family: "Harmattan", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--mcv-texte); }
.mcv-page table.mcv-table .amount { font-family: "Harmattan", sans-serif !important; }
.mcv-page table.mcv-table tbody tr td { padding: 14px 0 !important; border-bottom: 1px solid var(--mcv-trait) !important; }
.mcv-page table.mcv-table tbody tr td.product-total { padding-left: 12px !important; text-align: right; white-space: nowrap; font-weight: 500; }
.mcv-article { display: grid; grid-template-columns: 64px 1fr; gap: 14px; align-items: start; }
.mcv-article__img { position: relative; display: block; aspect-ratio: 4 / 5; background: #E9E0D3; }
.mcv-article__img img { display: block; width: 100% !important; height: 100% !important; object-fit: cover; }
.mcv-article__q { position: absolute; top: -8px; right: -8px; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 11px; background: var(--mcv-accent); color: #fff;
	font: 600 12.5px/22px "Harmattan", sans-serif; text-align: center; }
.mcv-article__infos { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.mcv-article__nom { font: 500 19px/1.15 "Cormorant", serif; color: var(--mcv-texte); }
.mcv-article__attr { color: var(--mcv-doux); font-size: 14.5px; line-height: 1.35; }

.mcv-page table.mcv-table tfoot tr th, .mcv-page table.mcv-table tfoot tr td { padding: 6px 0 !important; font-weight: 400; }
.mcv-page table.mcv-table tfoot tr:first-child th, .mcv-page table.mcv-table tfoot tr:first-child td { padding-top: 16px !important; }
.mcv-page table.mcv-table tfoot td { text-align: right; }
.mcv-page table.mcv-table tfoot tr.cart-discount td, .mcv-page table.mcv-table tfoot tr.cart-discount th { color: var(--mcv-vert); }
.mcv-page table.mcv-table tfoot a.woocommerce-remove-coupon { margin-left: 6px; font-size: 14px !important; color: var(--mcv-doux) !important; }
.mcv-page table.mcv-table tfoot tr.order-total th, .mcv-page table.mcv-table tfoot tr.order-total td { padding-top: 14px !important; border-top: 1px solid var(--mcv-trait) !important;
	font-size: 19px; font-weight: 600; vertical-align: baseline; }
.mcv-page table.mcv-table tfoot tr.order-total td strong .amount { font-size: 24px; color: var(--mcv-accent); }
.mcv-page table.mcv-table tfoot tr.order-total td small { display: block; margin-top: 2px; font-size: 13.5px; font-weight: 400; color: var(--mcv-doux); }
.mcv-page table.mcv-table tfoot tr.order-total td small .amount { font-size: inherit; color: inherit; }

/* Code promo */
.mcv-code { margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--mcv-trait); }
.mcv-code > summary { font-size: 16px; }
.mcv-code__champ { display: grid; grid-template-columns: 1fr auto; gap: 8px; margin-top: 12px; }
.mcv-page .mcv-code input.input-text { height: 46px; text-transform: uppercase; }
.mcv-page button.mcv-code__bouton { height: 46px; padding: 0 18px !important; border: 1px solid var(--mcv-accent) !important; border-radius: 2px !important; background: transparent !important;
	color: var(--mcv-accent) !important; font: 500 15.5px/1 "Harmattan", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; cursor: pointer; }
.mcv-page button.mcv-code__bouton:hover { background: var(--mcv-accent) !important; color: #fff !important; }
.mcv-page button.mcv-code__bouton:disabled { opacity: .5; cursor: wait; }
.mcv-code__message:not(:empty) { margin-top: 8px; color: var(--mcv-vert); font-size: 14.5px; }
.mcv-code__message--erreur:not(:empty) { color: var(--mcv-rouge); }

/* Réassurance */
.mcv-confiance { display: grid; gap: 12px; margin: 22px 0 0 !important; padding: 18px 0 0 !important; border-top: 1px solid var(--mcv-trait); list-style: none !important; }
.mcv-confiance li { display: flex; gap: 12px; align-items: flex-start; margin: 0 !important; font-size: 14.5px; line-height: 1.35; color: var(--mcv-doux); }
.mcv-confiance li .mcv-ico { color: var(--mcv-accent); margin-top: 1px; }
.mcv-confiance strong { display: block; font-weight: 600; font-size: 15.5px; color: var(--mcv-texte); }
.mcv-page a.mcv-google { display: inline-flex; align-items: center; gap: 8px; margin-top: 18px; color: var(--mcv-texte) !important; text-decoration: none !important; font-size: 15px !important; }
.mcv-page a.mcv-google:hover span:last-child { text-decoration: underline; text-underline-offset: 3px; }
.mcv-google__etoiles { color: var(--mcv-or); letter-spacing: 2px; font-size: 13px; }
.mcv-aide { margin-top: 10px !important; color: var(--mcv-doux); font-size: 14.5px; }
.mcv-page .mcv-aide a { font-size: 14.5px !important; }

/* Pendant les rechargements de WooCommerce */
.mcv-page .blockUI.blockOverlay { background: rgba(255, 251, 247, .6) !important; }

/* ---------- Tablette / téléphone ---------- */
@media (max-width: 1100px) {
	.mcv-grille { grid-template-columns: minmax(0, 1fr) 360px; gap: 40px; }
	.mcv-recap { padding: 22px; }
}
@media (max-width: 900px) {
	.mcv-page .woocommerce { padding-bottom: 48px; }
	.mcv-grille { display: flex; flex-direction: column; gap: 0; }
	.mcv-principal { order: 2; width: 100%; }
	.mcv-recap { order: 1; position: static; width: 100%; margin: 0 0 8px; padding: 0; background: var(--mcv-sable); }
	.mcv-page button.mcv-recap__bascule { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 56px; margin: 0; padding: 12px 16px !important;
		border: 0 !important; border-radius: 0 !important; background: var(--mcv-sable) !important; color: var(--mcv-accent) !important; cursor: pointer;
		font: 500 16.5px/1.3 "Harmattan", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; text-align: left; }
	.mcv-recap__bascule-texte { display: inline-flex; align-items: center; gap: 8px; }
	.mcv-recap__bascule-texte::after { content: ""; width: 8px; height: 8px; margin: -3px 0 0 4px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); transition: transform .2s; }
	.mcv-recap--ouvert .mcv-recap__bascule-texte::after { margin-top: 4px; transform: rotate(-135deg); }
	.mcv-recap__bascule-total, .mcv-recap__bascule-total .amount { font: 600 18px/1 "Harmattan", sans-serif !important; color: var(--mcv-texte); }
	.mcv-recap__bascule-total small { display: none; }
	.mcv-recap__contenu { display: none; padding: 4px 16px 20px; }
	.mcv-recap--ouvert .mcv-recap__contenu { display: block; }
	.mcv-recap__tete { display: none; }
	.mcv-bloc { padding: 26px 0; }
	.mcv-bloc--coord { border-top: 0 !important; }
	.mcv-page h2.mcv-bloc__titre { font-size: 25px !important; margin-bottom: 18px !important; }
}
@media (max-width: 480px) {
	.mcv-champs { gap: 16px 12px; }
	.mcv-page .mcv-mode { padding: 14px !important; column-gap: 12px; }
	.mcv-h1 .elementor-heading-title { font-size: 32px !important; }
}
@media (prefers-reduced-motion: reduce) { .mcv-page * { transition: none !important; } }

/* ==================== Page « Merci pour votre commande » (gabarits/thankyou.php) ==================== */
.mcv-page-merci .mcv-h1 { display: none; } /* titre « Validation de votre commande » de la page Elementor */
.mcv-merci { padding-top: 48px; }
.mcv-merci__tete { max-width: 760px; margin: 0 auto 44px; text-align: center; }
.mcv-merci__ok { display: inline-grid; place-items: center; width: 56px; height: 56px; margin-bottom: 18px; border: 1px solid var(--mcv-vert); border-radius: 50%; color: var(--mcv-vert); }
.mcv-merci__ok svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.mcv-merci__sur { margin: 0 0 8px !important; color: var(--mcv-doux); font-size: 15.5px; letter-spacing: .02em; }
.mcv-page h1.mcv-merci__titre { margin: 0 0 14px !important; padding: 0 !important; font: 500 42px/1.12 "Cormorant", serif !important; color: var(--mcv-accent) !important; text-transform: none !important; letter-spacing: 0 !important; }
.mcv-merci__intro { color: var(--mcv-texte); font-size: 17.5px; }
.mcv-merci__intro strong { font-weight: 600; }
.mcv-merci__grille { align-items: start; }
.mcv-merci .mcv-bloc:first-child { border-top: 0; padding-top: 0; }

/* La suite : étapes */
.mcv-etapes { margin: 0 !important; padding: 0 !important; list-style: none !important; }
.mcv-etape { position: relative; display: grid; grid-template-columns: 22px 1fr; gap: 16px; margin: 0 !important; padding: 0 0 22px !important; }
.mcv-etape:last-child { padding-bottom: 0 !important; }
.mcv-etape:not(:last-child)::before { content: ""; position: absolute; left: 10px; top: 24px; bottom: 2px; width: 1px; background: var(--mcv-bord); }
.mcv-etape__puce { width: 21px; height: 21px; margin-top: 1px; border: 1px solid var(--mcv-accent); border-radius: 50%; background: var(--mcv-creme); }
.mcv-etape--fait .mcv-etape__puce { border-color: var(--mcv-vert); background: var(--mcv-vert) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6.5 12.5 3.6 3.6L17.5 8.5'/%3E%3C/svg%3E") center / 15px no-repeat; }
.mcv-etape__texte strong { display: block; font-weight: 600; font-size: 17px; color: var(--mcv-texte); }
.mcv-etape__texte span { display: block; margin-top: 2px; color: var(--mcv-doux); font-size: 15.5px; line-height: 1.45; }

/* Informations : deux cartes */
.mcv-merci__cartes { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.mcv-merci__carte { padding: 18px 20px; border: 1px solid var(--mcv-trait); background: #fff; font-size: 16px; line-height: 1.5; }
.mcv-page .mcv-merci__carte h3 { margin: 0 0 8px !important; padding: 0 !important; font: 600 13.5px/1.3 "Harmattan", sans-serif !important; letter-spacing: .08em !important; text-transform: uppercase !important; color: var(--mcv-doux) !important; }
.mcv-merci__carte address { margin: 0; font-style: normal; }
.mcv-merci__carte .mcv-doux { margin-top: 8px !important; font-size: 15px; word-break: break-word; }
/* Adresse du point relais (affichée par Sendcloud) */
.mcv-page .mcv-merci__extensions h3, .mcv-page .mcv-merci__extensions h2 { display: none !important; }
.mcv-merci__extensions:empty { display: none; }
.mcv-merci__extensions p, .mcv-merci__extensions address { margin: 4px 0 0 !important; font-style: normal; }
.mcv-merci__extensions .col2-set, .mcv-merci__extensions .col1 { float: none !important; width: auto !important; margin: 0 !important; }

/* Boutons */
.mcv-merci__actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px !important; padding-top: 28px; border-top: 1px solid var(--mcv-trait); }
.mcv-merci__tete .mcv-merci__actions { justify-content: center; border-top: 0; padding-top: 12px; }
.mcv-page a.mcv-bouton { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 12px 26px !important; border: 1px solid var(--mcv-accent);
	border-radius: 2px; background: transparent; color: var(--mcv-accent) !important; font: 500 16px/1.2 "Harmattan", sans-serif !important; letter-spacing: .06em !important;
	text-transform: uppercase !important; text-decoration: none !important; transition: background-color .2s, color .2s; }
.mcv-page a.mcv-bouton:hover, .mcv-page a.mcv-bouton--plein { background: var(--mcv-accent); color: #FFFBF7 !important; }
.mcv-page a.mcv-bouton--plein:hover { background: transparent; color: var(--mcv-accent) !important; }

/* Récapitulatif (reprend .mcv-recap / .mcv-table de la page de commande) */
.mcv-merci__recap { top: 120px; }
.mcv-page table.mcv-table tfoot tr.mcv-merci__paiement th, .mcv-page table.mcv-table tfoot tr.mcv-merci__paiement td { padding-top: 4px !important; color: var(--mcv-doux); font-size: 15px; }
.mcv-merci__recap .mcv-confiance a { font-size: inherit !important; }

/* Vérification de l'e-mail (WooCommerce, quand la page est ouverte hors de la session de commande) */
.mcv-page-merci .woocommerce > .woocommerce-thankyou-order-received { max-width: 560px; margin: 48px auto 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
	text-align: center; font: 500 34px/1.15 "Cormorant", serif !important; color: var(--mcv-accent) !important; }
.mcv-page-merci form.woocommerce-verify-email { max-width: 560px; margin: 24px auto 0 !important; padding: 28px !important; border: 1px solid var(--mcv-trait) !important; border-radius: 0 !important; background: #fff; }
.mcv-page-merci form.woocommerce-verify-email > p:first-child { margin-bottom: 18px !important; color: var(--mcv-doux); font-size: 16px; }
.mcv-page-merci form.woocommerce-verify-email .form-row { float: none !important; width: auto !important; margin: 0 0 16px !important; padding: 0 !important; }
.mcv-page-merci form.woocommerce-verify-email label { display: block; margin-bottom: 6px; font: 500 15.5px/1.3 "Harmattan", sans-serif !important; text-transform: none !important; letter-spacing: 0 !important; }
.mcv-page-merci form.woocommerce-verify-email input.input-text { width: 100%; height: 50px; padding: 0 14px !important; border: 1px solid var(--mcv-bord) !important; border-radius: 2px !important; background: #fff !important; font: 400 17px/1.3 "Harmattan", sans-serif !important; }
.mcv-page-merci form.woocommerce-verify-email button { width: 100%; min-height: 52px; padding: 12px 20px !important; border: 1px solid var(--mcv-accent) !important; border-radius: 2px !important;
	background: var(--mcv-accent) !important; color: #FFFBF7 !important; font: 500 16px/1.2 "Harmattan", sans-serif !important; letter-spacing: .06em !important; text-transform: uppercase !important; cursor: pointer; }
.mcv-page-merci form.woocommerce-verify-email button:hover { background: transparent !important; color: var(--mcv-accent) !important; }

@media (max-width: 900px) {
	.mcv-merci { padding-top: 28px; }
	.mcv-merci__tete { margin-bottom: 28px; text-align: left; }
	.mcv-merci__ok { width: 44px; height: 44px; margin-bottom: 12px; }
	.mcv-page h1.mcv-merci__titre { font-size: 32px !important; }
	.mcv-merci__intro { font-size: 16.5px; }
	.mcv-merci__grille .mcv-recap { order: 3; margin: 32px 0 0; padding: 22px 16px; }
	.mcv-merci__grille .mcv-recap__tete { display: flex; }
	.mcv-merci__cartes { grid-template-columns: 1fr; }
	.mcv-merci__actions { flex-direction: column; }
	.mcv-page a.mcv-bouton { width: 100%; }
}
