/* Caja de reservas del inicio (paso 1): autocompletado, intercambio, fechas con dos calendarios */
.cpm-pills{display:flex;gap:10px;flex-wrap:wrap;margin:0 0 14px}
.cpm-pill{appearance:none;-webkit-appearance:none;border:1px solid #d7dce6;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23062d64' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center;border-radius:999px;padding:9px 34px 9px 16px;font:700 14px Lato,Arial,sans-serif;color:#062d64;cursor:pointer}
.booking-wrap .booking-content{padding:16px 22px 18px}
.booking-grid.cpm-grid{grid-template-columns:132px minmax(0,1.25fr) 42px minmax(0,1.25fr) minmax(0,1fr) 150px auto;gap:10px;align-items:center}
.cpm-grid .cpm-pill{width:100%;height:50px;border-radius:7px;padding-left:14px}
.cpm-grid .cpm-px{text-align:left;cursor:pointer;font:700 14px Lato,Arial,sans-serif;color:#263f63;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 28px 0 14px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23062d64' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 12px center}
.cpm-pax{position:absolute;right:0;top:100%;z-index:80;width:290px;margin-top:6px;background:#fff;border:1px solid #e6e4df;border-radius:14px;box-shadow:0 18px 50px rgba(6,45,100,.25);padding:6px 16px}
.cpm-pax .fila{display:flex;align-items:center;justify-content:space-between;padding:12px 0;border-bottom:1px solid #f0ece3}.cpm-pax .fila:last-child{border:0}.cpm-pax b{display:block;color:#062d64}.cpm-pax small{color:#667080}
.cpm-pax .st{display:flex;align-items:center;gap:12px}.cpm-pax .st button{width:32px;height:32px;border-radius:50%;border:2px solid #062d64;background:#fff;color:#062d64;font-size:20px;font-weight:900;line-height:1;cursor:pointer}.cpm-pax .st button:disabled{opacity:.3;cursor:default}.cpm-pax output{min-width:20px;text-align:center;font-weight:900;color:#062d64}
.cpm-pax[hidden]{display:none!important}
.cpm-grid .pos{position:relative}.cpm-grid .search-btn{margin-top:0}
.cpm-swap{height:42px;border:1px solid #e6e4df;border-radius:50%;width:42px;background:#fff;color:#df0060;font-size:20px;font-weight:900;cursor:pointer;box-shadow:0 2px 5px #172b4610;align-self:end}.cpm-swap:hover{background:#fff1f6}
.cpm-grid .sg{position:absolute;left:0;right:0;top:100%;z-index:60;background:#fff;border:1px solid #e6e4df;border-radius:10px;box-shadow:0 14px 36px rgba(6,45,100,.2);max-height:280px;overflow:auto;margin-top:4px;min-width:260px}
.cpm-grid .sg div{padding:11px 14px;cursor:pointer;color:#263f63;font-size:15px}.cpm-grid .sg div:hover{background:#fff4f8}.cpm-grid .sg small{color:#667080}
.cpm-grid input[readonly]{cursor:pointer}
.cpm-cal{position:absolute;z-index:70;top:100%;right:0;margin-top:6px;background:#fff;border:1px solid #e6e4df;border-radius:14px;box-shadow:0 18px 50px rgba(6,45,100,.25);padding:14px 16px;display:flex;gap:22px;max-width:calc(100vw - 24px)}
.cpm-cal .mes{width:238px}.cpm-cal .cab{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px;font:900 15px Lato,Arial,sans-serif;color:#062d64;text-transform:capitalize}
.cpm-cal .cab button{border:0;background:none;font-size:22px;line-height:1;color:#062d64;cursor:pointer;padding:2px 8px;visibility:visible}.cpm-cal .cab button:disabled{opacity:.25;cursor:default}.cpm-cal .cab .ph{width:30px}
.cpm-cal .sem,.cpm-cal .dias{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.cpm-cal .sem span{font:700 12px Lato,Arial,sans-serif;color:#fff;background:#062d64;padding:6px 0}
.cpm-cal .dias button{border:0;background:none;height:34px;font:600 14px Lato,Arial,sans-serif;color:#263f63;cursor:pointer}.cpm-cal .dias button:hover:not(:disabled){background:#fff1f6}.cpm-cal .dias button:disabled{color:#c4c9d2;cursor:default}
.cpm-cal .dias .rng{background:#ffe1ee}.cpm-cal .dias .ext{background:#df0060;color:#fff;border-radius:6px}.cpm-cal .dias .hoy{box-shadow:inset 0 0 0 1px #062d64}
.cpm-msg{color:#df0060;font-weight:700;margin-top:12px;min-height:20px}.cpm-msg a{display:inline-block;margin-top:8px}
@media(max-width:1180px){.booking-grid.cpm-grid{grid-template-columns:1fr 1fr}.cpm-swap{display:none}.booking-grid.cpm-grid .search-btn{grid-column:1/-1}.cpm-pax{right:auto;left:0}}
@media(max-width:700px){.booking-grid.cpm-grid{grid-template-columns:1fr}.cpm-cal{flex-direction:column;gap:6px;left:0;right:auto;padding:12px}.cpm-cal .mes{width:min(300px,calc(100vw - 56px))}.cpm-cal .mes+.mes{display:none}}

.cpm-cal[hidden],.cpm-grid .sg[hidden]{display:none!important}

.cpm-msg:empty{display:none}.cpm-msg{margin-top:10px;min-height:0}.booking-wrap .booking-content{padding:16px 22px 16px}

/* 1.0.1: flecha fija (solo un sentido), textos de ayuda en gris y avisos dentro de las sugerencias */
.cpm-flecha{display:inline-flex;align-items:center;justify-content:center}
.cpm-grid .form-control::placeholder{color:#8a8f98;opacity:1}
.cpm-grid .sg div.nota{cursor:default;color:#667080;font-size:14px}.cpm-grid .sg div.nota:hover{background:#fff}
.cpm-leyenda{margin:10px 22px 0;color:#263f63;font-size:15px}.cpm-leyenda b{color:#0b7f8c}

/* Caja dentro de la página de cada traslado: va debajo del título, sin encimarse */
.booking-wrap.booking-ficha{margin:0 0 8px;padding:0;position:relative;z-index:5}.booking-ficha .booking{margin-top:0}.booking-ficha .booking-content{padding-top:20px}

/* ===== 1.1.0 · Doble flecha para cambiar el sentido en todas las pantallas y fechas completas ===== */
.booking-grid.cpm-grid{grid-template-columns:132px minmax(0,1.25fr) 42px minmax(0,1.25fr) minmax(150px,1fr) 140px auto}
.cpm-swap{display:inline-flex;align-items:center;justify-content:center;align-self:center;font-size:21px;line-height:1}
.cpm-grid #bx-f{text-overflow:clip}
@media(max-width:1180px){
 .booking-grid.cpm-grid{grid-template-columns:minmax(0,1fr) 42px minmax(0,1fr);grid-template-areas:"rt rt px" "o sw d" "f f f" "b b b"}
 .cpm-grid>:nth-child(1){grid-area:rt}.cpm-grid>:nth-child(2){grid-area:o}.cpm-grid>:nth-child(3){grid-area:sw;display:inline-flex}.cpm-grid>:nth-child(4){grid-area:d}.cpm-grid>:nth-child(5){grid-area:f}.cpm-grid>:nth-child(6){grid-area:px}.booking-grid.cpm-grid .search-btn{grid-area:b}
}
@media(max-width:700px){
 .booking-grid.cpm-grid{grid-template-columns:minmax(0,1fr);grid-template-areas:"rt" "o" "sw" "d" "f" "px" "b";row-gap:8px}
 .cpm-grid>:nth-child(3){justify-self:center;transform:rotate(90deg);width:38px;height:38px;margin:-2px 0}
}

/* Pestañas Tours, Comida y Experiencias: lista + Buscar */
.booking-content[hidden]{display:none!important}
.cpm-ir{display:grid;grid-template-columns:minmax(0,1fr) 190px;gap:12px;align-items:center}
.cpm-sel{display:flex;align-items:center;gap:12px;height:58px;border:1px solid #d7dce6;border-radius:10px;background:#fff;padding:0 14px;cursor:pointer}
.cpm-sel:focus-within{border-color:#062d64;box-shadow:0 0 0 3px #062d6420}
.cpm-sel svg{width:22px;height:22px;color:#062d64;flex:none}.cpm-sel span{display:flex;flex-direction:column;flex:1;min-width:0}
.cpm-sel small{font:900 13px Lato,Arial,sans-serif;color:#062d64}
.cpm-sel select{border:0;background:transparent;font:500 16px Lato,Arial,sans-serif;color:#263f63;padding:2px 0;width:100%;cursor:pointer;outline:0}
.cpm-ir .search-btn{height:52px;margin:0}
@media(max-width:700px){.cpm-ir{grid-template-columns:1fr}}

/* ===== 1.1.7 · Caja con más vida: colores del logo (turquesa, rosa, amarillo, naranja y azul) ===== */
.booking-wrap .booking{position:relative;box-shadow:0 16px 40px rgba(6,45,100,.16),0 2px 0 #fff inset}
.booking-wrap .booking:after{content:'';position:absolute;left:24px;right:24px;bottom:-5px;height:5px;border-radius:0 0 6px 6px;background:linear-gradient(90deg,#04a0b0 0 22%,#e0005f 22% 44%,#fdb10e 44% 66%,#ff8500 66% 84%,#062d64 84%)}
/* Pestañas: cada una con su color */
.booking-tab[data-tab]{border-radius:14px 14px 0 0;transition:background .15s,color .15s}
.booking-tab[data-tab="traslados"] svg{color:#04a0b0}.booking-tab[data-tab="tours"] svg{color:#e8a000}
.booking-tab[data-tab="comida"] svg{color:#e0005f}.booking-tab[data-tab="exp"] svg{color:#ff8500}
.booking-tab[data-tab]:hover:not(.active){background:#fff3e2}
.booking-tab[data-tab].active svg{color:#fff}
.booking-tab[data-tab="traslados"].active{background:#04a0b0}.booking-tab[data-tab="tours"].active{background:#f2a900;color:#062d64}.booking-tab[data-tab="tours"].active svg{color:#062d64}
.booking-tab[data-tab="comida"].active{background:#e0005f}.booking-tab[data-tab="exp"].active{background:#ff8500}
/* Campos con su ícono de color */
.cpm-grid #bx-o,.cpm-grid #bx-d,.cpm-grid #bx-f,.cpm-grid .cpm-px{padding-left:42px!important;background-repeat:no-repeat;background-size:20px 20px;border-color:#e3dccd}
.cpm-grid .form-control:focus,.cpm-grid .cpm-pill:focus{border-color:#04a0b0;box-shadow:0 0 0 3px #04a0b026;outline:0}
.cpm-grid #bx-o{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304a0b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E");background-position:13px center}
.cpm-grid #bx-d{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0005f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");background-position:13px center}
.cpm-grid #bx-f{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e8a000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 3v4M8 3v4M3 10h18'/%3E%3C/svg%3E");background-position:13px center}
.cpm-grid .cpm-px{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ff8500' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='9' cy='8' r='3.5'/%3E%3Cpath d='M2.5 20a6.5 6.5 0 0 1 13 0'/%3E%3Ccircle cx='17' cy='9' r='2.5'/%3E%3Cpath d='M16 14a5 5 0 0 1 6 5'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23062d64' stroke-width='2'/%3E%3C/svg%3E");background-position:13px center,right 12px center;background-size:20px 20px,12px 8px}
.cpm-grid .cpm-pill{border-color:#e3dccd;background-color:#fff7ec}
/* Doble flecha y Buscar */
.cpm-grid .cpm-swap{background:#e0005f;color:#fff;border-color:#e0005f;box-shadow:0 4px 10px rgba(224,0,95,.3)}.cpm-grid .cpm-swap:hover{background:#c00052}
.cpm-grid .search-btn,.cpm-ir .search-btn{background:linear-gradient(135deg,#e0005f,#ff5a3c);box-shadow:0 6px 16px rgba(224,0,95,.32);border:0}
.cpm-grid .search-btn:hover,.cpm-ir .search-btn:hover{filter:brightness(1.05);transform:translateY(-1px)}
.cpm-sel{border-color:#e3dccd}.cpm-sel svg{color:#e0005f}
@media(min-width:1181px){.booking-grid.cpm-grid{grid-template-columns:126px minmax(0,1.45fr) 42px minmax(0,1.2fr) minmax(140px,.95fr) 136px auto}.cpm-grid #bx-o,.cpm-grid #bx-d,.cpm-grid #bx-f,.cpm-grid .cpm-px{padding-left:38px!important;background-position-x:11px}}
@media(min-width:1181px){.cpm-grid .cpm-px{background-position:11px center,right 12px center}}

/* 1.1.13 · El ícono sigue al sentido: avión en el lado del aeropuerto, pin en el del hotel */
.cpm-grid input[data-lado="aero"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2304a0b0' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17.8 19.2 16 11l3.5-3.5C21 6 21.5 4 21 3c-1-.5-3 0-4.5 1.5L13 8 4.8 6.2c-.5-.1-.9.1-1.1.5l-.3.5c-.2.5-.1 1 .3 1.3L9 12l-2 3H4l-1 1 3 2 2 3 1-1v-3l3-2 3.5 5.3c.3.4.8.5 1.3.3l.5-.2c.4-.3.6-.7.5-1.2z'/%3E%3C/svg%3E")!important}
.cpm-grid input[data-lado="hotel"]{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23e0005f' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22s7-6.2 7-12a7 7 0 0 0-14 0c0 5.8 7 12 7 12Z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E")!important}
