/**
 * Schedule/Booking Calendar Styles
 *
 * This file contains styles for the class schedule and booking calendar UI.
 * Used on: schedule.blade.php, customer/dashboard.blade.php
 *
 * Extracted from embedded <style> blocks to improve maintainability.
 */

/* ==========================================================================
   Schedule Area Layout
   ========================================================================== */

.schedule-area {
    position: unset !important;
}

/* ==========================================================================
   Schedule Navigation Buttons
   ========================================================================== */

.schedule-change {
    width: 30px;
    height: 30px;
    border: 1px solid var(--color-primary, #B40000);
    border-radius: 100%;
    padding: 10px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0px 10px;
    background: var(--color-primary, #B40000);
    color: white;
}

.schedule-change:hover {
    color: white;
}

/* ==========================================================================
   Schedule Tabs
   ========================================================================== */

.futexo-tab-d.futexo-tab-all .schedule-icon {
    height: 70px;
    width: 100px;
    padding: unset;
    display: flex;
    align-items: center;
    justify-content: center;
}

.futexo-tab-all ul li {
    height: 70px;
    width: 100px;
    padding: unset;
    display: flex;
    align-items: center;
    justify-content: center;
}

.futexo-tab-d ul li .time {
    position: unset !important;
}

.futexo-tab-all div.day-head {
    background-color: #000000;
    color: #fff;
    height: 70px;
    width: 100px;
    text-transform: capitalize;
    font-size: 15px;
    line-height: unset;
    font-weight: 500;
    margin-bottom: 8px;
}

.futexo-tab-all div.day-head span {
    color: #fff;
    font-size: 15px;
    font-weight: 500;
}

.futexo-tab-all ul li span {
    font-size: 15px;
}

/* ==========================================================================
   Class Availability States
   ========================================================================== */

.class-exists {
    cursor: pointer;
}

.class-not-exists {
    color: grey !important;
}

.class-exists:hover {
    color: var(--color-primary, rgb(230, 46, 45));
    font-size: 16px;
}

/* ==========================================================================
   Info Header
   ========================================================================== */

#info-head {
    background: var(--color-primary, rgb(230, 46, 45));
    color: white;
    font-size: 15px;
}

/* ==========================================================================
   Info Table
   ========================================================================== */

#info-table {
    width: 50%;
}

@media (max-width: 575.98px) {
    #info-table {
        width: 70%;
    }
}

/* ==========================================================================
   Book Class Button
   ========================================================================== */

.bookClass {
    width: 25%;
}

@media (max-width: 575.98px) {
    .bookClass {
        width: 50%;
    }
}

/* ==========================================================================
   Responsive Layout - Mobile
   ========================================================================== */

@media only screen and (max-width: 576px) {
    #class-schedule {
        flex-direction: column !important;
    }

    .schedule-change-row-btn {
        display: block;
        margin-bottom: 10px;
        margin-top: -35px;
    }

    .schedule-change-side-btn {
        display: none;
    }

    .schedule-change {
        margin: 0px 0px 0px 10px;
    }
}

@media only screen and (min-width: 576px) {
    #class-schedule {
        align-items: center !important;
    }

    .schedule-change-row-btn {
        display: none !important;
    }
}

/* ==========================================================================
   Large Screen Fixes
   ========================================================================== */

@media only screen and (min-width: 1400px) and (max-width: 1600px) {
    .futexo-tab-all {
        width: unset !important;
    }
}

/* ==========================================================================
   Animation Classes
   ========================================================================== */

.futexo-classes-tab {
    transition: opacity 0.3s ease-out, transform 0.3s ease-out;
}

.futexo-classes-tab.animate-out {
    opacity: 0;
    transform: translateX(-20px);
}

.futexo-classes-tab.animate-in {
    opacity: 0;
    transform: translateX(20px);
}

/* ==========================================================================
   Slider & Wrapper Styles
   ========================================================================== */

.item-slider {
    padding: 45px 0px 35px 0px !important;
}

.timeSlot-wrapper {
    padding: 15px;
    border-radius: 15px;
    box-shadow: 0 0 18px 0px rgba(34, 87, 193, 0.14);
}

.schedule-header {
    border-radius: 4px 4px 0 0;
    padding: 5px 0px;
    margin-bottom: 12px;
}

/* ==========================================================================
   Time Slots
   ========================================================================== */

.time-slot li {
    text-align: center;
}

/* ==========================================================================
   Day Slots
   ========================================================================== */

.day-slot ul {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.day-slot li {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.day-slot li span {
    display: block;
    font-size: 18px;
    text-transform: uppercase;
    font-weight: 500;
}

.day-slot li span.slot-date {
    display: flex;
    align-items: center;
    justify-content: center;
    color: #000;
    font-size: 14px;
    font-weight: 200;
    width: 25px;
    height: 25px;
}

.day-slot li small.slot-year {
    color: #757575;
    font-size: 14px;
}

.day-slot li span.slot-date:hover {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    background: var(--color-primary, rgb(230, 46, 45));
    color: #ffffff !important;
}

/* ==========================================================================
   Current & Selected Slot Styles
   ========================================================================== */

.current-slot-date {
    border-radius: 50%;
    color: var(--color-primary, rgb(230, 46, 45)) !important;
    border: 1px solid var(--color-primary, rgb(230, 46, 45));
}

.slot-selected {
    background: var(--color-primary, rgb(230, 46, 45)) !important;
    color: #ffffff;
    width: 25px;
    height: 25px;
    display: flex !important;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    font-size: 14px !important;
    font-weight: unset !important;
}

/* ==========================================================================
   Mobile Class Times
   ========================================================================== */

#mobile-classTimes li {
    border: none !important;
}

.mobile-futexo-tab-all {
    width: 100%;
    background: rgb(241, 243, 247);
    border-radius: 10px;
    padding: 10px;
    cursor: pointer;
}

.mobile-futexo-tab-all ul li {
    height: 70px;
    width: 100px;
    padding: unset;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* ==========================================================================
   Miscellaneous
   ========================================================================== */

.sale-tag span {
    width: 60px;
    height: 30px;
    line-height: 32px;
    font-size: 12px;
}
