/* /reserva/ · diseño del sitio encima de /reservar/booking.css (no se edita ese archivo). */
:root{
  --cream:#fff8f2;--cream-warm:#ffe4c4;--ink:#4a2f22;--ink-soft:#8a6f5f;--terracotta:#ef7f2c;--coral:#f2a6c6;--line:#f5ddc8;
  --terracotta-deep:#b94e00;--range:#ffe9d6;--ink-on-orange:#3f281d;
  /* variables que usa booking.css */
  --accent:#ef7f2c;--muted:#7a5f4f;--bg:#fff8f2;--surface:#fff;--shadow:0 10px 28px rgba(74,47,34,.08);
}
html{scroll-behavior:smooth}
body{background:var(--cream);color:var(--ink);font-family:'DM Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
h1,h2,h3,.wz-title,.cal-month,.wz-progress,.total-card strong,.wz-totalbar strong,#total{font-family:'Fredoka','DM Sans',system-ui,sans-serif;letter-spacing:.01em}
h1{font-size:clamp(2rem,6.5vw,2.8rem);line-height:1.08;font-weight:700;margin:0 0 10px}
p{color:var(--muted)}
.wrap{width:min(1100px,calc(100% - 32px));margin:0 auto}
.skip-link{position:absolute;left:-9999px;top:8px;background:#fff;color:var(--ink);padding:10px 14px;border-radius:999px;border:2px solid var(--terracotta);z-index:100;font-weight:700}
.skip-link:focus{left:12px}
/* cabecera */
.site-header{padding:12px 0;border-bottom:1px solid var(--line);background:#fff}
.header-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.brand-link{display:inline-flex;border-radius:12px}.site-logo{height:56px;width:auto;display:block}
.back-link{font-weight:600;color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 6px;border-radius:999px}
.back-link:hover,.footer-back a:hover{text-decoration:underline}
.header-right{margin-left:auto;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.header-phone{font-weight:700;color:var(--ink);text-decoration:none;min-height:44px;display:inline-flex;align-items:center;padding:0 6px}
.lang-switch{display:flex;background:#fff;border:1px solid var(--line);border-radius:999px;padding:3px}
.lang{border:0;background:transparent;min-height:38px;padding:0 14px;border-radius:999px;font:inherit;font-weight:700;color:var(--ink-soft);cursor:pointer}
.lang.active{background:var(--terracotta);color:var(--ink-on-orange)}
.lang:focus-visible,.back-link:focus-visible,.header-phone:focus-visible,.brand-link:focus-visible{outline:3px solid var(--terracotta);outline-offset:2px}
/* la cabecera interna del formulario: solo título y subtítulo (logo e idioma ya están arriba) */
.booking-shell{padding-top:26px}
.booking-header{display:block;margin-bottom:18px}
.booking-header .brand-logo,.booking-header .eyebrow,.booking-header .language-switch{display:none}
.booking-header p{font-size:1.02rem;max-width:60ch}
/* tarjetas y botones */
.notice-card,.form-card,.confirmation,.before-booking,.cal,.dog-extra,.wz-progress li{border-color:var(--line);border-radius:16px;box-shadow:none}
.notice-card{background:var(--cream-warm);border-color:#f7d3ad}.notice-card p{color:var(--ink)}
.form-card h2{font-size:1.2rem;color:var(--ink)}
input,select,textarea{border-radius:12px;border-color:var(--line)}
input:focus,select:focus,textarea:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px rgba(239,127,44,.2)}
.submit-btn,.wz-next,.btn-primary{background:var(--terracotta);color:var(--ink-on-orange);border-radius:999px;min-height:44px;box-shadow:none;font-weight:800}
.submit-btn:hover,.wz-next:hover{filter:brightness(.97)}
.wz-back,.copy-zelle,.vaccine-btn,.vaccine-remove,.cal-nav{border:1.5px solid var(--terracotta);color:var(--ink);background:#fff;border-radius:999px;min-height:44px;font-weight:700}
.wz-back:hover,.copy-zelle:hover,.vaccine-btn:hover{background:var(--cream)}
.cal-nav{width:44px;height:44px;border-radius:50%}
button:focus-visible,.cal-day:focus-visible,.wz-progress button:focus-visible{outline:3px solid var(--terracotta-deep);outline-offset:2px}
/* barra de pasos: círculos */
.wz-progress{gap:8px}
.wz-progress li{background:#fff;color:var(--ink-soft);border:1px solid var(--line);flex-direction:column;gap:4px;padding:8px 6px;min-height:64px}
.wz-progress li.is-current{background:#fff;color:var(--ink);border-color:var(--terracotta)}
.wz-progress li.is-done{background:#fff;color:var(--ink);border-color:var(--line)}
.wz-num{width:30px;height:30px;border-radius:50%;background:var(--cream-warm);color:var(--ink);font-weight:800;font-size:.95rem}
.wz-progress li.is-current .wz-num{background:var(--terracotta);color:var(--ink-on-orange)}
.wz-progress li.is-done .wz-num{background:var(--terracotta);color:#fff;font-size:1rem}
.wz-progress button{flex-direction:column;gap:4px}
.wz-name{font-size:.82rem;font-weight:700}
.wz-title{font-size:1.5rem;color:var(--ink)}
/* chips de servicio y de primera vez */
.service-select-hidden{display:none}
.service-chips{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:14px}
.chip,.choice-cards label{min-height:48px;border:1.5px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font:inherit;font-weight:700;padding:10px 14px;display:flex;align-items:center;justify-content:center;text-align:center;cursor:pointer;line-height:1.2}
.chip.is-on,.choice-cards label.is-on,.choice-cards label:has(input:checked){background:var(--cream-warm);border-color:var(--terracotta);box-shadow:inset 0 0 0 1px var(--terracotta)}
.choice-cards{grid-template-columns:repeat(2,minmax(0,1fr))}
.choice-cards input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.choice-cards label:has(input:focus-visible){outline:3px solid var(--terracotta-deep);outline-offset:2px}
/* calendario */
.cal-day{background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--ink)}
.cal-day.is-past,.cal-day.is-blocked{background:#f3ebe5;color:#9d8a7d;border-color:transparent}
.cal-day.is-blocked{background:repeating-linear-gradient(135deg,#efe3da 0 4px,#f8f2ee 4px 8px)}
.cal-day.is-holiday:not(.is-blocked):not(.is-past){background:var(--cream-warm);border-color:#f7d3ad}
.cal-day.in-range{background:var(--range);border-color:#ffd3ae}
.cal-day.is-start,.cal-day.is-end,.cal-day.is-start.is-holiday,.cal-day.is-end.is-holiday{background:var(--terracotta);color:var(--ink-on-orange);border-color:var(--terracotta);font-weight:800}
.cal-day.is-today{box-shadow:inset 0 0 0 2px var(--terracotta)}
.cal-sw.is-holiday{background:var(--cream-warm);border-color:#f7d3ad}.cal-sw.is-today{border-color:var(--terracotta)}.cal-sw.is-blocked{background:repeating-linear-gradient(135deg,#efe3da 0 3px,#f8f2ee 3px 6px)}
.cal-legend,.cal-note,.cal-hint{color:var(--muted)}
.cal-holiday-note{color:#7a4a12}
/* perritos, vacunas, promo, pago */
.dog-field-card{background:var(--cream);border-color:var(--line);border-radius:16px}
.dog-extra{background:#fff}
.vaccine-block{background:var(--cream);border:1px dashed var(--terracotta);border-radius:16px}
.dog-meet-note,.payment-message,.cal-holiday-note{background:var(--cream-warm);color:var(--ink);border-radius:12px}
.promo-card{background:var(--cream-warm);border-color:#f7d3ad}.promo-badge{background:var(--terracotta);color:var(--ink-on-orange)}.promo-includes{color:#7a4a12}
.bath-choices label{border-color:#f7d3ad}
.payment-options label{border-radius:14px;border-color:var(--line)}.payment-options label:has(input:checked){border-color:var(--terracotta);background:var(--cream)}
.pay-badge{background:var(--terracotta);color:var(--ink-on-orange)}
.zelle-box-big{border-color:#f7d3ad;background:#fff}.zelle-address{color:var(--ink)}
.zelle-pending{color:#7a4a12}
.total-card{background:var(--ink);border-radius:16px}.total-card small{color:#e7d9cf}
.wz-totalbar{background:var(--ink)}.wz-totalbar small{color:#e7d9cf}
.confirmation-icon{background:var(--cream-warm);color:var(--ink)}
.personalized-message h2{font-family:'Fredoka','DM Sans',sans-serif}
.form-error,.field-error,.date-notice{color:#9b2214}
/* pie */
.site-footer{background:var(--ink);color:#f3ece9;padding:40px 0 36px;text-align:center;margin-top:16px}
.site-footer p{color:#f3ece9;margin:6px 0}
.site-footer a{color:#f3ece9;text-decoration:underline;text-decoration-color:rgba(243,236,233,.4);min-height:44px;display:inline-flex;align-items:center}
.footer-logo{height:64px;width:auto;display:block;margin:0 auto 12px}
.footer-back{margin-top:14px}
@media(max-width:640px){
  .site-footer{padding-bottom:112px} /* deja espacio para la barra fija del total */
  .header-row{gap:8px}.header-right{width:100%;justify-content:space-between;margin-left:0}
  .back-link{order:3;width:100%;padding-left:0}
}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
