.mdp-fr-customer {
    --mdp-ink: #292c28;
    --mdp-muted: #62675f;
    --mdp-line: #d7d9d2;
    --mdp-paper: #fff;
    --mdp-soft: #f5f6f2;
    --mdp-accent: #31554a;
    box-sizing: border-box;
    max-width: 56rem;
    margin: 2rem auto;
    padding: clamp(1rem, 4vw, 2.5rem);
    color: var(--mdp-ink);
    background: var(--mdp-paper);
    border: 1px solid var(--mdp-line);
    border-radius: .75rem;
    font: inherit;
    line-height: 1.55;
}

.mdp-fr-customer *,
.mdp-fr-customer *::before,
.mdp-fr-customer *::after { box-sizing: inherit; }

.mdp-fr-header { display: flex; align-items: center; gap: 1rem; margin-bottom: 1.5rem; }
.mdp-fr-header img { display: block; width: 4.5rem; height: 4.5rem; object-fit: contain; flex: 0 0 auto; }
.mdp-fr-header h1 { margin: 0; font-size: clamp(1.65rem, 5vw, 2.25rem); line-height: 1.15; }
.mdp-fr-eyebrow { margin: 0 0 .25rem; color: var(--mdp-muted); font-size: .8rem; font-weight: 700; letter-spacing: .04em; }
.mdp-fr-closed-note, .mdp-fr-request, .mdp-fr-offer { padding: 1rem; background: var(--mdp-soft); border: 1px solid var(--mdp-line); border-radius: .5rem; }
.mdp-fr-origin { margin: 1.25rem 0; }
.mdp-fr-origin a { color: var(--mdp-accent); font-weight: 700; text-underline-offset: .18em; }
.mdp-fr-lines { list-style: none; margin: 1rem 0; padding: 0; }
.mdp-fr-lines li { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .75rem 1rem; align-items: center; padding: 1rem 0; border-bottom: 1px solid var(--mdp-line); }
.mdp-fr-lines li > span:first-child { min-width: 0; }
.mdp-fr-lines small { display: block; color: var(--mdp-muted); }
.mdp-fr-lines label { display: inline-flex; align-items: center; gap: .5rem; }
.mdp-fr-lines input[type="number"] { width: 5rem; }
.mdp-fr-unit, .mdp-fr-remove { color: var(--mdp-muted); font-size: .9rem; }
.mdp-fr-remove { justify-self: end; }
.mdp-fr-request, .mdp-fr-offer { margin-top: 1.5rem; }
.mdp-fr-request h2, .mdp-fr-offer h2 { margin-top: 0; font-size: 1.4rem; }
.mdp-fr-form { margin-top: 1rem; }
.mdp-fr-form fieldset { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin: 1rem 0; padding: 1rem; border: 1px solid var(--mdp-line); border-radius: .4rem; }
.mdp-fr-form legend { padding: 0 .35rem; font-weight: 700; }
.mdp-fr-form fieldset label { display: flex; flex-direction: column; gap: .3rem; font-weight: 600; }
.mdp-fr-form input[type="text"], .mdp-fr-form input[type="email"], .mdp-fr-form input[type="number"] { min-height: 2.75rem; max-width: 100%; padding: .5rem .65rem; color: inherit; background: #fff; border: 1px solid #858b82; border-radius: .25rem; font: inherit; }
.mdp-fr-form input:focus-visible, .mdp-fr-form button:focus-visible, .mdp-fr-origin a:focus-visible { outline: 3px solid #a96e17; outline-offset: 3px; }
.mdp-fr-form button { min-height: 2.9rem; padding: .65rem 1rem; color: #fff; background: var(--mdp-accent); border: 2px solid var(--mdp-accent); border-radius: .35rem; font: inherit; font-weight: 700; cursor: pointer; }
.mdp-fr-form button:hover { background: #233f37; }
.mdp-fr-totals { max-width: 30rem; margin: 1rem 0; }
.mdp-fr-totals div { display: flex; justify-content: space-between; gap: 1rem; padding: .35rem 0; }
.mdp-fr-totals dt, .mdp-fr-totals dd { margin: 0; }
.mdp-fr-total { margin-top: .3rem; padding-top: .65rem !important; border-top: 2px solid var(--mdp-ink); font-size: 1.15rem; font-weight: 700; }
.mdp-fr-choices { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 20rem), 1fr)); gap: 1rem; margin-top: 1.25rem; }
.mdp-fr-choice { min-width: 0; padding: 1rem; background: var(--mdp-paper); border: 1px solid var(--mdp-line); border-radius: .5rem; }
.mdp-fr-choice h3 { margin: 0 0 .5rem; font-size: 1.15rem; line-height: 1.3; }
.mdp-fr-choice > p { color: var(--mdp-muted); }
.mdp-fr-choice .mdp-fr-totals { max-width: none; }
.mdp-fr-choice .mdp-fr-accept { padding-top: .75rem; border-top: 1px solid var(--mdp-line); }
.mdp-fr-check { display: flex; align-items: flex-start; gap: .65rem; margin: 1rem 0; font-weight: 700; }
.mdp-fr-check input { width: 1.2rem; height: 1.2rem; margin-top: .15rem; flex: 0 0 auto; }
.mdp-fr-notice, .mdp-fr-error { margin: 1rem 0; padding: .8rem 1rem; border-radius: .35rem; }
.mdp-fr-notice { color: #173e2a; background: #e9f4ec; border: 1px solid #9bc5a7; }
.mdp-fr-error { color: #721c24; background: #fff0f0; border: 1px solid #d8a3a7; }
.mdp-fr-small, .mdp-fr-expiry, .mdp-fr-pending { color: var(--mdp-muted); font-size: .9rem; }
.mdp-fr-recovery-handoff { margin: .75rem 0; color: var(--mdp-muted); font-size: .9rem; }
.mdp-fr-recovery-handoff summary { width: fit-content; color: var(--mdp-accent); cursor: pointer; text-decoration: underline; text-underline-offset: .15em; }
.mdp-fr-recovery-handoff code { display: block; margin-top: .5rem; padding: .6rem; background: #fff; border: 1px solid var(--mdp-line); border-radius: .25rem; color: var(--mdp-ink); overflow-wrap: anywhere; user-select: all; }
.mdp-fr-address { margin: .5rem 0; color: var(--mdp-muted); overflow-wrap: anywhere; }

@media (max-width: 38rem) {
    .mdp-fr-customer { margin: .75rem; padding: 1rem; border-radius: .45rem; }
    .mdp-fr-header { align-items: flex-start; }
    .mdp-fr-header img { width: 3.5rem; height: 3.5rem; }
    .mdp-fr-form fieldset { grid-template-columns: minmax(0, 1fr); }
    .mdp-fr-lines li { grid-template-columns: minmax(0, 1fr); gap: .5rem; }
    .mdp-fr-remove { justify-self: start; }
    .mdp-fr-form button { width: 100%; }
    .mdp-fr-choices { grid-template-columns: minmax(0, 1fr); }
}

/* The transaction page has its own shell; no theme catalogue or mini-cart. */
body.mdp-fr-page { margin: 0; background: #f5f6f2; }
.mdp-fr-regulatory-banner {
    box-sizing: border-box;
    width: min(56rem, calc(100% - 2rem));
    margin: 1rem auto 0;
    padding: .5rem .75rem;
    border: 1px solid #d7d9d2;
    border-radius: .5rem;
    background: #fff;
}
.mdp-fr-regulatory-banner img {
    display: block;
    width: min(100%, 729px);
    height: auto;
    margin: 0 auto;
}
.mdp-fr-regulatory-mobile-copy { display: none; }
@media (max-width: 600px) {
    .mdp-fr-regulatory-banner { width: calc(100% - 1.5rem); text-align: center; }
    .mdp-fr-regulatory-mobile-copy {
        display: block;
        margin: 0.15rem 0.5rem 0.4rem;
        color: #111;
        font-size: 0.8rem;
        line-height: 1.3;
    }
}
.mdp-fr-page .mdp-fr-customer { width: min(56rem, calc(100% - 2rem)); }
.mdp-fr-form fieldset, .mdp-fr-form fieldset label { min-inline-size: 0; }
.mdp-fr-form input[type="text"], .mdp-fr-form input[type="email"] { width: 100%; min-width: 0; }
@media (max-width: 38rem) { .mdp-fr-page .mdp-fr-customer { width: calc(100% - 1.5rem); } }

.mdp-fr-legal-footer { box-sizing: border-box; max-width: 56rem; margin: 1rem auto 2rem; padding: .75rem 1rem; color: #62675f; text-align: center; font-size: .82rem; line-height: 1.5; }
.mdp-fr-legal-footer nav { display: flex; justify-content: center; flex-wrap: wrap; gap: .25rem .65rem; }
.mdp-fr-legal-footer a, .mdp-fr-legal-back a { color: #31554a; text-underline-offset: .18em; }
.mdp-fr-legal-footer a:focus-visible, .mdp-fr-legal-back a:focus-visible { outline: 3px solid #a96e17; outline-offset: 3px; }
.mdp-fr-legal-footer p { margin: .35rem 0; }
.mdp-fr-legal-content { font-size: .95rem; }
.mdp-fr-legal-content h1 { font-size: clamp(1.6rem, 4vw, 2rem); }
.mdp-fr-legal-content h2 { margin-top: 1.75rem; font-size: 1.22rem; }
.mdp-fr-legal-content p { max-width: 72ch; }

/* Quiet reading layout, shared by the four legal documents. */
.mdp-fr-page .mdp-fr-legal-content {
    max-width: 48rem;
    margin: clamp(1rem, 4vw, 3rem) auto 1rem;
    padding: clamp(1.25rem, 5vw, 3.5rem);
    border-color: #e3e4dd;
    border-radius: .5rem;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    font-size: 1rem;
    line-height: 1.8;
}
.mdp-fr-legal-header { display: flex; align-items: center; justify-content: space-between; gap: 1rem; margin-bottom: 2rem; padding-bottom: 1.25rem; border-bottom: 1px solid var(--mdp-line); }
.mdp-fr-legal-brand { display: block; flex: 0 0 auto; }
.mdp-fr-legal-brand img { display: block; width: 4rem; height: 4rem; object-fit: contain; }
.mdp-fr-legal-header .mdp-fr-legal-back { color: var(--mdp-accent); font-size: .85rem; text-decoration-thickness: 1px; text-underline-offset: .25em; }
.mdp-fr-legal-text { overflow-wrap: anywhere; }
.mdp-fr-legal-text h1 { margin: 0 0 1.75rem; font-family: Georgia, "Times New Roman", serif; font-size: clamp(1.9rem, 5vw, 2.6rem); font-weight: 400; line-height: 1.2; letter-spacing: -.025em; }
.mdp-fr-legal-text h2 { margin: 2rem 0 .65rem; font-size: 1.1rem; font-weight: 600; line-height: 1.4; }
.mdp-fr-legal-text h3 { margin: 1.5rem 0 .5rem; font-size: 1rem; font-weight: 600; }
.mdp-fr-legal-text p { margin: 0 0 1rem; color: #41463f; }
.mdp-fr-legal-text a { color: var(--mdp-accent); text-underline-offset: .2em; }
.mdp-fr-legal-text a:focus-visible, .mdp-fr-legal-header a:focus-visible { outline: 2px solid #31554a; outline-offset: 5px; }
@media (max-width: 38rem) {
    .mdp-fr-legal-header { margin-bottom: 1.5rem; }
    .mdp-fr-legal-brand img { width: 3.25rem; height: 3.25rem; }
    .mdp-fr-page .mdp-fr-legal-content { font-size: .96rem; }
}

#mdp-inline-checkout [hidden]{display:none!important}
#mdp-inline-total{font-size:1.15rem;font-weight:600;margin:1.25rem 0}
#mdp-inline-choices label{display:flex;gap:.6rem;padding:.75rem 0}
#mdp-inline-card{max-width:580px;margin:1rem 0}

.mdp-fr-form fieldset > .mdp-fr-small{grid-column:1/-1}
#mdp-inline-pay:disabled{opacity:.55;cursor:wait}

/* Compact single-page checkout: one basket, shipping rows, one final total. */
.mdp-fr-compact { padding: 1.5rem; line-height: 1.4; }
.mdp-fr-compact .mdp-fr-header { margin-bottom: .75rem; }
.mdp-fr-compact .mdp-fr-header img { width: 3rem; height: 3rem; }
.mdp-fr-compact .mdp-fr-header h1 { font-size: 1.65rem; }
.mdp-fr-compact .mdp-fr-origin { margin: .6rem 0; font-size: .9rem; }
.mdp-fr-compact .mdp-fr-selection { margin: .5rem 0 0; }
.mdp-fr-compact .mdp-fr-lines { margin: .5rem 0; }
.mdp-fr-compact .mdp-fr-lines li { grid-template-columns: minmax(0,1fr) auto; padding: .65rem 0; gap: .25rem .75rem; }
.mdp-fr-compact .mdp-fr-unit { grid-column: 1; }
.mdp-fr-compact .mdp-fr-lines label { grid-column: 2; grid-row: 1 / span 2; font-size: .85rem; }
.mdp-fr-compact .mdp-fr-lines input[type=number] { width: 3.8rem; }
.mdp-fr-compact .mdp-fr-selection button { min-height: 2.75rem; padding: .35rem .7rem; font-size: .85rem; width: auto; }
.mdp-fr-checkout-columns { display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); gap: 1.75rem; margin-top: 1.25rem; padding-top: 1.25rem; border-top: 1px solid var(--mdp-line); }
.mdp-fr-checkout-columns > section { min-width: 0; padding: 0; margin: 0; border: 0; background: transparent; }
.mdp-fr-checkout-columns h2 { font-size: 1.2rem; margin: 0 0 .8rem; }
.mdp-fr-checkout-columns h3 { font-size: 1rem; margin: 1.1rem 0 .5rem; }
.mdp-fr-contact .mdp-fr-form { margin: 0; }
.mdp-fr-contact fieldset { border: 0; padding: 0; margin: 0 0 .8rem; gap: .65rem .75rem; }
.mdp-fr-contact legend { padding: 0; margin-bottom: .45rem; font-size: .9rem; }
.mdp-fr-contact .mdp-fr-contact-fields legend { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.mdp-fr-contact .mdp-fr-contact-fields { grid-template-columns: repeat(2,minmax(0,1fr)); }
.mdp-fr-contact .mdp-fr-full-width { grid-column: 1 / -1; }
.mdp-fr-contact fieldset label { font-size: .9rem; font-weight: 500; }
.mdp-fr-contact .mdp-fr-fulfilment { display: block; }
.mdp-fr-contact .mdp-fr-fulfilment label { flex-direction: row; align-items: center; min-height: 2.75rem; gap: .5rem; margin: 0; }
.mdp-fr-compact .mdp-fr-check { margin: .6rem 0; font-size: .88rem; font-weight: 500; }
.mdp-fr-compact .mdp-fr-small { font-size: .8rem; margin: .4rem 0; }
.mdp-fr-contact [hidden] { display: none !important; }
#mdp-inline-choices label { display: grid; grid-template-columns: 1.2rem minmax(0,1fr) auto; gap: .55rem; align-items: center; padding: .65rem .45rem; margin: 0; border-bottom: 1px solid var(--mdp-line); cursor: pointer; font-weight: 400; }
#mdp-inline-choices label:has(input:checked) { background: var(--mdp-soft); }
#mdp-inline-choices label:focus-within { outline: 2px solid var(--mdp-accent); outline-offset: 1px; }
#mdp-inline-choices strong { display: block; font-size: .88rem; font-weight: 600; }
#mdp-inline-choices small { display: block; margin-top: .15rem; color: var(--mdp-muted); font-size: .78rem; overflow-wrap: anywhere; }
#mdp-inline-choices .mdp-fr-shipping-price { white-space: nowrap; font-size: .9rem; font-weight: 600; }
#mdp-inline-status { font-size: .85rem; color: var(--mdp-muted); margin: .5rem 0; }
.mdp-fr-compact #mdp-inline-total { font-size: .95rem; margin: .85rem 0; padding: .65rem 0; border-bottom: 1px solid var(--mdp-line); }
.mdp-fr-compact #mdp-inline-card { margin: .6rem 0; }
.mdp-fr-compact #mdp-inline-pay { width: 100%; margin-top: .65rem; }
.mdp-fr-compact [aria-labelledby=mdp-fr-recovery-title] { background: none; border: 0; border-top: 1px solid var(--mdp-line); border-radius: 0; padding: .8rem 0 0; margin-top: 1rem; font-size: .85rem; }
@media(max-width: 45rem) {
  .mdp-fr-checkout-columns { grid-template-columns: minmax(0,1fr); gap: 1.25rem; }
  .mdp-fr-checkout-columns > #mdp-inline-checkout { border-top: 1px solid var(--mdp-line); padding-top: 1rem; }
  .mdp-fr-compact { padding: 1rem; }
  .mdp-fr-contact input[type=text], .mdp-fr-contact input[type=email] { font-size: 16px; }
}

.mdp-fr-form input[type=tel] { min-height:2.75rem; width:100%; min-width:0; padding:.5rem .65rem; color:inherit; background:#fff; border:1px solid #858b82; border-radius:.25rem; font:inherit; }
.mdp-fr-contact input[type=tel] { font-size:16px; }
/* Legal detail stays readable without adding a step to ordering. */
.mdp-fr-legal-text .garanties-legales{border:1px solid #b8afa2;padding:1.1rem;margin:1.5rem 0;border-radius:4px}
.mdp-fr-withdrawal form{display:grid;gap:1rem;max-width:36rem}
.mdp-fr-withdrawal label{display:grid;gap:.4rem}
.mdp-fr-withdrawal input:not([type=checkbox]){width:100%;min-height:44px;padding:.65rem;border:1px solid #9c9489;border-radius:4px;font:inherit;box-sizing:border-box}
.mdp-fr-withdrawal button,.mdp-fr-legal-text button{min-height:44px;padding:.7rem 1rem;font:inherit;cursor:pointer;background:#334d43;color:#fff;border:0;border-radius:4px}
.mdp-fr-withdrawal a:focus-visible,.mdp-fr-withdrawal input:focus-visible,.mdp-fr-withdrawal button:focus-visible{outline:3px solid #986821;outline-offset:3px}
.mdp-fr-withdrawal-receipt{overflow-wrap:anywhere}

.mdp-fr-header .mdp-account-link { margin-left:auto; font-size:.9rem; color:inherit; }
