/* ============================================
   CRISPY Restaurant - Responsive Stylesheet
   ============================================ */

/* ============================================
   TABLET DEVICES (768px to 1024px)
   ============================================ */
@media (max-width: 1024px) {
    .header-container {
        padding: 0 40px;
    }

    .navbar {
        gap: 30px;
    }

    .values-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .menu-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 20px;
    }

    .purpose-grid {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .section-header,
    .story-section,
    .purpose-section,
    .values-section,
    .menu-section,
    .contact-section,
    .footer {
        padding: 40px;
    }

    .hero-image {
        width: 400px;
        height: 400px;
    }

    .hero {
        height: 500px;
    }

    .section-title {
        font-size: 28px;
    }

    .hero-logo {
        font-size: 60px;
    }
}

/* ============================================
   MOBILE DEVICES (480px to 768px)
   ============================================ */
@media (max-width: 768px) {
    /* Header */
    .header {
        padding: 12px 0;
    }

    .header-container {
        flex-direction: column;
        padding: 0 20px;
        gap: 12px;
    }

    .logo-header {
        width: 100px;
        height: 44px;
        font-size: 18px;
    }

    .navbar {
        flex-direction: column;
        gap: 12px;
        text-align: center;
        order: 3;
        width: 100%;
        font-size: 12px;
    }

    .nav-link {
        padding: 8px 0;
    }

    .header-right {
        order: 2;
        gap: 15px;
    }

    .lang-btn {
        padding: 5px 10px;
        font-size: 11px;
    }

    /* Hero Section */
    .hero {
        height: 350px;
    }

    .hero-image {
        display: none;
    }

    .hero-logo {
        font-size: 48px;
    }

    .hero-tagline {
        font-size: 16px;
    }

    /* Sections */
    .section-header {
        padding: 0 20px;
        margin-top: 50px;
        margin-bottom: 20px;
    }

    .section-title {
        font-size: 24px;
    }

    .section-desc {
        font-size: 14px;
        max-width: 100%;
    }

    .story-section,
    .purpose-section,
    .values-section,
    .menu-section,
    .contact-section,
    .footer {
        padding: 30px 20px;
    }

    /* Story Section */
    .history-image {
        height: 250px;
        margin: 20px 0;
    }

    /* Purpose Section */
    .purpose-content {
        max-width: 100%;
    }

    .purpose-grid {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-top: 20px;
    }

    .purpose-col h3 {
        font-size: 14px;
    }

    .purpose-col p {
        font-size: 13px;
    }

    /* Values Section */
    .values-title {
        font-size: 14px;
        margin-bottom: 20px;
    }

    .values-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .value-box {
        padding: 20px 15px;
        min-height: 100px;
    }

    .value-box h4 {
        font-size: 12px;
    }

    /* Menu Section */
    .menu-title {
        margin-bottom: 30px;
    }

    .menu-title h2 {
        font-size: 24px;
    }

    .app-badges {
        gap: 12px;
        margin: 20px 0 30px;
    }

    .app-badge {
        width: 140px;
        height: 44px;
        font-size: 11px;
    }

    .menu-grid {
        grid-template-columns: 1fr;
        gap: 15px;
    }

    .menu-item {
        padding: 15px;
    }

    .menu-item-image {
        height: 150px;
        margin-bottom: 12px;
    }

    .menu-item h4 {
        font-size: 14px;
        margin-bottom: 5px;
    }

    .menu-item p {
        font-size: 12px;
    }

    .see-menu {
        margin-top: 25px;
    }

    .see-menu a {
        font-size: 13px;
    }

    /* Contact Section */
    .contact-section h2 {
        font-size: 24px;
        margin-bottom: 25px;
    }

    .contact-section .section-desc {
        font-size: 13px;
    }

    .contact-phone {
        gap: 12px;
        font-size: 14px;
        margin: 20px 0;
    }

    .phone-icon {
        width: 40px;
        height: 40px;
        font-size: 16px;
    }

    /* Footer */
    .footer-nav {
        gap: 15px;
        margin-bottom: 25px;
        font-size: 12px;
    }

    .footer-badges {
        gap: 15px;
        margin-bottom: 25px;
    }

    .footer-badge {
        width: 100px;
        height: 35px;
        font-size: 10px;
    }

    .footer-bottom {
        padding-top: 20px;
        font-size: 11px;
    }

    .footer-bottom p {
        margin-bottom: 8px;
    }
}

/* ============================================
   SMALL MOBILE DEVICES (320px to 480px)
   ============================================ */
@media (max-width: 480px) {
    /* Header */
    .header-container {
        padding: 0 15px;
    }

    .logo-header {
        width: 80px;
        height: 40px;
        font-size: 16px;
    }

    .navbar {
        gap: 8px;
        font-size: 11px;
    }

    .lang-btn {
        padding: 4px 8px;
        font-size: 10px;
    }

    /* Hero Section */
    .hero {
        height: 300px;
    }

    .hero-logo {
        font-size: 36px;
    }

    .hero-tagline {
        font-size: 14px;
        letter-spacing: 0;
    }

    /* Sections */
    .section-header {
        padding: 0 15px;
        margin-top: 40px;
        margin-bottom: 15px;
    }

    .since {
        font-size: 11px;
        margin-bottom: 8px;
    }

    .section-title {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .section-desc {
        font-size: 13px;
        line-height: 1.6;
        margin-bottom: 20px;
    }

    .story-section,
    .purpose-section,
    .values-section,
    .menu-section,
    .contact-section,
    .footer {
        padding: 20px 15px;
    }

    .driven-by {
        font-size: 10px;
        margin-bottom: 8px;
    }

    /* Story Section */
    .history-image {
        height: 200px;
        margin: 15px 0;
    }

    /* Purpose Section */
    .purpose-section {
        padding: 40px 15px;
    }

    .purpose-grid {
        gap: 20px;
        margin-top: 15px;
    }

    .purpose-col h3 {
        font-size: 13px;
        margin-bottom: 10px;
    }

    .purpose-col p {
        font-size: 12px;
        line-height: 1.6;
    }

    /* Values Section */
    .values-title {
        font-size: 13px;
        margin-bottom: 15px;
    }

    .value-box {
        padding: 15px 10px;
        min-height: 80px;
        border: 1px solid #f0f0f0;
    }

    .value-box h4 {
        font-size: 11px;
        letter-spacing: 0.5px;
    }

    /* Menu Section */
    .menu-title {
        margin-bottom: 20px;
    }

    .menu-title h2 {
        font-size: 20px;
        margin-bottom: 15px;
    }

    .app-badges {
        gap: 10px;
        margin: 15px 0 20px;
        flex-direction: column;
    }

    .app-badge {
        width: 100%;
        height: 40px;
        font-size: 10px;
    }

    .menu-item {
        padding: 12px;
    }

    .menu-item-image {
        height: 120px;
        margin-bottom: 10px;
    }

    .menu-item h4 {
        font-size: 13px;
        margin-bottom: 4px;
    }

    .menu-item p {
        font-size: 11px;
    }

    .see-menu {
        margin-top: 20px;
        font-size: 12px;
    }

    /* Contact Section */
    .contact-section h2 {
        font-size: 20px;
        margin-bottom: 20px;
    }

    .contact-phone {
        gap: 10px;
        font-size: 14px;
        flex-direction: column;
        margin: 15px 0;
    }

    .phone-icon {
        width: 36px;
        height: 36px;
        font-size: 14px;
    }

    /* Footer */
    .footer-nav {
        gap: 10px;
        margin-bottom: 20px;
        font-size: 11px;
        flex-direction: column;
    }

    .footer-link {
        padding: 5px 0;
    }

    .footer-badges {
        gap: 10px;
        margin-bottom: 20px;
        flex-direction: column;
    }

    .footer-badge {
        width: 100%;
        height: 32px;
        font-size: 9px;
    }

    .footer-bottom {
        padding-top: 15px;
        font-size: 10px;
    }

    .footer-bottom p {
        margin-bottom: 6px;
        line-height: 1.4;
    }
}

/* ============================================
   EXTRA SMALL DEVICES (Below 320px)
   ============================================ */
@media (max-width: 320px) {
    .hero {
        height: 250px;
    }

    .hero-logo {
        font-size: 32px;
        margin-bottom: 10px;
    }

    .hero-tagline {
        font-size: 12px;
    }

    .section-title {
        font-size: 18px;
    }

    .menu-title h2 {
        font-size: 18px;
    }

    .app-badge {
        font-size: 9px;
    }
}

/* ============================================
   LANDSCAPE MODE
   ============================================ */
@media (max-height: 600px) and (orientation: landscape) {
    .hero {
        height: 400px;
    }

    .hero-logo {
        font-size: 48px;
    }

    .section-header {
        margin-top: 40px;
        margin-bottom: 15px;
    }

    .purpose-grid {
        gap: 40px;
    }

    .values-grid {
        grid-template-columns: repeat(4, 1fr);
    }

    .menu-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* ============================================
   TOUCH DEVICES - BETTER TOUCH TARGETS
   ============================================ */
@media (hover: none) and (pointer: coarse) {
    .lang-btn,
    .app-badge,
    .menu-item,
    .value-box,
    .footer-link {
        min-height: 44px;
        min-width: 44px;
    }

    .nav-link::after {
        display: none;
    }
}

/* ============================================
   HIGH DENSITY DISPLAYS (Retina)
   ============================================ */
@media (-webkit-min-device-pixel-ratio: 2),
       (min-resolution: 192dpi) {
    .logo-header,
    .value-box,
    .menu-item {
        box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
    }
}

/* ============================================
   PRINT STYLES
   ============================================ */
@media print {
    .header,
    .contact-phone,
    .lang-switch {
        display: none;
    }

    body {
        background: white;
    }

    .section-header,
    .story-section,
    .purpose-section,
    .menu-section {
        page-break-inside: avoid;
    }
}
