
:root{
--green:#2e7d32;
--green-soft:#e8f5e9;
--blue:#2563eb;
--blue-dark:#1d4ed8;
--gray-900:#1f2937;
--gray-700:#4b5563;
--gray-500:#6b7280;
--gray-200:#e5e7eb;
--white:#ffffff;
--shadow-soft:0 10px 30px rgba(0,0,0,0.08);
}

*{
box-sizing:border-box;
}

body{
margin:0;
font-family:Arial, Helvetica, sans-serif;
color:var(--gray-900);
background:
radial-gradient(circle at top left, rgba(46,125,50,0.10), transparent 30%),
radial-gradient(circle at top right, rgba(37,99,235,0.10), transparent 30%),
#f4f6f8;
}

/* HEADER */

.site-header{
padding:20px 24px;
}

.header-inner{

max-width:1180px;
margin:auto;

display:flex;
align-items:center;
justify-content:space-between;

background:rgba(255,255,255,0.85);
border-radius:20px;

padding:24px 32px;

box-shadow:var(--shadow-soft);
}

/* LOGO MÁS GRANDE */

.logo-wrap{
display:flex;
align-items:center;
}

.site-logo{
height:80px;
width:auto;
display:block;
}

/* TAGLINE */

.header-badge{
font-size:14px;
color:var(--gray-700);
background:var(--green-soft);
padding:10px 14px;
border-radius:999px;
border:1px solid rgba(46,125,50,0.12);
}

/* HERO */

.hero{
padding:40px 20px;
}

.hero-card{

max-width:860px;
margin:auto;

background:white;

border-radius:30px;

padding:60px 30px;

text-align:center;

box-shadow:var(--shadow-soft);
}

.eyebrow{

display:inline-block;

margin-bottom:16px;

padding:8px 14px;

font-size:13px;
font-weight:700;

color:var(--blue);

background:rgba(37,99,235,0.1);

border-radius:999px;
}

.hero h1{

margin:0;

font-size:46px;

line-height:1.1;

}

.hero-text{

max-width:620px;

margin:20px auto;

font-size:18px;

color:var(--gray-500);

}

/* CALCULATOR */

.calculator{

max-width:720px;
margin:30px auto 0;

}

.search-box{

display:flex;

gap:12px;

background:white;

padding:14px;

border-radius:18px;

border:1px solid var(--gray-200);

}

.search-box input{

flex:1;

border:none;
outline:none;

padding:16px;

font-size:16px;

}

.search-box button{

border:none;

background:linear-gradient(135deg,var(--blue),var(--blue-dark));

color:white;

padding:16px 24px;

border-radius:14px;

font-weight:700;

cursor:pointer;

}

.search-box button:hover{

opacity:0.9;

}

/* RESULTS */

.results{

margin-top:25px;

display:flex;
flex-direction:column;

gap:14px;

}

.food-card{

background:white;

border:1px solid var(--gray-200);

border-radius:20px;

padding:20px;

}

.food-title{

font-weight:700;

color:var(--green);

margin-bottom:12px;

}

.macros{

display:grid;

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

gap:10px;

}

.macros div{

background:#f8fafc;

padding:12px;

border-radius:12px;

font-size:14px;

text-align:center;

}

/* INFO */

.info{

padding:40px 20px;

}

.info-card{

max-width:820px;

margin:auto;

text-align:center;

background:white;

padding:30px;

border-radius:24px;

box-shadow:var(--shadow-soft);

}

.info h2{

color:var(--blue);

}

/* FOOTER */

.site-footer{

padding:30px;

text-align:center;

color:var(--gray-500);

}

/* MOBILE */

@media (max-width:768px){

.site-logo{
height:60px;
}

.header-inner{
flex-direction:column;
align-items:flex-start;
gap:10px;
}

.macros{
grid-template-columns:repeat(2,1fr);
}

.hero h1{
font-size:34px;
}

}

