.client-reservation-page .reservation-example{max-width:1180px;margin-inline:auto;padding:35px 32px 65px}.client-reservation-page .concert-detail-title{margin-top:20px;margin-bottom:16px}.client-reservation-page h1{font-size:clamp(29px,3.2vw,42px);line-height:1.2;text-wrap:balance;max-width:30ch}.client-reservation-page .reservation-example>p{max-width:75ch;color:#53616c;font-size:14px;line-height:1.8;margin-bottom:28px}.client-reservation-page .concert-detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:35px;align-items:start}.client-reservation-page .reservation-form{min-width:0}.client-reservation-page .reservation-form .concert-detail-section{padding:27px 0;margin:0;border:0;border-bottom:1px solid #d5e1eb;background:transparent;border-radius:0}.client-reservation-page .reservation-form .concert-detail-section:first-child{padding-top:0}.client-reservation-page h2{font-size:23px;line-height:1.3;margin:0 0 17px}.client-reservation-page .concert-detail-section>p{font-size:13px;color:#53616c;line-height:1.8;margin-bottom:18px}.client-reservation-page .field label{font-size:13px;font-weight:600;color:#243b4e;margin-bottom:7px}.client-reservation-page input:not([type=checkbox]),.client-reservation-page select,.client-reservation-page textarea{width:100%;min-width:0;min-height:46px;border:1px solid #a9bfce;border-radius:8px;background:#fff;padding:11px 12px;color:#243b4e;font:inherit;font-size:14px}.client-reservation-page .form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.client-reservation-page .reservation-traveler{margin:24px 0;border:1px solid #d5e1eb;border-radius:12px;padding:20px;background:#fff;min-width:0}.client-reservation-page legend{font-size:13px;font-weight:600;padding:0 8px;color:#243b4e}.client-reservation-page .actions{display:flex;gap:12px;flex-wrap:wrap}.client-reservation-page .button{min-height:46px;border-radius:8px;font-size:13px;padding:12px 18px}.client-reservation-page .button:disabled{opacity:.5;cursor:not-allowed}.client-reservation-page .reservation-summary{position:sticky;top:25px;padding:25px;border:1px solid #d5e1eb;border-radius:12px;background:#fff}.client-reservation-page .reservation-summary h2{font-size:21px}.client-reservation-page .reservation-line{display:flex;align-items:center;justify-content:space-between;gap:15px;border-bottom:1px solid #d5e1eb;padding:17px 0;font-size:13px}.client-reservation-page .reservation-line strong{font-variant-numeric:tabular-nums;white-space:nowrap;font-size:14px}.client-reservation-page #booking-total{font-size:19px}.client-reservation-page .reservation-summary p{font-size:12px;line-height:1.8;color:#53616c}.client-reservation-page .booking-summary-note{margin-top:20px}.client-reservation-page .booking-conditions{margin:0 0 23px;border-block:1px solid #d5e1eb;padding:15px 0}.client-reservation-page .booking-conditions summary{cursor:pointer;font-size:14px;font-weight:600}.client-reservation-page .booking-conditions p{font-size:13px;line-height:1.85;color:#53616c;max-height:280px;overflow:auto;margin:14px 0 0}.client-reservation-page .reservation-consent{display:flex;align-items:start;gap:12px;padding:18px 0;font-size:13px;line-height:1.7;color:#243b4e}.client-reservation-page .reservation-consent input{width:18px;height:18px;flex-shrink:0;margin-top:3px;accent-color:#093d77}.client-reservation-page :focus-visible{outline:3px solid #426780;outline-offset:3px}.client-reservation-page .notice{padding:15px;border-radius:8px;background:#fff0e5;color:#97400d}@media(max-width:950px){.client-reservation-page .concert-detail-layout{grid-template-columns:minmax(0,1fr) 290px;gap:25px}.client-reservation-page .reservation-summary{padding:21px}.client-reservation-page .reservation-line{flex-wrap:wrap}}@media(max-width:760px){.client-reservation-page .reservation-example{padding:25px 20px 45px}.client-reservation-page .concert-detail-layout{grid-template-columns:1fr;gap:25px}.client-reservation-page .reservation-summary{position:static;grid-row:1;padding:22px}.client-reservation-page .reservation-summary h2{margin-bottom:10px}.client-reservation-page .reservation-summary>p:last-child{margin-bottom:0}.client-reservation-page .reservation-line{padding:12px 0}.client-reservation-page .booking-summary-note{margin-top:15px}.client-reservation-page .reservation-traveler{padding:18px 15px}.client-reservation-page .form-grid{grid-template-columns:1fr;gap:15px}.client-reservation-page h2{font-size:22px}.client-reservation-page .reservation-form .concert-detail-section{padding-block:23px}.client-reservation-page .actions .button{flex:1;font-size:12px;padding-inline:12px}.client-reservation-page button[type=submit]{width:100%;justify-content:center}}@media(prefers-reduced-motion:reduce){.client-reservation-page *{scroll-behavior:auto;transition:none!important}}
/* Phone layout: readable controls without input zoom and a compact price summary. */
@media(max-width:760px){
.client-reservation-page .reservation-example{padding:22px 16px 38px}.client-reservation-page h1{font-size:28px;line-height:1.2;margin-bottom:12px}.client-reservation-page .concert-detail-title{margin-top:17px}.client-reservation-page .reservation-example>p{font-size:13px;line-height:1.7;margin-bottom:22px}.client-reservation-page .concert-detail-layout{gap:22px}.client-reservation-page .reservation-summary{padding:18px;display:grid;grid-template-columns:1fr 1fr;gap:0 16px}.client-reservation-page .reservation-summary h2{grid-column:1/-1;font-size:20px;margin:0 0 6px}.client-reservation-page .reservation-summary>p{grid-column:1/-1;margin:0 0 7px}.client-reservation-page .reservation-line{display:block;padding:11px 0;font-size:11px}.client-reservation-page .reservation-line strong{display:block;font-size:14px;margin-top:5px}.client-reservation-page .reservation-line:has(#booking-count){grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;padding:8px 0}.client-reservation-page .reservation-line:has(#booking-count) strong{margin:0}.client-reservation-page #booking-total{font-size:18px}.client-reservation-page .reservation-summary>.booking-summary-note{font-size:11px;line-height:1.65;margin-top:13px;margin-bottom:10px}.client-reservation-page input:not([type=checkbox]),.client-reservation-page select,.client-reservation-page textarea{font-size:16px;min-height:50px;padding:12px;scroll-margin-top:25px}.client-reservation-page textarea{min-height:110px}.client-reservation-page .field label{font-size:13px;line-height:1.5}.client-reservation-page .reservation-traveler{margin:22px 0;padding:17px 14px}.client-reservation-page .form-grid{gap:17px}.client-reservation-page .actions{display:grid;grid-template-columns:1fr;gap:10px}.client-reservation-page .actions .button{width:100%;justify-content:center;min-height:48px;font-size:13px}.client-reservation-page .booking-conditions summary{padding:8px 0;min-height:44px}.client-reservation-page .reservation-consent{gap:12px;padding:20px 0;font-size:13px}.client-reservation-page .reservation-consent input{width:22px;height:22px;margin-top:2px}.client-reservation-page button[type=submit]{min-height:52px;font-size:15px}.client-reservation-page .capitaltrip-text-link{display:inline-flex;align-items:center;min-height:44px}.client-reservation-page .reservation-summary>p:last-child{font-size:11px}.client-reservation-page .reservation-form .concert-detail-section{padding-block:22px}
}
@media(max-width:380px){.client-reservation-page .capitaltrip-header .capitaltrip-brand{gap:7px;min-width:0}.client-reservation-page .capitaltrip-header .capitaltrip-brand>span{font-size:18px;white-space:nowrap}.client-reservation-page .capitaltrip-header .capitaltrip-logo{width:42px;height:42px;flex-shrink:0}.client-reservation-page .capitaltrip-header .capitaltrip-account{padding:9px 10px;font-size:11px}.client-reservation-page .capitaltrip-header{padding-inline:16px}}
/* Payment plan choices: radio aligned with the plan name, hint directly under it. */
.client-reservation-page .booking-plan .plan-form{gap:10px;margin-top:16px}
.client-reservation-page .booking-plan .plan-option{margin:0;align-items:flex-start;gap:12px;padding:14px 16px;min-height:0;transition:border-color 160ms cubic-bezier(.16,1,.3,1),background-color 160ms cubic-bezier(.16,1,.3,1)}
.client-reservation-page .booking-plan .plan-option:hover{border-color:#b9c4bc}
.client-reservation-page .booking-plan .plan-option:has(input:checked){border-color:#163c33;background:#f4f3ee}
.client-reservation-page .booking-plan .plan-option:has(input:focus-visible){outline:2px solid #c9a24a;outline-offset:2px}
.client-reservation-page .booking-plan .plan-option input{width:18px;height:18px;min-height:18px;margin:1px 0 0;padding:0;flex:none;accent-color:#163c33}
.client-reservation-page .booking-plan .plan-option span{display:grid;gap:3px;min-width:0}
.client-reservation-page .booking-plan .plan-option strong{font-size:14px;line-height:1.4}
.client-reservation-page .booking-plan .plan-option small{margin:0;font-size:12px;line-height:1.5;color:#5b6963;font-variant-numeric:tabular-nums}
.client-reservation-page .booking-plan .plan-option small:empty{display:none}
@media(prefers-reduced-motion:reduce){.client-reservation-page .booking-plan .plan-option{transition:none}}
/* Icons and field hints: each section says what it is for, each field why it is asked. */
.client-reservation-page .bk-icon{width:18px;height:18px;flex:none}
.client-reservation-page .reservation-example>.bk-lead{margin-bottom:18px;color:#3d4d5a;font-size:15px}
.client-reservation-page .bk-steps{display:flex;flex-wrap:wrap;gap:10px 26px;list-style:none;margin:0 0 30px;padding:0}
.client-reservation-page .bk-steps li{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:#243b4e}
.client-reservation-page .bk-steps li .bk-icon{width:34px;height:34px;padding:8px;border-radius:50%;background:#e8eef3;color:#093d77;box-sizing:border-box}
.client-reservation-page .bk-head{display:flex;align-items:flex-start;gap:14px;margin-bottom:18px}
.client-reservation-page .bk-head h2{margin:0 0 4px}
.client-reservation-page .bk-head p,.client-reservation-page .concert-detail-section>.bk-head+p{margin:0;font-size:13px;line-height:1.65;color:#53616c;max-width:62ch}
.client-reservation-page .bk-head-icon{display:grid;place-items:center;width:40px;height:40px;flex:none;border-radius:10px;background:#e8eef3;color:#093d77}
.client-reservation-page .bk-head-icon .bk-icon{width:22px;height:22px}
.client-reservation-page .field label{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.client-reservation-page .field label .bk-icon{width:16px;height:16px;color:#426780}
.client-reservation-page .field label small{font-weight:400;font-size:12px;color:#53616c;margin-left:auto;background:#eef2f5;border-radius:99px;padding:1px 8px}
.client-reservation-page .bk-hint{display:block;margin-top:6px;font-size:12px;line-height:1.5;color:#53616c}
.client-reservation-page .bk-hint:has(+input),.client-reservation-page .field label+.bk-hint{margin:-2px 0 7px}
.client-reservation-page .bk-holder,.client-reservation-page .bk-deadline{display:flex;align-items:flex-start;gap:10px;padding:12px 14px;border-radius:10px;background:#f1f5f8;color:#243b4e;font-size:13px;line-height:1.6;margin:16px 0 0}
.client-reservation-page .bk-deadline{margin:0 0 4px}
.client-reservation-page .bk-holder .bk-icon,.client-reservation-page .bk-deadline .bk-icon{margin-top:2px;color:#093d77}
.client-reservation-page .reservation-form .concert-detail-section>.bk-deadline{font-size:13px}
.client-reservation-page .plan-option.has-icon{align-items:center}
.client-reservation-page .booking-plan .plan-option.has-icon{align-items:center}
.client-reservation-page .bk-option-icon{display:grid;place-items:center;flex:none!important;width:36px;height:36px;border-radius:9px;background:#e8eef3;color:#093d77}
.client-reservation-page .bk-option-icon svg{width:20px;height:20px}
.client-reservation-page .plan-option:has(input:checked) .bk-option-icon{background:#163c33;color:#fff}
.client-reservation-page .bk-option-text{display:grid;gap:3px;min-width:0}
.client-reservation-page .reservation-traveler legend{display:flex;align-items:center;gap:7px}
.client-reservation-page .reservation-traveler .field{margin-bottom:0}
.client-reservation-page .actions .button,.client-reservation-page button[type=submit]{display:inline-flex;align-items:center;justify-content:center;gap:8px}
.client-reservation-page .booking-conditions summary{display:flex;align-items:center;gap:9px}
.client-reservation-page .booking-conditions summary .bk-icon{color:#426780}
.client-reservation-page .reservation-form .concert-detail-section:last-child .field{margin-bottom:18px}
.client-reservation-page .reservation-summary .bk-agency,.client-reservation-page .reservation-summary .bk-dates,.client-reservation-page .reservation-summary .booking-summary-note{display:flex;align-items:flex-start;gap:9px}
.client-reservation-page .reservation-summary .bk-agency{font-weight:600;color:#243b4e;font-size:13px}
.client-reservation-page .reservation-summary .bk-icon{width:16px;height:16px;margin-top:2px;color:#426780}
.client-reservation-page .reservation-line>span{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:8px}
.client-reservation-page .reservation-line>span small{grid-column:2;font-size:12px;color:#53616c;line-height:1.4;margin-top:2px}
.client-reservation-page .reservation-line>span .bk-icon{margin:0}
@media(max-width:760px){
.client-reservation-page .bk-steps{flex-direction:column;gap:8px;margin-bottom:22px}
.client-reservation-page .bk-head-icon{width:36px;height:36px}
.client-reservation-page .reservation-line>span{display:flex;gap:6px;flex-wrap:wrap}
.client-reservation-page .reservation-line>span small{flex-basis:100%}
.client-reservation-page .reservation-summary>.bk-agency,.client-reservation-page .reservation-summary>.bk-dates{grid-column:1/-1}
.client-reservation-page .actions .button{justify-content:center}
}
.client-reservation-page .field label{min-height:24px}
.client-reservation-page .field label small{line-height:1.5;padding:0 8px}
@media(max-width:760px){.client-reservation-page .bk-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.client-reservation-page .bk-steps li{flex-direction:column;align-items:flex-start;gap:6px;font-size:12px;line-height:1.35}}
/* Optional extras (notes, coupon) as compact spoilers; consent checkbox aligned with its first text line. */
.client-reservation-page .bk-optional{border-bottom:1px solid #d5e1eb;padding:4px 0}
.client-reservation-page .bk-optional:first-of-type{border-top:1px solid #d5e1eb}
.client-reservation-page .bk-optional summary{display:flex;align-items:center;gap:9px;min-height:44px;cursor:pointer;font-size:14px;font-weight:600;color:#243b4e;list-style:none}
.client-reservation-page .bk-optional summary::-webkit-details-marker{display:none}
.client-reservation-page .bk-optional summary::after{content:"";width:8px;height:8px;margin-left:6px;border:solid #426780;border-width:0 2px 2px 0;transform:rotate(45deg) translateY(-2px);transition:transform 160ms cubic-bezier(.16,1,.3,1)}
.client-reservation-page .bk-optional[open] summary::after{transform:rotate(-135deg) translateY(-2px)}
.client-reservation-page .bk-optional summary .bk-icon{color:#426780}
.client-reservation-page .bk-optional summary small{margin-left:auto;order:2;font-weight:400;font-size:12px;color:#53616c;background:#eef2f5;border-radius:99px;padding:0 8px}
.client-reservation-page .bk-optional summary::after{order:3}
.client-reservation-page .bk-optional .field{margin:2px 0 14px}
.client-reservation-page .bk-optional .field .bk-hint{margin:0 0 7px}
.client-reservation-page .credit-coupon-field{margin:0}
.client-reservation-page .credit-coupon-field input{max-width:none;text-transform:uppercase}
.client-reservation-page .reservation-consent{display:grid;grid-template-columns:22px minmax(0,1fr);align-items:start;column-gap:12px;margin:0;padding:20px 0}
.client-reservation-page .reservation-consent input{width:22px;height:22px;min-height:0;margin:0;padding:0;flex:none}
.client-reservation-page .reservation-consent span{display:block;font-size:13px;line-height:22px}
.client-reservation-page .bk-extras{margin:4px 0 0;display:grid;gap:4px}
.client-reservation-page .reservation-summary .bk-extras p{display:flex;align-items:flex-start;gap:9px;margin:0;font-size:11px;line-height:1.5;color:#53616c;overflow-wrap:anywhere}
.client-reservation-page .reservation-summary .bk-extras p[hidden]{display:none}
.client-reservation-page .reservation-summary .bk-extras .bk-icon{width:14px;height:14px;margin-top:1px}
.client-reservation-page .reservation-summary .bk-extras b{font-weight:600;color:#243b4e}
@media(max-width:760px){.client-reservation-page .reservation-summary>.bk-extras{grid-column:1/-1}.client-reservation-page .reservation-consent{grid-template-columns:24px minmax(0,1fr)}.client-reservation-page .reservation-consent input{width:24px;height:24px}}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-optional summary::after{transition:none}}
/* Final review: align disclosure icons, consent and confirmation actions. */
.client-reservation-page .booking-conditions summary{display:flex;align-items:center;gap:9px;min-height:44px;list-style:none}
.client-reservation-page .booking-conditions summary::-webkit-details-marker{display:none}
.client-reservation-page .booking-conditions summary::after{content:"";width:8px;height:8px;flex:none;margin-left:auto;border:solid #426780;border-width:0 2px 2px 0;transform:rotate(45deg)}
.client-reservation-page .booking-conditions[open] summary::after{transform:rotate(-135deg)}
.client-reservation-page .reservation-consent span{min-width:0;overflow-wrap:anywhere;font-size:14px;line-height:1.6}
.client-reservation-page .reservation-consent:has(input:focus-visible){outline:3px solid #426780;outline-offset:3px;border-radius:8px}
.client-reservation-page .reservation-consent~button[type=submit]{margin:0 10px 10px 0;max-width:100%;white-space:normal}
@media(max-width:760px){.client-reservation-page .reservation-consent~button[type=submit]{margin-right:0}}
/* Viajeros: cada ficha tiene su propio «Quitar»; las claves estables evitan reasignaciones. */
.client-reservation-page .reservation-traveler{position:relative}
.client-reservation-page .bk-remove-traveler{position:absolute;top:-13px;right:14px;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:4px 12px;border:1px solid #d5e1eb;border-radius:999px;background:#fff;color:#53616c;font:inherit;font-size:12px;font-weight:600;cursor:pointer;transition:border-color 160ms cubic-bezier(.16,1,.3,1),color 160ms cubic-bezier(.16,1,.3,1)}
.client-reservation-page .bk-remove-traveler .bk-icon{width:14px;height:14px}
.client-reservation-page .bk-remove-traveler:hover{border-color:#97400d;color:#97400d}
.client-reservation-page .bk-remove-traveler[hidden]{display:none}
/* Servicios adicionales por viajero. */
.client-reservation-page .bk-extra-list{display:grid;gap:14px}
.client-reservation-page .bk-extra{min-width:0;margin:0;padding:16px 18px 14px;border:1px solid #d5e1eb;border-radius:12px;background:#fff}
.client-reservation-page .bk-extra[hidden]{display:none}
.client-reservation-page .bk-extra.is-off{background:#f7f9fb}
.client-reservation-page .bk-extra-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;padding:0;float:left;margin-bottom:6px}
.client-reservation-page .bk-extra-head+*{clear:both}
.client-reservation-page .bk-extra-name{font-size:15px;font-weight:600;color:#243b4e;overflow-wrap:anywhere}
.client-reservation-page .bk-extra-price{font-size:15px;font-weight:600;color:#243b4e;font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.client-reservation-page .bk-extra-price small{display:block;font-size:12px;font-weight:400;color:#53616c}
.client-reservation-page .bk-extra-meta{clear:both;margin:0 0 10px;font-size:13px;line-height:1.6;color:#53616c}
.client-reservation-page .bk-extra-off{clear:both;display:flex;gap:8px;align-items:flex-start;margin:4px 0 0;font-size:13px;line-height:1.6;color:#53616c}
.client-reservation-page .bk-extra-off .bk-icon{width:18px;height:18px;flex:none;margin-top:2px}
.client-reservation-page .bk-extra-people{clear:both;display:flex;flex-wrap:wrap;gap:8px;padding-top:12px;border-top:1px solid #e3eaf0}
.client-reservation-page .bk-person{display:inline-flex;align-items:center;gap:8px;min-height:44px;max-width:100%;padding:8px 14px;border:1px solid #c9d6e1;border-radius:999px;background:#fff;font-size:14px;color:#243b4e;cursor:pointer;transition:border-color 160ms cubic-bezier(.16,1,.3,1),background-color 160ms cubic-bezier(.16,1,.3,1)}
.client-reservation-page .bk-person span{min-width:0;overflow-wrap:anywhere}
.client-reservation-page .bk-person input{width:18px;height:18px;flex:none;margin:0;accent-color:#093d77}
.client-reservation-page .bk-person:hover{border-color:#6f8ea8}
.client-reservation-page .bk-person:has(input:checked){border-color:#093d77;background:#eef4fa}
.client-reservation-page .bk-person:has(input:focus-visible){outline:3px solid #426780;outline-offset:2px}
.client-reservation-page .bk-person-all{background:#f4f7fa;font-weight:600}
.client-reservation-page .bk-extra-subtotal{margin:10px 0 0;font-size:13px;color:#53616c;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-extra-subtotal.is-warning{color:#97400d;font-weight:600}
/* Paquete sin selector cuando solo hay una opción; transportes como tarjetas cuando hay varias. */
.client-reservation-page .cfg-transport-name{display:flex;justify-content:space-between;align-items:baseline;gap:16px;flex-wrap:wrap;margin:0;padding:14px 16px;border:1px solid #093d77;border-radius:12px;background:#f3f7fb}
.client-reservation-page .cfg-transport-name strong{font-size:16px;color:#243b4e}
.client-reservation-page .cfg-transport-name>span{font-size:16px;font-weight:600;color:#243b4e;font-variant-numeric:tabular-nums}
.client-reservation-page .cfg-transport-name small{font-size:13px;font-weight:400;color:#53616c}
.client-reservation-page .cfg-transport-single .cfg-services-list{margin:12px 0 0}
.client-reservation-page .cfg-transport-option .cfg-services-list{margin:6px 0 0;gap:6px 14px}
.client-reservation-page .cfg-transport-option .cfg-services-list li{font-size:13px}
.client-reservation-page .cfg-transport-option .cfg-services-list svg{width:18px;height:18px}
.client-reservation-page .cfg-transport-option .cfg-price{font-size:15px;font-weight:600;color:#243b4e;font-variant-numeric:tabular-nums}
.client-reservation-page .cfg-option.is-full{cursor:not-allowed;background:#f7f9fb;opacity:.85}
.client-reservation-page .cfg-reason{color:#97400d}
.client-reservation-page .cfg-unavailable{display:flex;gap:8px;align-items:flex-start;font-size:14px;color:#97400d}
.client-reservation-page .bk-required{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0;font-size:13px;line-height:1.6;color:#53616c}
.client-reservation-page .bk-required .bk-icon{width:18px;height:18px;flex:none;margin-top:2px}
/* Resumen: grupos en orden, total del grupo y anticipo al cierre. */
.client-reservation-page .bk-summary-groups:empty{display:none}
.client-reservation-page .bk-sum-group{padding:12px 0 2px;border-top:1px solid #d5e1eb}
.client-reservation-page .bk-sum-group h3{margin:0 0 2px;font-size:12px;font-weight:700;color:#53616c}
.client-reservation-page .bk-sum-group .cfg-summary-line{border:0;padding:8px 0;font-size:13px}
.client-reservation-page .bk-sum-group .cfg-summary-line strong{font-size:13px}
.client-reservation-page .bk-sum-group .cfg-summary-line small{font-size:12px;line-height:1.5;color:#53616c}
.client-reservation-page .bk-sum-group .cfg-extra-people{color:#243b4e}
.client-reservation-page .bk-summary-totals{border-top:2px solid #243b4e;margin-top:8px}
.client-reservation-page .reservation-line small{display:block;font-size:12px;color:#53616c;font-weight:400}
.client-reservation-page .reservation-line.is-total strong{font-size:19px}
.client-reservation-page .bk-summary-state{display:flex;gap:8px;align-items:flex-start;margin:14px 0 0}
.client-reservation-page .bk-summary-state .bk-icon{width:16px;height:16px;flex:none;margin-top:3px}
.client-reservation-page .bk-summary-state[data-state=reviewed]{color:#2f5d3a}
/* Revisar precio primero; confirmar solo con un precio revisado. */
.client-reservation-page .bk-submit{display:grid;gap:10px;justify-items:start}
.client-reservation-page .bk-submit [hidden]{display:none}
.client-reservation-page .bk-submit-help{margin:0;font-size:13px;line-height:1.6;color:#53616c}
.client-reservation-page .notice.is-ready{background:#eaf2e6;color:#2f5d3a}
.client-reservation-page .button[aria-busy=true]{cursor:progress}
@media(max-width:760px){
.client-reservation-page .bk-extra{padding:14px 14px 12px}
.client-reservation-page .bk-extra-head{grid-template-columns:auto minmax(0,1fr)}
.client-reservation-page .bk-extra-price{grid-column:2;text-align:left}
.client-reservation-page .bk-extra-price small{display:inline}
.client-reservation-page .bk-person{flex:1 1 100%;border-radius:10px}
.client-reservation-page .bk-submit{justify-items:stretch}
.client-reservation-page .reservation-summary .bk-agency,.client-reservation-page .reservation-summary .bk-summary-groups,.client-reservation-page .reservation-summary .bk-summary-totals,.client-reservation-page .reservation-summary .bk-summary-state{grid-column:1/-1}
.client-reservation-page .bk-summary-totals{display:grid;grid-template-columns:1fr 1fr;gap:0 16px}
.client-reservation-page .bk-summary-totals .reservation-line:has(#booking-count){grid-column:1/-1}
}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-person,.client-reservation-page .bk-remove-traveler{transition:none}}
#booking-message:focus{outline:none}
.client-reservation-page .cfg-option .cfg-services-list{display:flex;flex-direction:row;flex-wrap:wrap;max-width:100%}
.client-reservation-page .cfg-option .cfg-services-list li{min-width:0;max-width:100%}
.client-reservation-page .cfg-option .cfg-services-list li span{display:inline;min-width:0;overflow-wrap:anywhere}
.client-reservation-page .cfg-option input[type=radio]{width:20px;height:20px;min-width:20px;min-height:20px;padding:0;margin:3px 0 0;flex:none;accent-color:#093d77}
/* Fechas de hospedaje: aviso de error y restablecer fechas del transporte. */
.client-reservation-page #cfg-hotel-note.is-error{color:#97400d;font-weight:600}
.client-reservation-page .cfg-reset-dates{display:inline-flex;align-items:center;min-height:44px;margin:0 0 6px;padding:8px 14px;border:1px solid #c9d6e1;border-radius:8px;background:#fff;color:#093d77;font:inherit;font-size:13px;font-weight:600;cursor:pointer}
.client-reservation-page .cfg-reset-dates:hover{border-color:#093d77}
.client-reservation-page .cfg-dates input[readonly]{background:#f4f7fa;color:#53616c;cursor:not-allowed}
/* Nombres en las casillas y planes de pago no disponibles, explicados con texto. */
.client-reservation-page .bk-person{font-size:16px}
.client-reservation-page .booking-plan .plan-option.is-off{cursor:not-allowed;background:#f7f9fb;border-style:dashed}
.client-reservation-page .booking-plan .plan-option.is-off strong{color:#53616c}
.client-reservation-page .booking-plan .plan-option.is-off small{color:#97400d}
.client-reservation-page .bk-plan-soon{display:flex;gap:10px;align-items:flex-start;margin:12px 0 0;padding:14px 16px;border:1px solid #f0d3b8;border-radius:10px;background:#fff6ee;color:#6b3a10;font-size:15px;line-height:1.6}
.client-reservation-page .bk-plan-soon .bk-icon{width:20px;height:20px;flex:none;margin-top:3px}
/* Fechas de hospedaje con botones grandes: fecha en palabras y pasos de un día. */
.client-reservation-page .cfg-dates-native{display:none}
.client-reservation-page .cfg-stay{display:grid;gap:14px;margin:16px 0 6px}
.client-reservation-page .cfg-stay[hidden]{display:none}
.client-reservation-page .cfg-stay-row{display:grid;gap:10px;padding:16px 18px;border:1px solid #d5e1eb;border-radius:12px;background:#fff}
.client-reservation-page .cfg-stay-label{font-size:14px;font-weight:600;color:#53616c}
.client-reservation-page .cfg-stay-date{font-size:19px;line-height:1.35;color:#243b4e;font-weight:600}
.client-reservation-page .cfg-stay-date::first-letter{text-transform:uppercase}
.client-reservation-page .cfg-stay-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.client-reservation-page .cfg-stay-actions[hidden]{display:none}
.client-reservation-page .cfg-stay-step{min-height:52px;padding:10px 14px;border:1px solid #a9bfce;border-radius:10px;background:#f4f7fa;color:#093d77;font:inherit;font-size:16px;font-weight:600;cursor:pointer;transition:border-color 160ms cubic-bezier(.16,1,.3,1),background-color 160ms cubic-bezier(.16,1,.3,1)}
.client-reservation-page .cfg-stay-step span{font-size:20px;line-height:1}
.client-reservation-page .cfg-stay-step:hover:not(:disabled){border-color:#093d77;background:#eef4fa}
.client-reservation-page .cfg-stay-step:disabled{color:#8a98a3;background:#f7f9fb;border-style:dashed;cursor:not-allowed}
.client-reservation-page .cfg-stay-step:focus-visible{outline:3px solid #426780;outline-offset:2px}
.client-reservation-page .cfg-stay-nights{margin:0;font-size:18px;font-weight:600;color:#243b4e}
.client-reservation-page .cfg-stay.is-fixed .cfg-stay-row{background:#f7f9fb}
@media(max-width:520px){.client-reservation-page .cfg-stay-actions{grid-template-columns:1fr}.client-reservation-page .cfg-stay-date{font-size:18px}}
@media(prefers-reduced-motion:reduce){.client-reservation-page .cfg-stay-step{transition:none}}
.client-reservation-page .reservation-traveler>.bk-companion-pick{margin-bottom:20px}
/* Optimización de la reserva (opt1): hidden siempre gana, rejilla sin desborde, contador, pasos, fichas compactas y nota de planes. */
.client-reservation-page [hidden]{display:none!important}
@media(max-width:760px){.client-reservation-page .concert-detail-layout{grid-template-columns:minmax(0,1fr)}}
.client-reservation-page .reservation-summary{min-width:0}
.client-reservation-page .bk-summary-state.is-pending{color:#97400d}
.client-reservation-page .bk-counter{display:inline-grid;grid-template-columns:48px minmax(9ch,auto) 48px;align-items:center;border:1px solid #a9bfce;border-radius:10px;background:#fff;overflow:hidden}
.client-reservation-page .bk-counter-step{min-height:48px;border:0;background:#f1f5f8;color:#093d77;font-family:inherit;font-size:22px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .15s ease-out}
.client-reservation-page .bk-counter-step:hover:not(:disabled){background:#e1eaf1}
.client-reservation-page .bk-counter-step:disabled{color:#a9bfce;cursor:not-allowed}
.client-reservation-page .bk-counter-value{padding:0 14px;text-align:center;font-size:16px;font-weight:600;color:#243b4e;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-steps a{display:flex;align-items:center;gap:9px;color:inherit;text-decoration:none;min-height:44px;border-radius:8px}
.client-reservation-page .bk-steps a:hover span:last-child{text-decoration:underline;text-underline-offset:4px}
.client-reservation-page .bk-step-icon{position:relative;display:inline-flex}
.client-reservation-page .bk-step-icon .bk-icon:last-child{display:none}
.client-reservation-page .bk-steps li.is-done .bk-step-icon .bk-icon:first-child{display:none}
.client-reservation-page .bk-steps li.is-done .bk-step-icon .bk-icon:last-child{display:block;background:#2f5d3a;color:#fff}
.client-reservation-page .bk-steps li.is-current .bk-step-icon .bk-icon{background:#093d77;color:#fff}
.client-reservation-page .bk-steps li:not(.is-current):not(.is-done){color:#53616c}
.client-reservation-page section[id^="bk-paso-"]{scroll-margin-top:90px}
.client-reservation-page .bk-traveler-done{display:none}
.client-reservation-page .reservation-traveler.is-done>.bk-traveler-done{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px}
.client-reservation-page .reservation-traveler.is-done>:not(legend):not(.bk-traveler-done):not([data-remove-traveler]):not(input[type=hidden]){display:none}
.client-reservation-page .bk-traveler-done p{margin:0;font-size:13px;color:#53616c;overflow-wrap:anywhere;min-width:0}
.client-reservation-page .bk-traveler-edit{min-height:44px;padding:0 14px;border:1px solid #a9bfce;border-radius:8px;background:#fff;color:#093d77;font-family:inherit;font-size:13px;font-weight:600;cursor:pointer}
.client-reservation-page .bk-traveler-edit:hover{background:#f1f5f8}
.client-reservation-page .bk-plan-wait{display:flex;align-items:flex-start;gap:10px;margin:0 0 12px;font-size:13px;line-height:1.6;color:#53616c}
.client-reservation-page .bk-plan-wait .bk-icon{flex:none;margin-top:2px;color:#093d77}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-counter-step{transition:none}}
.client-reservation-page #booking-passengers{overflow-anchor:none}
/* Zona 2 · encabezado en pantalla dividida (hero8): póster nítido a la izquierda fundido a noche; nombre, fechas y pasos a la derecha. */
.client-reservation-page .bk-main{display:block}
.client-reservation-page .bk-hero{display:grid;grid-template-columns:42% minmax(0,1fr);min-height:380px;background:#0c2236;color:#fff}
.client-reservation-page .bk-hero.is-plain{grid-template-columns:minmax(0,1fr);min-height:0}
.client-reservation-page .bk-hero-poster{position:relative;margin:0;overflow:hidden;background:#0c2236}
.client-reservation-page .bk-hero-poster img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover}
.client-reservation-page .bk-hero-poster::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 58%,#0c2236)}
.client-reservation-page .bk-hero-in{display:flex;flex-direction:column;justify-content:center;min-width:0;padding:30px max(32px,calc((100vw - 1180px) / 2 + 32px)) 38px 36px}
.client-reservation-page .bk-hero.is-plain .bk-hero-in{padding-left:max(32px,calc((100% - 1180px) / 2 + 32px))}
.client-reservation-page .bk-back{align-self:flex-start;display:inline-flex;align-items:center;gap:8px;min-height:44px;color:#b9cbd9;font:500 12px/1 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase;text-decoration:none}
.client-reservation-page .bk-back:hover{color:#fff}
.client-reservation-page .bk-back svg{width:16px;height:16px}
.client-reservation-page .bk-hero h1{margin:6px 0 0;max-width:none;color:#fff;font:400 60px/1 Georgia,"Times New Roman",serif;letter-spacing:-.03em;text-wrap:balance;overflow-wrap:anywhere}
.client-reservation-page .bk-hero-dates{margin:14px 0 0;color:#fff;font:500 13px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.client-reservation-page .bk-hero-pack{margin:6px 0 0;color:#b9cbd9;font-size:15px;line-height:1.5}
.client-reservation-page .bk-hero .bk-lead{margin:18px 0 0;max-width:52ch;color:#dbe6ef;font-size:15px;line-height:1.65}
.client-reservation-page .bk-hero ::selection{background:#fff;color:#0c2236}
.client-reservation-page .bk-hero :focus-visible{outline-color:#9cd2f5}
.client-reservation-page .bk-hero .bk-steps{display:flex;flex-direction:column;gap:6px;margin:26px 0 0}
.client-reservation-page .bk-hero .bk-steps li,.client-reservation-page .bk-hero .bk-steps li:not(.is-current):not(.is-done){color:#b9cbd9;font-size:14px}
.client-reservation-page .bk-hero .bk-steps li .bk-icon{width:32px;height:32px;padding:8px;background:rgba(255,255,255,.1);color:#fff}
.client-reservation-page .bk-hero .bk-steps li.is-current{color:#fff}
.client-reservation-page .bk-hero .bk-steps li.is-current .bk-step-icon .bk-icon{background:#c8323c;color:#fff}
.client-reservation-page .bk-hero .bk-steps li.is-done{color:#dbe6ef}
.client-reservation-page .bk-hero .bk-steps li.is-done .bk-step-icon .bk-icon:last-child{background:#3fae78;color:#0c2236}
.client-reservation-page .bk-hero + .reservation-example{padding-top:32px}
@media(max-width:950px){.client-reservation-page .bk-hero h1{font-size:48px}}
@media(max-width:760px){
.client-reservation-page .bk-hero{grid-template-columns:minmax(0,1fr);min-height:0}
.client-reservation-page .bk-hero-poster{height:170px}
.client-reservation-page .bk-hero-poster::after{background:linear-gradient(180deg,transparent 40%,#0c2236)}
.client-reservation-page .bk-hero-in,.client-reservation-page .bk-hero.is-plain .bk-hero-in{padding:4px 16px 24px}
.client-reservation-page .bk-hero h1{font-size:40px}
.client-reservation-page .bk-hero .bk-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:20px}
.client-reservation-page .bk-hero .bk-steps a{flex-direction:column;gap:6px;text-align:center}
.client-reservation-page .bk-hero .bk-steps li,.client-reservation-page .bk-hero .bk-steps li:not(.is-current):not(.is-done){font-size:11px;line-height:1.3;align-items:stretch}
.client-reservation-page .bk-hero + .reservation-example{padding-top:22px}
}
/* Zona 5 · cartel line-up (lineup10): modalidades como el cartel del festival sobre el póster desenfocado.
   Nombre enorme en Anton; la elegida se ilumina con degradado rojo y abre lo que incluye y su itinerario. */
.client-reservation-page .cfg-step.bk-lineup{position:relative;isolation:isolate;overflow:hidden;overflow:clip;margin:0 0 8px;padding:28px 28px 22px;border-radius:18px;background:#0c2236;color:#dbe6ef}
.client-reservation-page .bk-lineup::before{content:"";position:absolute;inset:-60px;z-index:-2;background:var(--bk-cover,none) center/cover;filter:blur(42px) saturate(1.3) brightness(.4)}
.client-reservation-page .bk-lineup::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(12,34,54,.62),rgba(12,34,54,.3) 45%,rgba(110,24,34,.55))}
.client-reservation-page .bk-lineup h2{margin:0 0 6px;color:#fff;font:400 30px/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.client-reservation-page .bk-lineup .booking-section-help{margin:0 0 18px;color:#b9cbd9;font-size:14px}
.client-reservation-page .bk-lineup ::selection{background:#fff;color:#0c2236}
.client-reservation-page .bk-lineup :focus-visible{outline-color:#9cd2f5}
.client-reservation-page .bk-lineup :is(.cfg-presale,.cfg-unavailable,.cfg-help,.cfg-reason){color:#dbe6ef}
.client-reservation-page .bk-lineup .cfg-options{display:block;margin:0;padding:0;border:0;border-top:1px solid rgba(255,255,255,.2)}
.client-reservation-page .bk-lineup .booking-option-group{margin:18px 0 0;padding:0 14px 8px;border-bottom:1px solid rgba(255,255,255,.12);color:#b9cbd9;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.client-reservation-page .bk-lineup .cfg-options>.booking-option-group:first-of-type{margin-top:14px}
.client-reservation-page .bk-lineup .cfg-transport-option{position:relative;display:grid;grid-template-columns:minmax(0,1fr) auto auto auto;align-items:center;gap:8px 18px;margin:0;padding:16px 14px;border:0;border-bottom:1px solid rgba(255,255,255,.12);border-radius:0;background:transparent;transition:padding .25s cubic-bezier(.16,1,.3,1),background-color .25s}
.client-reservation-page .bk-lineup .cfg-transport-option>span{display:contents}
.client-reservation-page .bk-lineup .cfg-transport-option label{grid-column:1;grid-row:1;min-height:0;margin:0;color:#b9cbd9;font:400 44px/1 Anton,"Arial Narrow",sans-serif;letter-spacing:.01em;text-transform:uppercase;transition:color .2s}
.client-reservation-page .bk-lineup .cfg-transport-option label strong{font:inherit}
.client-reservation-page .bk-lineup .cfg-transport-option label::after{content:"";position:absolute;inset:0;cursor:pointer}
.client-reservation-page .bk-lineup .cfg-transport-option .cfg-price{grid-column:2;grid-row:1;margin:0;color:#fff;font:400 20px/1.2 Georgia,"Times New Roman",serif;text-align:right;white-space:nowrap}
.client-reservation-page .bk-lineup .cfg-transport-option .cfg-price span{display:block;color:#b9cbd9;font:400 12px/1.3 Roboto,"Segoe UI",Arial,sans-serif}
.client-reservation-page .bk-lineup .cfg-transport-option .cfg-price .cfg-regular{color:#b9cbd9;font-size:14px}
.client-reservation-page .bk-lineup .cfg-meta{grid-column:3;grid-row:1;color:#b9cbd9;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase;text-align:right}
.client-reservation-page .bk-lineup .cfg-transport-option>input{grid-column:4;grid-row:1;appearance:none;width:24px!important;height:24px!important;min-height:0;margin:0;border:2px solid rgba(255,255,255,.6);border-radius:50%;background:transparent;display:grid;place-items:center;cursor:pointer}
.client-reservation-page .bk-lineup .cfg-transport-option>input::after{content:"";width:10px;height:10px;border-radius:50%;background:#c8323c;transform:scale(0);transition:transform .2s cubic-bezier(.16,1,.3,1)}
.client-reservation-page .bk-lineup .cfg-transport-option>input:checked{border-color:#c8323c}
.client-reservation-page .bk-lineup .cfg-transport-option>input:checked::after{transform:scale(1)}
.client-reservation-page .bk-lineup .cfg-transport-option>input:focus-visible{outline:2px solid #9cd2f5;outline-offset:3px}
.client-reservation-page .bk-lineup .cfg-transport-option :is(.booking-option-details,small:not(.cfg-price):not(.cfg-meta)){grid-column:1/-1;position:relative;z-index:1}
.client-reservation-page .bk-lineup .cfg-transport-option small:not(.cfg-price):not(.cfg-meta){color:#ffb3b8;font-size:13px}
.client-reservation-page .bk-lineup .cfg-transport-option:not(.booking-option-selected):not(.is-in):not(:has(input:checked)) .booking-option-details{display:none}
.client-reservation-page .bk-lineup .cfg-transport-option:is(.booking-option-selected,:has(input:checked)){padding-left:22px;background:rgba(226,232,240,.07);box-shadow:inset 3px 0 0 rgba(226,232,240,.45)}
.client-reservation-page .bk-lineup .cfg-transport-option:is(.booking-option-selected,:has(input:checked)) label{color:#fff}
.client-reservation-page .bk-lineup .cfg-transport-option:hover label{color:#fff}
.client-reservation-page .bk-lineup .cfg-transport-option.is-full label{color:rgba(185,203,217,.45);text-decoration:line-through;text-decoration-thickness:2px}
.client-reservation-page .bk-lineup .booking-option-details{display:block;padding:6px 0 0}
.client-reservation-page .bk-lineup .booking-option-details>details{margin:0}
.client-reservation-page .bk-lineup .booking-option-details summary{display:inline-flex;align-items:center;gap:8px;min-height:40px;padding:0;border:0;background:none;color:#fff;font-size:14px;font-weight:600}
.client-reservation-page .bk-lineup .booking-option-details summary:hover,.client-reservation-page .bk-lineup .booking-option-details details[open]>summary{background:none;border:0;text-decoration:underline;text-underline-offset:4px}
.client-reservation-page .bk-lineup .booking-option-details summary>svg{width:18px;height:18px;color:#ff8f96}
.client-reservation-page .bk-lineup .cfg-services-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 18px;margin:6px 0 10px;padding:0;color:#dbe6ef}
.client-reservation-page .bk-lineup .cfg-services-list li{display:flex;gap:9px;align-items:flex-start;font-size:13px;line-height:1.4;color:#dbe6ef}
.client-reservation-page .bk-lineup .cfg-services-list svg{flex:none;width:17px;height:17px;color:#ff8f96}
.client-reservation-page .bk-lineup .booking-option-details .cfg-help{color:#dbe6ef}
.client-reservation-page .bk-lineup .booking-option-details .trip-itin-panel{border-radius:12px;color:#102c45}
.client-reservation-page .bk-lineup .cfg-transport-single{padding:14px 0 4px;border-top:1px solid rgba(255,255,255,.2)}
.client-reservation-page .bk-lineup .cfg-transport-name strong{display:block;color:#fff;font:400 44px/1 Anton,"Arial Narrow",sans-serif;text-transform:uppercase}
.client-reservation-page .bk-lineup .cfg-transport-name span{color:#fff;font:400 20px Georgia,serif}
@media(max-width:760px){
.client-reservation-page .cfg-step.bk-lineup{margin-inline:-16px;padding:22px 16px 16px;border-radius:0}
.client-reservation-page .bk-lineup h2{font-size:26px}
.client-reservation-page .bk-lineup .cfg-transport-option{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;padding:14px 12px}
.client-reservation-page .bk-lineup .cfg-transport-option label{font-size:32px}
.client-reservation-page .bk-lineup .cfg-transport-option .cfg-price{grid-column:1;grid-row:2;text-align:left;font-size:18px}
.client-reservation-page .bk-lineup .cfg-transport-option .cfg-price span{display:inline;margin-left:4px}
.client-reservation-page .bk-lineup .cfg-meta{grid-column:1;grid-row:3;text-align:left}
.client-reservation-page .bk-lineup .cfg-transport-option>input{grid-column:2;grid-row:1/3}
.client-reservation-page .bk-lineup .cfg-transport-option:is(.booking-option-selected,:has(input:checked)){padding-left:18px}
.client-reservation-page .bk-lineup .cfg-services-list{grid-template-columns:minmax(0,1fr)}
}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-lineup .cfg-transport-option,.client-reservation-page .bk-lineup .cfg-transport-option>input::after{transition:none}}
/* Zona 8 · resumen como recibo con talón (ticket2): arriba la elección y las fechas en noche, corte perforado
   y abajo las cuentas, el total en Georgia y el enlace a «Revisa y confirma». */
.client-reservation-page .reservation-summary.bk-ticket{display:block;padding:0;border:0;border-radius:18px;overflow:hidden;overflow:clip;background:#0c2236;color:#dbe6ef;box-shadow:0 26px 48px -30px rgba(12,34,54,.8)}
.client-reservation-page .bk-ticket ::selection{background:#fff;color:#0c2236}
.client-reservation-page .bk-ticket :focus-visible{outline-color:#9cd2f5}
.client-reservation-page .bk-ticket-top{padding:22px 22px 18px;background:linear-gradient(160deg,#173c5e,#0c2236 70%)}
.client-reservation-page .bk-ticket h2{margin:0;color:#b9cbd9;font:500 12px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.client-reservation-page .bk-ticket .booking-selection{margin:8px 0 0;padding:0;border:0;color:#fff}
.client-reservation-page .bk-ticket .booking-selection strong{display:block;font:400 34px/1 Anton,"Arial Narrow",sans-serif;letter-spacing:.01em;text-transform:uppercase;overflow-wrap:anywhere}
.client-reservation-page .bk-ticket .booking-selection.is-empty strong{color:#b9cbd9}
.client-reservation-page .bk-ticket .bk-agency{display:block;margin:8px 0 0;color:#b9cbd9;font:500 12px/1.5 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.07em;text-transform:uppercase}
.client-reservation-page .bk-ticket-cut{position:relative;border-top:2px dashed rgba(255,255,255,.22)}
.client-reservation-page .bk-ticket-cut::before,.client-reservation-page .bk-ticket-cut::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:#f8f9f7}
.client-reservation-page .bk-ticket-cut::before{left:-12px}
.client-reservation-page .bk-ticket-cut::after{right:-12px}
.client-reservation-page .bk-ticket-body{padding:14px 22px 20px}
.client-reservation-page .bk-ticket .bk-sum-group{padding:10px 0 4px;border-top:0;border-bottom:1px solid rgba(255,255,255,.1)}
.client-reservation-page .bk-ticket .bk-sum-group h3{margin:0 0 2px;color:#b9cbd9;font:500 10px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.client-reservation-page .bk-ticket .cfg-summary-line{display:flex;justify-content:space-between;gap:12px;color:#dbe6ef}
.client-reservation-page .bk-ticket .cfg-summary-line>span{min-width:0;color:#fff;font-weight:600}
.client-reservation-page .bk-ticket .cfg-summary-line strong{color:#fff;font-variant-numeric:tabular-nums;white-space:nowrap}
.client-reservation-page .bk-ticket .cfg-summary-line small,.client-reservation-page .bk-ticket .cfg-extra-people{display:block;color:#b9cbd9;font-weight:400}
.client-reservation-page .bk-ticket :is(.bk-presale,.bk-summary-state){color:#b9cbd9}
.client-reservation-page .bk-ticket .bk-summary-totals{display:block;margin-top:4px;border-top:0}
.client-reservation-page .bk-ticket .reservation-line{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#dbe6ef;font-size:13.5px}
.client-reservation-page .bk-ticket .reservation-line .bk-icon{color:#9cd2f5}
.client-reservation-page .bk-ticket .reservation-line small{color:#b9cbd9}
.client-reservation-page .bk-ticket .reservation-line strong{color:#fff;font-size:14px}
.client-reservation-page .bk-ticket .reservation-line.is-total{margin-top:6px;padding:14px 0 12px;border-top:1px solid rgba(255,255,255,.18);border-bottom:0}
.client-reservation-page .bk-ticket .reservation-line.is-total strong,.client-reservation-page .bk-ticket #booking-total{color:#fff;font:400 30px/1.1 Georgia,"Times New Roman",serif;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-ticket .bk-summary-state{margin:10px 0 0;font-size:12.5px;line-height:1.5}
.client-reservation-page .bk-ticket .bk-summary-state.is-pending{color:#ffb3b8}
.client-reservation-page .bk-ticket .bk-summary-state[data-state=reviewed]{color:#9fd8b9}
.client-reservation-page .bk-ticket .bk-summary-state .bk-icon{color:currentColor}
.client-reservation-page .bk-ticket-go{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;margin:16px 0 0;border-radius:10px;background:#c8323c;color:#fff;font-size:15px;font-weight:600;text-decoration:none;transition:background-color .2s}
.client-reservation-page .bk-ticket-go:hover{background:#a3222b}
.client-reservation-page .bk-ticket-go .bk-icon{width:18px;height:18px;color:#fff}
.client-reservation-page .bk-ticket .booking-summary-edit{margin-top:8px}
.client-reservation-page .bk-ticket .booking-summary-edit a{color:#fff}
@media(max-width:760px){
.client-reservation-page .reservation-summary.bk-ticket{display:block;padding:0}
.client-reservation-page .bk-ticket-top{padding:18px 18px 14px}
.client-reservation-page .bk-ticket-body{padding:12px 18px 18px}
.client-reservation-page .bk-ticket .booking-selection strong{font-size:30px}
.client-reservation-page .bk-ticket .reservation-line{display:flex;padding:10px 0;font-size:13px}
.client-reservation-page .bk-ticket .reservation-line strong{display:block;margin:0}
.client-reservation-page .bk-ticket .bk-summary-totals{display:block}
}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-ticket-go{transition:none}}
.client-reservation-page .bk-ticket .reservation-line>span{flex:1;min-width:0}
.client-reservation-page .bk-ticket .reservation-line.is-total{flex-direction:column;align-items:flex-start;gap:2px}
@media(min-width:761px){.client-reservation-page .reservation-summary.bk-ticket{top:96px}}
@media(max-width:760px){.client-reservation-page .bk-ticket-go{display:none}}
/* Zona 6a · contador como talón de boleto (count5): «Lugares» y el número en Anton; + y − en el talón perforado. */
.client-reservation-page .bk-counter{display:inline-grid;grid-template-columns:auto auto;align-items:stretch;border:0;border-radius:16px;overflow:hidden;background:#0c2236;color:#fff;box-shadow:0 18px 30px -22px rgba(12,34,54,.8)}
.client-reservation-page .bk-counter-info{display:flex;flex-direction:column;justify-content:center;gap:4px;min-width:11ch;padding:16px 24px 16px 22px}
.client-reservation-page .bk-counter-cap{color:#b9cbd9;font:500 12px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.client-reservation-page .bk-counter-value{padding:0;color:#fff;text-align:left;font:400 40px/1 Anton,"Arial Narrow",sans-serif;letter-spacing:.01em;text-transform:uppercase;white-space:nowrap}
.client-reservation-page .bk-counter-stub{position:relative;display:grid;grid-template-rows:1fr 1fr;border-left:2px dashed rgba(255,255,255,.25)}
.client-reservation-page .bk-counter-stub::before,.client-reservation-page .bk-counter-stub::after{content:"";position:absolute;left:-12px;width:22px;height:22px;border-radius:50%;background:#f8f9f7}
.client-reservation-page .bk-counter-stub::before{top:-11px}
.client-reservation-page .bk-counter-stub::after{bottom:-11px}
.client-reservation-page .bk-counter-step{width:64px;min-height:44px;border:0;background:transparent;color:#fff;font-family:inherit;font-size:24px;font-weight:600;line-height:1;cursor:pointer;transition:background-color .15s ease-out}
.client-reservation-page .bk-counter-step+.bk-counter-step{border-top:1px solid rgba(255,255,255,.14)}
.client-reservation-page .bk-counter-step:hover:not(:disabled){background:#c8323c}
.client-reservation-page .bk-counter-step:disabled{color:rgba(255,255,255,.3);background:transparent;cursor:not-allowed}
.client-reservation-page .bk-counter-step:focus-visible{outline:2px solid #9cd2f5;outline-offset:-3px}
@media(max-width:760px){.client-reservation-page .bk-counter-value{font-size:34px}.client-reservation-page .bk-counter-info{padding:14px 18px}}
/* Lugares (seats1): barra noche a todo lo ancho dentro de «¿Quiénes viajan?». «Lugares» y el número a la izquierda;
   − y + grandes lado a lado en el talón perforado. Es el único control para añadir o quitar personas. */
.client-reservation-page .bk-seats{margin:4px 0 6px}
.client-reservation-page .bk-seats .bk-counter{display:grid;grid-template-columns:minmax(0,1fr) auto;width:100%}
.client-reservation-page .bk-seats .bk-counter-info{flex-direction:row;align-items:baseline;flex-wrap:wrap;gap:4px 16px;padding:18px 24px}
.client-reservation-page .bk-seats .bk-counter-stub{grid-template-rows:none;grid-template-columns:repeat(2,72px)}
.client-reservation-page .bk-seats .bk-counter-step{width:auto;min-height:76px;font-size:28px}
.client-reservation-page .bk-seats .bk-counter-step+.bk-counter-step{border-top:0;border-left:1px solid rgba(255,255,255,.14)}
.client-reservation-page .bk-seats-help{margin:8px 0 0;font-size:13px;color:#53616c}
.client-reservation-page .bk-seats-help:empty{display:none}
@media(max-width:760px){
.client-reservation-page .bk-seats .bk-counter-info{flex-direction:column;align-items:flex-start;gap:2px;padding:14px 16px}
.client-reservation-page .bk-seats .bk-counter-value{font-size:30px}
.client-reservation-page .bk-seats .bk-counter-stub{grid-template-columns:repeat(2,58px)}
.client-reservation-page .bk-seats .bk-counter-step{min-height:72px}
}
.client-reservation-page .bk-seats .bk-counter-info{justify-content:flex-start}
/* Un paquete por reserva (mix1): aviso sobre las modalidades. */
/* Zona 6b · fichas en acordeón con estado (acc5): una fila por viajero con punto verde o rojo; la fila abre y cierra su ficha. */
.client-reservation-page #booking-passengers{margin-top:14px;border-top:1px solid #102c45}
.client-reservation-page #booking-passengers>.reservation-traveler{position:relative;margin:0;padding:0;border:0;border-bottom:1px solid #dce5ec;border-radius:0;background:transparent}
.client-reservation-page #booking-passengers>.reservation-traveler>legend{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;padding:0}
.client-reservation-page .bk-tv-head{display:grid;grid-template-columns:30px minmax(0,1fr) 20px;align-items:center;gap:12px;width:100%;min-height:64px;padding:8px 4px;border:0;background:none;color:#102c45;text-align:left;font:inherit;cursor:pointer}
.client-reservation-page .bk-tv-head:hover strong{text-decoration:underline;text-underline-offset:4px}
.client-reservation-page .bk-tv-head:focus-visible{outline:2px solid #086da8;outline-offset:2px}
.client-reservation-page .bk-tv-dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#fdecec;color:#c8323c;font:400 14px/1 Anton,"Arial Narrow",sans-serif}
.client-reservation-page .bk-tv-dot.is-ok{background:#e3f3ea;color:#2f7d55}
.client-reservation-page .bk-tv-dot svg{width:15px;height:15px}
.client-reservation-page .bk-tv-text{min-width:0}
.client-reservation-page .bk-tv-text strong{display:block;font-size:16px;font-weight:600}
.client-reservation-page .bk-tv-text small{display:block;color:#53616c;font-size:12.5px;line-height:1.45;overflow-wrap:anywhere}
.client-reservation-page .bk-tv-dot:not(.is-ok)+.bk-tv-text small{color:#a3222b}
.client-reservation-page .bk-tv-chev{justify-self:center;width:8px;height:8px;border-right:1.7px solid #102c45;border-bottom:1.7px solid #102c45;transform:rotate(-135deg) translate(-2px,-2px);transition:transform .2s cubic-bezier(.16,1,.3,1)}
.client-reservation-page .reservation-traveler.is-done .bk-tv-chev{transform:rotate(45deg)}
.client-reservation-page #booking-passengers>.reservation-traveler:not(.is-done)>:not(legend):not(.bk-tv-head):not(input[type=hidden]){margin-left:46px}
.client-reservation-page #booking-passengers>.reservation-traveler:not(.is-done){padding-bottom:18px}
.client-reservation-page #booking-passengers>.reservation-traveler.is-done>.bk-tv-head{display:grid!important}
.client-reservation-page #booking-passengers>.reservation-traveler.is-done>[data-remove-traveler]{display:none}
.client-reservation-page #booking-passengers .bk-remove-traveler{position:static;order:9;margin-top:14px;justify-self:start}
.client-reservation-page #booking-passengers>.reservation-traveler:not(.is-done){display:flex;flex-direction:column}
.client-reservation-page #booking-passengers>.reservation-traveler>.bk-tv-head{order:-1}
@media(max-width:760px){.client-reservation-page #booking-passengers>.reservation-traveler:not(.is-done)>:not(legend):not(.bk-tv-head):not(input[type=hidden]){margin-left:0}}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-tv-chev{transition:none}}
/* Zona 6c4 · «¿Cómo quieres pagar?» como tabla de planes (pay7): un renglón por plan con cuántos pagos y cuánto cada uno; el elegido muestra sus fechas. */
.client-reservation-page .bk-pay-lead{margin:2px 0 16px;max-width:64ch;color:#53616c;font-size:14.5px;line-height:1.6}
.client-reservation-page .bk-pay-lead strong{color:#102c45;font-variant-numeric:tabular-nums;white-space:nowrap}
.client-reservation-page .bk-pay .bk-plan-wait{display:block;margin:0 0 12px;font-size:13.5px;color:#53616c}
.client-reservation-page .bk-pay .bk-plan-wait[hidden]{display:none}
.client-reservation-page .bk-plan-tbl{min-width:0;margin:14px 0 0;padding:0;border:1px solid #dce5ec;border-radius:16px;background:#fff;overflow:hidden}
.client-reservation-page .bk-plan-row{position:relative;display:block;margin:0;border-bottom:1px solid #dce5ec;cursor:pointer}
.client-reservation-page .bk-plan-row:last-of-type{border-bottom:0}
.client-reservation-page .bk-plan-row>input{position:absolute;opacity:0;width:1px;height:1px;min-height:0;margin:0}
.client-reservation-page .bk-plan-rh{display:grid;grid-template-columns:22px minmax(0,1.4fr) minmax(0,1fr) auto;gap:14px;align-items:center;min-height:56px;padding:12px 18px;transition:background-color .15s ease-out}
.client-reservation-page .bk-plan-row:hover .bk-plan-rh{background:#f6f9fb}
.client-reservation-page .bk-plan-ring{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;border:2px solid #a9bfce;background:#fff}
.client-reservation-page .bk-plan-row>input:checked+.bk-plan-rh{background:#fbf3f3}
.client-reservation-page .bk-plan-row>input:checked+.bk-plan-rh .bk-plan-ring{border-color:#c8323c}
.client-reservation-page .bk-plan-row>input:checked+.bk-plan-rh .bk-plan-ring::after{content:"";width:10px;height:10px;border-radius:50%;background:#c8323c}
.client-reservation-page .bk-plan-row>input:focus-visible+.bk-plan-rh{outline:2px solid #086da8;outline-offset:-2px}
.client-reservation-page .bk-plan-name{color:#102c45;font-size:15px;font-weight:700;line-height:1.35}
.client-reservation-page .bk-plan-count{color:#53616c;font-size:13.5px;line-height:1.4}
.client-reservation-page .bk-plan-each{display:flex;align-items:baseline;gap:4px;justify-self:end;white-space:nowrap}
.client-reservation-page .bk-plan-each b{color:#102c45;font-size:15px;font-weight:700;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-plan-each small{color:#53616c;font-size:12px}
.client-reservation-page .bk-plan-dates{display:none;padding:0 18px 14px 54px;color:#53616c;font-size:13px;line-height:1.5}
.client-reservation-page .bk-plan-row>input:checked~.bk-plan-dates{display:block;background:#fbf3f3}
.client-reservation-page .bk-plan-dates span{display:inline-block;margin:4px 6px 0 0;padding:3px 8px;border-radius:6px;background:#eaf1f5;color:#102c45;font:500 12px/1.4 "IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-plan-row.is-off{cursor:not-allowed}
.client-reservation-page .bk-plan-row.is-off .bk-plan-rh{background:#f7f9fb}
.client-reservation-page .bk-plan-row.is-off .bk-plan-name,.client-reservation-page .bk-plan-row.is-off .bk-plan-count{color:#8a99a6}
.client-reservation-page .bk-plan-row.is-off .bk-plan-ring{border-style:dashed}
.client-reservation-page .bk-pay p.bk-pay-off{margin:10px 0 0;font-size:12.5px;color:#7a4a16}
.client-reservation-page .bk-pay p.bk-pay-foot{margin:10px 0 0;color:#53616c;font-size:13.5px}
@media(max-width:560px){.client-reservation-page .bk-plan-rh{grid-template-columns:22px minmax(0,1fr) auto;gap:2px 12px;padding:12px 14px}.client-reservation-page .bk-plan-count{grid-column:2;grid-row:2}.client-reservation-page .bk-plan-each{grid-column:3;grid-row:1/3}.client-reservation-page .bk-plan-dates{padding:0 14px 12px 48px}}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-plan-rh{transition:none}}
/* Zona 10 · «Revisa y confirma» como boleto final (final4): arriba revisar; corte perforado; abajo total, casilla y botón. */
.client-reservation-page .reservation-form .concert-detail-section.bk-final{margin-top:26px;padding:0;border:0;border-radius:18px;overflow:hidden;background:#0c2236;color:#dbe6ef;box-shadow:0 24px 44px -30px rgba(12,34,54,.8)}
.client-reservation-page .bk-final ::selection{background:#fff;color:#0c2236}
.client-reservation-page .bk-final :focus-visible{outline:2px solid #9cd2f5;outline-offset:3px}
.client-reservation-page .bk-final-top{padding:24px 24px 18px}
.client-reservation-page .bk-final h2{margin:0 0 6px;color:#fff;font:400 30px/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.client-reservation-page .bk-final .bk-final-lead{margin:0 0 6px;max-width:60ch;color:#b9cbd9;font-size:14px;line-height:1.6}
.client-reservation-page .bk-final .booking-conditions{margin:6px 0 0;padding:0;border:0}
.client-reservation-page .bk-final .booking-conditions summary,.client-reservation-page .bk-final .bk-optional summary{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0;border:0;background:none;color:#fff;font-size:14px;font-weight:600;cursor:pointer}
.client-reservation-page .bk-final .booking-conditions summary .bk-icon,.client-reservation-page .bk-final .bk-optional summary .bk-icon{color:#9cd2f5}
.client-reservation-page .bk-final .bk-optional summary small{margin-left:4px;color:#b9cbd9;font-weight:400;background:none;padding:0}
.client-reservation-page .bk-final .booking-conditions p{max-height:260px;overflow:auto;margin:6px 0 4px;padding:16px;border-radius:12px;background:rgba(255,255,255,.06);color:#dbe6ef;font-size:13.5px;line-height:1.7}
.client-reservation-page .bk-final-extras{display:flex;flex-wrap:wrap;gap:0 22px}
.client-reservation-page .bk-final-extras .bk-optional{flex:1 1 220px;margin:0;padding:0;border:0;background:none}
.client-reservation-page .bk-final-extras .bk-optional[open]{flex-basis:100%}
.client-reservation-page .bk-final-extras .field{margin:4px 0 8px}
.client-reservation-page .bk-final-extras .bk-hint{display:block;margin-bottom:6px;color:#b9cbd9}
.client-reservation-page .bk-final-extras textarea,.client-reservation-page .bk-final-extras input{border-color:transparent;background:#fff;color:#102c45}
.client-reservation-page .bk-final-cut{position:relative;border-top:2px dashed rgba(255,255,255,.25)}
.client-reservation-page .bk-final-cut::before,.client-reservation-page .bk-final-cut::after{content:"";position:absolute;top:-12px;width:22px;height:22px;border-radius:50%;background:#f8f9f7}
.client-reservation-page .bk-final-cut::before{left:-12px}
.client-reservation-page .bk-final-cut::after{right:-12px}
.client-reservation-page .bk-final-bot{padding:18px 24px 22px}
.client-reservation-page .bk-final .bk-final-total{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 12px;margin:0;color:#b9cbd9;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.client-reservation-page .bk-final .bk-final-total strong{color:#fff;font:400 34px/1.1 Georgia,"Times New Roman",serif;letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-final .reservation-consent{margin:14px 0 0;padding:0;color:#fff;font-size:14.5px}
.client-reservation-page .bk-final .reservation-consent input{accent-color:#c8323c}
.client-reservation-page .bk-final .bk-submit{margin-top:14px}
.client-reservation-page .bk-final .bk-submit .button.primary{width:100%;justify-content:center;min-height:56px;border:0;border-radius:12px;background:#c8323c;color:#fff;font-size:16px;font-weight:700}
.client-reservation-page .bk-final .bk-submit .button.primary:hover:not(:disabled){background:#a3222b}
.client-reservation-page .bk-final .bk-submit .button.primary:disabled{opacity:.45}
.client-reservation-page .bk-final .bk-submit-help{margin:10px 0 0;color:#b9cbd9;font-size:13px}
@media(max-width:760px){
.client-reservation-page .reservation-form .concert-detail-section.bk-final{margin-inline:-16px;border-radius:0}
.client-reservation-page .bk-final-top{padding:20px 16px 14px}
.client-reservation-page .bk-final-bot{padding:16px 16px 20px}
.client-reservation-page .bk-final h2{font-size:26px}
.client-reservation-page .bk-final-cut::before,.client-reservation-page .bk-final-cut::after{display:none}
}
/* Zona 7a · boleto con interruptor (tk9): «Agregar boleto» y una tarjeta por categoría; los selectores nativos quedan ocultos. */
.client-reservation-page .bk-ticket-ui>.cfg-field,.client-reservation-page .bk-ticket-ui .cfg-phase-note,.client-reservation-page .bk-ticket-ui>.cfg-help{display:none!important}
.client-reservation-page .bk-tk{margin-top:6px}
.client-reservation-page .bk-tk-switch{position:relative;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 20px;border-radius:16px;background:#fff;border:1px solid #dce5ec;cursor:pointer}
.client-reservation-page .bk-tk-switch-text strong{display:block;color:#102c45;font-size:16px}
.client-reservation-page .bk-tk-switch-text small{display:block;margin-top:2px;color:#53616c;font-size:13px;line-height:1.45}
.client-reservation-page .bk-tk-switch input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-height:0;margin:0}
.client-reservation-page .bk-tk-toggle{position:relative;flex:none;width:56px;height:32px;border-radius:999px;background:#c8d4de;transition:background-color .2s ease-out}
.client-reservation-page .bk-tk-toggle::after{content:"";position:absolute;top:4px;left:4px;width:24px;height:24px;border-radius:50%;background:#fff;box-shadow:0 2px 6px rgba(12,34,54,.3);transition:transform .2s cubic-bezier(.16,1,.3,1)}
.client-reservation-page .bk-tk-switch input:checked~.bk-tk-toggle{background:#c8323c}
.client-reservation-page .bk-tk-switch input:checked~.bk-tk-toggle::after{transform:translateX(24px)}
.client-reservation-page .bk-tk-switch input:focus-visible~.bk-tk-toggle{outline:2px solid #086da8;outline-offset:3px}
.client-reservation-page .bk-tk-days{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.client-reservation-page .bk-tk-days[hidden],.client-reservation-page .bk-tk-cats[hidden]{display:none}
.client-reservation-page .bk-tk-day{position:relative;cursor:pointer}
.client-reservation-page .bk-tk-day input,.client-reservation-page .bk-tk-cat input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-height:0;margin:0}
.client-reservation-page .bk-tk-day span{display:inline-flex;align-items:center;min-height:42px;padding:0 15px;border-radius:999px;border:1.5px solid #a9bfce;background:#fff;font-weight:600;font-size:14px}
.client-reservation-page .bk-tk-day input:checked+span{background:#0c2236;border-color:#0c2236;color:#fff}
.client-reservation-page .bk-tk-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-top:12px}
.client-reservation-page .bk-tk-cat{position:relative;display:block;margin:0;cursor:pointer}
.client-reservation-page .bk-tk-card{display:flex;flex-direction:column;align-items:center;gap:2px;height:100%;padding:14px;border-radius:12px;border:1.5px solid #dce5ec;background:#fff;text-align:center;transition:background-color .15s ease-out,border-color .15s ease-out}
.client-reservation-page .bk-tk-card b{font:400 19px/1.1 Anton,"Arial Narrow",sans-serif;letter-spacing:.02em;text-transform:uppercase}
.client-reservation-page .bk-tk-card strong{font:400 18px Georgia,"Times New Roman",serif;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-tk-card small{color:#53616c;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.03em}
.client-reservation-page .bk-tk-card small.is-low{color:#a3222b}
.client-reservation-page .bk-tk-cat:hover .bk-tk-card{border-color:#0c2236}
.client-reservation-page .bk-tk-cat input:checked+.bk-tk-card{background:#0c2236;border-color:#0c2236;color:#fff}
.client-reservation-page .bk-tk-cat input:checked+.bk-tk-card small{color:#b9cbd9}
.client-reservation-page .bk-tk-cat input:checked+.bk-tk-card small.is-low{color:#ffb3b8}
.client-reservation-page .bk-tk-cat input:focus-visible+.bk-tk-card,.client-reservation-page .bk-tk-day input:focus-visible+span{outline:2px solid #086da8;outline-offset:2px}
.client-reservation-page .bk-tk-cat.is-off{cursor:not-allowed}
.client-reservation-page .bk-tk-cat.is-off .bk-tk-card{border-style:dashed;background:#f1f4f6;color:#8a99a6}
.client-reservation-page .bk-tk-res{margin:12px 0 0;color:#102c45;font:400 17px/1.45 Georgia,"Times New Roman",serif;font-variant-numeric:tabular-nums}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-tk-toggle,.client-reservation-page .bk-tk-toggle::after,.client-reservation-page .bk-tk-card{transition:none}}
/* Zona 7b · hospedaje con interruptor (ht1): reutiliza el interruptor y las tarjetas del boleto; fechas en dos casillas y noches en noche. */
.client-reservation-page .bk-hotel-ui>.cfg-field,.client-reservation-page .bk-hotel-ui>.cfg-dates{display:none!important}
.client-reservation-page .bk-hotel-ui:not(.is-on) :is(.cfg-stay,#cfg-hotel-note,.cfg-reset-dates){display:none!important}
.client-reservation-page .bk-ht{margin-top:6px}
.client-reservation-page .bk-ht-rooms{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:8px;margin-top:12px}
.client-reservation-page .bk-ht-modes{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.client-reservation-page .bk-ht-rooms[hidden],.client-reservation-page .bk-ht-modes[hidden]{display:none}
.client-reservation-page .bk-ht-modes .bk-tk-day input:disabled+span{border-style:dashed;color:#8a99a6;background:#f1f4f6;cursor:not-allowed}
.client-reservation-page .bk-tk-switch input:disabled~.bk-tk-toggle{opacity:.4}
.client-reservation-page .bk-hotel-ui .cfg-stay{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;gap:10px;margin:14px 0 4px}
.client-reservation-page .bk-hotel-ui .cfg-stay[hidden]{display:none}
.client-reservation-page .bk-hotel-ui .cfg-stay-row{gap:4px;padding:12px 14px;border-radius:12px;background:#fff}
.client-reservation-page .bk-hotel-ui .cfg-stay-label{font:500 10px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#53616c}
.client-reservation-page .bk-hotel-ui .cfg-stay-date{font:400 17px/1.3 Georgia,"Times New Roman",serif;color:#102c45}
.client-reservation-page .bk-hotel-ui .cfg-stay-date::first-letter{text-transform:uppercase}
.client-reservation-page .bk-hotel-ui .cfg-stay-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-top:6px}
.client-reservation-page .bk-hotel-ui .cfg-stay-step{min-height:40px;padding:6px 8px;border:1.5px solid #a9bfce;border-radius:9px;background:#fff;color:#102c45;font-size:12.5px;font-weight:600;line-height:1.25}
.client-reservation-page .bk-hotel-ui .cfg-stay-step:hover:not(:disabled){border-color:#0c2236}
.client-reservation-page .bk-hotel-ui .cfg-stay-nights{display:grid;place-items:center;align-content:center;min-width:92px;padding:12px 14px;border-radius:12px;background:#0c2236;color:#fff;font:400 26px/1.1 Anton,"Arial Narrow",sans-serif;text-align:center;text-transform:uppercase}
.client-reservation-page .bk-hotel-ui .cfg-stay-nights:empty{display:none}
.client-reservation-page .bk-hotel-ui #cfg-hotel-note{margin:6px 0 0;font-size:13px;color:#53616c}
@media(max-width:760px){
.client-reservation-page .bk-hotel-ui .cfg-stay{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.client-reservation-page .bk-hotel-ui .cfg-stay-nights{grid-column:1/-1;font-size:22px}
.client-reservation-page .bk-hotel-ui .cfg-stay-actions{grid-template-columns:1fr}
}
/* steps4: cuatro pasos (tu viaje, viajeros, pagos, confirma); resumen dentro del formulario en móvil. */
@media(max-width:760px){.client-reservation-page .bk-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.client-reservation-page .bk-hero .bk-steps{grid-template-columns:repeat(4,minmax(0,1fr))}.client-reservation-page .reservation-form .reservation-summary.bk-ticket{margin:26px -16px 0;border-radius:0}}
.client-reservation-page .reservation-form .reservation-summary.bk-ticket{padding:0;border:0}
.client-reservation-page .reservation-form .reservation-summary.bk-ticket h2{margin:0;color:#b9cbd9;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
/* go1: el enlace del resumen es secundario (contorno) y se oculta cuando «Revisa y confirma» está en pantalla; solo «Confirmar reserva» es rojo. */
.client-reservation-page .bk-ticket-go,.client-reservation-page .bk-ticket-go:hover{min-height:46px;border:1.5px solid rgba(255,255,255,.35);background:transparent;color:#fff;font-size:14px;font-weight:600;transition:opacity .2s ease-out,border-color .2s ease-out}
.client-reservation-page .bk-ticket-go:hover{border-color:#fff}
.client-reservation-page .bk-ticket-go .bk-icon{width:16px;height:16px}
.client-reservation-page .bk-ticket-go.is-away{opacity:0;visibility:hidden;pointer-events:none}
/* Zona 5 · pestañas «Qué incluye» e «Itinerario» (dtab1): línea roja en la activa; los <details> pierden su resumen. */
.client-reservation-page .booking-option-details.bk-dtabs-on{display:block}
.client-reservation-page .bk-dtabs{display:flex;gap:4px;margin:4px 0 14px;border-bottom:2px solid rgba(255,255,255,.18)}
.client-reservation-page .bk-dtab{display:inline-flex;align-items:center;gap:8px;min-height:46px;margin-bottom:-2px;padding:0 16px;border:0;border-bottom:3px solid transparent;background:none;color:#b9cbd9;font-family:inherit;font-size:14px;font-weight:700;cursor:pointer;transition:color .15s ease-out,border-color .15s ease-out}
.client-reservation-page .bk-dtab svg{width:18px;height:18px;flex:none}
.client-reservation-page .bk-dtab:hover{color:#fff}
.client-reservation-page .bk-dtab[aria-selected=true]{color:#fff;border-bottom-color:#c8323c}
.client-reservation-page .bk-dtab[aria-selected=true] svg{color:#ff8f96}
.client-reservation-page .bk-dtab:focus-visible{outline:2px solid #9cd2f5;outline-offset:-2px;border-radius:8px 8px 0 0}
.client-reservation-page .bk-dtabs-on>details>summary{display:none!important}
.client-reservation-page .bk-dtabs-on>details{margin:0;padding:0;border:0}
.client-reservation-page .bk-lineup .bk-dtabs-on .trip-itin-panel{margin-top:0}
.client-reservation-page .cfg-transport-option:not(.bk-lineup .cfg-transport-option) .bk-dtabs{border-bottom-color:#dce5ec}
@media(max-width:760px){.client-reservation-page .bk-dtab{flex:1;justify-content:center;padding:0 8px}}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-dtab{transition:none}}
/* noedit1: sin enlaces de editar en el resumen; el enlace a confirmar no deja hueco al ocultarse. */
.client-reservation-page .bk-ticket-go.is-away{display:none}
/* Zona 5 · itinerario en oscuro (itin1): línea roja con puntos, mismo tono que «Qué incluye». */
.client-reservation-page .bk-lineup .booking-option-details .trip-itin-panel{margin:0;padding:4px 0 6px;border:0;border-radius:0;background:none;color:#dbe6ef}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body{max-width:none;font-size:14px;line-height:1.5}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-timeline{position:relative;margin:0 0 0 5px!important;padding:0 0 0 22px!important;border-left:2px solid rgba(255,255,255,.18)}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-date{padding:16px 0 6px!important;border-top:0}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-date:first-child{padding-top:0!important}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-date h3{margin:0;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase;color:#b9cbd9}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-date time{text-transform:uppercase}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-step{position:relative;display:flex;gap:12px;align-items:baseline;padding:2px 0 8px!important}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-step::before{content:"";position:absolute;left:-28px;top:6px;width:10px;height:10px;border-radius:50%;background:#c8323c;box-shadow:0 0 0 3px rgba(200,50,60,.25)}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-label{flex:none;padding:0;border-radius:0;background:none;color:#ff8f96;font:500 12px/1.5 "IBM Plex Mono",ui-monospace,monospace;font-variant-numeric:tabular-nums;text-align:left}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-body h3{margin:0;font:600 14.5px/1.5 inherit;font-family:inherit;color:#fff}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-body p{margin:4px 0 0;font:400 13.5px/1.55 inherit;font-family:inherit;color:#dbe6ef}
.client-reservation-page .bk-lineup .trip-itin-panel .tit-body h3:not(.itinerary-timeline h3){color:#fff}
.client-reservation-page .bk-lineup .trip-itin-panel .trip-itin-note{margin:14px 0 0;padding-top:12px;border-top:1px solid rgba(255,255,255,.14);color:#b9cbd9;font-size:12.5px}
@media(max-width:480px){.client-reservation-page .bk-lineup .trip-itin-panel .tit-body .itinerary-step{flex-direction:column;gap:2px}}
/* Zona 5 · nombre de la modalidad sin romperse letra por letra (name1): si el bloque es angosto (~760-1100 px de pantalla), precio y datos pasan abajo del nombre. */
.client-reservation-page .cfg-step.bk-lineup{container:bk-lineup/inline-size}
.client-reservation-page .bk-lineup .cfg-transport-option label{overflow-wrap:normal;word-break:normal;hyphens:none}
@container bk-lineup (max-width:620px){
.client-reservation-page .bk-lineup .cfg-transport-option{grid-template-columns:minmax(0,1fr) auto;gap:4px 12px}
.client-reservation-page .bk-lineup .cfg-transport-option label{font-size:36px}
.client-reservation-page .bk-lineup .cfg-transport-option .cfg-price{grid-column:1;grid-row:2;text-align:left;font-size:18px}
.client-reservation-page .bk-lineup .cfg-transport-option .cfg-price span{display:inline;margin-left:4px}
.client-reservation-page .bk-lineup .cfg-meta{grid-column:1;grid-row:3;text-align:left}
.client-reservation-page .bk-lineup .cfg-transport-option>input{grid-column:2;grid-row:1/3}
}
@container bk-lineup (max-width:420px){.client-reservation-page .bk-lineup .cfg-transport-option label{font-size:32px}.client-reservation-page .bk-lineup .cfg-services-list{grid-template-columns:minmax(0,1fr)}}
/* Zona 2 · encabezado de cine (hero4c): el cartel a todo lo ancho con sombra arriba y abajo,
   «EDC MX» enorme en Anton con el cartel dentro de las letras y los pasos en una barra pegada al borde. */
.client-reservation-page .bk-hero:not(.is-plain){position:relative;isolation:isolate;display:flex;flex-direction:column;min-height:520px;overflow:hidden}
.client-reservation-page .bk-hero:not(.is-plain) .bk-hero-poster{position:absolute;inset:0;z-index:-1;height:auto}
.client-reservation-page .bk-hero:not(.is-plain) .bk-hero-poster img{object-position:50% 42%;filter:saturate(1.1)}
.client-reservation-page .bk-hero:not(.is-plain) .bk-hero-poster::after{background:linear-gradient(180deg,rgba(12,34,54,.92) 0%,rgba(12,34,54,.4) 20%,rgba(12,34,54,.1) 40%,rgba(12,34,54,.72) 70%,#0c2236 100%),linear-gradient(90deg,rgba(12,34,54,.88) 0%,rgba(12,34,54,.62) 38%,rgba(12,34,54,0) 66%)}
.client-reservation-page .bk-hero:not(.is-plain) .bk-hero-in{flex:1;justify-content:flex-end;padding:18px max(32px,calc((100% - 1180px) / 2 + 32px)) 0}
.client-reservation-page .bk-hero:not(.is-plain) .bk-back{margin-bottom:auto}
.client-reservation-page .bk-hero:not(.is-plain) h1{width:fit-content;max-width:100%;margin:28px 0 0;padding:0 .04em;background:var(--bk-cover) 24% 6%/360% auto;-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent;-webkit-text-stroke:1.5px rgba(255,255,255,.7);font:400 clamp(72px,11vw,150px)/.9 Anton,"Arial Narrow",sans-serif;letter-spacing:.01em;text-transform:uppercase;overflow-wrap:normal;filter:drop-shadow(0 10px 28px rgba(0,0,0,.7)) brightness(1.4) saturate(1.4)}
.client-reservation-page .bk-hero:not(.is-plain) .bk-hero-dates{margin-top:16px;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.client-reservation-page .bk-hero:not(.is-plain) .bk-hero-pack{color:#dbe6ef}
.client-reservation-page .bk-hero:not(.is-plain) .bk-lead{margin-top:10px;font-size:14px}
.client-reservation-page .bk-hero:not(.is-plain) .bk-steps-nav{margin-top:24px;border-top:1px solid rgba(255,255,255,.14);background:rgba(12,34,54,.78);box-shadow:0 0 0 100vmax rgba(12,34,54,.78);clip-path:inset(0 -100vmax)}
.client-reservation-page .bk-hero:not(.is-plain) .bk-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:0}
.client-reservation-page .bk-hero:not(.is-plain) .bk-steps a{min-height:60px;border-radius:0}
.client-reservation-page .bk-hero:not(.is-plain) .bk-steps li.is-current a{box-shadow:inset 0 -3px #c8323c}
@media(max-width:760px){
.client-reservation-page .bk-hero:not(.is-plain){min-height:500px}
.client-reservation-page .bk-hero:not(.is-plain) .bk-hero-in{padding:10px 16px 0}
.client-reservation-page .bk-hero:not(.is-plain) h1{font-size:68px;margin-top:20px}
.client-reservation-page .bk-hero:not(.is-plain) .bk-hero-poster::after{background:linear-gradient(180deg,rgba(12,34,54,.9) 0%,rgba(12,34,54,.3) 18%,rgba(12,34,54,.2) 32%,rgba(12,34,54,.85) 58%,#0c2236 100%)}
.client-reservation-page .bk-hero:not(.is-plain) .bk-steps a{min-height:64px;padding:8px 0}
}
/* Extras por viajero como tabla (xt1): filas = servicios, columnas = viajeros (+ «Todos»), subtotal a la derecha.
   Los <fieldset> siguen siendo uno por extra; el encabezado lo pinta booking-form.js con los nombres. */
.client-reservation-page .bk-extras-step .bk-extra-list{--xt-cols:minmax(0,1fr) auto 132px;position:relative;display:block;overflow-x:auto;border-top:1px solid #dce5ec}
.client-reservation-page .bk-extras-step :is(.bk-xt-head,.bk-extra){display:grid;grid-template-columns:var(--xt-cols);column-gap:16px;align-items:center;width:max(100%,calc(var(--xt-n,2) * 64px + 360px))}
.client-reservation-page .bk-xt-head{padding:10px 4px;border-bottom:1px solid #dce5ec;color:#53616c;font:500 11px/1.3 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}
.client-reservation-page .bk-xt-head:empty{display:none}
.client-reservation-page .bk-xt-head .bk-xt-sub{text-align:right}
.client-reservation-page .bk-extras-step :is(.bk-xt-ppl,.bk-extra-people){display:grid;grid-auto-flow:column;grid-auto-columns:64px;justify-items:center;gap:0}
.client-reservation-page .bk-xt-ppl span{max-width:60px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
.client-reservation-page .bk-extra-list.is-one :is(.bk-person-all){display:none}
.client-reservation-page .bk-extras-step .bk-extra{margin:0;padding:12px 4px;border:0;border-bottom:1px solid #e3eaf0;border-radius:0;background:none}
.client-reservation-page .bk-extras-step .bk-extra.is-off{background:#f7f9fb}
.client-reservation-page .bk-extras-step .bk-extra-head{grid-column:1;grid-row:1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;align-items:center;width:auto;margin:0}
.client-reservation-page .bk-extras-step .bk-extra-head .bk-option-icon{grid-row:1/3}
.client-reservation-page .bk-extras-step .bk-extra-price{grid-column:2;text-align:left;font-size:13px;font-weight:400;color:#53616c}
.client-reservation-page .bk-extras-step .bk-extra-price small{display:inline;font-size:13px}
.client-reservation-page .bk-extras-step .bk-extra-meta{grid-column:1;grid-row:2;margin:4px 0 0 52px;font-size:12.5px}
.client-reservation-page .bk-extras-step .bk-extra-people{grid-column:2;grid-row:1/3;padding:0;border:0}
.client-reservation-page .bk-extras-step .bk-person{position:relative;flex:none;justify-content:center;min-width:44px;min-height:44px;padding:0;border:0;border-radius:10px;background:none}
.client-reservation-page .bk-extras-step .bk-person:hover{background:#f1f5f8}
.client-reservation-page .bk-extras-step .bk-person:has(input:checked){background:none}
/* El nombre va oculto dentro de la casilla; sin el position:relative de arriba escapa del scroll de la tabla y ensancha la página a 320px. */
.client-reservation-page .bk-extras-step .bk-person span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.client-reservation-page .bk-extras-step .bk-person input{width:22px;height:22px;accent-color:#c8323c;cursor:pointer}
.client-reservation-page .bk-extras-step .bk-person-all input{accent-color:#0c2236}
.client-reservation-page .bk-extras-step .bk-extra-subtotal{grid-column:3;grid-row:1/3;margin:0;text-align:right;color:#243b4e}
.client-reservation-page .bk-extras-step .bk-extra-off{grid-column:2/4;grid-row:1/3;margin:0}
/* Compacta según el ancho de la sección (en tableta el formulario es angosto por la columna del resumen) */
.client-reservation-page .bk-extras-step{container:xt/inline-size}
@container xt (max-width:600px){
.client-reservation-page .bk-extras-step .bk-extra-list{--xt-cols:minmax(0,1fr) auto}
.client-reservation-page .bk-extras-step :is(.bk-xt-head,.bk-extra){column-gap:10px;width:max(100%,calc(var(--xt-n,2) * 48px + 130px))}
.client-reservation-page .bk-extras-step :is(.bk-xt-ppl,.bk-extra-people){grid-auto-columns:48px}
.client-reservation-page .bk-xt-ppl span{max-width:46px}
.client-reservation-page .bk-xt-head .bk-xt-sub{display:none}
.client-reservation-page .bk-extras-step .bk-extra{padding:12px 2px}
.client-reservation-page .bk-extras-step .bk-extra-subtotal{grid-column:1/-1;grid-row:3;margin-top:4px;text-align:left;font-size:12.5px;color:#53616c}
.client-reservation-page .bk-extras-step .bk-extra-off{grid-column:1/-1;grid-row:3;margin-top:6px}
.client-reservation-page .bk-extras-step .bk-extra-head .bk-option-icon{display:none}
.client-reservation-page .bk-extras-step .bk-extra-head{grid-template-columns:minmax(0,1fr)}
.client-reservation-page .bk-extras-step .bk-extra-price{grid-column:1}
.client-reservation-page .bk-extras-step .bk-extra-meta{margin-left:0}
}
/* Reserva en 4 pasos (flujo2): Pasajeros, Tu viaje, Resumen y Datos y pagos; un paso a la vez y el resumen al lado en escritorio.
   booking-steps.js arma los pasos con las secciones existentes; sin JavaScript la página sigue siendo una sola. */
.client-reservation-page .bk-flow-step{margin:0 0 8px}
.client-reservation-page .bk-flow-step[hidden]{display:none}
.client-reservation-page .bk-flow-head{display:flex;gap:14px;align-items:flex-start;margin:0 0 16px}
.client-reservation-page .bk-flow-n{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:50%;background:#c8323c;color:#fff;font:500 14px "IBM Plex Mono",ui-monospace,monospace}
.client-reservation-page .bk-flow-kick{margin:0;color:#53616c;font:500 12px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.1em;text-transform:uppercase}
.client-reservation-page .bk-flow-head h2{margin:0;color:#102c45;font:400 32px/1.15 Georgia,"Times New Roman",serif;letter-spacing:-.02em}
.client-reservation-page .bk-flow-head h2:focus{outline:none}
.client-reservation-page .bk-flow-head h2:focus-visible{outline:2px solid #426780;outline-offset:4px;border-radius:4px}
.client-reservation-page .bk-flow-lead{margin:4px 0 0;color:#53616c;font-size:14px}
.client-reservation-page .bk-flow-q{margin:6px 0 12px;color:#102c45;font:600 18px/1.3 Roboto,"Segoe UI",Arial,sans-serif}
.client-reservation-page .bk-flow-body>.bk-seats{margin-bottom:24px}
.client-reservation-page .bk-flow-body #booking-traveler-count-message{display:none}
.client-reservation-page .bk-flow-nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin:20px 0 0}
.client-reservation-page .bk-flow-nav:empty{display:none}
.client-reservation-page .bk-flow-next{flex:1;min-height:54px;padding:0 22px;border:0;border-radius:999px;background:#c8323c;color:#fff;font:700 16px Roboto,"Segoe UI",Arial,sans-serif;cursor:pointer;transition:background-color .15s}
.client-reservation-page .bk-flow-next:hover{background:#a3222b}
.client-reservation-page .bk-flow-next:focus-visible,.client-reservation-page .bk-flow-back:focus-visible{outline:3px solid #426780;outline-offset:3px}
.client-reservation-page .bk-flow-back{min-height:54px;padding:0 4px;border:0;background:none;color:#243b4e;font-weight:600;font-size:15px;cursor:pointer}
.client-reservation-page .bk-flow-need{flex-basis:100%;margin:0;color:#53616c;font-size:13.5px}
.client-reservation-page .bk-flow-need.is-alert{color:#97400d;font-weight:600}
/* Dentro del flujo sobran los títulos de sección que repiten el del paso. */
.client-reservation-page.bk-flow .bk-lineup>h2,.client-reservation-page.bk-flow .bk-lineup>.booking-section-help{display:none}
.client-reservation-page.bk-flow .bk-flow-body .reservation-summary{position:static;margin:0 0 18px}
.client-reservation-page.bk-flow .bk-hero .bk-steps a{cursor:pointer}
@media(max-width:760px){
.client-reservation-page .bk-flow-head h2{font-size:26px}
.client-reservation-page .bk-flow-n{width:34px;height:34px}
.client-reservation-page.bk-flow .bk-flow-body .reservation-summary .bk-ticket-go{display:none}
}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-flow-next{transition:none}}
/* Compra en grupo (booking-group.js, maqueta 1): con 2 o más personas cada paquete lleva − / + y la persona reparte
   al grupo entre paquetes; el paquete elegido se queda con el resto. Se crea una reserva por paquete. */
.client-reservation-page .bk-lineup.is-group-ready .cfg-transport-option>input{position:absolute;opacity:0;pointer-events:none}
/* Con contador, el anticipo y las noches bajan a la segunda línea: el nombre del paquete conserva su ancho. */
@container bk-lineup (min-width:621px){.client-reservation-page .bk-lineup.is-group-ready .cfg-meta{grid-column:1/3;grid-row:2;text-align:left}}
.client-reservation-page .bk-pkg-stp{grid-column:4;grid-row:1;position:relative;z-index:2;display:inline-flex;align-items:center;border:1px solid rgba(255,255,255,.3);border-radius:12px;overflow:hidden}
.client-reservation-page .bk-pkg-stp[hidden]{display:none}
.client-reservation-page .bk-pkg-stp button{display:grid;place-items:center;width:44px;height:44px;min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:#fff;font:400 22px/1 Roboto,"Segoe UI",Arial,sans-serif;cursor:pointer;transition:background-color .15s}
.client-reservation-page .bk-pkg-stp button:hover:not(:disabled){background:rgba(255,255,255,.12)}
.client-reservation-page .bk-pkg-stp button:disabled{color:rgba(255,255,255,.3);cursor:not-allowed}
.client-reservation-page .bk-pkg-stp button:focus-visible{outline:2px solid #9cd2f5;outline-offset:-3px}
.client-reservation-page .bk-pkg-stp output{min-width:40px;color:#fff;font:400 22px/1 Anton,"Arial Narrow",sans-serif;text-align:center;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-lineup .cfg-transport-option.is-in:not(:has(input:checked)){padding-left:16px;background:rgba(226,232,240,.07);box-shadow:inset 3px 0 0 rgba(226,232,240,.45)}
.client-reservation-page .bk-lineup .cfg-transport-option.is-in:not(:has(input:checked)) label{color:#fff}
.client-reservation-page .bk-group{margin:12px 0 0}
.client-reservation-page .bk-group[hidden]{display:none}
.client-reservation-page .bk-group-sum{margin:0 0 4px;padding:12px 14px;border-radius:12px;background:#eaf1f5;color:#102c45;font-size:14px;line-height:1.5}
.client-reservation-page .bk-group-sum.is-note{background:#fff0e5;color:#97400d}
.client-reservation-page .bk-seats[hidden]{display:none}
.client-reservation-page .bk-pkg{margin:12px 0 0;padding:18px;border:1px solid #d5e1eb;border-radius:14px;background:#fff;min-width:0}
.client-reservation-page .bk-pkg[hidden]{display:none}
.client-reservation-page .bk-pkg-title{padding:0;margin:0 0 10px;color:#102c45;font:400 24px/1.1 Anton,"Arial Narrow",sans-serif;letter-spacing:.01em;text-transform:uppercase}
.client-reservation-page .bk-pkg .cfg-field{margin:0 0 12px}
.client-reservation-page .bk-pkg .cfg-help{margin:0;color:#53616c;font-size:13px}
.client-reservation-page .bk-pkg-pick[hidden]{display:none}
.client-reservation-page .bk-pkg-pick{margin:0 0 14px}
.client-reservation-page .bk-pkg-pick label{display:flex;align-items:center;gap:8px}
.client-reservation-page .bk-sum-group-note{margin:0 0 10px;color:#b9cbd9;font-size:12.5px;line-height:1.5}
.client-reservation-page .bk-sum-pkg{padding:12px 0 4px;border-top:1px dashed rgba(255,255,255,.24)}
.client-reservation-page .bk-sum-pkg:first-of-type{border-top:0;padding-top:0}
.client-reservation-page .bk-sum-pkg-title{display:flex;flex-direction:column;gap:2px;margin:0 0 8px;color:#fff;font:400 20px/1.1 Anton,"Arial Narrow",sans-serif;letter-spacing:.01em;text-transform:uppercase}
.client-reservation-page .bk-sum-pkg-title small{color:#b9cbd9;font:400 12.5px/1.4 Roboto,"Segoe UI",Arial,sans-serif;letter-spacing:0;text-transform:none}
@container bk-lineup (max-width:620px){.client-reservation-page .bk-pkg-stp{grid-column:2;grid-row:1/3}}
@media(max-width:760px){
.client-reservation-page .bk-pkg-stp{grid-column:2;grid-row:1/3}
.client-reservation-page .bk-pkg{padding:16px 14px}
}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-pkg-stp button{transition:none}}
/* Reserva retomada (booking-drafts.php): aviso con salida para empezar de nuevo. */
.client-reservation-page .notice.bk-restored{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:6px 16px}.client-reservation-page .bk-restored a{color:inherit;font-weight:700;text-decoration:underline;text-underline-offset:3px;min-height:44px;display:inline-flex;align-items:center}
/* Compra en grupo: hospedaje copiado del paquete 1 (booking-group.js). */
.client-reservation-page .bk-pkg-stay-same{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 14px;margin:6px 0 0;padding:12px 14px;border-radius:12px;background:#f1f4f7;color:#102c45;font-size:14px;line-height:1.45}.client-reservation-page .bk-pkg-stay .cfg-link{min-height:44px;padding:0;border:0;background:none;color:#093d77;font-weight:700;text-decoration:underline;text-underline-offset:3px;cursor:pointer}.client-reservation-page .bk-pkg-stay [hidden]{display:none!important}
/* Zona 12 (opción 9): boleto y hotel sin interruptor; «Sin boleto» / «Sin hotel» como primera tarjeta. */
.client-reservation-page .bk-tk-switch[hidden]{display:none}
.client-reservation-page .bk-tk-none .bk-tk-card{background:#eaf1f5;border-color:#d3dfe8}
.client-reservation-page .bk-tk-none input:checked+.bk-tk-card{background:#0c2236;border-color:#0c2236;color:#fff}
.client-reservation-page .bk-tk-none input:checked+.bk-tk-card small{color:#b9cbd9}
/* Habitaciones: columnas fijas según cantidad (booking-guided.js); en celular, 2 y la primera a lo ancho si son impares. */
.client-reservation-page .bk-ht-rooms{grid-template-columns:repeat(var(--ht-cols,4),minmax(0,1fr))}
@media(max-width:560px){.client-reservation-page .bk-ht-rooms{grid-template-columns:repeat(2,minmax(0,1fr))}.client-reservation-page .bk-ht-rooms.is-odd>:first-child{grid-column:1/-1}}
/* Zona 13 (opción 2): ¿Cómo quieren dormir? (booking-room-prefs.js) y código de cuarto en chiquito. */
.client-reservation-page .bk-dormir[hidden],.client-reservation-page .bk-dormir-opts[hidden],.client-reservation-page .bk-dormir-opt[hidden]{display:none}
.client-reservation-page .bk-dormir-title{margin:0 0 4px;font:400 26px/1.2 Georgia,'Times New Roman',serif;letter-spacing:-.02em}
.client-reservation-page .bk-dormir-help{margin:0 0 12px;color:#4b6071}
.client-reservation-page .bk-dormir-opts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media(max-width:560px){.client-reservation-page .bk-dormir-opts{grid-template-columns:1fr}}
.client-reservation-page .bk-dormir-opt{position:relative;display:block;margin:0;cursor:pointer}
.client-reservation-page .bk-dormir-opt input{position:absolute;opacity:0;width:1px!important;height:1px!important;min-height:0;margin:0}
.client-reservation-page .bk-dormir-opt span{display:grid;gap:2px;height:100%;min-height:72px;padding:12px 16px;border:1.5px solid #dce5ec;border-radius:14px;background:#fff;transition:border-color .15s,background-color .15s}
.client-reservation-page .bk-dormir-opt b{font-size:16px;color:#102c45}
.client-reservation-page .bk-dormir-opt small{color:#4b6071;font-size:13px}
.client-reservation-page .bk-dormir-opt input:checked+span{border-color:#0c2236;background:#0c2236}
.client-reservation-page .bk-dormir-opt input:checked+span b,.client-reservation-page .bk-dormir-opt input:checked+span small{color:#fff}
.client-reservation-page .bk-dormir-opt input:focus-visible+span{outline:2px solid #086da8;outline-offset:2px}
.client-reservation-page .bk-dormir-code{margin-top:12px;font-size:13.5px;color:#4b6071}
.client-reservation-page .bk-dormir-code summary{display:inline-flex;align-items:center;min-height:40px;cursor:pointer;color:#093d77;font-weight:600;text-decoration:underline;text-underline-offset:3px}
.client-reservation-page .bk-dormir-code label{display:block;margin:6px 0 4px;font-weight:600;color:#102c45}
.client-reservation-page .bk-dormir-code input{max-width:220px;min-height:44px;padding:0 12px;border:1.5px solid #dce5ec;border-radius:10px;text-transform:uppercase;letter-spacing:.08em;font-family:'IBM Plex Mono',ui-monospace,monospace}
.client-reservation-page .bk-dormir-code small{display:block;margin-top:4px}
.client-reservation-page .bk-rp-slot{display:flex;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;font-weight:600}
.client-reservation-page .bk-rp-slot select{min-height:44px;max-width:260px;border:1.5px solid #dce5ec;border-radius:10px;padding:0 10px;background:#fff}
/* Zona 14 (opción 7) · pestaña «Hospedaje» del paquete: hotel incluido y precio de cada mejora */
.client-reservation-page .bk-dtab-tag{padding:2px 6px;border-radius:5px;background:#f6cf3f;color:#0c2236;font-size:10.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;line-height:1.3}
.client-reservation-page .cfg-stay-details>summary{display:flex;align-items:center;gap:8px;cursor:pointer}
.client-reservation-page .cfg-stay-details>summary svg{width:18px;height:18px}
.client-reservation-page .cfg-stay-tab{padding:4px 0 10px}
.client-reservation-page .cfg-stay-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:4px 12px;align-items:center;margin:0}
.client-reservation-page .cfg-stay-head>svg{width:26px;height:26px;color:#a3242d}
.client-reservation-page .cfg-stay-head strong{display:block;font-size:16px}
.client-reservation-page .cfg-stay-head small{display:block;color:#4b6071;font-size:13.5px}
.client-reservation-page .cfg-stay-ok{display:inline-flex;align-items:center;gap:5px;padding:4px 9px;border-radius:7px;background:#e6f2ea;color:#2f7d55;font-style:normal;font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap}
.client-reservation-page .cfg-stay-ok svg{width:14px;height:14px}
.client-reservation-page .cfg-stay-rooms{list-style:none;margin:12px 0 0;padding:0;display:grid;gap:0;max-width:560px}
.client-reservation-page .cfg-stay-rooms li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid #dce5ec;font-size:14px}
.client-reservation-page .cfg-stay-rooms b{font-variant-numeric:tabular-nums;white-space:nowrap;text-align:right}
.client-reservation-page .cfg-stay-rooms b small{font-weight:400;color:#4b6071;font-size:12px}
.client-reservation-page .cfg-stay-note{margin:10px 0 0;color:#4b6071;font-size:13px}
.client-reservation-page .bk-lineup .cfg-stay-head>svg{color:#f6cf3f}
.client-reservation-page .bk-lineup .cfg-stay-head strong{color:#fff}
.client-reservation-page .bk-lineup .cfg-transport-option .cfg-stay-tab .cfg-stay-head small,.client-reservation-page .bk-lineup .cfg-transport-option .cfg-stay-tab .cfg-stay-rooms b small,.client-reservation-page .bk-lineup .cfg-transport-option .cfg-stay-tab .cfg-stay-note{color:#b9cbd9;font-family:inherit;letter-spacing:0;text-transform:none}
.client-reservation-page .bk-lineup .cfg-stay-ok{background:rgba(127,211,164,.16);color:#7fd3a4}
.client-reservation-page .bk-lineup .cfg-stay-rooms li{border-bottom-color:rgba(255,255,255,.12);color:#dbe6ef}
.client-reservation-page .bk-lineup .cfg-stay-rooms b{color:#fff}
@media(max-width:760px){.client-reservation-page .bk-dtabs{overflow-x:auto;scrollbar-width:none}.client-reservation-page .bk-dtab{flex:1 0 auto;padding:0 10px}.client-reservation-page .cfg-stay-head{grid-template-columns:auto minmax(0,1fr)}.client-reservation-page .cfg-stay-ok{grid-column:2;justify-self:start}}
@media(max-width:420px){.client-reservation-page .bk-dtabs:has(.bk-dtab-tag) .bk-dtab{padding:0 6px;gap:6px;font-size:13.5px}.client-reservation-page .bk-dtabs:has(.bk-dtab-tag) .bk-dtab svg{display:none}}
/* Zona 6e · «Lugares por llenar» (slots1): con dos o más paquetes, casillas por paquete y debajo solo la ficha elegida (booking-slots.js). */
.client-reservation-page .bk-slots{display:grid;gap:16px;margin:4px 0 18px}
.client-reservation-page .bk-slot-c0{--slot:#c8323c;--slot-tint:#fbeaea}
.client-reservation-page .bk-slot-c1{--slot:#086da8;--slot-tint:#e6f1f8}
.client-reservation-page .bk-slot-c2{--slot:#2f7d55;--slot-tint:#e7f3ec}
.client-reservation-page .bk-slot-pkg h3{display:flex;align-items:center;gap:8px;margin:0 0 8px;color:#102c45;font:700 15px/1.3 Roboto,"Segoe UI",Arial,sans-serif}
.client-reservation-page .bk-slot-pkg h3 small{color:#53616c;font-size:13px;font-weight:400}
.client-reservation-page .bk-slot-dot{width:10px;height:10px;border-radius:50%;background:var(--slot);flex:none}
.client-reservation-page .bk-slot-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(150px,100%),1fr));gap:8px}
.client-reservation-page .bk-slot{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-height:68px;margin:0;padding:10px 12px;border:1.5px solid #dce5ec;border-radius:12px;background:#fff;color:#102c45;text-align:left;cursor:pointer;transition:border-color .15s ease-out,box-shadow .15s ease-out}
.client-reservation-page .bk-slot:hover{border-color:var(--slot)}
.client-reservation-page .bk-slot small{color:#53616c;font:500 10.5px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.06em;text-transform:uppercase}
.client-reservation-page .bk-slot b{max-width:100%;overflow:hidden;font-size:14px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}
.client-reservation-page .bk-slot.is-empty b{color:#b4232e}
.client-reservation-page .bk-slot span{color:#b4232e;font-size:12px}
.client-reservation-page .bk-slot.is-ok span{color:#2f7d55}
.client-reservation-page .bk-slot[aria-pressed=true]{border-color:var(--slot);box-shadow:0 0 0 3px var(--slot-tint)}
.client-reservation-page .bk-slot:focus-visible{outline:2px solid #086da8;outline-offset:2px}
.client-reservation-page #booking-passengers.is-slots>.reservation-traveler:not(.is-slot-sel){display:none}
.client-reservation-page #booking-passengers.is-slots>.reservation-traveler.is-slot-sel{padding:14px 16px;border:1.5px solid var(--slot,#0c2236);border-top-width:4px;border-radius:14px;background:#fff;box-shadow:0 0 0 4px var(--slot-tint,#eaf1f5)}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-slot{transition:none}}
/* Zona 12 · títulos de módulo como «Pestaña de boleto» (tab1): pestaña noche con ícono y Anton en mayúsculas, apoyada en una raya de 3 px. La raya la pinta el contenedor a la altura de la pestaña (44 px; 40 px en móvil). */
.client-reservation-page .bk-tabbed,.client-reservation-page .cfg-step.bk-ticket-ui,.client-reservation-page .cfg-step.bk-hotel-ui,.client-reservation-page .bk-dormir{--tab-h:44px;background-image:linear-gradient(#0c2236,#0c2236);background-repeat:no-repeat;background-origin:content-box;background-size:100% 3px;background-position:0 var(--tab-h)}
.client-reservation-page .bk-head.bk-tabbed{display:block;margin-bottom:18px}
.client-reservation-page .bk-tab,.client-reservation-page .cfg-step.bk-ticket-ui>h2,.client-reservation-page .cfg-step.bk-hotel-ui>h2,.client-reservation-page .bk-dormir>.bk-dormir-title{display:flex;align-items:center;gap:10px;width:fit-content;max-width:100%;height:var(--tab-h);margin:0 0 15px;padding:0 20px 0 14px;overflow:hidden;border-radius:12px 12px 0 0;background:#0c2236;color:#fff;font:400 20px/1 Anton,"Arial Narrow",sans-serif;letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis}
.client-reservation-page .bk-tab-ico{display:grid;place-items:center;flex:none}
.client-reservation-page .bk-tab-ico .bk-icon{width:20px;height:20px}
.client-reservation-page .bk-tab-txt{overflow:hidden;padding:4px 0;line-height:1.25;text-overflow:ellipsis}
.client-reservation-page .bk-head.bk-tabbed p{margin:0}
.client-reservation-page .cfg-step.bk-ticket-ui>h2::before,.client-reservation-page .cfg-step.bk-hotel-ui>h2::before,.client-reservation-page .bk-dormir>.bk-dormir-title::before{content:"";flex:none;width:20px;height:20px;background:currentColor;-webkit-mask:var(--tab-ico) center/contain no-repeat;mask:var(--tab-ico) center/contain no-repeat}
.client-reservation-page .cfg-step.bk-ticket-ui>h2{--tab-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 8a2 2 0 0 0 2-2h14a2 2 0 0 0 2 2v2a2 2 0 0 0 0 4v2a2 2 0 0 0-2 2H5a2 2 0 0 0-2-2v-2a2 2 0 0 0 0-4Z'/%3E%3Cpath d='M14 6v12' stroke-dasharray='2 2'/%3E%3C/svg%3E")}
.client-reservation-page .cfg-step.bk-hotel-ui>h2,.client-reservation-page .bk-dormir>.bk-dormir-title{--tab-ico:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 18V6M3 14h18v4M21 14v-2a3 3 0 0 0-3-3h-7v5'/%3E%3Ccircle cx='7' cy='11' r='2'/%3E%3C/svg%3E")}
.client-reservation-page .bk-dormir>.bk-dormir-title{margin-bottom:15px}
@media(max-width:560px){.client-reservation-page .bk-tabbed,.client-reservation-page .cfg-step.bk-ticket-ui,.client-reservation-page .cfg-step.bk-hotel-ui,.client-reservation-page .bk-dormir{--tab-h:40px}.client-reservation-page .bk-tab,.client-reservation-page .cfg-step.bk-ticket-ui>h2,.client-reservation-page .cfg-step.bk-hotel-ui>h2,.client-reservation-page .bk-dormir>.bk-dormir-title{font-size:17px;padding:0 14px 0 12px;gap:8px}}
/* Zona 7c · paquetes 2+ del grupo con «Chips directos» (pkgchips1, booking-pkg-chips.js): tarjeta blanca con filo del color del paquete (mismos colores que «Lugares por llenar»), título dentro de la tarjeta y tarjetitas para boleto y habitación. */
.client-reservation-page fieldset.bk-pkg.bk-pc-pkg{padding:16px 18px 18px;border:1px solid #dce5ec;border-top:4px solid var(--slot,#0c2236);border-radius:16px}
.client-reservation-page fieldset.bk-pc-pkg>.bk-pkg-title{float:left;width:100%;margin:0 0 6px;font-size:22px}
.client-reservation-page fieldset.bk-pc-pkg>:not(legend){clear:both}
.client-reservation-page .bk-pkg-stay.is-chips>:not(.bk-pc-wrap){display:none!important}
.client-reservation-page .bk-pc-wrap{display:grid;gap:12px;margin:0 0 14px}
.client-reservation-page .bk-pkg-stay.is-chips:last-child .bk-pc-wrap{margin-bottom:0}
.client-reservation-page .bk-pc-k{display:block;margin:0 0 6px;color:#53616c;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;letter-spacing:.08em;text-transform:uppercase}
.client-reservation-page .bk-pc-chips{display:flex;flex-wrap:wrap;gap:6px}
.client-reservation-page .bk-pc-chip{display:flex;flex-direction:column;align-items:flex-start;justify-content:center;min-width:96px;min-height:52px;margin:0;padding:6px 12px;border:1.5px solid #dce5ec;border-radius:12px;background:#fff;color:#102c45;text-align:left;cursor:pointer;transition:border-color .15s ease-out,background-color .15s ease-out}
.client-reservation-page .bk-pc-chip b{font-size:13.5px;font-weight:700;line-height:1.3}
.client-reservation-page .bk-pc-chip small{color:#53616c;font-size:12px;line-height:1.3;font-variant-numeric:tabular-nums}
.client-reservation-page .bk-pc-chip small:empty{display:none}
.client-reservation-page .bk-pc-chip:hover:not(:disabled){border-color:#0c2236}
.client-reservation-page .bk-pc-chip[data-act=same]{border-style:dashed}
.client-reservation-page .bk-pc-chip[aria-pressed=true]{border-color:#0c2236;border-style:solid;background:#0c2236;color:#fff}
.client-reservation-page .bk-pc-chip[aria-pressed=true] small{color:#b9cbd9}
.client-reservation-page .bk-pc-chip:disabled{cursor:not-allowed;opacity:.5}
.client-reservation-page .bk-pc-chip:focus-visible{outline:2px solid #086da8;outline-offset:2px}
.client-reservation-page .bk-pc-help{margin:0;color:#53616c;font-size:12.5px}
@media(max-width:560px){.client-reservation-page fieldset.bk-pkg.bk-pc-pkg{padding:14px}.client-reservation-page .bk-pc-chip{min-width:0;flex:1 1 calc(50% - 6px)}}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-pc-chip{transition:none}}
/* Paquete 1 en grupo: título con el color del paquete arriba de su boleto y hospedaje (booking-group.js p1Head). */
.client-reservation-page .bk-p1-head{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:4px 10px;margin:8px 0 18px;padding:14px 18px;border:1px solid #dce5ec;border-top:4px solid var(--slot);border-radius:16px;background:#fff}
.client-reservation-page .bk-p1-head[hidden]{display:none}
.client-reservation-page .bk-p1-head .bk-pkg-title{margin:0;font-size:22px}
.client-reservation-page .bk-p1-head p{grid-column:1/-1;margin:0;color:#53616c;font-size:14px;line-height:1.45}
.client-reservation-page .bk-pc-warn{margin:-4px 0 12px;padding:10px 12px;border-left:3px solid #c8323c;border-radius:8px;background:#fbeaea;color:#7a1c22;font-size:14px;line-height:1.45}
/* Plan con pago al abordar: el último renglón de fechas es el pago final ajustado. */
.client-reservation-page .bk-plan-dates .is-board{font-weight:700;color:#102c45}
/* Reportes 18–20 · paso 2 por persona (persona1, booking-persons.js): «¿Cuántas personas viajan?» arriba y, en cada ficha,
   paquete, boleto y habitación con el mismo diseño de campo que los datos. Los selectores del configurador siguen
   enviándose (ocultos); la lista de paquetes con descripciones ya se vio en «Ver viaje». */
.client-reservation-page .bk-by-person .bk-lineup,.client-reservation-page .bk-by-person .bk-ticket-ui,.client-reservation-page .bk-by-person .bk-hotel-ui,.client-reservation-page .bk-by-person .bk-p1-head,.client-reservation-page .bk-by-person [data-pkg-ticket],.client-reservation-page .bk-by-person [data-pkg-stay],.client-reservation-page .bk-by-person .bk-pkg-pick,.client-reservation-page .bk-by-person .bk-pkg>legend{display:none!important}
.client-reservation-page .bk-by-person .bk-pkg:not(:has(.individual-services:not([hidden]))){display:none!important}
.client-reservation-page .bk-by-person .bk-pkg{margin:0;padding:0;border:0;background:none;box-shadow:none}
.client-reservation-page .bk-by-person .bk-group{margin:0}
.client-reservation-page .bk-by-person .bk-group-sum{margin:10px 0 0}
.client-reservation-page .bk-pp-extra:empty{display:none}
.client-reservation-page .bk-pp-extra{display:grid;gap:16px;margin-top:16px}
.client-reservation-page .bk-pp-extra .individual-services>legend{color:#102c45;font:700 16px/1.3 Roboto,"Segoe UI",Arial,sans-serif}
.client-reservation-page .bk-pp-who{margin:2px 0 8px;color:#53616c;font-size:13px}
.client-reservation-page .bk-pp-who:empty{display:none}
.client-reservation-page .bk-pp{margin:0 0 18px;padding:0 0 18px;border-bottom:1px solid #e6ecf1}
.client-reservation-page .bk-pp .field[hidden]{display:none}
.client-reservation-page .bk-pp-wide{grid-column:1/-1}
.client-reservation-page .bk-pp label{display:flex;align-items:center;gap:8px}
.client-reservation-page .bk-pp label small{margin-left:auto}
.client-reservation-page .bk-pp-check{min-height:44px;padding:10px 14px;border:1px solid #dce5ec;border-radius:10px;background:#f7fafc;color:#102c45;font-weight:500;cursor:pointer}
.client-reservation-page .bk-pp-check input{width:18px;height:18px;margin:0;accent-color:#c8323c;flex:none}
.client-reservation-page .bk-pp-code{margin-top:10px}
.client-reservation-page .bk-pp-code[hidden]{display:none}
.client-reservation-page .bk-pp-code input{text-transform:uppercase}
.client-reservation-page .bk-pp-note{margin:0;padding:10px 14px;border-radius:10px;background:#eaf1f5;color:#102c45;font-size:13px;line-height:1.5}
.client-reservation-page .bk-pp-note[hidden]{display:none}
.client-reservation-page .bk-slots{--slot:#102c45;--slot-tint:#eaf1f5}
.client-reservation-page .bk-slots .bk-slot.is-empty b{color:#102c45}
.client-reservation-page .bk-slots .bk-slot small{order:0}
/* Reportes 24, 25 y 27 (persona2): servicios por separado dentro de la ficha, «¿Con quién comparte habitación?» en la
   ficha en lugar de «¿Cómo quieren dormir?», y en el resumen del grupo cada paquete plegable con sus personas. */
.client-reservation-page .bk-by-person #bk-dormir{display:none!important}
.client-reservation-page .bk-pp .individual-services{grid-column:1/-1;margin:4px 0 0;padding:14px 16px;border:1px solid #dce5ec;border-radius:12px;background:#f7fafc}
.client-reservation-page .bk-pp .individual-services>legend{float:left;width:100%;margin:0 0 2px;padding:0;color:#102c45;font:700 15px/1.3 Roboto,"Segoe UI",Arial,sans-serif}
.client-reservation-page .bk-pp .individual-services>legend+*{clear:both}
.client-reservation-page details.bk-sum-pkg>summary{list-style:none;cursor:pointer;margin:0;padding:2px 0 10px}
.client-reservation-page details.bk-sum-pkg>summary::-webkit-details-marker{display:none}
.client-reservation-page .bk-sum-pkg-who{color:#ffd34d;font:600 13.5px/1.35 Roboto,"Segoe UI",Arial,sans-serif;letter-spacing:0;text-transform:none}
.client-reservation-page .bk-sum-pkg-more{display:inline-flex;align-items:center;gap:6px;margin-top:4px;color:#b9cbd9;font:500 11px/1.4 "IBM Plex Mono",ui-monospace,monospace;font-style:normal;letter-spacing:.06em;text-transform:uppercase}
.client-reservation-page .bk-sum-pkg-more::after{content:"";width:7px;height:7px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:translateY(-2px) rotate(45deg);transition:transform .2s}
.client-reservation-page details.bk-sum-pkg[open] .bk-sum-pkg-more::after{transform:translateY(1px) rotate(225deg)}
.client-reservation-page details.bk-sum-pkg[open] .bk-sum-pkg-more{font-size:0}
.client-reservation-page details.bk-sum-pkg[open] .bk-sum-pkg-more::before{content:"Ocultar";font-size:11px}
.client-reservation-page details.bk-sum-pkg>summary:hover .bk-sum-pkg-more{color:#fff}
.client-reservation-page details.bk-sum-pkg>summary:focus-visible{outline:2px solid #ffd34d;outline-offset:3px;border-radius:4px}
.client-reservation-page .bk-ticket:has(.bk-sum-pkg) .reservation-line:has(#booking-count){display:none}
@media(prefers-reduced-motion:reduce){.client-reservation-page .bk-sum-pkg-more::after{transition:none}}

/* «Va en» (reporte 133): en qué va cada servicio incluido, bajo su nombre. Hereda el color de la lista (clara u oscura). */
.cfg-services-list .cfg-ride,.client-reservation-page .cfg-services-list li .cfg-ride{display:block;font-size:12.5px;font-style:normal;font-weight:600;line-height:1.35;color:inherit}

/* Reporte: el campo de notas se veia aplastado en el paso de confirmar. */
.client-reservation-page .bk-final .bk-optional .field textarea{display:block;width:100%;min-height:96px;box-sizing:border-box;padding:12px 14px;border:1px solid #c9d7e3;border-radius:10px;background:#fff;color:#102c45;font:inherit;line-height:1.5;resize:vertical}
.client-reservation-page .bk-final .bk-optional .field textarea::placeholder{color:#5c7387}
.client-reservation-page .bk-final .bk-optional .field{display:block;width:100%}
/* Aviso de reserva retomada: que se recupero, cuando y que pasa al empezar de nuevo. */
.client-reservation-page .bk-restored{align-items:flex-start}
.client-reservation-page .bk-restored-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.client-reservation-page .bk-restored-txt strong{font-size:15px}
.client-reservation-page .bk-restored-txt span{font-size:14px;line-height:1.4}
.client-reservation-page .bk-restored-txt small{font-size:12.5px;opacity:.75}
.client-reservation-page .bk-restored>a{white-space:nowrap}
