/* ========================================
VARIABLES
======================================== */

:root{
--color-primary:#e11b22;
--color-dark:#1f2937;
--color-gray:#6b7280;
--color-bg:#f7f7f7;
--shadow:0 10px 25px rgba(0,0,0,0.08);
}

/* ========================================
RESET
======================================== */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Poppins',sans-serif;
background:#f4f4f4;
color:var(--color-dark);
}

html{
scroll-behavior:smooth;
}


/* ========================================
NAVBAR PRO
======================================== */

.navbar {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  padding: 15px 8%;
  transition: all .35s ease;
  z-index: 1000;

  background: rgba(0,0,0,0.3);
  backdrop-filter: blur(10px);
}

/* LINKS */
.navbar .nav-link {
  color: #fff;
  font-weight: 500;
  margin-left: 20px;
  transition: 0.3s;
}

.navbar .nav-link:hover {
  color: #ffdddd;
}

/* LOGO */
.logo-img {
  width: 45px;
  height: 45px;
  border-radius: 10px;
  margin-right: 10px;
}

.brand-text {
  display: flex;
  flex-direction: column;
  line-height: 1;
}

.brand-name {
  font-weight: 700;
  color: #fff;
  font-size: 18px;
  transition: 0.3s;
}

.brand-slogan {
  color: #ffdddd;
  font-size: 12px;
  transition: 0.3s;
}

/* ICONO CARRITO */
.cart {
  font-size: 22px;
  cursor: pointer;
  color: white;
}

/* BOTON */
.navbar .btn {
  border-radius: 20px;
  padding: 6px 15px;
}

/* ========================================
SCROLL EFFECT (IMPORTANTE)
======================================== */

.navbar.scrolled {
  background: white;
  box-shadow: 0 5px 20px rgba(0,0,0,0.1);
}

/* LINKS EN SCROLL */
.navbar.scrolled .nav-link {
  color: #333;
}

/* LOGO EN SCROLL 🔥 */
.navbar.scrolled .brand-name {
  color: #111;
}

.navbar.scrolled .brand-slogan {
  color: #666;
}

/* ICONO EN SCROLL */
.navbar.scrolled .cart {
  color: #333;
}

/* ========================================
MOBILE MENU
======================================== */

@media(max-width:991px){

.navbar {
  padding: 10px 5%;
}

/* Fondo del menú desplegable */
.navbar-collapse {
  background: white;
  padding: 20px;
  border-radius: 10px;
  margin-top: 10px;
}

/* Links móviles */
.navbar-collapse .nav-link {
  color: #333;
  margin: 10px 0;
}

/* Logo más pequeño */
.brand-name {
  font-size: 16px;
}

}

/* ========================================
ABOUT
======================================== */

.about{
padding:100px 8%;
background:#f7f7f7;
text-align:center;
}

.about h2{
font-size:42px;
margin-bottom:10px;
}

.line{
width:80px;
height:4px;
background:var(--color-primary);
margin:15px auto 30px;
}

.about-text{
max-width:800px;
margin:auto;
font-size:18px;
line-height:1.7;
color:var(--color-gray);
margin-bottom:60px;
}

.features{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:30px;
}

.feature-box{
background:white;
padding:40px 25px;
border-radius:14px;
box-shadow:var(--shadow);
transition:.3s;
}

.feature-box:hover{
transform:translateY(-10px);
}

.feature-icon{
font-size:40px;
margin-bottom:20px;
}

.feature-box h3{
font-size:20px;
margin-bottom:10px;
}

.feature-box p{
color:var(--color-gray);
}

/* ========================================
CATEGORIAS
======================================== */

.categorias{
padding:100px 8%;
background:#f5f6f8;
text-align:center;
}

.categoria-text{
max-width:700px;
margin:auto;
margin-top:15px;
margin-bottom:60px;
color:var(--color-gray);
}

.grid-categorias{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:25px;
}

.categoria-card{
position:relative;
border-radius:14px;
overflow:hidden;
cursor:pointer;
}

.categoria-card img{
width:100%;
height:220px;
object-fit:cover;
transition:.4s;
}

.categoria-card::before{
content:"";
position:absolute;
width:100%;
height:100%;
background:linear-gradient(to top, rgba(0,0,0,.7), transparent);
}

.overlay{
position:absolute;
bottom:20px;
left:20px;
display:flex;
align-items:center;
gap:10px;
color:white;
}

.overlay-icon{
background:var(--color-primary);
padding:10px 14px;
border-radius:10px;
}

.categoria-card:hover img{
transform:scale(1.1);
}

/* ========================================
CONTACTO
======================================== */

.contacto{
padding:100px 8%;
background:#f8fafc;
text-align:center;
}

.contact-text{
margin-top:15px;
margin-bottom:60px;
color:var(--color-gray);
}

.contact-grid{
display:grid;
grid-template-columns:repeat(2,1fr);
gap:40px;
}

.contact-card{
background:white;
padding:35px;
border-radius:14px;
box-shadow:var(--shadow);
text-align:left;
}

.contact-header{
display:flex;
align-items:center;
gap:15px;
margin-bottom:20px;
}

.contact-icon{
font-size:28px;
padding:15px;
border-radius:10px;
color:white;
}

.contact-icon.red{
background:var(--color-primary);
}

.contact-icon.gray{
background:#374151;
}

.badge{
background:#ffe4e6;
color:var(--color-primary);
padding:4px 10px;
border-radius:20px;
font-size:12px;
}

.badge.secondary{
background:#e5e7eb;
color:#374151;
}

.contact-info p{
margin:12px 0;
color:var(--color-gray);
}

.btn-whatsapp{
display:block;
margin-top:25px;
background:#16a34a;
color:white;
padding:14px;
text-align:center;
border-radius:8px;
text-decoration:none;
font-weight:600;
transition:.3s;
}

.btn-whatsapp:hover{
background:#15803d;
}

/* ========================================
FOOTER
======================================== */

.footer{
background:linear-gradient(180deg,#ff6a00,#f97316);
color:white;
padding:70px 8% 20px;
}

.footer-container{
display:grid;
grid-template-columns:2fr 1fr 1fr;
gap:40px;
}

.footer-logo{
display:flex;
align-items:center;
gap:12px;
margin-bottom:15px;
}

.footer-logo img{
width:50px;
border-radius:10px;
}

.footer-text{
margin:15px 0 20px;
line-height:1.6;
max-width:400px;
}

.socials{
display:flex;
gap:15px;
}

.socials a{
background:rgba(255,255,255,.2);
padding:12px 15px;
border-radius:8px;
text-decoration:none;
color:white;
}

.footer-col h4{
margin-bottom:15px;
}

.footer-col ul{
list-style:none;
}

.footer-col ul li{
margin-bottom:10px;
}

.footer-col ul a{
text-decoration:none;
color:white;
opacity:.9;
}

.footer-bottom{
margin-top:40px;
text-align:center;
}

.footer-bottom hr{
border:none;
border-top:1px solid rgba(255,255,255,.3);
margin-bottom:20px;
}

/* ========================================
NAVBAR MODERNA
======================================== */

.navbar-custom{
transition:all .35s ease;
padding:15px 0;
}

.navbar-custom .nav-link{
color:white;
font-weight:500;
margin-left:20px;
}

.navbar-custom .nav-link:hover{
color:#ffdddd;
}

/* LOGO */

.logo-img{
width:45px;
height:45px;
border-radius:10px;
margin-right:10px;
}

.brand-text{
display:flex;
flex-direction:column;
line-height:1;
}


.brand-slogan{
color:#ffdddd;
font-size:12px;
transition:0.3s;
}

/* SCROLL NAVBAR */

.navbar-scrolled{
background:white;
box-shadow:0 5px 20px rgba(0,0,0,0.1);
}

.navbar-scrolled .nav-link{
color:#333;
}

.navbar-scrolled .brand-name{
color:#222;
}

.navbar-scrolled .brand-slogan{
color:#666;
}

/* ========================================
HERO SLIDER (FIX PRINCIPAL)
======================================== */

.hero-slider {
height: 100vh;
}

.swiper {
width: 100%;
height: 100%;
}

.swiper-slide {
position: relative;
background-size: cover;
background-position: center;
}



.content {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: white;
text-align: center;
z-index: 2;
width: 100%;
background: rgba(0, 0, 0, 0.125);
}

.content h1 {
font-size: 3rem;
font-weight: bold;
}

.content p {
margin: 15px 0;
}

.content .btn {
margin: 5px;
}

.swiper-button-next,
.swiper-button-prev {
color: #fff;
}

.swiper-pagination-bullet {
background: #fff;
}

/* ========================================
TEXTOS TIPO REVOLUTION SLIDER
======================================== */

/* Estado inicial */
.content h1,
.content p,
.content .btn {
  opacity: 0;
}

/* TITULO - entra desde izquierda */
.swiper-slide-active .content h1 {
  animation: slideLeft 1s ease forwards;
}

/* TEXTO - entra desde abajo */
.swiper-slide-active .content p {
  animation: slideUp 1s ease forwards;
  animation-delay: 0.4s;
}

/* BOTONES - zoom suave */
.swiper-slide-active .content .btn {
  animation: zoomIn 0.8s ease forwards;
  animation-delay: 0.8s;
}

/* Animaciones */
@keyframes slideLeft {
  from {
    opacity: 0;
    transform: translateX(-80px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(60px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.7);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}


/* ========================================
RESPONSIVE
======================================== */

@media(max-width:992px){

.features{
grid-template-columns:repeat(2,1fr);
}

.grid-categorias{
grid-template-columns:repeat(2,1fr);
}

.contact-grid{
grid-template-columns:1fr;
}

.footer-container{
grid-template-columns:1fr;
}

}

@media(max-width:768px){

.menu{
display:none;
}

.features{
grid-template-columns:1fr;
}

.grid-categorias{
grid-template-columns:1fr;
}

.content h1{
font-size:2rem;
}

/* ========================================
HERO PRO (ANIMACIONES AVANZADAS)
======================================== */

/* Overlay degradado más elegante */
.overlay {
  background: linear-gradient(
    to right,
    rgba(0,0,0,0.7),
    rgba(0,0,0,0.4)
  );
}

/* Animación de entrada */
.content h1,
.content p,
.content .btn {
  opacity: 0;
  transform: translateY(40px);
}

/* Activo (cuando el slide aparece) */
.swiper-slide-active .content h1 {
  animation: fadeUp 1s ease forwards;
}

.swiper-slide-active .content p {
  animation: fadeUp 1s ease forwards;
  animation-delay: 0.3s;
}

.swiper-slide-active .content .btn {
  animation: fadeUp 1s ease forwards;
  animation-delay: 0.6s;
}

/* Animación */
@keyframes fadeUp {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* EFECTO ZOOM (KEN BURNS 🔥) */
.swiper-slide {
  overflow: hidden;
}

.swiper-slide::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  background: inherit;
  background-size: cover;
  background-position: center;
  transform: scale(1);
  transition: transform 6s ease;
  z-index: 0;
}

.swiper-slide-active::after {
  transform: scale(1.1);
}

/* Mejora contenido encima */
.content {
  z-index: 2;
}

/* Botones PRO */
.content .btn {
  padding: 12px 25px;
  border-radius: 30px;
  font-weight: 600;
  transition: all 0.3s ease;
}

/* Hover elegante */
.content .btn:hover {
  transform: translateY(-3px);
  box-shadow: 0 10px 20px rgba(0,0,0,0.3);
}

/* Flechas modernas */
.swiper-button-next,
.swiper-button-prev {
  width: 50px;
  height: 50px;
  background: rgba(255,255,255,0.2);
  border-radius: 50%;
  backdrop-filter: blur(5px);
}

/* Hover flechas */
.swiper-button-next:hover,
.swiper-button-prev:hover {
  background: rgba(255,255,255,0.4);
}

/* Paginación más elegante */
.swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  opacity: 0.7;
}

.swiper-pagination-bullet-active {
  opacity: 1;
  transform: scale(1.2);
}



.sidebar-carrito{
position: fixed;
top:0;
right:-400px;
width:350px;
height:100%;
background:#fff;
box-shadow:-5px 0 15px rgba(0,0,0,0.1);
transition:0.3s;
z-index:9999;
display:flex;
flex-direction:column;
}

.sidebar-carrito.active{
right:0;
}

.sidebar-header{
display:flex;
justify-content:space-between;
align-items:center;
padding:15px;
background:#dc3545;
color:white;
}

.sidebar-body{
padding:15px;
overflow-y:auto;
flex:1;
}

.cart{
font-size:20px;
cursor:pointer;
}



}