/* ===========================
   VARIABLES
=========================== */

:root{

    --primary:#D62828;
    --primary-dark:#B71C1C;

    --secondary:#F4A300;

    --accent:#FF6B35;

    --background:#FFF8F1;

    --surface:#FFFFFF;

    --text:#2B2B2B;

    --muted:#6D6D6D;

    --shadow:
    0 18px 40px rgba(0,0,0,.12);

    --radius:22px;

    --transition:.35s ease;

    --container:1200px;

}

@font-face{

    font-family:"Vazirmatn";

    src:url("../fonts/Vazirmatn-Regular.woff2") format("woff2");

    font-weight:400;

}

@font-face{

    font-family:"Vazirmatn";

    src:url("../fonts/Vazirmatn-Bold.woff2") format("woff2");

    font-weight:700;

}

*{

    margin:0;

    padding:0;

    box-sizing:border-box;

}

html{

    scroll-behavior:smooth;

}

body{

    direction:rtl;

    font-family:"Vazirmatn",sans-serif;

    background:var(--background);

    color:var(--text);

    overflow-x:hidden;

}

img{

    display:block;

    width:100%;

}

a{

    text-decoration:none;

    color:inherit;

}

ul{

    list-style:none;

}

.container{

    width:min(var(--container),92%);

    margin:auto;

}

.section{

    padding:100px 0;

}

.btn{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    padding:15px 32px;

    border-radius:999px;

    font-weight:700;

    transition:var(--transition);

}

.btn.primary{

    background:var(--primary);

    color:white;

    box-shadow:

    0 12px 30px rgba(214,40,40,.35);

}

.btn.primary:hover{

    background:var(--primary-dark);

    transform:translateY(-4px);

}

.btn.secondary{

    background:white;

    color:var(--primary);

    border:2px solid var(--primary);

}

.btn.secondary:hover{

    background:var(--primary);

    color:white;

}


/* ===========================
   NAVBAR
=========================== */

.navbar{

    position:fixed;

    top:0;

    width:100%;

    height:85px;

    background:white;

    box-shadow:0 8px 25px rgba(0,0,0,.08);

    display:flex;

    justify-content:space-between;

    align-items:center;

    padding:0 6%;

    z-index:1000;

}

.logo{

    display:flex;

    align-items:center;

    gap:12px;

}

.logo img{

    width:60px;

}

.logo h2{

    color:var(--primary);

    font-size:1.5rem;

}

.nav-links{

    display:flex;

    gap:35px;

}

.nav-links a{

    font-weight:600;

    position:relative;

    transition:.3s;

}

.nav-links a:hover{

    color:var(--primary);

}

.nav-links a::after{

    content:"";

    position:absolute;

    bottom:-8px;

    right:0;

    width:0;

    height:3px;

    background:var(--secondary);

    transition:.3s;

}

.nav-links a:hover::after{

    width:100%;

}

@media(max-width:900px){

    .navbar{

        padding:0 20px;

        height:75px;

    }

    .nav-links{

        display:none;

    }

}



/* ===========================
   HERO
=========================== */

.hero{

    min-height:100vh;

    display:flex;

    align-items:center;

    background:

    radial-gradient(circle at top left,#FFE6A8 0%,transparent 40%),

    radial-gradient(circle at bottom right,#FFD2C2 0%,transparent 35%),

    var(--background);

}

.hero-grid{

    display:grid;

    grid-template-columns:1fr 1fr;

    align-items:center;

    gap:60px;

}


.hero-tag{

    display:inline-block;

    background:#FFF0E5;

    color:var(--primary);

    padding:10px 18px;

    border-radius:999px;

    font-weight:700;

    margin-bottom:25px;

}

.hero h1{

    font-size: clamp(2.5rem,7vw,4.5rem);

    line-height:1.15;

    margin-bottom:25px;

}

.hero p{

    color:var(--muted);

    font-size:1.1rem;

    line-height:2;

    margin-bottom:35px;

    max-width:550px;

}

.hero-buttons{

    display:flex;

    gap:20px;

    margin-bottom:40px;

}


.hero-info{

    display:flex;

    gap:18px;

    flex-wrap:wrap;

}

.info-box{

    display:flex;

    align-items:center;

    gap:15px;

    background:white;

    padding:18px 22px;

    border-radius:18px;

    box-shadow:var(--shadow);

}

.info-box i{

    font-size:1.6rem;

    color:var(--secondary);

}


.hero-image{

    display:flex;

    justify-content:center;

    position:relative;

}

.hero-image img{

    width:100%;

    max-width:620px;

    animation:float 4s ease-in-out infinite;

    filter:

    drop-shadow(0 40px 50px rgba(0,0,0,.25));

}

@keyframes float{

    0%{

        transform:translateY(0);

    }

    50%{

        transform:translateY(-15px);

    }

    100%{

        transform:translateY(0);

    }

}

@media (max-width: 900px){

    .hero{

        padding-top:120px;
        padding-bottom:70px;

        min-height:auto;

    }

    .hero-grid{

        grid-template-columns:1fr;

        gap:50px;

        text-align:center;

    }

    .hero-image{

        order:1;

    }

    .hero-text{

        order:2;

    }

    .hero p{

        margin-inline:auto;

    }


    .hero-image img{

        max-width:430px;

    }

}

@media(max-width:650px){

    .hero-buttons{

        flex-direction:column;

        align-items:center;

    }

    .hero-buttons .btn{

        width:100%;

        max-width:320px;

    }

}


@media(max-width:500px){

    .hero-image img{

        max-width:300px;

    }

}

@media(max-width:650px){

    .hero-info{

        justify-content:center;

    }

    .info-box{

        width:100%;

        max-width:340px;

    }

}

/* ===========================
   CATEGORIES
=========================== */

.categories{

    background:white;

}

.section-title{

    font-size:2.8rem;

    margin-bottom:15px;

}

.section-subtitle{

    color:var(--primary);

    font-weight:700;

}

.category-grid{

    margin-top:55px;

    display:grid;

    grid-template-columns:repeat(4,1fr);

    gap:25px;

}

.category-card{

    border-radius:26px;

    padding:45px 25px;

    text-align:center;

    color:white;

    cursor:pointer;

    transition:.35s;

    box-shadow:0 18px 35px rgba(0,0,0,.15);

}

.category-card:hover{

    transform:
    translateY(-10px)
    rotate(-2deg);

}

.category-card i{

    font-size:3.4rem;

    margin-bottom:25px;

}

.category-card h3{

    font-size:1.6rem;

    margin-bottom:10px;

}

.category-card p{

    opacity:.9;

}

.burger{

    background:linear-gradient(135deg,#D62828,#F05454);

}

.pizza{

    background:linear-gradient(135deg,#FF8C42,#FFB347);

}

.chicken{

    background:linear-gradient(135deg,#F4A300,#FFD54F);

    color:#3A2B00;

}

.hotdog{

    background:linear-gradient(135deg,#8B4513,#C97B36);

}

@media(max-width:900px){

    .category-grid{

        grid-template-columns:repeat(2,1fr);

    }

}

@media(max-width:600px){

    .category-grid{

        grid-template-columns:1fr;

    }

}


/* =============
     MENU
================ */

.menu{
    background: linear-gradient(180deg, #fff5f0, #ffe3d6);
}

/* GRID */
.menu-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
    gap:20px;
    margin-top:40px;
}

/* CARD */
.food-card{
    display: flex;
    flex-direction: column;
    height: 100%;
    background:white;
    border-radius:22px;
    overflow:hidden;
    box-shadow:0 20px 40px rgba(0,0,0,.12);
    transition:.3s ease;
    position:relative;
}

.food-card:hover{
    transform:translateY(-10px) scale(1.02);
}

/* IMAGE */
.food-card img{
    width:100%;
    height:auto;
    object-fit:contain;
    background:#fff3ec;
}

/* INFO */
.food-info{
    padding:18px;
}

.food-info h3{
    color:#1f1f1f;
    margin-bottom:6px;
}

.food-info p{
    color:#777;
    font-size:.95rem;
    margin-bottom:14px;
}

/* BOTTOM */
.food-bottom{
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.price{
    font-weight:bold;
    color:#ff3b3b;
}

/* BUTTON */
.food-bottom button{
    background:#ff3b3b;
    border:none;
    color:white;
    padding:8px 14px;
    border-radius:12px;
    cursor:pointer;
    transition:.25s;
}

.food-bottom button:hover{
    background:#ff5555;
    transform:scale(1.05);
}

@media(max-width:768px){

    .menu{
        padding:60px 0;
    }

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

    .food-card img{
        height:auto;
        width: auto;
    }

    .food-info{
        padding:16px;
    }

    .food-info h3{
        font-size:1.1rem;
    }

    .food-info p{
        font-size:.9rem;
    }

    .price{
        font-size:.95rem;
    }
}



/* ================
   COMBO BANNER
=================== */

.combo{
    background: linear-gradient(135deg, #fff3ee, #ffe1d2);
}

/* MAIN BOX */
.combo-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:40px;

    background:white;
    border-radius:25px;
    padding:40px;

    box-shadow:0 25px 60px rgba(0,0,0,.12);
    overflow:hidden;
}

/* TEXT */
.combo-text{
    flex:1;
}

.badge{
    display:inline-block;
    background:#ff3b3b;
    color:white;
    padding:6px 12px;
    border-radius:999px;
    font-size:.85rem;
    margin-bottom:12px;
}

.combo-text h2{
    font-size:2rem;
    margin-bottom:10px;
    color:#1f1f1f;
}

.combo-text p{
    color:#777;
    margin-bottom:18px;
}

/* PRICE */
.combo-price{
    display:flex;
    align-items:center;
    gap:12px;
    margin-bottom:20px;
}

.old-price{
    text-decoration:line-through;
    color:#aaa;
}

.new-price{
    color:#ff3b3b;
    font-size:1.3rem;
    font-weight:bold;
}

/* BUTTON */
.combo-btn{
    display:inline-block;
    background:#ff3b3b;
    color:white;
    padding:12px 18px;
    border-radius:12px;
    transition:.25s;
}

.combo-btn:hover{
    background:#ff5555;
    transform:scale(1.05);
}

/* IMAGE */
.combo-image{
    flex:1;
    display:flex;
    justify-content:center;
}

.combo-image img{
    width:100%;
    max-width:450px;
    border-radius: 30px;
    filter:drop-shadow(0 20px 30px rgba(0,0,0,.25));
}

/* RESPONSIVE */
@media(max-width:768px){

    .combo-box{
        flex-direction:column;
        text-align:center;
        padding:25px;
    }

    .combo-price{
        justify-content:center;
    }

    .combo-image img{
        max-width:250px;
    }
}



/* ================
   GALLERY
=================== */

.gallery{
    background: linear-gradient( 170deg, #fff3ee, #ffe1d2, #ffe1d2, #fff, #fff, #fff);
}

/* GRID */
.gallery-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    grid-auto-rows:200px;
    gap:14px;
}

/* ITEMS */
.gallery-item{
    border-radius:18px;
    overflow:hidden;
    position:relative;
    cursor:pointer;
    box-shadow:0 15px 30px rgba(0,0,0,.08);
    transition:.3s;
}

.gallery-item img{
    width:100%;
    height:100%;
    object-fit:cover;
    transition:.4s ease;
}

/* HOVER EFFECT */
.gallery-item:hover img{
    transform:scale(1.1);
}

.gallery-item:hover{
    transform:translateY(-5px) rotate(-0.5deg);
    box-shadow:0 25px 50px rgba(0,0,0,.18);
}

/* SIZE VARIANTS */
.tall{
    grid-row:span 2;
}

.wide{
    grid-column:span 2;
}

/* RESPONSIVE */
@media(max-width:900px){

    .gallery-grid{
        grid-template-columns:repeat(2,1fr);
        grid-auto-rows:180px;
    }

    .wide{
        grid-column:span 2;
    }
}

@media(max-width:600px){

    .gallery-grid{
        grid-template-columns:1fr;
        grid-auto-rows:220px;
    }

    .tall,
    .wide{
        grid-column:auto;
        grid-row:auto;
    }
}

/* ========================
         WHY US
   ========================*/

.why-us{
    background: radial-gradient(circle at top,
        #1a1a1a 0%,
        #0f0f0f 60%,
        #000 100%);
    color:white;
    position:relative;
    overflow:hidden;
}

/* subtle glow effect */
.why-us::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 20% 30%, rgba(255,80,0,.15), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(255,200,0,.12), transparent 45%);
    pointer-events:none;
}

/* make headings pop */
.why-us .section-title{
    color:white;
}

.why-us .section-subtitle.light{
    color:#ffb347;
}

/* GRID */
.why-grid{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:18px;
    margin-top:40px;
    position:relative;
    z-index:2;
}

/* CARD */
.why-card{
    background:rgba(255,255,255,.06);
    border:1px solid rgba(255,255,255,.12);
    border-radius:18px;
    padding:26px 18px;
    text-align:center;
    backdrop-filter: blur(10px);
    transition:.3s ease;
}

/* hover = aggressive lift */
.why-card:hover{
    transform:translateY(-10px) scale(1.03);
    background:rgba(255,255,255,.10);
    border-color:rgba(255,140,0,.4);
}

/* icon */
.why-card .icon{
    font-size:2rem;
    margin-bottom:12px;
    color:#ffb347;
}

/* text */
.why-card h3{
    margin-bottom:10px;
    color:#fff;
    font-size:1.2rem;
}

.why-card p{
    color:rgba(255,255,255,.75);
    font-size:.95rem;
    line-height:1.7;
}

/* RESPONSIVE */
@media(max-width:900px){
    .why-grid{
        grid-template-columns:repeat(2,1fr);
    }
}

@media(max-width:600px){
    .why-grid{
        grid-template-columns:1fr;
    }
}



/* ================= ORDER SECTION ================= */

.order{
    background: linear-gradient(135deg, #ff3b30, #ff9500);
    color:white;
    position:relative;
    overflow:hidden;
}

/* glow effect */
.order::before{
    content:"";
    position:absolute;
    inset:0;
    background:
        radial-gradient(circle at 20% 30%, rgba(255,255,255,.15), transparent 40%),
        radial-gradient(circle at 80% 70%, rgba(0,0,0,.15), transparent 45%);
}

/* container box */
.order-box{
    position:relative;
    z-index:2;
    background: rgba(0,0,0,.25);
    border:1px solid rgba(255,255,255,.2);
    border-radius:22px;
    padding:60px 40px;
    text-align:center;
    backdrop-filter: blur(10px);
}

/* text */
.order h2{
    font-size:2.6rem;
    margin:15px 0;
}

.order p{
    max-width:600px;
    margin:0 auto 30px;
    color:rgba(255,255,255,.9);
    line-height:1.8;
}

/* buttons */
.order-buttons{
    display:flex;
    gap:16px;
    justify-content:center;
    flex-wrap:wrap;
}

/* primary CTA */
.order-primary{
    background:white;
    color:#ff3b30;
    padding:14px 28px;
    border-radius:999px;
    font-weight:bold;
    transition:.3s;
}

.order-primary:hover{
    transform:translateY(-4px);
    box-shadow:0 12px 25px rgba(0,0,0,.25);
}

/* secondary CTA */
.order-secondary{
    border:2px solid white;
    color:white;
    padding:14px 28px;
    border-radius:999px;
    transition:.3s;
}

.order-secondary:hover{
    background:white;
    color:#ff3b30;
}

/* responsive */
@media(max-width:600px){
    .order-box{
        padding:40px 20px;
    }

    .order h2{
        font-size:2rem;
    }
}



/* ================= CONTACT ================= */

.contact{
    background:#0f0f10;
    color:white;
}

.contact-grid{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:60px;
    align-items:start;
}

/* info side */
.contact-info h2{
    font-size:2.4rem;
    margin:12px 0;
}

.contact-info p{
    color:rgba(255,255,255,.8);
    margin-bottom:12px;
    line-height:1.8;
}

.contact-details p{
    margin:6px 0;
    color:rgba(255,255,255,.7);
}

/* buttons */
.contact-buttons{
    display:flex;
    gap:12px;
    margin-top:20px;
    flex-wrap:wrap;
}

.contact-call{
    background:#ff3b30;
    color:white;
}

.contact-menu{
    border:1px solid rgba(255,255,255,.4);
    color:white;
}

/* form */
.contact-form{
    display:flex;
    flex-direction:column;
    gap:12px;
}

.contact-form input,
.contact-form textarea{
    padding:14px;
    border:none;
    border-radius:12px;
    outline:none;
    font-family:inherit;
}

.contact-form textarea{
    min-height:120px;
    resize:none;
}

.contact-submit{
    background:#ff9500;
    color:white;
    border:none;
    cursor:pointer;
}

.contact-submit:hover{
    transform:translateY(-3px);
}

/* responsive */
@media(max-width:800px){
    .contact-grid{
        grid-template-columns:1fr;
    }
}



/* ================= FOOTER ================= */

.footer{
    background:#0a0a0a;
    color:white;
    padding:60px 0 20px;
}

.footer-grid{
    display:grid;
    grid-template-columns:2fr 1fr 1fr;
    gap:40px;
    align-items:start;
}

.footer-brand h3{
    font-size:1.4rem;
    margin-bottom:10px;
}

.footer-brand p{
    color:rgba(255,255,255,.7);
}

.footer-links{
    display:flex;
    flex-direction:column;
    gap:8px;
}

.footer-links a{
    color:rgba(255,255,255,.7);
    transition:.3s;
}

.footer-links a:hover{
    color:white;
}

.footer-social{
    display:flex;
    gap:12px;
}

.footer-social a{
    width:40px;
    height:40px;
    display:flex;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    background:rgba(255,255,255,.08);
    transition:.3s;
}

.footer-social a:hover{
    background:#ff3b30;
    transform:translateY(-3px);
}

.footer-bottom{
    text-align:center;
    margin-top:40px;
    padding-top:20px;
    border-top:1px solid rgba(255,255,255,.1);
    color:rgba(255,255,255,.5);
}

/* responsive */
@media(max-width:800px){
    .footer-grid{
        grid-template-columns:1fr;
        text-align:center;
    }

    .footer-social{
        justify-content:center;
    }
}
