/* Configurações Gerais */
:root { 
    --vesco-orange: #F37021; 
    --vesco-blue: #003366; 
    --dark-navy: #001529; 
}

body { font-family: 'Inter', sans-serif; background-color: #f8fafc; }

/* BANNER DINÂMICO 2000x500 */
.banner-swiper { 
    width: 100%; 
    height: auto; 
    aspect-ratio: 2 / 1; 
    max-height: 400px; 
    background-color: var(--dark-navy);
}

@media (min-width: 768px) { 
    .banner-swiper { aspect-ratio: 4 / 1; } 
}

.banner-slide img { 
    width: 100%; 
    height: 100%; 
    object-fit: cover; 
    object-position: center; 
}

/* Setas do Banner no Hover */
.bannerSwiper .swiper-button-next, .bannerSwiper .swiper-button-prev { 
    opacity: 0; transition: opacity 0.3s; color: white !important; transform: scale(0.7);
}
.bannerSwiper:hover .swiper-button-next, .bannerSwiper:hover .swiper-button-prev { opacity: 0.8; }

/* Cards de Produto */
.product-card {
    background: white; border-radius: 16px; border: 1px solid #e2e8f0;
    transition: all 0.3s ease; height: 100%; display: flex; flex-direction: column; overflow: hidden;
}

@media (min-width: 1024px) { 
    .product-card:hover { transform: translateY(-5px); border-color: var(--vesco-orange); box-shadow: 0 10px 20px rgba(0,0,0,0.1); } 
}

/* Tabela de Preços Ativa */
.price-row { transition: all 0.2s; padding: 2px 4px; border-radius: 4px; font-size: 10px; }
.price-row.active { background-color: #fff7ed; color: #F37021; font-weight: bold; border: 1px solid #fdba74; }

/* Carrinho Flutuante */
.cart-float {
    position: fixed; bottom: 20px; right: 20px; z-index: 50;
    background: var(--vesco-orange); color: white; padding: 12px 20px; border-radius: 50px;
    box-shadow: 0 4px 15px rgba(243, 112, 33, 0.5); cursor: pointer; display: flex; align-items: center; gap: 8px; font-weight: bold;
}

/* Estilo Inputs de Quantidade */
input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
:root { --vesco-orange: #F37021; --vesco-blue: #003366; }

/* BANNER 2000x500 */
.banner-swiper { 
    width: 100%; 
    height: auto; 
    aspect-ratio: 16/9; /* Mais alto no mobile */
    max-height: 400px; 
    background-color: #001529;
}
@media (min-width: 768px) { 
    .banner-swiper { aspect-ratio: 4 / 1; } /* Exato para 2000x500 no PC */
}
.banner-slide img { 
    width: 100%; 
    height: 100%; 
    object-fit: contain; /* Mostra a arte completa sem cortar texto */
}

/* Setas apenas no mouse */
.bannerSwiper .swiper-button-next, .bannerSwiper .swiper-button-prev { 
    opacity: 0; transition: 0.3s; color: white !important; transform: scale(0.7);
}
.bannerSwiper:hover .swiper-button-next, .bannerSwiper:hover .swiper-button-prev { opacity: 0.8; }

.product-card {
    background: white; border-radius: 16px; border: 1px solid #e2e8f0;
    height: 100%; display: flex; flex-direction: column; overflow: hidden;
}
.price-row.active { background-color: #fff7ed; color: var(--vesco-orange); font-weight: bold; border: 1px solid #fdba74; border-radius: 4px; }

.cart-float {
    position: fixed; bottom: 20px; right: 20px; z-index: 50;
    background: var(--vesco-orange); color: white; padding: 12px 20px; border-radius: 50px;
    box-shadow: 0 4px 15px rgba(243, 112, 33, 0.5); cursor: pointer; display: flex; align-items: center; gap: 8px; font-weight: bold;
}
input[type=number]::-webkit-inner-spin-button { display: none; }