
/* on demand vendor slot */
.radio-btns input[type="radio"].ondemand_checked + label span{background: var(--theme-deafult); color: #fff;}

div#step-2-ondemand .radio-btns input[type="radio"]:checked + label span{background: var(--theme-deafult);
color: #fff;}
div#step-2-ondemand .slick-initialized .slick-arrow { right: 0;top: 52%;left: -5px;}
div#step-2-ondemand .slick-initialized .slick-next.slick-arrow {  right: -5px;left: auto;}
.al_body_template_six div#step-2-ondemand .slick-initialized .slick-arrow { right: 0;top: 60%;left: 0;}
.al_body_template_six div#step-2-ondemand .slick-initialized .slick-next.slick-arrow { right: 0;left: auto;}
div#show-all-time-slots11 .slick-slider .slick-prev{left:0px;top:38%;}
div#show-all-time-slots11 .slick-slider .slick-next{right:0px;top:38%;}
div#step-2-ondemand span.customCheckbox {font-size: 14px;}

div#step-2-ondemand .radio-btns.long-radio input[type=radio]:checked +label .customCheckbox{
    background: var(--theme-deafult);
color: #fff;
}
.radios { text-align: center; }

/* driver slot */

#avail_slot .grid-item {
    color: #fff;
    padding: 3.5em 1em;
    font-size: 1em;
    font-weight: 700;
}

#avail_slot .main {
    grid-area: main;
    padding: 0;
}

#avail_slot .items {
    position: relative;
    width: 100%;
    overflow-x: scroll;
    overflow-y: hidden;
    white-space: nowrap;
    will-change: transform;
    user-select: none;
    cursor: pointer;
}
#avail_slot .grid-item .item.active {
    background: #000;
}
#avail_slot .grid-item .item.active label span {
    color: #fff;
}
#avail_slot  .item {
    display: inline-block;
}
div#avail_slot .alCustomHomeServiceRadio.items .item label span.customCheckbox{
    padding: 10px;
    border-radius: 10px;
    color: #000;
    margin: 2px 5px;
    display: inline-block;
    background-color: #f3f3f3;
}
#avail_slot  .grid-item.main .items .item input[type="radio"]{
    display: none;
}
#avail_slot  .grid-item.main .items .item label {
    color: #000;
    font-size: 13px;
    margin: 0px;
}
div#avail_slot .alCustomHomeServiceRadio input[type="radio"]:checked + label span{background: var(--theme-deafult)!important;color: #fff !important;}
.radio-btns.long-radio  .checked_item  input[type="radio"] label span{background: var(--theme-deafult)!important;color: #fff !important;}

a.agentInfo.d-block.selected_agent .brand-ing {
border-color: var(--theme-deafult);
border-width: 3px;
}
.alCustomHomeServiceRadio::-webkit-scrollbar {height: 4px;}
.alCustomHomeServiceRadio::-webkit-scrollbar-thumb {
    background: var(--theme-deafult);
  }
.alCustomHomeServiceRadio{flex-wrap: nowrap;white-space: nowrap;overflow: auto;}
.alCustomHomeServiceRadio .item{display: inline-block;margin-bottom: 6px;}
a.agentInfo.d-block.selected_agent h6 {
color: var(--theme-deafult);
}
.agentInfo .brand-ing{transition: 0.5s}
.alCustomHomeServiceAgentRadio{flex-wrap: nowrap;white-space: nowrap;overflow: auto;}
.alCustomHomeServiceAgentRadio .agent_slot{display: inline-block;margin: 0px 10px;}
.booking-time-wrapper .radio-btns input[type="radio"]+label .customCheckbox {
    width: auto;
    border-radius: 5px;
    padding: 0 10px;
    height: auto;
    line-height: 2.5;
    margin: 0 3px;
}

/* --------------------------
   On-demand category layout
   -------------------------- */
.home-serivces .home-services-layout {
    align-items: flex-start;
}

.home-serivces .home-services-sidebar {
    position: sticky;
    top: 20px;
    height: fit-content;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    align-self: flex-start;
}

.home-serivces #main-nav {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    top: 0 !important;
    padding: 0 !important;
    margin: 0 0 20px 0 !important;
    overflow: visible !important;
    background-color: transparent !important;
}

.home-serivces ul#main-nav-list {
    list-style: none;
    padding-left: 0;
    margin: 0;
    display: block !important;
    width: 100% !important;
    overflow: visible !important;
}

.home-serivces #main-nav li {
    margin-right: 0 !important;
    margin-bottom: 8px;
}

.home-serivces #main-nav li + li {
    margin-top: 0;
}

.home-serivces #main-nav li a {
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
    text-overflow: ellipsis;
    padding: 8px 12px;
    border-radius: 20px;
    background: #f7f7f7;
    color: #222;
    font-size: 13px;
    line-height: 1.4;
    white-space: normal;
    word-wrap: break-word;
    border: 1px solid var(--theme-deafult);
    text-align: left;
    min-height: auto;
    height: auto;
    max-height: 3.64em; /* 2 lines: 13px * 1.4 * 2 = 36.4px - dynamic based on content */
}

.home-serivces #main-nav li a:hover,
.home-serivces #main-nav li a:focus {
    background: var(--theme-deafult);
    color: #fff;
}

.home-serivces .home-services-products .classes_wrapper {
    padding: 6px 5px;
    margin-bottom: 8px;
}

.home-serivces .home-services-products h5 {
    font-size: 12px;
    margin-bottom: 3px !important;
    line-height: 1.2;
}

.home-serivces .home-services-products .productDetails {
    margin-bottom: 6px;
}

.home-serivces .home-services-products .productDetails p {
    font-size: 11px;
    max-height: 2.4em;
    overflow: hidden;
    line-height: 1.2;
    margin-bottom: 3px !important;
}

/* Minimize product images */
.home-serivces .home-services-products .class_img {
    max-width: 60px;
    max-height: 60px;
    overflow: hidden;
    border-radius: 6px;
}

.home-serivces .home-services-products .class_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Compact product buttons */
.home-serivces .home-services-products .ac-royo-btn {
    margin-top: 0;
    padding-top: 6px;
}

.home-serivces .home-services-products .productBookingBtns {
    flex-wrap: wrap;
    gap: 6px;
}

.home-serivces .home-services-products .productBookingBtns h5 {
    font-size: 12px;
    margin: 0 !important;
    flex: 0 0 auto;
}

.home-serivces .home-services-products .productBookingBtns .btn {
    font-size: 11px;
    padding: 4px 10px;
}

.home-serivces .home-services-products .productBookingBtns .btn,
.home-serivces .home-services-products .productBookingBtns .number {
    flex: 0 0 auto;
}

/* Make product rows more compact */
.home-serivces .home-services-products .classes_wrapper hr {
    margin: 8px 0;
}

/* Reduce service image size further */
.home-serivces .home-services-products .service-img {
    margin-bottom: 12px !important;
}

.home-serivces .home-services-products .service-img img {
    max-height: 150px;
    object-fit: cover;
}

/* Compact section headings */
.home-serivces .home-services-products h4 {
    font-size: 15px;
    margin-bottom: 12px;
}

/* Reduce service image size */
.home-serivces .home-services-products .service-img {
    margin-bottom: 15px !important;
}

.home-serivces .home-services-products .service-img img {
    max-height: 200px;
    object-fit: cover;
}

/* Compact section headings */
.home-serivces .home-services-products h4 {
    font-size: 16px;
    margin-bottom: 15px;
}

/* Ensure SERVICE DETAILS stays on right */
.home-serivces .side-card {
    position: sticky;
    top: 20px;
    height: fit-content;
    max-height: calc(100vh - 40px);
    overflow-y: auto;
    align-self: flex-start;
}

/* Make middle product section scrollable */
.home-serivces .row.mt-4 {
    align-items: flex-start;
    min-height: calc(100vh - 200px);
}

.home-serivces .col-lg-5.col-md-5 {
    position: relative;
    max-height: calc(100vh - 100px);
    overflow-y: auto;
    overflow-x: hidden;
    padding-left: 12px;
    padding-right: 12px;
    -webkit-overflow-scrolling: touch;
}

/* Custom scrollbar for product section */
.home-serivces .col-lg-5.col-md-5::-webkit-scrollbar {
    width: 6px;
}

.home-serivces .col-lg-5.col-md-5::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.home-serivces .col-lg-5.col-md-5::-webkit-scrollbar-thumb {
    background: var(--theme-deafult);
    border-radius: 10px;
}

.home-serivces .col-lg-5.col-md-5::-webkit-scrollbar-thumb:hover {
    background: var(--theme-deafult);
    opacity: 0.8;
}

/* Smooth scroll behavior */
html {
    scroll-behavior: smooth;
}

/* Active category link styling - ensure only one is active */
.home-serivces #main-nav li a.active {
    background: var(--theme-deafult) !important;
    color: #fff !important;
    border-color: var(--theme-deafult) !important;
}

/* Ensure non-active links don't have active styling */
.home-serivces #main-nav li a:not(.active) {
    background: #f7f7f7;
    color: #222;
}

/* Category sidebar - dynamic width based on content */
.home-serivces .col-lg-3.col-md-3 {
    max-width: 280px;
    min-width: 200px;
    width: auto;
    padding-right: 15px;
    flex: 0 0 auto;
    align-self: flex-start;
}

/* Custom scrollbar for category sidebar */
.home-serivces .home-services-sidebar::-webkit-scrollbar {
    width: 6px;
}

.home-serivces .home-services-sidebar::-webkit-scrollbar-track {
    background: #f1f1f1;
    border-radius: 10px;
}

.home-serivces .home-services-sidebar::-webkit-scrollbar-thumb {
    background: var(--theme-deafult);
    border-radius: 10px;
}

.home-serivces .home-services-sidebar::-webkit-scrollbar-thumb:hover {
    background: var(--theme-deafult);
    opacity: 0.8;
}

/* Ensure category text fits in 1-2 lines */
.home-serivces #main-nav {
    width: 100%;
}

.home-serivces #main-nav li {
    width: 100%;
}

/* Optimize space distribution - reduce product area, increase category */
/* Removed duplicate - now handled above */

.home-serivces .col-lg-4.side-card {
    padding-left: 12px;
}

/* Make category items dynamic - adjust spacing */
.home-serivces #main-nav li {
    margin-bottom: 8px;
}

.home-serivces #main-nav li:last-child {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    .home-serivces .col-lg-3.col-md-3 {
        max-width: 100%;
        min-width: auto;
    }
    
    .home-serivces .side-card {
        position: static;
        margin-top: 20px;
    }
    
    .home-serivces .col-lg-5.col-md-5 {
        max-height: none;
        height: auto;
        overflow-y: visible;
    }
    
    .home-serivces .row.mt-4 {
        min-height: auto;
    }
    
    .home-serivces .home-services-sidebar {
        position: static;
        max-height: none;
        overflow-y: visible;
    }
    
    .home-serivces #main-nav li a {
        font-size: 12px;
        padding: 6px 12px;
    }
}

@media (max-width: 767.98px) {
    .home-serivces .home-services-layout {
        flex-direction: column;
    }

    .home-serivces .home-services-sidebar {
        margin-bottom: 15px;
    }

    /* keep portrait / vertical list even on mobile */
}