*{

margin:0;

padding:0;

box-sizing:border-box;
}

html{

scroll-behavior:smooth;
}

body{

font-family:
'Segoe UI',
sans-serif;

background:#f5f7fb;

color:#1e293b;

overflow-x:hidden;
}

/* =========================================
HEADER
========================================= */

.header{

position:fixed;

top:0;

left:0;

width:100%;

height:80px;

padding:0 30px;

display:flex;

align-items:center;

justify-content:space-between;

background:
rgba(15,23,42,0.95);

backdrop-filter:blur(12px);

z-index:999;
}

.logo{

font-size:28px;

font-weight:bold;

color:#4ade80;

display:flex;

align-items:center;

gap:10px;
}

/* =========================================
MENU DESKTOP
========================================= */

.menu{

display:flex;

align-items:center;

gap:18px;
}

.menu a{

color:#fff;

text-decoration:none;

font-size:15px;

font-weight:600;

padding:10px 16px;

border-radius:14px;

transition:0.3s;

background:
rgba(255,255,255,0.04);

border:1px solid rgba(255,255,255,0.06);
}

.menu a:hover{

background:
rgba(255,255,255,0.12);

transform:translateY(-2px);
}

/* =========================================
BOTÃO MOBILE
========================================= */

.mobile-toggle{

display:none;

font-size:30px;

color:#fff;

cursor:pointer;
}

/* =========================================
MENU MOBILE
========================================= */

.mobile-menu{

position:fixed;

top:80px;

left:-100%;

width:100%;

background:#0f172a;

display:flex;

flex-direction:column;

padding:25px;

gap:16px;

transition:0.3s;

z-index:998;

box-shadow:
0 10px 25px rgba(0,0,0,0.25);
}

.mobile-menu.active{

left:0;
}

.mobile-menu a{

color:#fff;

text-decoration:none;

font-size:16px;

font-weight:600;

padding:14px 18px;

border-radius:14px;

background:
rgba(255,255,255,0.05);

border:1px solid rgba(255,255,255,0.08);

transition:0.3s;
}

.mobile-menu a:hover{

background:
rgba(255,255,255,0.12);
}

/* =========================================
HERO
========================================= */

.hero{

height:100vh;

background:

linear-gradient(
rgba(0,0,0,0.45),
rgba(0,0,0,0.45)
),

url('../assets/banners/vet-banner.jpg');

background-size:cover;

background-position:center;

background-repeat:no-repeat;

display:flex;

align-items:center;

justify-content:center;

text-align:center;

position:relative;

padding:20px;
}

.hero-content{

position:relative;

z-index:2;

max-width:850px;

color:#fff;
}

.hero-content h1{

font-size:72px;

line-height:1.1;

margin-bottom:25px;

font-weight:800;
}

.hero-content p{

font-size:24px;

line-height:1.7;

margin-bottom:40px;

color:#e2e8f0;
}

.hero-buttons{

display:flex;

justify-content:center;

gap:20px;

flex-wrap:wrap;
}

.hero-btn{

padding:18px 34px;

border-radius:16px;

text-decoration:none;

font-size:18px;

font-weight:bold;

transition:0.3s;
}

.hero-btn.green{

background:
linear-gradient(
135deg,
#22c55e,
#16a34a
);

color:#fff;
}

.hero-btn.dark{

background:
rgba(15,23,42,0.9);

color:#fff;

border:1px solid rgba(255,255,255,0.2);
}

.hero-btn:hover{

transform:translateY(-5px);

box-shadow:
0 12px 20px rgba(0,0,0,0.2);
}

/* =========================================
SECTION TITLE
========================================= */

.section-title{

text-align:center;

margin-bottom:60px;
}

.section-title h2{

font-size:48px;

margin-bottom:15px;

color:#0f172a;
}

.section-title p{

font-size:18px;

color:#64748b;
}

/* =========================================
SERVICES
========================================= */

.services{

padding:120px 60px;

background:#fff;
}

.services-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(260px,1fr));

gap:30px;
}

.service-card{

background:#f8fafc;

padding:45px 35px;

border-radius:28px;

text-align:center;

transition:0.3s;

box-shadow:
0 10px 25px rgba(0,0,0,0.05);
}

.service-card:hover{

transform:translateY(-10px);
}

.service-icon{

width:90px;

height:90px;

margin:auto;

margin-bottom:25px;

border-radius:50%;

display:flex;

align-items:center;

justify-content:center;

background:
linear-gradient(
135deg,
#4ade80,
#22c55e
);

font-size:35px;

color:#fff;
}

.service-card h3{

font-size:25px;

margin-bottom:15px;
}

.service-card p{

color:#64748b;

line-height:1.8;
}

/* =========================================
PRODUTOS
========================================= */

.products-section{

padding:120px 60px;

background:#f1f5f9;
}

.products-grid{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(300px,320px));

gap:30px;

justify-content:center;
}

.product-card{

background:#fff;

border-radius:28px;

overflow:hidden;

box-shadow:
0 10px 25px rgba(0,0,0,0.08);

transition:0.3s;
}

.product-card:hover{

transform:translateY(-10px);
}

.product-card img{

width:100%;

height:240px;

object-fit:cover;

background:#f1f5f9;
}

.product-info{

padding:25px;
}

.product-info h3{

font-size:25px;

margin-bottom:12px;
}

.product-info p{

color:#64748b;

line-height:1.7;
}

.price{

margin:20px 0;

font-size:32px;

font-weight:bold;

color:#22c55e;
}

.buy-button{

width:100%;

height:56px;

border:none;

border-radius:16px;

background:
linear-gradient(
135deg,
#22c55e,
#16a34a
);

color:#fff;

font-size:17px;

font-weight:bold;

cursor:pointer;

transition:0.3s;
}

.buy-button:hover{

transform:scale(1.03);
}

/* =========================================
AGENDAMENTO
========================================= */

.appointment{

padding:120px 60px;

background:
linear-gradient(
135deg,
#0f172a,
#1e293b
);
}

.appointment-box{

max-width:1200px;

margin:auto;

background:#fff;

border-radius:30px;

padding:55px;

display:grid;

grid-template-columns:
1fr 1fr;

gap:50px;

align-items:center;

box-shadow:
0 15px 35px rgba(0,0,0,0.2);
}

.appointment-info h2{

font-size:48px;

margin-bottom:20px;

color:#0f172a;
}

.appointment-info p{

font-size:18px;

color:#64748b;

line-height:1.8;
}

#agendamento-form{

display:flex;

flex-direction:column;

gap:20px;
}

#agendamento-form input,
#agendamento-form select{

height:58px;

padding:0 18px;

border-radius:16px;

border:1px solid #dbe2ea;

font-size:16px;
}

#agendamento-form button{

height:58px;

border:none;

border-radius:16px;

background:
linear-gradient(
135deg,
#22c55e,
#16a34a
);

color:#fff;

font-size:18px;

font-weight:bold;

cursor:pointer;

transition:0.3s;
}

#agendamento-form button:hover{

transform:translateY(-4px);
}

/* =========================================
FOOTER
========================================= */

.footer{

background:#0f172a;

padding:80px 60px;

color:#fff;
}

.footer-content{

display:grid;

grid-template-columns:
repeat(auto-fit,minmax(250px,1fr));

gap:40px;
}

.footer h3,
.footer h4{

margin-bottom:20px;
}

.footer p{

color:#cbd5e1;

line-height:1.8;
}

.social-icons{

display:flex;

gap:18px;

font-size:28px;

margin-top:15px;
}

/* =========================================
RESPONSIVO
========================================= */

@media(max-width:1000px){

.menu{

display:none;
}

.mobile-toggle{

display:block;
}

.hero{

padding-top:120px;
}

.hero-content h1{

font-size:52px;
}

.hero-content p{

font-size:20px;
}

.services,
.products-section,
.appointment,
.footer{

padding:90px 25px;
}

.appointment-box{

grid-template-columns:1fr;

padding:35px;
}

}

@media(max-width:700px){

.header{

padding:0 18px;
}

.logo{

font-size:22px;
}

.hero-content h1{

font-size:40px;
}

.hero-content p{

font-size:18px;
}

.section-title h2{

font-size:34px;
}

.product-card img{

height:220px;
}

.hero-btn{

width:100%;
}

.products-grid{

grid-template-columns:1fr;
}

.mobile-menu{

padding:18px;
}

.mobile-menu a{

font-size:15px;
}

}

/* =========================================
BOTÕES PRODUTO
========================================= */

.botoes{

display:flex;
gap:10px;
margin-top:15px;

}

.btn-buy{

flex:1;
border:none;
padding:12px;
border-radius:12px;
background:#16a34a;
color:white;
font-weight:700;
cursor:pointer;
transition:0.3s;
font-size:15px;

}

.btn-buy:hover{

transform:translateY(-2px);

opacity:0.9;

}

.btn-buy i{

margin-right:6px;

}

/* =========================================
CARRINHO
========================================= */

.cart-page{

padding:120px 30px;
min-height:100vh;

}

.cart-container{

display:flex;
flex-direction:column;
gap:20px;
margin-top:30px;

}

.cart-item{

display:flex;
align-items:center;
gap:20px;
background:white;
padding:20px;
border-radius:18px;
box-shadow:0 5px 20px rgba(0,0,0,0.08);

}

.cart-item img{

width:120px;
height:120px;
object-fit:cover;
border-radius:14px;

}

.cart-info{

flex:1;

}

.remove-btn{

background:#ef4444;
color:white;
border:none;
padding:10px 16px;
border-radius:10px;
cursor:pointer;

}

.cart-total{

margin-top:30px;
display:flex;
justify-content:space-between;
align-items:center;
gap:20px;
flex-wrap:wrap;

}

#finalizar-btn{

background:#16a34a;
color:white;
border:none;
padding:16px 24px;
border-radius:12px;
font-size:16px;
font-weight:700;
cursor:pointer;

}

.empty-cart{

background:white;
padding:40px;
border-radius:20px;
text-align:center;
font-size:20px;

}