@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

*, *::before, *::after {
	box-sizing: border-box;
}

	:root {
		--primary-color: #043e6e;
		--background-color: #f9f5f0;
		--dark-color: #151515;
	}

 	html {
		font-size: 62.5%;
		font-family: 'Poppins', sans-serif;
	}

	* {
		margin: 0;
		padding: 0;
		box-sizing: border-box;
	}

/* Utilidades */

	/* ==============================
   FUENTES Y VARIABLES
============================== */
@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700&display=swap');

:root {
  --primary-color: #043e6e;
  --background-color: #f9f5f0;
  --dark-color: #151515;
}

/* ==============================
   RESET Y BASE
============================== */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 62.5%;
  font-family: 'Poppins', sans-serif;
}

/* ==============================
   UTILIDADES
============================== */
.Contenedor {
  max-width: 120rem;
  margin: 0 auto;
}

.heading-1 {
  text-align: center;
  font-weight: 500;
  font-size: 3rem;
}

/* ==============================
   HEADER Y HERO
============================== */
.Contenedor-hero {
  background-color: var(--background-color);
}

.hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 2rem 0;
}

.fa-car-side {
  display: inline-block;
  animation: entrarCarro 2s ease-out forwards;
}

@keyframes entrarCarro {
  0% { transform: translateX(-200px) rotate(-10deg); opacity: 0; }
  60% { transform: translateX(20px) rotate(3deg); opacity: 1; }
  100% { transform: translateX(0) rotate(0); }
}

/* ---------- Logo animado ---------- */
/* ===========================
   🎄 ESTILO NAVIDEÑO LOGO
=========================== */

.logo a {
  position: relative;
  color: #e60000; /* rojo navideño */
  font-weight: bold;
  text-decoration: none;
  font-size: 3.2rem;
  text-transform: uppercase;
  letter-spacing: 2px;
  text-shadow: 
      0 0 12px #ff3b3b,
      0 0 25px #ff0000,
      0 0 40px #ff6b00;
  animation: parpadeoNavidad 1.8s infinite, flotarNavidad 3s ease-in-out infinite;
  transition: 0.3s;
  display: inline-block;
}

.logo a:hover {
  color: #0aff0a; /* verde fuerte navideño */
  text-shadow: 
      0 0 18px #ffffff,
      0 0 30px #0aff0a,
      0 0 50px #00ff48;
  transform: scale(1.05);
}



/* ===========================
   🎅 GORRO DE NAVIDAD (AJUSTADO)
=========================== */

.icono-navidad {
  position: relative;
  display: inline-block;
}

/* Parte roja (más pequeña) */
.icono-navidad::before {
  content: "";
  position: absolute;
  top: -22px;
  left: -6px;
  width: 38px;
  height: 22px;
  background: #d60000;
  border-radius: 10px 10px 0 0;
  transform: rotate(-15deg);
  z-index: 5;
  box-shadow: 0 0 6px rgba(255, 0, 0, 0.7);
}

/* Banda blanca más fina */
.icono-navidad::after {
  content: "";
  position: absolute;
  top: -6px;
  left: -10px;
  width: 48px;
  height: 10px;
  background: #fff;
  border-radius: 8px;
  transform: rotate(-15deg);
  z-index: 6;
  box-shadow: 0 0 6px rgba(255, 255, 255, 0.9);
}

/* Bolita pequeña */
.icono-navidad .pom {
  position: absolute;
  top: -2px;
  left: 28px;
  width: 14px;
  height: 14px;
  background: #fff;
  border-radius: 50%;
  box-shadow: 0 0 8px #fff;
  z-index: 7;
}


/* ===========================
   ✨ ANIMACIONES NAVIDEÑAS
=========================== */

@keyframes parpadeoNavidad {
  0%, 100% { color: #ff0000; text-shadow: 0 0 12px #ff3b3b; }
  25% { color: #0aff0a; text-shadow: 0 0 12px #00ff2a; }
  50% { color: #ffd700; text-shadow: 0 0 15px #ffdd55; }
  75% { color: #ff6b00; text-shadow: 0 0 18px #ff6b00; }
}

@keyframes flotarNavidad {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-5px); }
}



/* ---------- Soporte al cliente ---------- */
.Soporte-Cliente {
  display: flex;
  align-items: center;
  gap: 2rem;
}

.Soporte-Cliente i {
  font-size: 3.3rem;
}

.Contenido-Soporte-Cliente {
  display: flex;
  flex-direction: column;
  font-size: 1.3rem;
  font-weight: bold;
}

/* ---------- Logo contenedor ---------- */
.Contenedor-logo {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.Contenedor-logo i {
  font-size: 3rem;
}

.Contenedor-logo h1 a {
  text-decoration: none;
  color: #000;
  font-size: 3rem;
  text-transform: uppercase;
  letter-spacing: -1px;
}

/* ==============================
   USUARIO Y MENÚ DESPLEGABLE
============================== */
.Contenedor-user {
  display: flex;
  gap: 1rem;
  cursor: pointer;
}

.Contenedor-user .fa-user {
  font-size: 3rem;
  color: var(--primary-color);
  padding-right: 2.5rem;
  border-right: 1px solid #e2e2e2;
}

  .Contenedor-user a {
    text-decoration: none;
    color: inherit;
  }

.menu-usuario {
  position: relative;
  display: inline-block;
}

.menu-toggle {
  font-size: 2.6rem;
  cursor: pointer;
  color: #222;
  padding: 8px;
  transition: transform 0.3s ease;
}

.menu-toggle:hover {
  transform: scale(1.1);
}

.menu-desplegable {
  display: none;
  position: absolute;
  top: 45px;
  right: 0;
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 10px;
  width: 210px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.15);
  z-index: 999;
  text-align: left;
  overflow: hidden;
}

.usuario-nombre {
  font-weight: bold;
  padding: 10px 15px;
  background-color: #f5f5f5;
  border-bottom: 1px solid #ddd;
  margin: 0;
}

.menu-desplegable ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.menu-desplegable ul li {
  border-bottom: 1px solid #eee;
}

.menu-desplegable ul li:last-child {
  border-bottom: none;
}

.menu-desplegable a {
  display: block;
  padding: 10px 15px;
  text-decoration: none;
  color: #333;
  font-size: 1.5rem;
  transition: background-color 0.3s, color 0.3s;
}

.menu-desplegable a:hover {
  background-color: #007bff;
  color: #fff;
}

/* ==============================
   NAVBAR
============================== */
.Contenedor-navbar {
  background-color: var(--primary-color);
}

.navbar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 0;
}

.menu {
  display: flex;
  gap: 2rem;
}

.menu li {
  list-style: none;
}

.menu a {
  text-decoration: none;
  font-size: 1.4rem;
  color: #fff;
  font-weight: 600;
  text-transform: uppercase;
  position: relative;
  transition: color 0.3s ease;
}

.menu a::after {
  content: '';
  width: 1.5rem;
  height: 1px;
  background-color: #fff;
  position: absolute;
  bottom: -3px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0;
  transition: all 0.3s ease;
}

.menu a:hover::after {
  opacity: 1;
}

.search-form {
  display: flex;
  align-items: center;
  border: 2px solid #fff;
  border-radius: 2rem;
  background-color: #fff;
  height: 4.4rem;
  overflow: hidden;
}

.search-form input {
  border: none;
  width: 25rem;
  font-size: 1.4rem;
  padding: 0 2rem;
  color: #777;
  outline: none;
}

.boton-buscar {
  border: none;
  background-color: var(--primary-color);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
}

.boton-buscar i {
  font-size: 2rem;
  color: #fff;
}

/* ==============================
   BANNER
============================== */
.banner {
  background-image: linear-gradient(100deg, #000, #00000020), url('img/banner.jpg');
  height: 60rem;
  background-size: cover;
  background-position: center;
}

.Contenido-banner {
  max-width: 90rem;
  margin: 0 auto;
  padding: 25rem 0;
}

.Contenido-banner p {
  color: white;
  font-size: 2.5rem;
  margin-bottom: 1rem;
  font-weight: bold;
}

.Contenido-banner h2 {
  color: #fff;
  font-size: 3.5rem;
  line-height: 1.2;
  font-weight: 600;
}

.Contenido-banner a {
  margin-top: 2rem;
  text-decoration: none;
  color: #fff;
  background-color: var(--primary-color);
  display: inline-block;
  padding: 1rem 3rem;
  border-radius: 3rem;
  text-transform: uppercase;
  font-weight: bold;
}

/* ==============================
   SECCIÓN DE PRODUCTOS
============================== */

/* ... (continúa en la siguiente respuesta por límite de caracteres) ... */


    /* Contenido Main */

    .main-Contenido {
        background-color: var(--background-color);
    }
    

    .contenedor-caracteristicas {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        gap: 3rem;
        padding: 3rem 0;
    }

    .carta-caracteristica {
        display: flex;
        align-items: center;
        justify-content: center;
        gap: 1.5rem;

        background-color: #fff;
        border-radius: 1rem;
        padding: 1.5rem 0;
    }

    .carta-caracteristica i {
        font-size: 2.7rem;
        color: var(--primary-color);
        padding-left: 1rem;
    }

    .contenido-caracteristica {
        display: flex;
        flex-direction: column;
        gap: 0.5rem;
    }

    .contenido-caracteristica span {
        font-weight: 700;
        font-size: 1.2rem;
        color: var(--dark-color);
    }

    .contenido-caracteristica p {
        font-weight: 500;
        color: #777;
    }

    /* Galeria */

    .gallery {
        display: grid;
        grid-template-columns: repeat(4, 1fr);
        grid-template-rows: repeat(2, 30rem);
        gap: 1.5rem;
        margin-bottom: 3rem;
    }

    .gallery img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        position: relative;
        transition: transform 0.3s ease;
    }

    .gallery img:hover{
      transform: scale(1.05);
    }

    .gallery-img-3 {
        grid-column: 2/4;
        grid-row: 1/3;
        position: relative;
    }

    .gallery-img-3 .overlay {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: rgba(0, 0, 0, 0.7);
        color: #fff;
        display: flex;
        text-align: center;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        opacity: 0;
        transition: opacity 0.3s ease;
    }

    .gallery-img-3:hover .overlay {
        opacity: 1;
    }

    .overlay h2 {
        font-size: 2rem;
        margin-bottom: 1rem;
        animation: fadeIn 1s ease-out;
    }

    .overlay p {
        font-size: 1.2rem;
        max-width: 80%;
        margin: 0 auto;
        animation: fadeIn 1.5s ease-out;
    }

    @media (max-width: 768px) {
        html {
            font-size: 55%;
        }

        .hero {
            padding: 2rem;
        }

        .Soporte-Cliente {
            display: none;
        }

        .navbar {
            padding: 1rem 2rem;
        }

        .navbar .fa-bars {
            display: block;
            font-size: 3rem;
            color: #fff
        }

        .menu {
            display: none;
        }

        .Contenido-banner {
            max-width: 50rem;
            margin: 0 auto;
            padding: 25rem 0;
        }

        .contenedor-caracteristicas {
            grid-template-columns: repeat(2, 1fr);
            padding: 3rem 2rem;
        }

        .carta-caracteristica {
            padding: 2rem;
        }

        .heading-1 {
            font-size: 2.5rem;
        }

        .carta-categoria {
            height: 12rem;
        }

        .carta-categoria p {
            font-size: 2rem;
            text-align: center;
            line-height: 1;
        }
    }
        
	@keyframes fadeIn {
		0% {
		opacity: 0;
		transform: translateY(-20px);
		}
		100% {
		opacity: 1;
		transform: translateY(0);
		}
	}

    .categorias-top {
        display: flex;
        gap: 2rem;
        margin-bottom: 3rem;
        flex-direction: column;
    }

    .Contenedor-categorias {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 3rem;
    }

    .carta-categoria {
        height: 20rem;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        border-radius: 2rem;
        gap: 2rem;
    }

    .categoria-polinchado {
        background-image: linear-gradient(#00000080, #00000080),
        url('img/polinchado1.png');
        background-size: cover;
        background-position: bottom;
        background-repeat: no-repeat;
    }

    .categoria-ceramico {
        background-image: linear-gradient(#00000080, #00000080),
        url('img/ceramico1.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .categoria-motor {
        background-image: linear-gradient(#00000080, #00000080),
        url('img/motor1.jpg');
        background-size: cover;
        background-position: center;
        background-repeat: no-repeat;
    }

    .carta-categoria p {
        font-size: 2.5rem;
        color: #fff;
        text-transform: capitalize;
        position: relative;
    }

    .carta-categoria p::after {
        content: '';
        width: 2.5rem;
        height: 2px;
        background-color:#fff;
        position: absolute;
        bottom: -1rem;
        left: 50%;
        transform: translateX(-50%, 50%);
    }

    .carta-categoria span {
        font-size: 1.6rem;
        color: #fff;
        cursor: pointer;
    }

    .carta-categoria span:hover {
        color: var(--primary-color);
    }



    .Contenedor-opcion {
        display: flex;
        justify-content: center;
        gap: 2rem;
        margin-bottom: 1rem;
    }



    .Contenedor-opcion span {
        color: #043e6e;
        background-color: #fff;
        padding: 0.7rem 3rem;
        font-size: 1.4rem;
        text-transform: capitalize;
        border-radius: 2rem;
        cursor: pointer;
    }
    

    .Contenedor-opcion span:hover {
        background-color: var(--primary-color);
        color: #fff;
    }

    .Contenedor-opcion span.active {
        background-color: var(--primary-color);
        color: #fff;
    }



    .blur-background {
        filter: blur(5px);
        pointer-events: none;
        user-select: none;
    }

    .especiales {
        display: flex;
        flex-direction: column;
        gap: 2rem;
        margin-bottom: 3rem;

    }

    .Contenedor-productos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 2rem;
    }


    
    .carta-producto {
        padding: 2rem 3rem;
    }

    .carta-producto {
        width: 300px;
        display: flex;
        flex-direction: column;
        background-color: #f9f9f9;
        border: 1px solid #ddd;
        border-radius: 8px;
        box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
        cursor: pointer;
        overflow: hidden;

    }


    .Contenedor-img {
        position: relative;
    }

    .Contenedor-img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .Contenedor-img .discount {
        position: absolute;
        left: 0;
        background-color: var(--primary-color);
        color: #fff;
        padding: 2px 1.2rem;
        border-radius: 1rem;
        font-size: 1.2rem;
    }

    .carta-producto:hover .discount {
        background-color: #000;
    }

    .button-group {
        display: flex;
        flex-direction: column;
        gap: 1rem;

        position: absolute;
        top: 0;
        right: -3rem;
        z-index: -1;
        transition: all 0.4s ease;
    }

    .button-group span {
        border: 1px solid var(--primary-color);
        padding: 0.8rem;

        display: flex;
        align-items: center;
        justify-content: center;
        border-radius: 50%;
        cursor: pointer;
        transition: all 0.4s ease;
    }

    .button-group span:hover {
        background-color: var(--primary-color);
    }

    .button-group span i {
        font-size: 1.5rem;
        color: var(--primary-color);
    }

    .button-group span:hover i {
        color: #fff;
    }

    .carta-producto:hover .button-group {
        right: -1rem;
        z-index: 0;
    }

    .contenido-carta-producto {
        display: grid;
        justify-items: center;
        grid-template-columns: 1fr 1fr;
        grid-template-rows: repeat(4, min-content);
        row-gap: 1rem;
    }

    .estrellas {
        grid-row: 1/2;
        grid-column: 1/-1;
    }

    .estrellas i {
        font-size: 1.3rem;
        color: var(--primary-color);
    }

    .contenido-carta-producto h3 {
        grid-row: 2/3;
        grid-column: 1/-1;
        font-weight: 400;
        font-size: 1.6rem;
        margin-bottom: 1rem;
        cursor: pointer;
    }

    .contenido

    .contenido-carta-producto h3:hover {
        color: var(--primary-color)
    }

    .add-cart {
        justify-self: start;
        border: 2px solid var(--primary-color);
        padding: 1rem;
        border-radius: 50%;
        cursor: pointer;
        transition: all 0.4s ease;

        display: flex;
        align-items: center;
        justify-content: center;
    }

    .add-cart-hover {
        background-color: var(--primary-color);
    }

    .add-cart i {
        font-size: 1.5rem;
        color: var(--primary-color);
    }

    .add-cart:hover i {
        color: black;
    }

    
    .oculto {
  display: none !important;
}


/* 🔹 SECCIÓN DE AGENDACIÓN (actualizada para vista horizontal) */
.Contenedor-productos-agendacion {
  display: none; /* Oculto por defecto */
  max-width: 1200px;
  margin: 4rem auto;
  padding: 3rem;
  background-color: #fff;
  border-radius: 1.5rem;
  box-shadow: 0 4px 15px rgba(0, 0, 0, 0.15);
  text-align: center;
  transition: all 0.4s ease;
}

.Contenedor-productos-agendacion:not(.oculto) {
  display: block !important;
  animation: fadeIn 0.6s ease forwards;
}

/* 🔸 Contenedor de tarjetas */
.Contenedor-productos-agendacion .lista-productos {
  display: flex;
  flex-direction: column;
  gap: 2rem;
}

/* 🔸 Tarjetas de agendación (horizontal) */
.Contenedor-productos-agendacion .carta-agendacion {
  background-color: var(--background-color);
  border: 1px solid #ddd;
  border-radius: 1rem;
  width: 100%;
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 1.5rem;
  transition: all 0.3s ease;
  cursor: pointer;
}

.Contenedor-productos-agendacion .carta-agendacion:hover {
  transform: translateY(-5px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.15);
}

/* Imagen a la izquierda */
.Contenedor-productos-agendacion .carta-agendacion img {
  width: 220px;
  height: 160px;
  object-fit: cover;
  border-radius: 1rem;
  flex-shrink: 0;
}

/* Contenido a la derecha */
.Contenedor-productos-agendacion .contenido-agenda {
  flex: 1;
  text-align: left;
}

.Contenedor-productos-agendacion .contenido-agenda h3 {
  font-size: 1.6rem;
  color: var(--dark-color);
  margin-bottom: 0.5rem;
}

.Contenedor-productos-agendacion .contenido-agenda p {
  font-size: 1.4rem;
  color: #555;
  margin-bottom: 1rem;
}

/* Botón */
.Contenedor-productos-agendacion .btn-agendar {
  display: inline-block;
  background-color: var(--primary-color);
  color: #fff;
  font-weight: 600;
  padding: 1rem 2.5rem;
  border-radius: 2rem;
  text-transform: uppercase;
  font-size: 1.4rem;
  transition: background-color 0.3s ease;
  text-decoration: none;
}

.Contenedor-productos-agendacion .btn-agendar:hover {
  background-color: #022c50;
}

/* 🔸 Animación */
@keyframes fadeIn {
  0% {
    opacity: 0;
    transform: translateY(20px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

/* 🔸 Responsivo */
@media (max-width: 768px) {
  .Contenedor-productos-agendacion .carta-agendacion {
    flex-direction: column;
    text-align: center;
  }

  .Contenedor-productos-agendacion .carta-agendacion img {
    width: 100%;
    height: 180px;
  }

  .Contenedor-productos-agendacion .contenido-agenda {
    text-align: center;
  }
}


/* 🔹 Asegura que ocultar funcione en ambos casos */
.oculto {
  display: none !important;
}



.blogs {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.Contenedor-blogs {
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap: 3rem;
	}

	.card-blog {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.card-blog .Contenedor-img {
		border-radius: 2rem;
		cursor: pointer;
		position: relative;
		overflow: hidden;
	}

	.button-group-blog {
		position: absolute;
		bottom: 1.5rem;
		right: -2.5rem;

		display: flex;
		gap: 0.7rem;
		z-index: -1;
		transition: all 0.3s ease;
	}

	.card-blog:hover .button-group-blog {
		z-index: 0;
		right: 1.5rem;
	}

	.button-group-blog span {
		background-color: #fff;
		padding: 1rem;
		border-radius: 50%;
		transition: all 0.4s ease;

		display: flex;
		align-items: center;
		justify-content: center;
	}

	.button-group-blog span i {
		font-size: 1.3rem;
	}

	.button-group-blog span:hover {
		background-color: var(--primary-color);
	}

	.button-group-blog span:hover i {
		color: #fff;
	}

	.content-blog h3 {
		font-size: 1.8rem;
		margin-bottom: 1.7rem;
		color: var(--dark-color);
		font-weight: 500;
	}

	.content-blog h3:hover {
		color: var(--primary-color);
		cursor: pointer;
	}

	.content-blog p {
		margin-top: 1rem;
		font-size: 1.4rem;
		color: #777;
	}

	.content-blog span {
		color: var(--primary-color);
		font-size: 1.3rem;
	}

	.btn-read-more {
		padding: 1rem 3rem;
		background-color: var(--primary-color);
		color: #fff;
		text-transform: uppercase;
		font-size: 1.4rem;
		border-radius: 2rem;
		margin: 3rem 0 5rem;
		display: inline-block;
		cursor: pointer;
	}

	.btn-read-more:hover {
		background-color: var(--dark-color);
	}

    	.Contenedor-img {
		width: 100%;
		height: 200px; /* Tamaño uniforme para imágenes */
		overflow: hidden;
	}

	.Contenedor-img img {
		width: 100%;
		height: 100%;
		object-fit: cover; /* Asegura que la imagen se ajuste al contenedor */
	}


    .cntenido-carta-producto {
		padding: 1rem;
		text-align: center;
	}

	.contenido-carta-producto h3 {
		font-size: 1.2rem;
		font-weight: bold;
	}

	.contenido-carta-producto .price {
		font-size: 1rem;
		color: #333;
		margin-top: 0.5rem;
	}

	.contenido-carta-producto .price span {
		text-decoration: line-through;
		color: #999;
		margin-left: 0.5rem;
	}
    
    .footer {
		background-color: var(--primary-color);
	}

	.Contenedor-footer {
		display: flex;
		flex-direction: column;
		gap: 4rem;
		padding: 3rem;
	}

	.menu-footer {
		display: grid;
		grid-template-columns: repeat(3, 1fr) 30rem;
		gap: 3rem;
		justify-items: center;
	}

	.title-footer {
		font-weight: 600;
		font-size: 1.6rem;
		text-transform: uppercase;
	}

	.contact-info,
	.information,
	.my-account,
	.newsletter {
		display: flex;
		flex-direction: column;
		gap: 2rem;
	}

	.contact-info ul,
	.information ul,
	.my-account ul {
		display: flex;
		flex-direction: column;
		gap: 1rem;
	}

	.contact-info ul li,
	.information ul li,
	.my-account ul li {
		list-style: none;
		color: #fff;
		font-size: 1.4rem;
		font-weight: 300;
	}

	.information ul li a,
	.my-account ul li a {
		text-decoration: none;
		color: #fff;
		font-weight: 300;
	}

	.information ul li a:hover,
	.my-account ul li a:hover {
		color: var(--dark-color);
	}

	.social-icons {
		display: flex;
		gap: 1.5rem;
	}

	.social-icons span {
		border-radius: 50%;
		width: 3rem;
		height: 3rem;

		display: flex;
		align-items: center;
		justify-content: center;
	}

	.social-icons span i {
		color: #fff;
		font-size: 1.2rem;
	}

	.facebook {
		background-color: #3b5998;
	}

	.twitter {
		background-color: #00acee;
	}

	.youtube {
		background-color: #c4302b;
	}

	.pinterest {
		background-color: #c8232c;
	}

	.instagram {
		background: linear-gradient(
			#405de6,
			#833ab4,
			#c13584,
			#e1306c,
			#fd1d1d,
			#f56040,
			#fcaf45
		);
	}

	.content p {
		font-size: 1.4rem;
		color: #fff;
		font-weight: 300;
	}

	.content input {
		outline: none;
		background: none;
		border: none;
		border-bottom: 2px solid #d2b495;
		cursor: pointer;
		padding: 0.5rem 0 1.2rem;
		color: var(--dark-color);
		display: block;
		margin-bottom: 3rem;
		margin-top: 2rem;
		width: 100%;
		font-family: inherit;
	}

	.content input::-webkit-input-placeholder {
		color: #eee;
	}

	.content button {
		border: none;
		background-color: #000;
		color: #fff;
		text-transform: uppercase;
		padding: 1rem 3rem;
		border-radius: 2rem;
		font-size: 1.4rem;
		font-family: inherit;
		cursor: pointer;
		font-weight: 600;
	}

	.content button:hover {
		background-color: var(--background-color);
		color: var(--primary-color);
	}

	.copyright {
		display: flex;
		justify-content: space-between;
		padding-top: 2rem;

		border-top: 1px solid #d2b495;
	}

	.copyright p {
		font-weight: 400;
		font-size: 1.6rem;
	}


.carousel-container {
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		margin-top: 30px;
		padding: 10px;
	}

	.carousel-container:hover .carousel-btn {
	opacity: 1;
	pointer-events: auto;
	}

	.carousel-slide img {
		width: 100%;
		max-width: 600px; /* más grande */
		height: auto;
		border-radius: 12px;
		box-shadow: 0 8px 20px rgba(0, 0, 0, 0.3);
		border: 4px solid white;
		transition: transform 0.4s ease;
	}

	/* Estado inicial oculto */
	.carousel-btn {
	opacity: 0;
	pointer-events: none;
	transform: translateY(-50%) scale(0.95);
	transition: opacity 0.4s ease, transform 0.4s ease;
	}

	.carousel-container:hover .carousel-btn {
	opacity: 1;
	pointer-events: auto;
	transform: translateY(-50%) scale(1);
	}

	.carousel-slide img:hover {
		transform: scale(1.02);
	}

	.carousel-btn {
		background-color: rgba(255, 255, 255, 0.7);
		color: #333;
		border: none;
		padding: 15px 20px;
		font-size: 32px;
		cursor: pointer;
		border-radius: 50%;
		position: absolute;
		top: 50%;
		transform: translateY(-50%);
		z-index: 10;
		box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
		transition: background-color 0.3s, transform 0.3s;
	}

	.carousel-btn:hover {
		background-color: rgba(255, 255, 255, 1);
		transform: translateY(-50%) scale(1.1);
	}

	.prev {
		left: 20px;
	}

	.next {
		right: 20px;
	}





    /* Modal básico */
.modal {
		display: none;
		position: fixed;
		z-index: 1000;
		padding-top: 100px;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		overflow: auto;
		background-color: rgba(0,0,0,0.6);
	}
	
	.modal-content {
		background-color: #fff;
		margin: auto;
		padding: 20px;
		border-radius: 10px;
		width: 90%;
		max-width: 500px;
		box-shadow: 0 5px 15px rgba(0,0,0,0.3);
		animation: fadeIn 0.3s;
	}
	
	@keyframes fadeIn {
		from {opacity: 0; transform: scale(0.9);}
		to {opacity: 1; transform: scale(1);}
	}
	
	.close {
		color: #aaa;
		float: right;
		font-size: 24px;
		font-weight: bold;
		cursor: pointer;
	}
	
	.close:hover,
	.close:focus {
		color: black;
	}
	
	/* Blur cuando se abre el modal */
	.blur-background {
		filter: blur(5px);
		pointer-events: none;
		user-select: none;
	}

.modal-content {
    background: linear-gradient(to bottom right, #ffffff, #f4f4f4);
    margin: auto;
    padding: 15px;
    border-radius: 10px;
    width: 95%;
    max-width: 800px;
    box-shadow: 0 12px 24px rgba(0, 0, 0, 0.2);
    animation: fadeIn 0.3s;
    color: #1a1a1a;
    font-size: 18px;
    line-height: 1.6;
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    transition: all 0.3s ease;
    display: flex
;
    flex-direction: column;
    align-items: center;
}

.modal-content img,
.modal-content video {
  display: block;
  max-width: 95%; /* más aprovechamiento del espacio */
  height: auto;
  max-height: 500px;
  margin: 10px auto; /* reducido de 20px a 10px */
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  object-fit: contain;
}


.modal-content img,
.modal-content video {
  display: block;
  max-width: 95%; /* más aprovechamiento del espacio */
  height: auto;
  max-height: 500px;
  margin: 10px auto; /* reducido de 20px a 10px */
  border-radius: 10px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  object-fit: contain;
}

.modal-cart {
  display: none;
  position: fixed;
  z-index: 1000;
  padding-top: 100px;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  justify-content: center;
  align-items: center;
  animation: fadeIn 0.3s ease;
}

.modal-cart-content {
  background: linear-gradient(to bottom right, #ffffff, #f4f4f4);
  margin: auto;
  padding: 30px;
  border-radius: 12px;
  width: 95%;
  max-width: 500px;
  box-shadow: 0 15px 30px rgba(0, 0, 0, 0.25);
  color: #1a1a1a;
  font-size: 18px;
  line-height: 1.6;
  font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
  text-align: center;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.modal-cart-content img {
  max-width: 90%;
  max-height: 300px;
  margin: 20px auto;
  border-radius: 12px;
  object-fit: contain;
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);
}

.close-modal {
  position: absolute;
  top: 10px;
  right: 15px;
  font-size: 22px;
  font-weight: bold;
  color: #888;
  cursor: pointer;
}

.close-modal:hover {
  color: #000;
}

.modal-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  margin-top: 25px;
}

.btn-confirm-cart {
  background: #27ae60;
  color: white;
  padding: 10px 20px;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  font-size: 16px;
  transition: background 0.3s ease;
}

.btn-confirm-cart:hover {
  background: #1e874c;
}

body {
  opacity: 1;
  transition: opacity 0.5s ease; 
}

body.fade-out {
  opacity: 0;
}

.parking-grid {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 12px;
  justify-items: center;
  align-items: center;
  margin: 18px auto;
  max-width: 520px;
}

.parking-slot {
  font-size: 26px;
  color: #9aa3ad;
  cursor: pointer;
  width: 56px;
  height: 56px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: rgba(255,255,255,0.9);
  box-shadow: 0 2px 6px rgba(0,0,0,0.06);
  transition: transform .15s ease, color .15s ease, background .15s ease;
}

.parking-slot:hover { transform: translateY(-4px); color: var(--primary-color, #7aa4c7); }

.parking-slot.selected {
  background: linear-gradient(135deg, #dff3e6, #c7f0d1);
  color: #1a7a3a;
  transform: scale(1.05);
}

.parking-slot.occupied {
  background: #f3f3f3;
  color: #d9534f;
  cursor: not-allowed;
  opacity: 0.85;
  transform: none;
}

.parking-wrapper .legend {
  display:flex;
  gap:12px;
  justify-content:center;
  margin-top:10px;
  font-size:1.2rem;
  color:#555;
}

.legend .selected-legend i { color: #1a7a3a; }
.legend .occupied-legend i { color: #d9534f; }

/* Form */
.agendacion-form { text-align:center; margin-top:16px; }
.agendacion-form label { display:block; margin:8px 0 6px; color:var(--dark-color,#151515); font-weight:600; }
.agendacion-form input { padding:8px 10px; border-radius:8px; border:1px solid #ddd; width:60%; max-width:220px; }
.btn-confirmar {
  margin-top:12px;
  background:var(--primary-color,#7aa4c7);
  color:#fff;
  border:none;
  padding:10px 18px;
  border-radius:10px;
  cursor:pointer;
  font-weight:600;
}




@media (max-width: 768px) {
  html {
    font-size: 55%;
  }

  .hero {
    padding: 2rem;
  }

  .Soporte-Cliente {
    display: none;
  }



  .navbar .fa-bars {
    display: block;
    font-size: 3rem;
    color: #fff
  }


  .menu {
    display: none;
  }
 
  .Contenido-banner {
    max-width: 50rem;
    margin: 0 auto;
    padding: 25rem 0;
  }

  .Contenedor-categorias

  .heading-1 {
    font-size: 2.5rem;
  }

  .carta-categoria {
    height: 12rem;
  }

  .carta-categoria p {
    font-size: 2rem;
    text-align: center;
    line-height: 1;
  }

  .carta-categoria span {
    font-size: 1.4rem;
  }

  .Contenedor-opcion {
    align-items: center;
  }

  .Contenedor-opcion span {
    text-align: center;
    padding: 1rem 2rem;
  }

  .Contenedor-productos {
    grid-template-columns: repeat(auto-fit, minmax(28rem, 1fr));
  }

  .gallery {
    grid-template-rows: repeat(2, 15rem);
  }

  .Contenedor-blogs {
    overflow: hidden;
    grid-template-columns: 1fr 1fr;
    height: 52rem;
  }

  .menu-footer {
    grid-template-columns: repeat(2, 1fr);
  }

  .copyright {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 1.5rem;
  }

}

@media (max-width: 468px) {
  html {
    font-size: 42.5%;
  }

  .Contenido-banner {
    max-width: 50rem;
    padding: 22rem 0;
  }

  .heading-1 {
    font-size: 2.8rem;
  }

  .carta-caracteristica {
    flex-direction: column;
    border-radius: 2rem;
  }

  .contenido-caracteristica {
    align-items: center;
  }

  .contenido-caracteristica p {
    font-size: 1.4rem;
    text-align: center;
  }

  .contenido-caracteristica span {
    font-size: 1.6rem;
    text-align: center;
  }

  .Contenedor-opcion span {
    font-size: 1.8rem;
    padding: 1rem 1.5rem;
    font-weight: 500;
  }

  .Contenedor-productos {
    grid-template-columns: repeat(auto-fit, minmax(25rem, 1fr));
    gap: 1rem;
  }

  .Contenedor-img .discount {
    font-size: 2rem
  }

  .contenido-carta-producto h3 {
    font-size: 2.2rem
  }

  .gallery {
    grid-template-rows: repeat(2, 20rem);
  }

  .blogs {
    padding: 2rem;
  }

  .Contenedor-blogs {
    grid-template-columns: 1fr;
    height: 75rem;
}

  .contenido-blog h3 {
    font-size: 2.4rem;
}

  .contenido-blog span {
    font-size: 1.8rem;
}

.contenido-blog p {
    font-size: 2.2rem;
}

.btn-read-more {
  font-size: 1.8rem;
}



.contact-info {
  align-items: center;
}

.menu-footer {
  grid-template-columns: 1fr;
}

.content p {
    font-size: 1.2rem;
}

}




@media (max-width: 768px) {
  .menu-footer {
    grid-template-columns: 1fr;
    text-align: center;
  }

  .Contenedor-productos {
    flex-direction: column;
    align-items: center;
  }

  .carta-producto {
    width: 90%;
  }

  .gallery {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(4, 200px);
  }

  .gallery-img-3 {
    grid-column: auto;
    grid-row: auto;
  }

  .Contenedor-blogs {
    grid-template-columns: 1fr;
    height: auto;
  }

  .carousel-btn {
    font-size: 24px;
    padding: 10px;
  }

  .modal-content, 
  .modal-cart-content {
      width: 90%;
      padding: 20px;
  }
}

@media (max-width: 480px) {
  	.modal-content,
	.modal-cart-content {
		font-size: 16px;
		padding: 10px;
	}
}

@media (max-width: 768px) {
  .navbar .fa-bars {
    display: block;
  }

  .navbar .menu {
    display: none;
    flex-direction: column;
    position: absolute;
    top: 70px; /* ajusta según la altura de tu navbar */
    left: 0;
    width: 100%;
    background: white;
    padding: 1rem 0;
    box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
    z-index: 999;
  }

  .navbar .menu.show {
    display: flex;
  }

  .navbar .menu li {
    text-align: center;
    padding: 10px 0;
  }

  .navbar .menu li a {
    color: #333;
    font-weight: 500;
    text-decoration: none;
  }
  
}

.footer {
  background: linear-gradient(135deg, #043e6e, #1558b0);
  color: #fff;
}

.alerta-flotante {
  position: fixed;
  top: 20px;
  right: 20px;
  background-color: #2ecc71;
  color: white;
  padding: 12px 20px;
  border-radius: 8px;
  box-shadow: 0 4px 8px rgba(0,0,0,0.2);
  font-weight: 500;
  opacity: 1;
  transition: opacity 0.5s ease, transform 0.3s ease;
  z-index: 9999;
}

.alerta-flotante.ocultar {
  opacity: 0;
  transform: translateY(-10px);
}

.button-group-blog span i {
  cursor: pointer;
  font-size: 18px;
  transition: color 0.3s ease;
}

.button-group-blog span i:hover {
  color: #2ecc71;
}




