/* Boitage DPE — Parcours Menuisiers
   Chargé par le plugin. Couleurs = celles du logo (bleu marine #1D2A4A, vert #7DB928). */

:root {
	--bdpe-marine: #1D2A4A;
	--bdpe-marine-2: #2E3D63;
	--bdpe-marine-3: #3A4A72;
	--bdpe-marine-card: #26355A;
	--bdpe-vert: #7DB928;
	--bdpe-vert-survol: #6AA21D;
	--bdpe-vert-fonce: #4E7F12;
	--bdpe-vert-clair: #A3D65C;
	--bdpe-texte: #38445A;
	--bdpe-texte-2: #4F5B70;
	--bdpe-fond: #F4F6F9;
	--bdpe-fond-2: #E9EDF3;
	--bdpe-bordure: #DCE2EA;
	--bdpe-bordure-2: #AEB8C6;
	--bdpe-clair: #C3CBDA;
	--bdpe-clair-2: #D3DAE6;
	--bdpe-dpe-a: #009C6D;
	--bdpe-dpe-b: #52B153;
	--bdpe-dpe-c: #78BD76;
	--bdpe-dpe-d: #F4E70F;
	--bdpe-dpe-e: #F0B40F;
	--bdpe-dpe-f: #EB8235;
	--bdpe-dpe-g: #D7221F;
	--bdpe-font-titre: Montserrat, "Helvetica Neue", Arial, sans-serif;
	--bdpe-font-texte: "IBM Plex Sans", "Helvetica Neue", Arial, sans-serif;
	--bdpe-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}

/* ---------- Base ---------- */

.bdpe { font-family: var(--bdpe-font-texte) !important; color: var(--bdpe-texte); font-size: 17px; line-height: 1.55; -webkit-font-smoothing: antialiased; }
.bdpe *, .bdpe *::before, .bdpe *::after { box-sizing: border-box; }
.bdpe.bdpe-page :is(h1, h2, h3, p, ul, ol, li, dl, dd, figure) { margin: 0; padding: 0; }
.bdpe.bdpe-page :is(ul, ol, li) { list-style: none; }
.bdpe.bdpe-page :is(h1, h2, h3, p, ul, ol, li, a, span, dt, dd, label, input, button, summary, strong, em, output) { font-family: inherit; }
.bdpe img { max-width: 100%; height: auto; display: block; }
.bdpe.bdpe-page a, .bdpe.bdpe-merci a { text-decoration: none; box-shadow: none; }
.bdpe a:focus-visible, .bdpe button:focus-visible, .bdpe input:focus-visible, .bdpe summary:focus-visible { outline: 3px solid var(--bdpe-vert); outline-offset: 2px; }

.bdpe .bdpe-wrap { max-width: 1240px; margin: 0 auto; padding: 0 24px; }
.bdpe .bdpe-wrap--etroit { max-width: 880px; }
.bdpe .bdpe-section { position: relative; padding: 80px 0; background: var(--bdpe-bg); box-shadow: 0 0 0 100vmax var(--bdpe-bg); clip-path: inset(0 -100vmax); }
.bdpe .bdpe-section--marine { --bdpe-bg: var(--bdpe-marine); color: #FFFFFF; }
.bdpe .bdpe-section--blanc { --bdpe-bg: #FFFFFF; }
.bdpe .bdpe-section--gris { --bdpe-bg: var(--bdpe-fond); }
.bdpe .bdpe-section--vert { --bdpe-bg: var(--bdpe-vert); color: var(--bdpe-marine); }
#commander, #tarifs, #faq { scroll-margin-top: 90px; }

.bdpe .bdpe-stack { display: flex; flex-direction: column; }
.bdpe .bdpe-stack--16 { gap: 16px; }
.bdpe .bdpe-stack--20 { gap: 20px; }
.bdpe .bdpe-stack--24 { gap: 24px; }
.bdpe .bdpe-stack--28 { gap: 28px; }
.bdpe .bdpe-stack--36 { gap: 36px; }
.bdpe .bdpe-stack--48 { gap: 48px; }
.bdpe .bdpe-grid-2 { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(440px, 100%), 1fr)); gap: 56px; align-items: center; }
.bdpe .bdpe-grid-2--stretch { align-items: stretch; gap: 20px; }
.bdpe .bdpe-intro { display: flex; flex-direction: column; gap: 12px; max-width: 760px; }

/* ---------- Typographie ---------- */

.bdpe .bdpe-eyebrow { font-family: var(--bdpe-font-mono) !important; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bdpe-vert-clair); }
.bdpe .bdpe-eyebrow--muted { color: var(--bdpe-texte-2); }
.bdpe .bdpe-eyebrow--vert { color: var(--bdpe-vert-fonce); }
.bdpe .bdpe-h1 { font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: clamp(32px, 4.2vw, 54px); line-height: 1.08; letter-spacing: -.02em; color: #FFFFFF; text-wrap: balance; }
.bdpe .bdpe-h2 { font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: clamp(28px, 3.2vw, 40px); line-height: 1.1; letter-spacing: -.02em; color: var(--bdpe-marine); text-wrap: balance; }
.bdpe .bdpe-section--marine .bdpe-h2 { color: #FFFFFF; }
.bdpe .bdpe-h2--max { max-width: 760px; }
.bdpe .bdpe-h3 { font-family: var(--bdpe-font-titre) !important; font-weight: 700; font-size: 22px; line-height: 1.25; color: var(--bdpe-marine); }
.bdpe .bdpe-h3--light { font-family: var(--bdpe-font-texte) !important; font-weight: 600; font-size: 18px; color: #FFFFFF; }
.bdpe .bdpe-lead { font-size: 19px; line-height: 1.55; color: var(--bdpe-clair-2); max-width: 560px; text-wrap: pretty; }
.bdpe .bdpe-sub { font-size: 18px; color: var(--bdpe-texte-2); }
.bdpe .bdpe-texte { font-size: 18px; color: var(--bdpe-texte); text-wrap: pretty; }
.bdpe .bdpe-num { font-family: var(--bdpe-font-mono) !important; font-size: 13px; font-weight: 600; color: var(--bdpe-vert-fonce); }

/* ---------- Boutons ---------- */

.bdpe .bdpe-btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 52px; padding: 0 24px; border: 0; border-radius: 8px;
	background: var(--bdpe-vert); color: var(--bdpe-marine) !important;
	font-family: var(--bdpe-font-titre) !important; font-weight: 700; font-size: 16px; line-height: 1.2; text-align: center;
	text-decoration: none !important; cursor: pointer; transition: background .15s, color .15s;
}
.bdpe .bdpe-btn:hover { background: var(--bdpe-vert-survol); color: var(--bdpe-marine) !important; }
.bdpe .bdpe-btn--ghost { background: transparent; border: 2px solid var(--bdpe-marine); color: var(--bdpe-marine) !important; }
.bdpe .bdpe-btn--ghost:hover { background: var(--bdpe-marine); color: #FFFFFF !important; }
.bdpe .bdpe-btn--marine { background: var(--bdpe-marine); color: #FFFFFF !important; min-height: 56px; padding: 0 28px; font-size: 17px; }
.bdpe .bdpe-btn--marine:hover { background: var(--bdpe-marine-2); color: #FFFFFF !important; }
.bdpe .bdpe-btn--outline { background: transparent; border: 2px solid #FFFFFF; color: #FFFFFF !important; }
.bdpe .bdpe-btn--sm { min-height: 44px; padding: 0 16px; font-size: 15px; }
.bdpe .bdpe-btn--auto { align-self: flex-start; }

/* ---------- Listes à coches / croix ---------- */

.bdpe .bdpe-checks li, .bdpe .bdpe-crosses li { position: relative; padding-left: 28px; }
.bdpe .bdpe-checks li::before, .bdpe .bdpe-crosses li::before { content: ""; position: absolute; left: 0; top: .25em; width: 18px; height: 18px; background-position: center; background-repeat: no-repeat; background-size: contain; }
.bdpe .bdpe-checks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2378BD76' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.bdpe .bdpe-checks--fonce li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%232F8A4B' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E"); }
.bdpe .bdpe-crosses li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238792A3' stroke-width='2.4' stroke-linecap='round'%3E%3Cpath d='M6 6l12 12M18 6L6 18'/%3E%3C/svg%3E"); }
.bdpe .bdpe-checks--inline { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 14px; color: var(--bdpe-clair); }
.bdpe .bdpe-checks--inline li { padding-left: 24px; }
.bdpe .bdpe-checks--inline li::before { width: 16px; height: 16px; top: .2em; }

/* ---------- Haut de page ---------- */

.bdpe .bdpe-hero { padding: 64px 0 80px; }
.bdpe .bdpe-hero__grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(480px, 100%), 1fr)); gap: 56px; align-items: center; }
.bdpe .bdpe-hero__text { max-width: 820px; }
.bdpe .bdpe-hero__map { position: relative; border-radius: 16px; overflow: hidden; background: #E3E8EF; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .6); }
.bdpe .bdpe-hero__map img { width: 100%; height: 100%; object-fit: cover; }
.bdpe .bdpe-hero__map--plain { box-shadow: 0 20px 40px -24px rgba(29, 42, 74, .4); }

.bdpe .bdpe-fiche { position: absolute; right: 16px; top: 16px; width: 248px; padding: 16px; border-radius: 12px; background: #FFFFFF; color: var(--bdpe-marine); box-shadow: 0 16px 32px -8px rgba(29, 42, 74, .35); display: flex; flex-direction: column; gap: 10px; font-size: 13px; line-height: 1.3; }
.bdpe .bdpe-fiche__head { display: flex; justify-content: space-between; align-items: center; font-family: var(--bdpe-font-mono) !important; font-size: 11px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: var(--bdpe-texte-2); }
.bdpe .bdpe-fiche__titre { font-weight: 600; font-size: 15px; }
.bdpe .bdpe-fiche__data { display: flex; flex-direction: column; gap: 6px; }
.bdpe .bdpe-fiche__data div { display: flex; justify-content: space-between; gap: 8px; border-top: 1px solid var(--bdpe-fond-2); padding-top: 6px; }
.bdpe .bdpe-fiche__data dt { color: var(--bdpe-texte-2); }
.bdpe .bdpe-fiche__data dd { font-weight: 600; text-align: right; }
.bdpe .bdpe-fiche__btn { display: flex; align-items: center; justify-content: center; height: 36px; border-radius: 6px; background: var(--bdpe-marine); color: #FFFFFF; font-weight: 600; }
.bdpe .bdpe-etiquette { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 26px; border-radius: 4px; font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 15px; }
.bdpe .bdpe-etiquette--g { background: var(--bdpe-dpe-g); color: #FFFFFF; }

/* ---------- Formulaire [bdpe_commande] ---------- */

.bdpe .bdpe-form { display: flex; flex-direction: column; gap: 10px; max-width: 540px; padding: 20px; border-radius: 12px; background: #FFFFFF; color: var(--bdpe-marine); }
.bdpe .bdpe-form__label { font-weight: 600; font-size: 16px; color: var(--bdpe-marine); }
.bdpe .bdpe-form__row { display: flex; flex-wrap: wrap; gap: 8px; }
.bdpe .bdpe-form__input {
	flex: 1 1 200px; min-width: 0; height: 54px; margin: 0;
	padding: 0 16px !important; border: 1.5px solid #98A3B3 !important; border-radius: 8px !important;
	background: #FFFFFF !important; color: var(--bdpe-marine) !important;
	font-family: var(--bdpe-font-mono) !important; font-size: 18px !important;
}
.bdpe .bdpe-form__input:focus { border-color: var(--bdpe-marine) !important; box-shadow: none !important; }
.bdpe .bdpe-form .bdpe-btn { height: 54px; flex: 0 0 auto; }
.bdpe .bdpe-form__hint { font-size: 14px; color: var(--bdpe-texte-2); }

/* ---------- Données de la carte ---------- */

.bdpe .bdpe-donnees { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap: 1px; background: var(--bdpe-bordure); border: 1px solid var(--bdpe-bordure); border-radius: 12px; overflow: hidden; }
.bdpe .bdpe-donnees li { display: flex; flex-direction: column; gap: 8px; padding: 24px; background: #FFFFFF; font-size: 15px; color: var(--bdpe-texte-2); }
.bdpe .bdpe-donnees li strong { font-size: 17px; color: var(--bdpe-marine); }
.bdpe .bdpe-donnees__cta { background: var(--bdpe-fond) !important; justify-content: center; gap: 12px !important; }
.bdpe .bdpe-donnees__cta a { color: var(--bdpe-vert-fonce); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.bdpe .bdpe-donnees__cta a:hover { color: var(--bdpe-marine); }

/* ---------- Comparatif ---------- */

.bdpe .bdpe-compare { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(420px, 100%), 1fr)); gap: 20px; }
.bdpe .bdpe-compare__card { display: flex; flex-direction: column; gap: 18px; padding: 32px; border-radius: 12px; font-size: 17px; }
.bdpe .bdpe-compare__card ul { display: flex; flex-direction: column; gap: 14px; }
.bdpe .bdpe-compare__card--sans { background: var(--bdpe-fond-2); color: var(--bdpe-texte); }
.bdpe .bdpe-compare__card--avec { background: var(--bdpe-marine); color: #FFFFFF; }

/* ---------- Échelle DPE ---------- */

.bdpe .bdpe-echelle { display: flex; flex-direction: column; gap: 6px; }
.bdpe .bdpe-echelle span {
	display: flex; align-items: center; justify-content: space-between; gap: 12px;
	height: 40px; padding: 0 30px 0 14px; opacity: .35;
	font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 20px; color: var(--bdpe-marine);
	clip-path: polygon(0 0, calc(100% - 16px) 0, 100% 50%, calc(100% - 16px) 100%, 0 100%);
}
.bdpe .bdpe-echelle__a { width: 34%; background: var(--bdpe-dpe-a); color: #FFFFFF !important; }
.bdpe .bdpe-echelle__b { width: 44%; background: var(--bdpe-dpe-b); }
.bdpe .bdpe-echelle__c { width: 54%; background: var(--bdpe-dpe-c); }
.bdpe .bdpe-echelle__d { width: 64%; background: var(--bdpe-dpe-d); }
.bdpe .bdpe-echelle__e { width: 74%; background: var(--bdpe-dpe-e); opacity: .55 !important; }
.bdpe .bdpe-echelle__f { width: 84%; height: 52px !important; background: var(--bdpe-dpe-f); opacity: 1 !important; font-size: 24px !important; }
.bdpe .bdpe-echelle__g { width: 94%; height: 52px !important; background: var(--bdpe-dpe-g); color: #FFFFFF !important; opacity: 1 !important; font-size: 24px !important; }
.bdpe .bdpe-echelle em { font-style: normal; font-family: var(--bdpe-font-texte) !important; font-size: 14px; font-weight: 600; }

/* ---------- Offre + calculateur ---------- */

.bdpe .bdpe-offre { display: flex; flex-direction: column; gap: 20px; padding: 32px; border: 1px solid var(--bdpe-bordure); border-radius: 14px; background: #FFFFFF; }
.bdpe .bdpe-offre ul { flex: 1; display: flex; flex-direction: column; gap: 12px; font-size: 16px; }
.bdpe .bdpe-prix { display: flex; align-items: baseline; gap: 8px; }
.bdpe .bdpe-prix strong { font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 48px; letter-spacing: -.02em; line-height: 1; color: var(--bdpe-marine); }
.bdpe .bdpe-prix span { font-size: 16px; color: var(--bdpe-texte-2); }

.bdpe .bdpe-calc { display: flex; flex-direction: column; gap: 16px; padding: 32px; border-radius: 14px; background: var(--bdpe-marine); color: #FFFFFF; }
.bdpe .bdpe-calc__titre { margin: 0; font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 26px; letter-spacing: -.01em; color: #FFFFFF; }
.bdpe .bdpe-calc__label { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; font-weight: 600; font-size: 16px; color: #FFFFFF; }
.bdpe .bdpe-calc__nb { font-family: var(--bdpe-font-mono) !important; font-size: 18px; text-align: right; }
.bdpe .bdpe-calc__range { grid-column: 1 / -1; width: 100%; height: 44px; margin: 0; accent-color: var(--bdpe-vert); cursor: pointer; }
.bdpe .bdpe-calc__bornes { grid-column: 1 / -1; display: flex; justify-content: space-between; font-family: var(--bdpe-font-mono) !important; font-size: 13px; font-weight: 500; color: #98A3B8; }
.bdpe .bdpe-calc__total { flex: 1; display: flex; flex-direction: column; gap: 6px; padding-top: 20px; border-top: 1px solid var(--bdpe-marine-2); }
.bdpe .bdpe-calc__total-label { font-size: 15px; color: var(--bdpe-clair); }
.bdpe .bdpe-calc__ht { font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 48px; line-height: 1; letter-spacing: -.02em; color: #FFFFFF; }
.bdpe .bdpe-calc__ttc { font-size: 14px; color: var(--bdpe-clair); }

/* ---------- Comment ça marche ---------- */

.bdpe .bdpe-etapes { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 32px; }
.bdpe .bdpe-etapes li { display: flex; flex-direction: column; gap: 12px; padding-top: 20px; border-top: 2px solid var(--bdpe-marine-3); font-size: 16px; color: var(--bdpe-clair); }
.bdpe .bdpe-etapes li strong { font-size: 20px; color: #FFFFFF; }
.bdpe .bdpe-etapes__num { font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 44px; line-height: 1; color: var(--bdpe-vert-clair); }

/* ---------- FAQ ---------- */

.bdpe .bdpe-faq { display: flex; flex-direction: column; border-top: 1px solid var(--bdpe-bordure); }
.bdpe .bdpe-faq details { padding: 20px 0; border-bottom: 1px solid var(--bdpe-bordure); }
.bdpe .bdpe-faq summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; min-height: 44px; list-style: none; cursor: pointer; font-size: 18px; font-weight: 600; color: var(--bdpe-marine); }
.bdpe .bdpe-faq summary::-webkit-details-marker { display: none; }
.bdpe .bdpe-faq summary::after { content: "+"; flex: none; font-size: 26px; font-weight: 400; line-height: 1; transition: transform .2s; }
.bdpe .bdpe-faq details[open] summary::after { transform: rotate(45deg); }
.bdpe .bdpe-faq p { margin-top: 12px; font-size: 16px; color: var(--bdpe-texte); }

/* ---------- Bandeau final ---------- */

.bdpe .bdpe-final { padding: 64px 0; }
.bdpe .bdpe-final .bdpe-wrap { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px; }
.bdpe .bdpe-final__text { display: flex; flex-direction: column; gap: 8px; max-width: 640px; }
.bdpe .bdpe-final .bdpe-h2 { color: var(--bdpe-marine); font-size: clamp(28px, 3.4vw, 42px); }
.bdpe .bdpe-final p { font-size: 18px; color: var(--bdpe-marine); }

/* ---------- Accueil : cartes métier ---------- */

.bdpe .bdpe-metiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(300px, 100%), 1fr)); gap: 16px; }
.bdpe .bdpe-metier { display: flex; flex-direction: column; gap: 18px; padding: 28px; border-radius: 14px; border: 3px solid var(--bdpe-marine-2); background: var(--bdpe-marine-card); color: #FFFFFF; transition: border-color .15s, transform .15s; }
.bdpe .bdpe-metier:hover { border-color: var(--bdpe-vert); transform: translateY(-2px); color: #FFFFFF; }
.bdpe .bdpe-metier--star { background: var(--bdpe-fond); color: var(--bdpe-marine); border-color: var(--bdpe-vert); }
.bdpe .bdpe-metier--star:hover { color: var(--bdpe-marine); }
.bdpe .bdpe-metier__head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.bdpe .bdpe-metier__nom { font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 30px; letter-spacing: -.02em; line-height: 1.1; }
.bdpe .bdpe-badge { font-size: 13px; font-weight: 700; padding: 4px 10px; border-radius: 999px; background: var(--bdpe-vert); color: var(--bdpe-marine); white-space: nowrap; }
.bdpe .bdpe-metier__liste { flex: 1; display: flex; flex-direction: column; gap: 8px; font-size: 15px; color: var(--bdpe-clair); }
.bdpe .bdpe-metier--star .bdpe-metier__liste { color: var(--bdpe-texte); }
.bdpe .bdpe-metier__foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; padding-top: 16px; border-top: 1px solid var(--bdpe-marine-3); font-size: 15px; }
.bdpe .bdpe-metier--star .bdpe-metier__foot { border-color: var(--bdpe-bordure); }

.bdpe .bdpe-etapes-accueil { display: flex; flex-direction: column; gap: 22px; }
.bdpe .bdpe-etapes-accueil li { display: flex; gap: 18px; }
.bdpe .bdpe-etapes-accueil .bdpe-etapes__num { flex: none; width: 28px; font-size: 32px; color: var(--bdpe-vert-fonce); }
.bdpe .bdpe-etapes-accueil li > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.bdpe .bdpe-etapes-accueil strong { font-size: 18px; color: var(--bdpe-marine); }
.bdpe .bdpe-etapes__txt { color: var(--bdpe-texte-2); }

.bdpe .bdpe-arguments { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(280px, 100%), 1fr)); gap: 32px; }
.bdpe .bdpe-arguments > div { display: flex; flex-direction: column; gap: 8px; }
.bdpe .bdpe-arguments strong { font-size: 18px; color: var(--bdpe-marine); }
.bdpe .bdpe-arguments > div > span:last-child { color: var(--bdpe-texte-2); }

/* ---------- Barre fixe mobile ---------- */

.bdpe .bdpe-sticky { display: none; }

/* ---------- Page de commande / remerciement ---------- */

.woocommerce-checkout .form-row input.input-text { min-height: 48px; font-size: 16px; }
.woocommerce-checkout .form-row .description { display: block; font-size: 13px; color: var(--bdpe-texte-2); }
.bdpe.bdpe-merci { margin: 0 0 32px; padding: 24px 28px; border-radius: 12px; background: var(--bdpe-fond); border: 1px solid var(--bdpe-bordure); }
.bdpe.bdpe-merci h2 { margin: 0 0 12px; font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 24px; color: var(--bdpe-marine); }
.bdpe.bdpe-merci p { margin: 0 0 8px; }
.bdpe.bdpe-merci ol { margin: 0; padding-left: 20px; list-style: decimal; }
.bdpe.bdpe-merci li { margin-bottom: 6px; }

/* ---------- Tunnel : barre d'étapes (étape 1, commande, remerciement) ---------- */

.bdpe ol.bdpe-steps { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin: 0 0 28px; padding: 0; list-style: none; }
.bdpe .bdpe-steps li { display: flex; flex-direction: column; gap: 8px; margin: 0; font-size: 14px; font-weight: 600; line-height: 1.3; color: var(--bdpe-texte-2); list-style: none; }
.bdpe .bdpe-steps li::before { content: ""; display: block; height: 4px; border-radius: 2px; background: var(--bdpe-bordure); }
.bdpe .bdpe-steps li.is-done::before, .bdpe .bdpe-steps li.is-current::before { background: var(--bdpe-vert); }
.bdpe .bdpe-steps li.is-done { color: var(--bdpe-vert-fonce); }
.bdpe .bdpe-steps li.is-current { color: var(--bdpe-marine); }
.bdpe p.bdpe-steps__retour { margin: -12px 0 24px; font-size: 15px; }
.bdpe .bdpe-steps__retour a { color: var(--bdpe-vert-fonce); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.bdpe.bdpe-etapes-wrap { margin: 0 0 24px; }

/* ---------- Étape 1 : page « Vos codes postaux » ---------- */

.bdpe .bdpe-commande { padding: 40px 0 64px; }
.bdpe .bdpe-commande__grid { display: flex; flex-wrap: wrap; gap: 32px; align-items: flex-start; }
.bdpe .bdpe-card { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 24px; padding: clamp(20px, 4vw, 40px); background: #FFFFFF; border: 1px solid var(--bdpe-bordure); border-radius: 14px; }
.bdpe .bdpe-stack--8 { gap: 8px; }
.bdpe .bdpe-label { font-weight: 600; color: var(--bdpe-marine); }
.bdpe .bdpe-commande__form .bdpe-form__input { flex: 1 1 180px; height: 52px; }
.bdpe .bdpe-commande__form .bdpe-btn--ghost { height: 52px; padding: 0 22px; }
.bdpe .bdpe-alerte { padding: 12px 16px; border-radius: 8px; background: #FDECEC; color: #8A1C1C; font-size: 15px; font-weight: 500; }
.bdpe .bdpe-alerte[hidden] { display: none; }
.bdpe .bdpe-chips { display: flex; flex-wrap: wrap; gap: 8px; min-height: 0; }
.bdpe .bdpe-chips:empty { display: none; }
.bdpe .bdpe-chips li { display: flex; align-items: center; gap: 2px; padding-left: 14px; border-radius: 999px; background: var(--bdpe-marine); color: #FFFFFF; font-family: var(--bdpe-font-mono) !important; font-size: 15px; font-weight: 600; }
.bdpe .bdpe-chips li button { width: 40px; height: 40px; margin: 0; padding: 0; border: 0; border-radius: 999px; background: transparent; color: var(--bdpe-clair); font-size: 20px; line-height: 1; cursor: pointer; }
.bdpe .bdpe-chips li button:hover { color: #FFFFFF; background: var(--bdpe-marine-2); }
.bdpe .bdpe-commande__footer { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 12px; padding-top: 24px; border-top: 1px solid var(--bdpe-fond-2); }
.bdpe .bdpe-commande__total { font-size: 16px; color: var(--bdpe-texte); }
.bdpe .bdpe-commande__total strong { color: var(--bdpe-marine); }
.bdpe .bdpe-btn:disabled { background: #C9D1DC; color: var(--bdpe-texte-2) !important; cursor: not-allowed; }
.bdpe .bdpe-recap { flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 20px; padding: 28px; border-radius: 14px; background: var(--bdpe-marine); color: #FFFFFF; }
.bdpe .bdpe-recap__titre { font-family: var(--bdpe-font-texte) !important; font-size: 18px; font-weight: 700; color: #FFFFFF; }
.bdpe .bdpe-recap__bloc { display: flex; flex-direction: column; gap: 8px; }
.bdpe .bdpe-recap__produit { font-size: 16px; font-weight: 600; }
.bdpe .bdpe-recap__codes { display: flex; flex-wrap: wrap; gap: 6px; }
.bdpe .bdpe-recap__codes li { padding: 4px 10px; border-radius: 999px; background: var(--bdpe-marine-2); font-family: var(--bdpe-font-mono) !important; font-size: 14px; }
.bdpe .bdpe-recap__vide { font-size: 15px; color: #98A3B8; }
.bdpe .bdpe-recap__vide[hidden] { display: none; }
.bdpe dl.bdpe-recap__totaux { display: flex; flex-direction: column; gap: 8px; padding-top: 16px; border-top: 1px solid var(--bdpe-marine-2); font-size: 15px; }
.bdpe .bdpe-recap__totaux div { display: flex; justify-content: space-between; gap: 12px; }
.bdpe .bdpe-recap__totaux dt { color: var(--bdpe-clair); }
.bdpe .bdpe-recap__ttc { align-items: baseline; padding-top: 12px; border-top: 1px solid var(--bdpe-marine-2); }
.bdpe .bdpe-recap__ttc dt { color: #FFFFFF; font-weight: 600; }
.bdpe .bdpe-recap__ttc dd { font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 30px; line-height: 1; }
.bdpe ul.bdpe-recap__reassurance { gap: 10px; padding-top: 16px; border-top: 1px solid var(--bdpe-marine-2); font-size: 14px; color: var(--bdpe-clair); display: flex; flex-direction: column; }

/* ---------- Thème Astra : neutralisé autour des deux pages ---------- */

body:has(.bdpe-page) #secondary,
body:has(.bdpe-page) .entry-header { display: none; }
body:has(.bdpe-page) #primary { width: 100%; max-width: none; margin: 0; padding: 0; }
body:has(.bdpe-page) #content > .ast-container { max-width: none; padding-left: 0; padding-right: 0; }
body:has(.bdpe-page) .ast-article-single,
body:has(.bdpe-page) .entry-content { padding: 0; margin: 0; border: 0; background: transparent; }
body:has(.bdpe-page) .entry-content > p:empty { display: none; }

/* ---------- Mobile ---------- */

@media (max-width: 768px) {
	.bdpe .bdpe-section { padding: 48px 0; }
	.bdpe .bdpe-hero { padding: 32px 0 48px; }
	.bdpe .bdpe-hero__grid, .bdpe .bdpe-grid-2 { gap: 32px; }
	.bdpe .bdpe-wrap { padding: 0 16px; }
	.bdpe .bdpe-h1 { font-size: 30px; line-height: 1.14; }
	.bdpe .bdpe-lead { font-size: 16px; }
	.bdpe .bdpe-compare__card, .bdpe .bdpe-offre, .bdpe .bdpe-calc, .bdpe .bdpe-metier { padding: 20px; }
	.bdpe .bdpe-prix strong, .bdpe .bdpe-calc__ht { font-size: 40px; }
	.bdpe .bdpe-form { padding: 16px; }
	.bdpe .bdpe-form .bdpe-btn { flex: 1 1 100%; }
	.bdpe .bdpe-final .bdpe-btn { width: 100%; }

	.bdpe .bdpe-sticky {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 999;
		display: flex; align-items: center; gap: 12px;
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		background: #FFFFFF; border-top: 1px solid var(--bdpe-bordure);
		box-shadow: 0 -8px 24px -12px rgba(29, 42, 74, .3);
		transition: transform .25s;
	}
	.bdpe .bdpe-sticky--hidden { transform: translateY(110%); }
	.bdpe .bdpe-sticky__prix { display: flex; flex-direction: column; line-height: 1.2; color: var(--bdpe-marine); }
	.bdpe .bdpe-sticky__prix strong { font-size: 17px; }
	.bdpe .bdpe-sticky__prix span { font-size: 13px; color: var(--bdpe-texte-2); }
	.bdpe .bdpe-sticky .bdpe-btn { flex: 1; }
	body.bdpe-has-sticky { padding-bottom: 84px; }
}

@media (max-width: 600px) {
	.bdpe .bdpe-fiche { display: none; }
}

/* =====================================================================
   Pages de commande (/checkout-2/) et de remerciement — body.bdpe-checkout
   ===================================================================== */

body.bdpe-checkout { background: var(--bdpe-fond) !important; }
body.bdpe-checkout #secondary,
body.bdpe-checkout .entry-header,
body.bdpe-checkout .ast-breadcrumbs-wrapper { display: none !important; }
body.bdpe-checkout #content > .ast-container { max-width: 1208px !important; padding-left: 24px !important; padding-right: 24px !important; }
body.bdpe-checkout #primary { width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; padding: 32px 0 72px !important; }
body.bdpe-checkout .ast-article-single,
body.bdpe-checkout .ast-article-post,
body.bdpe-checkout article.page,
body.bdpe-checkout .entry-content { background: transparent !important; padding: 0 !important; margin: 0 !important; border: 0 !important; box-shadow: none !important; }
body.bdpe-checkout .woocommerce,
body.bdpe-checkout .woocommerce * { font-family: var(--bdpe-font-texte); }
body.bdpe-checkout .woocommerce { color: var(--bdpe-texte); font-size: 16px; }

/* En-tête : étapes, titre, bandeau sécurité */
.bdpe.bdpe-co-head { margin: 0 0 28px; }
.bdpe.bdpe-co-head .bdpe-co-head__titre { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 16px; }
.bdpe.bdpe-co-head h1 { margin: 0; font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: clamp(26px, 3.2vw, 36px); line-height: 1.1; letter-spacing: -.02em; color: var(--bdpe-marine); }
.bdpe .bdpe-co-head__secure { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 8px 14px; border-radius: 999px; background: #E6F2D6; color: #2F5A0A; font-weight: 700; font-size: 14px; }
.bdpe ul.bdpe-secu { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(240px, 100%), 1fr)); gap: 12px; margin: 0; padding: 0; list-style: none; }
.bdpe ul.bdpe-secu li { display: flex; align-items: center; gap: 12px; margin: 0; padding: 14px 16px; background: #FFFFFF; border: 1px solid var(--bdpe-bordure); border-radius: 12px; list-style: none; }
.bdpe .bdpe-secu__ic { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 36px; height: 36px; border-radius: 50%; background: var(--bdpe-marine); color: var(--bdpe-vert-clair); }
.bdpe ul.bdpe-secu strong { display: block; font-size: 15px; color: var(--bdpe-marine); line-height: 1.25; }
.bdpe ul.bdpe-secu small { display: block; font-size: 13px; color: var(--bdpe-texte-2); line-height: 1.35; }

/* Bandeau code promo et messages */
body.bdpe-checkout .woocommerce-form-coupon-toggle .woocommerce-info,
body.bdpe-checkout .woocommerce-info { margin: 0 0 20px; padding: 14px 18px 14px 18px; border: 1px solid var(--bdpe-bordure) !important; border-radius: 10px; background: #FFFFFF; color: var(--bdpe-texte); font-size: 15px; }
body.bdpe-checkout .woocommerce-info::before { display: none; }
body.bdpe-checkout .woocommerce-info a { color: var(--bdpe-vert-fonce); font-weight: 600; }
body.bdpe-checkout form.checkout_coupon { margin: 0 0 20px; padding: 18px; border: 1px solid var(--bdpe-bordure); border-radius: 10px; background: #FFFFFF; }
body.bdpe-checkout .woocommerce-error,
body.bdpe-checkout .woocommerce-NoticeGroup .woocommerce-error { margin: 0 0 20px; padding: 14px 18px; border: 0; border-radius: 10px; background: #FDECEC; color: #8A1C1C; list-style: none; }
body.bdpe-checkout .woocommerce-error::before { display: none; }

/* Mise en page deux colonnes */
body.bdpe-checkout form.woocommerce-checkout {
	display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 420px); column-gap: 32px; row-gap: 0; align-items: start;
	grid-template-areas: "notes notes" "client titre" "client recap";
}
body.bdpe-checkout form.woocommerce-checkout .woocommerce-NoticeGroup { grid-area: notes; }
body.bdpe-checkout form.woocommerce-checkout #customer_details { grid-area: client; }
body.bdpe-checkout form.woocommerce-checkout #order_review_heading { grid-area: titre; }
body.bdpe-checkout form.woocommerce-checkout #order_review { grid-area: recap; }
body.bdpe-checkout form.woocommerce-checkout #customer_details,
body.bdpe-checkout form.woocommerce-checkout #order_review_heading,
body.bdpe-checkout form.woocommerce-checkout #order_review { float: none !important; width: auto !important; max-width: none !important; margin: 0 !important; }

/* Carte coordonnées */
body.bdpe-checkout #customer_details { padding: 28px; background: #FFFFFF; border: 1px solid var(--bdpe-bordure); border-radius: 14px; }
body.bdpe-checkout #customer_details .col-1,
body.bdpe-checkout #customer_details .col-2 { float: none !important; width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
body.bdpe-checkout #customer_details .col-2:empty { display: none; }
body.bdpe-checkout #customer_details h3,
body.bdpe-checkout #order_review_heading { margin: 0 0 18px; padding: 0; font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 22px; line-height: 1.2; color: var(--bdpe-marine); border: 0; background: none; }
body.bdpe-checkout #order_review_heading { padding: 24px 28px 0; background: #FFFFFF; border: 1px solid var(--bdpe-bordure); border-bottom: 0; border-radius: 14px 14px 0 0; margin: 0 !important; }
body.bdpe-checkout .woocommerce-billing-fields__field-wrapper { display: flex; flex-wrap: wrap; column-gap: 16px; }
body.bdpe-checkout .woocommerce form .form-row { flex: 1 1 100%; margin: 0 0 16px; padding: 0; }
body.bdpe-checkout .woocommerce form .form-row-first,
body.bdpe-checkout .woocommerce form .form-row-last { flex: 1 1 calc(50% - 8px); width: auto; float: none; }
body.bdpe-checkout .woocommerce form .form-row label { display: block; margin: 0 0 6px; font-weight: 600; font-size: 15px; line-height: 1.3; color: var(--bdpe-marine); }
body.bdpe-checkout .woocommerce form .form-row .required { color: #B42318; text-decoration: none; }
body.bdpe-checkout .woocommerce form .form-row .optional { font-weight: 400; color: var(--bdpe-texte-2); }
body.bdpe-checkout .woocommerce form .form-row input.input-text,
body.bdpe-checkout .woocommerce form .form-row select,
body.bdpe-checkout .woocommerce form .form-row textarea,
body.bdpe-checkout .select2-container .select2-selection--single {
	width: 100%; min-height: 50px; padding: 0 14px; border: 1.5px solid #98A3B3 !important; border-radius: 8px !important;
	background: #FFFFFF; color: var(--bdpe-marine); font-size: 16px; box-shadow: none; box-sizing: border-box;
}
body.bdpe-checkout .select2-container .select2-selection--single .select2-selection__rendered { line-height: 47px; padding: 0; color: var(--bdpe-marine); }
body.bdpe-checkout .select2-container .select2-selection--single .select2-selection__arrow { height: 48px; }
body.bdpe-checkout .woocommerce form .form-row input.input-text:focus,
body.bdpe-checkout .woocommerce form .form-row select:focus { border-color: var(--bdpe-marine) !important; outline: 3px solid var(--bdpe-vert); outline-offset: 1px; }
body.bdpe-checkout .woocommerce form .form-row.woocommerce-invalid input.input-text { border-color: #B42318 !important; }
body.bdpe-checkout .woocommerce form .form-row .description { display: block !important; margin-top: 6px; padding: 0; background: none; color: var(--bdpe-texte-2); font-size: 13px; }
body.bdpe-checkout .woocommerce form .form-row .description::before { display: none; }
body.bdpe-checkout #billing_country_field strong { display: inline-block; padding: 12px 0; color: var(--bdpe-marine); }

/* Carte récapitulatif + paiement */
body.bdpe-checkout #order_review { padding: 8px 28px 28px; background: #FFFFFF; border: 1px solid var(--bdpe-bordure); border-top: 0; border-radius: 0 0 14px 14px; position: sticky; top: 24px; }
body.bdpe-checkout table.woocommerce-checkout-review-order-table { width: 100%; margin: 0 0 20px; border: 0 !important; border-collapse: collapse; font-size: 15px; }
body.bdpe-checkout table.woocommerce-checkout-review-order-table th,
body.bdpe-checkout table.woocommerce-checkout-review-order-table td { padding: 12px 0; border: 0 !important; border-bottom: 1px solid var(--bdpe-fond-2) !important; background: none !important; color: var(--bdpe-texte); vertical-align: top; }
body.bdpe-checkout table.woocommerce-checkout-review-order-table thead { display: none; }
body.bdpe-checkout table.woocommerce-checkout-review-order-table td.product-total,
body.bdpe-checkout table.woocommerce-checkout-review-order-table tfoot td { text-align: right; white-space: nowrap; }
body.bdpe-checkout table.woocommerce-checkout-review-order-table .product-name { color: var(--bdpe-marine); font-weight: 600; }
body.bdpe-checkout table.woocommerce-checkout-review-order-table .product-name dl.variation { margin: 4px 0 0; font-weight: 400; font-size: 13px; color: var(--bdpe-texte-2); }
body.bdpe-checkout table.woocommerce-checkout-review-order-table .product-name dl.variation dt,
body.bdpe-checkout table.woocommerce-checkout-review-order-table .product-name dl.variation dd { display: inline; margin: 0; padding: 0; float: none; }
body.bdpe-checkout table.woocommerce-checkout-review-order-table .product-name dl.variation dd p { display: inline; margin: 0; font-family: var(--bdpe-font-mono); font-weight: 600; color: var(--bdpe-marine); }
body.bdpe-checkout table.woocommerce-checkout-review-order-table .product-quantity { font-weight: 400; color: var(--bdpe-texte-2); }
body.bdpe-checkout table.woocommerce-checkout-review-order-table tfoot th { font-weight: 500; text-align: left; }
body.bdpe-checkout table.woocommerce-checkout-review-order-table tr.order-total th,
body.bdpe-checkout table.woocommerce-checkout-review-order-table tr.order-total td { border-bottom: 0 !important; padding-top: 16px; color: var(--bdpe-marine); }
body.bdpe-checkout table.woocommerce-checkout-review-order-table tr.order-total td strong,
body.bdpe-checkout table.woocommerce-checkout-review-order-table tr.order-total td .amount { font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 26px; color: var(--bdpe-marine); }
body.bdpe-checkout table.woocommerce-checkout-review-order-table tr.order-total .includes_tax { display: block; font-size: 12px; font-weight: 400; color: var(--bdpe-texte-2); }

body.bdpe-checkout #payment { background: transparent !important; border-radius: 0; padding: 0; }
body.bdpe-checkout #payment ul.payment_methods { margin: 0 0 16px; padding: 0 !important; border: 0 !important; list-style: none; }
body.bdpe-checkout #payment ul.payment_methods li { margin: 0 0 8px; padding: 14px 16px; border: 1.5px solid var(--bdpe-bordure); border-radius: 10px; background: #FFFFFF; list-style: none; }
body.bdpe-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--bdpe-vert); box-shadow: 0 0 0 1px var(--bdpe-vert); }
body.bdpe-checkout #payment ul.payment_methods li > label { font-weight: 600; color: var(--bdpe-marine); cursor: pointer; }
body.bdpe-checkout #payment ul.payment_methods li img { max-height: 22px; vertical-align: middle; margin-left: 6px; }
body.bdpe-checkout #payment div.payment_box { margin: 12px 0 0; padding: 14px; border-radius: 8px; background: var(--bdpe-fond) !important; color: var(--bdpe-texte); font-size: 14px; }
body.bdpe-checkout #payment div.payment_box::before { display: none; }
body.bdpe-checkout #payment div.form-row.place-order { margin: 0; padding: 0 !important; }
body.bdpe-checkout .woocommerce-terms-and-conditions-wrapper { margin: 0 0 14px; font-size: 14px; }
body.bdpe-checkout .woocommerce-terms-and-conditions-wrapper a { color: var(--bdpe-vert-fonce); font-weight: 600; }
body.bdpe-checkout .woocommerce-privacy-policy-text p { font-size: 12px; color: var(--bdpe-texte-2); }

body.bdpe-checkout #place_order,
body.bdpe-checkout .wc-block-components-checkout-place-order-button {
	display: flex !important; align-items: center; justify-content: center; gap: 10px; width: 100% !important; float: none !important;
	min-height: 58px; margin: 0; padding: 0 24px !important; border: 0 !important; border-radius: 10px !important;
	background: var(--bdpe-vert) !important; color: var(--bdpe-marine) !important;
	font-family: var(--bdpe-font-titre) !important; font-weight: 700 !important; font-size: 17px !important; text-transform: none !important; letter-spacing: 0; cursor: pointer;
}
body.bdpe-checkout #place_order::before {
	content: ""; flex: none; width: 20px; height: 20px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231D2A4A' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='11' width='14' height='10' rx='2'/%3E%3Cpath d='M8 11V8a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E") no-repeat center / contain;
}
body.bdpe-checkout #place_order:hover { background-color: var(--bdpe-vert-survol) !important; }

.bdpe.bdpe-pay-secure { margin: 0 0 16px; padding: 14px 16px; border-radius: 10px; background: #F1F8E8; border: 1px solid #CFE5B3; font-size: 13px; line-height: 1.45; color: var(--bdpe-texte); }
.bdpe.bdpe-pay-secure p { margin: 0 0 8px; }
.bdpe .bdpe-pay-secure__titre { display: flex; align-items: center; gap: 8px; color: #2F5A0A; font-size: 15px; }
.bdpe .bdpe-moyens { display: flex; flex-wrap: wrap; gap: 6px; }
.bdpe .bdpe-moyens span { padding: 3px 8px; border: 1px solid var(--bdpe-bordure); border-radius: 6px; background: #FFFFFF; font-size: 12px; font-weight: 600; color: var(--bdpe-marine); }
.bdpe.bdpe-pay-secure--bloc { max-width: 1160px; margin: 20px auto 0; }
.bdpe.bdpe-pay-after { display: flex; align-items: center; justify-content: center; gap: 6px; margin: 12px 0 0; font-size: 12px; color: var(--bdpe-texte-2); }

/* Bloc Commande (si utilisé) */
body.bdpe-checkout .wc-block-checkout { font-family: var(--bdpe-font-texte); }
body.bdpe-checkout .wc-block-components-checkout-step__title,
body.bdpe-checkout .wc-block-components-title { font-family: var(--bdpe-font-titre) !important; font-weight: 800 !important; color: var(--bdpe-marine) !important; }
body.bdpe-checkout .wc-block-checkout__sidebar,
body.bdpe-checkout .wc-block-checkout__main { background: #FFFFFF; border: 1px solid var(--bdpe-bordure); border-radius: 14px; padding: 24px !important; }

/* Page de remerciement */
.bdpe .bdpe-merci-hero { display: flex; align-items: center; gap: 18px; padding: 24px 28px; background: #FFFFFF; border: 1px solid var(--bdpe-bordure); border-left: 0; border-radius: 14px; box-shadow: inset 6px 0 0 var(--bdpe-vert); }
.bdpe .bdpe-merci-hero h1 { margin: 0 0 6px; font-size: clamp(24px, 3vw, 32px); }
.bdpe .bdpe-merci-hero p { margin: 0; font-size: 15px; color: var(--bdpe-texte); }
.bdpe .bdpe-merci-hero__ok { flex: none; display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; border-radius: 50%; background: #E6F2D6; color: #2F5A0A; }
.bdpe .bdpe-merci-hero--echec { box-shadow: inset 6px 0 0 #D7221F; display: block; }
body.bdpe-merci-page .woocommerce-thankyou-order-received { display: none; }
body.bdpe-merci-page ul.woocommerce-order-overview { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(180px, 100%), 1fr)); gap: 12px; margin: 0 0 28px; padding: 0; list-style: none; }
body.bdpe-merci-page ul.woocommerce-order-overview li { margin: 0; padding: 14px 16px; border: 1px solid var(--bdpe-bordure) !important; border-radius: 12px; background: #FFFFFF; font-size: 12px; text-transform: uppercase; letter-spacing: .04em; color: var(--bdpe-texte-2); float: none; }
body.bdpe-merci-page ul.woocommerce-order-overview li strong { display: block; margin-top: 4px; font-size: 16px; text-transform: none; letter-spacing: 0; color: var(--bdpe-marine); }
body.bdpe-merci-page ul.woocommerce-order-overview::before,
body.bdpe-merci-page ul.woocommerce-order-overview::after { display: none; }
body.bdpe-merci-page .woocommerce-order > p:not([class]) { margin: 0 0 20px; }
body.bdpe-merci-page .woocommerce-order-details,
body.bdpe-merci-page .woocommerce-customer-details { margin: 0 0 24px; padding: 24px 28px; background: #FFFFFF; border: 1px solid var(--bdpe-bordure); border-radius: 14px; }
body.bdpe-merci-page .woocommerce-order-details__title,
body.bdpe-merci-page .woocommerce-column__title { margin: 0 0 14px; font-family: var(--bdpe-font-titre) !important; font-weight: 800; font-size: 20px; color: var(--bdpe-marine); }
body.bdpe-merci-page table.order_details { width: 100%; margin: 0; border: 0 !important; border-collapse: collapse; font-size: 15px; }
body.bdpe-merci-page table.order_details th,
body.bdpe-merci-page table.order_details td { padding: 12px 0; border: 0 !important; border-bottom: 1px solid var(--bdpe-fond-2) !important; background: none !important; text-align: left; }
body.bdpe-merci-page table.order_details td:last-child,
body.bdpe-merci-page table.order_details tfoot td { text-align: right; }
body.bdpe-merci-page table.order_details .wc-item-meta { margin: 4px 0 0; padding: 0; list-style: none; font-size: 13px; color: var(--bdpe-texte-2); }
body.bdpe-merci-page table.order_details .wc-item-meta li p { display: inline; margin: 0; font-family: var(--bdpe-font-mono); font-weight: 600; color: var(--bdpe-marine); }
body.bdpe-merci-page .woocommerce-customer-details address { padding: 0; border: 0; font-style: normal; line-height: 1.6; }
body.bdpe-merci-page .bdpe.bdpe-merci { background: #FFFFFF; }

@media (max-width: 900px) {
	body.bdpe-checkout form.woocommerce-checkout { grid-template-columns: minmax(0, 1fr); grid-template-areas: "notes" "client" "titre" "recap"; }
	body.bdpe-checkout #customer_details { margin-bottom: 20px !important; }
	body.bdpe-checkout #order_review { position: static; }
}
@media (max-width: 600px) {
	body.bdpe-checkout #content > .ast-container { padding-left: 12px !important; padding-right: 12px !important; }
	body.bdpe-checkout #customer_details,
	body.bdpe-checkout #order_review { padding-left: 18px; padding-right: 18px; }
	body.bdpe-checkout #order_review_heading { padding: 20px 18px 0; }
	body.bdpe-checkout .woocommerce form .form-row-first,
	body.bdpe-checkout .woocommerce form .form-row-last { flex-basis: 100%; }
	.bdpe .bdpe-merci-hero { flex-direction: column; align-items: flex-start; }
}
