/*
 * «Solicitar reserva» con el design system de design-systems/airbnb/
 * (27 sep 2026). Usa los tokens --ab-* de catalogo-airbnb.css.
 *
 * Fondo blanco y líneas finas, sin franjas naranjas. El naranja de la marca
 * (#D63A00 con texto blanco) queda solo en el botón principal de cada paso.
 * Selección estilo Airbnb: borde negro de 2px. Todo va bajo #bookOv para
 * ganar a las capas anteriores de catalog.css y brand.css sin tocarlas.
 */

/* ── marco: cabecera, pasos y pie ── */
#bookOv .sheet{background:var(--ab-surface);color:var(--ab-ink)}
#bookOv .sheet-head{background:var(--ab-surface);border-bottom:1px solid var(--ab-line)}
#bookOv .sheet-head h2{color:var(--ab-ink);font-size:16px;font-weight:600}
#bookOv .sheet-head .icon-btn{width:32px;height:32px;border:0;border-radius:var(--ab-r-pill);background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .sheet-head .icon-btn:hover{background:var(--ab-line)}
#bookOv .steps .bar{background:var(--ab-line)}
#bookOv .steps .done .bar,#bookOv .steps .cur .bar{background:var(--ab-ink)}
#bookOv .steps .lbl{color:var(--ab-muted)}
#bookOv .steps .cur .lbl{color:var(--ab-ink);font-weight:600}
#bookOv .sheet-foot{background:var(--ab-surface);border-top:1px solid var(--ab-line)}
#bookOv .tot-block span{color:var(--ab-muted)!important}
#bookOv .tot-block b{font-family:'Outfit',var(--font);font-size:22px;font-weight:800;letter-spacing:-.01em;color:var(--ab-ink)}

/* botón principal: el único naranja; el resto, negro o contorno */
#bookOv .btn-brand,#bookOv #nextBtn,#bookOv .btn-inv,#bookOv .receipt-primary,#bookOv .cash-submit{height:48px;padding:0 24px;border:0;border-radius:var(--ab-r-pill);background:var(--ab-cta);color:var(--ab-on-cta);font-size:16px;font-weight:600;transition:filter .2s}
#bookOv .btn-brand:hover,#bookOv #nextBtn:hover,#bookOv .btn-inv:hover,#bookOv .receipt-primary:hover{filter:brightness(.92);opacity:1}
#bookOv .btn-brand[aria-disabled="true"]{background:var(--ab-deco);color:var(--ab-muted)}
#bookOv .btn-ghost{border:1px solid var(--ab-ink);border-radius:var(--ab-r-input);background:transparent;color:var(--ab-ink)}
#bookOv .btn-ghost:hover{background:var(--ab-canvas)}
#bookOv .promo-row .btn-inv{border-radius:var(--ab-r-input);background:var(--ab-ink);color:var(--ab-surface)}

/* ── columna del carro ── */
#bookOv .booking-aside{border:1px solid var(--ab-line);border-top:1px solid var(--ab-line);border-radius:var(--ab-r-card);background:var(--ab-surface)}
#bookOv .booking-aside .car-sum .thumb,#bookOv .car-sum .thumb{border-radius:8px;background:var(--ab-canvas)}
#bookOv .booking-aside h3,#bookOv .car-sum h3{color:var(--ab-ink);font-size:16px;font-weight:600;line-height:1.25}
#bookOv .car-sum p,#bookOv .booking-assurance,#bookOv .aside-trip dt{color:var(--ab-muted)}
#bookOv .aside-total{border-top-color:var(--ab-line);color:var(--ab-muted)}
#bookOv .aside-total strong{font-family:'Outfit',var(--font);font-size:28px;font-weight:800;color:var(--ab-ink)}

/* ── títulos y campos ── */
#bookOv .booking-main .step-title,#bookOv .step-title{font-family:'Outfit',var(--font);font-size:28px;font-weight:800;line-height:1.18;letter-spacing:-.02em;color:var(--ab-ink)}
#bookOv .booking-intro{color:var(--ab-muted);font-size:16px;line-height:1.43}
#bookOv .field{border:1px solid var(--ab-deco);border-radius:var(--ab-r-input);background:var(--ab-surface)}
#bookOv .field:focus-within{outline:2px solid var(--ab-ink);outline-offset:-1px}
#bookOv .field label{color:var(--ab-muted);font-weight:500}
#bookOv .note{background:var(--ab-canvas);color:var(--ab-ink);border-radius:var(--ab-r-input);font-size:13px;line-height:1.5}
#bookOv .payment-next-note{padding:12px 16px;border-left:0;border-radius:var(--ab-r-input);background:var(--ab-canvas);color:var(--ab-ink);font-size:14px}
#bookOv .check-row{border-bottom-color:var(--ab-line)}
#bookOv .check-row input,#bookOv #bTerms{accent-color:var(--ab-ink)}

/* ── viaje: filas editables, calendario y aeropuertos ── */
#bookOv .trip-summary{border-color:var(--ab-deco);border-radius:var(--ab-r-card)}
#bookOv .trip-edit-row{border-bottom-color:var(--ab-line)}
#bookOv .trip-edit-copy span{color:var(--ab-muted)}
#bookOv .trip-pencil{border:0;background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .trip-pencil:hover,#bookOv .trip-pencil[aria-expanded=true]{background:var(--ab-line);color:var(--ab-ink)}
#bookOv .calendar-selection button[aria-pressed=true]{border-color:var(--ab-ink);background:var(--ab-canvas)}
#bookOv .calendar-arrow{color:var(--ab-ink)}
#bookOv .calendar-day:not(:disabled):hover span{background:var(--ab-line)}
#bookOv .calendar-day.between{background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .calendar-day.selected span,#bookOv .calendar-day.selected:not(:disabled):hover span{background:var(--ab-ink);color:var(--ab-surface)}
#bookOv .calendar-legend .chosen::before{background:var(--ab-ink)}
#bookOv .trip-editor{background:var(--ab-canvas)}
#bookOv .airport-choice{border-color:var(--ab-deco);border-radius:var(--ab-r-card)}

/* ── cobertura: dos tarjetas con lo que cubre cada una ── */
#bookOv .cover-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;align-items:stretch}
#bookOv .cover-card{position:relative;display:flex;flex-direction:column;gap:16px;min-width:0;padding:20px;border:1px solid var(--ab-deco);border-radius:var(--ab-r-card);background:var(--ab-surface);transition:border-color .2s,box-shadow .2s}
#bookOv .cover-card:hover{border-color:var(--ab-ink)}
#bookOv .cover-card.is-on{padding:19px;border:2px solid var(--ab-ink);box-shadow:var(--ab-shadow-subtle)}
#bookOv .cover-card.is-off{opacity:.5}
#bookOv .cover-tag{position:absolute;top:-12px;right:16px;z-index:1;padding:4px 10px;border-radius:var(--ab-r-pill);background:var(--ab-ink);color:var(--ab-surface);font-size:12px;font-weight:600;line-height:1.43}
#bookOv .cover-pick{display:grid;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;margin:0;padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer}
#bookOv .cover-pick::after{content:"";position:absolute;inset:0;border-radius:var(--ab-r-card)}
#bookOv .cover-pick:focus-visible{outline:0}
#bookOv .cover-pick:focus-visible::after{outline:2px solid var(--ab-ink);outline-offset:3px}
#bookOv .cover-pick:disabled{cursor:not-allowed}
#bookOv .cover-radio{width:20px;height:20px;border:1px solid var(--ab-grey);border-radius:var(--ab-r-pill);background:var(--ab-surface);transition:border-width .15s}
#bookOv .cover-card.is-on .cover-radio{border:6px solid var(--ab-ink)}
#bookOv .cover-name{font-size:18px;font-weight:600;line-height:1.2}
#bookOv .cover-name small,#bookOv .cover-price small{display:block;margin-top:2px;color:var(--ab-muted);font-size:13px;font-weight:400}
#bookOv .cover-price{font-size:18px;font-weight:600;text-align:right;white-space:nowrap}
#bookOv .cover-list{display:grid;gap:10px;margin:0;padding:16px 0 0;border-top:1px solid var(--ab-line);list-style:none}
#bookOv .cover-list li{display:grid;grid-template-columns:16px minmax(0,1fr);gap:10px;align-items:start;font-size:14px;line-height:1.43;color:var(--ab-ink)}
#bookOv .cover-list svg{margin-top:2px}
#bookOv .cover-list .cover-no{color:var(--ab-muted)}
#bookOv .cover-list .cover-info svg{color:var(--ab-accent)}
#bookOv .cover-foot{margin:auto 0 0;padding:12px;border-radius:var(--ab-r-input);background:var(--ab-canvas);color:var(--ab-ink);font-size:13px;line-height:1.5}
#bookOv .cover-note{margin:-8px 0 0;color:var(--ab-muted);font-size:13px;line-height:1.5}
#bookOv .cover-note .linkish{color:var(--ab-ink);font-weight:600;text-decoration:underline;text-underline-offset:2px}

/* ── resumen del viaje estilo Airbnb/Turo ── */
#bookOv .trip-card{overflow:hidden;border:1px solid var(--ab-deco);border-radius:var(--ab-r-card);background:var(--ab-surface)}
#bookOv .trip-card-car{display:flex;align-items:center;gap:16px;padding:16px;background:var(--ab-canvas)}
#bookOv .trip-card-photo{flex:none;width:112px;aspect-ratio:4/3;overflow:hidden;border-radius:8px;background:var(--ab-deco)}
#bookOv .trip-card-photo img,#bookOv .trip-card-photo svg{display:block;width:100%;height:100%;object-fit:cover}
#bookOv .trip-card-kicker{color:var(--ab-muted);font-size:13px}
#bookOv .trip-card-car h4{margin:2px 0;font-size:16px;font-weight:600;line-height:1.25;overflow-wrap:anywhere}
#bookOv .trip-card-car p{margin:0;color:var(--ab-muted);font-size:14px}
#bookOv .trip-card-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:start;gap:12px;padding:16px;border-top:1px solid var(--ab-line)}
#bookOv .trip-card-icon{display:grid;place-items:center;width:40px;height:40px;border-radius:var(--ab-r-pill);background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .trip-card-copy{min-width:0}
#bookOv .trip-card-copy>span{display:block;color:var(--ab-muted);font-size:13px}
#bookOv .trip-card-copy strong{display:block;margin-top:2px;color:var(--ab-ink);font-size:15px;font-weight:600;line-height:1.35;overflow-wrap:anywhere}
#bookOv .trip-card-copy small{display:block;margin-top:2px;color:var(--ab-muted);font-size:13px;line-height:1.45;overflow-wrap:anywhere}
#bookOv .trip-card-edit{padding:4px 0;border:0;background:none;color:var(--ab-ink);font:inherit;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* ── pago: íconos propios de efectivo y tarjeta ── */
#bookOv .review-section-heading h4,#bookOv .review-price h4{font-size:18px;font-weight:600;color:var(--ab-ink)}
#bookOv .payment-option{border:1px solid var(--ab-deco);border-radius:var(--ab-r-card);background:var(--ab-surface);overflow:hidden}
#bookOv .payment-option.selected{border:2px solid var(--ab-ink);box-shadow:none}
#bookOv .payment-choice[aria-pressed="true"]{background:transparent;box-shadow:none}
/* cuadro ancho para que los logos de pago a plazos se vean completos */
#bookOv .payment-choice{grid-template-columns:84px minmax(0,1fr) 22px}
/* catalog.css fija el cuadro en 54px con !important; aquí se ensancha igual */
#bookOv .payment-choice-art{width:84px!important;height:52px!important;padding:6px 8px;border-radius:8px;background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .payment-choice-art svg{width:30px;height:30px}
#bookOv .pay-art-brand{border:1px solid var(--ab-line);background:#ffffff}
#bookOv .payment-choice-art .payment-logo{display:block;width:100%;height:100%;max-width:none;max-height:none;object-fit:contain}
#bookOv .payment-choice-copy strong{font-size:16px;font-weight:600;color:var(--ab-ink)}
#bookOv .payment-choice-copy small{color:var(--ab-muted);font-size:13px}
#bookOv .card-brands{display:flex;gap:6px;margin-top:4px}
#bookOv .card-brands img{display:block;width:34px;height:22px;border:1px solid var(--ab-line);border-radius:4px;background:#ffffff;object-fit:contain}
#bookOv .payment-radio{border-color:var(--ab-grey)}
#bookOv .payment-choice[aria-pressed="true"] .payment-radio{border:6px solid var(--ab-ink)}
#bookOv .card-pickup-requirement{border:1px solid var(--ab-deco);border-left:4px solid var(--ab-ink);border-radius:var(--ab-r-input);background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .review-price{border:1px solid var(--ab-deco);border-radius:var(--ab-r-card);background:var(--ab-surface)}
#bookOv .review-price .ln.total{border-top-color:var(--ab-line);font-family:'Outfit',var(--font);font-size:20px;font-weight:800}
#bookOv .promo-section{border-bottom-color:var(--ab-line)}

/* ── garantía al recibir el vehículo: en rojo para que se note (pedido de Angel) ── */
#bookOv .guarantee{display:grid;gap:16px;padding:20px;border:2px solid var(--error);border-radius:var(--ab-r-card);background:rgba(179,38,30,.06);color:var(--ab-ink)}
#bookOv .guarantee-head{display:flex;align-items:flex-start;gap:14px}
#bookOv .guarantee-icon{display:grid;place-items:center;flex:none;width:44px;height:44px;border-radius:var(--ab-r-pill);background:var(--error);color:#ffffff}
#bookOv .guarantee-tag{display:inline-block;padding:4px 10px;border-radius:var(--ab-r-pill);background:var(--error);color:#ffffff;font-size:12px;font-weight:700;line-height:1.43;letter-spacing:.02em;text-transform:uppercase}
#bookOv .guarantee-head h4{margin:8px 0 4px;color:var(--error);font-family:'Outfit',var(--font);font-size:20px;font-weight:800;line-height:1.2}
#bookOv .guarantee-head p{margin:0;color:var(--ab-ink);font-size:14px;line-height:1.5}
#bookOv .guarantee-options{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:12px}
#bookOv .guarantee-option{display:flex;flex-direction:column;gap:6px;min-width:0;padding:16px;border:1px solid rgba(179,38,30,.3);border-radius:var(--ab-r-card);background:var(--ab-surface)}
#bookOv .guarantee-option-icon{display:grid;place-items:center;width:36px;height:36px;margin-bottom:4px;border-radius:var(--ab-r-pill);background:rgba(179,38,30,.1);color:var(--error)}
#bookOv .guarantee-num{color:var(--error);font-size:12px;font-weight:700}
#bookOv .guarantee-option h5{margin:0;font-size:16px;font-weight:600;line-height:1.25}
#bookOv .guarantee-option p{margin:0;font-size:14px;line-height:1.5}
#bookOv .guarantee-option .guarantee-key{margin-top:auto;padding-top:10px;border-top:1px solid var(--ab-line);font-size:13px;font-weight:700}
#bookOv .guarantee-or{display:grid;place-items:center;align-self:center;width:32px;height:32px;border:1px solid rgba(179,38,30,.3);border-radius:var(--ab-r-pill);background:var(--ab-surface);color:var(--error);font-size:13px;font-weight:700}
#bookOv .guarantee-note{margin:0;color:var(--ab-muted);font-size:12px;line-height:1.5}

/* ── básico: «Incluido» y aviso de responsabilidad del 100% ── */
#bookOv .cover-price.is-incl{align-self:start;padding:4px 10px;border-radius:var(--ab-r-pill);background:var(--ab-canvas);font-size:14px;font-weight:600}
/* aviso del básico: rojo sólido y texto blanco; el triángulo amarillo va en su propia
   columna para que nada quede encima ni pegado. Colores fijos (sin color-mix) para
   que se vea igual en iPhone con iOS anterior a 16.2. */
#bookOv .cover-foot.is-warn{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;gap:10px;padding:14px 16px;border:0;border-radius:var(--ab-r-input);background:#b3261e;color:#ffffff;font-size:14px;font-weight:600;line-height:1.45}
#bookOv .cover-foot.is-warn .warn-tri{display:block;width:22px;height:22px;margin-top:-1px}
#bookOv .cover-foot.is-warn span{min-width:0;overflow-wrap:anywhere}

/* ── extras: tarjetas con ícono, se marcan con borde negro al elegirlas ── */
#bookOv .extras{display:grid;gap:14px;padding:20px;border-radius:var(--ab-r-card);background:var(--ab-canvas)}
#bookOv .extras-head h4{margin:0;font-family:'Outfit',var(--font);font-size:20px;font-weight:800;color:var(--ab-ink)}
#bookOv .extras-head p{margin:4px 0 0;color:var(--ab-muted);font-size:14px;line-height:1.43}
#bookOv .extras-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#bookOv .extra-card{position:relative;display:grid;grid-template-columns:48px minmax(0,1fr) 24px;align-items:center;gap:12px;min-width:0;padding:16px;border:1px solid var(--ab-deco);border-radius:var(--ab-r-card);background:var(--ab-surface);cursor:pointer;transition:border-color .2s,box-shadow .2s}
#bookOv .extra-card:hover{border-color:var(--ab-ink);box-shadow:var(--ab-shadow-subtle)}
#bookOv .extra-card:has(input:checked){padding:15px;border:2px solid var(--ab-ink)}
#bookOv .extra-card:has(input:focus-visible){outline:2px solid var(--ab-ink);outline-offset:3px}
#bookOv .extra-icon{display:grid;place-items:center;width:48px;height:48px;border-radius:var(--ab-r-pill);background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .extra-copy{min-width:0}
#bookOv .extra-copy strong{display:block;font-size:16px;font-weight:600;color:var(--ab-ink)}
#bookOv .extra-copy small{display:block;margin-top:2px;color:var(--ab-muted);font-size:13px}
#bookOv .extra-card input{position:absolute;opacity:0;pointer-events:none}
#bookOv .extra-check{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--ab-grey);border-radius:6px;background:var(--ab-surface)}
#bookOv .extra-card:has(input:checked) .extra-check{border-color:var(--ab-ink);background:var(--ab-ink)}
#bookOv .extra-card:has(input:checked) .extra-check::after{content:"";width:6px;height:11px;margin-top:-2px;border:solid var(--ab-surface);border-width:0 2px 2px 0;transform:rotate(45deg)}

/* silla para bebé: tarjeta con selector Ninguna / 1 / 2 (US$5 por día cada una) */
#bookOv .extra-card-seat{grid-template-columns:48px minmax(0,1fr);row-gap:14px;cursor:default}
#bookOv .extra-card-seat:hover{box-shadow:none}
#bookOv .extra-card-seat.is-on{padding:15px;border:2px solid var(--ab-ink)}
#bookOv .extra-card-seat.is-bad{border:2px solid #b3261e;background:rgba(179,38,30,.05);padding:15px}
#bookOv .extra-card-seat.is-bad strong{color:#b3261e}
#bookOv .extra-qty{grid-column:1/-1;display:grid;grid-template-columns:1.5fr 1fr 1fr;overflow:hidden;border:1px solid var(--ab-deco);border-radius:var(--ab-r-input);background:var(--ab-surface)}
#bookOv .extra-qty button{height:40px;margin:0;padding:0 8px;border:0;border-left:1px solid var(--ab-deco);background:transparent;color:var(--ab-ink);font:inherit;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s}
#bookOv .extra-qty button:first-child{border-left:0}
#bookOv .extra-qty button:hover{background:var(--ab-canvas)}
#bookOv .extra-qty button[aria-pressed="true"]{background:var(--ab-ink);color:var(--ab-surface)}
#bookOv .extra-qty button:focus-visible{outline:2px solid var(--ab-ink);outline-offset:-3px}
#bookOv .extras-grid{align-items:start}

/* ── revisión a una columna: el carro ya sale en «Tu viaje» ── */
#bookOv .booking-layout.is-single{grid-template-columns:minmax(0,1fr);max-width:720px;margin-inline:auto}

/* ── Zelle: monto destacado en morado Zelle, mensaje bajo el beneficiario y comprobante ── */
.cash-dialog .cash-amount{align-items:center;padding:20px 22px;border:0;border-radius:var(--ab-r-card);background:linear-gradient(120deg,#6326b5,#5f259f);color:#ffffff}
.cash-dialog .cash-amount>div>span{color:rgba(255,255,255,.85);font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.cash-dialog .cash-amount strong{display:block;margin-top:4px;color:#ffffff;font-family:'Outfit',var(--font);font-size:36px;font-weight:800;line-height:1.1}
.cash-dialog .cash-amount strong small{color:rgba(255,255,255,.85);font-size:16px}
.cash-dialog .cash-amount-note{color:rgba(255,255,255,.85)}
.cash-dialog .cash-detail-memo .cash-memo{margin-top:8px}
.cash-dialog .cash-memo{border:1px dashed #6326b5;background:rgba(99,38,181,.06)}
.cash-dialog .cash-memo code{color:#5f259f;font-weight:700}
.cash-dialog .cash-proof{position:relative;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px;border:1.5px dashed var(--ab-grey);border-radius:var(--ab-r-card);background:var(--ab-surface);cursor:pointer;transition:border-color .2s}
.cash-dialog .cash-proof:hover,.cash-dialog .cash-proof:focus-within{border-color:#6326b5}
.cash-dialog .cash-proof.is-ready{border-style:solid;border-color:var(--ok)}
.cash-dialog .cash-proof input{position:absolute;width:1px;height:1px;opacity:0}
.cash-dialog .cash-proof-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:var(--ab-r-pill);background:rgba(99,38,181,.1);color:#6326b5}
.cash-dialog .cash-proof.is-ready .cash-proof-icon{background:rgba(10,125,44,.12);color:var(--ok)}
.cash-dialog .cash-proof-copy{min-width:0}
.cash-dialog .cash-proof-copy strong{display:block;color:var(--ab-ink);font-size:15px;font-weight:600;overflow-wrap:anywhere}
.cash-dialog .cash-proof-copy small{display:block;margin-top:2px;color:var(--ab-muted);font-size:12px}
.cash-dialog .cash-proof img{width:56px;height:56px;border:1px solid var(--ab-line);border-radius:8px;object-fit:cover}
.cash-dialog [data-cash-copy]{border:0;border-radius:var(--ab-r-pill);background:rgba(99,38,181,.1);color:#5f259f;font-weight:600}
.cash-dialog .cash-submit{border-radius:var(--ab-r-pill);background:var(--ab-cta);color:#ffffff}
.cash-dialog .cash-submit:disabled{background:var(--ab-deco);color:var(--ab-muted)}

/* ── lugar de entrega: mapa real con precios (diseño 3 elegido el 28 sep 2026) y lista con radio ── */
#bookOv .ap-map{position:relative;z-index:0;isolation:isolate;height:320px;margin:0 0 8px;border-radius:var(--ab-r-card);overflow:hidden;background:#f4f0e8;font-family:inherit}
#bookOv .ap-map .maplibregl-ctrl-group{border-radius:12px;box-shadow:0 0 0 1px rgba(0,0,0,.06),0 2px 8px rgba(0,0,0,.12)}
#bookOv .ap-map .maplibregl-ctrl-attrib{font-size:10px}
/* Marcador: de lejos, un punto con la etiqueta del precio encima; de cerca, un sello
   naranja con avión y anillo de luz (otro estilo, no el de Apple Maps). */
#bookOv .ap-pin{display:block;width:12px;height:12px;margin:0;padding:0;border:0;background:none;cursor:pointer;transition:width .3s,height .3s}
#bookOv .ap-pin-dot{position:absolute;inset:0;display:grid;place-items:center;border-radius:50%;background:var(--ab-ink);color:var(--ab-surface);box-shadow:0 0 0 3px var(--ab-surface);transition:background-color .25s,box-shadow .25s}
#bookOv .ap-pin-dot svg{width:0;height:0;transition:width .25s,height .25s}
#bookOv .ap-pin-tag{position:absolute;left:50%;bottom:calc(100% + 8px);display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:var(--ab-r-pill);background:var(--ab-surface);color:var(--ab-ink);box-shadow:0 0 0 1px rgba(0,0,0,.08),0 2px 6px rgba(0,0,0,.18);font-size:14px;font-weight:700;line-height:1.2;white-space:nowrap;transform:translateX(-50%);transition:background-color .2s,color .2s}
#bookOv .ap-pin-tag small{font-size:11px;font-weight:600;letter-spacing:.04em;opacity:.65}
#bookOv .ap-pin:hover .ap-pin-tag{transform:translateX(-50%) scale(1.05)}
/* Santiago y Puerto Plata quedan muy juntos de lejos: la etiqueta de Santiago va debajo. */
#bookOv .ap-map:not(.is-near) .ap-pin.tag-down .ap-pin-tag{top:calc(100% + 8px);bottom:auto}
#bookOv .ap-pin.on{z-index:2}
#bookOv .ap-pin.on .ap-pin-dot{background:var(--ab-accent)}
#bookOv .ap-pin.on .ap-pin-tag{background:var(--ab-ink);color:var(--ab-surface)}
#bookOv .ap-pin:focus-visible{outline:none}
#bookOv .ap-pin:focus-visible .ap-pin-tag{outline:2px solid var(--ab-accent);outline-offset:2px}
#bookOv .ap-map.is-near .ap-pin{width:46px;height:46px}
#bookOv .ap-map.is-near .ap-pin-dot{background:var(--ab-surface);color:var(--ab-ink);box-shadow:0 0 0 1px rgba(0,0,0,.08),0 6px 16px rgba(0,0,0,.2)}
#bookOv .ap-map.is-near .ap-pin-dot svg{width:22px;height:22px}
#bookOv .ap-map.is-near .ap-pin.on .ap-pin-dot{background:var(--ab-accent);color:var(--ab-surface);box-shadow:0 0 0 4px var(--ab-surface),0 0 0 12px rgba(255,69,0,.2),0 10px 24px rgba(214,58,0,.35)}
#bookOv .ap-map.is-near .ap-pin-tag,#bookOv .ap-map.is-near .ap-pin.tag-up .ap-pin-tag{top:calc(100% + 12px);bottom:auto}
#bookOv .ap-map.is-near .ap-pin.on .ap-pin-tag{display:none}
#bookOv .ap-card{position:absolute;left:12px;right:12px;bottom:12px;z-index:3;display:none;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 12px;padding:12px 14px;border-radius:var(--ab-r-card);background:var(--ab-surface);box-shadow:0 0 0 1px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.16)}
#bookOv .ap-map.is-near .ap-card{display:grid}
#bookOv .ap-card strong{display:block;font-size:15px;font-weight:700;line-height:1.25}
#bookOv .ap-card small{display:block;margin-top:2px;color:var(--ab-muted);font-size:13px}
#bookOv .ap-card b{font-size:16px;font-weight:700;white-space:nowrap}
#bookOv .ap-island{grid-column:1/-1;justify-self:start;margin:4px 0 0;padding:0;border:0;background:none;color:var(--ab-ink);font:inherit;font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
#bookOv .ap-map.is-off{display:none}
#bookOv .ap-editor{padding:0;border-bottom:0;background:none}
#bookOv .airport-choices.ap-list{gap:0}
#bookOv .ap-list .airport-choice{position:relative;gap:14px;padding:16px 2px;border:0;border-bottom:1px solid var(--ab-line);border-radius:0;background:none;box-shadow:none}
#bookOv .ap-list .airport-choice:last-of-type{border-bottom:0}
#bookOv .ap-list .airport-choice:has(input:checked){box-shadow:none}
#bookOv .ap-list .airport-choice:focus-within{outline:2px solid var(--ab-ink);outline-offset:2px;border-radius:var(--ab-r-input)}
#bookOv .ap-list .airport-choice input{position:absolute;width:1px;height:1px;margin:0;opacity:0}
#bookOv .ap-radio{flex:none;width:22px;height:22px;border:2px solid var(--ab-deco);border-radius:50%;transition:border-width .15s,border-color .15s}
#bookOv .ap-list input:checked+.ap-radio{border:7px solid var(--ab-ink)}
#bookOv .ap-list .airport-choice-copy strong{font-size:16px}
#bookOv .ap-list .airport-choice-copy small{font-size:13px}
#bookOv .ap-list .airport-choice-price b{font-size:16px;font-weight:700}
@media(max-width:760px){#bookOv .ap-map{height:300px;margin:0 -16px 8px;border-radius:0}}

/* ── aviso de días mínimos: el mismo cuadro rojo del buscador de arriba ── */
#bookOv .min-alert{display:flex;align-items:flex-start;gap:10px;margin:0;padding:12px 14px;border-radius:14px;background:#b3261e;color:#ffffff;font-size:14px;font-weight:600;line-height:1.4;box-shadow:0 10px 24px -10px rgba(179,38,30,.8)}
#bookOv .min-alert svg{flex:none;margin-top:1px}
#bookOv .trip-calendar .min-alert{margin:12px 16px 4px}
#bookOv .focused-editor>.min-alert{margin-bottom:16px}
#bookOv .calendar-day.too-short{color:var(--ab-muted);opacity:.45;cursor:not-allowed}
#bookOv .calendar-day.too-short:hover span{background:none}

/* ── código promocional: enlace plegable y campo con el botón dentro ── */
#bookOv .promo-box{border:1px solid var(--ab-deco);border-radius:var(--ab-r-card);background:var(--ab-surface)}
#bookOv .promo-toggle summary{display:grid;grid-template-columns:36px minmax(0,1fr) 16px;align-items:center;gap:12px;padding:14px 16px;list-style:none;font-size:15px;font-weight:600;cursor:pointer}
#bookOv .promo-toggle summary::-webkit-details-marker{display:none}
#bookOv .promo-toggle{border:0}
#bookOv .promo-toggle summary svg{transform:none}
#bookOv .promo-toggle[open] .promo-chev{transform:rotate(180deg)}
#bookOv .promo-chev{transition:transform .2s}
#bookOv .promo-ic{display:grid;place-items:center;width:36px;height:36px;border-radius:var(--ab-r-pill);background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .promo-field{display:flex;align-items:center;gap:6px;margin:0 16px 14px;padding:5px 5px 5px 14px;border:1px solid var(--ab-deco);border-radius:var(--ab-r-pill);background:var(--ab-surface);transition:border-color .2s,box-shadow .2s}
#bookOv .promo-field:focus-within{border-color:var(--ab-ink);box-shadow:0 0 0 1px var(--ab-ink)}
#bookOv .promo-field.bad{border-color:#b3261e}
#bookOv .promo-field input{flex:1;min-width:0;height:40px;margin:0;padding:0;border:0;outline:0;background:transparent;color:var(--ab-ink);font:inherit;font-size:15px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
#bookOv .promo-field input::placeholder{font-weight:400;letter-spacing:0;text-transform:none;color:var(--ab-muted)}
#bookOv .promo-field button{flex:none;height:40px;margin:0;padding:0 18px;border:0;border-radius:var(--ab-r-pill);background:var(--ab-ink);color:var(--ab-surface);font:inherit;font-size:14px;font-weight:600;cursor:pointer}
#bookOv .promo-toggle .err{margin:-6px 16px 14px}
#bookOv .promo-applied{display:grid;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px 16px}
#bookOv .promo-box.is-applied{border-color:#0a7d2c;background:#f3faf5}
#bookOv .promo-box.is-applied .promo-ic{background:#0a7d2c;color:#ffffff}
#bookOv .promo-applied strong{display:block;font-size:15px;letter-spacing:.06em}
#bookOv .promo-applied small{display:block;color:#0a7d2c;font-size:13px;font-weight:600}
#bookOv .promo-remove{margin:0;padding:6px 0;border:0;background:none;color:var(--ab-ink);font:inherit;font-size:14px;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}

/* ── cierre «Último paso»: total, aceptación con casilla propia y tres garantías de servicio ── */
#bookOv .finish{display:grid;gap:16px;padding:22px 20px;border:1px solid var(--ab-deco);border-top:4px solid var(--ab-ink);border-radius:var(--ab-r-card);background:var(--ab-surface);box-shadow:var(--ab-shadow-subtle)}
#bookOv .finish-kicker{display:block;color:var(--ab-muted);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
#bookOv .finish-head h4{margin:2px 0 0;font-family:'Outfit',var(--font);font-size:24px;font-weight:800;line-height:1.15;color:var(--ab-ink)}
#bookOv .finish-total{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:var(--ab-r-input);background:var(--ab-canvas)}
#bookOv .finish-total span{display:block;color:var(--ab-muted);font-size:13px}
#bookOv .finish-total strong{display:block;font-family:'Outfit',var(--font);font-size:28px;font-weight:800;line-height:1.1;color:var(--ab-ink)}
#bookOv .finish-total small{padding:4px 10px;border-radius:var(--ab-r-pill);background:var(--ab-surface);color:var(--ab-ink);font-size:13px;font-weight:600;white-space:nowrap}
#bookOv .finish-check{position:relative;display:grid;grid-template-columns:26px minmax(0,1fr);gap:14px;align-items:start;padding:16px;border:1px solid var(--ab-deco);border-radius:var(--ab-r-input);cursor:pointer;transition:border-color .2s,background-color .2s}
#bookOv .finish-check:hover{border-color:var(--ab-ink)}
#bookOv .finish-check:has(input:checked){border-color:var(--ab-ink);background:var(--ab-canvas)}
#bookOv .finish-check.is-bad{border-color:#b3261e;background:rgba(179,38,30,.05)}
#bookOv .finish-check input{position:absolute;width:1px;height:1px;opacity:0}
#bookOv .finish-box{display:grid;place-items:center;width:26px;height:26px;border:2px solid var(--ab-ink);border-radius:7px;background:var(--ab-surface);transition:background-color .15s}
#bookOv .finish-check input:checked+.finish-box{background:var(--ab-ink)}
#bookOv .finish-check input:checked+.finish-box::after{content:"";width:7px;height:13px;margin-top:-3px;border:solid var(--ab-surface);border-width:0 2.5px 2.5px 0;transform:rotate(45deg)}
#bookOv .finish-check input:focus-visible+.finish-box{outline:2px solid var(--ab-ink);outline-offset:3px}
#bookOv .finish-copy{font-size:15px;line-height:1.45;color:var(--ab-ink)}
#bookOv .finish-copy .linkish{padding:0;border:0;background:none;color:inherit;font:inherit;font-weight:700;text-decoration:underline;text-underline-offset:2px;cursor:pointer}
#bookOv .finish-copy small{display:block;margin-top:6px;color:var(--ab-muted);font-size:13px;line-height:1.45}
#bookOv .finish-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0;padding:0;list-style:none}
#bookOv .finish-trust li{display:grid;justify-items:start;gap:8px;padding:12px;border-radius:var(--ab-r-input);background:var(--ab-canvas);color:var(--ab-ink);font-size:13px;line-height:1.35}
#bookOv .finish-trust span{display:grid;place-items:center;width:30px;height:30px;border-radius:var(--ab-r-pill);background:var(--ab-surface);color:var(--ab-ink)}
@media(max-width:760px){#bookOv .finish-trust{grid-template-columns:minmax(0,1fr)}#bookOv .finish-trust li{grid-template-columns:30px minmax(0,1fr);align-items:center;justify-items:stretch}}

/* ── recibo final ── */
#bookOv .receipt-symbol{background:var(--ab-canvas);color:var(--ab-ink)}
#bookOv .receipt-trip,#bookOv .receipt-access{border-color:var(--ab-deco)}
#bookOv .receipt-vehicle{background:var(--ab-canvas)}

/* ── pantallas estrechas: una columna ── */
@media(max-width:760px){
  #bookOv .extras-grid{grid-template-columns:minmax(0,1fr)}
  #bookOv .cover-options{grid-template-columns:minmax(0,1fr)}
  #bookOv .guarantee-options{grid-template-columns:minmax(0,1fr)}
  #bookOv .guarantee-or{justify-self:center}
  #bookOv .booking-main .step-title,#bookOv .step-title{font-size:24px}
  #bookOv .trip-card-photo{width:88px}
}
