/*=========================================
            ZHENG DA
        STYLE PRINCIPAL
==========================================*/


/*=========================
        VARIABLES
==========================*/

:root{

--black:#070707;

--black2:#111111;

--gold:#D4A54D;

--goldLight:#F3D27A;

--red:#B11F24;

--white:#ffffff;

--gray:#BDBDBD;

--radius:22px;

--transition:.35s ease;

--shadow:
0 10px 35px rgba(0,0,0,.45);

}



/*=========================
        RESET
==========================*/

*{

margin:0;

padding:0;

box-sizing:border-box;

}

html{

scroll-behavior:smooth;

}

body{

background:var(--black);

color:white;

font-family:Poppins,sans-serif;

overflow-x:hidden;

min-height:100vh;

}

img{

display:block;

max-width:100%;

height:auto;

}

a{

text-decoration:none;

color:inherit;

}

button{

font-family:inherit;

cursor:pointer;

}



/*=========================
      SCROLLBAR
==========================*/

::-webkit-scrollbar{

width:10px;

}

::-webkit-scrollbar-track{

background:#090909;

}

::-webkit-scrollbar-thumb{

background:var(--gold);

border-radius:30px;

}

::-webkit-scrollbar-thumb:hover{

background:var(--goldLight);

}



/*=========================
        BACKGROUND
==========================*/

.background{

position:fixed;

inset:0;

overflow:hidden;

z-index:-10;

}

.gradient{

position:absolute;

width:100%;

height:100%;

background:

radial-gradient(circle at top,#3A2405 0%,transparent 30%),

radial-gradient(circle at bottom right,#651515 0%,transparent 28%),

linear-gradient(#050505,#111);

}

.glow{

position:absolute;

border-radius:50%;

filter:blur(120px);

opacity:.20;

}

.glow1{

width:320px;

height:320px;

background:#E0AA3E;

top:-80px;

left:-100px;

}

.glow2{

width:260px;

height:260px;

background:#C32020;

bottom:-80px;

right:-100px;

}



/*=========================
        HEADER
==========================*/

header{

position:fixed;

top:0;

left:0;

width:100%;

padding:18px 8%;

display:flex;

justify-content:space-between;

align-items:center;

z-index:1000;

backdrop-filter:blur(14px);

background:rgba(10,10,10,.55);

border-bottom:1px solid rgba(255,255,255,.08);

transition:.4s;

}

.logo{

display:flex;

align-items:center;

gap:14px;

}

.logo img{

width:48px;

}

.logo span{

font-size:32px;

font-family:"Bebas Neue";

letter-spacing:2px;

color:var(--gold);

}

nav{

display:flex;

gap:35px;

}

nav a{

position:relative;

font-size:15px;

font-weight:500;

transition:.3s;

}

nav a:hover{

color:var(--gold);

}

nav a::after{

content:"";

position:absolute;

left:0;

bottom:-8px;

width:0;

height:2px;

background:var(--gold);

transition:.35s;

}

nav a:hover::after{

width:100%;

}

.header-buttons{

display:flex;

gap:15px;

}

.language,

.menu-button{

width:46px;

height:46px;

border:none;

border-radius:50%;

background:rgba(255,255,255,.08);

color:white;

transition:.35s;

}

.language:hover,

.menu-button:hover{

background:var(--gold);

color:black;

}



/*=========================
        HERO
==========================*/

.hero{

min-height:100vh;

display:grid;

grid-template-columns:1fr 1fr;

align-items:center;

padding:120px 8% 80px;

gap:60px;

}

.hero-text{

max-width:620px;

}

.tag{

display:inline-flex;

padding:10px 18px;

border-radius:50px;

background:rgba(212,165,77,.12);

border:1px solid rgba(212,165,77,.3);

color:var(--gold);

margin-bottom:25px;

font-size:15px;

}

.hero h1{

font-size:clamp(70px,10vw,120px);

font-family:"Bebas Neue";

letter-spacing:4px;

line-height:1;

margin-bottom:10px;

color:var(--gold);

}

.hero h2{

font-size:clamp(34px,4vw,54px);

margin-bottom:25px;

}

.hero p{

font-size:18px;

line-height:1.9;

color:var(--gray);

margin-bottom:40px;

}

.hero-buttons{

display:flex;

gap:20px;

flex-wrap:wrap;

}



/*=========================
      BOTONES
==========================*/

.primary{

padding:16px 34px;

background:linear-gradient(135deg,#D4A54D,#F3D27A);

border-radius:50px;

color:black;

font-weight:600;

transition:var(--transition);

box-shadow:

0 10px 30px rgba(212,165,77,.35);

}

.primary:hover{

transform:translateY(-4px);

}

.secondary{

padding:16px 34px;

border-radius:50px;

border:1px solid rgba(255,255,255,.15);

background:rgba(255,255,255,.05);

transition:var(--transition);

}

.secondary:hover{

background:rgba(255,255,255,.08);

}



/*=========================
      HERO IMAGE
==========================*/

.hero-image{

display:flex;

justify-content:center;

align-items:center;

}

.hero-image img{

width:100%;

max-width:560px;

filter:

drop-shadow(0 0 60px rgba(255,166,0,.35));

user-select:none;

pointer-events:none;

}

/*=========================================
        CATEGORÍAS RÁPIDAS
=========================================*/

.quick-categories{

padding:40px 8%;

}

.quick-categories h3{

font-size:32px;

font-family:"Bebas Neue";

letter-spacing:2px;

margin-bottom:25px;

color:var(--gold);

}

.category-slider{

display:flex;

gap:18px;

overflow-x:auto;

padding-bottom:10px;

scrollbar-width:none;

}

.category-slider::-webkit-scrollbar{

display:none;

}

.category-slider a{

min-width:150px;

height:110px;

background:rgba(255,255,255,.05);

border:1px solid rgba(255,255,255,.08);

border-radius:20px;

display:flex;

flex-direction:column;

justify-content:center;

align-items:center;

transition:.35s;

backdrop-filter:blur(8px);

}

.category-slider a:hover{

transform:translateY(-6px);

border-color:var(--gold);

box-shadow:0 15px 35px rgba(212,165,77,.18);

}

.category-slider span{

margin-top:10px;

font-weight:600;

}

.category-slider a{

font-size:32px;

}



/*=========================================
        SECCIONES
=========================================*/

.menu-section{

padding:90px 8%;

}

.section-title{

text-align:center;

max-width:700px;

margin:auto;

margin-bottom:60px;

}

.section-title span{

display:inline-block;

padding:8px 18px;

border-radius:50px;

background:rgba(212,165,77,.12);

color:var(--gold);

margin-bottom:20px;

font-size:14px;

letter-spacing:2px;

}

.section-title h2{

font-size:48px;

margin-bottom:18px;

}

.section-title p{

color:var(--gray);

line-height:1.8;

}



/*=========================================
        GRID
=========================================*/

.products-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(310px,1fr));

gap:35px;

align-items:stretch;

}



/*=========================================
        TARJETAS
=========================================*/

.product-card{

position:relative;

background:linear-gradient(

180deg,

rgba(255,255,255,.04),

rgba(255,255,255,.02)

);

border-radius:28px;

overflow:hidden;

border:1px solid rgba(255,255,255,.08);

transition:.45s;

box-shadow:var(--shadow);

}

.product-card:hover{

transform:translateY(-10px);

border-color:rgba(212,165,77,.55);

box-shadow:

0 20px 50px rgba(212,165,77,.18);

}

.product-card::before{

content:"";

position:absolute;

top:0;

left:-120%;

width:100%;

height:100%;

background:

linear-gradient(

90deg,

transparent,

rgba(255,255,255,.12),

transparent

);

transition:.8s;

}

.product-card:hover::before{

left:120%;

}



/*=========================================
        IMÁGENES
=========================================*/

.image{

position:relative;

overflow:hidden;

}

.image img{

width:100%;

aspect-ratio:16/10;

object-fit:cover;

transition:.6s;

}

.product-card:hover img{

transform:scale(1.08);

}



/*=========================================
        ETIQUETAS
=========================================*/

.badge{

position:absolute;

top:18px;

left:18px;

padding:8px 16px;

border-radius:30px;

background:var(--gold);

color:black;

font-weight:700;

font-size:13px;

}

.spicy{

background:#C41D1D;

color:white;

}



/*=========================================
        CONTENIDO
=========================================*/

.content{

padding:24px;

display:flex;

flex-direction:column;

height:100%;

}

.content h3{

font-size:28px;

margin-bottom:15px;

color:var(--gold);

}

.content p{

color:var(--gray);

line-height:1.8;

margin-bottom:25px;

flex-grow:1;

}



/*=========================================
        FOOTER PRODUCTO
=========================================*/

.product-footer{

display:flex;

justify-content:space-between;

align-items:center;

margin-top:auto;

}

.price{

font-size:34px;

font-weight:700;

color:var(--goldLight);

}

.details{

padding:12px 22px;

border:none;

border-radius:40px;

background:var(--red);

color:white;

font-weight:600;

transition:.35s;

}

.details:hover{

background:#d62a30;

transform:translateY(-3px);

}



/*=========================================
        BUSCADOR
=========================================*/

.search-section{

padding:100px 8%;

text-align:center;

}

.search-section h2{

font-size:46px;

margin-bottom:30px;

}

#search{

width:min(650px,100%);

padding:18px 28px;

background:rgba(255,255,255,.06);

border:1px solid rgba(255,255,255,.08);

border-radius:50px;

font-size:18px;

color:white;

outline:none;

transition:.35s;

}

#search:focus{

border-color:var(--gold);

box-shadow:

0 0 20px rgba(212,165,77,.25);

}



/*=========================================
            MODAL
=========================================*/

.modal{

position:fixed;

inset:0;

background:rgba(0,0,0,.75);

display:flex;

justify-content:center;

align-items:center;

padding:25px;

opacity:0;

visibility:hidden;

transition:.35s;

z-index:5000;

}

.modal.active{

opacity:1;

visibility:visible;

}

.modal-card{

width:min(950px,100%);

background:#101010;

border-radius:30px;

overflow:hidden;

display:grid;

grid-template-columns:1fr 1fr;

box-shadow:

0 30px 70px rgba(0,0,0,.55);

position:relative;

}

.modal-image img{

width:100%;

height:100%;

object-fit:cover;

}

.modal-info{

padding:45px;

display:flex;

flex-direction:column;

justify-content:center;

}

.modal-info h2{

font-size:48px;

color:var(--gold);

margin-bottom:20px;

}

.modal-info p{

line-height:1.9;

color:var(--gray);

margin-bottom:30px;

}

#modal-price{

font-size:40px;

font-weight:700;

color:var(--goldLight);

margin-bottom:30px;

}

.level{

font-size:18px;

}

.spicy-level{

font-size:26px;

margin-top:10px;

}

#close-modal{

position:absolute;

right:20px;

top:20px;

width:50px;

height:50px;

border-radius:50%;

border:none;

background:rgba(255,255,255,.08);

color:white;

font-size:22px;

transition:.35s;

}

#close-modal:hover{

background:var(--red);

}



/*=========================================
            FOOTER
=========================================*/

footer{

padding:80px 8% 40px;

background:#090909;

border-top:1px solid rgba(255,255,255,.06);

}

.footer-logo{

font-size:52px;

font-family:"Bebas Neue";

color:var(--gold);

margin-bottom:40px;

}

.footer-grid{

display:grid;

grid-template-columns:

repeat(auto-fit,minmax(220px,1fr));

gap:40px;

margin-bottom:45px;

}

.footer-grid h3{

margin-bottom:20px;

color:var(--gold);

}

.footer-grid p{

margin-bottom:10px;

color:var(--gray);

}

.footer-grid a{

display:block;

margin-bottom:10px;

transition:.3s;

}

.footer-grid a:hover{

color:var(--gold);

}

.copyright{

text-align:center;

color:#777;

padding-top:35px;

border-top:1px solid rgba(255,255,255,.06);

}

/*=========================================
        MODAL EXTRA
==========================================*/

.modal-tags{

display:flex;

flex-wrap:wrap;

gap:10px;

margin:25px 0;

}

.ingredient{

padding:8px 16px;

background:rgba(212,165,77,.12);

border:1px solid rgba(212,165,77,.3);

border-radius:30px;

font-size:14px;

color:var(--gold);

}

.related-products{

margin-top:35px;

}

.related-products h3{

margin-bottom:18px;

color:var(--gold);

}

.related-list{

display:flex;

gap:15px;

overflow-x:auto;

padding-bottom:10px;

}

.related-card{

min-width:120px;

cursor:pointer;

transition:.3s;

}

.related-card img{

width:120px;

height:90px;

object-fit:cover;

border-radius:15px;

}

.related-card span{

display:block;

margin-top:8px;

font-size:13px;

text-align:center;

}

.related-card:hover{

transform:translateY(-6px);

}

/*=========================================
    BARRA DE PROGRESO
=========================================*/

#progress-bar{

position:fixed;

top:0;

left:0;

width:0;

height:4px;

background:linear-gradient(

90deg,

#d4a54d,

#ffcf70

);

z-index:99999;

transition:width .15s linear;

}




/*=========================================
    BOTÓN SUBIR
=========================================*/

#back-top{

position:fixed;

bottom:25px;

right:25px;

width:55px;

height:55px;

border:none;

border-radius:50%;

background:#d4a54d;

color:#111;

font-size:24px;

cursor:pointer;

opacity:0;

pointer-events:none;

transform:translateY(30px);

transition:.35s;

box-shadow:

0 8px 25px rgba(0,0,0,.35);

z-index:9999;

}



#back-top.show{

opacity:1;

pointer-events:auto;

transform:translateY(0);

}



#back-top:hover{

transform:scale(1.12);

background:#f1bc55;

}