/* ---------- Header ---------- */
.header {   
    background: var(--color-fondo-primario);
    padding: 10px 7%;
    margin-bottom: 5dvh;
}

.message {
    background: var(--color-naranja-gx);
    color: var(--color-texto-contrario);
    padding: 10px 0;
}


/* Logo */
.logo-header {
    display: block;
    width: 200px;
    height: auto;
    padding-top: 10px;
    transition: all 0.2s ease-in-out;
}
.logo-header:hover {
    transform: scale(1.05);
}

 /* Search bar */
.search .search-input {
    width: 35dvw;
    border: 2px solid var(--color-principal);
    background-color: var(--color-fondo-secundario);
    color: var(--color-texto-primario) !important;
    padding: 6px 14px;
}
.search .search-button {
    border: 2px solid var(--color-principal);
    background-color: var(--color-principal);
    color: var(--color-texto-contrario);
    padding: 0 16px 0 12px;
    margin-left: 2px;
}
.search-mobile {
    display: none;
}

/* Iconos */
.icon {
    color: var(--color-principal);
}

/* Estilos para documentos */
.cursor-pointer {
    cursor: pointer !important;
}

.documento-card {
    transition: all 0.3s ease;
    border: 1px solid #dee2e6;
}

.documento-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    border-color: #17a2b8;
}

.documento-imagen {
    transition: all 0.3s ease;
}

.documento-imagen:hover {
    transform: scale(1.05);
}

.icon-animation {
    i {
        transition: all 0.2s ease-in-out;
    }
}
.icon-animation:hover {
    i {
        transform: scale(1.2);
    }
}
.icon-rotate {
    i {
        transition: all 0.2s ease-in-out;
    }
}
.icon-rotate:hover {
    i {
        transform: scale(1.2) rotate(45deg);  
    }
}
.category {
    padding-top: 2px;
}
.category-mobile {
    display: none;
}
.category-name {
    margin-top: 2.5px;
}

/* Responsive */
@media (max-width: 1000px) {
    .search input {
        width: 25dvw !important;
    }
}

@media (max-width: 800px) {
    /* Header */
    .header {
        flex-direction: column;
    }

    /* Logo */
    .logo-header {
        display: block;
        width: 175px;
        height: auto;
        padding-top: 10px;
    }

    /* Sub-nav */
    /* Search bar */
    .search { 
        display: none;
    }
    .search-mobile {
        display: block;
        margin-top: 5px;
    }
    .search-mobile .search-input {
        width: 50dvw !important;
        border: 2px solid var(--color-principal);
        background-color: var(--color-fondo-secundario);
        padding: 8px 12px;
    }
    .search-mobile .search-button {
        border: 2px solid var(--color-principal);
        background-color: var(--color-principal);
        color: var(--color-texto-contrario);
        padding: 8px 12px;
    }
    /* Botón Categorías*/
    .category {
        display: none;
    }
    .category-mobile {
        display: block;
        padding: 10px 20px 0 0;
    }
    .category-name {
        display: none;
    }

    /* Icon links */
    .link ul {
        gap: 1.25rem !important;
    }
}

/* ---------- Banner ---------- */
.main-banner {
    padding: 0 7%;
}
.main-banner img {
    width: 100%;
    max-height: 50dvh;
    object-fit: cover;
}
.splide__arrow {
    background-color: transparent; 
    color: var(--color-texto-primario);
    border: none;
    transition: all 0.2s ease-in-out;
}
.splide__arrow:hover {
    color: var(--color-principal-80);
}

/* ---------- Seccion informativa ---------- */
.info-section-container {
    margin: 10dvh 7%;
}
.info-section {
    padding: 1dvw;
    width: 450px;
    border-right: 2px solid var(--color-fondo-terciario);
}
.info-section.first {
    border-left: 2px solid var(--color-fondo-terciario);
}
.info-section i {
    padding-bottom: 2rem;
    color: var(--color-principal);
}
.info-section p {
    color: var(--color-texto-primario) !important;
}

@media (max-width: 1400px) {
    .info-section i {
        font-size: 2.4rem;
    }
    .info-section h5 {
        font-size: 0.9rem;
    }
    .info-section p {
        font-size: 0.75rem;
    }
}
@media (max-width: 1200px) {
    .info-section i {
        font-size: 2.2rem;
    }
    .info-section h5 {
        font-size: 0.8rem;
    }
    .info-section p {
        font-size: 0.7rem;
    }
}
@media (max-width: 1000px) {
    .info-section i {
        font-size: 2rem;
    }
    .info-section h5 {
        font-size: 0.75rem;
    }
    .info-section p {
        font-size: 0.65rem;
    }
}
@media (max-width: 800px) {
    .info-section h5 {
        font-size: 0.8rem;
    }
    .info-section p {
        font-size: 0.7rem;
    }
}

/* ---------- Sección de productos por categorías ---------- */
.product-container {
    margin: 10dvh 7%;
    padding: 5dvh 2dvw;
    background-color: var(--color-fondo-primario);
    border: 2px solid var(--color-fondo-terciario);
    color: var(--color-texto-primario);
}
.product-container h3 {
    padding: 0 0 2dvh 1dvw;
}
.title-icon {
    padding-left: 1dvw;
}
.banner-category {
    padding: 2dvh 1dvw;
}
.banner-category img {
    width: 100%;
    max-height: 30dvh;
    object-fit: cover;
}
.product-container-grid {
    display: grid;
    place-items: center;
    grid-template-columns: repeat(6, 1fr);
    grid-template-rows: repeat(2, 1fr);
    grid-column-gap: 20px;
    grid-row-gap: 20px;
}

@media (max-width: 1600px) {
    .product-container-grid {
        grid-template-columns: repeat(5, 1fr);
    }
}
@media (max-width: 1300px) {
    .product-container-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}
@media (max-width: 1050px) {
    .product-container-grid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 500px) {
    .product-container-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* ---------- Producto ---------- */
.product {
    max-width: 200px;
    padding: 10px;
    border: 2px solid var(--color-fondo-terciario);
    transition: all 0.2s ease-in-out;
}
.product:hover {
    transform: scale(1.015);
}
.product img {
    max-width: 180px;
}
.price span {
    padding: 10px;
}
.image-container {
    position: relative;
}

.image-container img {
    display: block;
    width: 100%; /* Asegúrate de que la imagen ocupe todo el contenedor */
}

.overlay {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 10px;
    background-color: var(--color-contrario-40); /* Capa opaca negra con 50% de opacidad */
    display: flex;
    justify-content: center;
    align-items: center;
    color: var(--color-texto-primario); /* Color del símbolo */
    font-size: 2rem; /* Tamaño del símbolo */
    opacity: 0; /* Inicialmente oculto */
    transition: opacity 0.3s ease; /* Transición suave */
}

.image-container:hover .overlay {
    opacity: 1; /* Muestra la capa opaca al pasar el mouse */
}
.cuotas {
    background-color: var(--color-fondo-terciario);
    border: solid 10px var(--color-fondo-terciario);
    color: var(--color-texto-primario) !important;
}
.cuotas option {
    color: var(--color-texto-primario) !important;
}
.like {
    transition: all 0.2s ease-in-out;
}
.like:hover {
    transform: scale(1.2);
}

/* ---------- Footer ---------- */
.footer {
    background-color: var(--color-fondo-primario);
    margin-top: 20dvh;
    margin-bottom: 0;
}
/* Pre-footer */
.social {
    background: var(--color-texto-contrario);
    height: 10dvh;
}

/* Ajuste para centrar los íconos individualmente según necesidad */
.social-icon.whatsapp { margin-bottom: 3px; }
.social-icon.instagram { margin-bottom: 1px; }
.social-icon.tiktok { margin-bottom: 1px; }
.social-icon a { color: var(--color-texto-secundario); }

/* Hover de los íconos */
.social-icon.whatsapp a:hover { color: var(--color-whatsapp); }
.social-icon.facebook a:hover { color: var(--color-facebook); }
.social-icon.youtube a:hover { color: var(--color-youtube); }
/* Hover de los íconos con degradados */
.social-icon.instagram a:hover {
    background-color: var(--color-instagram);
    background-image: var(--color-instagram-gx);
    background-size: 100%;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    -webkit-text-fill-color: transparent; 
    -moz-text-fill-color: transparent;
}
.social-icon.tiktok a:hover {
    background-color: var(--color-tiktok);
    background-image: var(--color-tiktok-gx);
    background-size: 100%;
    -webkit-background-clip: text;
    -moz-background-clip: text;
    -webkit-text-fill-color: transparent; 
    -moz-text-fill-color: transparent;
}

/* Logo */
.logo-footer img {
    display: block;
    width: 300px;
    height: auto;
    padding-top: 10px;
}

/* Cuerpo del footer */
.footer-body { padding: 10dvh 7%; }
.icon-help{ padding: 10px; }
.info ul { max-width: 13dvw; }
.info h3 { padding: 10px 0; }
.info span { color: var(--color-texto-primario); }
.info a { color: var(--color-texto-primario); }
.info li { padding: 5px 0; }

/* Logo de bancard */
.bancard img {
    width: 225px;
    height: auto;
    padding-top: 10px;
}

/* Derechos de autor */
.copy {
    background: var(--color-naranja-gx);
    color: var(--color-texto-contrario);
    padding: 10px 0;
}

.truck-animation {
    i {
        transition: all 0.2s ease-in-out;
    }
}
.truck-animation:hover {
    i {
        transform: scale(1.3) skew(-0.05turn, 5deg);
        margin-right: 5px;
    }
}
.map-animation {
    i {
        transition: all 0.2s ease-in-out;
    }
}
.map-animation:hover {
    i {
        transform: scale(1.2) translateY(-3px);
        margin-right: 2px;
    }
}

@media (max-width: 1500px) {
    .footer-body {
        gap: 4rem;
    }
    .logo-footer img {
        width: 250px;
    }
    /* Logo de bancard */
    .bancard img {
        width: 190px;
    }
    .info-container { padding-left: 0; }
    .icon-help { font-size: 1.75rem ; }
    .info h3 { font-size: 1.25rem ; }
    .info li { font-size: 0.8rem ; }
}

@media (max-width: 1200px) {
    .logo-footer img {
        width: 200px;
    }
    /* Logo de bancard */
    .bancard img {
        width: 150px;
        height: auto;
        padding-top: 10px;
    }
}

@media (max-width: 1000px) {
    .footer-body {
        flex-direction: column !important;
        align-items: center;
    }
    .info-container {
        flex-direction: column;
        padding: 0 20dvw;
    }
    .info ul { max-width: 50dvw; }
    /* Logo */
    .logo-footer img {
        display: block;
        width: 250px;
        height: auto;
        padding-top: 10px;
    }
    /* Logo de bancard */
    .bancard img {
        width: 225px;
        height: auto;
    }
}