/* ==========================================
   BOOKING HERO
========================================== */

.booking-hero{

    padding:180px 0 120px;

    background:
        linear-gradient(
            135deg,
            #FFF8E7 0%,
            #F8F4EA 45%,
            #EDF7FF 100%
        );

    position:relative;

    overflow:hidden;

}

.booking-hero::before{

    content:"";

    position:absolute;

    width:600px;

    height:600px;

    right:-220px;

    top:-220px;

    background:rgba(212,170,89,.08);

    border-radius:50%;

    filter:blur(8px);

}

.booking-hero h1{

    color:var(--primary);

    font-size:68px;

    font-weight:800;

    line-height:1.1;

    margin:30px 0;

}

.text-gradient{

    background:linear-gradient(
        90deg,
        var(--sand),
        #F3C868
    );

    -webkit-background-clip:text;

    -webkit-text-fill-color:transparent;

}

.hero-description{

    max-width:650px;

    color:var(--text-secondary);

    font-size:18px;

    line-height:1.9;

    margin-bottom:40px;

}

.booking-highlights{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-bottom:45px;

}

.highlight{

    display:flex;

    align-items:center;

    gap:12px;

    background:rgba(255,255,255,.75);

    backdrop-filter:blur(14px);

    border-radius:999px;

    padding:15px 22px;

    color:var(--primary);

    font-weight:600;

    box-shadow:var(--shadow-sm);

    transition:.35s ease;

}

.highlight:hover{

    transform:translateY(-6px);

    box-shadow:var(--shadow-md);

}

.highlight i{

    color:var(--sand);

}

.hero-buttons{

    display:flex;

    flex-wrap:wrap;

    gap:18px;

    margin-top:20px;

}

.booking-outline{

    margin-left:0 !important;

}

.booking-hero-card{

    background:rgba(255,255,255,.70);

    backdrop-filter:blur(18px);

    border-radius:40px;

    padding:55px 45px;

    text-align:center;

    box-shadow:var(--shadow-lg);

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    min-height:640px;

}

.booking-hero-image{

    width:100%;

    max-width:280px;

    height:auto;

    display:block;

    margin:0 auto 45px;

    transition:.45s ease;

}

.booking-hero-image:hover{

    transform:translateY(-12px) scale(1.03);

}

.hero-rating{

    width:100%;

    margin-top:auto;

}

.rating-stars{

    color:#F6B73C;

    font-size:18px;

    margin-bottom:12px;

}

.hero-rating strong{

    display:block;

    color:var(--primary);

    font-size:20px;

    margin-bottom:6px;

}

.hero-rating small{

    color:var(--text-secondary);

}

/* ==========================================
   BOOKING PROGRESS
========================================== */

.booking-progress{

    padding:60px 0;

    background:#FFFFFF;

}

.progress-wrapper{

    display:flex;

    align-items:center;

    justify-content:center;

    gap:0;

    flex-wrap:nowrap;

}

.progress-item{

    display:flex;

    flex-direction:column;

    align-items:center;

    min-width:100px;

}

.progress-circle{

    width:58px;

    height:58px;

    border-radius:50%;

    border:2px solid #D8D8D8;

    background:#FFFFFF;

    color:var(--text-secondary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:20px;

    font-weight:700;

    transition:.35s ease;

}

.progress-circle.active{

    background:var(--sand);

    border-color:var(--sand);

    color:var(--primary);

    box-shadow:0 10px 25px rgba(212,170,89,.30);

}

.progress-item span{

    margin-top:14px;

    font-size:15px;

    font-weight:600;

    color:var(--primary);

}

.progress-line{

    flex:1;

    height:3px;

    background:#E5E5E5;

    margin:0 12px 34px;

    min-width:60px;

    border-radius:999px;

}

.progress-line.active{

    background:var(--sand);

}

/* ==========================================
   SERVICE CARD
========================================== */

.service-card{

    display:flex;

    flex-direction:column;

    height:100%;

    min-height:420px;

    padding:35px;

    border-radius:32px;

    background-image:url("../../images/ui/input/gold-luxury6.png");

    background-repeat:no-repeat;

    background-position:center;

    background-size:100% 100%;

    background-color:transparent;

    border:2px solid transparent;

    box-shadow:0 18px 45px rgba(0,0,0,.06);

    transition:all .35s ease;

    cursor:pointer;

    position:relative;

}

.service-card:hover{

    transform:translateY(-10px);

    border-color:rgba(212,170,89,.45);

    box-shadow:0 28px 60px rgba(0,0,0,.12);

}

.service-card.selected{

    border-color:var(--sand);

    box-shadow:0 28px 65px rgba(212,170,89,.22);

}

.service-card.selected::after{

    content:"✓";

    position:absolute;

    top:18px;

    right:18px;

    width:34px;

    height:34px;

    border-radius:50%;

    background:var(--sand);

    color:var(--primary);

    display:flex;

    align-items:center;

    justify-content:center;

    font-weight:700;

}

.service-icon{

    width:72px;

    height:72px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #FFF8E5,
        #FCE6B7
    );

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:28px;

    color:var(--primary);

    margin-bottom:28px;

    transition:.35s;

}

.service-card:hover .service-icon{

    transform:scale(1.08) rotate(-5deg);

}

.service-card h4{

    font-size:34px;

    margin-bottom:18px;

    color:var(--primary);

}

.service-description{

    color:var(--primary);

    line-height:1.8;

    flex:1;

    margin-bottom:30px;

}

.service-footer{

    border-top:1px solid rgba(0,0,0,.08);

    padding-top:22px;

}

.service-price{

    font-size:24px;

    font-weight:700;

    color:var(--primary);

    margin-bottom:8px;

}

.service-duration{

    display:flex;

    align-items:center;

    gap:8px;

    color:var(--text-secondary);

    font-weight:600;

}

.service-duration i{

    color:var(--sand);

}

/* ==========================================
   RESPONSIVE
========================================== */

@media(max-width:991px){

    .booking-hero{

        padding:150px 0 90px;

        text-align:center;

    }

    .booking-hero h1{

        font-size:48px;

    }

    .booking-highlights{

        justify-content:center;

    }

    .hero-buttons{

        justify-content:center;

    }

    .booking-hero-card{

        margin-top:40px;

    }

}

@media(max-width:768px){

    .progress-wrapper{

        overflow-x:auto;

        justify-content:flex-start;

        padding-bottom:10px;

    }

    .progress-item{

        min-width:80px;

    }

    .progress-circle{

        width:48px;

        height:48px;

        font-size:16px;

    }

    .progress-line{

        min-width:35px;

    }

}
/* ==========================================
   TIME SLOT
========================================== */

.time-slots{

    display:grid;

    grid-template-columns:repeat(auto-fit,minmax(190px,1fr));

    gap:18px;

    margin-top:25px;

}

.time-slot{

    position:relative;

    border:none;

    background:transparent;

    padding:0;

    cursor:pointer;

    height:90px;

    transition:.30s ease;

}

.time-slot-bg{

    position:absolute;

    inset:0;

    background-image:url("/assets/images/booking/capsule.png");
    background-repeat:no-repeat;
    background-position:center;
    background-size:100% 100%;

    background-size:contain;

    z-index:1;

    transition:.30s ease;

}

.time-slot-text{

    position:relative;

    z-index:2;

    display:flex;

    align-items:center;

    justify-content:center;

    width:100%;

    height:100%;

    font-size:22px;

    font-weight:700;

    color:#5A3A2E;

}

.time-slot:hover{

    transform:translateY(-4px);

}

.time-slot.active{

    transform:scale(.96);

}

.time-slot.active .time-slot-bg{

    filter:brightness(.92);

}

/* ==========================================
   ARRIVAL METHOD
========================================== */

.arrival-card{

    height:100%;

    background-image:url("../../images/ui/input/gold-luxury6.png");

    background-repeat:no-repeat;

    background-position:center;

    background-size:100% 100%;

    background-color:transparent;

    border-radius:28px;

    border:2px solid #ECECEC;

    padding:35px;

    text-align:center;

    cursor:pointer;

    transition:all .35s ease;

    box-shadow:0 15px 35px rgba(0,0,0,.05);

}

.arrival-card:hover{

    transform:translateY(-8px);

    border-color:var(--sand);

    box-shadow:0 25px 55px rgba(0,0,0,.12);

}

.arrival-card.active{

    border-color:var(--sand);

    box-shadow:0 25px 60px rgba(212,170,89,.20);

}

.arrival-icon{

    width:80px;

    height:80px;

    margin:0 auto 25px;

    border-radius:50%;

    background:linear-gradient(
        135deg,
        #FFF9E8,
        #FCE6B7
    );

    display:flex;

    align-items:center;

    justify-content:center;

    font-size:34px;

    color:var(--primary);

}

.arrival-card h4{

    margin-bottom:18px;

}

.arrival-card p{

    margin:0;

    line-height:1.8;

}

/* ==========================================
   PICKUP PANEL
========================================== */

.pickup-section{

    background:#FFFEFB;

    border:2px solid rgba(212,170,89,.20);

    border-radius:28px;

    padding:35px;

    animation:fadeUp .35s ease;

}

@keyframes fadeUp{

    from{

        opacity:0;

        transform:translateY(20px);

    }

    to{

        opacity:1;

        transform:translateY(0);

    }

}
/* ==========================================
   BOOKING RESPONSIVE
========================================== */

@media (max-width:992px){

    .time-slots{

        grid-template-columns:repeat(2,1fr);

    }

    .arrival-card{

        margin-bottom:20px;

    }

}

@media (max-width:768px){

    .time-slots{

        grid-template-columns:1fr;

        gap:14px;

    }

    .time-slot{

        height:78px;

    }

    .time-slot-text{

        font-size:18px;

    }

    .arrival-card{

        padding:25px;

    }

    .arrival-icon{

        width:64px;

        height:64px;

        font-size:28px;

    }

    .pickup-section{

        padding:25px;

    }

}

@media (max-width:576px){

    .booking-hero h1{

        font-size:36px;

    }

    .hero-description{

        font-size:16px;

    }

    .booking-highlights{

        gap:10px;

    }

    .highlight{

        width:100%;

        justify-content:center;

    }

    .service-card{

        padding:25px;

        min-height:auto;

    }

    .service-card h4{

        font-size:28px;

    }

    .service-price{

        font-size:22px;

    }

    .time-slot{

        height:70px;

    }

    .time-slot-text{

        font-size:16px;

    }

    .pickup-section{

        padding:20px;

    }

}
/* ==========================================
   BOOKING NOTICE
========================================== */

.booking-notice{

    background:var(--cream);

    border:2px solid rgba(212,170,89,.20);

    border-radius:24px;

    padding:24px;

    color:var(--primary);

    font-size:16px;

    line-height:1.8;

    box-shadow:var(--shadow-sm);

}

.booking-notice strong{

    color:var(--primary);

    font-weight:800;

}

/* ==========================================
   SECTION SUBTITLE
========================================== */

.section-subtitle{

    color:var(--primary);

    font-size:34px;

    font-weight:800;

    margin-bottom:30px;

}

/* ==========================================
   GOLD PANEL (Health & Grooming / Breed Section)
========================================== */

.gold-panel{

    background-image:url("../../images/ui/input/gold-luxury6.png");

    background-repeat:no-repeat;

    background-position:center;

    background-size:100% 100%;

    background-color:transparent;

    border-radius:28px;

    padding:35px;

    box-shadow:0 15px 35px rgba(0,0,0,.05);

    color:var(--primary);

}

.gold-panel .form-label,
.gold-panel .form-check-label{

    color:var(--primary);

    font-weight:600;

}