.page{--ink:#191713;--paper:#f2ede5;--cream:#faf7f1;--panel:#e9dfd2;--line:rgba(25,23,19,.17);--gold:#9a7447;--muted:#756d64;min-height:100vh;background:var(--paper);color:var(--ink);font-family:Arial,Helvetica,sans-serif}.header{position:sticky;top:0;z-index:30;height:78px;padding:0 clamp(18px,4vw,62px);border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;background:var(--vidrio);backdrop-filter:blur(16px)}.logo{display:flex;flex-direction:column;width:max-content;color:inherit;text-decoration:none}.logo span{font:400 19px/1 'Times New Roman',Times,serif;letter-spacing:-.02em}.logo em{margin-top:2px;color:var(--gold);font:italic 10px/1 'Times New Roman',Times,serif}.headerCenter{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:7px;font-weight:700;letter-spacing:.17em}.headerCenter i{width:3px;height:3px;border-radius:50%;background:var(--gold)}.close{justify-self:end;width:34px;height:34px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);font-size:20px}.bookingIntro{width:min(1160px,calc(100% - 48px));margin:0 auto;padding:82px 0 70px;border-bottom:1px solid var(--line);display:grid;grid-template-columns:1fr 350px;gap:60px;align-items:end}.bookingIntro small{color:var(--gold);font-size:8px;font-weight:700;letter-spacing:.2em}.bookingIntro h1{margin:18px 0 0;font:400 clamp(58px,6vw,86px)/.87 'Times New Roman',Times,serif;letter-spacing:-.05em}.bookingIntro h1 em{color:var(--gold);font-weight:400}.bookingIntro p{max-width:330px;margin:0;color:var(--muted);font-size:11px;line-height:1.8}.layout{width:min(1160px,calc(100% - 48px));margin:0 auto;padding:62px 0 110px;display:grid;grid-template-columns:minmax(0,1fr) 315px;gap:72px}.flow{position:relative}.flow:before{content:"";position:absolute;left:22px;top:44px;bottom:44px;width:1px;background:var(--line)}.step{position:relative;border-bottom:1px solid var(--line);scroll-margin-top:92px}.step:first-child{border-top:1px solid var(--line)}.step:after{content:"";position:absolute;z-index:1;left:20px;top:43px;width:5px;height:5px;border-radius:50%;background:var(--paper);border:1px solid var(--gold)}.openStep:after,.completedStep:after{background:var(--gold)}.stepHead{position:relative;z-index:2;width:100%;min-height:88px;padding:22px 8px 22px 0;border:0;display:grid;grid-template-columns:46px 1fr auto;gap:18px;align-items:center;background:transparent;color:var(--ink);text-align:left}.stepHead:disabled{opacity:.37}.stepNumber{color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.12em}.stepHeading{display:flex;flex-direction:column;gap:7px}.stepHeading>b{font:400 28px/1 'Times New Roman',Times,serif}.stepHeading>small{color:var(--muted);font-size:8px}.edit{padding-bottom:5px;border-bottom:1px solid var(--gold);color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.12em}.stepContent{padding:13px 0 52px 64px;animation:reveal .32s cubic-bezier(.22,.8,.22,1)}@keyframes reveal{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}.categoryRail{display:flex;gap:8px;margin-bottom:23px;overflow-x:auto;scrollbar-width:none}.categoryRail button{flex:none;padding:11px 15px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--muted);font-size:8px}.categoryRail button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.serviceList{border-top:1px solid var(--line)}.serviceItem{border-bottom:1px solid var(--line)}.serviceMain{width:100%;min-height:104px;padding:21px 3px;border:0;display:flex;justify-content:space-between;align-items:center;gap:20px;background:transparent;color:var(--ink);text-align:left}.serviceMain>span{display:flex;flex-direction:column}.serviceMain b{font:400 25px/1.05 'Times New Roman',Times,serif}.serviceMain small{max-width:500px;margin-top:8px;color:var(--muted);font-size:8px;line-height:1.5}.serviceMain i{margin-top:11px;color:var(--gold);font-size:7px;font-weight:700;font-style:normal;letter-spacing:.08em}.serviceMain strong{flex:none;width:31px;height:31px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-weight:400}.selectedService{background:var(--cream)}.selectedService .serviceMain{padding-left:20px;padding-right:20px}.selectedService .serviceMain strong{background:var(--ink);color:var(--paper)}.personalize{padding:0 20px 28px}.optionBlock{padding:23px 0;border-top:1px solid var(--line)}.optionTitle{display:flex;justify-content:space-between;align-items:end}.optionTitle>b{font:400 18px/1 'Times New Roman',Times,serif}.optionTitle small{color:var(--muted);font-size:7px}.lengthGrid{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.lengthGrid button{min-height:59px;padding:10px;border:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;background:transparent;color:var(--ink)}.lengthGrid button span{font:400 14px/1 'Times New Roman',Times,serif}.lengthGrid button b{font-size:8px}.lengthGrid button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.designGrid{margin-top:16px;display:grid;grid-template-columns:1fr 1fr;gap:7px}.designGrid button{min-height:46px;padding:10px 12px;border:1px solid var(--line);background:transparent;color:var(--ink);text-align:left;font-size:8px}.designGrid button[aria-pressed=true]{border-color:var(--gold);background:var(--realce)}.removalRow{padding-top:22px;border-top:1px solid var(--line);display:flex;gap:12px;align-items:center;cursor:pointer}.checkbox{width:23px!important;height:23px!important;border-radius:0!important;border-color:var(--line-2)!important;background:var(--paper)!important;color:var(--gold)!important}.removalRow>span{display:flex;flex-direction:column}.removalRow b{font-size:8px}.removalRow small{margin-top:5px;color:var(--muted);font-size:7px}.earliest{width:100%;padding:22px 24px;border:1px solid var(--gold-line);display:flex;align-items:center;justify-content:space-between;background:var(--realce);color:var(--ink);text-align:left}.earliest>span{display:flex;flex-direction:column}.earliest small{color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.15em}.earliest b{margin-top:9px;font:400 22px/1 'Times New Roman',Times,serif}.earliest i{border-bottom:1px solid var(--ink);padding-bottom:5px;font-size:7px;font-weight:700;font-style:normal;text-transform:uppercase;letter-spacing:.1em}.calendarTitle{margin-top:37px;padding-bottom:15px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;color:var(--gold);font-size:7px;letter-spacing:.13em}.days{display:grid;grid-template-columns:repeat(6,1fr)}.days button{min-height:98px;border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:flex;flex-direction:column;align-items:center;justify-content:center;background:transparent;color:var(--ink)}.days button:first-child{border-left:1px solid var(--line)}.days small{font-size:6px;text-transform:uppercase}.days b{margin-top:9px;font:400 27px/1 'Times New Roman',Times,serif}.days i{margin-top:8px;color:var(--muted);font-size:6px;font-style:normal}.days button:disabled{opacity:.28}.days button[aria-pressed=true]{background:var(--ink);color:var(--paper)}.days button[aria-pressed=true] i{color:var(--gold-ink)}.times{margin-top:36px}.timesHead{display:flex;align-items:end;justify-content:space-between}.timesHead b{font:400 20px/1 'Times New Roman',Times,serif}.timesHead small{color:var(--muted);font-size:7px}.timeGrid{margin-top:15px;display:grid;grid-template-columns:repeat(3,1fr);gap:7px}.timeGrid button{height:54px;border:1px solid var(--line);background:var(--cream);color:var(--ink);font:400 15px/1 'Times New Roman',Times,serif}.timeGrid button[aria-pressed=true]{border-color:var(--ink);background:var(--ink);color:var(--paper)}.showMore{margin-top:16px;padding:7px 0;border:0;border-bottom:1px solid var(--gold);background:none;color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.12em}.form{display:grid;grid-template-columns:1fr 1fr;gap:31px 20px}.form label{display:flex;flex-direction:column}.form label span{color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.14em;text-transform:uppercase}.form input,.form textarea{margin-top:12px;padding:0 0 12px;border:0;border-bottom:1px solid var(--line-2);outline:0;background:transparent;color:var(--ink);font:400 21px/1.2 'Times New Roman',Times,serif}.form input:focus,.form textarea:focus{border-color:var(--gold)}.form textarea{min-height:76px;resize:vertical}.upload{grid-column:1/-1;min-height:72px;padding:14px;border:1px dashed var(--line-2);display:flex;align-items:center;gap:14px;background:transparent;color:var(--ink);text-align:left}.upload i{font-size:22px;font-style:normal;color:var(--gold)}.upload>span{display:flex;flex-direction:column;font-size:9px}.upload small{margin-top:5px;color:var(--muted);font-size:7px}.receipt{border:1px solid var(--line);background:var(--cream)}.receipt>div{min-height:88px;padding:20px 23px;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.receipt span{color:var(--gold);font-size:6px;font-weight:700;letter-spacing:.13em}.receipt b{margin-top:8px;font:400 19px/1.2 'Times New Roman',Times,serif}.receipt small{margin-top:6px;color:var(--muted);font-size:7px}.receiptNumbers{display:grid!important;grid-template-columns:1fr 1fr}.receiptNumbers p{margin:0;display:flex;flex-direction:column}.receiptNumbers p+p{padding-left:22px;border-left:1px solid var(--line)}.receiptNumbers p b{font-size:27px}.deposit{margin-top:22px;padding:24px;background:var(--panel);display:grid;grid-template-columns:.8fr 1.2fr;gap:28px}.deposit>div:first-child{display:flex;flex-direction:column}.deposit>div:first-child small{color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.13em}.deposit>div:first-child strong{margin-top:10px;font:400 56px/1 'Times New Roman',Times,serif}.deposit>div:first-child p{margin:12px 0 0;color:var(--muted);font-size:7px;line-height:1.6}.payment{border-top:1px solid var(--line)}.payment button{width:100%;height:60px;padding:8px 3px;border:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:30px 1fr auto;gap:9px;align-items:center;background:transparent;color:var(--ink);text-align:left}.payment button>i{width:25px;height:25px;border:1px solid var(--line);border-radius:50%;display:grid;place-items:center;font-style:normal}.payment button>span{display:flex;flex-direction:column}.payment button b{font:400 16px/1 'Times New Roman',Times,serif}.payment button small{margin-top:5px;color:var(--muted);font-size:6px}.payment button>strong{color:var(--gold)}.payment button[aria-pressed=true]{background:var(--cream)}.policy{margin-top:18px;display:flex;gap:11px;align-items:flex-start;cursor:pointer}.policy>span{color:var(--muted);font-size:7px;line-height:1.7}.success{padding:40px;border:1px solid var(--gold-line);background:var(--realce)}.success>span{color:var(--gold);font-size:7px;font-weight:700;letter-spacing:.14em}.success h2{margin:15px 0 0;font:400 36px/1 'Times New Roman',Times,serif}.success p{color:var(--muted);font-size:8px}.success button{margin-top:22px;padding:10px 0;border:0;border-bottom:1px solid var(--ink);background:transparent;font-size:7px;font-weight:700;text-transform:uppercase}.actions{margin-top:40px;padding-top:20px;border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.actions>button:first-child{padding:13px 0;border:0;background:transparent;color:var(--muted);font-size:7px;font-weight:700;letter-spacing:.12em}.actions>button:last-child{min-width:225px;height:54px;padding:0 18px;border:0;display:flex;align-items:center;justify-content:space-between;background:var(--ink);color:var(--paper);font-size:7px;font-weight:700;letter-spacing:.12em}.actions>button:disabled{opacity:.27}.actions>button:last-child span{font-size:17px}.summary{position:sticky;top:108px;height:fit-content;padding:26px;background:var(--cream);border:1px solid var(--line)}.summaryHead{padding-bottom:17px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.summaryHead span{font:400 18px/1 'Times New Roman',Times,serif}.summaryHead small{color:var(--gold);font-size:6px}.summaryService{padding:20px 0;border-bottom:1px solid var(--line);display:flex;flex-direction:column}.summaryService span,.summary dt,.summaryTotal span,.summaryDeposit span,.hours span{color:var(--muted);font-size:6px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.summaryService b{margin-top:8px;font:400 19px/1.15 'Times New Roman',Times,serif}.summaryService small{margin-top:7px;color:var(--gold);font-size:7px}.summary dl{margin:0}.summary dl>div{padding:15px 0;border-bottom:1px solid var(--line)}.summary dd{margin:6px 0 0;font:400 13px/1.35 'Times New Roman',Times,serif}.summaryTotal{padding:20px 0;display:grid;grid-template-columns:1fr 1fr}.summaryTotal p{margin:0;display:flex;flex-direction:column}.summaryTotal b,.summaryTotal strong{margin-top:7px;font:400 22px/1 'Times New Roman',Times,serif}.summaryTotal strong{font-size:32px}.summaryDeposit{padding:15px;background:var(--panel);display:flex;align-items:center;justify-content:space-between}.summaryDeposit b{color:var(--gold);font:400 22px/1 'Times New Roman',Times,serif}.summaryEmpty{margin:24px 0;color:var(--muted);font:400 18px/1.4 'Times New Roman',Times,serif}.hours{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}.hours p{margin:9px 0 0;color:var(--muted);font-size:7px;line-height:1.8}
.summaryDuration{padding:17px 0;border-bottom:1px solid var(--line);display:flex;align-items:end;justify-content:space-between}.summaryDuration span{color:var(--muted);font-size:6px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.summaryDuration b{font:400 20px/1 'Times New Roman',Times,serif}.summaryInvoice{padding:11px 0 17px}.summaryInvoice>div{min-height:34px;display:flex;align-items:center;justify-content:space-between;gap:15px}.summaryInvoice span{color:var(--muted);font-size:8px}.summaryInvoice b{font:400 15px/1 'Times New Roman',Times,serif}.summaryInvoice .invoiceTotal{min-height:52px;margin-top:8px;padding-top:14px;border-top:1px solid var(--line)}.summaryInvoice .invoiceTotal span{color:var(--ink);font-size:7px;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.summaryInvoice .invoiceTotal strong{font:400 34px/1 'Times New Roman',Times,serif}.receiptDuration{display:flex!important;flex-direction:row!important;align-items:end;justify-content:space-between}.receiptDuration b{font-size:28px}.receiptInvoice{padding-top:12px!important;padding-bottom:12px!important}.receiptInvoice p{width:100%;min-height:38px;margin:0;display:flex;align-items:center;justify-content:space-between;gap:18px}.receiptInvoice p span{color:var(--muted);font-size:8px;letter-spacing:0;text-transform:none}.receiptInvoice p b{margin:0;font-size:16px}.receiptInvoice .receiptInvoiceTotal{min-height:61px;margin-top:7px;padding-top:13px;border-top:1px solid var(--line)}.receiptInvoice .receiptInvoiceTotal span{color:var(--ink);font-size:7px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.receiptInvoice .receiptInvoiceTotal strong{font:400 36px/1 'Times New Roman',Times,serif}
@media(max-width:900px){.bookingIntro{grid-template-columns:1fr}.bookingIntro p{max-width:450px}.layout{display:block}.summary{position:static;margin-top:55px}.flow:before{left:18px}.step:after{left:16px}.stepHead{grid-template-columns:38px 1fr auto}.stepContent{padding-left:56px}}
@media(max-width:600px){.header{height:66px;padding:0 15px}.logo span{font-size:16px}.headerCenter span:first-child,.headerCenter i{display:none}.headerCenter{font-size:6px}.close{width:30px;height:30px}.bookingIntro{width:calc(100% - 30px);padding:55px 0 47px;gap:25px}.bookingIntro h1{font-size:48px}.bookingIntro p{font-size:10px}.layout{width:calc(100% - 30px);padding:38px 0 70px}.flow:before{left:13px}.step:after{left:11px}.stepHead{min-height:78px;grid-template-columns:29px 1fr auto;gap:10px}.stepHeading>b{font-size:24px}.stepHeading>small{max-width:230px;line-height:1.4}.stepContent{padding:8px 0 43px 39px}.categoryRail{margin-right:-15px;padding-right:15px}.serviceMain{min-height:98px}.serviceMain b{font-size:22px}.serviceMain small{font-size:7px}.selectedService .serviceMain{padding-left:13px;padding-right:13px}.personalize{padding-left:13px;padding-right:13px}.optionTitle{align-items:flex-start;flex-direction:column;gap:6px}.lengthGrid{grid-template-columns:1fr 1fr}.designGrid{grid-template-columns:1fr}.earliest{align-items:flex-start;flex-direction:column;gap:18px}.days{margin-right:-15px;overflow-x:auto;grid-template-columns:repeat(6,64px);scrollbar-width:none}.days button{min-height:91px}.timesHead{align-items:flex-start;flex-direction:column;gap:5px}.timeGrid{grid-template-columns:1fr 1fr}.form{grid-template-columns:1fr}.upload{grid-column:auto}.deposit{grid-template-columns:1fr}.actions>button:last-child{min-width:205px}.receiptNumbers{grid-template-columns:1fr!important;gap:18px}.receiptNumbers p+p{padding:18px 0 0;border-left:0;border-top:1px solid var(--line)}.summary{margin-top:40px}.edit{font-size:6px}}
@media(prefers-reduced-motion:reduce){.stepContent{animation:none}html{scroll-behavior:auto}}

/* ── añadidos de Reservas sobre el CSS del diseño nuevo ── */
/* ── la cabecera: solo el logo, centrado ──
   Cris, 29/08: fuera el ES/EN (ya está en el menú del sitio y la elección viaja
   con la clienta) y fuera «BROOKLYN, NY». La referencia traía tres columnas
   (logo · centro · idioma); con un solo hijo se queda en una, centrada. */
.header{grid-template-columns:1fr;justify-items:center}
.plaqueta{display:inline-flex;align-items:center}
.plaqueta img{display:block;height:42px;width:auto}

/* los estados elegidos traían el blanco a mano sobre var(--ink): se cambia por
   var(--paper), que es su par correcto pase lo que pase con el fondo */
.categoryRail button[aria-pressed=true],.lengthGrid button[aria-pressed=true],
.days button[aria-pressed=true],.timeGrid button[aria-pressed=true],
.actions>button:last-child,.selectedService .serviceMain strong{color:var(--paper)}
.days button[aria-pressed=true] i{color:var(--gold)}

.extraGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.extraGrid button{display:flex;flex-direction:column;align-items:flex-start;gap:3px;padding:11px 12px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);cursor:pointer;text-align:left;font:inherit;min-height:44px}
.extraGrid button[aria-pressed=true]{border-color:var(--ink);background:var(--cream)}
.extraGrid button span{font-size:12px}
.extraGrid button b{font-size:11px;color:var(--gold);font-weight:700}

/* ── el calendario de 3 meses ──
   La tira sola no deja pasar de la semana que viene. Sin esto se pierden citas. */
.cal{margin-top:12px;padding:14px;border:1px solid var(--line);border-radius:4px;background:var(--cream)}
.calHead{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.calHead b{font:400 17px/1 'Times New Roman',Times,serif}
.calFl{min-width:44px;min-height:44px;border:1px solid var(--line);border-radius:50%;background:transparent;color:var(--ink);cursor:pointer;font-size:15px}
.calFl[disabled]{opacity:.3;cursor:default}
.calRej{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.calDia{min-height:44px;border:1px solid var(--line);border-radius:3px;background:transparent;color:var(--ink);cursor:pointer;font:400 14px/1 'Times New Roman',Times,serif}
.calDia[disabled]{opacity:.28;cursor:default}
.calDia[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}
.res-vacio{color:var(--muted);font-size:13px;padding:12px 0}
.err-campo{display:block;color:var(--err);font-size:11px;margin-top:4px}
.archivo-real{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.aviso{padding:10px 12px;border:1px solid var(--gold);border-radius:3px;color:var(--gold);font-size:12px}

/* ── móvil: el precio siempre a la vista y TU CITA como hoja ── */
.barraMovil{display:none}
@media(max-width:900px){
  .barraMovil{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:60;align-items:center;justify-content:space-between;gap:14px;
    padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--cream);border-top:1px solid var(--line);
    box-shadow:0 -8px 30px var(--sombra)}
  .barraMovil .bmTot{display:flex;flex-direction:column;gap:2px;min-width:0}
  .barraMovil .bmTot>span{color:var(--muted);font-size:7px;font-weight:700;letter-spacing:.12em;text-transform:uppercase}
  .barraMovil .bmTot b{font:400 22px/1 'Times New Roman',Times,serif}
  .barraMovil .bmTot i{color:var(--muted);font-size:10px;font-style:normal}
  .barraMovil button{flex:0 0 auto;min-height:44px;padding:0 18px;border:1px solid var(--ink);border-radius:999px;background:var(--ink);
    color:var(--paper);font:700 10px/1 inherit;letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
  .flow{padding-bottom:104px}
  .summary{display:none}
  body.hoja-abierta .summary{display:block;box-sizing:border-box;position:fixed;left:0;right:0;bottom:0;z-index:70;max-height:82vh;overflow:auto;margin:0;
    border-radius:14px 14px 0 0;box-shadow:0 -18px 50px var(--sombra-2)}
  body.hoja-abierta{overflow:hidden}
}

/* ══════════════════════════════════════════════════════════════
   ACCESIBILIDAD · lo que `revisar.mjs` encontró en el CSS de la
   referencia. No cambia el aspecto: sube los blancos de toque al
   mínimo de 44px y oscurece el gris apagado lo justo para que el
   texto chico llegue a 4.5:1. Un salón que se reserva desde el
   celular no puede tener botones de 33px.
   ══════════════════════════════════════════════════════════════ */
/* ══════════════════════════════════════════════════════════════
   LA IDENTIDAD · fondo negro, oro del salón
   La referencia venía en papel crema. El sitio de Francia es negro
   con oro desde la portada, y la página de reservar no puede ser la
   única en otro color. Todo el color del diseño pasa por estas
   fichas, así que se cambia AQUÍ y nada más: no hay ni un color
   suelto en las reglas de arriba. Para volver al crema, se borra
   este bloque.
   ══════════════════════════════════════════════════════════════ */
.page{
  --paper:#000000;                    /* el fondo, y el texto sobre lo elegido */
  --ink:#f4f1ea;                      /* el texto, y el fondo de lo elegido */
  --cream:#0c0b09;                    /* las tarjetas, apenas levantadas */
  --panel:#14120e;
  --realce:#1c1813;                   /* donde la referencia ponía beige cálido */
  --line:rgba(255,255,255,.13);
  --line-2:rgba(255,255,255,.30);
  /* El dorado del logo al 89%, que es el que cris pidió para TODO el sitio.
     Se midió sobre el archivo del logo (nuestro.css §15): #FCDC58 al 85% da
     #d6bb4b (cris lo bajó de 89% a 85% viéndolo en su teléfono). Esta página se había quedado con el #e8c84a viejo de nucleo.css
     y era el único sitio con otro dorado. Para volver atrás, estas dos líneas. */
  --gold:#d6bb4b;
  --gold-line:rgba(214,187,75,.30);
  --gold-ink:#7f6444;                 /* oro para lo que queda sobre fondo claro */
  --muted:rgba(255,255,255,.62);
  /* la cabecera es pegajosa: sobre crema el 94% no se notaba, sobre negro
     el texto de abajo se veía cruzar por detrás del logo. Va opaca. */
  --vidrio:#000000;
  --sombra:rgba(0,0,0,.55);
  --sombra-2:rgba(0,0,0,.70);
  --err:#f0907c;
}
/* el precio y la duración iban a 7px: en un teléfono no se leen */
.serviceMain i{font-size:9px}

.categoryRail button,.timeGrid button,.showMore,
.days button,.lengthGrid button,.extraGrid button,.payment button,
.serviceMain,.stepHead,.actions>button,.earliest,.upload{min-height:44px}
.categoryRail button{padding:11px 15px}
.logo{display:inline-flex;align-items:center;min-height:44px}
.calFl{min-width:44px;min-height:44px}

/* el texto más chico de la referencia era de 6px: ilegible en un teléfono */
.headerCenter{font-size:8px}
.stepNumber{font-size:9px}
.summaryHead span,.summaryService span,.summaryDuration span,.summaryDeposit span,
.receipt>div>span,.hours span{font-size:8px}
@media(max-width:600px){.headerCenter{font-size:8px}}

/* ══════════════════════════════════════════════════════════════
   RONDA DE REFINAMIENTO · 30 de agosto
   Todo lo de aquí abajo AJUSTA la referencia, no la sustituye: ni una
   fuente nueva, ni un color nuevo, ni un componente movido de sitio.
   Para deshacer la ronda entera se borra este bloque.
   ══════════════════════════════════════════════════════════════ */

/* ── 1 · la escala tipográfica ──
   La referencia bajaba a 6 y 7 px en las etiquetas. Se ven finas en una
   maqueta y son ilegibles en la mano de una clienta. Sube el texto
   auxiliar a 11–13 px SIN tocar los títulos, que son lo editorial. */
.bookingIntro small{font-size:11px;letter-spacing:.16em}
.bookingIntro p{font-size:13px;line-height:1.75}
.stepNumber{font-size:10px;letter-spacing:.1em}
.stepHeading>small{font-size:12px;line-height:1.45}
.edit{font-size:10px;letter-spacing:.1em}
.categoryRail button{font-size:11px;letter-spacing:.06em}
.serviceMain small{font-size:12px;line-height:1.55}
.serviceMain i{font-size:12px;letter-spacing:.04em}
.optionTitle small{font-size:12px}
.lengthGrid button span{font-size:16px}
.lengthGrid button b{font-size:12px}
.designGrid button,.extraGrid button span{font-size:12px}
.removalRow b{font-size:12px}
.removalRow small{font-size:11px}
.earliest small{font-size:11px;letter-spacing:.12em}
.earliest i{font-size:11px;letter-spacing:.08em}
.calendarTitle{font-size:11px;letter-spacing:.1em}
.days small{font-size:11px}
.days i{font-size:11px}
.timesHead small{font-size:12px}
.showMore{font-size:11px;letter-spacing:.09em}
.form label span{font-size:11px;letter-spacing:.1em}
.upload>span{font-size:12px}
.upload small{font-size:11px}
.receipt span{font-size:11px;letter-spacing:.1em}
.receipt small{font-size:11px}
.deposit>div:first-child small{font-size:11px;letter-spacing:.1em}
.deposit>div:first-child p{font-size:12px;line-height:1.65}
.payment button small{font-size:11px}
.success>span{font-size:11px;letter-spacing:.11em}
.success p{font-size:12px}
.success button{font-size:11px}
.actions>button:first-child,.actions>button:last-child{font-size:11px;letter-spacing:.1em}
.summaryHead small{font-size:11px}
.summaryService span,.summary dt,.summaryTotal span,.summaryDeposit span,.hours span,
.summaryHead span,.summaryDuration span,.summaryInvoice span,
.receipt>div>span,.receiptInvoice p span,.receiptInvoice .receiptInvoiceTotal span{font-size:11px}
.summaryService small{font-size:11px}
.summary dd{font-size:14px}
.summaryInvoice b{font-size:15px}
.hours p{font-size:12px;line-height:1.7}
/* en escritorio hay sitio para un punto más */
@media(min-width:901px){
  .bookingIntro p,.stepHeading>small,.serviceMain small{font-size:13px}
  .hours p,.deposit>div:first-child p{font-size:13px}
}
/* el teclado de iOS hace zoom si el campo baja de 16px */
.form input,.form textarea{font-size:max(16px,21px)}

/* ── blancos de toque: nada por debajo de 44×44 ── */
.payPick,.payCopy,.policyLink,.policy,[data-cambiar]{min-height:44px}
.policy input[type=checkbox]{width:26px!important;height:26px!important}

/* ── 2 · el paso llega debajo de la cabecera pegajosa, no detrás ── */
.step{scroll-margin-top:96px}
@media(max-width:600px){.step{scroll-margin-top:78px}}

/* ── el hueco de la factura ──
   La referencia daba 88px de alto mínimo a cada fila de la ficha y las llenaba
   con `justify-content` por defecto: la fila de la duración, que solo tiene dos
   palabras, quedaba con un agujero encima. Se centra su contenido y se le deja
   el alto que necesite. No cambia ni un color ni una tipografía. */
.receipt>div{justify-content:center}
.receipt .receiptDuration{min-height:64px}

/* ── 6 · elegir cuenta y copiarla son dos controles ── */
.payment .payRow{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;
  gap:8px;border-bottom:1px solid var(--line)}
.payment .payRow .payPick,.payment .payRow .payCopy{border-bottom:0}
.payCopy{flex:none;padding:0 14px;border:1px solid var(--line);border-radius:2px;background:transparent;
  color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;cursor:pointer}
.payCopy:hover{border-color:var(--gold)}
.copiado{margin:10px 0 0;color:var(--gold);font-size:12px}
.dep-espera{margin:14px 0 0;color:var(--muted);font-size:12px;line-height:1.65}

/* ── 7 · aceptar políticas: frase corta y enlace aparte ── */
.policyRow{margin-top:18px;display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.policy{display:flex;gap:11px;align-items:center;cursor:pointer;margin:0}
.policy>span{color:var(--ink);font-size:13px;line-height:1.5}
.policyLink{display:inline-flex;align-items:center;padding-bottom:2px;border-bottom:1px solid var(--gold);
  color:var(--gold);font-size:11px;font-weight:700;letter-spacing:.09em;text-decoration:none}

/* ── 5 · la barra del móvil, dentro del diseño y no encima ──
   Era una tarjeta clara con un botón de píldora: parecía otra aplicación
   pegada abajo. Ahora es negra como la página, con una raya dorada
   finita arriba, el precio en oro y el botón con la misma esquina recta
   que el resto de los botones de la página. */
@media(max-width:900px){
  .barraMovil{background:var(--paper);border-top:1px solid var(--gold-line);
    box-shadow:0 -10px 30px rgba(0,0,0,.55);
    padding:10px 16px calc(10px + env(safe-area-inset-bottom))}
  .barraMovil .bmTot>span{color:var(--muted);font-size:10px;letter-spacing:.1em}
  .barraMovil .bmTot b{color:var(--gold);font-size:21px}
  .barraMovil .bmTot i{color:var(--muted);font-size:11px}
  .barraMovil button{min-height:44px;padding:0 20px;border:1px solid var(--gold-line);border-radius:2px;
    background:transparent;color:var(--ink);font:700 11px/1 inherit;letter-spacing:.12em}
  /* que la barra no tape el último botón del paso */
  .flow{padding-bottom:118px}
}
.dep-nover{color:var(--gold)}
