/* General Styles */
body {
    font-family: Arial, sans-serif;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Header Section */
header {
    text-align: center;
}

.banner {
    width: 100%; /* Make the banner take full width */
   
    height: auto; /* Let height adjust automatically */
    background-color: black; /* Black background for any unfilled space */
    position: relative; /* Keeps structure intact */
    padding: 10px; /* Optional: Adds padding */
    box-sizing: border-box; /* Prevents padding from affecting width */
    display: flex; /* Helps center the image */
    justify-content: center; /* Centers image horizontally */
}

.banner img {
    width: 100%; /* Image takes full width of its container */
    height: auto; /* Maintains aspect ratio */
   
    display: block; /* Removes unwanted gaps below image */
}




/* Adjustments for small screens */
@media (max-width: 768px) {
    .left-group, .right-group {
        position: relative; /* Reset positioning */
        width: 100%; /* Make the groups take full width */
        text-align: center; /* Center the images horizontally */
        margin-top: 10px; /* Space between the groups */
    }

    /* Ensure images stack vertically and are centered */
    .left-group img,
    .right-group img {
        margin-bottom: 10px; /* Space between images in the group */
        display: block; /* Stack the images vertically */
        margin-left: auto;
        margin-right: auto; /* Center images horizontally */
    }

    /* Optional: Add space between the groups when stacked */
    .right-group {
        margin-top: 20px; /* Space between groups */
    }
}









.logo {

    padding-bottom: 20px;
    background-color: #000000;
    color: white;
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.7);
}

h1 {
    font-size: 3.5em;
    margin: 0;
}

p {
    font-size: 1.5em;
}

        /* Navigation bar */
        nav {
            background-color: #333;
            padding: 10px 20px;
            position: relative;
        }

        /* Navigation links (Desktop View) */
        .nav-links-container {
            display: flex;  /* Visible by default on desktop */
            list-style-type: none;
            padding: 0;
            margin: 0;
            justify-content: center; /* Center links */
        }

        li {
            margin: 0;
            padding: 0;
        }

        li a {
            color: white;
            text-decoration: none;
            padding: 10px 15px;
            display: block;
        }

        li a:hover {
            background-color: #555;
        }

        /* Hamburger Icon (Hidden by default on Desktop) */
        .nav-toggle {
            display: none;
            font-size: 30px;
            cursor: pointer;
            color: white;
            background: #000000;
            border: white;
            position: absolute;
            right: 20px;
            top: 10px;
            z-index: 1000;
        }

        /* Mobile View */
        @media screen and (max-width: 768px) {
            .nav {
                height: 80px; /* Adjust height */
            }
            
            .nav-links-container {
                display: none;  /* Hide links on mobile */
                flex-direction: column;
                position: relative;
                padding: 20px 20px;
                top: 50px;
                left: 0;
                width: 100%;
                justify-content: center;
                background-color: #333;
                z-index: 1000;
            }

            .nav-links-container.active {
                display: flex;  /* Show links when active */
            }

            .nav-toggle {
                display: block;  /* Show hamburger icon */
            }
        }

/* Menu Section */
#menu {
    padding: 20px;
    background-color: #f4f4f4;
    text-align: center; /* Center the entire menu content */
}

#menu h2 {
    font-size: 2em;
    color: #333;
}

.menu-category {
    margin-bottom: 20px;
}

.menu-category h3 {
    font-size: 1.8em;
    color: #FFFFFF;
}

.menu-category ul {
    list-style-type: none;
    padding: 0;
}

.menu-category ul li {
    font-size: 1.2em;
}

/* Centering the table and making it responsive */
.menu-table {
    width: 90%;
    max-width: 800px; /* Maximum width for larger screens */
    margin: 0 auto; /* Centering the table */
    border-collapse: collapse;
    text-align: left; /* Align text to the left in table cells */
    table-layout: fixed;
    grid-column: 1 / -1; /* Makes the table span all columns */

    display: block; /* Prevents any unwanted grid constraints */
    position: absolute; /* Removes it from normal document flow */
    top: 120%;
    left: 0;


    z-index: 10; /* Ensures it’s above other elements */
}




.menu-table td {
    padding: 0px;
    border: none;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.menu-table td:first-child {
    width: auto; /* Allows image column to adjust naturally */
    max-width: 40%; /* Prevents it from taking too much space */
}

.menu-table td:nth-child(2) {
    text-align: right;
}

/* Making table headings bold and enhancing visibility */
.menu-table th {
    background-color: #333;
    color: white;
    font-weight: bold;
    padding: 0px;
}



/* Responsive Styles */
@media (max-width: 768px) {
    /* Adjust menu heading size */
    #menu h2 {
        font-size: 1.8em;
    }

    .menu-category h3 {
        font-size: 1.5em;
    }

    /* Make the table more responsive */
    .menu-table {
        width: 100%;
        max-width: none; /* Remove max-width for mobile */
        padding: 5px;
    }

    .menu-table td {
        font-size: 1em; /* Adjust font size for readability on mobile */
    }

    /* Making the price align better on smaller screens */
    .menu-table td:nth-child(2) {
        font-size: 1.1em;
    }

    /* Making headings inside menu section more readable */
    .menu-category h3 {
        font-size: 1.4em;
    }
}

/* About and Contact Section */
#about, #contact, #wecater {
    padding: 20px;
    text-align: center; /* Center all text inside the about and contact sections */
    border-radius: 10px;
}

/* About Section */
#about h2, #contact h2, #wecater h2 {
    font-size: 2em;
    color: #333;
    margin-bottom: 20px; /* Add some spacing after the headings */
}

#about p, #contact p, #wecater p {
    font-size: 1.2em;
    color: #FFFFFF;
    line-height: 1.6; /* Improve readability by spacing out the lines */
    margin-bottom: 20px; /* Add space after paragraphs */
}


#ce-google-reviews .gr-link,
#ce-google-reviews .src {
  color: #FFED29;          /* your footer yellow */
  border-bottom-color: #FFED29; /* keeps underline/border consistent */
}
#ce-google-reviews .gr-link:hover,
#ce-google-reviews .src:hover {
  color: #ffd633;          /* slightly lighter yellow on hover, optional */
}

/* Contact Info */

/* Image button style */
.ce-btn-img {
  height: 40px;          /* fixed height */
  width: auto;           /* keep aspect ratio */
  cursor: pointer;
  border: 2px solid #ffcc00;  /* CE gold accent */
  border-radius: 6px;
  display: inline-block;
}
.ce-btn-img:hover {
  opacity: 0.85;
}

#contact ul {
    list-style-type: none;
    padding: 0;
    font-size: 1.1em;
}

#contact li {
    margin: 5px 0;
}

#contact a {
    color: #FFED29;
    text-decoration: none;
}

.business-hours strong {
  color: #FFED29;
}

#contact a:hover {
    text-decoration: underline;
}

/* Our Hours Section */
#contact .hours {
    margin-top: 20px;
    font-size: 1.1em;
}

#contact .hours li {
    margin: 5px 0;
}

.contact-info {
    display: flex; /* Flexbox for left-right layout */
    justify-content: space-between; /* Spread items to the left and right */
    align-items: flex-start; /* Align content to the top */
    margin-top: 30px;
}

/* Location Info (Left Side) */
.location-info {
    flex: 1; /* Allow it to take up available space */
    padding-right: 20px; /* Space between left and right sections */
}

/* Hours Info (Right Side) */
.hours-info {
    flex: 1; /* Allow it to take up available space */
    padding-left: 20px; /* Space between left and right sections */
}

/* Footer Styles */
footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 10px;
    position: fixed;
    width: 100%;
    bottom: 0;
    z-index: 10; /* Ensure footer is above other content */
}

/* Container for the image and text to allow scrolling */
.footer-image-container {
    display: flex;
    overflow: hidden;  /* Hide overflowed content */
    width: 100%;
    justify-content: flex-start;  /* Align content to the left */
    padding: 5px 0;
    position: relative;  /* Container for positioning the scrolling content */
}

/* Image inside the footer */
.footer-image-container img {
    height: 20px; /* Adjust the height of the footer image */
    margin-right: 20px;  /* Optional: space between the image and text */
}

/* Text inside the footer */
.footer-image-container p {
    font-size: 1em;
    margin: 0;  /* Remove default margin to keep it aligned properly */
    color: white;  /* Text color */
    white-space: nowrap; /* Ensure text stays in one line */
}

/* Make the container wide enough to hold the content */
.footer-image-container {
    width: 600px;  /* Take full width */
    animation: scroll-content 20s linear infinite;  /* Apply scrolling effect to entire container */
}

/* Keyframes for scrolling the entire container (image + text) horizontally */
@keyframes scroll-content {
    0% {
        transform: translateX(100vw);  /* Start off-screen on the right */
    }
    100% {
        transform: translateX(-100vw);  /* End off-screen on the left */
    }
}



/* Prevent unwanted overflow from the image */
body {
    margin: 0;
}



/* Reset some default styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

/* Container that holds the image */
.container1 {
    position: fixed; /* Fix the moving image to the viewport */
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    overflow: hidden; /* Hide anything outside the container */
    z-index: -1; /* Place it behind all other content */
    background: linear-gradient(
        to bottom,
        rgba(0, 0, 0, 1) 0%, /* Fully black at the top */
        rgba(0, 0, 0, 0.9) 50%, /* Semi-transparent black halfway */
        rgba(0, 0, 0, 0.7) 100% /* Lighter transparency at the bottom */
    );
}

/* The image element that we zoom and pan over */
.image1 {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    background-image: url('https://curryelement.com/image/indian-food-bg-big.jpg'); /* Replace with your image URL */
    background-size: cover; /* Ensure the image covers the whole area */
    background-position: center;
    width: 120%; /* Initial size of the image */
    height: 120%;
    animation: zoom-pan 40s infinite linear; /* Animation for zooming and panning */
}

/* Semi-transparent black background for content sections */
#menu, #about, #wecater {
    background-color: rgba(0, 0, 0, 0.7); /* Semi-transparent black */
    padding: 20px;
    border-radius: 10px; /* Optional: Add some rounding for aesthetic */
    color: white; /* Ensure text is readable */
}

#contact {
    background-color: #333;
    color: white;
    
}

/* Ensure text remains readable over the background */
#menu h2, #menu p, #about h2, #contact h2, #wecater h2 {
    color: white;
}

#about h2, #ourmission h2, #wecater h2, #contact h2, h3, a {
    color: #FFED29;
}

/* Keyframe animation for zoom and pan */
@keyframes zoom-pan {
    0% {
        transform: translate(-50%, -50%) scale(1) translate(0, 0);
    }
    25% {
        transform: translate(-50%, -50%) scale(1.1) translate(10%, -10%);
    }
    50% {
        transform: translate(-50%, -50%) scale(1.2) translate(0%, -20%);
    }
    75% {
        transform: translate(-50%, -50%) scale(1.1) translate(-10%, -10%);
    }
    100% {
        transform: translate(-50%, -50%) scale(1) translate(0, 0);
    }
}

/* Responsive behavior for smaller screens */
@media (max-width: 768px) {
    #menu, #about, {
        background-color: rgba(0, 0, 0, 0.8); /* Slightly darker for smaller screens */
    }

    #menu h2, #menu p, #about h2, #contact h2 {
        font-size: 1.5em;
    }
}

.menu-table {
    width: 100%;
    max-width: 800px; /* Maximum width for larger screens */
    margin: 0 auto; /* Centering the table */
    border-collapse: collapse;
    text-align: left; /* Align text to the left in table cells */
    background-color: rgba(255, 255, 255, 0.2); /* Semi-transparent white background */
    backdrop-filter: blur(10px); /* Apply frosted glass effect */
    border-radius: 10px; /* Optional: Round the corners */
    overflow: hidden; /* Ensures the border-radius is applied */
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.2); /* Adds a subtle shadow */
}

.menu-table th {
    background-color: rgba(0, 0, 0, 0.8); /* Dark background for headers */
    color: white;
    font-weight: bold;
    padding: 12px;
}

.menu-table td {
    padding: 10px;
    border: none; /* Subtle border */
    color: white; /* Text color */
}

/* Add this for better appearance on small screens */
@media (max-width: 768px) {
    .menu-table {
        font-size: 0.9em;
    }
}

/* Global box-sizing helps include padding and border in element's total dimensions */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* The Overlay (Initially hidden) */
.overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;  
    height: 100vh; 
    background-color: rgba(0, 0, 0, 0.8);
    display: none;  
    justify-content: center;
    align-items: center;
    z-index: 999;
    padding: 20px;
    overflow-y: auto;  /* Allow scrolling if needed */
}

/* The Content of the Overlay */
.overlay-content {
    background-color: rgba(0, 0, 0, 0.8);
    padding: 20px;
    border-radius: 10px;
    text-align: center;
    width: 80%;
    max-width: 500px;
    max-height: calc(100vh - 40px);  /* Limit content height */
    overflow-y: auto;  /* Scroll if content is too tall */
    position: relative;
    margin: auto;
}

/* Image inside the overlay */
.overlay-image {
    width: 100%;
    max-height: 50vh;  /* Ensure the image doesn't take over the viewport */
    object-fit: contain;  /* Maintain aspect ratio and show entire image */
    margin-bottom: 15px;
    display: block;
}

.overlay-image1 {
    width: 100%;
    max-height: auto;  /* Ensure the image doesn't take over the viewport */
    object-fit: contain;  /* Maintain aspect ratio and show entire image */
    margin-bottom: 15px;
    display: block;
}

/* The close button for the overlay */
.close-btn {
    position: absolute;
    top: 10px;
    right: 10px;
    width: 40px;
    height: 40px;
    background-color: #fff;  /* White background */
    border-radius: 50%;      /* Makes it a circle */
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 20px;
    color: #333;             /* Color of the X, can change if needed */
    cursor: pointer;
    border: none;            /* Remove any default borders */
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2); /* Optional: Adds a subtle shadow */
}


/* Textarea in the overlay */
#overlay-text {
    width: 100%;
    height: 100px;
    margin-top: 10px;
    padding: 10px;
    font-size: 8px;
    border: 1px solid #ccc;
    border-radius: 5px;
}



/* Button to submit the text */
button {
    background-color: #333;
    color: white;
    padding: 10px 20px;
    border: none;
    cursor: pointer;
    margin-top: 10px;
    border-radius: 5px;
}

button:hover {
    background-color: #555;
}

 
.carousel-container {
    position: relative;
    width: 90%; /* Adjust to your preferred width */
    margin: auto;
    overflow: hidden; /* Ensure no content goes outside */
}

.carousel {
    display: flex;
    gap: 10px;
    transition: transform 0.5s ease-in-out;
    width: 100%;
}

.carousel-item {
    flex: 0 0 auto; /* Adjust so that items take their natural width */
    height: 360px; /* Fixed height */
    display: flex;
    align-items: center;
    justify-content: center;
}

.carousel img {
    height: 100%; /* Make the height exactly 360px */
    width: auto; /* Adjust width according to aspect ratio */
    object-fit: contain; /* Ensure the entire image fits without cropping */
    border-radius: 10px;
}

.carousel-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border: none;
    cursor: pointer;
    padding: 10px;
    font-size: 20px;
    z-index: 10;
    border-radius: 50%;
}

.carousel-btn.left {
    left: 10px;
}

.carousel-btn.right {
    right: 10px;
}

@media screen and (max-width: 600px) {
    .carousel-item {
        display: flex;
        justify-content: center; /* Centers the image horizontally */
        align-items: center; /* Centers the image vertically */
        text-align: center;
        height: auto; /* Allows the height to adjust */
    }

    .carousel img {
        max-width: 100%; /* Prevents image overflow */
        max-height: 300px; /* Keeps image from being too tall */
        height: auto; /* Maintains aspect ratio */
        width: auto; /* Prevents stretching */
        object-fit: contain; /* Ensures the whole image fits */
        display: block;
        margin: 0 auto; /* Helps with centering */
    }
}




        .social-buttons {
            display: flex;
            gap: 15px;
            justify-content: center;
            align-items: center;
        }

        .social-buttons a {
            display: flex;
            align-items: center;
            justify-content: center;
            width: 80px;
            height: 80px;
            font-size: 48px;
            color: white;
            text-decoration: none;
            border-radius: 50%;
            transition: 0.3s;
            border: 2px solid white; /* Add white border to make the icon stand out */
        }

        .social-buttons a:hover {
            transform: scale(1.1);
            opacity: 0.8;
        }

        .social-buttons svg {
            width: 50px;
            height: 50px;
            fill: none;
            stroke: white;
            stroke-width: 1;
        }
        
        

/* Styling for the toggle button */
.toggle-table-button, .toggle-table-button1, .toggle-table-button2, .toggle-table-button3, .toggle-table-button4,
.toggle-table-button5, .toggle-table-button6, .toggle-table-button7, .toggle-table-button8, .toggle-table-button9,
.toggle-table-button10, .toggle-table-button11, .toggle-table-button12, .toggle-table-button13, .toggle-table-button14, .toggle-table-button15 {
    display: inline-block;
    padding: 50px 50px;
    background-color: #4CAF50;

    color: #FFED29;
    cursor: pointer;
    border-radius: 4px;
    text-align: center;
    margin: 5px;
    font-size: 3em;
    text-shadow:  
        2px 2px 0px black,  
        -2px -2px 0px black,  
        -2px 2px 0px black,  
        2px -2px 0px black,  
        3px 3px 5px rgba(0, 0, 0, 0.7); /* Slight glow */
}

.toggle-table-button {
    background-image: url('https://curryelement.com/image/button-apps.jpg'); /* Replace with your image URL */
}

.toggle-table-button1 {

    background-image: url('https://curryelement.com/image/apps-sm.jpg'); /* Replace with your image URL */
        background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}


.toggle-table-button2 {
    background-image: url('https://curryelement.com/image/chicken-dishes-sm.jpg'); /* Replace with your image URL */
}

.toggle-table-button3 {
    background-image: url('https://curryelement.com/image/goat-special-sm.jpg'); /* Replace with your image URL */
        background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}

.toggle-table-button4 {
    background-image: url('https://curryelement.com/image/beef-special-sm.jpg'); /* Replace with your image URL */
        background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}

.toggle-table-button5 {
    background-image: url('https://curryelement.com/image/biryani-cover.jpg'); /* Replace with your image URL */
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}

.toggle-table-button6 {
    background-image: url('https://curryelement.com/image/grill-sm.jpg'); /* Replace with your image URL */
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}

.toggle-table-button7 {
    background-image: url('https://curryelement.com/image/bread.jpg'); /* Replace with your image URL */
}

.toggle-table-button8 {
    background-image: url('https://curryelement.com/image/gulab-jamun-cover-sm.jpg'); /* Replace with your image URL */
    
}

.toggle-table-button9 {
    background-image: url('https://curryelement.com/image/rolls-cover-sm.jpg'); /* Replace with your image URL */
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
    
}

.toggle-table-button10 {
    background-image: url('https://curryelement.com/image/lassi-cover-sm.jpg'); /* Replace with your image URL */
    
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}

.toggle-table-button11 {
    background-image: url('https://curryelement.com/image/sides-sm.jpg'); /* Replace with your image URL */
    
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}

.toggle-table-button12 {

}

.toggle-table-button13 {
    background-image: url('https://curryelement.com/image/chinese-cover-sm.jpg'); /* Replace with your image URL */
    background-size: cover; /* Ensures the image covers the button */
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}

.toggle-table-button14 {
    background-image: url('https://curryelement.com/image/breakfast-partha-sm.jpg'); /* Replace with your image URL */
       
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}
.toggle-table-button:hover {
    background-color: #45a049;
}

.toggle-table-button15 {
    background-image: url('https://curryelement.com/image/allu-lunch-lunch-combo.jpg'); /* Replace with your image URL */
       
    background-position: center; /* Centers the image */
    background-repeat: no-repeat; /* Prevents repetition */
}
.toggle-table-button:hover {
    background-color: #45a049;
}

/* Hide the checkbox input (so it is not visible on the page) */
.toggle-table-checkbox, .toggle-table-checkbox1, .toggle-table-checkbox2, .toggle-table-checkbox3, .toggle-table-checkbox4,
.toggle-table-checkbox5, .toggle-table-checkbox6, .toggle-table-checkbox7, .toggle-table-checkbox8, .toggle-table-checkbox9,
.toggle-table-checkbox10, .toggle-table-checkbox11, .toggle-table-checkbox12, .toggle-table-checkbox13, .toggle-table-checkbox14, .toggle-table-checkbox15 {
    display: none;
}

/* Initially hide the table */
#tableWrapper, #tableWrapper1, #tableWrapper2, #tableWrapper3, #tableWrapper4, #tableWrapper5, #tableWrapper6, #tableWrapper7, #tableWrapper8, #tableWrapper9, #tableWrapper10, #tableWrapper11, #tableWrapper12, #tableWrapper13, #tableWrapper14, #tableWrapper15 {
    display: none;
    margin-top: 20px;
}

/* When checkbox is checked, show the table */
.toggle-table-checkbox:checked + #tableWrapper,
.toggle-table-checkbox1:checked + #tableWrapper1,
.toggle-table-checkbox2:checked + #tableWrapper2,
.toggle-table-checkbox3:checked + #tableWrapper3,
.toggle-table-checkbox4:checked + #tableWrapper4,
.toggle-table-checkbox5:checked + #tableWrapper5,
.toggle-table-checkbox6:checked + #tableWrapper6,
.toggle-table-checkbox7:checked + #tableWrapper7,
.toggle-table-checkbox8:checked + #tableWrapper8,
.toggle-table-checkbox9:checked + #tableWrapper9,
.toggle-table-checkbox10:checked + #tableWrapper10,
.toggle-table-checkbox11:checked + #tableWrapper11,
.toggle-table-checkbox12:checked + #tableWrapper12,
.toggle-table-checkbox13:checked + #tableWrapper13,
.toggle-table-checkbox14:checked + #tableWrapper14,
.toggle-table-checkbox15:checked + #tableWrapper15
{
    display: block;
}

    /* Style the clickable table area */
    .clickable-table {
        cursor: pointer;
    }

@media screen and (max-width: 600px) {
    .asset777 img {  
        width: 250px;  
        height: auto; /* Keeps aspect ratio intact */  
    }  
        .button-container {
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* Creates two equal columns */
        gap: 10px; /* Adds space between buttons */
        justify-content: center;
    }
    .toggle-table-button, .toggle-table-button1, .toggle-table-button2, .toggle-table-button3, .toggle-table-button4,
.toggle-table-button5, .toggle-table-button6, .toggle-table-button7, .toggle-table-button8, .toggle-table-button9,
.toggle-table-button10, .toggle-table-button11, .toggle-table-button12, .toggle-table-button13, .toggle-table-button14, .toggle-table-button15 {
    max-width:170px !important;
    font-size: 1.8em;
    padding: 20px 20px;
    }
}

a {
    color: #FFED29;
}

video {
    width: 80vw; /* 80% of the viewport width */
    height: 80vh; /* 80% of the viewport height */
    object-fit: cover; /* Ensures the video covers the area properly */
}

.ce-btn {
  background: #000;
  color: #ffcc00;
  border: 1px solid #ffcc00;
  padding: .5rem .9rem;
  border-radius: 6px;
  cursor: pointer;
}
.ce-btn:hover {
  background: #111;
}

/* Overlay styling */
.ce-overlay {
  position: fixed;
  inset: 0;
  display: none;
  z-index: 10000;
  font-family: system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
}
.ce-overlay[aria-hidden="false"] {
  display: block;
}
.ce-overlay__scrim {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.65);
}
.ce-overlay__dialog {
  position: relative;
  max-width: min(1100px, 94vw);
  max-height: 94vh;
  margin: 3vh auto;
  background: #000;
  color: #fff;
  border: 1px solid #333;
  border-radius: 12px;
  box-shadow: 0 10px 40px rgba(0,0,0,.6);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.ce-overlay__header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: .75rem 1rem;
  border-bottom: 1px solid #222;
}
.ce-overlay__header h2 {
  margin: 0;
  font-size: 1rem;
  color: #ffcc00;
}
.ce-overlay__close {
  background: #111;
  color: #ffcc00;
  border: 1px solid #333;
  width: 34px;
  height: 34px;
  border-radius: 8px;
  cursor: pointer;
}
.ce-overlay__close:hover {
  background: #191919;
}
.ce-overlay__content {
  overflow: auto;
  padding: .75rem;
  display: flex;
  justify-content: center;
  align-items: center;
}
.ce-overlay__content img {
  max-width: 100%;
  max-height: 88vh;
  height: auto;
  display: block;
  border-radius: 8px;
  border: 1px solid #222;
}
