/* Renzo's Booking — formulario multipaso. Usa la paleta del tema (con fallback). */
.rzb,.rzb-launcher,.rzb-open,.rzb-open-wrap,.rzb-panel,.rzb-modal{--a:var(--rz-accent,#2aa8f2);--e:var(--rz-electric,#5bc0ff);--ink:var(--rz-ink,#12161d);--mut:var(--rz-muted,#5b6672);--line:var(--rz-line,#e6e9ee)}
.rzb{font-family:var(--rz-font-body,'Inter',system-ui,sans-serif)}
.rzb-panel{padding-top:2.5rem;font-family:var(--rz-font-body,'Inter',system-ui,sans-serif)}

/* Progreso con iconos */
.rzb__progress{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:1.4rem}
.rzb__progress span{flex:1;min-width:0;font-size:.72rem;font-weight:700;color:var(--mut);text-align:center;padding:.55rem .2rem;border-bottom:3px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:.25rem}
.rzb__pico{display:inline-flex}
.rzb__pico svg{width:22px;height:22px}
.rzb__progress span.is-active{color:var(--a);border-color:var(--a)}

/* Pasos */
.rzb__step{display:none}
.rzb__step.is-active{display:block;animation:rzbfade .25s ease}
@keyframes rzbfade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rzb h3{font-family:var(--rz-font-head,'Archivo',sans-serif);font-size:1.15rem;margin:1.2rem 0 .7rem;text-transform:uppercase;letter-spacing:-.01em}
.rzb h3 small{text-transform:none;color:var(--mut);font-weight:500}

/* Cards de selección (servicio: filas; vehículo: 3 en fila) */
.rzb__cards{display:flex;flex-direction:column;gap:.55rem}
.rzb__cards--sm{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}
.rzb__card{position:relative;display:flex;align-items:center;gap:.8rem;padding:.75rem .9rem;border:2px solid var(--line);border-radius:13px;cursor:pointer;transition:.15s}
.rzb__card input{position:absolute;opacity:0;pointer-events:none}
.rzb__card-ic{flex:none;color:var(--a);display:inline-flex}
.rzb__card-ic svg{width:30px;height:30px}
.rzb__card-tx{flex:1;display:flex;flex-direction:column;line-height:1.2}
.rzb__card-name{font-weight:700;color:var(--ink)}
.rzb__card-meta{font-size:.8rem;color:var(--mut)}
.rzb__card-chk{flex:none;width:22px;height:22px;border-radius:50%;border:2px solid var(--line);display:flex;align-items:center;justify-content:center;color:transparent;font-size:.8rem;transition:.15s}
.rzb__card-chk::before{content:'\2713'}
.rzb__card:has(input:checked){border-color:var(--a);background:rgba(42,168,242,.09)}
.rzb__card:has(input:checked) .rzb__card-chk{background:var(--a);border-color:var(--a);color:#fff}
/* Vehículo: columna compacta centrada */
.rzb__card--v{flex-direction:column;text-align:center;gap:.25rem;padding:.7rem .3rem}
.rzb__card--v .rzb__card-ic svg{width:42px;height:42px}
.rzb__card--v .rzb__card-chk{position:absolute;top:.4rem;right:.4rem;width:18px;height:18px;font-size:.65rem}

/* Precio en vivo */
.rzb__price-live{margin-top:1rem;padding:.8rem 1rem;background:rgba(10,132,255,.07);border-radius:10px;color:var(--ink);font-size:.95rem}
.rzb__price-live:empty{display:none}

/* Add-ons */
.rzb__addons{display:grid;grid-template-columns:1fr 1fr;gap:.55rem}
.rzb__addon{position:relative;display:flex;align-items:center;gap:.5rem;padding:.65rem .8rem;border:2px solid var(--line);border-radius:12px;cursor:pointer;font-size:.9rem;transition:.15s}
.rzb__addon input{position:absolute;opacity:0;pointer-events:none}
.rzb__addon:has(input:checked){border-color:var(--a);background:rgba(42,168,242,.08)}
.rzb__addon-icon{flex:none;display:inline-flex;color:var(--a)}
.rzb__addon-icon svg{width:22px;height:22px;display:block}
.rzb__addon-name{flex:1;color:var(--ink);line-height:1.2}
.rzb__addon-price{font-weight:700;color:var(--a);font-size:.85rem}
.rzb__addon .rzb__card-chk{width:18px;height:18px;font-size:.62rem}
.rzb__addon:has(input:checked) .rzb__card-chk{background:var(--a);border-color:var(--a);color:#fff}
.rzb__addon-desc{display:none}
.rzb__addon-info{flex:none;width:26px;height:26px;padding:0;border:none;background:transparent;color:var(--mut);cursor:pointer;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;transition:.15s}
.rzb__addon-info svg{width:19px;height:19px;display:block}
.rzb__addon-info:hover,.rzb__addon-info:focus-visible{background:rgba(42,168,242,.14);color:var(--a);outline:none}
@media(max-width:480px){.rzb__addons{grid-template-columns:1fr}}

/* Inputs */
.rzb__input{width:100%;padding:.8rem .9rem;border:2px solid var(--line);border-radius:10px;font-size:1rem;margin-bottom:.7rem;font-family:inherit}
.rzb__input:focus{outline:none;border-color:var(--a)}
.rzb__grid{display:grid;grid-template-columns:1fr 1fr;gap:0 .7rem}
.rzb__consent{display:flex;gap:.5rem;align-items:flex-start;font-size:.88rem;color:var(--mut);margin:.4rem 0 1rem}

/* Slots */
.rzb__slots{display:flex;flex-wrap:wrap;gap:.5rem;margin:.9rem 0}
.rzb__slot{padding:.55rem 1rem !important;border:2px solid var(--line);border-radius:999px;background:#fff;cursor:pointer;font-weight:700;font-size:.92rem;color:var(--ink) !important}
.rzb__slot:hover{border-color:var(--a);color:var(--a) !important}
.rzb__slot.is-sel{background:var(--a) !important;color:#fff !important;border-color:var(--a)}
.rzb__hint{color:var(--mut);font-size:.9rem;margin:.3rem 0}

/* Resumen */
.rzb__summary{background:#f7f9fc;border-radius:10px;padding:.9rem 1rem;margin:.6rem 0 1rem}
.rzb__summary ul{margin:0 0 .4rem;padding-left:1.1rem}
.rzb__summary p{margin:0;color:var(--ink)}

/* Navegación */
.rzb__nav{display:flex;justify-content:space-between;gap:.7rem;margin-top:1.4rem}
.rzb__nav button{font-family:var(--rz-font-body,inherit)}
.rzb__next,.rzb__submit{margin-left:auto;background:var(--a);color:#fff;border:none;padding:.85em 1.7em;border-radius:999px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;font-size:.9rem;box-shadow:0 8px 20px rgba(10,132,255,.35)}
.rzb__next:hover,.rzb__submit:hover{filter:brightness(1.08)}
.rzb__submit:disabled{opacity:.6;cursor:default}
.rzb__prev{background:transparent;border:2px solid var(--line);color:var(--ink);padding:.75em 1.3em;border-radius:999px;font-weight:700;cursor:pointer}

/* Resultado */
.rzb__ok{text-align:center;padding:2rem 1rem}
.rzb__ok h3{color:var(--a)}

@media(max-width:560px){
	.rzb__grid{grid-template-columns:1fr}
}

/* ================= PANEL de configuración ================= */
.rzb-panel{max-width:820px;margin:0 auto;font-family:var(--rz-font-body,'Inter',system-ui,sans-serif)}
.rzb-panel h2{font-family:var(--rz-font-head,'Archivo',sans-serif);text-transform:uppercase}
.rzb-panel fieldset{border:1px solid var(--rz-line,#e6e9ee);border-radius:12px;padding:1rem 1.2rem;margin:1rem 0}
.rzb-panel legend{font-weight:800;color:var(--rz-accent,#2aa8f2);padding:0 .5rem;text-transform:uppercase;font-size:.85rem;letter-spacing:.03em}
.rzb-panel__table{width:100%;border-collapse:collapse}
.rzb-panel__table th{text-align:left;font-size:.8rem;color:var(--rz-muted,#5b6672);padding:.3rem .4rem}
.rzb-panel__table td{padding:.3rem .4rem}
.rzb-panel input[type=text],.rzb-panel input[type=number],.rzb-panel input[type=time],.rzb-panel textarea{border:1px solid var(--rz-line,#e6e9ee);border-radius:8px;padding:.45em .6em;font-family:inherit}
.rzb-panel input[type=text]{width:100%}
.rzb-panel__row{display:flex;flex-wrap:wrap;gap:1rem;margin:.8rem 0}
.rzb-panel__row label{font-size:.9rem;color:var(--rz-ink,#12161d)}
.rzb-panel__save{background:var(--rz-accent,#2aa8f2);color:#fff;border:none;padding:.85em 2em;border-radius:999px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;margin-top:1rem}
.rzb-panel__save:hover{background:var(--rz-accent-2,#1e93da)}
.rzb-panel__notice{background:#e6f7ea;border:1px solid #34c759;color:#137a34;padding:.7rem 1rem;border-radius:8px;margin:.8rem 0}
.rzb-panel--login{max-width:360px}

/* ================= CALENDARIO moderno ================= */
/* Vista contraída (fecha elegida + Change) */
.rzb__cal-picked{display:flex;align-items:center;justify-content:space-between;gap:.6rem;max-width:360px;margin:0 auto 1rem;padding:.75rem 1rem;border:2px solid var(--a);border-radius:14px;background:rgba(42,168,242,.07)}
.rzb__cal-picked-date{font-weight:800;color:var(--ink);font-size:1rem}
.rzb__cal-change{background:none;border:none;color:var(--a);font-weight:800;text-decoration:underline;cursor:pointer;padding:0;font-size:.9rem}
.rzb__cal{width:100%;max-width:360px;box-sizing:border-box;margin:0 auto 1rem;border:1px solid var(--line);border-radius:16px;padding:.9rem;box-shadow:0 6px 20px rgba(16,22,30,.06)}
.rzb__cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.rzb__cal-title{font-weight:800;font-family:var(--rz-font-head,'Archivo',sans-serif);color:var(--ink)}
.rzb__cal-nav{width:36px !important;height:36px !important;padding:0 !important;border-radius:10px;border:1px solid var(--line);background:#fff;cursor:pointer;font-size:1.2rem;line-height:1;color:var(--ink);transition:.15s;display:inline-flex;align-items:center;justify-content:center}
.rzb__cal-nav:hover:not([disabled]){border-color:var(--a);color:var(--a)}
.rzb__cal-nav[disabled]{opacity:.3;cursor:default}
.rzb__cal-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}
.rzb__cal-dow{text-align:center;font-size:.7rem;font-weight:700;color:var(--mut);padding:.25rem 0;min-width:0}
.rzb__cal-empty{aspect-ratio:1;min-width:0}
.rzb__cal-day{aspect-ratio:1;min-width:0;padding:0;border:none;background:#f2f5f9;border-radius:10px;cursor:pointer;font-weight:600;color:var(--ink);font-size:.85rem;transition:.12s}
.rzb__cal-day:hover{background:var(--a);color:#fff;transform:translateY(-1px)}
.rzb__cal-day.is-off{background:transparent;color:#ccd2da;cursor:default}
.rzb__cal-day.is-off:hover{transform:none}
.rzb__cal-day.is-sel{background:var(--a);color:#fff;box-shadow:0 6px 16px rgba(42,168,242,.45)}

/* ================= MODAL de mensajes ================= */
.rzb-modal{position:fixed;inset:0;z-index:2147483001;background:rgba(8,9,13,.55);display:flex;align-items:center;justify-content:center;padding:1rem}
.rzb-modal[hidden]{display:none}
.rzb-modal__box{background:#fff;border-radius:18px;max-width:360px;width:100%;padding:1.9rem 1.6rem;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.35);animation:rzbpop .2s ease}
@keyframes rzbpop{from{transform:scale(.92);opacity:0}to{transform:none;opacity:1}}
.rzb-modal__icon{display:inline-flex;color:var(--a);margin-bottom:.5rem}
.rzb-modal__icon svg{width:42px;height:42px}
.rzb-modal__msg{color:var(--ink);font-size:1.02rem;margin:0 0 1.3rem;line-height:1.5}
.rzb-modal__ok{background:var(--a);color:#fff;border:none;padding:.75em 2.2em;border-radius:999px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer}
.rzb-modal__ok:hover{background:var(--rz-accent-2,#1e93da)}

/* Modal de detalle de add-on (bottom-sheet móvil / centrado desktop) */
.rzb-info{position:fixed;inset:0;z-index:2147483002;display:flex;align-items:flex-end;justify-content:center}
.rzb-info[hidden]{display:none}
.rzb-info__overlay{position:absolute;inset:0;background:rgba(8,9,13,.55)}
.rzb-info__box{position:relative;background:#fff;width:100%;max-width:520px;border-radius:20px 20px 0 0;padding:1.5rem 1.4rem 1.7rem;box-shadow:0 -12px 44px rgba(0,0,0,.32);max-height:82vh;overflow:auto;animation:rzbsheet .22s ease}
.rzb-info__close{position:absolute;top:.6rem;right:.7rem;width:38px !important;height:38px !important;padding:0 !important;border:none;background:#f2f5f9;border-radius:50%;font-size:1.4rem;line-height:1;color:var(--ink);cursor:pointer;display:inline-flex;align-items:center;justify-content:center}
.rzb-info__close:hover{background:var(--a);color:#fff}
.rzb-info__media{margin-bottom:1rem}
.rzb-info__media img{width:100%;border-radius:14px;display:block}
.rzb-info__title{margin:0 2.4rem .35rem 0;color:var(--ink);font-size:1.15rem;line-height:1.25;font-weight:800}
.rzb-info__price{margin:0 0 .7rem;color:var(--a);font-weight:800;font-size:1rem}
.rzb-info__price[hidden]{display:none}
.rzb-info__desc{margin:0;color:var(--mut);line-height:1.55;font-size:.96rem}
@keyframes rzbsheet{from{transform:translateY(100%)}to{transform:translateY(0)}}
@media(min-width:600px){.rzb-info{align-items:center;padding:1rem}.rzb-info__box{border-radius:18px;animation:rzbpop .2s ease}}

/* ================= MODAL DE RESERVA (launcher) — mobile first ================= */
.rzb-launcher{position:fixed;inset:0;z-index:2147483000;display:flex;align-items:stretch;justify-content:center}
.rzb-launcher[hidden]{display:none}
.rzb-launcher__overlay{position:absolute;inset:0;background:rgba(8,9,13,.6)}
.rzb-launcher__panel{position:relative;background:#fff;width:100%;max-width:780px;height:100vh;height:100dvh;display:flex;flex-direction:column;overflow:hidden}
.rzb-launcher__close{position:absolute;top:.55rem;right:.6rem;width:42px !important;height:42px !important;padding:0 !important;border:none;background:#f2f5f9;border-radius:50%;font-size:1.5rem;line-height:1;color:var(--ink);cursor:pointer;z-index:5;display:inline-flex;align-items:center;justify-content:center}
.rzb-launcher__close:hover{background:var(--a);color:#fff}
@media(min-width:768px){
	.rzb-launcher{align-items:center;padding:1.5rem}
	.rzb-launcher__panel{border-radius:20px;height:auto;max-height:92vh;box-shadow:0 30px 80px rgba(0,0,0,.4)}
}
/* Formulario como columna: progreso (fijo) + scroll + barra (fija) */
.rzb{display:flex;flex-direction:column;height:100%;max-width:none;margin:0;padding:0}
.rzb__progress{margin:0;padding:.9rem 3rem .1rem 1.1rem;flex:none}
.rzb__scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:.5rem 1.1rem 1rem}
.rzb__scroll .rzb__step h3{margin-top:.6rem}
/* Barra fija inferior */
.rzb__bar{flex:none;display:flex;align-items:center;gap:.7rem;padding:.65rem 1rem;border-top:1px solid var(--line);background:#fff;box-shadow:0 -4px 16px rgba(16,22,30,.08)}
.rzb__bar-back{flex:none;width:46px !important;height:46px !important;padding:0 !important;border-radius:50%;border:2px solid var(--line);background:#fff;font-size:1.5rem;line-height:1;cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;justify-content:center}
.rzb__bar-back:hover{border-color:var(--a);color:var(--a)}
.rzb__bar-sum{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.rzb__bar-line{font-weight:700;color:var(--ink);font-size:16px !important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rzb__bar-price{font-size:14px !important;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rzb__bar-price strong{color:var(--a);font-size:19px !important}
.rzb__bar-next{flex:none;background:var(--a);color:#fff;border:none;border-radius:999px;padding:14px 26px !important;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;font-size:15px !important}
.rzb__bar{padding:12px 14px !important;gap:.8rem}
.rzb__bar-next:hover{background:var(--rz-accent-2,#1e93da)}
.rzb__bar-next:disabled{opacity:.6}
/* Botón que abre el modal (shortcode [renzos_booking]) */
.rzb-open{background:var(--a);color:#fff;border:none;border-radius:999px;padding:.9em 2em;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;font-size:.95rem;box-shadow:0 8px 20px rgba(42,168,242,.35)}
.rzb-open:hover{background:var(--rz-accent-2,#1e93da)}
.rzb-open-wrap{text-align:center;padding:2.5rem 0}

/* ================= PANEL: tabs + lista de reservas ================= */
.rzb-panel__tabs{display:flex;gap:.4rem;margin-bottom:1.2rem;border-bottom:1px solid var(--line)}
.rzb-panel__tab{background:none;border:none;padding:.7rem 1rem;font-weight:800;color:var(--mut);cursor:pointer;border-bottom:3px solid transparent;text-transform:uppercase;font-size:.82rem}
.rzb-panel__tab.is-active{color:var(--a);border-color:var(--a)}
.rzb-panel__empty{color:var(--mut)}
.rzb-bookings{display:flex;flex-direction:column;gap:.7rem}
.rzb-bcard{display:flex;gap:.9rem;align-items:center;background:#fff;border:1px solid var(--line);border-radius:12px;padding:.9rem 1rem}
.rzb-bcard__when{text-align:center;min-width:60px;display:flex;flex-direction:column}
.rzb-bcard__when strong{font-size:.88rem;color:var(--ink)}
.rzb-bcard__when span{font-size:.82rem;color:var(--mut)}
.rzb-bcard__main{flex:1;min-width:0}
.rzb-bcard__svc{font-weight:700;color:var(--ink)}
.rzb-bcard__cust{font-size:.88rem;color:var(--mut)}
.rzb-bcard__cust a{color:var(--a)}
.rzb-bcard__addr{font-size:.82rem;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rzb-bcard__side{text-align:right;display:flex;flex-direction:column;gap:.3rem;align-items:flex-end}
.rzb-badge{font-size:.7rem;font-weight:800;text-transform:uppercase;padding:.2rem .6rem;border-radius:999px}
.rzb-badge.is-paid{background:#e6f7ea;color:#137a34}
.rzb-badge.is-pending{background:#fff4e5;color:#b26a00}
.rzb-bcard__amt{font-size:.78rem;color:var(--mut)}
@media(max-width:560px){.rzb-bcard{flex-wrap:wrap}.rzb-bcard__addr{white-space:normal}}
/* Panel: SMS */
.rzb-panel__hint{color:var(--mut);font-size:.85rem;margin:.2rem 0 .6rem}
.rzb-panel__check{display:flex;align-items:center;gap:.5rem;font-weight:600;margin:.3rem 0 .8rem}
.rzb-panel__stack{display:flex;flex-direction:column;gap:.6rem}
.rzb-panel__stack label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--ink)}
.rzb-panel__test{margin-top:.9rem;background:#fff;border:2px solid var(--a);color:var(--a);padding:.55em 1.4em;border-radius:999px;font-weight:800;text-transform:uppercase;letter-spacing:.03em;cursor:pointer;font-size:.82rem}
.rzb-panel__test:hover{background:var(--a);color:#fff}

/* ================= Pago dentro del modal (Square) ================= */
.rzb__pay{max-width:440px;margin:0 auto;padding-top:.4rem}
.rzb__pay-info{color:var(--mut);font-size:.92rem;margin:.2rem 0 1rem;line-height:1.5}
.rzb__pay-info strong{color:var(--a)}
.rzb__card-field{min-height:52px;border:1px solid var(--line);border-radius:12px;padding:.35rem .5rem}
#rzb-pay-err{color:#c0392b;min-height:1.1em}
.rzb__pay-secure{text-align:center;color:var(--mut);font-size:.8rem;margin-top:1rem}
