
.ks27-hotels__smart-field,.ks27-hotels__date-field{position:relative}
.ks27-hotels__smart-trigger,.ks27-hotels__date-trigger{width:100%;padding:0;display:flex;align-items:center;justify-content:space-between;gap:8px;border:0;outline:0;background:transparent;color:#0d2b47;font:inherit;cursor:pointer;text-align:left}
.ks27-hotels__smart-trigger strong,.ks27-hotels__date-trigger strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#0d2b47;font-size:12px;font-weight:900}
.ks27-hotels__smart-trigger svg{width:16px;height:16px;fill:none;stroke:#49647d;stroke-width:2.2}
.ks27-hotels__smart-popover{position:absolute;z-index:1500;left:0;top:calc(100% + 10px);width:min(370px,calc(100vw - 28px));padding:12px;border:1px solid rgba(22,199,222,.38);border-radius:18px;background:#073044;color:#fff;box-shadow:0 26px 65px rgba(3,18,32,.34)}
.ks27-hotels__smart-popover[hidden]{display:none!important}
.ks27-hotels__smart-search{height:46px;display:flex;align-items:center;gap:10px;padding:0 13px;border:1px solid rgba(77,220,235,.32);border-radius:13px;background:#0a3a50}
.ks27-hotels__smart-search svg{width:17px;height:17px;fill:none;stroke:#22d3ee;stroke-width:2}
.ks27-hotels__smart-search input{width:100%;border:0!important;outline:0!important;background:transparent!important;color:#fff!important;font:inherit!important;font-size:12px!important;font-weight:750!important}
.ks27-hotels__smart-search input::placeholder{color:#8fb4c3}
.ks27-hotels__smart-title{margin:12px 6px 7px;color:#26d5e9;font-size:9px;font-weight:950;letter-spacing:.13em}
.ks27-hotels__smart-options{max-height:310px;overflow:auto;display:grid;gap:6px;padding-right:3px}
.ks27-hotels__smart-options button{min-height:54px;padding:9px 11px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;border:1px solid rgba(148,202,219,.18);border-radius:12px;background:#0b4055;color:#fff;cursor:pointer;text-align:left}
.ks27-hotels__smart-options button:hover,.ks27-hotels__smart-options button.is-selected{border-color:#22d3ee;background:#0d5368}
.ks27-hotels__smart-options button span{font-size:12px;font-weight:900}.ks27-hotels__smart-options button small{color:#9bc1cd;font-size:9px}
.ks27-hotel-calendar{position:fixed;z-index:2147483000;width:min(410px,calc(100vw - 24px));padding:15px;border:1px solid rgba(26,205,226,.36);border-radius:20px;background:linear-gradient(180deg,#073247,#06283a);color:#fff;box-shadow:0 30px 80px rgba(0,0,0,.46)}
.ks27-hotel-calendar[hidden]{display:none!important}
.ks27-hotel-calendar__head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;gap:8px;margin-bottom:12px}.ks27-hotel-calendar__head strong{text-align:center;font-size:15px;font-weight:950}
.ks27-hotel-calendar__nav{width:40px;height:40px;border:1px solid rgba(159,205,219,.22);border-radius:11px;background:#0b4055;color:#fff;font-size:21px;cursor:pointer}
.ks27-hotel-calendar__week,.ks27-hotel-calendar__grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}.ks27-hotel-calendar__week span{padding:4px 0;text-align:center;color:#8eb2c1;font-size:9px;font-weight:950}
.ks27-hotel-calendar__day{position:relative;aspect-ratio:1;display:grid;place-items:center;border:1px solid rgba(150,205,220,.16);border-radius:10px;background:#0c3a50;color:#fff;font-size:11px;font-weight:900;cursor:pointer}
.ks27-hotel-calendar__day::after{content:"";position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:#34d399}
.ks27-hotel-calendar__day.is-out{opacity:.25}.ks27-hotel-calendar__day.is-past{opacity:.35;cursor:not-allowed}.ks27-hotel-calendar__day.is-empty{border-color:rgba(52,211,153,.35)}
.ks27-hotel-calendar__day.is-near{border-color:#f59e0b;background:#654315}.ks27-hotel-calendar__day.is-near::after{background:#f59e0b}
.ks27-hotel-calendar__day.is-full{border-color:#f43f5e;background:#631d2e}.ks27-hotel-calendar__day.is-full::after{background:#f43f5e}
.ks27-hotel-calendar__day.is-closed{border-color:#64748b;background:#344458;color:#cbd5e1}.ks27-hotel-calendar__day.is-closed::after{background:#94a3b8}
.ks27-hotel-calendar__day.is-selected{background:#13bdd4!important;color:#032b34!important;border-color:#67e8f9!important;box-shadow:0 0 0 3px rgba(34,211,238,.17)}.ks27-hotel-calendar__day.is-range{box-shadow:inset 0 0 0 999px rgba(34,211,238,.10)}
.ks27-hotel-calendar__legend{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:13px;padding-top:11px;border-top:1px solid rgba(148,205,220,.14)}.ks27-hotel-calendar__legend span{display:inline-flex;align-items:center;gap:5px;color:#a9c6d1;font-size:9px;font-weight:850}.ks27-hotel-calendar__legend i{width:8px;height:8px;border-radius:50%}.ks27-hotel-calendar__legend .e{background:#34d399}.ks27-hotel-calendar__legend .n{background:#f59e0b}.ks27-hotel-calendar__legend .f{background:#f43f5e}.ks27-hotel-calendar__legend .c{background:#94a3b8}
.ks27-hotel-calendar__footer{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:11px}.ks27-hotel-calendar__footer button{min-height:36px;padding:0 12px;border:1px solid rgba(148,205,220,.18);border-radius:10px;background:#0b4055;color:#fff;font-weight:900;cursor:pointer}.ks27-hotel-calendar__note{color:#769dac;font-size:8px;margin-top:8px}
.ks27-hotels__guest-popover{border:1px solid rgba(26,205,226,.34)!important;border-radius:18px!important;background:#073044!important;color:#fff!important;box-shadow:0 26px 65px rgba(3,18,32,.34)!important}.ks27-hotels__guest-popover strong{color:#fff!important}.ks27-hotels__guest-popover small{color:#9bbdca!important}.ks27-hotels__counter button{border-color:rgba(130,192,211,.24)!important;background:#0b4055!important;color:#fff!important}.ks27-hotels__guest-done{background:#13bdd4!important;color:#032b34!important;border-radius:11px!important}
@media(max-width:760px){.ks27-hotels__smart-popover{position:fixed;left:10px!important;right:10px!important;top:auto!important;bottom:12px!important;width:auto!important;max-height:70vh}.ks27-hotel-calendar{left:8px!important;right:8px!important;bottom:10px!important;top:auto!important;width:auto!important;max-height:78vh;overflow:auto}}


/* =========================================================
   SEARCH RESPONSIVE / CALENDAR NAV FIX
   ========================================================= */
.ks27-hotels__search-error{
    grid-column:1 / -1;
    padding:9px 12px;
    border:1px solid rgba(244,63,94,.25);
    border-radius:10px;
    background:rgba(244,63,94,.08);
    color:#be123c;
    font-size:11px;
    font-weight:850;
}
.ks27-hotels__search-submit:disabled{
    opacity:.72;
    cursor:wait;
}
.ks27-hotel-calendar__nav{
    display:grid!important;
    place-items:center!important;
    line-height:1!important;
    user-select:none!important;
}
.ks27-hotel-calendar__nav:hover{
    border-color:#22d3ee!important;
    background:#0d5368!important;
}
.ks27-hotels__search-wrap{
    position:relative;
    z-index:30;
}
.ks27-hotels__search-heading{
    position:relative;
    z-index:2;
}

@media(max-width:1180px){
    .ks27-hotels__search--final{
        grid-template-columns:repeat(2,minmax(0,1fr))!important;
    }
    .ks27-hotels__search--final .ks27-hotels__search-submit{
        grid-column:1 / -1!important;
    }
}

@media(max-width:760px){
    .ks27-hotels__hero{
        min-height:auto!important;
        height:auto!important;
        padding-top:0!important;
        padding-bottom:0!important;
    }
    .ks27-hotels__hero-inner{
        min-height:0!important;
        height:auto!important;
        padding:54px 16px 46px!important;
    }
    .ks27-hotels__hero-copy{
        width:100%!important;
        max-width:none!important;
    }
    .ks27-hotels__hero h1{
        font-size:clamp(32px,10vw,48px)!important;
        line-height:.98!important;
        max-width:100%!important;
    }
    .ks27-hotels__hero p{
        max-width:100%!important;
        font-size:13px!important;
        line-height:1.5!important;
    }
    .ks27-hotels__hero-actions{
        display:grid!important;
        grid-template-columns:1fr!important;
        gap:10px!important;
        width:100%!important;
    }
    .ks27-hotels__hero-actions a{
        width:100%!important;
        justify-content:center!important;
        min-height:52px!important;
    }

    .ks27-hotels__search-wrap{
        margin-top:0!important;
        padding:0 0 18px!important;
    }
    .ks27-hotels__search-heading{
        margin:0!important;
        padding:14px 16px 8px!important;
        background:#f5f9fc!important;
    }
    .ks27-hotels__search-heading div{
        width:100%!important;
    }
    .ks27-hotels__search-heading strong{
        font-size:21px!important;
        line-height:1.1!important;
    }
    .ks27-hotels__search-heading small{
        font-size:10px!important;
    }

    .ks27-hotels__search--final{
        width:calc(100% - 24px)!important;
        margin:0 12px!important;
        grid-template-columns:1fr!important;
        padding:12px!important;
        gap:9px!important;
        border-radius:18px!important;
    }
    .ks27-hotels__search--final .ks27-hotels__search-field,
    .ks27-hotels__search--final .ks27-hotels__guest-trigger{
        min-height:60px!important;
        width:100%!important;
    }
    .ks27-hotels__search-submit{
        width:100%!important;
        min-height:56px!important;
        grid-column:auto!important;
    }

    .ks27-hotels__smart-popover{
        left:8px!important;
        right:8px!important;
        bottom:8px!important;
        top:auto!important;
        width:auto!important;
        max-height:72vh!important;
        overflow:hidden!important;
        border-radius:18px 18px 14px 14px!important;
    }
    .ks27-hotels__smart-options{
        max-height:48vh!important;
    }

    .ks27-hotel-calendar{
        left:8px!important;
        right:8px!important;
        top:auto!important;
        bottom:8px!important;
        width:auto!important;
        max-height:82vh!important;
        overflow:auto!important;
        padding:12px!important;
        border-radius:18px!important;
    }
    .ks27-hotel-calendar__grid,
    .ks27-hotel-calendar__week{
        gap:5px!important;
    }
    .ks27-hotel-calendar__day{
        min-width:0!important;
        aspect-ratio:1!important;
        font-size:10px!important;
    }

    .ks27-hotels__trust{
        margin-top:0!important;
    }
}

@media(max-width:390px){
    .ks27-hotels__hero-inner{
        padding-left:12px!important;
        padding-right:12px!important;
    }
    .ks27-hotels__search--final{
        width:calc(100% - 16px)!important;
        margin:0 8px!important;
    }
}
