/* Reserva guiada · conserva los colores y controles de CapitalTrip. */
.client-reservation-page .concert-detail-title h1{font-size:clamp(26px,3vw,38px);line-height:1.18;max-width:34ch;text-wrap:balance}
.client-reservation-page .booking-section-help{font-size:15px;line-height:1.6;color:#445b6b;margin:8px 0 22px;max-width:65ch}
.client-reservation-page .cfg-options{gap:12px}
.client-reservation-page .booking-option-group{margin:14px 0 0;font-size:15px;font-weight:700;color:#102c45;grid-column:1/-1}
.client-reservation-page .cfg-transport-option{padding:18px;gap:14px;border:1px solid #c5d6e3;border-radius:12px;background:#fff;min-width:0;transition:background-color 160ms ease,border-color 160ms ease}
.client-reservation-page .cfg-transport-option.booking-option-selected{border-color:#086da8;background:#edf6fc}
.client-reservation-page .cfg-transport-option>input{width:22px!important;height:22px!important;min-height:22px;margin-top:12px;accent-color:#086da8;flex-shrink:0}
.client-reservation-page .cfg-transport-option>span{min-width:0}
.client-reservation-page .cfg-transport-option label{font-size:18px;line-height:1.35;min-height:44px}
.client-reservation-page .cfg-transport-option .cfg-price{display:block;font-size:16px;line-height:1.5;color:#243f53;font-variant-numeric:tabular-nums;margin:2px 0 12px}
.client-reservation-page .booking-option-details{display:flex;flex-wrap:wrap;gap:4px 24px}
.client-reservation-page .booking-option-details>details{flex:1 1 175px;margin:0;min-width:0}
.client-reservation-page .booking-option-details>details[open]{flex-basis:100%}
.client-reservation-page .booking-option-details summary{font-size:15px;min-height:44px}
.client-reservation-page .booking-option-details .trip-itin-panel{margin:8px 0 4px;padding:16px;border:0;background:#fff}
.client-reservation-page .booking-option-details .cfg-services-list{margin:8px 0 12px;line-height:1.6}
.client-reservation-page .booking-option-details .cfg-help{flex-basis:100%;font-size:14px;margin:0;color:#445b6b}
.client-reservation-page .cfg-step{scroll-margin-top:110px}
.client-reservation-page .cfg-step[hidden],.client-reservation-page .cfg-field[hidden]{display:none!important}
.client-reservation-page .booking-selection{font-size:15px;color:#243f53;padding-bottom:16px;border-bottom:1px solid #d7e4ed;line-height:1.5}
.client-reservation-page .booking-summary-edit{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:16px}
.client-reservation-page .booking-summary-edit a{display:inline-flex;align-items:center;min-height:44px;color:#086da8;font-size:14px;text-underline-offset:4px}
.client-reservation-page #booking-total{font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.client-reservation-page #booking-options,.client-reservation-page #booking-passengers,.client-reservation-page #booking-summary{scroll-margin-top:115px}
.booking-mobile-total{display:none}
@media(max-width:760px){
 .client-reservation-page .reservation-summary{grid-row:auto;display:block}
 .client-reservation-page .reservation-example{padding-bottom:110px}
 .client-reservation-page .cfg-transport-option{padding:14px;gap:10px}
 .client-reservation-page .booking-option-details{gap:0 12px}
 .client-reservation-page .booking-option-details>details{flex-basis:100%}
 .client-reservation-page .booking-section-help{font-size:15px;margin-bottom:18px}
 .booking-mobile-total{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;gap:12px;align-items:center;justify-content:space-between;background:#fff;border-top:1px solid #c5d6e3;padding:10px 16px max(10px,env(safe-area-inset-bottom));color:#102c45}
 .booking-mobile-total>div{min-width:0}.booking-mobile-total span{display:block;font-size:12px;line-height:1.4}.booking-mobile-total strong{display:block;font-size:15px;line-height:1.5;font-variant-numeric:tabular-nums}
 .booking-mobile-total a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:8px;background:#086da8;color:#fff;white-space:nowrap;font-size:14px;text-decoration:none}
}
@media(prefers-reduced-motion:reduce){.client-reservation-page .cfg-transport-option{transition:none}}
@media print{.booking-mobile-total{display:none}}

.client-reservation-page .cfg-phase-note:empty{display:none}.client-reservation-page .cfg-step>.cfg-help{margin-block:10px}.client-reservation-page .cfg-transport-option label strong{font-weight:650}

.client-reservation-page .booking-traveler-count{padding:20px 0 26px;border-bottom:1px solid #d7e4ed;margin-bottom:26px}
.client-reservation-page .booking-traveler-count h2{margin:0 0 16px}
.client-reservation-page .booking-traveler-count label{display:block;font-size:15px;font-weight:600;margin-bottom:8px}
.client-reservation-page #booking-traveler-count{max-width:280px;width:100%;min-height:48px;font-size:16px}
.client-reservation-page .booking-traveler-count p{font-size:14px;line-height:1.6;color:#445b6b;margin:10px 0 0;max-width:60ch}
.client-reservation-page #booking-traveler-count-message:empty{display:none}
@media(max-width:560px){.client-reservation-page #booking-traveler-count{max-width:none}}

/* Desplegables de consulta con icono, flecha y estado abierto. */
.client-reservation-page .booking-option-details{gap:10px 14px}
.client-reservation-page .booking-option-details>details{flex:1 1 200px}
.client-reservation-page .booking-option-details summary{display:flex;align-items:center;gap:10px;padding:10px 14px;min-height:48px;box-sizing:border-box;border:1px solid #b9cedd;border-radius:9px;background:#fff;color:#075b89;font:600 14px/1.4 "Segoe UI",sans-serif;list-style:none;transition:background-color 160ms ease,border-color 160ms ease}
.client-reservation-page .booking-option-details summary::-webkit-details-marker{display:none}
.client-reservation-page .booking-option-details summary::marker{content:""}
.client-reservation-page .booking-option-details summary>svg{width:20px;height:20px;flex:0 0 20px}
.client-reservation-page .booking-option-details summary::after{content:"";width:7px;height:7px;border-right:1.7px solid currentColor;border-bottom:1.7px solid currentColor;transform:rotate(45deg);margin-left:auto;margin-right:3px;flex:0 0 7px;transition:transform 160ms ease}
.client-reservation-page .booking-option-details summary:hover{background:#f1f7fb;border-color:#086da8}
.client-reservation-page .booking-option-details details[open]>summary{background:#e5f0f8;border-color:#086da8}
.client-reservation-page .booking-option-details details[open]>summary::after{transform:rotate(225deg)}
.client-reservation-page .booking-option-details .trip-itin-panel{margin-top:12px;padding:20px}
.client-reservation-page .booking-option-details .cfg-services-list{padding:12px 0;margin:0}
@media(max-width:480px){.client-reservation-page .booking-option-details .trip-itin-panel{padding:14px}.client-reservation-page .booking-option-details>details{flex-basis:100%}}
@media(prefers-reduced-motion:reduce){.client-reservation-page .booking-option-details summary,.client-reservation-page .booking-option-details summary::after{transition:none}}
