/* ===== Turo-style interactive rental search ===== */
.gp-turo-search{
    --gp-gold:#d9a400;
    --gp-gold-dark:#b88700;
    --gp-gold-soft:#fff4c7;
    position:relative;
    display:grid!important;
    grid-template-columns:minmax(230px,1.65fr) minmax(125px,.88fr) minmax(112px,.76fr) minmax(125px,.88fr) minmax(112px,.76fr) 58px;
    align-items:stretch;
    width:min(100%,1010px);
    min-height:64px;
    margin:0 auto;
    padding:4px!important;
    gap:0!important;
    border:1px solid rgba(17,17,17,.13);
    border-radius:12px!important;
    background:#fff!important;
    box-shadow:0 7px 20px rgba(0,0,0,.16);
    overflow:visible!important;
    z-index:40;
}
.gp-turo-field{
    position:relative;
    min-width:0;
    height:56px;
    padding:8px 12px!important;
    border:0!important;
    border-right:1px solid #e3e3e3!important;
    border-radius:0!important;
    background:#fff!important;
    color:#111!important;
    text-align:left!important;
    font-family:"Urbanist",sans-serif;
    cursor:pointer;
    transition:background-color .15s ease,box-shadow .15s ease;
}
.gp-turo-field:first-child{border-radius:8px 0 0 8px!important}
.gp-turo-field:hover{background:#f8f8f8!important}
.gp-turo-field.is-active{
    background:#fff!important;
    z-index:46;
    box-shadow:inset 0 0 0 2px var(--gp-gold);
}
.gp-turo-field label,
.gp-turo-field-label{
    display:block;
    margin:0 0 3px!important;
    color:#161616!important;
    font-size:16px!important;
    line-height:16px!important;
    font-weight:800!important;
    letter-spacing:.02em;
}
.gp-turo-location-field input{
    display:block;
    width:100%!important;
    height:26px!important;
    min-height:26px!important;
    padding:0!important;
    border:0!important;
    outline:0!important;
    background:transparent!important;
    box-shadow:none!important;
    color:#191919!important;
    font-family:"Urbanist",sans-serif;
    font-size:13px!important;
    line-height:26px!important;
    font-weight:600!important;
}
.gp-turo-location-field input::placeholder{color:#777!important;opacity:1}
.gp-turo-field-row{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:5px;
    min-height:26px;
}

.gp-turo-time-trigger{
    display:block;
    width:100%;
    min-height:26px;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:inherit!important;
    text-align:left!important;
    font-family:inherit;
    cursor:pointer;
}

.gp-turo-field-value{
    display:block;
    min-width:0;
    overflow:hidden;
    color:#202020;
    font-size:13px;
    line-height:26px;
    font-weight:600;
    white-space:nowrap;
    text-overflow:ellipsis;
}
.gp-turo-field-value.is-placeholder{color:#6e6e6e}
.gp-turo-chevron{
    width:15px;
    height:15px;
    flex:0 0 15px;
    fill:none;
    stroke:currentColor;
    stroke-width:1.7;
    stroke-linecap:round;
    stroke-linejoin:round;
    color:#626262;
}
.gp-turo-search-action{
    display:flex;
    align-items:stretch;
    padding-left:4px;
    background:#fff;
    border-radius:0 8px 8px 0;
}
.gp-turo-search .gp-search-submit{
    width:100%!important;
    height:56px!important;
    min-height:56px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:9px!important;
    background:var(--gp-gold)!important;
    color:#111!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    box-shadow:none!important;
}
.gp-turo-search .gp-search-submit:hover{
    background:#c99700!important;
    transform:none!important;
    box-shadow:0 5px 14px rgba(217,164,0,.28)!important;
}
.gp-turo-search .gp-search-submit svg{
    width:23px!important;height:23px!important;stroke:currentColor!important;
}

/* Location popover */
.gp-turo-location-popover{
    position:absolute;
    top:calc(100% + 7px);
    left:0;
    width:390px;
    padding:7px;
    border:1px solid #dedede;
    border-radius:10px;
    background:#fff;
    box-shadow:0 14px 34px rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(-4px);
    transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
    z-index:110;
}
.gp-turo-location-popover.is-open{
    opacity:1;visibility:visible;transform:translateY(0);
}
.gp-location-results{display:flex;flex-direction:column}
.gp-location-option{
    display:grid;
    grid-template-columns:27px 1fr;
    gap:9px;
    width:100%;
    padding:8px 9px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#161616;
    text-align:left;
    cursor:pointer;
}
.gp-location-option:hover,.gp-location-option.is-focused{background:#f5f5f5}
.gp-location-icon{
    width:27px;height:27px;border-radius:6px;background:#f2f2f2;
    display:flex;align-items:center;justify-content:center;color:#191919;
}
.gp-location-icon svg{
    width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;
}
.gp-location-copy strong{display:block;font-size:12px;line-height:16px;font-weight:700}

/* Vehicle (Brand + Body Type) multi-select popover — reuses .gp-turo-location-popover for the dropdown shell */
.gp-turo-vehicle-trigger{
    display:block;width:100%;min-height:26px;padding:0!important;border:0!important;
    background:transparent!important;color:inherit!important;text-align:left!important;
    font-family:inherit;cursor:pointer;
}
.gp-turo-vehicle-popover{width:460px;padding:16px!important;}
.gp-vehicle-popover-inner{display:flex;}
.gp-vehicle-popover-col{flex:1;min-width:0;padding:0 16px;}
.gp-vehicle-popover-col:first-child{padding-left:0;}
.gp-vehicle-popover-col:last-child{padding-right:0;border-left:1px solid #303030;}
.gp-vehicle-popover-col h6{
    font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;
    color:#8f8f8f!important;margin:0 0 10px;
}

/* Compact list layout inside the popover (the base .list-filter-checkbox spacing is tuned for the wide sidebar, not a 200px column) */
.gp-vehicle-popover-col .list-filter-checkbox{
    max-height:212px;overflow-y:auto;overflow-x:hidden;padding-right:10px;margin-right:-10px;
}
.gp-vehicle-popover-col .list-filter-checkbox li{margin-bottom:2px;}
.gp-vehicle-popover-col .cb-container{
    display:flex!important;align-items:center;width:100%;padding:7px 6px 7px 0;border-radius:7px;
    transition:background-color .12s ease;
}
.gp-vehicle-popover-col .cb-container:hover{background:#232323;}
.gp-vehicle-popover-col .list-filter-checkbox .text-sm-medium{color:#e4e4e4!important;font-size:13.5px;}

/* Custom checkbox indicator — the template's check.svg/checked.svg icons don't exist in assets, so this draws one in CSS instead of showing an empty box */
.gp-vehicle-popover-col .checkmark{
    position:relative!important;top:auto!important;left:auto!important;
    flex:0 0 18px;width:18px!important;height:18px!important;margin-right:10px;
    background-image:none!important;
    border:1.5px solid #4d4d4d;border-radius:5px!important;
    transition:background-color .12s ease,border-color .12s ease;
    order:-1;
}
.gp-vehicle-popover-col .cb-container input:checked ~ .checkmark{
    background-color:var(--gp-gold,#d9a400)!important;
    border-color:var(--gp-gold,#d9a400);
}
.gp-vehicle-popover-col .checkmark::after{
    content:"";position:absolute;display:none;
    left:5px;top:1px;width:5px;height:9px;
    border:solid #14151a;border-width:0 2px 2px 0;
    transform:rotate(45deg);
}
.gp-vehicle-popover-col .cb-container input:checked ~ .checkmark::after{display:block;}

/* Thin themed scrollbar for the two checkbox columns */
.gp-vehicle-popover-col .list-filter-checkbox::-webkit-scrollbar{width:5px;}
.gp-vehicle-popover-col .list-filter-checkbox::-webkit-scrollbar-track{background:transparent;}
.gp-vehicle-popover-col .list-filter-checkbox::-webkit-scrollbar-thumb{background:#3f3f3f;border-radius:4px;}
.gp-vehicle-popover-col .list-filter-checkbox::-webkit-scrollbar-thumb:hover{background:#565656;}
.gp-vehicle-popover-col .list-filter-checkbox{scrollbar-width:thin;scrollbar-color:#3f3f3f transparent;}
@media (max-width:576px){
    .gp-turo-vehicle-popover{width:min(460px,calc(100vw - 48px));}
    .gp-vehicle-popover-inner{flex-direction:column;}
    .gp-vehicle-popover-col{padding:0!important;border-left:0!important;}
    .gp-vehicle-popover-col:last-child{margin-top:16px;padding-top:16px!important;border-top:1px solid #303030;}
}
.gp-location-copy small{display:block;margin-top:1px;color:#777;font-size:10px;line-height:13px}
.gp-location-empty{display:none;padding:13px;color:#777;font-size:12px}
.gp-location-empty.is-visible{display:block}

/* Time popover */
.gp-turo-time-popover{
    position:absolute;
    top:calc(100% + 7px);
    left:0;
    width:170px;
    max-height:280px;
    overflow:auto;
    padding:6px;
    border:1px solid #dedede;
    border-radius:10px;
    background:#fff;
    box-shadow:0 14px 34px rgba(0,0,0,.18);
    opacity:0;
    visibility:hidden;
    transform:translateY(-4px);
    transition:opacity .14s ease,transform .14s ease,visibility .14s ease;
    z-index:110;
}
.gp-turo-time-popover.is-open{opacity:1;visibility:visible;transform:translateY(0)}
.gp-time-option{
    display:flex;
    align-items:center;
    justify-content:space-between;
    width:100%;
    padding:8px 9px;
    border:0;
    border-radius:7px;
    background:transparent;
    color:#181818;
    font-size:12px;
    font-weight:600;
    cursor:pointer;
}
.gp-time-option:hover{background:#f5f5f5}
.gp-time-option.is-selected{background:var(--gp-gold-soft);color:#6e5200}
.gp-time-option.is-selected::after{content:"✓";font-weight:900;color:var(--gp-gold-dark)}

/* Two-month range calendar */
.gp-range-picker{
    position:fixed;
    left:50%;
    top:50%;
    width:min(720px,calc(100vw - 34px));
    min-height:450px;
    padding:24px 28px 18px;
    border:1px solid #dfdfdf;
    border-radius:14px;
    background:#fff;
    box-shadow:0 22px 60px rgba(0,0,0,.20);
    opacity:0;
    visibility:hidden;
    transform:translate(-50%,-50%) scale(.985);
    transition:opacity .16s ease,transform .16s ease,visibility .16s ease;
    z-index:9998;
}
.gp-range-picker.is-open{
    opacity:1;visibility:visible;transform:translate(-50%,-50%) scale(1);
}
.gp-range-tabs{
    display:flex;
    width:128px;
    margin:0 auto 14px;
    padding:2px;
    border-radius:7px;
    background:#ededed;
}
.gp-range-tabs button{
    flex:1;
    height:25px;
    padding:0 9px;
    border:0;
    border-radius:6px;
    background:transparent;
    color:#555;
    font-size:10px;
    font-weight:700;
}
.gp-range-tabs button.is-active{background:#252525;color:#fff}
.gp-calendar-nav{
    position:absolute;
    top:57px;
    width:30px;height:30px;
    border:1px solid #e3e3e3;
    border-radius:7px;
    background:#fff;
    display:flex;align-items:center;justify-content:center;
    color:#333;cursor:pointer;
}
.gp-calendar-nav:hover{border-color:var(--gp-gold);background:#fff9e6}
.gp-calendar-prev{left:18px}.gp-calendar-next{right:18px}
.gp-calendar-nav svg{
    width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;
    stroke-linecap:round;stroke-linejoin:round;
}
.gp-calendar-months{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:44px;
    padding:0 22px;
}
.gp-cal-month-title{
    margin:0 0 9px;
    text-align:center;
    color:#171717;
    font-size:13px;
    line-height:18px;
    font-weight:800;
}
.gp-cal-weekdays,.gp-cal-grid{
    display:grid;
    grid-template-columns:repeat(7,1fr);
}
.gp-cal-weekdays span{
    height:25px;
    display:flex;align-items:center;justify-content:center;
    color:#8a8a8a;
    font-size:9px;
    font-weight:700;
    text-transform:uppercase;
}
.gp-cal-day-wrap{
    position:relative;
    height:38px;
    display:flex;align-items:center;justify-content:center;
}
.gp-cal-day-wrap.is-in-range::after,
.gp-cal-day-wrap.is-preview::after{
    content:"";
    position:absolute;
    left:0;right:0;bottom:4px;height:2px;
    background:var(--gp-gold);
    opacity:.85;
}
.gp-cal-day{
    position:relative;
    z-index:2;
    width:31px;height:31px;
    border:1.5px solid transparent;
    border-radius:50%;
    background:transparent;
    display:flex;align-items:center;justify-content:center;
    color:#222;
    font-size:11px;
    font-weight:600;
    cursor:pointer;
}
.gp-cal-day:hover{background:#fff5c9}
.gp-cal-day.is-start,.gp-cal-day.is-end{
    border-color:var(--gp-gold);
    color:#111;
    font-weight:800;
}
.gp-cal-day.is-today:not(.is-start):not(.is-end){box-shadow:inset 0 0 0 1px #c8c8c8}
.gp-cal-day:disabled{color:#c2c2c2;cursor:not-allowed;background:transparent}
.gp-cal-blank{height:38px}
.gp-range-footer{
    display:flex;
    align-items:center;
    justify-content:flex-end;
    gap:16px;
    margin-top:10px;
    padding-top:10px;
}
.gp-range-reset{
    border:0;background:transparent;color:#333;font-size:11px;font-weight:800;cursor:pointer;
}
.gp-range-reset:hover{text-decoration:underline}
.gp-range-save{
    min-width:74px;height:39px;
    border:0;border-radius:7px;
    background:var(--gp-gold);color:#111;
    font-size:12px;font-weight:800;cursor:pointer;
}
.gp-range-save:disabled{opacity:.42;cursor:not-allowed}

/* Month mode */
.gp-month-mode{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:40px;
    padding:10px 24px 18px;
}
.gp-month-year h4{
    margin:0 0 12px;text-align:center;font-size:13px;font-weight:800;
}
.gp-month-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.gp-month-choice{
    height:42px;border:1px solid #e4e4e4;border-radius:8px;background:#fff;
    font-size:11px;font-weight:700;color:#222;cursor:pointer;
}
.gp-month-choice:hover{border-color:var(--gp-gold);background:#fff9e6}
.gp-month-choice.is-selected{border-color:var(--gp-gold);background:var(--gp-gold-soft)}

/* Responsive */
@media(max-width:991.98px){
    .gp-turo-search{
        grid-template-columns:1fr 1fr!important;
        padding:7px!important;
        border-radius:15px!important;
    }
    .gp-turo-field{
        height:58px;border-right:0!important;border-bottom:1px solid #e8e8e8!important;
    }
    .gp-turo-location-field{grid-column:1/-1}
    .gp-turo-search-action{grid-column:1/-1;padding:7px 0 0}
    .gp-turo-search .gp-search-submit{height:48px!important;min-height:48px!important}
    .gp-turo-location-popover{width:min(390px,calc(100vw - 48px))}
}
@media(max-width:650px){
    .gp-range-picker{
        width:calc(100vw - 20px);
        max-height:calc(100vh - 24px);
        overflow:auto;
        padding:18px 14px 14px;
    }
    .gp-calendar-months{grid-template-columns:1fr;gap:22px;padding:0 8px}
    .gp-calendar-months .gp-cal-month:nth-child(2){display:none}
    .gp-month-mode{grid-template-columns:1fr;padding:8px}
    .gp-month-mode .gp-month-year:nth-child(2){display:none}
    .gp-calendar-prev{left:10px}.gp-calendar-next{right:10px}
}
@media(max-width:575.98px){
    .gp-turo-search{grid-template-columns:1fr!important}
    .gp-turo-field,.gp-turo-location-field,.gp-turo-search-action{grid-column:1!important}
    .gp-turo-location-popover,.gp-turo-time-popover{width:100%;max-width:100%}
}


/* ===== Calendar range picker usability + modern polish ===== */
.gp-range-picker{
    width:min(760px,calc(100vw - 28px))!important;
    max-height:min(620px,calc(100vh - 28px))!important;
    min-height:0!important;
    overflow:hidden!important;
    padding:22px 24px 0!important;
    border:1px solid rgba(17,17,17,.10)!important;
    border-radius:18px!important;
    box-shadow:0 28px 80px rgba(0,0,0,.24)!important;
}

.gp-calendar-months{
    gap:34px!important;
    padding:0 18px 8px!important;
    max-height:430px;
    overflow-y:auto;
}

.gp-cal-month{
    min-width:0;
}

.gp-cal-month-title{
    font-size:14px!important;
    margin-bottom:12px!important;
}

.gp-cal-weekdays span{
    font-size:10px!important;
    color:#777!important;
}

.gp-cal-day-wrap{
    height:40px!important;
}

/* Clear visual band between selected From and Until dates */
.gp-cal-day-wrap.is-in-range{
    background:rgba(217,164,0,.11);
}

.gp-cal-day-wrap.is-in-range::after{
    display:none!important;
}

.gp-cal-day{
    width:34px!important;
    height:34px!important;
    font-size:12px!important;
    border-radius:50%!important;
}

.gp-cal-day:hover:not(:disabled){
    background:#fff1b8!important;
    box-shadow:inset 0 0 0 1px rgba(217,164,0,.38);
}

.gp-cal-day.is-start,
.gp-cal-day.is-end{
    background:#d9a400!important;
    border-color:#d9a400!important;
    color:#111!important;
    box-shadow:0 4px 12px rgba(217,164,0,.30);
}

/* Keep the bottom actions visible at all times */
.gp-range-footer{
    position:sticky!important;
    bottom:0;
    z-index:20;
    margin:0 -24px!important;
    padding:14px 24px 16px!important;
    border-top:1px solid #ececec;
    background:rgba(255,255,255,.98);
    backdrop-filter:blur(8px);
    -webkit-backdrop-filter:blur(8px);
}

.gp-range-reset{
    margin-right:auto;
    padding:8px 4px!important;
    color:#333!important;
    font-size:12px!important;
}

.gp-range-save{
    min-width:92px!important;
    height:42px!important;
    border-radius:9px!important;
    background:#d9a400!important;
    color:#111!important;
    font-size:13px!important;
    font-weight:800!important;
    box-shadow:0 4px 12px rgba(217,164,0,.22);
    transition:opacity .15s ease,transform .15s ease,box-shadow .15s ease!important;
}

.gp-range-save:not(:disabled):hover{
    transform:translateY(-1px);
    box-shadow:0 7px 18px rgba(217,164,0,.30);
}

.gp-range-save:disabled{
    display:inline-flex!important;
    align-items:center;
    justify-content:center;
    opacity:.38!important;
    background:#d9a400!important;
    color:#111!important;
}

/* Small guidance text so the two-click range flow is obvious */
.gp-range-picker::before{
    content:"Select your start date, then select your return date";
    display:block;
    margin:0 0 10px;
    text-align:center;
    color:#666;
    font-size:11px;
    line-height:15px;
}

@media(max-width:650px){
    .gp-range-picker{
        padding:18px 12px 0!important;
        overflow:hidden!important;
    }

    .gp-calendar-months{
        padding:0 2px 8px!important;
        max-height:calc(100vh - 200px);
    }

    .gp-range-footer{
        margin:0 -12px!important;
        padding:12px 14px 14px!important;
    }
}


/* =========================================================
   Index 11 — dark Turo-style search form
   ========================================================= */
.gp-turo-dark-section{
    position:relative;
    z-index:30;
    padding:0 0 18px;
    overflow:visible!important;
}
.gp-turo-dark-holder{
    position:relative;
    top:-48px;
    z-index:35;
    margin-bottom:-30px;
}
.gp-turo-dark-holder .gp-turo-search{
    width:min(100%,1100px);
}

/* Dark search bar */
.gp-turo-dark-holder .gp-turo-search{
    --gp-gold:#f4bd16;
    --gp-gold-dark:#d49e00;
    --gp-gold-soft:rgba(244,189,22,.16);
    border-color:#353535!important;
    background:#151515!important;
    box-shadow:0 16px 38px rgba(0,0,0,.42)!important;
}
.gp-turo-dark-holder .gp-turo-field{
    border-right-color:#343434!important;
    background:#151515!important;
    color:#f5f5f5!important;
}
.gp-turo-dark-holder .gp-turo-field:hover{
    background:#202020!important;
}
.gp-turo-dark-holder .gp-turo-field.is-active{
    background:#1c1c1c!important;
    box-shadow:inset 0 0 0 2px var(--gp-gold)!important;
}
.gp-turo-dark-holder .gp-turo-field label,
.gp-turo-dark-holder .gp-turo-field-label{
    color:#f2f2f2!important;
}
.gp-turo-dark-holder .gp-turo-location-field input{
    color:#f4f4f4!important;
}
.gp-turo-dark-holder .gp-turo-location-field input::placeholder{
    color:#939393!important;
}
.gp-turo-dark-holder .gp-turo-field-value{
    color:#eeeeee!important;
}
.gp-turo-dark-holder .gp-turo-field-value.is-placeholder{
    color:#9a9a9a!important;
}
.gp-turo-dark-holder .gp-turo-chevron{
    color:#b9b9b9!important;
}
.gp-turo-dark-holder .gp-turo-search-action{
    background:#151515!important;
}
.gp-turo-dark-holder .gp-search-submit{
    background:var(--gp-gold)!important;
    color:#090909!important;
}
.gp-turo-dark-holder .gp-search-submit:hover{
    background:#ffca27!important;
}

/* Dark location and time dropdowns */
.gp-turo-location-popover,
.gp-turo-time-popover{
    border-color:#3b3b3b!important;
    background:#171717!important;
    box-shadow:0 18px 44px rgba(0,0,0,.55)!important;
}
.gp-location-option,
.gp-time-option{
    color:#eeeeee!important;
}
.gp-location-option:hover,
.gp-location-option.is-focused,
.gp-time-option:hover{
    background:#272727!important;
}
.gp-location-icon{
    background:#292929!important;
    color:#f4bd16!important;
}
.gp-location-copy small,
.gp-location-empty{
    color:#9b9b9b!important;
}
.gp-time-option.is-selected{
    background:rgba(244,189,22,.15)!important;
    color:#ffd65b!important;
}
.gp-time-option.is-selected::after{
    color:#f4bd16!important;
}

/* Dark calendar modal */
.gp-range-picker{
    border-color:#3b3b3b!important;
    background:#171717!important;
    color:#f3f3f3!important;
    box-shadow:0 32px 95px rgba(0,0,0,.72)!important;
}
.gp-range-picker::before{
    color:#a7a7a7!important;
}
.gp-range-tabs{
    background:#2b2b2b!important;
}
.gp-range-tabs button{
    color:#bdbdbd!important;
}
.gp-range-tabs button.is-active{
    background:#f4bd16!important;
    color:#111!important;
}
.gp-calendar-nav{
    border-color:#414141!important;
    background:#222!important;
    color:#f2f2f2!important;
}
.gp-calendar-nav:hover{
    border-color:#f4bd16!important;
    background:#302817!important;
}
.gp-cal-month-title,
.gp-month-year h4{
    color:#f4f4f4!important;
}
.gp-cal-weekdays span{
    color:#888!important;
}
.gp-cal-day{
    color:#e9e9e9!important;
}
.gp-cal-day:hover:not(:disabled){
    background:#3a3017!important;
    box-shadow:inset 0 0 0 1px rgba(244,189,22,.5)!important;
}
.gp-cal-day.is-today:not(.is-start):not(.is-end){
    box-shadow:inset 0 0 0 1px #777!important;
}
.gp-cal-day:disabled{
    color:#555!important;
}
.gp-cal-day-wrap.is-in-range{
    background:rgba(244,189,22,.13)!important;
}
.gp-cal-day.is-start,
.gp-cal-day.is-end{
    border-color:#f4bd16!important;
    background:#f4bd16!important;
    color:#111!important;
}
.gp-cal-day.is-booked{
    background:repeating-linear-gradient(45deg,rgba(255,255,255,.05),rgba(255,255,255,.05) 4px,transparent 4px,transparent 8px)!important;
    color:#555!important;
    text-decoration:line-through;
    cursor:not-allowed;
}
.gp-cal-day.is-booked:hover{
    background:repeating-linear-gradient(45deg,rgba(255,255,255,.05),rgba(255,255,255,.05) 4px,transparent 4px,transparent 8px)!important;
    box-shadow:none!important;
}
.gp-cal-booked-legend{
    margin:0 0 12px;
    padding:0 18px;
    text-align:center;
    color:#999!important;
    font-size:11px!important;
    font-style:italic;
}
.gp-month-choice{
    border-color:#3c3c3c!important;
    background:#222!important;
    color:#e8e8e8!important;
}
.gp-month-choice:hover{
    border-color:#f4bd16!important;
    background:#302817!important;
}
.gp-month-choice.is-selected{
    border-color:#f4bd16!important;
    background:rgba(244,189,22,.16)!important;
    color:#ffd65b!important;
}
.gp-range-footer{
    border-top-color:#373737!important;
    background:rgba(23,23,23,.98)!important;
}
.gp-range-reset{
    color:#dedede!important;
}
.gp-range-save{
    background:#f4bd16!important;
    color:#111!important;
}

/* Scrollbars inside dark popovers */
.gp-turo-time-popover,
.gp-calendar-months{
    scrollbar-width:thin;
    scrollbar-color:#555 #1d1d1d;
}
.gp-turo-time-popover::-webkit-scrollbar,
.gp-calendar-months::-webkit-scrollbar{width:7px}
.gp-turo-time-popover::-webkit-scrollbar-track,
.gp-calendar-months::-webkit-scrollbar-track{background:#1d1d1d}
.gp-turo-time-popover::-webkit-scrollbar-thumb,
.gp-calendar-months::-webkit-scrollbar-thumb{background:#555;border-radius:10px}

@media(max-width:991.98px){
    .gp-turo-dark-holder{top:-34px;margin-bottom:-16px}
    .gp-turo-dark-holder .gp-turo-field{
        border-bottom-color:#343434!important;
    }
    .gp-turo-dark-holder .gp-turo-search-action{
        background:#151515!important;
    }
}
@media(max-width:575.98px){
    .gp-turo-dark-section{padding-bottom:28px}
    .gp-turo-dark-holder{top:-22px;margin-bottom:-4px}
}

/* Dark Luxury homepage header + hero, while retaining the accepted Turo form. */
.lux-header,
.lux-header *,
.lux-hero,
.lux-hero * { box-sizing: border-box; }

.lux-header,
.lux-hero,
.lux-header a,
.lux-header button,
.lux-hero a,
.lux-hero button { font-family: "Urbanist", sans-serif; }

/* Use an image already present in this project package. */
.lux-hero-media {
    background-image: url("assets/imgs/hero/hero-1/genesis-gv80-hero.jpeg") !important;
    background-image: url("assets/imgs/hero/hero-1/genesis-gv80-hero.jpeg") !important;
}

/* Keep the form from the accepted first change and place it inside the new hero. */
.lux-hero { overflow: visible !important; }
.lux-turo-form-shell {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 28px;
    z-index: 45;
    padding: 0 20px;
    pointer-events: none;
}
.lux-turo-form-shell .gp-turo-search {
    width: min(1010px, 100%) !important;
    margin: 0 auto !important;
    pointer-events: auto;
}

/* Ensure dropdowns/calendar remain readable and clickable above the hero. */
.lux-turo-form-shell .gp-turo-search,
.lux-turo-form-shell .gp-turo-search *,
.lux-turo-form-shell .gp-range-picker,
.lux-turo-form-shell .gp-range-picker * { box-sizing: border-box; }

.lux-turo-form-shell .gp-range-picker,
.lux-turo-form-shell .gp-range-picker h3,
.lux-turo-form-shell .gp-range-picker h4,
.lux-turo-form-shell .gp-range-picker span,
.lux-turo-form-shell .gp-range-picker button,
.lux-turo-form-shell .gp-turo-location-popover,
.lux-turo-form-shell .gp-turo-location-popover *,
.lux-turo-form-shell .gp-turo-time-popover,
.lux-turo-form-shell .gp-turo-time-popover * { color: #171717; }

.lux-turo-form-shell .gp-turo-search button,
.lux-turo-form-shell .gp-turo-search input {
    text-transform: none !important;
    letter-spacing: normal;
}
/* asad// */

span.lux-brand-copy img {
    max-width: 170px;
}
/* asad// */
@media (max-width: 991.98px) {
    .lux-hero {
        display: block;
        min-height: auto;
        padding-bottom: 28px;
    }
    .lux-hero-content { padding-bottom: 42px !important; }
    .lux-turo-form-shell {
        position: relative;
        left: auto;
        right: auto;
        bottom: auto;
        padding: 0 13px;
    }
}

@media (max-width: 575.98px) {
    .lux-turo-form-shell { padding: 0 10px; }
}

/* =========================================================
   Turo-inspired premium footer
   ========================================================= */
.gp-turo-footer,
.gp-turo-footer * { box-sizing: border-box; }

.gp-turo-footer {
    --gp-footer-gold: #f4bd16;
    --gp-footer-text: #f7f7f7;
    --gp-footer-muted: #9a9a9a;
    --gp-footer-line: rgba(255,255,255,.16);
    position: relative;
    overflow: hidden;
    padding: 0;
    background: #030303;
    color: var(--gp-footer-text);
    font-family: "Urbanist", sans-serif;
}

.gp-turo-footer a {
    color: inherit;
    text-decoration: none;
    transition: color .2s ease, opacity .2s ease;
}

.gp-turo-footer a:hover { color: var(--gp-footer-gold); }

.gp-turo-footer .gp-footer-container {
    width: min(1242px, calc(100% - 48px));
    margin: 0 auto;
}

.gp-footer-subscribe {
    display: grid;
    grid-template-columns: minmax(320px, 1fr) minmax(460px, .93fr);
    align-items: center;
    gap: 56px;
    padding: 38px 0 36px;
    border-bottom: 1px solid var(--gp-footer-line);
}

.gp-footer-subscribe h2 {
    max-width: 470px;
    margin: 0;
    color: #fff;
    font-size: clamp(24px, 2.15vw, 30px);
    line-height: 1.34;
    font-weight: 800;
    letter-spacing: -.035em;
}

.gp-footer-newsletter {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 122px;
    gap: 8px;
    width: 100%;
    max-width: 454px;
    margin-left: auto;
}

.gp-footer-newsletter input[type="email"] {
    width: 100%;
    height: 54px;
    padding: 0 20px;
    border: 1px solid #5e5e5e;
    border-radius: 8px;
    outline: none;
    background: #030303;
    color: #fff;
    font: inherit;
    font-size: 14px;
    box-shadow: none;
    transition: border-color .2s ease, box-shadow .2s ease;
}

.gp-footer-newsletter input[type="email"]::placeholder {
    color: #7d7d7d;
    opacity: 1;
}

.gp-footer-newsletter input[type="email"]:focus {
    border-color: var(--gp-footer-gold);
    box-shadow: 0 0 0 3px rgba(244,189,22,.13);
}

.gp-footer-newsletter button {
    height: 54px;
    padding: 0 20px;
    border: 0;
    border-radius: 11px;
    background: var(--gp-footer-gold);
    color: #080808;
    font: inherit;
    font-size: 14px;
    font-weight: 800;
    cursor: pointer;
    transition: background .2s ease, transform .2s ease;
}

.gp-footer-newsletter button:hover {
    background: #ffd034;
    transform: translateY(-1px);
}

.gp-footer-main {
    display: grid;
    grid-template-columns: 1.5fr 1.35fr .62fr .67fr;
    gap: 64px;
    padding: 43px 0 57px;
    border-bottom: 1px solid var(--gp-footer-line);
}

.gp-footer-brand-logo {
    display: inline-flex;
    align-items: center;
    width: 185px;
    max-width: 100%;
    margin-bottom: 20px;
}

.gp-footer-brand-logo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
}

.gp-footer-address,
.gp-footer-contact p,
.gp-footer-links a {
    margin: 0;
    color: var(--gp-footer-muted);
    font-size: 15px;
    line-height: 1.58;
    font-weight: 500;
}

.gp-footer-address { max-width: 385px; }

.gp-footer-title {
    margin: 0 0 14px;
    color: #fff;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 800;
}

.gp-footer-contact p + p { margin-top: 14px; }

.gp-footer-help {
    margin-top: 32px;
}

.gp-footer-help span {
    display: block;
    margin-bottom: 3px;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
}

.gp-footer-help a {
    display: inline-block;
    color: var(--gp-footer-gold);
    font-size: 22px;
    line-height: 1.3;
    font-weight: 900;
    letter-spacing: -.02em;
}

.gp-footer-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.gp-footer-links li + li { margin-top: 15px; }
.gp-footer-links a { display: inline-block; }

.gp-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    min-height: 82px;
    padding: 18px 0;
}

.gp-footer-copyright {
    margin: 0;
    color: #fff;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
}

.gp-footer-socials {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 22px;
}

.gp-footer-socials > span {
    color: #fff;
    font-size: 15px;
    font-weight: 800;
}

.gp-footer-socials-list {
    display: flex;
    align-items: center;
    gap: 22px;
}

.gp-footer-socials-list a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 18px;
    height: 18px;
    color: #fff;
}

.gp-footer-socials-list svg {
    display: block;
    width: 18px;
    height: 18px;
    fill: currentColor;
}

@media (max-width: 1100px) {
    .gp-footer-main {
        grid-template-columns: 1.2fr 1.15fr .75fr .75fr;
        gap: 36px;
    }
}

@media (max-width: 991.98px) {
    .gp-footer-subscribe {
        grid-template-columns: 1fr;
        gap: 25px;
    }

    .gp-footer-newsletter {
        max-width: 100%;
        margin-left: 0;
    }

    .gp-footer-main {
        grid-template-columns: 1fr 1fr;
        gap: 42px 48px;
    }
}

@media (max-width: 575.98px) {
    .gp-turo-footer .gp-footer-container {
        width: min(100% - 30px, 1242px);
    }

    .gp-footer-subscribe {
        padding: 31px 0 29px;
    }

    .gp-footer-subscribe h2 {
        font-size: 23px;
    }

    .gp-footer-newsletter {
        grid-template-columns: 1fr;
    }

    .gp-footer-newsletter button { width: 100%; }

    .gp-footer-main {
        grid-template-columns: 1fr;
        gap: 34px;
        padding: 37px 0 43px;
    }

    .gp-footer-brand-logo { width: 165px; }

    .gp-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        padding: 25px 0 30px;
    }

    .gp-footer-socials {
        width: 100%;
        justify-content: flex-start;
    }
}

:root {
    --gp-page-max-width: 1320px;
    --gp-page-side-space: 32px;
}

/* overflow-x:hidden is intentionally scoped to body only, not html too.
   Setting it on BOTH turns each into its own independent scroll container
   (a CSS spec quirk: pairing a non-visible overflow-x with the default
   'visible' overflow-y silently promotes that axis to 'auto'), and any
   position:sticky element then attaches to body's container instead of
   the page's real scrolling element — body never actually scrolls (it
   just grows to fit its content), so the sticky element never engages
   and just scrolls away. Keeping this on body alone avoids the conflict
   while still clipping horizontal overflow. */
html {
    max-width: 100%;
}
body {
    max-width: 100%;
    overflow-x: hidden;
}

/* Keep every main content area on the same left/right guides. */
body .container,
body .lux-container,
body .container-testimonials,
body .gp-turo-footer .gp-footer-container {
    width: 100% !important;
    max-width: var(--gp-page-max-width) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--gp-page-side-space) !important;
    padding-right: var(--gp-page-side-space) !important;
    box-sizing: border-box !important;
}

/* Remove the template's additional one-sided slider offset. */
body .container-testimonials .container-slider,
body .container-slider.ps-0 {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

/* Keep the Turo form centered within the same page spacing. */
body .lux-turo-form-shell {
    width: 100% !important;
    max-width: var(--gp-page-max-width) !important;
    left: 50% !important;
    right: auto !important;
    padding-left: var(--gp-page-side-space) !important;
    padding-right: var(--gp-page-side-space) !important;
    transform: translateX(-50%);
    box-sizing: border-box !important;
}

body .lux-turo-form-shell .gp-turo-search {
    width: 100% !important;
    max-width: 1010px !important;
}

/* Prevent rows, sliders and large media from creating uneven overflow. */
body main,
body main section,
body .block-testimonials,
body .box-swiper,
body .swiper-container {
    max-width: 100%;
}

@media (max-width: 991.98px) {
    :root {
        --gp-page-side-space: 24px;
    }

    body .lux-turo-form-shell {
        left: auto !important;
        right: auto !important;
        max-width: none !important;
        transform: none !important;
    }
}

@media (max-width: 575.98px) {
    :root {
        --gp-page-side-space: 16px;
    }
}

/* =========================================================
   Modern dark-and-gold mobile navigation
   ========================================================= */
@media (max-width: 991.98px) {
    .lux-header {
        transition: background-color .25s ease, border-color .25s ease, box-shadow .25s ease;
    }

    .lux-header .lux-container {
        position: relative;
    }

    .lux-header.menu-open {
        background: rgba(4, 4, 4, .98) !important;
        border-bottom-color: rgba(244, 189, 22, .34) !important;
        box-shadow: 0 14px 36px rgba(0, 0, 0, .36);
        backdrop-filter: blur(18px);
        -webkit-backdrop-filter: blur(18px);
    }

    .lux-mobile-nav {
        display: block !important;
        position: absolute;
        top: calc(100% - 1px);
        left: var(--gp-page-side-space, 24px);
        right: var(--gp-page-side-space, 24px);
        z-index: 1200;
        padding: 12px;
        border: 1px solid rgba(244, 189, 22, .26);
        border-top: 2px solid #f4bd16;
        border-radius: 0 0 16px 16px;
        background: linear-gradient(145deg, #080808 0%, #111111 58%, #0a0a0a 100%) !important;
        box-shadow: 0 24px 55px rgba(0, 0, 0, .62), inset 0 1px 0 rgba(255, 255, 255, .035);
        opacity: 0;
        visibility: hidden;
        transform: translateY(-10px) scale(.985);
        transform-origin: top center;
        pointer-events: none;
        transition: opacity .22s ease, visibility .22s ease, transform .22s ease;
        overflow: hidden;
    }

    .lux-mobile-nav::before {
        content: "";
        position: absolute;
        top: 0;
        left: 12%;
        width: 76%;
        height: 1px;
        background: linear-gradient(90deg, transparent, rgba(255, 216, 87, .9), transparent);
        pointer-events: none;
    }

    .lux-mobile-nav.open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0) scale(1);
        pointer-events: auto;
    }

    .lux-mobile-nav a {
        position: relative;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        min-height: 48px;
        margin: 3px 0;
        padding: 12px 15px !important;
        border: 1px solid transparent;
        border-radius: 10px;
        background: rgba(255, 255, 255, .025);
        color: #f6f6f6 !important;
        font-size: 14px;
        line-height: 20px;
        font-weight: 800 !important;
        letter-spacing: .035em;
        text-transform: uppercase;
        text-shadow: none;
        transition: color .2s ease, background-color .2s ease, border-color .2s ease, transform .2s ease;
    }

    .lux-mobile-nav a::after {
        content: "";
        width: 7px;
        height: 7px;
        margin-left: 16px;
        border-top: 1.5px solid currentColor;
        border-right: 1.5px solid currentColor;
        color: #8e8e8e;
        transform: rotate(45deg);
        transition: color .2s ease, transform .2s ease;
    }

    .lux-mobile-nav a:hover,
    .lux-mobile-nav a:focus-visible,
    .lux-mobile-nav a.active {
        border-color: rgba(244, 189, 22, .30);
        background: linear-gradient(90deg, rgba(244, 189, 22, .14), rgba(244, 189, 22, .035));
        color: #f4bd16 !important;
        transform: translateX(2px);
        outline: none;
    }

    .lux-mobile-nav a:hover::after,
    .lux-mobile-nav a:focus-visible::after,
    .lux-mobile-nav a.active::after {
        color: #f4bd16;
        transform: translateX(2px) rotate(45deg);
    }

    .lux-menu-toggle {
        position: relative;
        display: block;
        width: 46px;
        height: 46px;
        padding: 11px;
        border: 1px solid rgba(244, 189, 22, .45) !important;
        border-radius: 10px;
        background: rgba(10, 10, 10, .92) !important;
        box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025);
        transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease, transform .2s ease;
    }

    .lux-menu-toggle:hover,
    .lux-menu-toggle:focus-visible {
        border-color: #f4bd16 !important;
        box-shadow: 0 0 0 3px rgba(244, 189, 22, .12);
        outline: none;
    }

    .lux-menu-toggle span {
        width: 100%;
        height: 2px;
        margin: 5px 0;
        border-radius: 10px;
        background: #f4bd16 !important;
        transform-origin: center;
        transition: opacity .2s ease, transform .25s ease, background-color .2s ease;
    }

    .lux-menu-toggle.open {
        border-color: #f4bd16 !important;
        background: #f4bd16 !important;
        box-shadow: 0 9px 24px rgba(244, 189, 22, .24);
    }

    .lux-menu-toggle.open span {
        background: #101010 !important;
    }

    .lux-menu-toggle.open span:nth-child(1) {
        transform: translateY(7px) rotate(45deg);
    }

    .lux-menu-toggle.open span:nth-child(2) {
        opacity: 0;
        transform: scaleX(0);
    }

    .lux-menu-toggle.open span:nth-child(3) {
        transform: translateY(-7px) rotate(-45deg);
    }
}

@media (max-width: 575.98px) {
    .lux-mobile-nav {
        left: var(--gp-page-side-space, 16px);
        right: var(--gp-page-side-space, 16px);
        padding: 10px;
        border-radius: 0 0 14px 14px;
    }

    .lux-mobile-nav a {
        min-height: 46px;
        padding: 11px 13px !important;
        font-size: 13px;
    }
}

/* Permanent dark theme: hide all light/dark mode switch controls. */
html { color-scheme: dark; }
.change-mode,
.top-button-mode,
#bd-theme,
#bd-theme-text,
[data-bs-theme-value] {
    display: none !important;
}

section#pg-title\ {
    min-height: 400px;
}

/* Fix: the template's generic .btn:hover sets color to the gold brand color,
   which is also .btn-book's own background — making the label invisible on
   hover (the arrow stays visible since it's colored via stroke, not color). */
.btn.btn-book:hover,
.btn.btn-book:focus {
    color: var(--bs-neutral-0) !important;
}
.btn.btn-book:hover svg,
.btn.btn-book:focus svg {
    stroke: var(--bs-neutral-0) !important;
}

#pg-p{
max-width: 100% !important;
}

/* Equal-height vehicle cards: without this, cards with shorter titles/specs
   end up shorter than their row-mates (both in the "Most Searched Vehicles"
   swiper and the "Featured Listings" grid, which share this card markup). */
.swiper-group-journey .swiper-slide {
    height: auto;
    display: flex;
}
.card-journey-small {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.card-journey-small .card-info {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.card-journey-small .card-program {
    display: flex;
    flex-direction: column;
    flex: 1;
}
.card-journey-small .endtime {
    margin-top: auto;
}

/* ===== Elegant content-page typography =====
   Shared by About Us, Terms, Privacy, Refund Policy, Security Deposit, and
   Dog Boarding — all render admin-edited rich text inside
   .box-content-info-detail .text-white. The theme's default paragraph/heading
   styles here were borrowed from a blog-post template (oversized rounded
   headings, zero paragraph spacing), which reads as cramped and heavy for
   plain content pages. */
.box-content-info-detail .text-white {
    font-size: 15.5px;
    line-height: 1.9;
    color: #cfcfcf;
}
.box-content-info-detail .text-white p {
    margin: 0 0 22px;
}
.box-content-info-detail .text-white p:last-child {
    margin-bottom: 0;
}
.box-content-info-detail .text-white h2,
.box-content-info-detail .text-white h3,
.box-content-info-detail .text-white h4 {
    font-family: inherit;
    font-size: 21px;
    line-height: 1.35;
    font-weight: 800;
    color: #ffffff;
    letter-spacing: 0;
    margin: 40px 0 14px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.09);
}
.box-content-info-detail .text-white h2:first-child,
.box-content-info-detail .text-white h3:first-child,
.box-content-info-detail .text-white h4:first-child {
    margin-top: 8px;
}
.box-content-info-detail .text-white .gp-meta-date + h2,
.box-content-info-detail .text-white .gp-meta-date + h3,
.box-content-info-detail .text-white .gp-meta-date + h4 {
    margin-top: 8px;
    padding-top: 0;
    border-top: 0;
}
/* Explicit class (not :first-child) so this only applies to the actual
   "Last updated" line on Terms/Privacy/Refund — not the opening sentence of
   About Us, Dog Boarding, or Security Deposit, which have no such line. */
.box-content-info-detail .text-white .gp-meta-date {
    margin-bottom: 32px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,.09);
    color: #9c9c9c;
    font-size: 13px;
    font-style: normal;
    letter-spacing: .02em;
    text-transform: uppercase;
}
.box-content-info-detail .text-white strong {
    color: #ffffff;
    font-weight: 700;
}
.box-content-info-detail .text-white a {
    color: var(--gp-gold, #d9a400);
    text-decoration: underline;
    text-underline-offset: 2px;
}
/* Explicit class (not a structural :only-child guess — that also matched any
   paragraph with one <strong> phrase buried mid-sentence, e.g. "a $300
   security deposit is required") for paragraphs that are genuinely one whole
   bold CTA sentence, e.g. "Rent your car. Drop off your pup. Enjoy Las Vegas." */
.box-content-info-detail .text-white p.gp-callout {
    display: block;
    padding: 16px 20px;
    margin: 6px 0 26px;
    border-left: 3px solid var(--gp-gold, #d9a400);
    background: rgba(217,164,0,.08);
    border-radius: 0 8px 8px 0;
    font-size: 15.5px;
    font-weight: 700;
    color: #f3d98a;
}
.box-content-info-detail .text-white p.gp-callout strong {
    color: inherit;
}

/* .lux-hero-content > p has a hardcoded max-width:580px with no auto margins
   — built for the homepage hero's intentionally left-aligned paragraph. Inner
   pages reuse .lux-hero-content but add .text-center for a centered title +
   subtitle; without this, that same fixed-width paragraph sticks to the left
   edge instead of centering, since text-align only centers inline content,
   not the block itself. */
.lux-hero-content.text-center > p {
    margin-left: auto;
    margin-right: auto;
}

/* The theme's global `input { width:100%; height:50px; }` rule (meant for
   text fields) also blankets checkboxes wherever they're used bare — like
   the feature checkboxes on List Your Vehicle — stretching them into huge
   50px-tall boxes instead of a normal small checkbox. */
.form-check-input {
    width: 17px !important;
    height: 17px !important;
    margin-top: 3px;
    padding: 0 !important;
    vertical-align: top;
}
.form-check.form-check-inline {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    margin-right: 16px;
    margin-bottom: 8px;
}

/* The "Partner With Genaro Rentals" and "Dog Boarding" homepage sections
   both use the theme's py-96 utility (96px top+bottom), stacking into a
   192px gap between them — reduce just this seam, not py-96 generally. */
#list-your-car {
    padding-bottom: 32px;
}
#dog-boarding {
    padding-top: 32px;
}

/* Homepage "Earn With Your Car" / "Looking for a rental car?" banners: the
   theme absolutely-positions the car photo bottom-right over the text
   column with no width limit on the text, so longer real copy (vs. the
   template's short placeholder text) wraps underneath the car and becomes
   unreadable. Cap the text column so it always wraps clear of the image,
   and stretch both banner boxes to match height (the row already stretches
   the columns equally; the visible colored box inside didn't fill it). */
.box-banner-1 {
    height: 100%;
}
.box-banner-1 .banner-info {
    max-width: 58%;
    position: relative;
    z-index: 2;
}

/* Car listing/related/featured cards (.card-journey-small, used only for car
   photos on this site) inherit the theme's "zoom to fill, crop overflow"
   image technique. Deliberate choice, per client: the listing grid should
   look like a clean uniform grid with no letterbox bars, even though the
   photo set mixes portrait and landscape — object-fit: cover fills the box
   completely, cropping whichever edge doesn't fit. Full/uncropped photos
   are reserved for the detail-page gallery below, not this grid. */
.card-journey-small .card-image {
    height: 240px;
    background-color: #f4f5f7;
}
.card-journey-small .card-image img {
    width: 100%;
    height: 100%;
    min-width: 0;
    max-width: 100%;
    object-fit: cover;
    object-position: center;
}

/* Car detail page main gallery: unlike the listing cards above, this should
   show the complete photo with nothing cropped off — it's the one place
   showing off the actual car in full, and the photo set is a genuine mix
   of portrait and landscape. object-fit: contain shows the whole photo;
   the fixed height still keeps a very tall portrait shot from dwarfing the
   page, it just letterboxes instead of cropping. */
.box-banner-activities .banner-slide-activity {
    height: 560px;
    border-radius: 8px;
    overflow: hidden;
    background-color: #14151a;
}
.box-banner-activities .banner-slide-activity img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}
.slider-nav-thumbnails-activities-detail .banner-slide {
    height: 90px;
    overflow: hidden;
    background-color: #14151a;
}
.slider-nav-thumbnails-activities-detail .banner-slide img {
    height: 100%;
    width: 100%;
    object-fit: contain;
    object-position: center;
}
@media (max-width: 767.98px) {
    .box-banner-activities .banner-slide-activity {
        height: 300px;
    }
}

/* Car detail page header, restyled to match the checkout page's slim solid
   topbar instead of the theme's default breadcrumb-under-a-150px-gap layout
   (that gap exists to clear the transparent nav that normally overlays a
   hero image — this page has no hero, so it just left dead space). */
.gp-car-detail-page .lux-header {
    position: sticky !important;
    top: 0;
    background: rgba(6, 6, 6, .97) !important;
    border-bottom: 1px solid rgba(244, 189, 22, .20) !important;
    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}
.gp-detail-topbar {
    border-bottom: 1px solid rgba(255, 255, 255, .09);
    background: #0d0d0d;
}
.gp-detail-topbar-inner {
    min-height: 74px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.gp-detail-topbar-title {
    margin: 0;
    color: #fff;
    font-size: 21px;
    line-height: 1.3;
    font-weight: 900;
    letter-spacing: -.02em;
    text-align: center;
}
.gp-detail-subheader {
    padding: 22px 0;
}
.gp-detail-subheader-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    flex-wrap: wrap;
}
.gp-detail-subheader-inner .breadcrumbs {
    margin: 0;
    padding: 0;
}
@media (max-width: 575.98px) {
    .gp-detail-topbar-title { font-size: 17px; }
}