:root{
--primary:#fc6e02;
--secondary:#9a5700;
--dark:#111;
--light:#f7f8fa;
--radius:18px;
}

*{
margin:0;
padding:0;
box-sizing:border-box;
font-family:Inter,sans-serif;
}

html{
scroll-behavior:smooth;
}

body{
background:var(--light);
color:#111;
padding-top:70px;
overflow-x:hidden;
}

a{text-decoration:none}
img{max-width:100%;display:block}

.container{
max-width:1200px;
margin:auto;
padding:0 22px;
}

/* MENU PADRÃO INDEX */
.menu{
position:fixed;
top:0;
left:0;
width:100%;
background:#000;
box-shadow:0 4px 20px rgba(0,0,0,.5);
z-index:1000;
border-bottom:2px solid var(--primary);
padding:0 30px;
}

.menu-content{
display:flex;
justify-content:space-between;
align-items:center;
max-width:1400px;
margin:0 auto;
height:70px;
gap:40px;
}

.logo{
display:flex;
align-items:center;
gap:10px;
text-decoration:none;
flex-shrink:0;
}

.logo img{
height:50px;
width:auto;
}

.menu nav{
display:flex;
gap:30px;
flex:1;
justify-content:center;
}

.menu nav a{
color:var(--primary);
font-weight:700;
font-size:15px;
text-decoration:none;
transition:.3s;
position:relative;
text-transform:uppercase;
letter-spacing:.5px;
}

.menu nav a::after{
content:"";
position:absolute;
bottom:-5px;
left:0;
width:0;
height:2px;
background:var(--primary);
transition:width .3s;
}

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

.menu nav a:hover{
color:#fff;
}

.menu nav a.active{
color:#fff;
font-weight:900;
}

.menu-actions{
display:flex;
align-items:center;
gap:15px;
}

.btn-contato{
background:var(--primary);
color:#000;
padding:10px 24px;
border-radius:30px;
font-weight:700;
text-decoration:none;
transition:.3s;
display:inline-block;
text-transform:uppercase;
font-size:13px;
letter-spacing:.5px;
}

.btn-contato:hover{
background:#fff;
transform:translateY(-2px);
box-shadow:0 6px 15px rgba(252,110,2,.4);
}

.menu-btn{
width:40px;
height:40px;
border:none;
background:transparent;
display:none;
flex-direction:column;
justify-content:center;
gap:6px;
cursor:pointer;
}

.menu-btn span{
height:3px;
width:100%;
background:var(--primary);
border-radius:3px;
transition:.3s;
}

@media(max-width:1024px){
.menu-content{
gap:20px;
padding:0 20px;
}

.menu nav{
gap:20px;
}

.menu nav a{
font-size:14px;
}
}

@media(max-width:768px){
.menu{
padding:0 15px;
}

.menu-content{
height:60px;
gap:10px;
}

.logo img{
height:40px;
}

.menu nav{
position:absolute;
top:60px;
left:0;
right:0;
background:#000;
flex-direction:column;
gap:0;
width:100%;
padding:20px 0;
display:none;
border-top:2px solid var(--primary);
}

.menu nav.active{
display:flex;
}

.menu nav a{
padding:15px 20px;
border-bottom:1px solid rgba(252,110,2,.2);
text-align:left;
}

.menu nav a::after{
display:none;
}

.menu-actions{
gap:10px;
}

.btn-contato{
padding:8px 16px;
font-size:12px;
}

.menu-btn{
display:flex;
order:3;
}
}
position:relative;
}

.search{
background:#111;
border:1px solid rgba(252,110,2,.35);
color:#fff;
padding:11px 42px 11px 16px;
border-radius:35px;
width:220px;
outline:none;
}

.search:focus{
border-color:var(--primary);
}

.search-icon{
position:absolute;
right:14px;
top:50%;
transform:translateY(-50%);
color:var(--primary);
}

.btn-contato{
background:var(--primary);
color:#fff;
padding:11px 18px;
border-radius:30px;
font-weight:800;
}

.menu-btn{
display:none;
background:none;
border:none;
flex-direction:column;
gap:5px;
}

.menu-btn span{
width:30px;
height:3px;
background:var(--primary);
}

/* HERO */
.hero{
background:
radial-gradient(circle at top right,rgba(252,110,2,.2),transparent 45%),
linear-gradient(135deg,#111,#1b1b1b 70%,#2d1707);
color:#fff;
padding:90px 20px 70px;
}

.hero-wrap{
max-width:1100px;
margin:auto;
text-align:center;
}

.badge{
display:inline-block;
padding:10px 18px;
border-radius:30px;
background:rgba(252,110,2,.16);
border:1px solid rgba(252,110,2,.35);
font-weight:800;
margin-bottom:26px;
}

.hero h1{
font-size:clamp(42px,6vw,68px);
line-height:1.05;
margin-bottom:16px;
}

.hero p{
max-width:760px;
margin:auto;
font-size:21px;
color:#ddd;
line-height:1.6;
}

.hero-stats{
margin-top:30px;
display:flex;
justify-content:center;
gap:15px;
flex-wrap:wrap;
}

.hero-stats span{
padding:12px 18px;
border-radius:35px;
background:#ffffff10;
font-weight:700;
}

/* filtros */
.filters{
padding:35px 0 10px;
display:flex;
justify-content:center;
flex-wrap:wrap;
gap:12px;
}

.filter-btn{
padding:12px 20px;
border:none;
border-radius:30px;
background:#fff;
font-weight:800;
cursor:pointer;
box-shadow:0 4px 15px rgba(0,0,0,.05);
}

.filter-btn.active,
.filter-btn:hover{
background:var(--primary);
color:#fff;
}

.section-title{
font-size:38px;
font-weight:900;
text-align:center;
margin:40px 0 10px;
}

.sub{
text-align:center;
color:#666;
margin-bottom:35px;
}

.grid{
display:grid;
grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
gap:18px;
}

.card{
background:transparent;
border-radius:0;
overflow:hidden;
position:relative;
box-shadow:none;
transition:.25s;
}

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

.card-media{
position:relative;
background:#f2f2f2;
aspect-ratio:1/1;
overflow:hidden;
}

.card-media img{
width:100%;
height:100%;
object-fit:contain;
padding:28px;
cursor:pointer;
mix-blend-mode:multiply;
}

.tag{
position:absolute;
left:0;
bottom:-38px;
background:transparent;
color:var(--primary);
padding:0;
border-radius:0;
font-size:14px;
font-weight:800;
z-index:2;
}

.favorite{
position:absolute;
right:18px;
top:18px;
background:#fff;
width:44px;
height:44px;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
box-shadow:0 8px 22px rgba(0,0,0,.08);
font-size:28px;
line-height:1;
color:#111;
}

.card-body{
padding:16px 0 0;
}

.rating{
display:flex;
align-items:center;
gap:8px;
font-size:22px;
line-height:1;
margin-top:12px;
color:#000;
letter-spacing:1px;
}

.rating-score{
display:inline-flex;
align-items:center;
justify-content:center;
min-width:34px;
height:26px;
border:1px solid #cfcfcf;
border-radius:3px;
padding:0 6px;
font-size:14px;
letter-spacing:0;
color:#6f6f6f;
background:#fff;
}

.card h3{
font-size:17px;
line-height:1.25;
margin:0 0 6px;
font-weight:800;
}

.card p{
color:#767676;
line-height:1.35;
font-size:18px;
margin-bottom:16px;
}

.coupon{
font-weight:900;
color:#0a8a3a;
}

.coupon{
font-size:16px;
margin-top:14px;
}

.card-actions{
margin-top:16px;
display:flex;
gap:10px;
align-items:center;
}

.btn{
flex:1;
text-align:center;
padding:12px 14px;
border-radius:6px;
font-weight:800;
font-size:14px;
}

.buy{
background:var(--primary);
color:#fff;
}

.details{
border:1px solid #ddd;
color:#111;
}

.bar{
background:#111;
color:#fff;
padding:18px;
border-radius:18px;
margin:50px 0;
text-align:center;
font-weight:700;
}

.modal{
display:none;
position:fixed;
inset:0;
background:rgba(0,0,0,.78);
z-index:9999;
align-items:center;
justify-content:center;
padding:22px;
}

.modal-content{
width:min(920px,100%);
max-height:88vh;
overflow:auto;
background:#fff;
border-radius:12px;
display:grid;
grid-template-columns:minmax(0,1fr) minmax(280px,.9fr);
gap:24px;
padding:22px;
box-shadow:0 28px 80px rgba(0,0,0,.35);
}

.modal-media{
background:#f2f2f2;
border-radius:8px;
display:grid;
place-items:center;
min-height:360px;
}

.modal img{
width:100%;
max-height:420px;
object-fit:contain;
padding:24px;
mix-blend-mode:multiply;
border-radius:0;
margin:0;
}

.modal-info{
display:flex;
flex-direction:column;
gap:14px;
justify-content:center;
}

.modal-info small{
color:var(--primary);
font-weight:900;
text-transform:uppercase;
}

.modal-info h3{
font-size:28px;
line-height:1.15;
}

.modal-info p{
color:#555;
line-height:1.65;
font-size:16px;
}

.fechar{
position:absolute;
right:35px;
top:20px;
font-size:45px;
color:#fff;
cursor:pointer;
}

footer{
margin-top:70px;
background:#fff;
padding:40px;
text-align:center;
font-weight:700;
}

#topBtn{
position:fixed;
right:25px;
bottom:25px;
width:55px;
height:55px;
border:none;
border-radius:50%;
background:#000;
color:var(--primary);
font-size:24px;
display:none;
cursor:pointer;
box-shadow:0 10px 25px rgba(0,0,0,.25);
}

.hidden{
display:none!important;
}

@media(max-width:900px){
.menu nav,
.menu-actions{
display:none;
}

.menu-btn{
display:flex;
}

.menu nav.active{
display:flex;
position:absolute;
right:15px;
top:84px;
background:#000;
flex-direction:column;
padding:25px;
border-radius:16px;
}
}

@media(max-width:768px){
.hero{
padding:70px 20px 50px;
}

.hero p{
font-size:18px;
}

.card-media img{
height:100%;
padding:22px;
}

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

.modal-content{
grid-template-columns:1fr;
padding:16px;
}

.modal-media{
min-height:260px;
}

.modal-info h3{
font-size:24px;
}
}
