/*
Theme Name: Flavor Heaven
Theme URI: https://flavor.digitalshivanshu.online/
Author: Shivanshu
Description: Multi-page WordPress theme with fixed images from WordPress media library only.
Version: 1.0.1
Text Domain: flavor-heaven
*/


        /* ==================== CSS VARIABLES & ROOT ==================== */
        :root {
            --primary-dark: #1a1a1a;
            --primary-light: #2d2d2d;
            --cream: #f5f0e8;
            --accent-orange: #ff9500;
            --accent-dark-orange: #e67e22;
            --accent-light-orange: #ffb84d;
            --text-light: #333;
            --text-dark: #1a1a1a;
            --border-color: #ddd;
            --success: #27ae60;
            --white: #ffffff;
            --shadow-light: 0 3px 10px rgba(0,0,0,0.1);
            --shadow-medium: 0 8px 20px rgba(0,0,0,0.15);
            --shadow-dark: 0 15px 40px rgba(0,0,0,0.2);
            --transition: all 0.3s cubic-bezier(0.25, 0.46, 0.45, 0.94);
        }

        * {
            margin: 0;
            padding: 0;
            box-sizing: border-box;
        }

        html {
            scroll-behavior: smooth;
        }

        body {
            font-family: 'Poppins', sans-serif;
            background-color: var(--cream);
            color: var(--text-light);
            line-height: 1.6;
            overflow-x: hidden;
        }

        img {
            max-width: 100%;
            height: auto;
            display: block;
        }

        /* ==================== HEADER & NAVIGATION ==================== */
        .navbar {
            background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-light) 100%);
            padding: 1rem 0;
            position: sticky;
            top: 0;
            z-index: 1000;
            box-shadow: 0 4px 12px rgba(0,0,0,0.3);
            backdrop-filter: blur(10px);
        }

        .navbar-container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 2rem;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .logo {
            font-size: 1.8rem;
            font-weight: 800;
            color: var(--cream);
            text-decoration: none;
            display: flex;
            align-items: center;
            gap: 0.5rem;
            letter-spacing: -1px;
            transition: var(--transition);
        }

        .logo:hover {
            transform: scale(1.05);
        }

        .logo span {
            color: var(--accent-orange);
            font-size: 2rem;
        }

        .nav-menu {
            display: flex;
            gap: 2.5rem;
            list-style: none;
            align-items: center;
        }

        .nav-menu a {
            color: var(--cream);
            text-decoration: none;
            font-weight: 500;
            transition: var(--transition);
            cursor: pointer;
            font-size: 0.95rem;
            position: relative;
            padding: 0.5rem 0;
        }

        .nav-menu a::after {
            content: '';
            position: absolute;
            bottom: 0;
            left: 0;
            width: 0;
            height: 2px;
            background: var(--accent-orange);
            transition: var(--transition);
        }

        .nav-menu a:hover {
            color: var(--accent-orange);
        }

        .nav-menu a:hover::after {
            width: 100%;
        }

        .order-btn {
            background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-dark-orange) 100%);
            color: var(--white);
            padding: 0.8rem 1.8rem;
            border-radius: 50px;
            text-decoration: none;
            font-weight: 600;
            border: none;
            cursor: pointer;
            font-family: 'Poppins', sans-serif;
            transition: var(--transition);
            box-shadow: 0 4px 12px rgba(255,149,0,0.3);
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
        }

        .order-btn:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 20px rgba(255,149,0,0.4);
        }

        .order-btn:active {
            transform: translateY(0);
        }

        .hamburger {
            display: none;
            flex-direction: column;
            cursor: pointer;
            z-index: 1001;
        }

        .hamburger span {
            width: 25px;
            height: 3px;
            background-color: var(--cream);
            margin: 5px 0;
            transition: var(--transition);
            border-radius: 2px;
        }

        .hamburger.active span:nth-child(1) {
            transform: rotate(45deg) translate(10px, 10px);
        }

        .hamburger.active span:nth-child(2) {
            opacity: 0;
        }

        .hamburger.active span:nth-child(3) {
            transform: rotate(-45deg) translate(7px, -7px);
        }

        /* ==================== ENHANCED HERO SECTION ==================== */
        .hero {
            background: linear-gradient(135deg, #111111 0%, #2b2b2b 50%, #111111 100%);
            color: var(--cream);
            padding: 140px 2rem 100px;
            text-align: center;
            position: relative;
            min-height: 700px;
            display: flex;
            flex-direction: column;
            justify-content: center;
            align-items: center;
            overflow: hidden;
        }

        .hero::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            bottom: 0;
            background: radial-gradient(circle at 20% 50%, rgba(255,149,0,0.1) 0%, transparent 50%),
                        radial-gradient(circle at 80% 80%, rgba(255,149,0,0.08) 0%, transparent 50%);
            z-index: 1;
            pointer-events: none;
        }

        .hero-content {
            position: relative;
            z-index: 2;
            max-width: 800px;
            animation: slideInDown 0.8s ease-out;
        }

        @keyframes slideInDown {
            from {
                opacity: 0;
                transform: translateY(-30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .hero h1 {
            font-family: 'Playfair Display', serif;
            font-size: 5.5rem;
            margin-bottom: 0.5rem;
            text-shadow: 3px 3px 8px rgba(0,0,0,0.6);
            line-height: 1.1;
            font-weight: 800;
            letter-spacing: -2px;
        }

        .hero h1 .orange {
            color: var(--accent-orange);
            display: block;
            background: linear-gradient(135deg, #ff9500 0%, #ffb84d 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
            text-shadow: none;
        }

        .hero-subtitle {
            font-size: 1.4rem;
            margin-bottom: 1.5rem;
            font-style: italic;
            color: var(--accent-light-orange);
            text-shadow: 2px 2px 4px rgba(0,0,0,0.4);
            font-weight: 300;
        }

        .hero-description {
            font-size: 1.1rem;
            margin-bottom: 2.5rem;
            max-width: 600px;
            line-height: 1.9;
            color: rgba(245,240,232,0.95);
            text-shadow: 1px 1px 3px rgba(0,0,0,0.3);
        }

        .hero-buttons {
            display: flex;
            gap: 1.5rem;
            justify-content: center;
            flex-wrap: wrap;
            animation: slideInUp 0.8s ease-out 0.2s both;
        }

        @keyframes slideInUp {
            from {
                opacity: 0;
                transform: translateY(30px);
            }
            to {
                opacity: 1;
                transform: translateY(0);
            }
        }

        .btn {
            padding: 1.1rem 2.5rem;
            border: none;
            border-radius: 50px;
            font-size: 1rem;
            font-family: 'Poppins', sans-serif;
            font-weight: 600;
            cursor: pointer;
            transition: var(--transition);
            text-decoration: none;
            display: inline-flex;
            align-items: center;
            gap: 0.5rem;
            text-transform: uppercase;
            letter-spacing: 0.5px;
        }

        .btn-primary {
            background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-dark-orange) 100%);
            color: var(--white);
            box-shadow: 0 5px 15px rgba(255,149,0,0.3);
        }

        .btn-primary:hover {
            transform: translateY(-3px);
            box-shadow: 0 8px 25px rgba(255,149,0,0.4);
        }

        .btn-secondary {
            background-color: transparent;
            color: var(--cream);
            border: 2.5px solid var(--accent-orange);
            box-shadow: inset 0 0 0 0 var(--accent-orange);
        }

        .btn-secondary:hover {
            box-shadow: inset 200px 0 0 0 var(--accent-orange);
            color: var(--white);
        }

        /* ==================== SECTION STYLES ==================== */
        section {
            padding: 80px 2rem;
        }

        .section-container {
            max-width: 1400px;
            margin: 0 auto;
        }

        .section-title {
            font-family: 'Playfair Display', serif;
            font-size: 3rem;
            text-align: center;
            margin-bottom: 3.5rem;
            color: var(--primary-dark);
            position: relative;
            padding-bottom: 1.5rem;
            letter-spacing: -1px;
        }

        .section-title::before {
            content: '';
            position: absolute;
            width: 60px;
            height: 4px;
            background: linear-gradient(90deg, var(--accent-orange) 0%, var(--accent-light-orange) 100%);
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            border-radius: 2px;
        }

        /* ==================== CARD STYLES ==================== */
        .dish-card {
            background-color: var(--white);
            border-radius: 15px;
            overflow: hidden;
            transition: var(--transition);
            box-shadow: var(--shadow-light);
            cursor: pointer;
            position: relative;
        }

        .dish-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            right: 0;
            height: 4px;
            background: linear-gradient(90deg, var(--accent-orange) 0%, var(--accent-light-orange) 100%);
            z-index: 10;
        }

        .dish-card:hover {
            transform: translateY(-8px);
            box-shadow: var(--shadow-dark);
        }

        .dish-image {
            width: 100%;
            height: 280px;
            object-fit: cover;
            border-radius: 15px 15px 0 0;
            transition: var(--transition);
        }

        .dish-card:hover .dish-image {
            transform: scale(1.08);
        }

        .dish-info {
            padding: 1.8rem;
        }

        .dish-name {
            font-size: 1.3rem;
            font-weight: 700;
            color: var(--primary-dark);
            margin-bottom: 0.5rem;
            font-family: 'Montserrat', sans-serif;
        }

        .dish-description {
            font-size: 0.9rem;
            color: #666;
            margin-bottom: 1.2rem;
            line-height: 1.5;
        }

        .dish-footer {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .dish-price {
            font-size: 1.6rem;
            font-weight: 700;
            background: linear-gradient(135deg, var(--accent-orange) 0%, var(--accent-dark-orange) 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        /* ==================== GRID LAYOUTS ==================== */
        .grid-3 {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 2.5rem;
            margin-bottom: 2rem;
        }

        .grid-4 {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2.5rem;
            margin-bottom: 2rem;
        }

        .grid-5 {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
            gap: 2rem;
            margin-bottom: 2rem;
        }

        /* ==================== RESPONSIVE DESIGN ==================== */
        @media (max-width: 768px) {
            .hamburger {
                display: flex;
            }

            .nav-menu {
                position: fixed;
                top: 60px;
                left: -100%;
                background: linear-gradient(135deg, var(--primary-dark) 0%, var(--primary-light) 100%);
                flex-direction: column;
                width: 100%;
                text-align: center;
                gap: 1.5rem;
                padding: 2rem;
                transition: left 0.3s ease;
                z-index: 999;
            }

            .nav-menu.active {
                left: 0;
            }

            .hero h1 {
                font-size: 2.8rem;
            }

            .section-title {
                font-size: 1.8rem;
            }

            section {
                padding: 40px 1rem;
            }

            .grid-4 {
                grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            }

            .grid-3 {
                grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
            }
        }

        /* ==================== UTILITY CLASSES ==================== */
        .text-center {
            text-align: center;
        }

        .hidden {
            display: none;
        }

/* WordPress theme compatibility */
body.wp-theme-flavor-heaven .page{display:block!important;}
img{max-width:100%;}

/* ==================== FLAVOR HEAVEN MANAGEMENT + CLEAN LAYOUT FIXES ==================== */
:root{--cream:#ffffff;--white:#ffffff;--text-light:#111111;--text-dark:#111111;--primary-dark:#111111;--primary-light:#222222;--border-color:#e6e6e6;}
body{background:#fff;color:#111;}
.page-section,.home-section,.blog-page{background:#fff;}
.home-section{padding:80px 2rem;}
.home-section-white{background:#fff;}
.section-title{color:#111;}
.section-title-light{color:#fff!important;}
.section-intro{max-width:760px;margin:-1.8rem auto 3rem;text-align:center;font-size:1.02rem;line-height:1.8;}
.section-intro-light{color:rgba(255,255,255,.86);}
.section-button{text-align:center;margin-top:2.5rem;}
.btn-outline{background:#fff;color:#111;border:2px solid #111;box-shadow:none;}
.btn-outline:hover{background:#111;color:#fff;transform:translateY(-3px);}
.dish-order-btn{padding:.55rem .9rem;font-size:.85rem;}

/* Valid clickable category cards */
.explore-section{background:linear-gradient(135deg,#111 0%,#292929 100%);}
.category-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:180px;padding:1.5rem;background:#fff;border:1px solid #e5e5e5;border-radius:18px;text-decoration:none;color:#111;box-shadow:0 8px 24px rgba(0,0,0,.14);transition:var(--transition);}
.category-card:hover{transform:translateY(-7px);box-shadow:0 15px 32px rgba(0,0,0,.22);color:#111;}
.category-icon{font-size:3rem;line-height:1;margin-bottom:1rem;}
.category-name{font-family:'Montserrat',sans-serif;font-weight:700;font-size:1.1rem;text-align:center;}

/* Special section */
.special-home-grid,.special-dynamic{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.special-home-image,.special-dynamic-media img{width:100%;max-height:520px;object-fit:cover;border-radius:18px;box-shadow:var(--shadow-dark);}
.special-home-copy h2{font-family:'Playfair Display',serif;font-size:2.6rem;color:#111;margin-bottom:1rem;}
.special-home-copy p{color:#444;line-height:1.85;}
.eyebrow{color:var(--accent-orange)!important;font-weight:700!important;letter-spacing:1px;margin-bottom:.8rem;}
.special-price{font-size:1.8rem;font-weight:800;color:var(--accent-orange);margin:1.2rem 0;}
.special-section{background:#171717;color:#fff;border-radius:20px;overflow:hidden;box-shadow:var(--shadow-dark);}
.special-dynamic{padding:0;}
.special-dynamic-copy{padding:3rem;}
.special-dynamic-copy h3{font-family:'Playfair Display',serif;font-size:2.3rem;margin:1rem 0;color:#fff;}
.special-dynamic-copy p{line-height:1.8;color:rgba(255,255,255,.88);}
.special-title{color:var(--accent-orange);font-weight:800;letter-spacing:1px;}
.specials-subtitle{margin-top:5rem;}

/* Blog cards: the user sees Read More, never a raw permalink */
.blog-section{background:#fff;}
.blog-card{background:#fff;border:1px solid #e7e7e7;border-radius:18px;overflow:hidden;box-shadow:0 6px 20px rgba(0,0,0,.08);transition:var(--transition);display:flex;flex-direction:column;}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 14px 32px rgba(0,0,0,.14);}
.blog-image-link{display:block;overflow:hidden;}
.blog-image{width:100%;height:230px;object-fit:cover;transition:var(--transition);}
.blog-card:hover .blog-image{transform:scale(1.04);}
.blog-content{padding:1.5rem;display:flex;flex-direction:column;flex:1;}
.blog-title{font-family:'Montserrat',sans-serif;font-size:1.25rem;line-height:1.35;margin:0 0 .7rem;}
.blog-title a{color:#111;text-decoration:none;}
.blog-title a:hover{color:var(--accent-orange);}
.blog-excerpt{color:#555;font-size:.95rem;line-height:1.7;margin:0 0 1.1rem;}
.blog-link{display:inline-flex;align-items:center;gap:.35rem;color:var(--accent-orange);font-weight:700;text-decoration:none;margin-top:auto;}
.blog-link:hover{text-decoration:underline;}

/* Testimonials + CTA */
.testimonial-section{background:linear-gradient(135deg,#111 0%,#292929 100%);}
.testimonial-card{background:#fff;border-radius:18px;padding:2rem;box-shadow:0 10px 25px rgba(0,0,0,.18);}
.stars{margin-bottom:1rem;}
.testimonial-text{color:#333;line-height:1.8;}
.testimonial-author{margin-top:1rem;font-weight:700;color:#111;}
.cta-home-wrap{padding-top:60px;padding-bottom:80px;}
.cta-section{background:#f7f7f7;border:1px solid #e6e6e6;border-radius:24px;padding:4rem 2rem;text-align:center;box-shadow:0 10px 28px rgba(0,0,0,.08);}
.cta-section h2{font-family:'Playfair Display',serif;color:#111;font-size:2.5rem;margin-bottom:1rem;}
.cta-section p{color:#444;font-size:1.05rem;margin-bottom:1.8rem;}
.cta-buttons{display:flex;gap:1.2rem;justify-content:center;flex-wrap:wrap;}

/* Footer is fully controlled by Customizer / Footer Navigation */
.site-footer{background:#111;color:#fff;margin-top:0;}
.footer-content{max-width:1400px;margin:0 auto;padding:70px 2rem 45px;display:grid;grid-template-columns:1.35fr 1fr 1.15fr 1fr;gap:3rem;}
.site-footer .footer-section h3{color:#fff;font-family:'Montserrat',sans-serif;margin:0 0 1.2rem;font-size:1.1rem;}
.site-footer .footer-description{color:rgba(255,255,255,.78);line-height:1.8;margin:0 0 1.2rem;}
.site-footer ul{list-style:none;margin:0;padding:0;}
.site-footer li{margin-bottom:.7rem;}
.site-footer a{color:rgba(255,255,255,.84);text-decoration:none;}
.site-footer a:hover{color:var(--accent-orange);}
.footer-menu li{margin-bottom:.65rem;}
.footer-detail{color:rgba(255,255,255,.84);line-height:1.7;}
.footer-detail span{color:rgba(255,255,255,.68);}
.footer-hours-gap{margin-top:1rem;}
.social-links{display:flex;gap:.7rem;}
.social-links a{width:40px;height:40px;border:1px solid rgba(255,255,255,.25);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding:20px 2rem;text-align:center;}
.footer-bottom p{margin:0;color:rgba(255,255,255,.65);font-size:.9rem;}

/* General pages */
.page-content{max-width:900px;margin:0 auto;background:#fff;color:#111;font-size:1rem;line-height:1.85;}
.page-content a{color:var(--accent-orange);}
.hero-small{min-height:420px!important;padding:90px 2rem!important;}
.hero-small h2{font-family:'Playfair Display',serif;font-size:3.5rem;color:#fff;margin-bottom:1rem;}
.hero-small p{font-size:1.1rem;color:rgba(255,255,255,.9);max-width:700px;margin:0 auto;}

/* Fix invalid button href behavior globally */
button.btn[href]{appearance:none;}

@media (max-width:900px){
  .footer-content{grid-template-columns:repeat(2,1fr);}
  .special-home-grid,.special-dynamic{grid-template-columns:1fr;}
}
@media (max-width:600px){
  .footer-content{grid-template-columns:1fr;padding-top:50px;}
  .home-section{padding:55px 1rem;}
  .cta-section{padding:2.5rem 1.2rem;}
  .cta-section h2{font-size:1.9rem;}
  .hero-small h2{font-size:2.3rem;}
  .special-dynamic-copy{padding:2rem;}
}
/* Clean white-and-black content theme */
.explore-section{background:#fff;}
.explore-section .section-title-light{color:#111!important;}
.explore-section .section-intro-light{color:#444;}
.testimonial-section{background:#fff;}
.testimonial-section .section-title-light{color:#111!important;}
.testimonial-card{border:1px solid #e5e5e5;box-shadow:0 6px 20px rgba(0,0,0,.08);}
