
        /*
          * Final Stylesheet for "Same to Same" Design
          * Header section updated on July 1, 2025 to use two separate navbars.
          * Dropdown now opens on hover for desktop via pure CSS.
          */
        @import url('https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&display=swap');

        body {
            font-family: 'Roboto', -apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue", Arial, sans-serif;
            background-color: #f8f9fa; /* Light gray background for the page */
        }

        /* --- Corrected Header: Top Bar --- */
        .top-bar {
            background-color: #fff;
            border-bottom: 1px solid #dee2e6;
        }
        .logo {
            height: 50px;
            width: auto;
        }
        .header-block {
            flex: 0 1 auto; /* Let blocks size to their content */
        }
        .brand-block {
            flex: 1 1 auto; /* Let the brand block grow to fill the space */
        }
        .brand-text {
            font-weight: 700;
            font-size: 1.25rem;
            color: #0d6efd;
            text-transform: uppercase;
        }
        .contact-block {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }
        .contact-label {
            font-weight: 700;
            color: #0d6efd;
            font-size: 0.85rem;
            text-transform: uppercase;
            margin-bottom: 2px;
        }
        .contact-value {
            text-decoration: none;
            color: #343a40;
            font-size: 0.9rem;
            font-weight: 500;
        }
        .top-bar .vr {
            align-self: stretch;
            height: auto;
            min-height: 40px;
        }


        /* --- Header: Main Navigation --- */
        .main-nav {
            background-color: #0d6efd;
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
        }
        /* Desktop Nav Link Styles */
        .main-nav .navbar-nav .nav-link {
            color: white; padding: 1rem 1rem; font-weight: 700; text-transform: uppercase;
            font-size: 0.85rem; transition: background-color 0.2s ease-in-out, color 0.2s ease-in-out;
        }
        .main-nav .navbar-nav .nav-link:hover { background-color: rgba(0, 0, 0, 0.1); }
        .main-nav .offer-btn { 
            background-color: white; 
            color: #0d6efd !important;
            border-radius: 0.25rem;
        }
        .main-nav .offer-btn:hover {
            background-color: white;
            color: #0056b3 !important;
        }


        .main-nav .dropdown-menu {
            /* Ensures dropdown appears below and doesn't break navbar flow */
            position: absolute; 
            top: 100%; /* Positions the dropdown right below the toggle */
            left: 0;
            z-index: 1000; /* Ensures it's above other content */
            background-color: #fff;
            border: 1px solid rgba(0, 0, 0, 0.15);
            border-radius: 0.25rem;
            box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.175);
            min-width: 16rem; /* Adjust as needed */
        }

        .main-nav .dropdown-menu .dropdown-item {
            color: #212529;
            padding: 0.75rem 1rem;
            font-size: 0.9rem;
            font-weight: 500;
        }

        .main-nav .dropdown-menu .dropdown-item:hover {
            background-color: #f8f9fa;
            color: #0d6efd;
        }

        .main-nav .dropdown-menu .dropdown-divider {
            margin: 0.5rem 0;
            border-top: 1px solid #dee2e6;
        }

        /* Desktop Dropdown Hover (Pure CSS) */
        @media (min-width: 992px) {
            .desktop-nav .navbar-nav .dropdown:hover .dropdown-menu {
                display: block;
                margin-top: 0; /* Remove gap when hovering */
            }
            .desktop-nav .navbar-nav .dropdown .dropdown-toggle::after {
                vertical-align: middle; /* Align dropdown arrow */
            }
        }


        .btn-login {
            background-color: white; color: #0d6efd; border: 1px solid #ddd; border-radius: 4px;
            font-weight: 600; padding: 6px 12px; font-size: 0.85rem; transition: all 0.2s ease-in-out;
            text-decoration: none;
        }
        .btn-login:hover { background-color: #f8f9fa; color: #0056b3; }

        /* Mobile Nav Specific */
        .mobile-nav {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .navbar-toggler { border-color: rgba(255, 255, 255, 0.5); }
        .navbar-toggler-icon {
            background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.9%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
        }

        .offcanvas { background-color: #0d6efd; color: #fff; }
        .offcanvas-header { border-bottom: 1px solid rgba(255, 255, 255, 0.2); }
        .offcanvas-title { color: #fff; font-weight: 700; text-transform: uppercase; }
        .offcanvas-header .btn-close { filter: invert(1) grayscale(100%) brightness(200%); }
        .offcanvas-body .navbar-nav .nav-item { border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
        .offcanvas-body .navbar-nav .nav-link { padding: 1rem 1.5rem; font-size: 1rem; color: #fff; width: 100%; }
        .offcanvas-body .navbar-nav .nav-link:hover, .offcanvas-body .navbar-nav .nav-link.active { background-color: rgba(0, 0, 0, 0.2); }
        .offcanvas-body .offer-btn-mobile { background-color: #0dcaf0; }

        /* Off-canvas Dropdown Specific Styles (Applied to mobile and tablet) */
        @media (max-width: 991.98px) {
            .offcanvas-body .dropdown-menu {
                background-color: transparent;
                border: none;
                box-shadow: none;
                padding-left: 1.5rem; /* Indent dropdown items */
            }
            .offcanvas-body .dropdown-item {
                color: #f0f0f0;
                padding: 0.75rem 1rem;
            }
            .offcanvas-body .dropdown-item:hover {
                color: #fff;
                background-color: rgba(0, 0, 0, 0.2);
            }
            .offcanvas-body .dropdown-divider {
                display: none; /* Hide divider in mobile view */
            }

            /* Social Media Icons for Mobile Nav */
            .social-media-mobile {
                text-align: center;
                padding: 2rem 0;
                margin-top: 1rem;
                border-top: 1px solid rgba(255, 255, 255, 0.2);
            }

            .social-media-mobile .social-icon {
                color: #fff;
                font-size: 1.5rem;
                margin: 0 1rem;
                text-decoration: none;
                transition: color 0.2s ease-in-out;
            }

            .social-media-mobile .social-icon:hover {
                color: #0dcaf0; /* Use the offer button color for hover */
            }
        }

        .ticker-wrap { width: 100%; overflow: hidden; background-color: #fff; padding: 10px 0; color: #0d6efd; font-size: 0.9rem; border-bottom: 3px solid #0d6efd; }
        .ticker { display: inline-block; white-space: nowrap; padding-left: 100%; animation: ticker-scroll 30s linear infinite; }
        @keyframes ticker-scroll { 0% { transform: translateX(0); } 100% { transform: translateX(-150%); } }
        .ticker-item { padding: 0 2rem; }

        /* --- Main Content: Carousel (Redesigned with Rounded Corners) --- */
        main > .container {
            max-width: 100%;
            padding-right: 15px;
            padding-left: 15px;
        }

        #heroCarousel {
            border: 1px solid #dee2e6;
            box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
            border-radius: 0.5rem; /* Added for rounded corners */
            overflow: hidden; /* Ensures inner items conform to rounded corners */
        }

        .carousel-item img {
            height: auto;
            width: 100%;
            object-fit: contain; /* Ensures the entire image is visible without cropping */
        }

        .carousel-control-prev,
        .carousel-control-next {
            display: none; /* Hides carousel controls on all devices */
        }

        .carousel-indicators [data-bs-target] {
            width: 8px; height: 8px; border-radius: 50%; background-color: #fff;
            opacity: 1; border: 1px solid #555; margin: 0 4px;
        }
        .carousel-indicators .active { background-color: #0d6efd; border-color: #0d6efd; }

        /* --- Our Running Offer Section (Redesigned) --- */
        .offer-section {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        }
        .section-title { /* This targets the H2 title in "Our Running Offer" */
            font-weight: 700;
            color: #0d6efd;
            text-align: center; /* Revert to original centering */
            margin-bottom: 1.5rem; /* Original spacing */
        }
        .offer-card {
            border: 1px solid #e9ecef;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column; /* Ensure cards behave as flex containers */
        }
        .offer-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 20px rgba(0,0,0,0.1);
        }
        .offer-card .card-img-top {
            height: 180px; /* Fixed height for the image */
            object-fit: cover; /* Ensures image covers the area without distortion */
            border-top-left-radius: 0.5rem;
            border-top-right-radius: 0.5rem;
        }
        .offer-card .card-body {
            flex-grow: 1; /* Allows body to grow and push footer down */
            display: flex;
            flex-direction: column;
            padding: 1.25rem;
        }
        .offer-card .card-title {
            font-weight: 700;
            color: #212529;
            font-size: 1.1rem;
            margin-bottom: 1rem;
        }
        .offer-card .card-text {
            font-size: 0.875rem;
            color: #6c757d;
            margin-bottom: 0.5rem;
        }
        .offer-card .card-text strong {
            color: #495057;
        }
        .offer-card .card-footer {
            background-color: #fff;
            border-top: 1px solid #e9ecef;
            padding: 1rem 1.25rem;
            margin-top: auto; /* Pushes footer to the bottom */
        }
        .offer-card .btn-primary {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
        }
        .offer-card .btn-primary:hover {
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
            transform: translateY(-2px);
        }
        .offer-card .btn-primary.disabled {
            background-image: none;
            background-color: #e9ecef;
            color: #6c757d;
            cursor: not-allowed;
            box-shadow: none;
            transform: none;
        }

        /* --- Note Section --- */
        .note-section-wrapper {
            background-color: #0d6efd;
            padding: 2rem 0;
            margin-top: 2rem;
        }
        .note-content {
            padding: 2rem 0;
            color: #fff;
        }
        .note-title-container {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-bottom: 1.5rem;
        }
        .note-title-container .line-note {
            flex-grow: 1;
            height: 1px;
            background-color: rgba(255, 255, 255, 0.3);
        }
        .note-title {
            font-weight: 700;
            margin: 0 1rem;
        }
        .note-list {
            list-style: none;
            padding-left: 0;
            max-width: 800px;
            margin: 0 auto;
        }
        .note-list li {
            margin-bottom: 1rem;
            padding-left: 2em;
            position: relative;
        }
        .note-list li::before {
            content: '→';
            position: absolute;
            left: 0;
            top: 0;
        }
        .note-separator {
            display: flex;
            align-items: center;
            justify-content: center;
            margin-top: 2rem;
        }
        .note-separator .line-note {
             flex-grow: 1;
            height: 1px;
            background-color: rgba(255, 255, 255, 0.3);
        }
        .note-separator i {
            margin: 0 1rem;
        }

        /* --- Our Service Section --- */
        .our-service-section {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            margin-top: 2rem; /* Add some space above */
        }

        /* Reverted service-title-container to original behavior */
        .service-title-container {
            display: flex;
            align-items: center;
            justify-content: center; /* Original centering */
            margin-bottom: 1.5rem; /* Original margin-bottom */
            gap: 1.5rem; /* Original gap */
        }
        .service-title-container .line {
            flex-grow: 1;
            height: 2px;
            background-color: #0d6efd;
            opacity: 0.2;
        }

        .service-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-transform: uppercase;
            margin-bottom: 0.25rem; /* Original margin-bottom */
            white-space: nowrap; /* Prevents title from wrapping by default */
        }
        .service-title-icon {
            color: #0d6efd;
            font-size: 1.5rem;
            margin-bottom: 0;
        }

        .service-card {
            background-color: #fff;
            border: 1px solid #e9ecef;
            border-radius: 0.5rem;
            overflow: hidden; /* To keep the rounded corners */
            transition: box-shadow 0.3s ease;
            text-align: center;
        }

        .service-card:hover {
            box-shadow: 0 8px 16px rgba(0,0,0,0.1);
        }

        .service-card-img-container {
            position: relative;
        }

        .service-card-img {
            width: 100%;
            height: 220px;
            object-fit: cover;
        }

        .service-card-footer {
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: rgba(13, 110, 253, 0.9);
            color: #fff;
            padding: 10px;
            font-size: 0.9rem;
        }

        .service-card-footer p {
            margin: 0;
            line-height: 1.2;
        }

        .service-card-caption {
            padding: 1rem;
            font-weight: 700;
            color: #343a40;
        }

        /* --- Client Testimonials & Video Reviews Section --- */
        .client-say-section, .video-reviews-section {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            margin-top: 2rem;
        }

        .video-card-iframe {
            border-radius: 0.5rem;
            overflow: hidden;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
            border: 1px solid #e9ecef;
        }
        
        /* --- Gallery Section --- */
        .gallery-section {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            margin-top: 2rem;
        }

        .gallery-item {
            border-radius: 0.5rem;
            overflow: hidden;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
            border: 1px solid #e9ecef;
            transition: transform 0.3s ease, box-shadow 0.3s ease;
        }

        .gallery-item:hover {
            transform: scale(1.05);
            box-shadow: 0 10px 15px rgba(0,0,0,0.1);
        }

        .gallery-item img {
            width: 100%;
            height: 200px;
            object-fit: cover;
        }
        
        /* --- Footer --- */
        .footer {
            background-color: #0d6efd;
            color: #fff;
            padding-top: 3rem;
        }
        .footer-col h5 {
            font-weight: 700;
            text-transform: uppercase;
            margin-bottom: 1.5rem;
        }
        .footer-col p, .footer-col a {
            color: rgba(255,255,255,0.8);
            text-decoration: none;
            font-size: 0.9rem;
        }
        .footer-col a:hover {
            color: #fff;
        }
        .footer-col ul {
            list-style: none;
            padding: 0;
        }
        .footer-col ul li {
            margin-bottom: 0.75rem;
        }
        .footer-socials a {
            color: #fff;
            font-size: 1.2rem;
            margin-right: 1rem;
            transition: color 0.2s ease-in-out;
        }
        .footer-socials a:hover {
            color: #0dcaf0;
        }
        .footer-map iframe {
            width: 100%;
            height: 300px;
            border: none;
            border-radius: 0.5rem;
        }
        .footer-map-section { width: 100%; margin-top: 2rem; padding: 0; line-height: 0; }
        .footer-map-section iframe { width: 100%; height: 300px; display: block; border: none; border-radius: 0; box-shadow: none; margin: 0; padding: 0; }
        .footer-bottom {
            background-color: #0b5ed7;
            padding: 1rem 0;
            margin-top: 2rem;
            font-size: 0.9rem;
        }


        /*
          * ===============================================
          * Responsive Styles & Off-Canvas Menu
          * ===============================================
          */

        /* Laptops and Up (992px+) */
        @media (min-width: 992px) {
            .carousel-item img {
                height: 400px; /* Cropped panoramic view for desktops */
                object-fit: cover; /* Fills the container, cropping if necessary */
            }
        }

        /* Mobile & Tablet Screens (up to 991.98px) */
        @media (max-width: 991.98px) {
            .brand-text { font-size: 1rem; }
            
            /* Off-canvas Styling */
            .offcanvas {
                background-color: #0d6efd; /* Match main nav color */
            }
            
            .offcanvas-header {
                border-bottom: 1px solid rgba(255, 255, 255, 0.2);
            }

            .offcanvas-title {
                color: #fff;
                font-weight: 700;
                text-transform: uppercase;
            }

            .offcanvas-header .btn-close {
                filter: invert(1) grayscale(100%) brightness(200%); /* Make close button white */
            }
            
            .offcanvas-body .navbar-nav .nav-item {
                border-bottom: 1px solid rgba(255, 255, 255, 0.1);
            }

            .offcanvas-body .navbar-nav .nav-link {
                padding: 1rem 1.5rem; /* More padding for a better look */
                font-size: 1rem; /* Larger font size */
                color: #fff;
                width: 100%;
            }
            
            .offcanvas-body .navbar-nav .nav-link:hover, .offcanvas-body .navbar-nav .nav-link.active {
                background-color: rgba(0, 0, 0, 0.2);
            }
            
            .offcanvas-body .offer-btn-mobile {
                background-color: #0dcaf0;
            }

            /* Off-canvas Dropdown Styling */
            .offcanvas-body .dropdown-menu {
                background-color: transparent;
                border: none;
                box-shadow: none;
                padding-left: 1.5rem; /* Indent dropdown items */
            }
            .offcanvas-body .dropdown-item {
                color: #f0f0f0;
                padding: 0.75rem 1rem;
            }
            .offcanvas-body .dropdown-item:hover {
                color: #fff;
                background-color: rgba(0, 0, 0, 0.2);
            }
            .offcanvas-body .dropdown-divider {
                display: none; /* Hide divider in mobile view */
            }

            /* Social Media Icons for Mobile Nav */
            .social-media-mobile {
                text-align: center;
                padding: 2rem 0;
                margin-top: 1rem;
                border-top: 1px solid rgba(255, 255, 255, 0.2);
            }

            .social-media-mobile .social-icon {
                color: #fff;
                font-size: 1.5rem;
                margin: 0 1rem;
                text-decoration: none;
                transition: color 0.2s ease-in-out;
            }

            .social-media-mobile .social-icon:hover {
                color: #0dcaf0; /* Use the offer button color for hover */
            }

            /* No specific .section-title-wrapper style needed for mobile as it was for button layout */
            /* Default Bootstrap column stacking will handle this */
            
            /* Ensure the content within service-title-container also respects centering */
            .service-title-container {
                flex-wrap: wrap; /* Allow lines and text to wrap if needed */
                justify-content: center; /* Center content when wrapped */
                gap: 0.5rem; /* Existing gap */
            }
            .service-title-container .line {
                width: 100%; /* Make line full width when wrapped */
                height: 1px;
            }
            .service-title-container .text-center {
                width: 100%; /* Ensure text is centered when wrapped */
                flex-grow: 0; /* Prevents text block from trying to grow and push lines */
            }
        }

         /* About Us Specific Styles */
        .about-us-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .about-content-card {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            margin-bottom: 2rem; /* Space before YouTube section */
        }

        .about-text h4 {
            color: #0d6efd;
            font-weight: 600;
            margin-bottom: 1rem;
        }

        .about-text p {
            font-size: 0.95rem;
            line-height: 1.6;
            color: #343a40;
            margin-bottom: 1rem;
            text-align: justify;
        }

        .about-logo-section {
            display: flex;
            justify-content: center;
            align-items: center;
            height: 100%; /* Make this section take full height of its column */
            padding: 1rem;
        }

        .about-logo-section img {
            max-width: 80%; /* Adjust as needed for logo size */
            height: auto;
            border-radius: 0.5rem;
            box-shadow: 0 4px 8px rgba(0,0,0,0.1);
        }
        
        .responsive-video-container {
            border-radius: 0.5rem;
            overflow: hidden;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            border: 1px solid #e9ecef;
        }

        /* Contact Us Specific Styles */
        .contact-us-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .contact-info-card, .contact-form-card {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            height: 100%; /* Ensure cards have equal height */
        }

        .contact-info-item {
            display: flex;
            align-items: flex-start;
            margin-bottom: 1.5rem;
        }
        .contact-info-item i {
            font-size: 1.5rem;
            color: #0d6efd;
            margin-right: 1rem;
            flex-shrink: 0; /* Prevent icon from shrinking */
        }
        .contact-info-item div {
            flex-grow: 1;
        }
        .contact-info-item h5 {
            font-weight: 700;
            color: #212529;
            margin-bottom: 0.25rem;
        }
        .contact-info-item p, .contact-info-item a {
            font-size: 0.95rem;
            color: #6c757d;
            text-decoration: none;
        }
        .contact-info-item a:hover {
            color: #0d6efd;
        }

        /* FIX: Ensure social icons are visible on white background */
        .contact-info-card .footer-socials a {
            color: #0d6efd; /* Use the primary blue color for visibility */
        }
        .contact-info-card .footer-socials a:hover {
            color: #0056b3; /* Slightly darker blue on hover */
        }
        /* END FIX */

        .contact-form-card .form-label {
            font-weight: 600;
            color: #343a40;
        }
        .contact-form-card .form-control {
            border-radius: 0.3rem;
            border: 1px solid #ced4da;
            padding: 0.75rem 1rem;
        }
        .contact-form-card .form-control:focus {
            border-color: #0d6efd;
            box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
        }
        .contact-form-card .btn-primary {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 0.75rem 1.5rem;
            border-radius: 0.25rem;
            transition: all 0.3s ease;
        }
        .contact-form-card .btn-primary:hover {
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
            transform: translateY(-2px);
        }

        /* Blog Specific Styles */
        .blog-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .blog-card {
            border: 1px solid #e9ecef;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        .blog-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 20px rgba(0,0,0,0.1);
        }
        .blog-card-img {
            height: 180px; /* Fixed height for consistent card images */
            object-fit: cover; /* Ensures image covers the area without distortion */
            width: 100%;
        }
        .blog-card-title {
            font-weight: 700;
            color: #212529;
            font-size: 1.1rem;
            margin-bottom: 0.75rem;
        }
        .blog-card-description {
            font-size: 0.875rem;
            color: #6c757d;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3; /* Limit description to 3 lines */
            -webkit-box-orient: vertical;
            flex-grow: 1; /* Allow description to grow */
        }
        .blog-card-footer {
            background-color: #fff;
            border-top: 1px solid #e9ecef;
            padding: 0.75rem 1.25rem;
            margin-top: auto; /* Push footer to the bottom */
        }
        .blog-card-date {
            font-size: 0.8rem;
            color: #999;
        }
        .blog-card-readmore {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 600;
            font-size: 0.8rem;
            padding: 0.4rem 0.8rem;
            border-radius: 0.25rem;
            transition: all 0.3s ease;
        }
        .blog-card-readmore:hover {
            box-shadow: 0 2px 8px rgba(13, 110, 253, 0.3);
            transform: translateY(-1px);
        }
 /* Blog Detail Specific Styles */
        .blog-detail-container {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        }
        .blog-detail-title {
            color: #0d6efd;
            font-weight: 700;
            margin-bottom: 1.5rem;
        }
        .blog-detail-meta {
            font-size: 0.9rem;
            color: #6c757d;
            margin-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: 1rem;
        }
        .blog-detail-meta i {
            color: #0d6efd;
        }
        .blog-detail-image {
            width: 100%;
            height: 400px;
            object-fit: cover;
            border-radius: 0.5rem;
            margin-bottom: 2rem;
        }
        .blog-detail-content p {
            font-size: 1rem;
            line-height: 1.6;
            color: #343a40;
            margin-bottom: 1rem;
            text-align: justify;
        }
        .back-to-blog {
            margin-top: 2rem;
            text-align: center;
        }
        .back-to-blog .btn {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 0.75rem 1.5rem;
            border-radius: 0.25rem;
            transition: all 0.3s ease;
        }
        .back-to-blog .btn:hover {
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
            transform: translateY(-2px);
        }

         /* Login/Registration Page Specific Styles */
        .auth-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .auth-card-container {
            max-width: 1000px;
            margin: 0 auto;
        }

        .auth-card {
            background-color: #fff;
            border-radius: 0.5rem;
            box-shadow: 0 6px 18px rgba(0,0,0,0.15); /* Stronger shadow */
            padding: 2.5rem; /* More padding */
            height: 100%;
        }

        .auth-card h4 {
            font-weight: 700;
            color: #0d6efd;
            margin-bottom: 1.8rem; /* More space below heading */
            text-align: center;
        }

        .form-label {
            font-weight: 600;
            color: #343a40;
            margin-bottom: 0.5rem; /* Space between label and input */
        }
        .form-control, .form-select {
            border-radius: 0.3rem;
            border: 1px solid #ced4da;
            padding: 0.85rem 1.1rem; /* Slightly larger inputs */
            font-size: 0.95rem;
        }
        .form-control:focus, .form-select:focus {
            border-color: #0d6efd;
            box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
        }

        .btn-primary {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 0.85rem 1.8rem; /* Larger buttons */
            border-radius: 0.3rem;
            transition: all 0.3s ease;
        }
        .btn-primary:hover {
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
            transform: translateY(-2px);
        }

        .text-link {
            color: #0d6efd;
            text-decoration: none;
            font-size: 0.95rem; /* Slightly larger link text */
            transition: color 0.2s ease;
        }
        .text-link:hover {
            color: #0056b3;
            text-decoration: underline;
        }

        /* Divider between columns on large screens */
        @media (min-width: 992px) {
            .auth-card-divider {
                border-right: 1px solid #dee2e6;
                padding-right: 2.5rem !important; /* Match left padding */
            }
            .auth-card-right-padding {
                padding-left: 2.5rem !important; /* Match left padding */
            }
        }
        /* No divider on smaller screens */
        @media (max-width: 991.98px) {
            .auth-card-divider {
                border-right: none;
                padding-right: 0 !important;
                border-bottom: 1px solid #dee2e6;
                padding-bottom: 2.5rem !important;
                margin-bottom: 2.5rem !important;
            }
        }

        /* Image Preview for File Inputs */
        .image-preview-container {
            border: 1px solid #dee2e6;
            border-radius: 0.3rem;
            padding: 0.5rem;
            margin-top: 0.5rem;
            text-align: center;
            min-height: 100px; /* Provide a minimum height for visibility */
            display: flex;
            align-items: center;
            justify-content: center;
            overflow: hidden; /* Hide overflow if image is too large */
            background-color: #f8f9fa;
        }
        .image-preview-container img {
            max-width: 100%;
            max-height: 150px; /* Constrain preview height */
            object-fit: contain; /* Ensure entire image is visible */
            border-radius: 0.2rem;
        }
        .image-preview-container.empty {
            color: #6c757d;
            font-size: 0.9rem;
        }
        .image-preview-container.empty::before {
            content: "No image selected";
        }

        /* News/Media Detail Specific Styles */
        .news-media-detail-container {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        }
        .news-media-detail-title {
            color: #0d6efd;
            font-weight: 700;
            margin-bottom: 1.5rem;
        }
        .news-media-detail-meta {
            font-size: 0.9rem;
            color: #6c757d;
            margin-bottom: 1.5rem;
            display: flex;
            align-items: center;
            gap: 1rem;
        }
        .news-media-detail-meta i {
            color: #0d6efd;
        }
        .news-media-detail-image {
            width: 100%;
            height: 400px;
            object-fit: cover;
            border-radius: 0.5rem;
            margin-bottom: 2rem;
        }
        .news-media-detail-content p {
            font-size: 1rem;
            line-height: 1.6;
            color: #343a40;
            margin-bottom: 1rem;
            text-align: justify;
        }
        .back-to-news-media {
            margin-top: 2rem;
            text-align: center;
        }
        .back-to-news-media .btn {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 0.75rem 1.5rem;
            border-radius: 0.25rem;
            transition: all 0.3s ease;
        }
        .back-to-news-media .btn:hover {
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
            transform: translateY(-2px);
        }

/* News/Media Specific Styles (Similar to blog styles for consistency) */
        .news-media-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .news-media-card {
            border: 1px solid #e9ecef;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column;
            overflow: hidden;
        }
        .news-media-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 20px rgba(0,0,0,0.1);
        }
        .news-media-card-img {
            height: 180px; /* Fixed height for consistent card images */
            object-fit: cover; /* Ensures image covers the area without distortion */
            width: 100%;
        }
        .news-media-card-title {
            font-weight: 700;
            color: #212529;
            font-size: 1.1rem;
            margin-bottom: 0.75rem;
        }
        .news-media-card-description {
            font-size: 0.875rem;
            color: #6c757d;
            overflow: hidden;
            text-overflow: ellipsis;
            display: -webkit-box;
            -webkit-line-clamp: 3; /* Limit description to 3 lines */
            -webkit-box-orient: vertical;
            flex-grow: 1; /* Allow description to grow */
        }
        .news-media-card-footer {
            background-color: #fff;
            border-top: 1px solid #e9ecef;
            padding: 0.75rem 1.25rem;
            margin-top: auto; /* Push footer to the bottom */
        }
        .news-media-card-date {
            font-size: 0.8rem;
            color: #999;
        }
        .news-media-card-readmore {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 600;
            font-size: 0.8rem;
            padding: 0.4rem 0.8rem;
            border-radius: 0.25rem;
            transition: all 0.3s ease;
        }
        .news-media-card-readmore:hover {
            box-shadow: 0 2px 8px rgba(13, 110, 253, 0.3);
            transform: translateY(-1px);
        }

         /* Booking Page Specific Styles */
        .section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .booking-card {
            background-color: #fff;
            border-radius: 0.5rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            /* Removed p-4 from here, applied padding to inner sections */
        }

        .num-seats-section, 
        .customer-info-section, 
        .offer-detail-section, 
        .pricing-payment-section {
            border-radius: 0.5rem;
            /* Removed height: 100% to allow natural content sizing */
            /* Background and border will be applied to individual sections for distinct looks */
        }
        
        .num-seats-section {
            background-color: #f8f9fa; /* Light background for the section */
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem; /* Add padding for visual separation */
            margin-bottom: 1.5rem; /* Space below this section */
        }

        .customer-info-section {
            background-color: #f8f9fa; /* Consistent background for customer section */
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem; /* Add padding for visual separation */
            /* No margin-top here, as num-seats-section already has margin-bottom */
        }
        
        .offer-detail-section {
            background-color: #f8f9fa; /* Background for offer details */
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem; /* Add padding */
        }

        .pricing-payment-section {
            background-color: #f8f9fa; /* Background for pricing and payment */
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem; /* Add padding */
        }


        .customer-entry {
            /* This style is fine, it's specific to an inner block */
            background-color: #fff; /* Keep customer entry white if surrounding is light grey */
            border: 1px solid #ced4da !important; /* Slightly darker border for inner blocks */
            padding: 1rem;
        }

        .num-seats-section h4, .customer-info-section h4, .offer-detail-section h4, .pricing-payment-section h4 {
            font-weight: 700;
            margin-bottom: 1.5rem;
        }
        .num-seats-section h5, .customer-info-section h5, .pricing-payment-section h5 {
            font-weight: 600;
            margin-bottom: 1rem;
            color: #495057;
        }

        .offer-preview.card {
            border: 1px solid #e9ecef;
            box-shadow: none; /* Remove redundant shadow */
            height: auto; /* Let content define height */
            text-align: left;
        }
        .offer-preview .card-img-top {
            height: 180px;
            object-fit: cover;
            border-top-left-radius: 0.5rem;
            border-top-right-radius: 0.5rem;
        }
        .offer-preview .card-title {
            font-size: 1.1rem;
            font-weight: 700;
            color: #212529;
        }
        .offer-preview .card-text {
            font-size: 0.875rem;
            color: #6c757d;
            margin-bottom: 0.5rem;
        }
        .offer-preview .card-text strong {
            color: #495057;
        }

        .form-label {
            font-weight: 600;
            color: #343a40;
        }
        .form-control, .form-select {
            border-radius: 0.3rem;
            border: 1px solid #ced4da;
            padding: 0.75rem 1rem;
        }
        .form-control:focus, .form-select:focus {
            border-color: #0d6efd;
            box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
        }

        .payment-fields {
            background-color: #fff;
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem;
            margin-bottom: 1rem !important;
        }
        .payment-fields h5 {
            color: #0d6efd;
        }

        
        /* Offer List Page Specific Styles (Copied from index.html) */
        .offer-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }
        .offer-card {
            border: 1px solid #e9ecef;
            border-radius: 0.5rem;
            box-shadow: 0 4px 6px rgba(0,0,0,0.05);
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            display: flex;
            flex-direction: column; /* Ensure cards behave as flex containers */
        }
        .offer-card:hover {
            transform: translateY(-8px);
            box-shadow: 0 12px 20px rgba(0,0,0,0.1);
        }
        .offer-card .card-img-top {
            height: 180px; /* Fixed height for the image */
            object-fit: cover; /* Ensures image covers the area without distortion */
            border-top-left-radius: 0.5rem;
            border-top-right-radius: 0.5rem;
        }
        .offer-card .card-body {
            flex-grow: 1; /* Allows body to grow and push footer down */
            display: flex;
            flex-direction: column;
            padding: 1.25rem;
        }
        .offer-card .card-title {
            font-weight: 700;
            color: #212529;
            font-size: 1.1rem;
            margin-bottom: 1rem;
        }
        .offer-card .card-text {
            font-size: 0.875rem;
            color: #6c757d;
            margin-bottom: 0.5rem;
        }
        .offer-card .card-text strong {
            color: #495057;
        }
        .offer-card .card-footer {
            background-color: #fff;
            border-top: 1px solid #e9ecef;
            padding: 1rem 1.25rem;
            margin-top: auto; /* Pushes footer to the bottom */
        }
        .offer-card .btn-primary {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
        }
        .offer-card .btn-primary:hover {
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
            transform: translateY(-2px);
        }
        .offer-card .btn-primary.disabled {
            background-image: none;
            background-color: #e9ecef;
            color: #6c757d;
            cursor: not-allowed;
            box-shadow: none;
            transform: none;
        }

        /* Policy Page Specific Styles */
        .policy-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .policy-content-card {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        }

        .policy-content-card h3 {
            color: #0d6efd;
            font-weight: 600;
            margin-top: 1.5rem;
            margin-bottom: 1rem;
        }

        .policy-content-card p {
            font-size: 0.95rem;
            line-height: 1.6;
            color: #343a40;
            margin-bottom: 1rem;
            text-align: justify;
        }

        .policy-content-card ul {
            font-size: 0.95rem;
            line-height: 1.6;
            color: #343a40;
            margin-bottom: 1rem;
            padding-left: 1.5rem;
        }

        .policy-content-card ul li {
            margin-bottom: 0.5rem;
        }

         /* Search Ticket Page Specific Styles */
        .search-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .search-card {
            background-color: #fff;
            border-radius: 0.5rem;
            padding: 2rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            max-width: 800px; /* Limit width for better readability */
            margin: 0 auto; /* Center the card */
        }

        .search-form-group {
            display: flex;
            gap: 1rem;
            margin-bottom: 2rem;
            flex-wrap: wrap; /* Allow wrapping on small screens */
        }
        .search-form-group .form-control {
            flex-grow: 1; /* Allow input to grow */
            min-width: 200px; /* Minimum width before wrapping */
        }
        .search-form-group .btn {
            flex-shrink: 0; /* Prevent button from shrinking */
        }

        .ticket-details-card {
            background-color: #f8f9fa;
            border: 1px solid #dee2e6;
            border-radius: 0.5rem;
            padding: 1.5rem;
            margin-top: 2rem;
            box-shadow: inset 0 1px 3px rgba(0,0,0,0.05);
        }

        .ticket-details-card h4 {
            color: #0d6efd;
            font-weight: 700;
            margin-bottom: 1rem;
        }
        .ticket-details-card p {
            font-size: 0.95rem;
            margin-bottom: 0.5rem;
            color: #343a40;
        }
        .ticket-details-card strong {
            color: #212529;
        }
        .ticket-details-card .btn-download {
            background-image: linear-gradient(to right, #28a745, #218838); /* Green for download */
            border: none;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 0.75rem 1.5rem;
            border-radius: 0.25rem;
            transition: all 0.3s ease;
            margin-top: 1.5rem;
        }
        .ticket-details-card .btn-download:hover {
            box-shadow: 0 4px 12px rgba(40, 167, 69, 0.3);
            transform: translateY(-2px);
        }
        /* Booking Page Specific Styles (Adapted for service booking) */
        .section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .booking-card {
            background-color: #fff;
            border-radius: 0.5rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
        }

        .num-seats-section, 
        .customer-info-section, 
        .service-detail-section, /* Changed from offer-detail-section */
        .pricing-payment-section {
            border-radius: 0.5rem;
        }
        
        .num-seats-section {
            background-color: #f8f9fa;
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem;
            margin-bottom: 1.5rem;
        }

        .customer-info-section {
            background-color: #f8f9fa;
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem;
        }
        
        .service-detail-section { /* Changed from offer-detail-section */
            background-color: #f8f9fa;
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem;
        }

        .pricing-payment-section {
            background-color: #f8f9fa;
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem;
        }


        .customer-entry {
            background-color: #fff;
            border: 1px solid #ced4da !important;
            padding: 1rem;
        }

        .num-seats-section h4, .customer-info-section h4, .service-detail-section h4, .pricing-payment-section h4 { /* Changed from offer-detail-section */
            font-weight: 700;
            margin-bottom: 1.5rem;
        }
        .num-seats-section h5, .customer-info-section h5, .pricing-payment-section h5 {
            font-weight: 600;
            margin-bottom: 1rem;
            color: #495057;
        }

        .service-preview.card { /* Changed from offer-preview */
            border: 1px solid #e9ecef;
            box-shadow: none;
            height: auto;
            text-align: left;
        }
        .service-preview .card-img-top { /* Changed from offer-preview */
            height: 180px;
            object-fit: cover;
            border-top-left-radius: 0.5rem;
            border-top-right-radius: 0.5rem;
        }
        .service-preview .card-title { /* Changed from offer-preview */
            font-size: 1.1rem;
            font-weight: 700;
            color: #212529;
        }
        .service-preview .card-text { /* Changed from offer-preview */
            font-size: 0.875rem;
            color: #6c757d;
            margin-bottom: 0.5rem;
        }
        .service-preview .card-text strong { /* Changed from offer-preview */
            color: #495057;
        }

        .form-label {
            font-weight: 600;
            color: #343a40;
        }
        .form-control, .form-select {
            border-radius: 0.3rem;
            border: 1px solid #ced4da;
            padding: 0.75rem 1rem;
        }
        .form-control:focus, .form-select:focus {
            border-color: #0d6efd;
            box-shadow: 0 0 0 0.25rem rgba(13, 110, 253, 0.25);
        }

        .payment-fields {
            background-color: #fff;
            border: 1px solid #dee2e6 !important;
            padding: 1.5rem;
            margin-bottom: 1rem !important;
        }
        .payment-fields h5 {
            color: #0d6efd;
        }

        /* Service List Page Specific Styles (Copied from index.html) */
        .service-list-section-title {
            font-weight: 700;
            color: #0d6efd;
            text-align: center;
            margin-bottom: 2rem;
        }

        .service-card {
            background-color: #fff;
            border: 1px solid #e9ecef;
            border-radius: 0.5rem;
            overflow: hidden; /* To keep the rounded corners */
            transition: box-shadow 0.3s ease;
            text-align: center;
            display: flex; /* Ensure it's a flex container for content alignment */
            flex-direction: column; /* Stack content vertically */
            height: 100%; /* Ensure equal height if in a grid row */
        }

        .service-card:hover {
            box-shadow: 0 8px 16px rgba(0,0,0,0.1);
        }

        .service-card-img-container {
            position: relative;
            flex-shrink: 0; /* Prevents image container from shrinking */
        }

        .service-card-img {
            width: 100%;
            height: 220px;
            object-fit: cover;
        }

        .service-card-footer-text { /* Renamed from .service-card-footer to avoid conflict if any */
            position: absolute;
            bottom: 0;
            left: 0;
            width: 100%;
            background-color: rgba(13, 110, 253, 0.9);
            color: #fff;
            padding: 10px;
            font-size: 0.9rem;
        }

        .service-card-footer-text p {
            margin: 0;
            line-height: 1.2;
        }

        .service-card-caption {
            padding: 1rem;
            font-weight: 700;
            color: #343a40;
            flex-grow: 1; /* Allows caption to take remaining space */
            display: flex;
            align-items: center; /* Vertically center caption if needed */
            justify-content: center; /* Horizontally center caption */
            text-transform: uppercase;
        }

        /* Styles for the new Book Now button in service card footer */
        .service-card .card-footer {
            background-color: #fff;
            border-top: 1px solid #e9ecef;
            padding: 1rem 1.25rem;
            margin-top: auto; /* Pushes footer to the bottom */
        }
        .service-card .card-footer .btn-primary {
            background-image: linear-gradient(to right, #0d6efd, #0dcaf0);
            border: none;
            font-weight: 700;
            text-transform: uppercase;
            letter-spacing: 0.5px;
            transition: all 0.3s ease;
        }
        .service-card .card-footer .btn-primary:hover {
            box-shadow: 0 4px 12px rgba(13, 110, 253, 0.3);
            transform: translateY(-2px);
        }
        /* END Service Card Button Styles */

         /* User Dashboard Specific Styles */
        .dashboard-container {
            max-width: 1200px;
            margin: 0 auto;
        }

        .dashboard-welcome {
            text-align: center;
            margin-bottom: 2.5rem;
            color: #0d6efd;
            font-weight: 700;
        }
        .dashboard-welcome .welcome-name {
            color: #212529; /* Darker color for name */
        }
        .dashboard-subtitle {
            text-align: center;
            margin-bottom: 3rem;
            color: #6c757d;
            font-size: 1.1rem;
        }

        .dashboard-card {
            background-color: #fff;
            border-radius: 0.5rem;
            box-shadow: 0 4px 12px rgba(0,0,0,0.08);
            padding: 2rem;
            margin-bottom: 2rem;
        }

        .dashboard-card-header {
            font-weight: 700;
            color: #0d6efd;
            font-size: 1.4rem;
            margin-bottom: 1.5rem;
            border-bottom: 1px solid #eee;
            padding-bottom: 0.75rem;
        }

        .profile-info p {
            font-size: 1rem;
            margin-bottom: 0.8rem;
            color: #343a40;
        }
        .profile-info strong {
            display: inline-block;
            min-width: 100px; /* Align labels */
            color: #212529;
        }

        .booking-item {
            border: 1px solid #e9ecef;
            border-radius: 0.3rem;
            padding: 1rem 1.5rem;
            margin-bottom: 1rem;
            background-color: #f8f9fa;
            display: flex;
            flex-wrap: wrap; /* Allow content to wrap */
            justify-content: space-between;
            align-items: center;
            gap: 1rem; /* Space between items in flex wrap */
        }

        .booking-item:last-child {
            margin-bottom: 0;
        }

        .booking-item-details {
            flex-grow: 1;
            font-size: 0.95rem;
            color: #343a40;
        }
        .booking-item-details strong {
            color: #212529;
        }
        .booking-item-status {
            font-weight: 600;
            padding: 0.4rem 0.8rem;
            border-radius: 0.25rem;
            font-size: 0.85rem;
            flex-shrink: 0; /* Prevent status from shrinking */
        }
        .status-confirmed { background-color: #d4edda; color: #155724; } /* Green */
        .status-pending { background-color: #fff3cd; color: #856404; }   /* Yellow */
        .status-cancelled { background-color: #f8d7da; color: #721c24; } /* Red */

        .dashboard-actions {
            text-align: center;
            margin-top: 2rem;
        }
        .btn-logout {
            background-color: #dc3545; /* Red logout button */
            border: none;
            font-weight: 700;
            letter-spacing: 0.5px;
            padding: 0.75rem 1.5rem;
            border-radius: 0.25rem;
            transition: all 0.3s ease;
        }
        .btn-logout:hover {
            box-shadow: 0 4px 12px rgba(220, 53, 69, 0.3);
            transform: translateY(-2px);
        }

        /* Modal specific styling to ensure consistency */
        .modal-content {
            border-radius: 0.5rem;
            box-shadow: 0 8px 25px rgba(0,0,0,0.25);
            border: none;
        }
        .modal-header {
            background-color: #0d6efd;
            color: white;
            border-top-left-radius: 0.5rem;
            border-top-right-radius: 0.5rem;
            padding: 1.5rem;
            border-bottom: none;
        }
        .modal-title {
            font-weight: 700;
        }
        .modal-header .btn-close {
            filter: invert(1) grayscale(100%) brightness(200%); /* Make close button white */
            opacity: 1;
        }
        .modal-body {
            padding: 1.5rem;
            background-color: #f8f9fa; /* Light grey background for modal body */
        }
        .modal-footer {
            background-color: #f8f9fa; /* Match body background */
            border-bottom-left-radius: 0.5rem;
            border-bottom-right-radius: 0.5rem;
            border-top: none;
            padding: 1rem 1.5rem;
        }
        .modal-footer .btn {
            font-weight: 600;
            padding: 0.6rem 1.2rem;
        }
        .modal-footer .btn-secondary {
            background-color: #6c757d;
            border-color: #6c757d;
        }
        .modal-footer .btn-secondary:hover {
            background-color: #5a6268;
            border-color: #545b62;
        }
        .modal-footer .btn-primary {
            /* Inherits default btn-primary styles from global, looks good */
        }






  