/* Checkout: presentation adapter for the existing MQF styles.css and fonts. */
.checkout-page { display:grid; grid-template-columns:var(--sidebar-width) minmax(0,1fr); align-items:start; overflow-x:visible; color:var(--black); background:var(--paper); }
.checkout-header { grid-column:1; grid-row:1 / 3; align-self:stretch; display:flex; flex-direction:column; align-items:center; gap:26px; min-height:100vh; padding:26px 22px; border-right:1px solid var(--line); background:var(--black); color:white; }
.checkout-brand { display:block; width:100%; max-width:220px; }
.checkout-brand img { display:block; width:100%; height:auto; border-radius:14px; }
.checkout-header .languages { align-self:center; flex-wrap:nowrap; }
.checkout-header .languages button { min-width:44px; min-height:44px; padding:8px; border:0; border-radius:999px; background:transparent; color:white; font-size:13px; }
html[lang="es"] .checkout-header [data-lang="es"], html[lang="ca"] .checkout-header [data-lang="ca"], html[lang="en"] .checkout-header [data-lang="en"], html[lang="fr"] .checkout-header [data-lang="fr"] { background:var(--gold); color:var(--black); }
.checkout-page main { grid-column:2; width:100%; max-width:780px; min-width:0; margin:40px auto 24px; padding:0 32px 24px; }
.checkout-page h1, .checkout-page h2 { font-family:"Anton",sans-serif; font-weight:400; text-transform:uppercase; }
.checkout-page h1 { margin:12px 0 22px; font-size:38px; line-height:1.12; }
.checkout-page h2 { margin:8px 0 0; font-size:23px; line-height:1.2; }
.checkout-page p { line-height:1.5; }
#progress { display:inline-block; margin:0; padding:6px 12px; border-radius:6px; background:var(--black); color:var(--gold); font-family:"Anton",sans-serif; font-size:17px; line-height:1.2; text-transform:uppercase; }
#progress:empty, #status:empty, .error:empty { display:none; }
#lab, #status { margin:0 0 16px; padding:9px 12px; border:1px solid #d5b765; border-radius:6px; background:#fff5dc; color:var(--black); font-size:13px; line-height:1.45; }
.checkout-page form, .summary, .success { min-width:0; padding:22px; border:1px solid #d9dadd; border-radius:12px; background:#fff; }
.checkout-page form { display:grid; gap:18px; }
.fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 16px; }
.checkout-page label { display:grid; min-width:0; gap:7px; font-size:13px; font-weight:800; }
.checkout-page input, .checkout-page select { width:100%; min-width:0; min-height:48px; padding:11px 12px; border:1px solid #cfd0d3; border-radius:7px; background:#fff; color:var(--black); font:inherit; font-size:16px; font-weight:400; }
.checkout-page input:focus, .checkout-page select:focus { border-color:var(--gold); outline:2px solid var(--gold); outline-offset:2px; }
.checkout-page input:read-only { background:#f1f2f4; }
.checkout-page button, .checkout-page .button { display:inline-flex; min-height:44px; align-items:center; justify-content:center; gap:8px; padding:11px 16px; border:1px solid #d5d2ca; border-radius:7px; background:white; color:var(--black); font:inherit; font-size:14px; font-weight:800; line-height:1.35; text-align:center; cursor:pointer; overflow-wrap:anywhere; text-decoration:none; }
.checkout-page .primary { width:100%; min-height:50px; border:1px solid var(--black); background:var(--gold); color:var(--black); text-transform:uppercase; }
.checkout-page button:hover, .checkout-page .button:hover { border-color:var(--black); }
.checkout-page .primary:hover { background:var(--black); color:white; }
.checkout-page button:focus-visible, .checkout-page a:focus-visible, .checkout-page summary:focus-visible { outline:3px solid var(--gold); outline-offset:3px; }
.checkout-page button:disabled { opacity:.6; cursor:wait; }
.actions { display:grid; gap:8px; margin-top:16px; }
.checkout-page form .actions { margin-top:4px; }
.actions [data-back], #contact .actions > .button { width:auto; justify-self:start; min-width:100px; }
#content > .actions > a.button { justify-content:flex-start; justify-self:start; padding:6px 2px; border:0; border-radius:0; background:transparent; font-size:13px; font-weight:600; text-align:left; text-decoration:underline; text-underline-offset:4px; }
.choices { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; margin-top:12px; }
.choices label, .check { display:flex; align-items:center; gap:10px; min-height:48px; padding:12px; border:1px solid #d9dadd; border-radius:10px; font-size:14px; font-weight:600; line-height:1.4; cursor:pointer; }
.choices label:has(input:checked) { border-color:var(--gold); background:#fff5dc; box-shadow:inset 0 0 0 1px var(--gold); }
.check input, .choices input { width:20px; height:20px; min-height:20px; flex:0 0 20px; accent-color:var(--black); }
.checkout-page fieldset { min-width:0; }
.checkout-page legend { font-size:14px; font-weight:800; line-height:1.4; }
.checkout-page form h2 + p { margin:0; }
.summary > p { margin:0 0 8px; font-size:14px; }
.money-row { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:13px 0; border-bottom:1px solid #dedfe1; font-size:15px; line-height:1.4; }
.money-row span { min-width:0; }
.money-row strong { flex-shrink:0; font-size:19px; font-weight:800; white-space:nowrap; font-variant-numeric:tabular-nums; letter-spacing:-.035em; }
.money-row.total { margin:16px 0 4px; padding:14px 12px; border:1px solid var(--black); border-radius:6px; background:var(--gold); font-size:14px; font-weight:800; }
.money-row.total strong { font-size:26px; }
.money-row.deposit { font-weight:800; }
.money-row.deposit strong { font-size:23px; }
.muted { color:#575a60; font-size:14px; line-height:1.5; }
.summary > .muted { margin:16px 0 0; }
.checkout-page details { margin-top:12px; border-top:1px solid #dedfe1; }
.checkout-page summary { min-height:44px; padding:12px 0 0; font-size:14px; font-weight:700; line-height:1.4; cursor:pointer; }
.window { padding:14px 0; border-top:1px solid #dedfe1; }
.window p { margin:5px 0 0; font-size:14px; }
.error { color:#a72222; font-size:13px; font-weight:500; }
.checkout-page input[aria-invalid="true"] { border-color:#a72222; }
.checkout-page footer { grid-column:2; padding:0 24px 24px; color:#575a60; font-size:12px; text-align:center; }
[hidden] { display:none!important; }
@media(max-width:820px) {
 .checkout-page { display:block; }
 .checkout-header { min-height:0; flex-direction:row; justify-content:space-between; gap:14px; padding:12px 16px; border:0; border-bottom:1px solid #dedfe1; background:var(--paper); }
 .checkout-brand { width:64px; flex:0 0 64px; }
 .checkout-brand img { border-radius:9px; }
 .checkout-header .languages { background:var(--black); border-color:var(--line); }
 .checkout-page main { margin:20px auto 0; padding:0 16px 24px; }
 .checkout-page h1 { margin:12px 0 20px; font-size:32px; }
 .checkout-page form, .summary, .success { padding:18px; }
}
@media(max-width:620px) {
 .fields { grid-template-columns:minmax(0,1fr); }
 .checkout-page main { margin-top:16px; }
 .checkout-page h1 { font-size:30px; }
 .money-row { gap:10px; font-size:14px; }
 .money-row.total { padding:12px 10px; }
 .money-row.total strong { font-size:24px; }
 .money-row.deposit strong { font-size:21px; }
}
/* MQF-PROMO-ESCALONADA-01 */
.money-row.promo { font-size:14px; color:#2d6a3e; }
.money-row.promo strong { font-size:16px; }
.privacy-information { border-top:1px solid #dedfe1; padding-top:18px; }
.privacy-information .check { align-items:start; line-height:1.6; font-weight:400; }
.privacy-information a { color:inherit; text-decoration:underline; }
.privacy-information .error { display:block; margin-top:8px; }
#customer input[type="checkbox"] { flex:0 0 24px; width:24px; height:24px; min-height:24px; accent-color:var(--gold); }
#customer .check { display:flex; align-items:flex-start; gap:12px; }
#customer .check > span { min-width:0; flex:1; }
#customer { overflow-wrap:anywhere; }
#customer h2 { margin:0; }
