/**
 * TABLEFORTWO DESIGN STUDIO
 * Main Stylesheet
 * 
 * Author: [Your Name]
 * Description: Styles for the TABLEFORTWO personal design studio website
 * Font: Courier Prime (Google Fonts)
 */

/* ==========================================================================
   Reset & Base Styles
   ========================================================================== */

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

/* Base typography and layout */
html {
    font-size: 13px;
    scroll-behavior: smooth;
}

body {
    font-family: 'Courier Prime', 'Courier New', Consolas, 'Liberation Mono', Monaco, 'Lucida Console', monospace;
    font-size: 13px;
    line-height: 1.6;
    color: #333;
}

/* ==========================================================================
   Layout Components
   ========================================================================== */

/* ==========================================================================
   Typography
   ========================================================================== */

/* Headings */
h1, h2, h3, h4, h5, h6 {
    font-family: 'Courier Prime', 'Courier New', Consolas, 'Liberation Mono', Monaco, 'Lucida Console', monospace;
    font-size: 13px;
    margin-bottom: 1rem;
    font-weight: 400;
    line-height: 1.2;
    color: #333;
}

/* Paragraphs */
p {
    font-size: 13px;
    margin-bottom: 1rem;
    color: #333;
}

/* Links */
a {
    font-size: 13px;
    color: #007bff;
    text-decoration: none;
}

a:hover {
    color: #007bff;
}

/* ==========================================================================
   Components
   ========================================================================== */

/* Universal font size enforcement */
* {
    font-size: 13px;
}

/* Main container - full viewport height */
.main-container {
    min-height: 100vh;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}

/* Content wrapper - centered narrow container */
.content-wrapper {
    display: flex;
    max-width: 850px; /* Narrow width as requested */
    width: 100%;
    height: 650px; /* Fixed height for consistent layout */
}

/* Navigation sidebar - left column */
.navigation-sidebar {
    width: 300px;
    padding: 30px 20px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 100%;
    position: relative;
    overflow: hidden; /* Prevent scrolling in navigation */
}

/* Navigation header */
.nav-header {
    margin-bottom: 40px;
}

.studio-title {
    font-size: 13px;
    font-weight: 400;
    font-family: 'Courier Prime', 'Courier New', Consolas, 'Liberation Mono', Monaco, 'Lucida Console', monospace;
    color: #333;
    line-height: 1.4;
    letter-spacing: 0.5px;
}

.byline {
    color: #666;
}

/* Navigation menu */
.nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
}

.nav-menu li {
    margin-bottom: 8px;
}

.nav-link {
    font-size: 13px;
    font-family: 'Courier Prime', 'Courier New', Consolas, 'Liberation Mono', Monaco, 'Lucida Console', monospace;
    color: #666;
    text-decoration: none;
    display: block;
    padding: 8px 0;
    letter-spacing: 0.5px;
}

.nav-link:hover {
    color: #333;
}

.nav-link.active {
    color: #333;
}

/* Navigation footer */
.nav-footer {
    margin-top: auto;
}

.nav-time {
    font-size: 13px;
    font-family: 'Courier Prime', 'Courier New', Consolas, 'Liberation Mono', Monaco, 'Lucida Console', monospace;
    color: #333;
    letter-spacing: 0.5px;
    font-weight: 400;
}

/* Main content - right column */
.main-content {
    flex: 1;
    padding: 30px 40px;
    overflow-y: auto;
    height: 100%;
}

/* Content frame */
.content-frame {
    max-width: 100%;
}

.content-section {
    margin-top: 40px;
}

.service-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.service-list li {
    font-size: 13px;
    font-family: 'Courier Prime', 'Courier New', Consolas, 'Liberation Mono', Monaco, 'Lucida Console', monospace;
    color: #666;
    margin-bottom: 10px;
    letter-spacing: 0.25px;
}

/* Menu item styles */
.menu-item {
    margin-bottom: 25px;
}

.dish-name {
    font-size: 13px;
    font-family: 'Courier Prime', 'Courier New', Consolas, 'Liberation Mono', Monaco, 'Lucida Console', monospace;
    color: #333;
    font-weight: 400;
    letter-spacing: 0.5px;
    margin-bottom: 5px;
}

.dish-name a {
    color: #333;
    text-decoration: none;
    letter-spacing: 0.5px;
}

.dish-name a:hover {
    color: #007bff;
    text-decoration: underline;
}

.dish-ingredients {
    font-size: 13px;
    font-family: 'Courier Prime', 'Courier New', Consolas, 'Liberation Mono', Monaco, 'Lucida Console', monospace;
    color: #666;
    letter-spacing: 0.25px;
    line-height: 1.5;
}



/* ==========================================================================
   Responsive Design
   ========================================================================== */

/* Tablet styles */
@media (max-width: 768px) {
    /* Maintain 13px font size on tablets */
    html {
        font-size: 13px;
    }
    
    * {
        font-size: 13px;
    }
    
    /* Adjust main container for tablets */
    .main-container {
        padding: 15px;
    }
    
    /* Adjust content wrapper for tablets */
    .content-wrapper {
        max-width: 100%;
        height: 500px;
    }
    
    /* Adjust navigation sidebar for tablets */
    .navigation-sidebar {
        width: 200px;
        padding: 20px 15px;
    }
    
    /* Adjust main content for tablets */
    .main-content {
        padding: 20px 30px;
    }
}

/* Mobile styles */
@media (max-width: 480px) {
    /* Maintain 13px font size on mobile */
    html {
        font-size: 13px;
    }
    
    * {
        font-size: 13px;
    }
    
    /* Stack columns vertically on mobile */
    .content-wrapper {
        flex-direction: column;
        max-width: 100%;
        height: auto;
        min-height: 100vh;
    }
    
    /* Full width navigation on mobile */
    .navigation-sidebar {
        width: 100%;
        padding: 20px 15px;
        height: auto;
        overflow: visible;
    }
    
    /* Adjust navigation layout for mobile */
    .nav-header {
        margin-bottom: 20px;
    }
    
    .nav-menu {
        display: flex;
        flex-wrap: wrap;
        gap: 10px;
    }
    
    .nav-menu li {
        margin-bottom: 0;
    }
    
    .nav-link {
        padding: 5px 10px;
    }
    
    /* Adjust main content for mobile */
    .main-content {
        padding: 20px 15px;
        height: auto;
        overflow-y: visible;
    }
    
    /* Adjust main container for mobile */
    .main-container {
        padding: 10px;
        align-items: flex-start;
    }
    
    /* Hide time display on mobile */
    .nav-time {
        display: none;
    }
    
    /* Left align navigation elements */
    .nav-header {
        text-align: left;
    }
    
    .nav-menu {
        justify-content: flex-start;
    }
}
