/* General Styles */
body {
    font-family: sans-serif; /* Replace with your brand font */
    margin: 0;
    padding: 20px; /* ADDED PADDING AROUND ENTIRE PAGE */
    background-color: #fff; /* Default white background */
    color: #333; /* Default text color */
}

header {
    text-align: center;
    padding: 20px;
    border-bottom: 2px solid #ccc; /* Example border */
}

/* Style for the logo container in the header */
.header-logos {
    display: flex;
    justify-content: center; /* Center logos horizontally */
    align-items: center;    /* Align logos vertically */
    gap: 30px;      
    padding-top: 20px;        /* Space between logos */
    margin-bottom: 30px;    /* INCREASED Space below logos before title */
    flex-wrap: wrap;        /* Allow wrapping if needed */
}

/* Brand logo size in header */
#brand-logo {
    width: 160px;
    height: 60px;
    object-fit: contain;
    vertical-align: middle;
    padding: 5px;
}

/* Client logo size in header */
#client-logo {
    /* Create a fixed-size "box" for the logo */
    width: 140px;
    height: 60px;
    object-fit: contain; /* Ensure logo maintains aspect ratio inside the box */
    vertical-align: middle;
    padding: 5px; /* Add some space around the logo */
}

h1 {
    color: #0aafee; /* Updated brand color */
    margin: 0;
    text-align: center; /* CENTER the main title */
}

main {
    padding: 20px;
}

h2 {
    color: #0aafee; /* Updated brand color */
    border-bottom: 1px solid #eee;
    padding-bottom: 5px;
    margin-top: 30px;
    font-size: 1.8em;
}

ul {
    list-style: none;
    padding: 0;
}

li {
    margin-bottom: 10px;
    line-height: 1.4;
}

/* Styling for Definition Lists (Menu Items) */
dl {
    margin-bottom: 20px; /* Space below each section */
}

dt {
    font-weight: bold;
    color: #333; /* Or your brand color */
    margin-top: 15px; /* Space above each menu item */
    font-size: 1.5em;
}

dd {
    margin-left: 0; /* Remove default indentation */
    margin-bottom: 10px; /* Space below description */
    color: #555; /* Slightly lighter color for description */
    line-height: 1.4;
    font-size: 1.2em;
}

/* Footer Styles */
footer {
    text-align: center;
    padding: 20px; /* Increased padding */
    margin-top: 20px;
    border-top: 1px solid #eee;
}

.footer-content {
    justify-content: space-between; /* Space out items */
    align-items: center; /* Vertically align items */
    flex-wrap: wrap; /* Allow wrapping on smaller screens */
    gap: 15px; /* Add gap between items */
}

.footer-content p {
    margin: 0; /* Remove default paragraph margin */
    font-size: 1em;
    color: #777;
    flex-grow: 1; /* Allow text to take available space */
    text-align: center; /* CENTER the footer text */
}

/* Style for the date in the footer */
#footer-date {
    font-size: 0.9em; /* Slightly smaller */
    color: #888; /* Lighter color */
    margin-top: 5px; /* Add some space above */
    width: 100%; /* Ensure it takes full width for centering */
    text-align: center;
}

/* Remove client logo styles from footer context if they exist */
/* #client-logo { ... } */

/* QR code size in footer - REMOVING THIS OLD RULE */
/* 
#feedback-qr {
    max-height: 70px; 
    width: auto;
}
*/

/* New styles for page layout */
.page-layout {
    display: flex;
    gap: 30px; /* Space between menu and QR code */
}

/* Sweet/Healthy column (75%) */
main#menu-content {
    flex: 3; /* Takes up 3 parts (75%) of page-layout */
    /* padding is already set from previous 'main' rule */
}

/* QR Code column (25%) */
.qr-column {
    flex: 2; /* Takes up 1 part (25%) of page-layout */
    display: flex;
    flex-direction: column; /* Stack items vertically if needed */
    align-items: center; /* Center QR code horizontally */
    padding: 0; 
}

/* QR code size - now within qr-column */
#feedback-qr {
    width: 100%; /* Make QR code responsive within its column */
    max-width: 230px; /* Max size for QR code */
    height: auto;
    display: block; /* Ensure it behaves like a block element */
    margin-top: auto; /* PUSH TO BOTTOM */
    margin-bottom: 5px; /* Add small space below QR before text */
}

/* Style for the feedback prompt text */
.qr-column p.feedback-prompt {
    text-align: center;
    font-size: 0.9em;
    color: #555;
    margin: 0;
    padding: 0; 
}

/* Savoury Section Container Styles (90% width) */
#savoury-section-content {
    width: 90%; 
    padding: 0 20px; /* Add horizontal padding like other sections */
    box-sizing: border-box; /* Include padding in the 90% width */
}

/* Header Controls */
.header-controls {
    display: flex;
    justify-content: center; /* Center title and button group */
    align-items: center;
    gap: 20px; /* Space between title and button */
    flex-wrap: wrap; /* Allow wrapping on small screens */
    margin-top: 10px; /* Add some space above the title/button */
}

/* Navigation Styles */
.day-navigation {
    text-align: center;
    padding: 15px 0;
    margin-bottom: 15px;
    border-bottom: 1px solid #eee;
}

/* Shared Button Styles */
.nav-button,
.control-button {
    padding: 8px 15px;
    font-size: 0.9em;
    border: 1px solid #ccc;
    background-color: #f8f8f8;
    color: #333;
    cursor: pointer;
    border-radius: 4px;
    transition: background-color 0.2s, border-color 0.2s;
}

.nav-button:hover,
.control-button:hover {
    background-color: #eee;
    border-color: #bbb;
}

.nav-button:focus,
.control-button:focus {
    outline: 2px solid #0aafee; /* Brand color focus ring */
    outline-offset: 2px;
}

.nav-button:active,
.control-button:active {
    background-color: #ddd;
}

.control-button {
    /* Specific styles if needed, e.g., for Print button positioning */
}

/* Item Tag Styles */
.item-tags {
    margin-left: 10px; /* Space between item name and tags */
    font-size: 0.8em;
}

.tag {
    display: inline-block;
    background-color: #e0f7fa; /* Light cyan background - adjust color */
    color: #007782; /* Darker cyan text - adjust color */
    padding: 2px 6px;
    border-radius: 3px;
    margin-right: 5px;
    font-weight: normal;
    text-transform: capitalize; /* Optional: capitalize tags */
}

/* Example specific tag styles (optional) */
.tag-vegetarian {
    background-color: #e8f5e9; /* Light green */
    color: #2e7d32; /* Dark green */
}
.tag-new {
    background-color: #fff3e0; /* Light orange */
    color: #ef6c00; /* Dark orange */
}

/* Print Styles */
@media print {
    body {
        font-size: 10pt; /* Slightly smaller font might fit better on paper */
        background-color: #fff; /* Ensure white background */
        color: #333; /* Keep default text color */
        /* Keep body padding */
    }

    /* Ensure background images/colors print (browser settings often override this) */
    * {
        -webkit-print-color-adjust: exact !important;   /* Chrome, Safari, Edge */
        color-adjust: exact !important;                 /* Firefox */
    }

    /* Hide the print button itself when printing */
    button#print-button {
        display: none !important;
    }

    /* Hide navigation buttons when printing */
    nav.day-navigation {
         display: none !important;
    }
}

/* Responsive Adjustments */
@media (max-width: 768px) {
    .page-layout {
        flex-direction: column; /* Stack menu and QR code vertically */
    }

    .qr-column {
        margin-top: 20px;
        padding-bottom: 0;
    }

    #feedback-qr {
        margin-top: 0; /* Reset top margin */
        max-width: 180px; /* Slightly smaller QR on mobile */
    }

    .header-controls {
        flex-direction: column; /* Stack title and print button */
        gap: 10px;
    }

    .day-navigation {
        display: flex;
        justify-content: space-around; /* Better spacing for buttons */
    }

    .nav-button {
        padding: 6px 10px;
        font-size: 0.8em;
    }
}

@media (max-width: 480px) {
    .header-logos {
        gap: 15px;
        margin-bottom: 30px;
    }
    #brand-logo {
        width: 120px;
        height: 45px;
    }
    #client-logo {
        width: 100px;
        height: 45px;
    }
    h1 {
        font-size: 1.5em;
    }
    h2 {
        font-size: 1.8em;
    }

    .day-navigation {
       flex-wrap: wrap; /* Allow nav buttons to wrap */
       gap: 10px;
    }

    .nav-button {
        flex-basis: 30%; /* Roughly 3 buttons per line */
        text-align: center;
    }
}

/* Header Controls */
.header-controls {
    display: flex;
    justify-content: center; /* Center title and button group */
    align-items: center;
    gap: 20px; /* Space between title and button */
    flex-wrap: wrap; /* Allow wrapping on small screens */
    margin-top: 10px; /* Add some space above the title/button */
} 