/* Universal Resets and Base Styles */
* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
    font-family: 'Arial', sans-serif;
    background-color: #100e19; /* --dark-bg */
    color: #ffffff; /* --text-light */
    min-height: 100vh;
}




/*     

    display: flex;
    justify-content: center;
    align-items: center;
    */


a {
    text-decoration: none;
    /* color: inherit; */
}

ul {
    list-style: none;
}

/* ------------------------------------- */
/* Main Layout and Wrapper */
/* ------------------------------------- */

.dashboard-main-wrapper {
    display: flex;
    min-height: 100vh;
}

/* ------------------------------------- */
/* Sidebar Styles */
/* ------------------------------------- */

.dashboard-sidebar {
    width: 250px;
    background-color: #0e0c15; /* --dark-sidebar */
    flex-shrink: 0; /* Prevents sidebar from shrinking */
    transition: transform 0.3s ease-in-out, width 0.3s ease-in-out;
}

.sidebar-header {
    background-color: #100e19; /* --dark-bg (match the image's header color) */
    padding: 20px 15px;
    height: 70px; /* A standard height for headers */
    display: flex;
    align-items: center;
}

.shop-brand-name {
    font-size: 1.1em;
    font-weight: bold;
    color: #ffffff; /* --text-light */
}

.sidebar-navigation {
    padding-top: 20px;
}

.nav-list-menu {
    padding: 0;
}

.nav-menu-item {
    margin-bottom: 5px;
}

.nav-menu-link {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    color: #a0a0a0; /* --text-grey */
    transition: background-color 0.2s, color 0.2s;
}

.menu-icon-separator {
    margin-right: 15px;
    font-size: 1.1em;
}

/* Active State for Sidebar Item */
.active-menu-item {
    background-color: #333148; /* --active-item */
    border-left: 3px solid #007bff; /* --accent-blue */
}

.active-menu-item .nav-menu-link {
    color: #ffffff; /* --text-light */
}

/* Hover Effect */
.nav-menu-item:not(.active-menu-item):hover {
    background-color: rgba(255, 255, 255, 0.05);
}

/* ------------------------------------- */
.data-table-section{
    padding: 20px;
    background-color:#242133 ;
    border-radius: 10px;
}
/* ------------------------------------- */

.dashboard-content-area {
    flex-grow: 1;
    padding: 20px 40px;
    position: relative; /* Needed for positioning the mobile toggle button */
    margin-top: 100px;
}

.content-header-section {
    padding-bottom: 20px;
}

.content-main-title {
    font-size: 1.8em;
    font-weight: normal;
    color: #ffffff; /* --text-light */
}

/* ------------------------------------- */
/* Table and Action Styles */
/* ------------------------------------- */

.table-actions-container {
    display: flex;
    justify-content: flex-end; /* Pushes the button to the right */
    margin-bottom: 20px;
}

.add-new-model-btn {
    background-color: #181523; /* --table-header-bg */
    color: #ffffff; /* --text-light */
    border: 1px solid #2c293d; /* --border-color */
    padding: 8px 15px;
    font-size: 0.9em;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s;
}

.add-new-model-btn:hover {
    background-color: #2c293d; /* Slightly lighter on hover (same as --border-color) */
}

.model-data-table-wrapper {
    background-color: #14111d; /* --table-row-bg */
    border-radius: 5px;
    overflow: hidden; /* Ensures borders are contained */
}

.model-details-table {
    width: 100%;
    border-collapse: collapse; /* Removes spacing between borders */
}

/* Table Header Styling */
.table-header-row {
    background-color: #181523; /* --table-header-bg */
    border-bottom: 1px solid #2c293d; /* --border-color */
}

.table-column-header {
    text-align: left;
    padding: 15px 20px;
    font-size: 0.85em;
    color: #a0a0a0; /* --text-grey */
    text-transform: uppercase;
    font-weight: 500;
}

/* Table Data Row Styling */
.table-data-row {
    border-bottom: 1px solid #2c293d; /* --border-color */
}

.table-data-cell {
    padding: 12px 20px;
    font-size: 0.95em;
    color: #ffffff; /* --text-light */
}

/* Specific Column Widths (for better alignment) */
.col-sl, .data-sl {
    width: 200px;
}
.col-model, .data-mode-no {
    width: 50%;
}
.col-status, .data-status-no{
   width: 10%; 
   
}

.col-SHOP, .data-SHOP{
    width: 30%;
}

.col-CITY, .data-CITY{
    width: 10%;
}
.col-STATE, .data-STATUS{
    width: 10%;
}
.col-name, .data-name{
    width: 10%;
}


/* ------------------------------------- */
/* Mobile Toggle Button */
/* ------------------------------------- */

.mobile-menu-toggle-btn {
    position: absolute;
    top:-80px;
    left: 10px;
    z-index: 10; /* Ensure it is above other content */
    background: #333148; /* --active-item */
    color: #ffffff; /* --text-light */
    border: none;
    padding: 10px 12px;
    cursor: pointer;
    border-radius: 4px;
    display: none; /* Hide by default on large screens */
}

/* ------------------------------------- */
/* MEDIA QUERIES FOR RESPONSIVENESS */
/* ------------------------------------- */

/* 1. Standard Desktop/Large Screen (Default State) */
/* The sidebar is visible */

/* 2. Tablet View (Viewport < 1024px) - Minor adjustments */
@media (max-width: 1024px) {
    .dashboard-content-area {
        padding: 20px;
    }
}

/* 3. Small Laptop/Large Phone (Viewport < 768px) - Collapse padding */
@media (max-width: 768px) {
    .dashboard-content-area {
        padding: 15px;
    }
}

/* 4. Phone View (600px to 300px) - CRUCIAL CUSTOM REQUIREMENT */
@media (max-width: 600px) {
    /* Hide the sidebar and prepare for mobile toggle */
    .dashboard-sidebar {
        position: absolute;
        height: 100%;
        z-index: 50;
        transform: translateX(-250px); /* Move completely off-screen */
        box-shadow: 2px 0 5px rgba(0, 0, 0, 0.5);
    }
    
    /* Display the toggle button */
    .mobile-menu-toggle-btn {
        display: block;
    }

    /* Full width content */
    .dashboard-content-area {
        width: 100%;
        margin-left: 0;
        padding-top: 55px; /* Add space for the toggle button */
    }

    /* Class added by JS to show the sidebar */
    .dashboard-sidebar.is-open {
        transform: translateX(0);
    }

    /* Smallest screen adjustments */
    .table-column-header, .table-data-cell {
        padding: 10px 10px; /* Reduce padding for small screens */
    }

    .content-main-title {
        font-size: 1.5em;
    }

    .add-new-model-btn {
        padding: 6px 12px;
        font-size: 0.8em;
    }
    .col-model, .data-model-no {
    width: 20%;}
}




/* 5. Very Small Phone View (300px and below) */
@media (max-width: 500px) {
    /* Prevent horizontal overflow on very tiny screens */
    body {
        min-width: 300px;
        overflow-x: hidden;
    }
.col-model, .data-model-no {
    width: 40%;
}
}

/* 5. Very Small Phone View (300px and below) */
@media (max-width: 300px) {
    /* Prevent horizontal overflow on very tiny screens */
    body {
        min-width: 300px;
        overflow-x: hidden;
    }
.col-model, .data-model-no {
    width: 20%;
}
}


/* ====================================================== */
/* style.css (Add these new styles and modify the mobile media query) */

/* ------------------------------------- */
/* Sidebar Close Button Styles (NEW) */
/* ------------------------------------- */

.sidebar-header {
    background-color: #100e19;
    padding: 20px 15px;
    height: 70px;
    display: flex;
    align-items: center;
    /* Added space-between to push the brand and close button apart */
    justify-content: space-between; 
}

.sidebar-close-btn {
    background: none;
    color: #ffffff;
    border: none;
    cursor: pointer;
    font-size: 1.5em;
    padding: 5px;
    line-height: 1;
    display: none; /* Hide by default on large screens */
}

/* ------------------------------------- */
/* MEDIA QUERIES FOR RESPONSIVENESS (UPDATED) */
/* ------------------------------------- */

@media (max-width: 600px) {
    /* ... other styles for dashboard-sidebar, mobile-menu-toggle-btn ... */
    
    /* Show the close button inside the sidebar when in mobile view */
    .sidebar-close-btn {
        display: block; 
    }

    /* Hide the main toggle button (fas fa-bars) when the sidebar is open 
       to prevent confusion (optional, but good UX) */
    .dashboard-sidebar.is-open ~ .dashboard-content-area .mobile-menu-toggle-btn {
        opacity: 0;
        pointer-events: none;
    }

    /* ... rest of the @media (max-width: 600px) styles ... */
}


/* =======================================popup======================================================== */




/* Unique Popup Container Class */
.model-popup-unique-container {
    display: none; /* Hide the popup by default */
    position: fixed; /* Stay fixed on the screen */
    z-index: 1000; /* High z-index to be on top of everything */
    left: 0;
    top: 0;
    width: 100%; /* Full width */
    height: 100%; /* Full height */
    overflow: auto; /* Enable scroll if needed */
    background-color: rgba(0,0,0,0.6); /* Black background with opacity (Modal background) */
    padding-top: 50px; /* Optional: Space from the top */
}

/* Popup Content/Box */
.model-popup-content {
    background-color: #fff;
    margin:  auto; 
    padding: 30px;
    border: 1px solid #888;
    width: 90%; /* Default width for smaller screens */
    max-width: 450px; /* Max width for larger screens */
    border-radius: 8px;
    position: relative;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    margin-top: 10%;
}

/* Responsive adjustment for larger screens */
@media (min-width: 600px) {
    .model-popup-content {
        width: 70%; 
    }

.model-popup-content {
    background-color: #fff;
    margin:  auto; 
    padding: 30px;
    border: 1px solid #888;
    width: 90%; /* Default width for smaller screens */
    max-width: 450px; /* Max width for larger screens */
    border-radius: 8px;
    position: relative;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    margin-top: 10%;
}

}




/* Responsive adjustment for larger screens */
@media (max-width: 600px) {
    .model-popup-content {
        width: 70%; 
    }

.model-popup-content {
    background-color: #fff;
    margin:  auto; 
    padding: 30px;
    border: 1px solid #888;
    width: 90%; /* Default width for smaller screens */
    max-width: 450px; /* Max width for larger screens */
    border-radius: 8px;
    position: relative;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
    margin-top: 30%;
}

}

/* Close Button (Cross Icon) */
.close-popup-icon {
    color: #aaa;
    float: right;
    font-size: 28px;
    font-weight: bold;
    cursor: pointer;
    line-height: 1; /* Aligns the 'x' better */
    position: absolute;
    top: 10px;
    right: 15px;
}

.close-popup-icon:hover,
.close-popup-icon:focus {
    color: #333;
    text-decoration: none;
    cursor: pointer;
}

/* Form Styling */
.form-group {
    margin-bottom: 15px;
}

.form-group label {
    display: block;
    margin-bottom: 5px;
    font-weight: 600;
}

.form-group input[type="text"] {
    width: 100%;
    padding: 10px;
    border: 1px solid black;
    border-radius: 4px;
    box-sizing: border-box; /* Ensures padding doesn't increase total width */
    font-size: 14px;
}

/* Submit Button */
.submit-model-btn {
    background-color: #333148;
    color: white;
    padding: 10px 15px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 16px;
    width: 100%;
    margin-top: 10px;
}

.submit-model-btn:hover {
    background-color: #42405d;
}

/* Style for the button that opens the popup (for context) */
.add-new-model-btn {
    padding: 10px 15px;
    font-size: 16px;
    cursor: pointer;
}



/* ===================================================================================== */



.fresh-food-page-container {
    display: flex;
    width: 100%;
    min-height: 100vh; /* Full height */
    background-color: #ffffff;
}

/* ------------------------------------------- */
/* Left Panel (Marketing/Image) */
/* ------------------------------------------- */

.fresh-food-left-panel {
    flex: 1 1 60%; /* Takes 60% of width on large screens */
    background-color: #ffffff;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: flex-start;
    padding: 50px;
    position: relative;
    overflow: hidden;
}

/* Content Wrapper for text alignment */
.fresh-food-content-wrapper {
    z-index: 1; /* Keep content above the background image effect */
    margin-left: 10%; /* Adjust text positioning */
}

/* Placeholder for the top-left icon */
.fresh-food-logo-icon {
    width: 40px;
    height: 40px;
    background-color: #e0e0e0;
    margin-bottom: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 1.5rem;
    color: #6c757d;
    border-radius: 4px; /* Optional: slight rounding */
}

.fresh-food-heading-main {
    font-size: 3.5rem;
    line-height: 1.1;
    font-weight: 700;
    color: #333;
}

.fresh-food-heading-highlight {
    color: #2c293d; /* Green color similar to the image */
    font-weight: 700;
}

/* Background Image Effect (Simulated) */
.fresh-food-left-panel::after {
    content: '';
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* Replace with your actual image URL or a strong color simulation */
    background: url('/images/bgav.jpg') no-repeat bottom left;
    background-size: cover;
    opacity: 0.9;
    z-index: 0;
}

/* ------------------------------------------- */
/* Right Panel (Sign In Form) */
/* ------------------------------------------- */

.fresh-food-right-panel {
    flex: 1 1 40%; /* Takes 40% of width on large screens */
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #f7f9fb; /* Slightly off-white background for contrast */
    padding: 20px;
}

.fresh-food-form-box {
    width: 100%;
    max-width: 380px; /* Max width for form */
    padding: 30px;
    background-color: #ffffff;
    border-radius: 8px; /* Optional: slight rounding */
    /* Optional: subtle shadow if desired */
    /* box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); */
}

.fresh-food-signin-title {
    font-size: 2.2rem;
    font-weight: 700;
    color: #333;
    margin-bottom: 5px;
}

.fresh-food-welcome-text {
    font-size: 1rem;
    color: #6c757d;
    margin-bottom: 15px;
}

.fresh-food-admin-link-box {
    margin-bottom: 25px;
}

.fresh-food-admin-link {
    display: inline-block;
    padding: 4px 8px;
    font-size: 0.85rem;
    color: #fff;
    background-color: #2c293d;
    border-radius: 4px;
    text-decoration: none;
    border: 1px solid #c8e6c9;
}

.fresh-food-login-form {
    display: flex;
    flex-direction: column;
}

.fresh-food-form-label {
    font-size: 0.9rem;
    color: #495057;
    margin-bottom: 5px;
    margin-top: 15px;
    display: block;
}

.fresh-food-form-input {
    width: 100%;
    padding: 12px 15px;
    font-size: 1rem;
    border: 1px solid #ced4da;
    border-radius: 4px;
    background-color: #f0f4f8; /* Light blue/grey background like the image */
    color: #333;
    outline: none;
}

.fresh-food-form-input:focus {
    border-color: #2c293d;
    background-color: #ffffff;
}

.fresh-food-password-group {
    position: relative;
    margin-bottom: 10px;
}

.fresh-food-password-toggle {
    position: absolute;
    right: 15px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
    color: #6c757d;
    font-size: 1.1rem;
}

.fresh-food-remember-box {
    display: flex;
    align-items: center;
    margin-top: 15px;
    margin-bottom: 30px;
}

.fresh-food-checkbox {
    margin-right: 8px;
    /* Basic styling for checkbox */
    width: 16px;
    height: 16px;
}

.fresh-food-remember-label {
    font-size: 0.9rem;
    color: #6c757d;
}

.fresh-food-login-button {
    padding: 12px 20px;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    background-color: #2c293d; /* Dark green similar to the image */
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease;
}

.fresh-food-login-button:hover {
    background-color:#2c293d;
}

/* ------------------------------------------- */
/* Responsive Design (Media Queries) */
/* ------------------------------------------- */

/* Tablet and smaller screens */
@media (max-width: 992px) {
    .fresh-food-left-panel {
        flex: 1 1 50%; /* Adjust ratio */
    }
    .fresh-food-right-panel {
        flex: 1 1 50%; /* Adjust ratio */
    }
    .fresh-food-heading-main {
        font-size: 2.8rem;
    }
}

/* Mobile screens */
@media (max-width: 768px) {
    .fresh-food-page-container {
        flex-direction: column; /* Stack the sections vertically */
        min-height: auto; /* Allow height to adjust */
    }

    .fresh-food-left-panel {
        flex: 1 1 auto;
        padding: 40px 20px;
        min-height: 250px; /* Minimum height for the mobile view of the image area */
        justify-content: flex-start;
        align-items: center;
        text-align: center;
    }
    
    .fresh-food-content-wrapper {
        margin-left: 0; /* Center content */
    }

    .fresh-food-heading-main {
        font-size: 2.5rem;
    }

    /* Adjust the background image for mobile to only cover the lower part */
    .fresh-food-left-panel::after {
        background-position: bottom center;
        opacity: 0.7;
    }

    .fresh-food-right-panel {
        flex: 1 1 auto;
        padding: 40px 20px;
        align-items: flex-start; /* Move form to the top of its section */
        background-color: #ffffff; /* Change background to white on mobile for a clean look */
    }

    .fresh-food-form-box {
        max-width: 100%;
        padding: 0; /* Remove padding since the panel has padding */
        box-shadow: none; /* Remove shadow on mobile */
    }
}


.fresh-food-login-button-link {
    padding: 12px 20px;
    font-size: 1.1rem;
    font-weight: 700;
    color: #ffffff;
    background-color: #2c293d; /* Dark green similar to the image */
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: background-color 0.3s ease; 
    width: 90px;
}



/* ===================================================================== */



/* 1. form-group को फुल-विड्थ पर सेट करें (अगर यह पहले से नहीं है) */
.form-group1 {
    width: 100%;
    /* यह सुनिश्चित करता है कि हर ग्रुप पूरी चौड़ाई ले */
    margin-bottom: 15px; 
}

/* 2. <select> एलिमेंट को कंटेनर की 100% चौड़ाई दें */
.form-group1 select {
    width: 100%;
    padding: 10px; /* दिखने में बेहतर बनाने के लिए */
    box-sizing: border-box; /* यह सुनिश्चित करता है कि padding width के अंदर रहे */
    border: 1px solid;
    border-radius: 5px;
}

/* 3. Label को <select> के ऊपर पूरी लाइन में दिखाने के लिए */
.form-group1 label {
    display: block;
    margin-bottom: 5px;
}

/* ================================================================= */



/* यह सुनिश्चित करता है कि <select> पूरी चौड़ाई ले */
.form-group3 select {
    /* Full Width के लिए मुख्य property */
    width: 100%; 
    
    /* Padding और Border को width के अंदर रखने के लिए */
    box-sizing: border-box; 
    
    /* बेहतर दिखने के लिए कुछ style */
    padding: 10px; 
    border-radius: 4px;
    color: #6c757d;
    font-size: 14px;
    font-weight: 400; border: 1px solid black;
  
}

/* Label को select के ऊपर पूरी लाइन में दिखाने के लिए */
.form-group3 label {
    display: block;

}

/* form-group कंटेनर को भी 100% चौड़ाई पर सेट करें (यदि यह पहले से नहीं है) */
.form-group3 {
    width: 100%;
    margin-bottom: 15px; 
}

.alert {
    padding: 10px 20px;
    margin-bottom: 15px;
    border-radius: 5px;
    color: #fff;
}
.alert-success { background-color: #4caf50; }
.alert-danger { background-color: #f44336; }

.text-error{color: red;}
.text-success{color: green;}
