:root {
    /*--background: linear-gradient(45deg, #FFF, #f2d9f7, #ccd0f6); !* Lighter background for clarity *!*/
    --logo-img: '/assets/images/light-logo.png';
    --background: #fff;
    --text-gradient: linear-gradient(359deg, #681EEB 30%, #FF00CC 70%);
    --white: #fff;
    --text-white: #fff;
    --black: #000;
    --widget-border: transparent;
    --course-bg: url('../../assets/images/courses/lite-bg.jpg') no-repeat center center;
    --widget-bg: #f5f5f5;
    --widget-bg-white: #ffff;
    --theme-primary: #681EEB;
    --primary: #7300e7;
    --primary-hover: #7300e7;
    --border-color: grey;
    --border-hover: rgba(255, 255, 255, 0.2);
    --border-focus: rgba(255, 255, 255, 0.3);
    --text-primary: rgba(255, 255, 255, 0.8);
    --text-secondary: rgba(255, 255, 255, 0.6);
    --input-bg: rgba(255, 255, 255, 0.1);
    --input-bg-focus: rgba(255, 255, 255, 0.15);
    --input-shadow: rgba(255, 255, 255, 0.1);
    --card-bg: rgba(255, 255, 255, 0.1);
    --btn-outline-hover: rgba(255, 255, 255, 0.1);
    --recorded-video-bg: #80808087;
    --select-dropdown-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23000000' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    /*--ai-bg-clr: #f5f5f5;*/
}

[data-theme="dark"] {
    --logo-img: '/assets/images/dark-logo.png';
    /*--text-color: linear-gradient(45deg, #681EEB, #FF116D);*/
    --text-gradient: #fff;
    --white: #323D4E;
    --black: #fff;
    --text-white: #fff;
    /*--background: linear-gradient(250deg, #a60684, #6632a8, #000);*/
    --background: #000;
    --widget-border: #fff;
    --course-bg: transparent;
    /*--widget-bg:#15151529;*/
    --widget-bg: rgb(0 0 0 / 25%);
    --widget-bg-white: #15151529;
    --theme-primary: #57B9FF;
    --primary: #7300e7;
    --primary-hover: #7300e7;
    --border-color: rgba(255, 255, 255, 0.2);
    --border-hover: rgba(255, 255, 255, 0.2);
    --border-focus: rgba(255, 255, 255, 0.3);
    --text-primary: rgba(255, 255, 255, 0.8);
    --text-secondary: rgba(255, 255, 255, 0.6);
    --input-bg: rgba(255, 255, 255, 0.1);
    --input-bg-focus: rgba(255, 255, 255, 0.15);
    --input-shadow: rgba(255, 255, 255, 0.1);
    --card-bg: rgba(255, 255, 255, 0.1);
    --btn-outline-hover: rgba(255, 255, 255, 0.1);
    --select-dropdown-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6' fill='none'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%23ffffff' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    --recorded-video-bg: transparent;

    /*--ai-bg-clr: rgb(0 0 0 / 25%);*/
    /* Spinning gradient for dark mode */
    .bg-gradient-spin {
        animation: ColorBlobs_spin__CbrXa 8s ease-in-out infinite;
        background: conic-gradient(from 0deg, #a60684, #6632a8, #05558f, #a60684, #6632a8, #05558f);
    }
}



html {
    scroll-behavior: smooth;
}

body {
    margin: 0;
    background: var(--background);
    background-size: 100% 100%;
    /* Increase size for smoother animation */
    font-family: Poppins, sans-serif !important;
}

@keyframes ColorBlobs_spin__CbrXa {
    0% {
        transform: translate(-50%, -50%) rotate(0deg) scale(2)
    }

    to {
        transform: translate(-50%, -50%) rotate(1turn) scale(2)
    }
}

.blur-background {
    filter: blur(170px);
    pointer-events: none;
    position: fixed;
    min-width: 100%;
    margin-top: 0;
    width: 100vw;
    height: 100vh;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    z-index: 0;
    opacity: inherit;
}

.mentor-screener-blur-background {
    filter: blur(300px);
}

.gradient-container {
    border-radius: 99999px;
    position: absolute;
    top: 50%;
    left: 50%;
    width: 134vw;
    min-width: 1000px;
    height: 120vh;
    transform: translate(-50%, -50%) scale(0.6);
    overflow: hidden;
}

.bg-gradient-spin {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100vw;
    height: 100vw;
    transform: translate(-50%, -50%);
}

.nav-link:focus,
.nav-link:hover {
    color: var(--theme-primary);
}

/*@keyframes gradient-rotation {*/
/*    0% {*/
/*        background-position: 0% 50%;*/
/*    }*/
/*    50% {*/
/*        background-position: 100% 50%;*/
/*    }*/
/*    100% {*/
/*        background-position: 0% 50%;*/
/*    }*/
/*}*/


.hero-bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    position: absolute;
    inset: 0;
    z-index: 1;
}

.hero {
    position: relative;
    height: 100vh;
}

.hero-content {
    position: relative;
    z-index: 2;
    text-align: center;
    height: 100%;
    /*display: flex;*/
    /*justify-content: center;*/
    /*align-items: center;*/
}

/*.hero h1, .hero p {*/
/*    padding: 10px;*/
/*}*/
.btn-custom {
    background-color: #007bff;
    color: #fff;
}

.btn-custom:hover {
    background-color: #0056b3;
}

.hero-bg img {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: none;
    z-index: 1;
}

.clr-theme-primary {
    color: var(--theme-primary);
}

/*  Simple button slide */
.btn-theme-default {
    background-color: transparent;
    letter-spacing: 1px;
    background-size: 0 100%;
    background-image: linear-gradient(to left, #57B9FF, #57B9FF);
    background-repeat: no-repeat;
    transition: all 0.5s;
    font-size: 14px;
    text-transform: capitalize;
    max-width: 100%;
    padding: 0.5em 1em;
    /*margin: 2em;*/
    border: 1px solid #57B9FF;
    border-radius: 5px;
    color: #57B9FF;
    cursor: pointer;
    display: inline-block;
    position: relative;
    text-align: center;
}

.btn-theme-default:hover {
    border-color: #57B9FF;
    background-color: #57B9FF;
    background-image: linear-gradient(to right, #57B9FF, #57B9FF);
    background-repeat: no-repeat;
    background-size: 100% 100%;
    transition: all 0.5s;
    color: #fff;
    text-decoration: none;
}

.clr-text-white {
    color: var(--text-white);
}

.clr-white {
    color: var(--white) !important;
}

.clr-black {
    color: var(--black) !important;
}

.bg-clr-transparent {
    background-color: transparent !important;
}

.bg-transparent {
    background: transparent !important;
}

.navbar-nav .nav-item {
    position: relative;
    /* Position relative for absolute positioning of the border */
}

.navbar-nav .nav-item::after {
    content: '';
    display: block;
    height: 7px;
    border-radius: 10px;
    background: var(--theme-primary);
    position: absolute;
    left: 0;
    right: 0;
    bottom: -1.1rem;
    ;
    opacity: 0;
    transition: opacity 0.3s;
}

.navbar-nav .nav-item:hover::after,
.navbar-nav .nav-item.active::after {
    /* Show border on hover and when active */
    opacity: 1;
    /* Show border */
}

.text-right {
    text-align: right !important;
}

.divider {
    display: flex;
    align-items: center;
    text-align: center;
    margin: 20px 0;
}

.divider::before,
.divider::after {
    content: '';
    flex: 1;
    border-bottom: 1px solid #ccc;
    /* Line color */
    margin: 0 10px;
    /* Space between the text and the line */
}



.custom-toggle {
    height: 0;
    width: 0;
    visibility: hidden;
}

.custom-label {
    cursor: pointer;
    width: 50px;
    height: 25px;
    background: grey;
    display: block;
    border-radius: 100px;
    position: relative;
    transition: background-color 0.3s;
    margin-right: 10px;
    /* Add space between toggle and text */
}

.custom-label:after {
    content: '';
    position: absolute;
    top: 2px;
    left: 2px;
    width: 20px;
    height: 20px;
    background: #fff;
    border-radius: 90px;
    transition: 0.3s;
}

.custom-toggle:checked+.custom-label {
    background: #57B9FF;
}

.custom-toggle:checked+.custom-label:after {
    left: calc(100% - 2px);
    transform: translateX(-100%);
}

.custom-label:active:after {
    width: 30px;
}

/*span {*/
/*    font-size: 16px;*/
/*    color: white;*/
/*}*/



.header-border {
    border-bottom: 1px solid grey;
    padding: 0.5%;
}

.heading-clr {
    background: var(--text-gradient);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.notification-dropdown {
    position: absolute;
    top: 30px;
    /* Position it below the bell icon */
    right: 0;
    /* Align to the right */
    background-color: white;
    /* Background color */
    border: 1px solid #ccc;
    /* Border for visibility */
    border-radius: 5px;
    /* Rounded corners */
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
    /* Shadow for depth */
    z-index: 1000;
    /* Make sure it appears above other content */
    width: 350px;
    /* Set width for dropdown */
}

.notification-item {
    padding: 10px;
    /* Padding for each item */
    border-bottom: 1px solid #eee;
    /* Separator between items */
}

.notification-item:last-child {
    border-bottom: none;
    /* Remove last border */
}

.notification-item p {
    margin: 0;
    /* Remove default margin */
}

.notification-item small {
    color: #888;
    /* Lighter color for time */
    font-size: 0.8em;
    /* Smaller font for time */
}

/* Notification badge style */
.notification-badge {
    position: absolute;
    top: -5px;
    right: -7px;
    background-color: red;
    color: white;
    border-radius: 50%;
    padding: 1px 6px;
    font-size: 0.6em;
}

/* Animation for badge */
@keyframes alert-animation {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.5);
    }

    100% {
        transform: scale(1);
    }
}

.notification-badge.animate {
    animation: alert-animation 0.5s;
    /* Animation duration */
}

/* ── Modern Dashboard Cards ── */
/* ── Dashboard Service Cards ── */
.dash-card {
    position: relative;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    border: 1.5px solid color-mix(in srgb, var(--accent) 30%, transparent);
    background:
        radial-gradient(ellipse at 0% 50%, color-mix(in srgb, var(--accent) 15%, transparent) 0%, transparent 60%),
        var(--widget-bg, rgba(20, 20, 35, 0.9));
    transition: border-color 0.35s ease, box-shadow 0.35s ease, transform 0.3s ease;
}
.dash-card:hover {
    border-color: color-mix(in srgb, var(--accent) 60%, transparent);
    box-shadow:
        0 0 24px color-mix(in srgb, var(--accent) 15%, transparent),
        0 6px 24px rgba(0,0,0,0.25);
    transform: translateX(4px);
}

/* subtle gradient bg layer */
.dash-card-bg {
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 10% 50%, color-mix(in srgb, var(--accent) 10%, transparent) 0%, transparent 50%);
    opacity: 0;
    transition: opacity 0.4s ease;
}
.dash-card:hover .dash-card-bg {
    opacity: 1;
}

.dash-card-inner {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 20px 24px;
    gap: 24px;
}

/* 3D icon — left side */
.dash-card-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.dash-card-icon img {
    width: 110px;
    height: 110px;
    object-fit: contain;
    filter: drop-shadow(0 6px 12px rgba(0,0,0,0.3));
    transition: filter 0.35s ease, transform 0.35s ease;
}
.dash-card:hover .dash-card-icon img {
    filter: drop-shadow(0 10px 20px rgba(0,0,0,0.4));
    transform: scale(1.08);
}

/* label: title + description — right side */
.dash-card-label {
    flex: 1;
    min-width: 0;
}
.dash-card-title {
    font-size: 22px;
    font-weight: 700;
    color: var(--black, #fff);
    margin: 0 0 4px;
    letter-spacing: -0.2px;
}
.dash-card-desc {
    font-size: 14px;
    color: var(--black, rgba(255,255,255,0.5));
    opacity: 0.5;
    margin: 0;
    line-height: 1.45;
}

/* arrow */
.dash-card-arrow {
    flex-shrink: 0;
    color: var(--black, #fff);
    opacity: 0.2;
    transition: opacity 0.3s ease, transform 0.3s ease;
}
.dash-card:hover .dash-card-arrow {
    opacity: 0.6;
    transform: translateX(4px);
}

/* lock overlay */
.dash-card-lock {
    position: absolute;
    inset: 0;
    z-index: 5;
    background: rgba(0,0,0,0.65);
    backdrop-filter: blur(6px);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 8px;
    color: rgba(255,255,255,0.6);
    font-size: 13px;
    font-weight: 500;
    border-radius: 16px;
}

/* ── Responsive ── */
@media (max-width: 767px) {
    .dash-card-icon img {
        width: 60px;
        height: 60px;
    }
    .dash-card-inner {
        padding: 14px 16px;
        gap: 14px;
    }
    .dash-card-title {
        font-size: 15px;
    }
}

/* Legacy — hide old suggestion-widget if still rendered */
.suggestion-widget { display: none !important; }

/* Activities */
/* ImageGallery.css */
.activities-image-gallery {
    overflow-x: auto;
    /* Enables horizontal scrolling */
    overflow-y: hidden;
    /* Hides vertical overflow */
    white-space: nowrap;
    /* Prevents images from wrapping to the next line */
    padding: 10px 0;
    /* Top and bottom padding */
}

.activities-image-grid {
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    gap: 10px;
}

.activities-image-container {
    width: 165px;
    /* Set the width of each image container */
    height: 80%;
    margin-right: 10px;
    /* Space between images */
    position: relative;
    /* Allows positioning of the title */
    border: 2px solid var(--widget-border);
    /* Initial border */
    transition: transform 0.3s ease, border-color 0.3s ease;
    /* Transition for zoom and border color */
    text-align: center;
    /* Center text below the image */
    background: var(--widget-bg);
    border-radius: 15px;
}

.activities-gallery-image {
    width: 70%;
    /* Make image fill the container */
    height: auto;
    /* Maintain aspect ratio */
    border-radius: 10px;
    /* Optional: rounded corners */
    transition: transform 0.3s ease;
    /* Smooth zoom effect */
}

/* Title styling */
.activities-image-title {
    margin-top: 10px;
    /* Space between image and title */
    color: var(--black);
    /* Title color */
    font-size: 1.2em;
    /* Adjust font size */
}

/* Add icon styles */
.activities-add-icon {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    background-color: var(--widget-bg);
    border: 2px dashed #ccc;
    border-radius: 10px;
    width: 165px;
    min-height: 125px;
    height: 100%;
    box-sizing: border-box;
}

/* Hover effect */
.activities-image-container:hover {
    transform: scale(1.1);
    /* Zoom in effect */
    border-color: skyblue;
    /* Change border color to blue */
    border-radius: 15px;
}

.activities-image-container:hover .activities-gallery-image {
    transform: scale(1.1);
    /* Zoom in effect on image */
}


.upcoming-events-box {
    padding: 10%;
    background: var(--widget-bg);
    border-radius: 15px;
    margin-top: 10%;
    height: 100%;
    border: 1px solid var(--widget-border);
}

/*.view-all{*/
/*    color: #681EEB!important;*/
/*}*/

.event-item {
    display: flex;
    /* Flex container for the event item */
    justify-content: space-between;
    /* Space between title and explore link */
    align-items: center;
    /* Center items vertically */
    padding: 10px;
    /* Add some padding for spacing */
    border-radius: 5px;
    /* Optional: rounded corners */
    margin-bottom: 8%;
    /* Space between multiple event items */
    transition: background 0.3s ease;
    /* Smooth transition for background change */
}

/* Hover effect */
.event-item:hover {
    background: linear-gradient(35deg, #681EEB 30%, #FF00CC 70%);
    /* Gradient background on hover */
    border-radius: 5px;
    /* Keep the border radius */
    color: #fff;
    /* Optional: change text color on hover for better contrast */
}

/* Ensure text and link color remains visible */
.event-item:hover .explore-link {
    color: var(--black);
    /* Change explore link color on hover */
}

.event-info {
    display: flex;
    /* Flex container for the event info */
    align-items: center;
    /* Center icon and title vertically */
}

.event-icon {
    display: flex;
    /* Flex container for the icon */
    align-items: center;
    /* Center icon */
    justify-content: center;
    /* Center icon */
    width: 40px;
    /* Set width for the icon */
    height: 40px;
    /* Set height for the icon */
    border-radius: 50%;
    /* Make it circular */
    margin-right: 10px;
    /* Space between the icon and title */
    background: grey;
}

.event-title {
    margin: 0;
    /* Remove default margin */
    font-size: 1.2em;
    /* Adjust font size for the title */
}

.explore-link {
    color: var(--black);
    /* Change color for the explore link */
    text-decoration: none;
    /* Remove underline */
}

.explore-link:hover {
    text-decoration: underline;
    /* Add underline on hover for better UX */
}

.circular-arrow {
    display: flex;
    /* Use flexbox for centering */
    justify-content: center;
    /* Center horizontally */
    align-items: center;
    /* Center vertically */
    width: 40px;
    /* Width of the circle */
    height: 40px;
    /* Height of the circle */
    background-color: #d3d3d3;
    /* Background color for the circle */
    border-radius: 50%;
    /* Make it circular */
    /*border: 2px solid #681EEB; !* Optional: border color *!*/
    transition: background-color 0.3s ease;
    /* Optional: transition for hover */
}

/* Rotating the icon */
.arrow-icon {
    font-size: 24px;
    /* Adjust icon size */
    color: #fff;
    /* Icon color */
    transform: rotate(45deg);
    /* Rotate the icon */
    transition: transform 0.3s ease;
    /* Optional: smooth transition for rotation */
}

/* Optional: hover effect */
.circular-arrow:hover {
    color: #fff;
    background-color: skyblue;
    /* Change background on hover */
}

.circular-arrow:hover .arrow-icon {
    transform: rotate(90deg) scale(1.1);
    /* Scale icon slightly on hover */
}


/*Mentor Carousel*/
/* Mentor Arrow Styling */
.mentor-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 1;
    font-size: 2rem;
    color: #681EEB;
    border-radius: 50%;
    padding: 8px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.mentor-arrow:hover {
    background-color: transparent;
}

.next {
    right: -35px;
    /* Adjust for desired positioning */
}

.prev {
    left: -35px;
    /* Adjust for desired positioning */
}

/* Slide and Image Spacing */
.mentor-slide {
    padding: 0 10px;
    /* Adds space to the left and right of each slide */
}

/* Image Container and Overlay Setup */
/* Image Container and Overlay Setup */
.mentor-image-container {
    position: relative;
    overflow: hidden;
    border-radius: 10px;
    transition: transform 0.3s ease;
}

.mentor-image {
    width: 100%;
    transition: transform 0.3s ease;
    height: auto;
}

.mentor-slide:hover .mentor-image {
    transform: scale(1.05);
    /* Slight zoom effect on hover */
}

/* Full Image Overlay Styling */
.mentor-overlay {
    position: absolute;
    bottom: -100%;
    /* Start off-screen at the bottom */
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6);
    /* Semi-transparent dark overlay */
    /*display: flex;*/
    align-items: flex-end;
    /* Align items to the bottom */
    justify-content: center;
    transition: bottom 0.3s ease;
    /* Transition for the slide-in effect */
    border-radius: 10px;
    padding-top: 10rem;
}

/* Slide the overlay up to cover the image on hover */
.mentor-slide:hover .mentor-overlay {
    bottom: 0;
    /* Slide the overlay up to cover the image */
}

/* Container for the content at the bottom */
.overlay-content {
    width: 100%;
    /* Make it full width */
    padding: 10px;
    /* Add some padding */
    text-align: center;
    /* Center align text */
}

/* Mentor Name */
.mentor-name {
    font-size: 1.6rem;
    font-weight: bold;
    margin: 0;
    /* Remove margin to avoid extra space */
    color: var(--text-white);
}

/* ViewCourseButton.css */

/* Button Styling */
.view-course-btn {
    background-color: transparent;
    border: none;
    color: #fff;
    padding: 8px 16px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 18px;
    transition: background-color 0.3s ease;
    position: relative;
    /* For positioning the icon */
    display: flex;
    /* To align the icon and text */
    align-items: center;
    /* Center align text and icon vertically */
    margin: 0 auto;
}

/* Arrow Icon Styling */
.mentor-arrow-icon {
    width: 20px;
    /* Set width */
    height: 20px;
    /* Set height */
    margin-left: 8px;
    /* Space between the text and icon */
    background-color: transparent;
    /* White circular background */
    border: 1px solid #fff;
    border-radius: 50%;
    /* Circle shape */
    display: flex;
    /* Align the icon inside the circle */
    align-items: center;
    /* Center align icon vertically */
    justify-content: center;
    /* Center align icon horizontally */
    transition: transform 0.3s ease;
    /* Smooth transition for rotation */
    transform: rotate(45deg);
    /* Initial rotation */
}

/* Rotate the arrow to 90 degrees on hover */
.view-course-btn:hover .mentor-arrow-icon {
    transform: rotate(90deg);
    /* Rotate to 90 degrees on hover */
}

/* Change button color on hover */
.view-course-btn:hover {
    background-color: transparent;
    /* Change button background color on hover */
}


.view-all-view-course-btn {
    background-color: transparent;
    border: none;
    color: var(--theme-primary);
    padding: 8px 16px;
    border-radius: 5px;
    cursor: pointer;
    font-size: 24px;
    transition: background-color 0.3s ease;
    position: relative;
    /* For positioning the icon */
    display: flex;
    /* To align the icon and text */
    align-items: center;
    /* Center align text and icon vertically */
    margin: 0 auto;
    /*color: var(--text-gradient);*/
}

/* Arrow Icon Styling */
.view-all-mentor-arrow-icon {
    width: 25px;
    /* Set width */
    height: 25px;
    /* Set height */
    margin-left: 8px;
    /* Space between the text and icon */
    background-color: transparent;
    /* White circular background */
    /*border: 1px solid #000;*/
    border-radius: 50%;
    /* Circle shape */
    display: flex;
    /* Align the icon inside the circle */
    align-items: center;
    /* Center align icon vertically */
    justify-content: center;
    /* Center align icon horizontally */
    transition: transform 0.3s ease;
    /* Smooth transition for rotation */
    transform: rotate(130deg);
    /* Initial rotation */
}

/* Rotate the arrow to 90 degrees on hover */
.view-all-view-course-btn:hover .view-all-mentor-arrow-icon {
    transform: rotate(45deg);
    /* Rotate to 90 degrees on hover */
}


/*Courses*/
/*Filter*/
.filter-box {
    max-width: 85%;
    background-color: var(--widget-bg);
    padding: 10% !important;
    border-radius: 15px;
    /*margin-top: 20%;*/
    border: 1px solid var(--widget-border);
}

.grey-box {
    background-color: var(--widget-bg);
    border-radius: 15px;
}

.mentor-carousel-container {
    padding: 0 5px;
    /* Minimized padding on left and right */
    position: relative;
    /* Ensure relative positioning for overflow control */
}

.react-multi-carousel-list {
    display: flex;
    align-items: center;
    overflow: visible;
    /* Allow arrows to overflow */
}

.carousel-item-spacing {
    padding: 0 4px;
    /* Reducing the space between each item */
}

.mentor-carousel-item {
    padding: 0;
    /* No extra padding around each item */
    margin: 0;
    /* Ensuring no extra margin */
    transition: transform 0.2s;
}

.mentor-carousel-item:hover {
    transform: scale(1.05);
}

.mentor-carousel-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: #f2f2f2;
    border: 2px solid #6200ea;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #6200ea;
    cursor: pointer;
    z-index: 2;
    /* Ensure arrows are on top */
}

.mentor-carousel-arrow-left {
    left: -5%;
    /* Space to the left */
}

.mentor-carousel-arrow-right {
    right: -5%;
    /* Space to the right */
}

.course-mentor-image {
    width: 80px;
    height: 80px;
    margin: auto;
    border: 3px solid #ccc;
    border-radius: 50%;
    transition: border-color 0.3s;
}

.mentor-selected .course-mentor-image {
    border-color: #6200ea;
    box-shadow: 0 0 10px rgba(98, 0, 234, 0.6);
}

.text-primary {
    color: #6200ea !important;
}

.text-black {
    color: #333 !important;
}

/* CardWrapper.module.css */
.cardWrapper {
    position: relative;
    width: 400px;
    height: 500px;
    border-radius: 20px;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
    box-shadow: 10px 10px 53px 0px rgba(0, 0, 0, 0.49);
}

.image {
    width: 100%;
    height: 100%;
    border-radius: 20px;
    transition: all 0.3s ease-in-out;
    z-index: 20;
    box-shadow: 10px 10px 53px 0px rgba(0, 0, 0, 0.49);
}

.cardBottom {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 1rem;
    color: #fff;
    background-color: rgba(110, 122, 92, 0.7);
    transform: translateY(100%);
    transition: all 0.8s ease;
    text-align: center;
}

.cardTop {
    position: relative;
    width: 100%;
    height: 100%;
    z-index: 1;
}

.cardWrapper:hover .image {
    filter: blur(1.4px);
    transform: scale(1.5);
    box-shadow: inset -6px -1px 32px 0px rgba(0, 0, 0, 0.75);
}

.cardWrapper:hover .cardBottom {
    transform: translateY(0);
}


.card-bottom {
    width: 100%;
    position: absolute;
    z-index: 20;
    display: none;
    top: 50%;
    background-color: rgba(110, 122, 92, 0);
    padding: 100px 20px;
    color: #ffffff;
    transform: translate(100%, -50%);
}

.top-text {
    font-size: 25px;
    line-height: 40px;
    font-weight: bold;
    letter-spacing: 1px
}

.bottom-text {
    font-size: 15px;

}


.button {
    position: relative;
    display: block;
    outline: none;
    cursor: pointer;
    margin-top: 25px;
    border: none;
    border-radius: 3px;
    background-color: #f8961e;
    color: #ffffff;
    padding: 5px 20px
}

/*Courses*/
.course-details-breadcrumb-bg {
    background: var(--course-bg);
    background-size: cover;
    background-blend-mode: overlay;
    padding-bottom: 20px;
    /*height: 340px;*/
    border: 1px solid #fff;
}

.course-video-border {
    /*border: 0px solid blue;*/
    background-color: var(--widget-bg);
}

.public-chat-bg {
    background-color: var(--widget-bg) !important;
}

.content-box {
    background-color: var(--widget-bg);
    border: 1px solid var(--widget-border);
}

.course-bg {
    background-image: var(--course-bg);
}

.selected-mentor {
    border: 5px solid #7300e7;
    border-radius: 50%;
}

/*End*/

/*Loader*/
.loader-container {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100px;
    /* Adjust based on your layout needs */
}

.spinner {
    width: 40px;
    height: 40px;
    border: 4px solid rgba(0, 0, 0, 0.1);
    border-left-color: #3498db;
    border-radius: 50%;
    animation: spin 1s linear infinite;
}

@keyframes spin {
    0% {
        transform: rotate(0deg);
    }

    100% {
        transform: rotate(360deg);
    }
}

/*End*/

/*Services*/
.service-item {
    text-align: center;
}

.service-link {
    text-decoration: none;
    color: inherit;
}

.icon-container {
    width: 200px;
    height: 200px;
    margin: 0 auto;
    border-radius: 12px;
    background: var(--widget-bg);
    border: 1px solid var(--widget-border);
    display: flex;
    align-items: center;
    justify-content: center;
}

.service-image {
    width: 70%;
    height: 70%;
    object-fit: contain;
    transition: transform 0.3s ease;
    /* Zoom effect only on the image */
}

.service-text {
    margin-top: 8px;
    font-size: 24px;
    transition: transform 0.3s ease;
    /* Zoom effect only on the text */
}

.service-item:hover .service-image,
.service-item:hover .service-text {
    transform: scale(1.1);
    /* Only image and text will zoom */
}

/*End*/

/*Profile*/
/*.profile-dashboard {*/
/*    background: var(--background);*/
/*}*/

.profile-tab-link {
    position: relative;
    background: transparent;
    border: none !important;
    color: var(--black);
    margin-bottom: 3% !important;
    transition: color 0.3s ease;
    /* Optional: smooth color change */
}

.profile-tab-link.active {
    color: var(--black) !important;
    background-color: transparent !important;
}

.profile-tab-link::after {
    content: "";
    position: absolute;
    bottom: -6px;
    /* Adjust the position as needed */
    left: 50%;
    /* Centers the border initially */
    width: 0%;
    /* Start with no width */
    height: 6px;
    background-color: var(--primary);
    border-radius: 12px;
    transition: width 0.3s ease, left 0.3s ease;
    /* Smooth transition */
}

.profile-tab-link.active::after {
    width: 50%;
    /* Expand the width when active */
    left: 25%;
    /* Center the expanded border */
}

.profile-tab-link:hover {
    color: var(--black) !important;
    border: none !important;
    /*border-bottom: 2px solid var(--border-hover) !important;*/
}


.profile-input {
    background: var(--input-bg) !important;
    border: 1px solid var(--black) !important;
    color: var(--black) !important;
    /*color: #bb7676 !important;*/
}

.profile-input-gender {
    background: var(--input-bg) !important;
    color: var(--black);
}

.profile-input:focus {
    background: var(--input-bg-focus) !important;
    border-color: var(--black) !important;
    box-shadow: 0 0 0 0.25rem var(--input-shadow) !important;
}

.profile-card {
    background: transparent !important;
    /*border: 1px solid var(--border-color) !important;*/
    border-radius: 0.375rem;
    margin-bottom: 1rem;
}

.profile-card-body {
    padding: 1.25rem;
}

.profile-subscription-card {
    background: var(--card-bg) !important;
    border: 1px solid var(--border-color) !important;
    border-radius: 0.375rem;
    margin-bottom: 1rem;
}

.profile-subscription-body {
    padding: 1.25rem;
}

.profile-form-label {
    color: var(--black);
    margin-bottom: 0.5rem;
    display: block;
}

.profile-card-title {
    color: var(--black);
    margin-bottom: 1rem;
}

.profile-card-text {
    color: var(--text-primary);
    margin-bottom: 0.5rem;
}

.profile-btn-primary {
    background: var(--primary);
    border: none;
    color: var(--black);
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    cursor: pointer;
}

.profile-btn-primary:hover {
    background: var(--primary-hover);
}

.profile-btn-outline {
    background: transparent;
    border: 1px solid var(--border-color);
    color: var(--black);
    padding: 0.5rem 1rem;
    border-radius: 0.375rem;
    cursor: pointer;
}

.profile-btn-outline:hover {
    background: var(--btn-outline-hover);
}

.profile-image {
    width: 100%;
    height: 300px;
    object-fit: contain;
    border-top-left-radius: 0.375rem;
    border-top-right-radius: 0.375rem;
}

.profile-tabs-container {
    width: 100%;
    background-color: transparent;
    /* Optional: Add a background color for visual separation */
    padding: 0;
}

.profile-tabs {
    justify-content: center;
    border-bottom: 1px solid var(--border-color);
}

.pr-10per {
    padding-right: 10%;
}

/*End*/

/*Toast*/
.colored-toast.swal2-icon-success {
    background-color: #a5dc86 !important;
}

.colored-toast.swal2-icon-error {
    background-color: #f27474 !important;
}

/*end*/

/*Courses*/
/* mycourse-foundation.css */

/* Container styles */
.mycourse-container {
    max-width: 1200px;
    margin: 0 auto;
}

.mycourse-heading {
    font-size: 2rem;
    font-weight: 600;
    color: #2c3e50;
}

/* Card styles */
.mycourse-card {
    transition: all 0.3s ease;
    border: none;
    border-radius: 12px;
    overflow: hidden;
}

.mycourse-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

.mycourse-image {
    transition: transform 0.3s ease;
}

.mycourse-card:hover .mycourse-image {
    transform: scale(1.05);
}

.mycourse-image-wrapper {
    overflow: hidden;
}

/* Content styles */
.mycourse-title {
    font-size: 1.25rem;
    font-weight: 600;
    color: #2c3e50;
    margin-bottom: 0.5rem;
}

.mycourse-description {
    font-size: 0.9rem;
    overflow: hidden;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    line-clamp: 2;
    -webkit-box-orient: vertical;
}

.mycourse-mentor {
    font-size: 0.9rem;
}

/* Progress bar styles */
.mycourse-progress-bar-wrapper {
    height: 8px;
    background-color: #e9ecef;
    border-radius: 4px;
    overflow: hidden;
}

.mycourse-progress-bar {
    height: 100%;
    background-color: #0d6efd;
    transition: width 0.3s ease;
}

/* Badge styles */
.mycourse-status-badge {
    font-size: 0.8rem;
    padding: 0.5rem 1rem;
    border-radius: 20px;
}

.mycourse-completed-badge {
    font-size: 0.8rem;
    padding: 0.5rem 1rem;
    border-radius: 20px;
}

/* Tab styles */
.mycourse-tabs {
    border-bottom: 2px solid #e9ecef;
    gap: 1rem;
}

.mycourse-tab-btn {
    border: none;
    background: none;
    padding: 0.75rem 1.25rem;
    color: var(--black);
    position: relative;
    transition: color 0.3s ease;
}

.mycourse-tab-btn:hover {
    color: #0d6efd;
}

.mycourse-tab-btn.active {
    color: #0d6efd;
    font-weight: 500;
}

.mycourse-tab-btn.active::after {
    content: '';
    position: absolute;
    bottom: -2px;
    left: 0;
    right: 0;
    height: 2px;
    background-color: #0d6efd;
}

/* Empty state styles */
.mycourse-empty-state {
    padding: 3rem 0;
}

.mycourse-empty-icon {
    font-size: 3rem;
    color: #6c757d;
    display: block;
}

.mycourse-empty-title {
    font-weight: 600;
    margin-bottom: 0.5rem;
}

.mycourse-empty-text {
    color: #6c757d;
}

/* Certificate button styles */
.mycourse-certificate-btn {
    background-color: transparent;
    border: 2px solid #0d6efd;
    color: #0d6efd;
    padding: 0.5rem 1rem;
    border-radius: 6px;
    transition: all 0.3s ease;
}

.mycourse-certificate-btn:hover {
    background-color: #0d6efd;
    color: white;
}

/* Tab content transitions */
.mycourse-tab-pane {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.mycourse-tab-pane.show {
    display: block;
}

.mycourse-tab-pane.active {
    opacity: 1;
}

/*End*/

/*Sandbox*/

.sandbox-main-title {
    font-size: 18px;
    font-weight: bold;
    color: #4B0082;
    text-align: center;
}

.sandbox-play-now {
    color: #4B0082;
    text-decoration: none;
    font-weight: bold;
    display: flex;
    align-items: center;
}

.sandbox-play-now img {
    width: 16px;
    height: 16px;
    margin-right: 5px;
}

.sandbox-game-card {
    border-radius: 12px;
    padding: 20px;
    background: radial-gradient(98.32% 210.82% at 0.91% 3.12%, rgba(225, 225, 225, 0.16) 0%, rgba(187, 186, 186, 0.16) 100%);
    text-align: center;
    transition: transform 0.3s ease;
}

.sandbox-game-card:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
    transform: scale(1.1);
}

.sandbox-game-link {
    text-decoration: none;
    color: black;
}

.sandbox-game-link:hover {
    color: black;
}

.sandbox-game-title {
    margin-top: 10px;
    font-size: 16px;
    font-weight: bold;
}

.sandbox-leaderboard-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: bold;
}

.sandbox-leaderboard-link {
    color: #4B0082;
    text-decoration: none;
}

.sandbox-leaderboard-profile {
    display: flex;
    align-items: center;
    padding: 10px 0;
    border-bottom: 1px solid #ddd;
}

.sandbox-leaderboard-profile img {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    margin-right: 10px;
}

.sandbox-rank {
    font-size: 14px;
    color: #666;
}

/*End*/

.section-box {
    /*background: radial-gradient(98.32% 210.82% at 0.91% 3.12%, rgba(225, 225, 225, 0.16) 0%, rgba(187, 186, 186, 0.16) 100%);*/
    background: var(--widget-bg);
    padding: 10%;
    border-radius: 15px;
    height: 100%;
}

/*LeaderBoard*/
.leaderboard-card {
    transition: transform 0.3s ease;
}

.leaderboard-card:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

.leader-badge-card .card {
    background: radial-gradient(98.32% 210.82% at 0.91% 3.12%, rgba(225, 225, 225, 0.16) 0%, rgba(187, 186, 186, 0.16) 100%);
    text-align: center;
    padding: 20px;
    border: none;
    margin-bottom: 15px;
    transition: box-shadow 0.3s ease;
}

.leader-star-img {
    width: 80px;
    height: 80px;
    margin-bottom: 10px;
}

.leader-star-container {
    position: relative;
    display: inline-block;
    margin-bottom: 20px;
    margin-top: 30%;
}

.leader-star-number {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 2.5rem;
    color: #fff;
    font-weight: bold;
}

/* Dots Around the Star */
.dot {
    position: absolute;
    border-radius: 50%;
    animation: dotMove 2s infinite ease-in-out;
}

/* Dot Positions and Colors */
.dot1 {
    width: 6px;
    height: 6px;
    background-color: #ff00ff;
    top: -10px;
    left: 100px;
}

.dot2 {
    width: 8px;
    height: 8px;
    background-color: #ffb3ff;
    top: 15px;
    left: 80px;
}

.dot3 {
    width: 5px;
    height: 5px;
    background-color: #681EEB;
    top: -15px;
    left: -60px;
}

.dot4 {
    width: 7px;
    height: 7px;
    background-color: #ff00ff;
    top: 30px;
    left: -30px;
}

.dot5 {
    width: 6px;
    height: 6px;
    background-color: #ffb3ff;
    top: 45px;
    left: 100px;
}

.dot6 {
    width: 9px;
    height: 9px;
    background-color: #681EEB;
    top: 60px;
    left: -25px;
}

.dot7 {
    width: 5px;
    height: 5px;
    background-color: #ff00ff;
    top: 80px;
    left: 70px;
}

.dot8 {
    width: 10px;
    height: 10px;
    background-color: #ffb3ff;
    top: -10px;
    left: -20px;
}

/* Animation */
@keyframes dotMove {

    0%,
    100% {
        transform: translate(0, 0);
    }

    50% {
        transform: translate(5px, -5px);
    }
}


.leader-divider {
    width: 100%;
    height: 1px;
    background-color: black;
    margin: 10px auto;
}

.leader-explore-btn {
    display: inline-block;
    margin-top: 10px;
    padding: 5px 15px;
    color: #fff;
    background-color: #681EEB;
    text-decoration: none;
    border-radius: 4px;
}

.leader-sidebar {
    margin-bottom: 20px;
    font-size: small;
}

.leader-sidebar .list-group-item {
    background: radial-gradient(98.32% 210.82% at 0.91% 3.12%, rgba(225, 225, 225, 0.16) 0%, rgba(187, 186, 186, 0.16) 100%);
    border: none;
    display: flex;
    align-items: center;
}

/*End*/

/*Chats*/
.list-group-item:hover {
    background-color: #f0f0f0;
    cursor: pointer;
}

.message-sent {
    background-color: #cfe9ff;
    border-radius: 12px;
    padding: 8px;
    margin: 5px 0;
}

.message-received {
    background-color: #e1e5ea;
    border-radius: 12px;
    padding: 8px;
    margin: 5px 0;
}

.chat-header {
    background: linear-gradient(135deg, #8e2de2 0%, #4a00e0 100%);
    color: #fff;
    padding: 1rem;
}

.emoji-picker {
    display: flex;
    justify-content: center;
    padding: 0.5rem;
    background-color: #fff;
    border-radius: 5px;
    box-shadow: 0px 0px 10px rgba(0, 0, 0, 0.1);
    position: absolute;
    bottom: 0px;
    right: 10%;
    z-index: 1000;
}

.h-85 {
    height: 85% !important;
}

.bg-grey {
    background-color: var(--widget-bg) !important;
}

.box-shadow {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1) !important;
}

.h-3em {
    height: 3em;
}

/*End*/

/*AI*/
.unique-pdf-card {
    display: flex;
    align-items: center;
    border: none;
    border-radius: 10px;
    background: radial-gradient(98.32% 210.82% at 0.91% 3.12%, rgba(225, 225, 225, 0.16) 0%, rgba(187, 186, 186, 0.16) 100%);
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    padding: 1rem;
    transition: box-shadow 0.3s ease;
    /* Smooth transition */
    width: 80%;
}

.unique-pdf-card:hover {
    box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
    /* Stronger shadow on hover */
}

.unique-card-info {
    font-size: 0.9rem;
    color: #333;
}

.unique-name {
    font-weight: bold;
}

.unique-datetime {
    color: #777;
    text-transform: lowercase;
}

.unique-divider {
    width: 1px;
    background-color: #0d0c0c;
    height: 100px;
    margin: 0 1rem;
}

.unique-card-details {
    text-align: center;
    margin-right: 1rem;
}

.unique-number {
    font-size: 4.5rem;
    font-weight: bold;
    color: #333;
    margin: 0;
}

.unique-file-type {
    font-size: 1rem;
    color: #777;
}

.unique-icon-section {
    display: flex;
    align-items: center;
    justify-content: center;
}

.unique-pdf-icon {
    width: 100px;
    height: 120px;
    margin-right: -8rem;
}

/*End*/

/*Calendar*/
/* Calendar Container */

.calendar-card {
    border: none;
    transition: box-shadow 0.3s ease;
}

.calendar-card-body {
    padding: 1.5rem;
}

/* Calendar Header */
.calendar-title h2 {
    margin-bottom: 0.5rem;
    color: #2c3e50;
}

.calendar-subtitle {
    font-size: 0.9rem;
    color: #6c757d;
}

.calendar-actions {
    display: flex;
    gap: 0.5rem;
}

/* Calendar Main */
.calendar-main {
    background-color: white;
    padding: 20px;
    border-radius: 8px;
}

/* Calendar Events */
.calendar-event {
    padding: 4px 8px !important;
    margin: 2px;
    border-radius: 4px !important;
    font-size: 0.875rem !important;
    cursor: pointer;
    transition: all 0.2s ease;
}

.calendar-event:hover {
    transform: scale(1.02);
    opacity: 1 !important;
    z-index: 1000;
}

/* Calendar Header Customization */
.calendar-main .rbc-header {
    padding: 10px !important;
    font-weight: 600 !important;
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

/* Calendar Toolbar */
.calendar-main .rbc-toolbar {
    margin-bottom: 20px !important;
    padding: 10px 0;
}

.calendar-main .rbc-toolbar button {
    color: #6c757d !important;
    border: 1px solid #dee2e6 !important;
    padding: 6px 12px;
    transition: all 0.2s ease;
}

.calendar-main .rbc-toolbar button:hover {
    background-color: #f8f9fa !important;
    color: #000 !important;
}

.calendar-main .rbc-toolbar button.rbc-active {
    background-color: #0d6efd !important;
    color: white !important;
}

/* Calendar Day Cells */
.calendar-main .rbc-today {
    background-color: #f8f9fa !important;
}

/* Modal Styles */
.calendar-modal {
    background-color: rgba(0, 0, 0, 0.5);
    animation: calendar-fade-in 0.3s ease-out;
}

.calendar-modal-dialog {
    animation: calendar-slide-up 0.4s ease-out;
}

.calendar-modal-content {
    border: none;
    box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
}

.calendar-modal-header {
    background-color: #f8f9fa;
    border-bottom: 1px solid #dee2e6;
}

.calendar-modal-title {
    color: #2c3e50;
    font-weight: 600;
}

.calendar-event-details {
    padding: 0.5rem 0;
}

.calendar-event-desc {
    line-height: 1.6;
}

.calendar-event-time,
.calendar-event-location {
    color: #6c757d;
    font-size: 0.9rem;
}

.calendar-icon {
    color: #0d6efd;
}

.calendar-badge {
    text-transform: uppercase;
    font-size: 0.75rem;
    padding: 0.4em 0.8em;
}

/* Custom Animations */
@keyframes calendar-fade-in {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes calendar-slide-up {
    from {
        opacity: 0;
        transform: translateY(100px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}

/* Responsive Styles */
@media (max-width: 768px) {
    .calendar-main .rbc-toolbar {
        flex-direction: column;
        align-items: stretch !important;
        gap: 10px;
    }

    .calendar-main .rbc-toolbar-label {
        margin: 10px 0;
        text-align: center;
    }

    .calendar-header {
        flex-direction: column;
        gap: 1rem;
    }

    .calendar-actions {
        width: 100%;
        justify-content: space-between;
    }
}

/* Print Styles */
@media print {
    .calendar-container {
        padding: 0 !important;
    }

    .calendar-actions {
        display: none !important;
    }
}

/*End*/

/*Podcast*/
/* Trending Section Styling */
.podcast-trending-section {
    text-align: center;
}

.podcast-icon-button {
    background: none;
    border: none;
    cursor: pointer;
    padding: 0;
    margin: 0;
}

.podcast-icon-button img {
    width: 20px;
    opacity: 0.7;
}

.podcast-recent-playlists .podcast-list-item {
    display: flex;
    align-items: center;
    padding: 10px 15px;
    border: none;
    background-color: var(--widget-bg);
    border-bottom: 1px solid #e0e0e0;
}

.podcast-recent-playlists .podcast-list-item:last-child {
    border-bottom: none;
}

.podcast-recent-playlists .podcast-list-item>span {
    flex-grow: 1;
    text-align: left;
    color: #6c757d;
}

.podcast-duration {
    margin-right: 10px;
    color: #6c757d;
    text-align: right;
    white-space: nowrap;
}

.podcast-recent-playlists h4 {
    font-size: 16px;
    color: #343a40;
    margin-bottom: 15px;
}

.podcast-top-mentor h4 {
    margin-bottom: 10px;
}

.podcast-top-mentor input[type="text"] {
    margin-top: 10px;
}

.podcast-list .podcast-card {
    background-color: var(--widget-bg);
    text-align: center;
    border-radius: 8px;
    padding: 15px;
    margin: 10px 0;
    width: 100%;
    border: none;
    cursor: pointer;
    transition: transform 0.2s;
}

.podcast-list .podcast-card:hover {
    transform: scale(1.05);
}

.podcast-icon-small {
    width: 60px;
    margin-bottom: 10px;
}

.podcast-list .podcast-card p {
    margin: 0;
    font-weight: bold;
}

.podcast-control-buttons {
    display: flex;
    justify-content: space-evenly;
    align-items: center;
    gap: 10px;
    margin: 0 auto;
}

.podcast-control-buttons button {
    border: none;
    background: none;
    outline: none;
    cursor: pointer;
}

.podcast-audio-controls {
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.podcast-title-line {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.podcast-icon {
    width: 20px;
}

.podcast-section-background {
    background-color: var(--widget-bg);
    border-radius: 8px;
    padding: 15px;
}

.podcast-image-large {
    margin-top: -50%;
}

.podcast-author-name {
    font-weight: bold;
    color: #6c757d;
    margin-top: 10px;
}

.pt-20per {
    padding-top: 20% !important;
}

/*End*/

.fade-up .modal-dialog {
    transform: translateY(100%);
    transition: transform 0.3s ease-out;
}

.fade-up.show .modal-dialog {
    transform: translateY(0);
}

.selected-blur {
    opacity: 0.5;
    filter: blur(1px);
}

.blurred {
    filter: blur(5px);
    /* Adjust the blur intensity as needed */
}

.profile-dropdown {
    width: 11% !important;
    right: 10% !important;
    top: 7% !important;
}

.cursor-pointer {
    cursor: pointer !important;
}

.button-gradient {
    height: 50px;
    border-radius: 10px;
    background-image: linear-gradient(70deg, #ff01c7 0%, #3c00c3 50%, #ff01c7 100%);
    background-size: 250% 100%;
    background-position: 0% 0;
    border: 1px solid transparent;
    transition: background-position 1s ease-out;
    color: white;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
}

.button-gradient:hover {
    background-position: -100% 0;
}

.button-gradient .button-text {
    transition: transform 0.3s ease;
}

.button-gradient .arrow-icon {
    opacity: 0;
    transform: translateX(-10px);
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.button-gradient:hover .button-text {
    transform: translateX(-5px);
}

.button-gradient:hover .arrow-icon {
    opacity: 1;
    transform: translateX(0);
}

.button-gradient::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    width: 300%;
    height: 300%;
    background-color: rgba(255, 255, 255, 0.1);
    border-radius: 50%;
    transform: translate(-50%, -50%) scale(0);
    transition: transform 0.5s ease-out;
}

.button-gradient:hover::after {
    transform: translate(-50%, -50%) scale(1);
}

/*Download Card*/
.download-card {
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s ease-in-out;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    /* Subtle default shadow */
}

.download-card:hover {
    box-shadow: 0 8px 24px rgba(0, 0, 0, 0.3);
    /* Stronger shadow on hover */
}

.download-card .card-img-top {
    width: 120%;
    height: 200% !important;
    overflow: hidden;
}

.download-card .card-body {
    padding: 1rem;
    background-color: #fff;
}

.back-button {
    display: flex;
    align-items: center;
    font-size: 16px;
    color: #007bff;
    margin-bottom: 20px;
}

.back-button:hover {
    text-decoration: underline;
}

/*End*/

/*live classes card*/
.live-classes {
    border: 1px solid #ddd;
    border-radius: 8px;
    overflow: hidden;
    transition: box-shadow 0.3s ease-in-out;
}

.live-classes:hover {
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
}

.live-classes-card-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-right: 1px solid #ddd;
}

.live-classes-card-body {
    padding: 15px;
}

.live-classes-card-title {
    font-size: 1.2rem;
    font-weight: bold;
}

.live-classes-card-text {
    font-size: 1rem;
    margin-bottom: 10px;
}

.live-classes-card-text a {
    color: #007bff;
    text-decoration: none;
}

.live-classes-card-text a:hover {
    text-decoration: underline;
}

.live-classes-btn {
    margin-top: 10px;
    padding: 8px 16px;
    text-align: center;
    border-radius: 4px;
}

.live-classes-btn:hover {
    background-color: #0056b3;
}

/*end*/

/*Course Videos*/
/* Container styles */
.video-course-container {
    max-width: 100%;
}

/* Video Player */
.video-course-player {
    border: 1px solid #ddd;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

/* Scrollable List */
.video-course-list {
    max-height: 77%;
    /* Total height */
    overflow-y: auto;
    padding: 0;
    margin: 0;
    list-style: none;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
    border: 1px solid var(--black);
}



/* Optional: Enhance scroll appearance */
.video-course-list::-webkit-scrollbar {
    width: 6px;
}

.video-course-list::-webkit-scrollbar-thumb {
    background-color: #888;
    border-radius: 10px;
}


/* List Item Styles */
.video-course-list-item {
    display: flex;
    align-items: flex-start;
    /* Changed from center to flex-start */
    padding: 10px;
    gap: 8px;
    min-height: 72px;
    /* Ensures consistent height for items */
}

.video-course-list-item>.badge {
    margin-top: 2px;
    /* Aligns badges with first line of text */
}

.video-course-list-item:last-child {
    border-bottom: none;
}

/* Hover Effect */
/*.video-course-list-item:hover {*/
/*    background-color: #f1f1f1;*/
/*}*/

/* Active Item */
.video-course-active {
    /*background-image: linear-gradient(70deg, #ff01c7 0%, #3c00c3 50%, #ff01c7 100%);*/
    color: #57B9FF !important;
    font-weight: bold;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}

/* View All Button */
.video-course-view-all {
    font-size: 0.9rem;
    padding: 5px 10px;
}

/*End*/

/*Podcast*/
/* Animation classes */
.slide-in {
    animation: slideIn 0.3s ease-out forwards;
}

.slide-out {
    animation: slideOut 0.3s ease-out forwards;
}

@keyframes slideIn {
    from {
        opacity: 0;
        transform: translateX(100%);
    }

    to {
        opacity: 1;
        transform: translateX(0);
    }
}

@keyframes slideOut {
    from {
        opacity: 1;
        transform: translateX(0);
    }

    to {
        opacity: 0;
        transform: translateX(-100%);
    }
}

/* Additional styles */
.podcast-card {
    border: none;
    background: white;
    border-radius: 8px;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}

.podcast-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}

.file-item {
    transition: background-color 0.2s ease-in-out;
}

.file-item:hover {
    background-color: rgba(0, 0, 0, 0.05);
}

.transition-all {
    transition: all 0.2s ease-in-out;
}

.progress {
    height: 5px;
    background-color: #f3f3f3;
}

.progress-bar {
    background-color: #007bff;
}

.podcast-mentor-profile {
    width: 50px;
    margin-bottom: 10px;
    margin-right: 10px;
    height: 40px;
}

.podcast-mentor-box {
    background: var(--widget-bg);
    border-radius: 10px;
    height: 100%;
}

/*End*/

/*Live Session*/
/* Outer card container */
.live-session-card {
    width: 100%;
    border-radius: 24px;
    background: var(--widget-bg);
    border: 0px;
    height: 100% !important;
}

/* Left side curve */
.live-session-left-curve {
    position: absolute;
    left: -20px;
    top: 65%;
    width: 75px;
    height: 80px;
    background: var(--widget-bg-white);
    border-radius: 0 50px 50px 0;
    z-index: 1;
}

/* Right side curve */
.live-session-right-curve {
    position: absolute;
    right: -20px;
    top: 65%;
    width: 70px;
    height: 80px;
    background: var(--widget-bg-white);
    border-radius: 50px 0 0 50px;
    z-index: 1;
}

/* Bottom curve */
.live-session-bottom-curve {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 120px;
    clip-path: ellipse(75% 100% at 50% 100%);
    z-index: 1;
}

/* Card body */
.live-session-card-body {
    z-index: 2;
    /* Position the body above the curves */
}

/* Attend button */
.live-session-button {
    border-radius: 12px;
    border-width: 2px;
    transition: all 0.3s ease;
}

.live-session-button:hover {
    background-color: #17a2b8;
    /* Light teal on hover */
    color: white;
}

.hr-line {
    color: var(--theme-primary);
    ;
    opacity: 0.4;
}

.w-90 {
    width: 90% !important;
}

/*End*/

.spinner-border {
    width: 1.5rem;
    height: 1.5rem;
    border-width: 0.2em;
}

.live {
    color: red;
    font-weight: bold;
    /*display: flex;*/
    display: contents;
    justify-content: center;
    align-items: center;
}

.rec-icon {
    animation: pulse 1.5s infinite;
    margin-right: 5px;
}

@keyframes pulse {
    0% {
        opacity: 1;
    }

    50% {
        opacity: 0.5;
    }

    100% {
        opacity: 1;
    }
}

.expired {
    color: gray;
    font-style: italic;
    font-size: 1.2rem;
}


/*Meeting Chat Sidebar*/
.chat-messages {
    overflow-y: auto;
    max-height: calc(100vh - 200px);
    /* Adjust based on header and input height */
}

/*End*/

/*Header Profile*/
.profile-dropdown-align {
    top: 5%;
    right: 10% !important;
}

a.profile-dropdown-item:hover {
    background-color: #0d6efd;
    color: #fff !important;
}

/*End*/

.pl-0 {
    padding-left: 0px !important;
}


/*body {*/
/*    background-color: #222;*/
/*    overflow-x: hidden;*/
/*    font-family: Arial, sans-serif;*/
/*}*/

/* Ensure the swiper container is centered */
.swiper-container {
    width: 100%;
    height: auto;
    /* Adjust height as needed */
    margin: 0 auto;
    position: relative;
    display: flex;
    justify-content: center;
    padding-top: 15%;
}

/* Flexbox setup for each slide content */
.slide-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    transition: transform 0.3s ease-in-out;
}

/* Style for images */
.slide-img {
    width: 200px;
    height: auto;
    border-radius: 10px;
    /* Optional for rounded corners */
    transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
}

/* Style for text */
.slide-text {
    color: white;
    font-size: 24px;
    /* Default text size */
    margin-top: 10px;
    text-align: center;
    transition: transform 0.3s ease-in-out;
}

/* Active slide styles */
.swiper-slide-active .slide-img {
    width: 300px;
    /* Enlarge the active image */
    transform: scale(1);
    /* Slight scale effect */
    transition: transform 0.5s ease-in-out, width 0.5s ease-in-out;
}

.swiper-slide-active .slide-text {
    font-size: 30px;
    /* Increase size of the active text */
    font-weight: bold;
    /* Make the active text bold */
    transition: font-size 0.3s ease-in-out, font-weight 0.3s ease-in-out;
}

.pl-10per {
    padding-left: 10%;
}

/* Stars
------------------------------------- */

#space,
.stars {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
    pointer-events: none;
    /* Allows clicks to pass through this element */
}

.stars {
    background-image:
        radial-gradient(2px 2px at 20px 30px, #eee, rgba(0, 0, 0, 0)),
        radial-gradient(2px 2px at 40px 70px, #fff, rgba(0, 0, 0, 0)),
        radial-gradient(2px 2px at 50px 160px, #ddd, rgba(0, 0, 0, 0)),
        radial-gradient(2px 2px at 90px 40px, #fff, rgba(0, 0, 0, 0)),
        radial-gradient(2px 2px at 130px 80px, #fff, rgba(0, 0, 0, 0)),
        radial-gradient(2px 2px at 160px 120px, #ddd, rgba(0, 0, 0, 0));
    background-repeat: repeat;
    background-size: 200px 200px;
    animation: zoom 5s infinite;
    opacity: 0;
}

.stars:nth-child(1) {
    background-position: 50% 50%;
    animation-delay: 0s;
}

.stars:nth-child(2) {
    background-position: 20% 60%;
    animation-delay: 1s;
}

.stars:nth-child(3) {
    background-position: -20% -30%;
    animation-delay: 2s;
}

.stars:nth-child(4) {
    background-position: 40% -80%;
    animation-delay: 3s;
}

.stars:nth-child(5) {
    background-position: -20% 30%;
    animation-delay: 4s;
}

@keyframes zoom {
    0% {
        opacity: 0;
        transform: scale(0.5);
        animation-timing-function: ease-in;
    }

    85% {
        opacity: 1;
        transform: scale(2.8);
        animation-timing-function: linear;
    }

    100% {
        opacity: 0;
        transform: scale(3.5);
    }
}

/* Demo syles
------------------------------------- */
.swiper.swiper-initialized.swiper-horizontal.swiper-backface-hidden {
    width: 100%;
}

/*}*/


/*Planets*/
/* Slider Zoom Effect */
.slider .item img {
    width: 100%;
    transition: transform 0.3s ease-in-out;
}

.slider .item:hover img {
    transform: scale(1.1);
}

/* Additional Styling for Items */
.item {
    text-align: center;
    margin: 10px;
}



.banner {
    width: 100%;
    height: 60vh;
    text-align: center;
    position: relative;
}

.banner .slider {
    position: absolute;
    width: 180px;
    /* Reduced width */
    height: 250px;
    top: -30%;
    left: calc(50% - 90px);
    /* Adjusted to match new width */
    transform-style: preserve-3d;
    transform: perspective(1000px);
    animation: autoRun 20s linear infinite;
    z-index: 2;
}

@keyframes autoRun {
    from {
        transform: perspective(1000px) rotateX(-16deg) rotateY(0deg);
    }

    to {
        transform: perspective(1000px) rotateX(-16deg) rotateY(360deg);
    }
}

.banner .slider .item {
    position: absolute;
    inset: 0 0 0 0;
    transform:
        rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(630px);
}

.banner .slider .item img {
    width: 50%;
    /* Reduced from 60% */
    height: 60%;
    /* Reduced from 70% */
    object-fit: contain;
    transform: rotate(0deg) !important;
    /* Ensure no rotation */
}

@media screen and (max-width: 1023px) {
    .banner .slider {
        width: 160px;
        height: 200px;
        left: calc(50% - 80px);
    }

    .banner .slider .item {
        transform:
            rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(300px);
    }

    .banner .content h1 {
        text-align: center;
        width: 100%;
        text-shadow: 0 10px 20px #000;
        font-size: 7em;
    }

    .banner .content .author {
        color: #fff;
        padding: 20px;
        text-shadow: 0 10px 20px #000;
        z-index: 2;
        max-width: unset;
        width: 100%;
        text-align: center;
        padding: 0 30px;
    }
}

@media screen and (max-width: 767px) {
    .banner .slider {
        width: 100px;
        height: 150px;
        left: calc(50% - 50px);
    }

    .banner .slider .item {
        transform:
            rotateY(calc((var(--position) - 1) * (360 / var(--quantity)) * 1deg)) translateZ(180px);
    }

    .banner .content h1 {
        font-size: 5em;
    }
}

.bg-secondary-clr {
    background: radial-gradient(98.32% 210.82% at 0.91% 3.12%, rgba(225, 225, 225, 0.16) 0%, rgba(187, 186, 186, 0.16) 100%) !important;
}

/*End*/



/*Custom Calendar*/
.custom-calendar-colors {
    /* Calendar container styles */
    --calendar-text-color: #fff;
    --calendar-header-color: #fff;
    --calendar-day-color: #fff;
    color: var(--calendar-text-color);
}

/* Header styles */
.custom-calendar-colors .rbc-header {
    color: var(--calendar-header-color);
    font-weight: 600;
}

/* Day number styles */
.custom-calendar-colors .rbc-date-cell {
    color: var(--calendar-day-color);
}

/* Current date styles */
.custom-calendar-colors .rbc-today {
    background-color: rgba(0, 0, 0, 0.04);
}

/* Month/Week/Day view button styles */
.custom-calendar-colors .rbc-toolbar button {
    color: var(--calendar-text-color);
}

.custom-calendar-colors .rbc-toolbar button:hover {
    background-color: #f0f0f0;
}

.custom-calendar-colors .rbc-toolbar button.rbc-active {
    background-color: #e6e6e6;
    color: var(--calendar-text-color);
}

/* Time gutter styles (for week/day view) */
.custom-calendar-colors .rbc-time-gutter .rbc-timeslot-group {
    color: var(--calendar-text-color);
}

/* Current time indicator */
.custom-calendar-colors .rbc-current-time-indicator {
    background-color: #74ad31;
}

/* Off-range dates (dates from other months) */
.custom-calendar-colors .rbc-off-range {
    color: #999;
}

/* Selected slot style */
.custom-calendar-colors .rbc-selected {
    background-color: rgba(0, 0, 0, 0.1);
}

/* Event title color will be controlled by eventStyleGetter */
.custom-calendar-colors .rbc-event-content {
    font-weight: 500;
}

/* Toolbar styles */
.custom-calendar-colors .rbc-toolbar {
    color: var(--calendar-header-color);
    margin-bottom: 20px;
}

/* Month/Week/Day label styles */
.custom-calendar-colors .rbc-toolbar-label {
    color: var(--calendar-header-color);
    font-weight: 600;
    font-size: 1.2em;
}

.rbc-toolbar button {
    color: rgb(155, 155, 155) !important;
    /* Make the text white */
    background-color: transparent;
    /* Keep the background transparent */
    border: none;
    /* Remove any borders */
}

.rbc-toolbar button:focus,
.rbc-toolbar button:hover {
    outline: none;
    /* Remove focus outline */
    color: white;
    /* Keep the text white when hovered */
}

button.d-flex.align-items-center.recordings-hover.list-group-item.active.list-group-item-action {
    background: transparent !important;
}

/* Your global scaling */
@media (max-width: 1566px) {
    .scale {
        transform: scale(0.9) !important;
        transform-origin: top center !important;
    }
}

/* New scaling rule */
@media (max-width: 1566px) {
    .scaling-1 {
        transform: scale(0.8) !important;
        height: 100vh;
        transform-origin: top center !important;
    }
}

.scale-2 {
    transform: scale(0.8) !important;
    transform-origin: top center !important;
}

.classroom-card {
    max-height: 200% !important;
}

.transparent-input {
    background-color: transparent;
    border: 1px solid rgba(255, 255, 255, 0.5);
    padding: 10px;
    color: var(--white);
    border-radius: 5px;
    outline: none;
}


/* Profile Image Section Styles */
.profile-pic {
    width: 220px;
    height: 220px;
    object-fit: cover;
    border: 4px solid #fff;
}

.profile-pic-loader {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    display: flex;
    justify-content: center;
    align-items: center;
    background: rgba(255, 255, 255, 0.7);
    border-radius: 50%;
}

.upload-btn,
.remove-btn {
    width: 180px;
    border-radius: 20px;
    position: relative;
    overflow: hidden;
}

.file-input {
    opacity: 0;
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
}

/* Transparent Search Input Styles */
.form-control.clr-black.mb-3.mt-2 {
    background-color: transparent;
    border: 1px solid rgba(0, 0, 0, 0.2);
    color: #000;
}

.form-control.clr-black.mb-3.mt-2::placeholder {
    color: var(--black);
}

.form-control.clr-black.mb-3.mt-2:focus {
    background-color: transparent;
    box-shadow: none;
    border-color: rgba(0, 0, 0, 0.4);
    outline: none;
}

.bg-none {
    background-color: transparent !important;
}

/* Transparent Search Input Group Styles */
.input-group .input-group-text {
    background-color: transparent;
    border: 1px solid var(--black);
    border-right: none;
}

.input-group .form-control {
    background-color: transparent;
    border: 1px solid var(--black);
    border-left: none;
    color: #000;
}

.input-group .form-control::placeholder {
    color: var(--black);
}

/* Ensure the input and input-group-text stay connected */
.input-group:focus-within .input-group-text {
    border-color: var(--black);
}

/* General Card Styles */
.bookmark-card {
    position: relative;
    overflow: hidden;
    border-radius: 0.5rem;
    transition: transform 0.3s ease;
}

.bookmark-card:hover {
    transform: translateY(-5px);
}

/* Card Image Wrapper */
.card-image-wrapper {
    position: relative;
    width: 100%;
    height: 200px;
    overflow: hidden;
}

/* Course Description Animation */
.course-description {
    position: absolute;
    bottom: -100%;
    left: 0;
    right: 0;
    background: rgba(0, 0, 0, 0.7);
    color: white;
    padding: 10px;
    height: 100%;
    overflow-y: auto;
    transition: bottom 0.5s ease;
}

.course-description.show {
    bottom: 0;
}

.description-content {
    max-height: 100%;
}

.card-image {
    height: max-content;
}

.card-img-top-container {
    height: 100%;
    overflow: hidden;
}

.border-theme-clr {
    border-color: var(--black);
}

.ai-bg-clr {
    background: var(--widget-bg) !important;
}

.skeleton-card {
    border-radius: 10px;
    background: var(--widget-bg);
}

.skeleton-image {
    height: 250px;
    background-color: transparent;
    border-radius: 10px 10px 0 0;
}

.skeleton-title {
    height: 24px;
    width: 70%;
    border-radius: 4px;
    background: var(--widget-bg);
}

.skeleton-text {
    height: 80px;
    background: var(--widget-bg);
    border-radius: 4px;
}

.carousel-container {
    display: flex;
    justify-content: flex-start !important;
}

.carousel-item {
    display: flex;
    justify-content: flex-start;
    padding: 0 10px;
}

/* Override react-multi-carousel default styles */
.react-multi-carousel-track {
    justify-content: flex-start !important;
    margin: 0 !important;
    padding: 0 !important;
}

.react-multi-carousel-item {
    flex-shrink: 0;
}

/* ═══════════════════════════════════════════════════════════════════════════
   TOOLS HUB
   ═══════════════════════════════════════════════════════════════════════════ */
.tool-card {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px;
    border-radius: 14px;
    background: var(--widget-bg);
    border: 1px solid var(--border-color);
    transition: all 0.25s ease;
    cursor: pointer;
    position: relative;
    overflow: hidden;
}
.tool-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(115, 0, 231, 0.15);
}
.tool-card-disabled {
    opacity: 0.5;
    cursor: default;
    pointer-events: none;
}
.tool-card-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    background: linear-gradient(135deg, var(--primary), var(--theme-primary));
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    flex-shrink: 0;
}
.tool-card-content {
    flex: 1;
    min-width: 0;
}
.tool-card-title {
    font-size: 16px;
    font-weight: 600;
    color: var(--black);
    margin: 0 0 4px;
}
.tool-card-desc {
    font-size: 12px;
    color: var(--border-color);
    margin: 0;
    line-height: 1.4;
}
.tool-card-arrow {
    font-size: 20px;
    color: var(--primary);
    flex-shrink: 0;
}
.tool-card-badge {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    padding: 4px 10px;
    border-radius: 20px;
    background: var(--border-color);
    color: var(--black);
    flex-shrink: 0;
    opacity: 0.6;
}

/* ═══════════════════════════════════════════════════════════════════════════
   SPENDING HABITS TOOL
   ═══════════════════════════════════════════════════════════════════════════ */
.spending-subtitle {
    font-size: 11px;
    color: var(--border-color);
    margin-top: 2px;
}
.spending-card {
    background: var(--widget-bg);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 16px;
    height: 100%;
}
.spending-stat-card {
    background: var(--widget-bg);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 14px 16px;
    position: relative;
    overflow: hidden;
}
.spending-stat-value {
    font-size: 22px;
    font-weight: 700;
    color: var(--black);
    letter-spacing: -0.02em;
}
.spending-stat-change {
    margin-top: 4px;
    font-size: 11px;
    font-weight: 700;
}
.spending-stat-accent {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
}
.spending-section-label {
    font-size: 10px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: var(--border-color);
    margin-bottom: 10px;
}
.spending-toggle-group {
    display: flex;
    gap: 2px;
    background: var(--widget-bg);
    border-radius: 8px;
    padding: 2px;
    border: 1px solid var(--border-color);
}
.spending-toggle-btn {
    padding: 5px 14px;
    border-radius: 6px;
    border: none;
    cursor: pointer;
    font-size: 11px;
    font-weight: 700;
    transition: all 0.2s;
    background: transparent;
    color: var(--border-color);
}
.spending-toggle-btn.active {
    background: var(--primary);
    color: #fff;
}
.spending-btn-primary {
    padding: 6px 16px;
    border-radius: 8px;
    border: none;
    cursor: pointer;
    background: linear-gradient(135deg, var(--primary), var(--theme-primary));
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    transition: all 0.2s;
}
.spending-btn-primary:hover {
    opacity: 0.9;
    transform: translateY(-1px);
}
.spending-btn-save {
    padding: 4px 12px;
    border-radius: 6px;
    border: none;
    background: var(--primary);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    cursor: pointer;
}
.spending-btn-cancel {
    padding: 4px 12px;
    border-radius: 6px;
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--border-color);
    font-size: 10px;
    cursor: pointer;
}
.spending-btn-delete {
    padding: 4px 12px;
    border-radius: 6px;
    border: 1px solid rgba(244, 63, 94, 0.3);
    background: rgba(244, 63, 94, 0.08);
    color: #f43f5e;
    font-size: 10px;
    font-weight: 600;
    cursor: pointer;
}
.spending-filter-chip {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    border-radius: 16px;
    background: rgba(224, 64, 160, 0.12);
    border: 1px solid rgba(224, 64, 160, 0.25);
    font-size: 11px;
    font-weight: 600;
    color: var(--black);
    cursor: pointer;
}
.spending-input {
    background: var(--input-bg);
    border: 1px solid var(--border-color);
    border-radius: 8px;
    color: var(--black);
    padding: 6px 10px;
    font-size: 12px;
    outline: none;
    transition: border-color 0.2s;
}
.spending-input:focus {
    border-color: var(--primary);
}
.spending-input option {
    background: var(--widget-bg);
    color: var(--black);
}
.spending-tooltip {
    background: var(--widget-bg);
    border: 1px solid var(--border-color);
    border-radius: 10px;
    padding: 8px 12px;
    backdrop-filter: blur(8px);
}
.spending-tooltip-label {
    font-size: 10px;
    color: var(--border-color);
    margin-bottom: 4px;
}
.spending-tooltip-value {
    font-size: 12px;
    font-weight: 700;
}
.spending-cat-pill {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    border-radius: 10px;
    cursor: pointer;
    transition: all 0.2s;
    background: var(--widget-bg);
    border: 1px solid var(--border-color);
}
.spending-cat-pill:hover {
    border-color: var(--primary);
}
.spending-cat-dot {
    width: 7px;
    height: 7px;
    border-radius: 50%;
    flex-shrink: 0;
}
.spending-cat-name {
    flex: 1;
    font-size: 12px;
    font-weight: 500;
    color: var(--black);
}
.spending-cat-values {
    text-align: right;
}
.spending-cat-amount {
    font-size: 12px;
    font-weight: 700;
    color: var(--black);
}
.spending-cat-pct {
    font-size: 9px;
    color: var(--border-color);
}
.spending-txn-edit {
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color);
}
.spending-txn-row {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 8px 0;
    border-bottom: 1px solid var(--border-color);
    cursor: pointer;
    transition: background 0.15s;
    border-radius: 6px;
}
.spending-txn-row:hover {
    background: var(--widget-bg);
}
.spending-txn-icon {
    width: 28px;
    height: 28px;
    border-radius: 7px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    flex-shrink: 0;
}
.spending-txn-info {
    flex: 1;
    min-width: 0;
}
.spending-txn-merchant {
    font-size: 12px;
    font-weight: 500;
    color: var(--black);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.spending-txn-date {
    font-size: 10px;
    color: var(--border-color);
}
.spending-txn-amount {
    text-align: right;
    flex-shrink: 0;
}
.spending-txn-amt-value {
    font-size: 12px;
    font-weight: 700;
    color: var(--primary);
}
.spending-txn-amt-cur {
    font-size: 8px;
    color: var(--border-color);
}
.spending-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(0, 0, 0, 0.6);
    backdrop-filter: blur(8px);
}
.spending-modal {
    background: var(--background);
    border: 1px solid var(--border-color);
    border-radius: 18px;
    padding: 24px;
    width: 380px;
    max-width: 92vw;
    box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
}
.spending-modal-title {
    font-size: 17px;
    font-weight: 600;
    margin-bottom: 16px;
    color: var(--black);
}
.spending-spike-item {
    padding: 6px 8px;
    border-radius: 8px;
    background: rgba(244, 63, 94, 0.06);
    border: 1px solid rgba(244, 63, 94, 0.12);
    margin-bottom: 4px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 11px;
    font-weight: 500;
    color: var(--black);
}
.spending-spike-pct {
    font-size: 10px;
    font-weight: 700;
    color: #f43f5e;
}

/* ═══ Spending Detail Page ═══ */
.spending-detail-icon {
    width: 52px;
    height: 52px;
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 24px;
    flex-shrink: 0;
}

.spending-detail-merchant {
    font-size: 20px;
    font-weight: 700;
    color: var(--black);
    margin: 0;
}

.spending-detail-category {
    padding: 6px 14px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
    border: 1px solid;
    white-space: nowrap;
}

.spending-detail-amount {
    font-size: 32px;
    font-weight: 700;
    color: var(--black);
}

.spending-detail-currency {
    font-size: 14px;
    font-weight: 400;
    color: var(--border-color);
    margin-left: 8px;
}

.spending-detail-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}

.spending-detail-field {
    padding: 10px 0;
    border-bottom: 1px solid var(--border-color);
}

.spending-detail-field-label {
    font-size: 10px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--border-color);
    margin-bottom: 4px;
}

.spending-detail-field-value {
    font-size: 14px;
    font-weight: 500;
    color: var(--black);
}

/* ═══ Recurring Badge ═══ */
.spending-recurring-badge {
    display: inline-block;
    font-size: 9px;
    font-weight: 700;
    color: #34d399;
    background: #34d39918;
    padding: 2px 7px;
    border-radius: 8px;
    margin-left: 6px;
    vertical-align: middle;
    letter-spacing: 0.3px;
}

/* Mobile responsiveness for spending */
@media (max-width: 767px) {
    .spending-stat-value {
        font-size: 16px;
    }

    .spending-detail-grid {
        grid-template-columns: 1fr;
    }

    .spending-detail-amount {
        font-size: 24px;
    }

    .spending-detail-category {
        display: none;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   BUDGET SIMULATOR TOOL
   ═══════════════════════════════════════════════════════════════════════════ */

.budget-plan-card {
    background: var(--widget-bg);
    border: 1px solid var(--border-color);
    border-radius: 14px;
    padding: 18px;
    position: relative;
    overflow: hidden;
    transition: all 0.25s ease;
}

.budget-plan-card:hover {
    border-color: var(--primary);
    transform: translateY(-2px);
    box-shadow: 0 8px 24px rgba(115, 0, 231, 0.1);
}

.budget-plan-name {
    font-size: 16px;
    font-weight: 700;
    color: var(--black);
    margin-bottom: 4px;
}

.budget-plan-meta {
    font-size: 11px;
    color: var(--border-color);
    display: flex;
    gap: 8px;
    flex-wrap: wrap;
}

.budget-plan-grade {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 3px 10px;
    border-radius: 8px;
    font-weight: 700;
    font-size: 14px;
}

.budget-plan-actions {
    display: flex;
    gap: 6px;
    margin-top: 12px;
}

.budget-summary-card {
    background: var(--widget-bg);
    border: 1px solid var(--border-color);
    border-radius: 18px;
    padding: 18px;
    position: relative;
    overflow: hidden;
}

.budget-income-label {
    font-size: 10px;
    color: var(--border-color);
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.budget-income-value {
    font-size: 24px;
    font-weight: 700;
    color: var(--primary);
    font-variant-numeric: tabular-nums;
}

.budget-progress-bar {
    display: flex;
    height: 28px;
    border-radius: 14px;
    overflow: hidden;
    background: rgba(128, 128, 128, 0.08);
    border: 1px solid var(--border-color);
}

.budget-progress-segment {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 10px;
    font-weight: 700;
    color: #fff;
    overflow: hidden;
    white-space: nowrap;
    transition: width 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}

.budget-scenario-btn {
    background: var(--widget-bg);
    color: var(--black);
    border: 1px solid var(--border-color);
    border-radius: 12px;
    padding: 10px 12px;
    font-size: 12px;
    font-weight: 600;
    display: flex;
    flex-direction: column;
    gap: 1px;
    text-align: left;
    cursor: pointer;
    transition: all 0.15s;
}

.budget-scenario-sub {
    font-size: 10px;
    opacity: 0.45;
    font-variant-numeric: tabular-nums;
}

.budget-ring-btn {
    background: var(--widget-bg);
    border: 2px solid transparent;
    border-radius: 16px;
    padding: 14px 10px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 4px;
    cursor: pointer;
    transition: all 0.2s;
    color: var(--black);
}

.budget-ring-btn.active {
    background: rgba(128, 128, 128, 0.08);
    box-shadow: 0 4px 20px rgba(115, 0, 231, 0.08);
}

.budget-ring-label {
    font-weight: 600;
    font-size: 12px;
}

.budget-ring-pct {
    font-size: 14px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.budget-ring-target {
    font-size: 9px;
    color: var(--border-color);
}

.budget-detail-panel {
    background: var(--widget-bg);
    border-radius: 18px;
    padding: 20px;
    border: 1px solid var(--border-color);
    position: relative;
    overflow: hidden;
}

.budget-detail-header {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 4px;
    flex-wrap: wrap;
}

.budget-detail-amount-badge {
    margin-left: auto;
    font-size: 12px;
    font-weight: 700;
    padding: 4px 10px;
    border-radius: 8px;
    font-variant-numeric: tabular-nums;
}

.budget-subtab {
    display: flex;
    gap: 5px;
    margin-bottom: 14px;
    overflow-x: auto;
    padding-bottom: 2px;
    -webkit-overflow-scrolling: touch;
}

.budget-subtab-btn {
    border-radius: 10px;
    padding: 7px 12px;
    font-size: 11px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 4px;
    flex-shrink: 0;
    transition: all 0.15s;
    border: 1px solid var(--border-color);
    background: transparent;
    color: var(--border-color);
}

.budget-subtab-pct {
    font-size: 9px;
    font-weight: 700;
    padding: 2px 5px;
    border-radius: 5px;
    font-variant-numeric: tabular-nums;
}

.budget-slider-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 11px;
}

.budget-slider-icon {
    font-size: 16px;
    width: 22px;
    text-align: center;
}

.budget-slider-header {
    display: flex;
    justify-content: space-between;
    margin-bottom: 2px;
    font-size: 12px;
}

.budget-slider-name {
    font-weight: 500;
    color: var(--black);
}

.budget-slider-value {
    color: var(--border-color);
    font-variant-numeric: tabular-nums;
}

.budget-slider-track {
    position: relative;
    height: 20px;
    display: flex;
    align-items: center;
}

.budget-slider-bg {
    position: absolute;
    left: 0;
    right: 0;
    height: 4px;
    background: rgba(128, 128, 128, 0.1);
    border-radius: 2px;
    overflow: hidden;
}

.budget-slider-fill {
    height: 100%;
    border-radius: 2px;
    transition: width 0.2s;
}

.budget-slider-input {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 20px;
    opacity: 0;
    cursor: pointer;
    margin: 0;
    -webkit-appearance: none;
    appearance: none;
}

.budget-slider-thumb {
    position: absolute;
    width: 14px;
    height: 14px;
    border-radius: 50%;
    background: var(--widget-bg);
    border-width: 2.5px;
    border-style: solid;
    pointer-events: none;
    transition: left 0.15s;
}

.budget-group-total {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 8px 12px;
    background: rgba(128, 128, 128, 0.05);
    border-radius: 10px;
    margin-top: 10px;
    font-size: 11px;
}

.budget-group-total-label {
    color: var(--border-color);
}

.budget-group-total-value {
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.budget-tip {
    padding: 12px 14px;
    border-radius: 8px;
    cursor: pointer;
    font-size: 12px;
    line-height: 1.5;
    user-select: none;
    margin-top: 12px;
    background: rgba(128, 128, 128, 0.03);
    transition: all 0.2s;
    border-left: 3px solid var(--primary);
    color: var(--black);
}

.budget-tip-label {
    font-weight: 700;
    font-size: 9px;
    text-transform: uppercase;
    letter-spacing: 0.8px;
    margin-bottom: 3px;
}

.budget-onboard-container {
    max-width: 680px;
    width: 100%;
    margin: 0 auto;
    text-align: center;
    padding: 20px 16px 40px;
}

.budget-onboard-title {
    font-size: clamp(28px, 5vw, 42px);
    font-weight: 800;
    color: var(--black);
    letter-spacing: -1px;
    margin-bottom: 6px;
    line-height: 1.1;
}

.budget-onboard-highlight {
    background: linear-gradient(135deg, var(--primary), var(--theme-primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
}

.budget-onboard-rule-card {
    border-radius: 18px;
    padding: 20px 28px;
    min-width: 120px;
    background: var(--widget-bg);
    border: 1px solid var(--border-color);
    position: relative;
    overflow: hidden;
}

.budget-onboard-rule-pct {
    font-size: 28px;
    font-weight: 700;
    font-variant-numeric: tabular-nums;
}

.budget-start-btn {
    background: linear-gradient(135deg, var(--primary), var(--theme-primary));
    color: #fff;
    border: none;
    padding: 14px 48px;
    border-radius: 50px;
    font-size: 16px;
    font-weight: 700;
    letter-spacing: 0.5px;
    cursor: pointer;
    box-shadow: 0 4px 30px rgba(115, 0, 231, 0.25);
    transition: transform 0.2s, box-shadow 0.2s;
}

.budget-start-btn:hover {
    transform: scale(1.05);
    box-shadow: 0 8px 40px rgba(115, 0, 231, 0.35);
}

/* Budget mobile responsive */
@media (max-width: 767px) {
    .budget-income-value {
        font-size: 18px;
    }

    .budget-onboard-title {
        font-size: 24px;
    }

    .budget-detail-amount-badge {
        margin-left: 0;
    }
}