
/* KRO HOME PREMIUM SEARCH v2.6.0 */
.kr-search.kr-search-premium{
    position:relative;
    z-index:24;
    display:grid;
    grid-template-columns:1fr 1fr 1.35fr 1fr 150px;
    align-items:stretch;
    gap:0;
    max-width:1540px;
    margin:0 auto;
    padding:0;
    border:1px solid rgba(193,137,78,.44);
    background:rgba(12,8,5,.94);
    backdrop-filter:blur(15px);
    box-shadow:0 24px 70px rgba(0,0,0,.34);
    overflow:visible;
}
.kr-search-premium .kr-home-field{
    position:relative;
    min-width:0;
    padding:16px 18px 15px;
    border-right:1px solid rgba(193,137,78,.18);
    background:linear-gradient(180deg,rgba(255,255,255,.012),rgba(255,255,255,0));
}
.kr-search-premium .kr-home-label{
    display:block;
    margin-bottom:8px;
    color:#c58d53;
    font:700 7px/1 Arial,sans-serif;
    letter-spacing:.17em;
}
.kr-search-premium .kr-home-control{
    width:100%;
    min-height:31px;
    padding:0;
    border:0;
    outline:0;
    background:transparent;
    color:#f1e8df;
    font:700 10px/1.1 Arial,sans-serif;
    text-align:left;
}
.kr-search-premium .kr-home-date-trigger{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    cursor:pointer;
}
.kr-search-premium .kr-home-date-trigger svg,
.kr-search-premium .kr-home-select-wrap svg{
    width:17px;
    height:17px;
    flex:0 0 17px;
    fill:none;
    stroke:#c99359;
    stroke-width:1.3;
}
.kr-search-premium .kr-home-select-wrap{
    position:relative;
    display:flex;
    align-items:center;
    gap:10px;
}
.kr-search-premium .kr-home-select{
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
    padding-right:24px;
}
.kr-search-premium .kr-home-select-wrap:after{
    content:"";
    position:absolute;
    right:2px;
    top:50%;
    width:6px;
    height:6px;
    border-right:1px solid #d0a06d;
    border-bottom:1px solid #d0a06d;
    transform:translateY(-65%) rotate(45deg);
    pointer-events:none;
}
.kr-home-search-button{
    border:0;
    background:#c98e50;
    color:#090603;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:14px;
    padding:0 22px;
    cursor:pointer;
    font:800 9px/1 Arial,sans-serif;
    letter-spacing:.14em;
    transition:background .18s ease,transform .18s ease;
}
.kr-home-search-button:hover{background:#d7a064}
.kr-home-search-button svg{
    width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.5
}

/* Calendar */
.kr-home-calendar[hidden]{display:none!important}
.kr-home-calendar{
    position:absolute;
    left:12px;
    top:calc(100% + 8px);
    width:330px;
    z-index:999;
    padding:14px;
    border:1px solid rgba(198,143,84,.5);
    background:#100b07;
    box-shadow:0 28px 70px rgba(0,0,0,.58);
}
.kr-home-calendar__head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin-bottom:13px;
}
.kr-home-calendar__head strong{
    color:#f2e9df;
    font:700 13px/1 Arial,sans-serif;
}
.kr-home-calendar__nav{display:flex;gap:6px}
.kr-home-calendar__nav button,
.kr-home-calendar__foot button{
    border:1px solid rgba(198,143,84,.28);
    background:#0b0705;
    color:#cda171;
    cursor:pointer;
    font:700 8px Arial,sans-serif;
}
.kr-home-calendar__nav button{
    width:30px;height:30px
}
.kr-home-calendar__week{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
    margin-bottom:5px;
}
.kr-home-calendar__week span{
    text-align:center;
    color:#89796c;
    font:700 7px Arial,sans-serif;
}
.kr-home-calendar__days{
    display:grid;
    grid-template-columns:repeat(7,1fr);
    gap:4px;
}
.kr-home-calendar__days button{
    aspect-ratio:1;
    border:1px solid transparent;
    background:transparent;
    color:#eee4da;
    cursor:pointer;
    font:700 9px Arial,sans-serif;
}
.kr-home-calendar__days button:hover{
    border-color:rgba(198,143,84,.48);
    background:rgba(198,143,84,.09);
}
.kr-home-calendar__days button.is-outside{
    color:#4f4640;
}
.kr-home-calendar__days button.is-disabled{
    color:#3f3732;
    cursor:not-allowed;
}
.kr-home-calendar__days button.is-selected{
    background:#c98e50;
    color:#080503;
}
.kr-home-calendar__days button.is-range{
    background:rgba(201,142,80,.14);
    color:#e5c199;
}
.kr-home-calendar__days button.is-today{
    border-color:#c98e50;
}
.kr-home-calendar__foot{
    display:grid;
    grid-template-columns:auto auto 1fr;
    gap:6px;
    margin-top:12px;
    padding-top:11px;
    border-top:1px solid rgba(255,255,255,.07);
}
.kr-home-calendar__foot button{
    min-height:31px;
    padding:0 10px;
}
.kr-home-calendar__foot .is-primary{
    background:#c98e50;
    color:#090603;
    border-color:#c98e50;
    justify-self:stretch;
}

/* makes the whole form visually consistent */
.kr-search-premium select option{
    background:#100b07;
    color:#f0e7de;
}
.kr-search-premium .kr-home-date-trigger span{
    color:#f4ece4;
}
@media(max-width:1050px){
    .kr-search.kr-search-premium{
        grid-template-columns:1fr 1fr;
    }
    .kr-search-premium .kr-home-field{
        border-bottom:1px solid rgba(193,137,78,.18);
    }
    .kr-home-search-button{
        min-height:64px;
        grid-column:1/-1;
    }
}
@media(max-width:650px){
    .kr-search.kr-search-premium{grid-template-columns:1fr}
    .kr-home-search-button{grid-column:auto}
    .kr-home-calendar{
        left:0;
        right:auto;
        width:min(330px,calc(100vw - 42px));
    }
}

/* KRO HOME SEARCH WIDTH FIX v2.6.0.1 */
html,
body{
    max-width:100%;
    overflow-x:hidden;
}

.kr-search.kr-search-premium{
    width:calc(100% - 8vw) !important;
    max-width:1440px !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
}

.kr-search-premium .kr-home-field,
.kr-search-premium .kr-home-control,
.kr-search-premium .kr-home-select-wrap{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}

.kr-search-premium .kr-home-select{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
}

.kr-search-premium .kr-home-search-button{
    min-width:0 !important;
}

@media (max-width:1500px){
    .kr-search.kr-search-premium{
        width:calc(100% - 6vw) !important;
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr) minmax(0,.9fr) 136px !important;
    }
}

@media (max-width:1180px){
    .kr-search.kr-search-premium{
        width:calc(100% - 40px) !important;
        grid-template-columns:1fr 1fr !important;
    }

    .kr-home-search-button{
        grid-column:1 / -1 !important;
        min-height:58px !important;
    }
}

@media (max-width:650px){
    .kr-search.kr-search-premium{
        width:calc(100% - 24px) !important;
        grid-template-columns:1fr !important;
    }

    .kr-home-search-button{
        grid-column:auto !important;
    }
}

/* KRO HOME SEARCH FIT FIX v2.6.0.2 */
.kr-search.kr-search-premium{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    grid-template-columns:minmax(0,.95fr) minmax(0,.95fr) minmax(0,1.20fr) minmax(0,.82fr) 118px !important;
    box-sizing:border-box !important;
}
.kr-search-premium .kr-home-field{
    min-width:0 !important;
    padding:14px 15px 13px !important;
}
.kr-search-premium .kr-home-control,
.kr-search-premium .kr-home-select-wrap,
.kr-search-premium .kr-home-select{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}
.kr-search-premium .kr-home-select{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}
.kr-search-premium .kr-home-date-trigger span{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.kr-home-search-button{
    width:118px !important;
    min-width:118px !important;
    max-width:118px !important;
    padding:0 12px !important;
    box-sizing:border-box !important;
}
.kr-hero,
.kr-hero > *,
.kr-hero__inner,
.kr-hero__content,
.kr-hero__search,
.kr-hero-search,
.kr-home-hero,
.kr-home-hero > *{
    min-width:0 !important;
}
@media (max-width:1450px){
    .kr-search.kr-search-premium{
        grid-template-columns:minmax(0,.92fr) minmax(0,.92fr) minmax(0,1.12fr) minmax(0,.78fr) 106px !important;
    }
    .kr-search-premium .kr-home-field{
        padding-left:12px !important;
        padding-right:12px !important;
    }
    .kr-home-search-button{
        width:106px !important;
        min-width:106px !important;
        max-width:106px !important;
        gap:7px !important;
        font-size:7.5px !important;
    }
}
@media (max-width:1180px){
    .kr-search.kr-search-premium{
        width:100% !important;
        grid-template-columns:1fr 1fr !important;
    }
    .kr-home-search-button{
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        grid-column:1/-1 !important;
        min-height:56px !important;
    }
}
@media (max-width:650px){
    .kr-search.kr-search-premium{
        grid-template-columns:1fr !important;
    }
    .kr-home-search-button{
        grid-column:auto !important;
    }
}


/* KRO HOME SEARCH BOTTOM RESTORE v2.6.0.3 */

/* Restore the original KRO homepage composition:
   premium search bar centered across the bottom of the hero. */
.kr-home-hero{
    position:relative !important;
    padding-bottom:190px !important;
}

.kr-search.kr-search-premium{
    position:absolute !important;
    z-index:24 !important;
    left:50% !important;
    right:auto !important;
    bottom:40px !important;
    transform:translateX(-50%) !important;

    width:min(1380px,92vw) !important;
    max-width:1380px !important;
    min-width:0 !important;
    margin:0 !important;

    grid-template-columns:
        minmax(0,1fr)
        minmax(0,1fr)
        minmax(0,1.15fr)
        minmax(0,.82fr)
        140px !important;

    box-sizing:border-box !important;
}

.kr-search-premium .kr-home-field{
    min-width:0 !important;
    padding:15px 18px 14px !important;
}

.kr-search-premium .kr-home-control,
.kr-search-premium .kr-home-select-wrap,
.kr-search-premium .kr-home-select{
    min-width:0 !important;
    max-width:100% !important;
    width:100% !important;
    box-sizing:border-box !important;
}

.kr-search-premium .kr-home-select,
.kr-search-premium .kr-home-date-trigger span{
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

.kr-home-search-button{
    width:140px !important;
    min-width:140px !important;
    max-width:140px !important;
    padding:0 16px !important;
}

/* Calendar should open upward when the bar is near the hero bottom,
   so it remains fully inside the viewport/hero area. */
.kr-home-calendar{
    top:auto !important;
    bottom:calc(100% + 8px) !important;
}

/* Keep the page itself from ever gaining horizontal scroll. */
html,
body{
    max-width:100% !important;
    overflow-x:hidden !important;
}

@media(max-width:1180px){
    .kr-home-hero{
        padding-bottom:250px !important;
    }

    .kr-search.kr-search-premium{
        width:min(920px,92vw) !important;
        grid-template-columns:1fr 1fr !important;
        bottom:28px !important;
    }

    .kr-home-search-button{
        width:auto !important;
        min-width:0 !important;
        max-width:none !important;
        grid-column:1/-1 !important;
        min-height:56px !important;
    }

    .kr-home-calendar{
        top:calc(100% + 8px) !important;
        bottom:auto !important;
    }
}

@media(max-width:650px){
    .kr-home-hero{
        padding-bottom:390px !important;
    }

    .kr-search.kr-search-premium{
        width:calc(100% - 24px) !important;
        grid-template-columns:1fr !important;
        bottom:18px !important;
    }

    .kr-home-search-button{
        grid-column:auto !important;
    }
}


/* KRO HOME CALENDAR COMPACT FIX v2.6.0.4 */

/* Keep the bottom search bar exactly where it is.
   Only compact and anchor the custom calendars to their fields. */
.kr-search-premium .kr-home-date{
    position:relative !important;
}

.kr-home-calendar{
    left:0 !important;
    right:auto !important;
    top:auto !important;
    bottom:calc(100% + 10px) !important;

    width:300px !important;
    max-width:min(300px,calc(100vw - 32px)) !important;
    min-width:0 !important;

    padding:12px !important;
    box-sizing:border-box !important;

    border:1px solid rgba(198,143,84,.5) !important;
    background:#100b07 !important;
    box-shadow:0 24px 54px rgba(0,0,0,.52) !important;
}

.kr-home-calendar__head{
    margin-bottom:10px !important;
}

.kr-home-calendar__head strong{
    font-size:12px !important;
}

.kr-home-calendar__nav button{
    width:28px !important;
    height:28px !important;
}

.kr-home-calendar__week{
    gap:2px !important;
    margin-bottom:4px !important;
}

.kr-home-calendar__week span{
    font-size:6.5px !important;
}

.kr-home-calendar__days{
    gap:2px !important;
}

.kr-home-calendar__days button{
    aspect-ratio:auto !important;
    height:31px !important;
    min-height:31px !important;
    padding:0 !important;
    font-size:8.5px !important;
    line-height:31px !important;
}

.kr-home-calendar__foot{
    grid-template-columns:auto auto 1fr !important;
    gap:5px !important;
    margin-top:9px !important;
    padding-top:9px !important;
}

.kr-home-calendar__foot button{
    min-height:29px !important;
    padding:0 8px !important;
    font-size:7px !important;
}

/* Return calendar aligns to its own field and never stretches into the hero. */
.kr-search-premium [data-home-date-field="return"] .kr-home-calendar{
    left:0 !important;
}

/* On narrower desktops open downward if there isn't enough room above. */
@media(max-height:760px){
    .kr-home-calendar{
        top:calc(100% + 10px) !important;
        bottom:auto !important;
    }
}

@media(max-width:650px){
    .kr-home-calendar{
        left:0 !important;
        width:min(300px,calc(100vw - 32px)) !important;
        top:calc(100% + 8px) !important;
        bottom:auto !important;
    }
}


/* KRO HOME CALENDAR MATCH BOOKING v2.6.0.6 */

/* Home search remains at bottom; calendars open upward like the vehicle page. */
.kr-search-premium .kr-home-date{
    position:relative !important;
}

.kr-home-calendar{
    left:0 !important;
    right:auto !important;
    top:auto !important;
    bottom:calc(100% + 10px) !important;

    width:300px !important;
    max-width:min(300px,calc(100vw - 28px)) !important;
    min-width:0 !important;
    padding:14px !important;
    box-sizing:border-box !important;

    background:#f3ede5 !important;
    color:#17110d !important;
    border:1px solid #dfd3c5 !important;
    box-shadow:0 20px 50px rgba(0,0,0,.32) !important;
    z-index:9999 !important;
}

.kr-home-calendar__head{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin-bottom:12px !important;
}

.kr-home-calendar__head strong{
    color:#17110d !important;
    font:700 16px/1 Arial,sans-serif !important;
    text-transform:none !important;
}

.kr-home-calendar__nav{
    display:flex !important;
    gap:8px !important;
}

.kr-home-calendar__nav button{
    width:32px !important;
    height:32px !important;
    border:0 !important;
    border-radius:50% !important;
    background:#e8dfd5 !important;
    color:#17110d !important;
    font:700 14px/1 Arial,sans-serif !important;
    cursor:pointer !important;
}

.kr-home-calendar__nav button:hover{
    background:#ddd1c3 !important;
}

.kr-home-calendar__week{
    display:grid !important;
    grid-template-columns:repeat(7,1fr) !important;
    gap:2px !important;
    margin-bottom:6px !important;
}

.kr-home-calendar__week span{
    color:#55483d !important;
    text-align:center !important;
    font:700 9px/1 Arial,sans-serif !important;
    padding:3px 0 !important;
}

.kr-home-calendar__days{
    display:grid !important;
    grid-template-columns:repeat(7,1fr) !important;
    gap:2px !important;
}

.kr-home-calendar__days button{
    position:relative !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    color:#17110d !important;
    font:600 10px/34px Arial,sans-serif !important;
    cursor:pointer !important;
    z-index:1 !important;
}

.kr-home-calendar__days button:hover:not(.is-disabled){
    background:#eadfd3 !important;
}

.kr-home-calendar__days button.is-outside{
    color:#b8ada3 !important;
}

.kr-home-calendar__days button.is-disabled{
    color:#c8beb5 !important;
    cursor:not-allowed !important;
    background:transparent !important;
}

/* Range matches vehicle-page visual language:
   light champagne strip + strong bronze endpoints. */
.kr-home-calendar__days button.is-range{
    background:#ead8c5 !important;
    color:#17110d !important;
}

.kr-home-calendar__days button.is-selected,
.kr-home-calendar__days button.is-range-start,
.kr-home-calendar__days button.is-range-end{
    background:#c98b4b !important;
    color:#fff !important;
    border-radius:18px !important;
}

.kr-home-calendar__days button.is-today:not(.is-selected):not(.is-range-start):not(.is-range-end){
    box-shadow:inset 0 0 0 1px #c98b4b !important;
    border-radius:18px !important;
}

.kr-home-calendar__foot{
    display:grid !important;
    grid-template-columns:auto auto 1fr !important;
    gap:6px !important;
    margin-top:12px !important;
    padding-top:11px !important;
    border-top:1px solid #ddd2c5 !important;
}

.kr-home-calendar__foot button{
    min-height:32px !important;
    padding:0 10px !important;
    border:1px solid #d7c9ba !important;
    background:transparent !important;
    color:#4d3f34 !important;
    font:700 7px/1 Arial,sans-serif !important;
    letter-spacing:.06em !important;
    cursor:pointer !important;
}

.kr-home-calendar__foot button:hover{
    background:#e9dfd4 !important;
}

.kr-home-calendar__foot .is-primary{
    border-color:#c98b4b !important;
    background:#c98b4b !important;
    color:#fff !important;
}

.kr-search-premium .kr-home-date-trigger span.has-value{
    color:#fff !important;
}

/* Avoid clipping while opened upward. */
.kr-home-hero,
.kr-home-hero *,
.kr-hero,
.kr-hero *{
    overflow:visible;
}

@media(max-width:650px){
    .kr-home-calendar{
        width:min(300px,calc(100vw - 24px)) !important;
        left:0 !important;
    }
}


/* HOME CALENDAR RANGE FIX v2.6.0.7 */

.kr-home-calendar__days button.is-range {
    background: #ead8c5 !important;
    color: #17110d !important;
}

.kr-home-calendar__days button.is-selected,
.kr-home-calendar__days button.is-range-start,
.kr-home-calendar__days button.is-range-end {
    background: #ca8c4d !important;
    color: #fff !important;
    border-radius: 18px !important;
}

.kr-home-calendar__days button.is-range-start {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

.kr-home-calendar__days button.is-range-end {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

.kr-home-calendar__days button.is-today:not(.is-selected) {
    box-shadow: inset 0 0 0 1px #ca8c4d !important;
    border-radius: 18px !important;
}

/* HOME CALENDAR DEFAULT RANGE FIX v2.6.0.8 */

.kr-home-calendar__days button.is-range {
    background: #ead8c5 !important;
    color: #17110d !important;
}

.kr-home-calendar__days button.is-selected,
.kr-home-calendar__days button.is-range-start,
.kr-home-calendar__days button.is-range-end {
    background: #ca8c4d !important;
    color: #fff !important;
    border-radius: 18px !important;
}

.kr-home-calendar__days button.is-range-start {
    border-top-right-radius: 6px !important;
    border-bottom-right-radius: 6px !important;
}

.kr-home-calendar__days button.is-range-end {
    border-top-left-radius: 6px !important;
    border-bottom-left-radius: 6px !important;
}

.kr-home-calendar__days button.is-today:not(.is-selected) {
    box-shadow: inset 0 0 0 1px #ca8c4d !important;
    border-radius: 18px !important;
}

.kr-search-premium [data-home-date-display].has-value {
    color: #fff !important;
}
