/* V125: menú de reserva con el mismo diseño de la página de Médano (estilos copiados de /medano), solo dentro de .cbmk */
.cbmk button,.cbmk input,.cbmk select{font: inherit;}
.cbmk button{cursor: pointer;}
.cbmk .booking{position: relative; z-index: 2; margin: -100px auto 25px; background: white; border-radius: 12px; padding: 16px 17px 14px; box-shadow: rgba(18, 61, 91, 0.094) 0px 14px 40px; max-width: 1180px;}
.cbmk .tabs{display: grid; grid-template-columns: repeat(3, minmax(0px, 1fr)); gap: 3px; margin-bottom: 15px; width: 100%;}
.cbmk .tab{border: 0px; background: rgb(238, 244, 248); color: rgb(9, 46, 78); border-radius: 6px; padding: 13px 12px; text-align: left; font-weight: 800; font-size: 14px; min-height: 52px;}
.cbmk .tab small{display: block; font-size: 11px; font-weight: 500; margin-top: 3px; padding-left: 36px;}
.cbmk .tab.active{background: rgb(0, 76, 115); color: white;}
.cbmk .tab .ico{display: inline-flex; vertical-align: middle; margin-right: 10px;}
.cbmk .tab .ico svg{width: 23px; height: 23px;}
.cbmk .search svg{width: 20px; height: 20px; vertical-align: middle; margin-right: 8px;}
.cbmk .fields{display: grid; grid-template-columns: 1.06fr 1.27fr 0.94fr 0.74fr 0.85fr; gap: 14px; align-items: end;}
.cbmk .field{min-width: 0px;}
.cbmk .field label{display: block; font-size: 12px; font-weight: 750; margin-bottom: 7px; color: rgb(12, 45, 74);}
.cbmk .field input,.cbmk .field select{display: block; width: 100%; height: 43px; border: 1px solid rgb(215, 226, 237); border-radius: 5px; padding: 0px 11px; background: rgb(255, 255, 255); color: rgb(21, 52, 78); font-size: 12px; min-width: 0px;}
.cbmk .search{border: 0px; height: 43px; width: 100%; background: rgb(0, 141, 182); color: white; border-radius: 5px; font-size: 12px; font-weight: 800;}
.cbmk .features{border-top: 1px solid rgb(229, 235, 241); margin-top: 15px; padding-top: 14px; display: grid; grid-template-columns: repeat(4, minmax(0px, 1fr)); gap: 0px; font-size: 13px; color: rgb(12, 59, 98); align-items: center;}
.cbmk .feature-item{display: flex; align-items: center; justify-content: center; gap: 12px; padding: 0px 14px; min-height: 27px; white-space: nowrap;}
.cbmk .feature-item + .feature-item{border-left: 2px solid rgb(200, 211, 224);}
.cbmk .feature-item svg{width: 23px; height: 23px; flex: 0 0 23px; color: rgb(6, 61, 102);}
@media (max-width: 1000px){.cbmk .features{grid-template-columns: repeat(2, minmax(0px, 1fr)); row-gap: 14px;}}
@media (max-width: 1000px){.cbmk .feature-item:nth-child(3){border-left: 0px;}}
@media (max-width: 1000px){.cbmk .fields{grid-template-columns: repeat(2, minmax(0px, 1fr));}}
@media (max-width: 1000px){.cbmk .fields .field:last-child{grid-column: 1 / -1;}}
@media (max-width: 1000px){.cbmk .booking{margin-top: -110px;}}
@media (max-width: 650px){.cbmk .features{grid-template-columns: 1fr 1fr; font-size: 10px;}}
@media (max-width: 650px){.cbmk .feature-item{white-space: normal; justify-content: flex-start; padding: 0px 7px; gap: 6px;}}
@media (max-width: 650px){.cbmk .feature-item svg{width: 19px; height: 19px; flex-basis: 19px;}}
@media (max-width: 650px){.cbmk .booking{margin-top: -65px; padding: 12px;}}
@media (max-width: 650px){.cbmk .tabs{gap: 3px;}}
@media (max-width: 650px){.cbmk .tab{font-size: 11px; padding: 10px 5px;}}
@media (max-width: 650px){.cbmk .tab .ico{margin-right: 2px; font-size: 14px;}}
@media (max-width: 650px){.cbmk .tab small{font-size: 9px; padding-left: 0px;}}
@media (max-width: 650px){.cbmk .fields{grid-template-columns: 1fr;}}
@media (max-width: 650px){.cbmk .fields .field:last-child{grid-column: auto;}}
@media (max-width: 650px){.cbmk .features{justify-content: flex-start;}}
.cbmk #reservar .tabs{width: 70% !important; max-width: 810px !important; display: grid !important; grid-template-columns: repeat(3, minmax(0px, 1fr)) !important; gap: 3px !important; margin: 0px 0px 14px !important;}
.cbmk #reservar .tab{min-height: 50px !important; padding: 9px 12px !important; border-radius: 5px !important; white-space: normal !important; background: rgb(237, 243, 247) !important; color: rgb(8, 46, 76) !important;}
.cbmk #reservar .tab.active{background: rgb(0, 76, 115) !important; color: rgb(255, 255, 255) !important;}
.cbmk #reservar .tab .ico{width: 28px !important; height: 27px !important; display: inline-flex !important; align-items: center !important; justify-content: center !important; margin-right: 8px !important; vertical-align: middle !important;}
.cbmk #reservar .tab .ico svg{width: 27px !important; height: 27px !important; display: block !important;}
.cbmk #reservar .tab small{padding-left: 37px !important; margin-top: 1px !important;}
.cbmk #reservar .fields{width: 100% !important;}
@media (max-width: 750px){.cbmk #reservar .tabs{width: 100% !important; max-width: none !important;}}
@media (max-width: 750px){.cbmk #reservar .tab{padding: 9px 5px !important;}}
@media (max-width: 750px){.cbmk #reservar .tab .ico{margin-right: 2px !important; width: 20px !important;}}
@media (max-width: 750px){.cbmk #reservar .tab .ico svg{width: 20px !important; height: 20px !important;}}
@media (max-width: 750px){.cbmk #reservar .tab small{padding-left: 0px !important;}}
.cbmk #reservar.booking{background: transparent !important; box-shadow: none !important; padding: 0px !important; border-radius: 0px !important; overflow: visible !important;}
.cbmk #reservar .booking-top{width: 70%; max-width: 810px; background: rgb(255, 255, 255); border-radius: 14px 14px 0px 0px; padding: 15px 16px 0px; position: relative; z-index: 2;}
.cbmk #reservar .booking-top .tabs{width: 100% !important; max-width: none !important; margin: 0px !important; gap: 3px !important;}
.cbmk #reservar .booking-bottom{position: relative; z-index: 1; width: 100%; background: rgb(255, 255, 255); border-radius: 0px 14px 14px; padding: 15px 17px 14px; box-shadow: rgba(18, 61, 91, 0.094) 0px 14px 40px;}
.cbmk #reservar .booking-bottom .fields{width: 100% !important;}
@media (max-width: 750px){.cbmk #reservar .booking-top{width: 100%; max-width: none; padding: 10px 10px 0px;}}
@media (max-width: 750px){.cbmk #reservar .booking-top .tabs{width: 100% !important;}}
@media (max-width: 750px){.cbmk #reservar .booking-bottom{border-radius: 0px 0px 12px 12px; padding: 12px;}}
.cbmk #reservar .route-select{display: block; width: 100%; height: 54px; min-width: 0px; padding: 0px 30px 0px 12px; border: 1px solid rgb(220, 229, 235); border-radius: 7px; background: rgb(255, 255, 255); color: rgb(16, 54, 83); font-size: 14px; text-overflow: ellipsis; cursor: pointer;}
.cbmk #reservar .top-return[hidden]{display: none !important;}
.cbmk #reservar .route-select{position: absolute !important; width: 1px !important; height: 1px !important; padding: 0px !important; margin: 0px !important; opacity: 0 !important; pointer-events: none !important; clip-path: inset(50%) !important;}
.cbmk #reservar .route-search{display: block !important; width: 100% !important; height: 54px !important; min-width: 0px !important; margin: 0px !important; padding: 0px 34px 0px 12px !important; border: 1px solid rgb(220, 229, 235) !important; border-radius: 7px !important; background: rgb(255, 255, 255) !important; color: rgb(16, 54, 83) !important; font-size: 14px !important; box-sizing: border-box !important;}
.cbmk #reservar .route-combobox{position: relative; min-width: 0px;}
.cbmk #reservar .route-suggestions{position: absolute; left: 0px; right: 0px; top: calc(100% + 3px); z-index: 40; max-height: 240px; overflow-y: auto; background: rgb(255, 255, 255); border: 1px solid rgb(220, 229, 235); border-radius: 7px; box-shadow: rgba(16, 45, 74, 0.145) 0px 10px 24px;}
.cbmk #reservar .route-suggestions[hidden]{display: none !important;}
.cbmk #reservar .route-suggestions button{display: block; width: 100%; border: 0px; border-radius: 0px; background: rgb(255, 255, 255); color: rgb(16, 54, 83); text-align: left; padding: 11px 12px; font-size: 13px; box-shadow: none;}
.cbmk #reservar .route-suggestions button:hover,.cbmk #reservar .route-suggestions button:focus,.cbmk #reservar .route-suggestions button.hi{background: rgb(234, 244, 255); color: rgb(16, 54, 83);}
.cbmk #reservar input[type="date"]{box-sizing: border-box !important; display: block !important; min-width: 0px !important; max-width: 100% !important; width: 100% !important; height: 43px !important; min-height: 43px !important; line-height: normal !important; padding-block: 0px !important; vertical-align: middle !important; overflow: hidden !important;}
.cbmk #reservar .fields,.cbmk #reservar .field{min-width: 0px !important; max-width: 100% !important; box-sizing: border-box !important;}
.cbmk #reservar #first .fields{--ctl-h: 52px; grid-template-columns: minmax(0px, 1.15fr) minmax(0px, 1.55fr) minmax(0px, 0.95fr) minmax(0px, 0.8fr) 170px; display: grid !important; width: 100% !important; min-width: 0px !important; max-width: 100% !important; gap: 14px 12px !important; align-items: start !important;}
.cbmk #reservar #first .fields:has(.top-return:not([hidden])){grid-template-columns: minmax(0px, 1.1fr) minmax(0px, 1.45fr) minmax(0px, 0.9fr) minmax(0px, 0.9fr) minmax(0px, 0.75fr) 170px;}
.cbmk #reservar #first .fields > .field{display: flex !important; flex-direction: column !important; justify-content: flex-start !important; gap: 6px !important; min-width: 0px !important; max-width: 100% !important; margin: 0px !important; padding: 0px !important;}
.cbmk #reservar #first .fields > .field[hidden]{display: none !important;}
.cbmk #reservar #first .fields > .field > label{display: block !important; margin: 0px !important; min-height: 16px !important; line-height: 16px !important; font-size: 12px !important; font-weight: 700 !important; color: rgb(12, 45, 74) !important; white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important;}
.cbmk #reservar #first .fields .route-combobox{position: relative !important; display: block !important; width: 100% !important; min-width: 0px !important; margin: 0px !important;}
.cbmk #reservar #first .fields input.route-search,.cbmk #reservar #first .fields input[type="date"],.cbmk #reservar #first .fields select:not(.route-select),.cbmk #reservar #first .fields button.search{box-sizing: border-box !important; display: block !important; width: 100% !important; min-width: 0px !important; max-width: 100% !important; height: var(--ctl-h) !important; min-height: var(--ctl-h) !important; max-height: var(--ctl-h) !important; margin: 0px !important; padding: 0px 14px !important; border: 1px solid rgb(215, 226, 237) !important; border-radius: 8px !important; background-color: rgb(255, 255, 255) !important; color: rgb(16, 54, 83) !important; font-family: Inter, Arial, Helvetica, sans-serif !important; font-size: 15px !important; font-weight: 500 !important; line-height: normal !important; text-align: left !important; appearance: none !important; box-shadow: none !important;}
.cbmk #reservar #first .fields input.route-search::-webkit-search-cancel-button,.cbmk #reservar #first .fields input.route-search::-webkit-search-decoration{appearance: none; display: none;}
.cbmk #reservar #first .fields input.route-search::placeholder{color: rgb(109, 130, 150); opacity: 1;}
.cbmk #reservar #first .fields input.route-search,.cbmk #reservar #first .fields select:not(.route-select){padding-right: 40px !important; text-overflow: ellipsis !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%23103653' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 9 7 7 7-7'/%3E%3C/svg%3E") !important; background-repeat: no-repeat !important; background-position: right 14px center !important; background-size: 14px 14px !important;}
.cbmk #reservar #first .fields input[type="date"]{display: flex !important; align-items: center !important; padding: 0px 12px !important; background-image: none !important;}
.cbmk #reservar #first .fields input[type="date"]::-webkit-date-and-time-value{text-align: left !important; min-height: 0px !important; margin: 0px !important; padding: 0px !important;}
.cbmk #reservar #first .fields input[type="date"]::-webkit-datetime-edit{display: block !important; padding: 0px !important; height: auto !important; line-height: normal !important;}
.cbmk #reservar #first .fields input[type="date"]::-webkit-calendar-picker-indicator{cursor: pointer; margin: 0px 0px 0px auto !important; width: 16px !important; height: 16px !important; padding: 0px !important; opacity: 0.65 !important;}
.cbmk #reservar #first .fields input.route-search:focus,.cbmk #reservar #first .fields input[type="date"]:focus,.cbmk #reservar #first .fields select:focus{outline: none !important; border-color: rgb(0, 141, 182) !important; box-shadow: rgba(0, 141, 182, 0.15) 0px 0px 0px 3px !important;}
.cbmk #reservar #first .fields button.search{display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important; background-color: rgb(0, 141, 182) !important; border-color: rgb(0, 141, 182) !important; color: rgb(255, 255, 255) !important; font-weight: 800 !important; cursor: pointer !important; white-space: nowrap !important;}
.cbmk #reservar #first .fields button.search svg{width: 20px !important; height: 20px !important; margin: 0px !important; flex: 0 0 auto !important;}
@media (max-width: 1000px){.cbmk #reservar #first .fields,.cbmk #reservar #first .fields:has(.top-return:not([hidden])){grid-template-columns: repeat(2, minmax(0px, 1fr));}}
@media (max-width: 1000px){.cbmk #reservar #first .fields > .field:has(> #next){grid-column: 1 / -1;}}
@media (max-width: 600px){.cbmk #reservar #first .fields,.cbmk #reservar #first .fields:has(.top-return:not([hidden])){grid-template-columns: minmax(0px, 1fr); gap: 12px;}}
@media (max-width: 600px){.cbmk #reservar #first .fields input.route-search,.cbmk #reservar #first .fields input[type="date"],.cbmk #reservar #first .fields select:not(.route-select),.cbmk #reservar #first .fields button.search{font-size: 16px !important;}}
@media (max-width: 600px){.cbmk .booking{margin-top: -64px !important; border-radius: 18px !important;}}
@media (max-width: 600px){.cbmk #reservar .booking-bottom{padding: 14px 12px 12px !important; border-radius: 0px 0px 18px 18px !important;}}
@media (max-width: 600px){.cbmk #reservar .booking-top .tabs{background: rgb(232, 240, 245) !important; padding: 3px !important; gap: 2px !important; border-radius: 13px !important;}}
@media (max-width: 600px){.cbmk #reservar .booking-top .tabs .tab{border-radius: 10px !important; min-height: 54px !important;}}
@media (max-width: 600px){.cbmk #reservar .booking-top .tabs .tab.active{box-shadow: rgba(0, 76, 115, 0.25) 0px 3px 10px !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields{--ctl-h: 54px; grid-template-columns: repeat(2, minmax(0px, 1fr)) !important; gap: 0px 10px !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field{margin: 0px 0px 12px !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#origin){grid-column: 1 / -1; margin: 0px !important; position: relative !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#destination){grid-column: 1 / -1; margin: -1px 0px 12px !important; position: relative !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(button.search){grid-column: 1 / -1; margin: 2px 0px 0px !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(button.search) > label{display: none !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#origin) > label,.cbmk #reservar #first .fields > .field:has(#destination) > label{left: 44px; top: 9px; z-index: 3; letter-spacing: 0.6px; text-transform: uppercase; pointer-events: none; position: absolute !important; min-height: 0px !important; height: 12px !important; line-height: 12px !important; font-size: 10.5px !important; color: rgb(107, 132, 153) !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#origin) input.route-search,.cbmk #reservar #first .fields > .field:has(#destination) input.route-search{height: 58px !important; min-height: 58px !important; max-height: 58px !important; padding: 17px 40px 0px 44px !important; font-size: 16px !important; font-weight: 600 !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#origin) input.route-search{border-radius: 14px 14px 0px 0px !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#destination) input.route-search{border-radius: 0px 0px 14px 14px !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#origin)::before,.cbmk #reservar #first .fields > .field:has(#destination)::before{content: ""; position: absolute; left: 17px; top: 25px; width: 10px; height: 10px; border-radius: 50%; z-index: 3; box-sizing: border-box;}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#origin)::before{border: 2.5px solid rgb(0, 141, 182); background: rgb(255, 255, 255);}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#destination)::before{background: rgb(0, 141, 182);}}
@media (max-width: 600px){.cbmk #reservar #first .fields > .field:has(#origin)::after{content: ""; position: absolute; left: 21px; top: 38px; height: 40px; width: 2px; background: rgb(188, 217, 230); z-index: 2;}}
@media (max-width: 600px){.cbmk #reservar #first .fields input[type="date"],.cbmk #reservar #first .fields select:not(.route-select){border-radius: 12px !important; font-weight: 600 !important;}}
@media (max-width: 600px){.cbmk #reservar #first .fields button.search{height: 56px !important; min-height: 56px !important; max-height: 56px !important; border-radius: 14px !important; font-size: 16px !important; box-shadow: rgba(0, 141, 182, 0.25) 0px 8px 18px !important;}}
@media (max-width: 600px){.cbmk #reservar .features{margin-top: 16px !important; padding-top: 14px !important; grid-template-columns: 1fr 1fr !important; gap: 12px 8px !important; font-size: 12.5px !important;}}
@media (max-width: 600px){.cbmk #reservar .feature-item{border-left: 0px !important; white-space: normal !important; justify-content: flex-start !important; padding: 0px !important; gap: 9px !important; line-height: 1.25 !important;}}
@media (max-width: 600px){.cbmk #reservar .feature-item svg{width: 22px !important; height: 22px !important; flex-basis: 22px !important; color: rgb(8, 127, 163) !important;}}
