/* 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}
