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

body{
    background:#fafafa;
    color:#333;
}

.container{
    width:90%;
    max-width:1300px;
    margin:auto;
}

/* HEADER */

header{
    background:#fff;
    box-shadow:0 3px 10px rgba(0,0,0,.08);
    position:sticky;
    top:0;
    z-index:100;
}

header .container{
    height:80px;
    display:flex;
    align-items:center;
    justify-content:space-between;
}

.logo{
    font-size:30px;
    font-weight:700;
    color:#E91E63;
}

.search{
    width:45%;
    display:flex;
}

.search input{
    width:100%;
    height:45px;
    border:1px solid #ddd;
    border-radius:30px 0 0 30px;
    padding:0 20px;
    outline:none;
}

.search button{
    width:60px;
    border:none;
    background:#E91E63;
    color:white;
    border-radius:0 30px 30px 0;
    cursor:pointer;
}

.cart{
    position:relative;
    font-size:28px;
    cursor:pointer;
}

.cart span{
    position:absolute;
    top:-8px;
    right:-10px;
    background:#E91E63;
    color:#fff;
    width:20px;
    height:20px;
    border-radius:50%;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:12px;
}

/* MENU */

nav{
    background:#E91E63;
}

nav ul{
    display:flex;
    justify-content:center;
    list-style:none;
    flex-wrap:wrap;
}

nav li{
    padding:18px;
}

nav a{
    color:white;
    text-decoration:none;
    transition:.3s;
}

nav a:hover{
    color:#ffd6e4;
}

/* BANNER */

.banner{
    height:500px;
    background:linear-gradient(rgba(0,0,0,.35),rgba(0,0,0,.35)),
    url("https://images.unsplash.com/photo-1522335789203-aabd1fc54bc9?auto=format&fit=crop&w=1600&q=80");
    background-size:cover;
    background-position:center;
    display:flex;
    align-items:center;
    justify-content:center;
}

.banner-content{
    text-align:center;
    color:white;
}

.banner h1{
    font-size:55px;
}

.banner p{
    margin:20px 0;
    font-size:22px;
}

.banner button{
    padding:15px 40px;
    border:none;
    border-radius:30px;
    background:#E91E63;
    color:white;
    cursor:pointer;
    font-size:18px;
    transition:.3s;
}

.banner button:hover{
    background:#c2185b;
}

/* CATEGORIAS */

.categories{
    width:90%;
    max-width:1300px;
    margin:70px auto;
}

.categories h2{
    margin-bottom:30px;
}

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

.card{
    background:white;
    border-radius:15px;
    padding:30px;
    text-align:center;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    transition:.3s;
    cursor:pointer;
    font-size:45px;
}

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

.card span{
    display:block;
    margin-top:15px;
    font-size:17px;
}

/* PRODUTOS */

.products{
    width:90%;
    max-width:1300px;
    margin:auto;
    padding-bottom:80px;
}

.products h2{
    margin-bottom:30px;
}

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

.product{
    background:white;
    border-radius:15px;
    overflow:hidden;
    box-shadow:0 5px 15px rgba(0,0,0,.08);
    transition:.3s;
}

.product:hover{
    transform:translateY(-6px);
}

.product img{
    width:100%;
}

.product h3{
    padding:15px;
}

.product p{
    padding:0 15px;
    color:#E91E63;
    font-weight:600;
}

.product button{
    width:calc(100% - 30px);
    margin:15px;
    height:45px;
    border:none;
    border-radius:10px;
    background:#E91E63;
    color:white;
    cursor:pointer;
}

/* FOOTER */

footer{
    background:#222;
    color:white;
    text-align:center;
    padding:40px;
}

footer p{
    margin-top:10px;
}

.card{
    text-decoration:none;
    color:inherit;
}

/* BACKDROP */
.backdrop{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.5);
    display:none;
    z-index:999;
}

/* SIDEBAR */
.cart-sidebar{
    position:fixed;
    top:0;
    right:-400px;
    width:360px;
    height:100%;
    background:#fff;
    z-index:1000;
    box-shadow:-5px 0 15px rgba(0,0,0,0.2);
    transition:0.3s;
    display:flex;
    flex-direction:column;
}

.cart-sidebar.active{
    right:0;
}

.backdrop.active{
    display:block;
}

/* HEADER */
.cart-header{
    padding:20px;
    background:#E91E63;
    color:white;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.cart-header .close{
    cursor:pointer;
    font-size:18px;
}

/* ITEMS */
.cart-items{
    flex:1;
    overflow:auto;
    padding:15px;
}

.cart-item{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:15px;
    border-bottom:1px solid #eee;
    padding-bottom:10px;
}

.cart-item h4{
    font-size:14px;
}

.qty-controls{
    display:flex;
    align-items:center;
    gap:8px;
}

.qty-controls button{
    width:25px;
    height:25px;
    border:none;
    background:#E91E63;
    color:white;
    cursor:pointer;
    border-radius:5px;
}

/* FOOTER */
.cart-footer{
    padding:15px;
    border-top:1px solid #eee;
}

.cart-total{
    font-size:18px;
    font-weight:bold;
    margin-bottom:10px;
}

.btn-abrirCheckout{
    width:100%;
    padding:12px;
    background:#25D366;
    color:white;
    border:none;
    border-radius:8px;
    cursor:pointer;
    font-size:16px;
}

.checkout-modal{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100%;
    background:rgba(0,0,0,0.6);
    display:none;
    justify-content:center;
    align-items:center;
    z-index:2000;
}

.checkout-modal.active{
    display:flex;
}

.checkout-box{
    background:#fff;
    width:90%;
    max-width:400px;
    padding:20px;
    border-radius:15px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.checkout-box input,
.checkout-box select,
.checkout-box textarea{
    padding:10px;
    border:1px solid #ddd;
    border-radius:8px;
}

.checkout-box button{
    padding:12px;
    border:none;
    background:#25D366;
    color:white;
    border-radius:8px;
    cursor:pointer;
}

.checkout-box .cancel{
    background:#ccc;
}

.btn-finalizar{
    width:100%;
    padding:14px;
    border:none;
    border-radius:10px;
    background:linear-gradient(135deg, #25D366, #1ebe5d);
    color:white;
    font-size:16px;
    font-weight:600;
    cursor:pointer;
    transition:0.3s;
    margin-top:10px;
}

.btn-finalizar:hover{
    transform:translateY(-2px);
    box-shadow:0 8px 20px rgba(37,211,102,0.3);
}

.card{
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    gap:10px;
    text-decoration:none;
    padding:15px;
}

.card img{
    width:150px;
    height:150px;
    object-fit:cover;
    border-radius:12px;
}

.brands {
    padding: 40px 20px;
    text-align: center;
    background: #fff;
}

.brands h2 {
    font-size: 24px;
    margin-bottom: 25px;
    color: #222;
}

.brands-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 20px;
    align-items: center;
    justify-items: center;
}

.brands-grid img {
    width: 160px;
    height: 90px;
    object-fit: contain;
    filter: grayscale(100%);
    opacity: 0.75;
    transition: 0.3s ease;
}

.brands-grid img:hover {
    filter: grayscale(0%);
    opacity: 1;
    transform: scale(1.05);
}

.product-card p.preco {
    color: #ff4da6;
    font-weight: bold;
}

.product-card p.descricao {
    color: #666;
}