/* ================================================= */
/* 0. ESTILOS BASE Y CUERPO (BODY) */
/* ================================================= */
body {
    background-color: #0d1117; 
    color: #c9d1d9; 
    font-family: 'Roboto', Arial, sans-serif;
    margin: 0; 
    padding: 0; 
    min-height: 100vh;
    display: flex; 
    flex-direction: column; 
    line-height: 1.6;
    scroll-behavior: smooth;
    overflow-x: hidden; 
}

/* Reglas de reinicio y tipografía */
h1, h2, h3, h4, h5, h6 { color: #ffffff; margin-top: 0; }
a { text-decoration: none; color: #ffffff; transition: color 0.3s ease; } 
a:hover { color: #007bff; } 
section { 
    padding: 60px 20px; 
    text-align: center; 
    margin: 0 auto; 
    max-width: 1400px; 
}
nav ul li { font-size: 14px; }

/* Nombre del sitio/canción - BLANCO SÓLIDO */
.site-name {
    font-size: 1.1rem; 
    color: #ffffff; 
    text-shadow: none; 
    margin: 0 auto 5px auto; 
    text-align: center;
    white-space: nowrap; 
    overflow: hidden;
    text-overflow: ellipsis;
    width: 90%; 
    font-weight: 500;
}
/* LOGO: Tamaño pequeño */
#logo { 
    width: 40px; 
    height: 40px; 
    border-radius: 50%; 
    box-shadow: 0 0 8px #ffffff; 
}

/* ================================================= */
/* 1. HEADER Y NAVEGACIÓN - AJUSTE DE ALTURA */
/* ================================================= */

header {
    background-color: #0b0f15; 
    position: sticky;
    top: 0;
    z-index: 1000;
    display: flex;
    flex-direction: column; 
    border-bottom: 2px solid rgba(4, 110, 237, 0.4);
    box-shadow: 0 0 15px rgba(4, 110, 237, 0.3);
    padding: 5px 0; 
}

/* --- BARRA PRINCIPAL (Logo/Hamburguesa, Reproductor, Carrito) --- */
.header-main-bar {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    padding: 0 20px; 
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); 
    padding-top: 10px; 
    padding-bottom: 10px; 
}

.header-left-elements {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-basis: 15%; 
    justify-content: flex-start;
}
.top-bar-right-elements { 
    flex-basis: 15%; 
    display: flex; 
    justify-content: flex-end; 
    align-items: center; 
    gap: 15px; 
}

/* --- CONTENEDOR CENTRAL (Nombre + Reproductor CENTRADOS) --- */
.header-center-area {
    display: flex;
    flex-direction: column;
    align-items: center; 
    justify-content: center; 
    flex-grow: 1; 
}

/* --- REPRODUCTOR DE MÚSICA (CENTRADOS) --- */
.music-bar {
    display: flex; 
    flex-direction: column; 
    align-items: center;
    gap: 5px;
    padding: 5px 0;
    justify-content: center;
    margin: 0;
    min-width: 150px;
    max-width: 400px; 
    width: 100%;
}
.music-bar audio { display: none; } 

/* Contenedor de la barra de progreso - Centrado */
.progress-bar-container {
    display: flex;
    align-items: center;
    gap: 5px;
    width: 100%;
    font-size: 0.8rem;
    color: #9aa5b1;
    max-width: 350px; 
}
.controls {
    display: flex;
    gap: 10px;
    margin-bottom: 5px; 
    justify-content: center; 
}

/* Estilos de los sliders (progreso) */
.slider {
    -webkit-appearance: none;
    appearance: none;
    height: 6px;
    background: #555;
    outline: none;
    opacity: 0.7;
    transition: opacity .2s;
    cursor: pointer;
    flex-grow: 1;
}
.slider:hover { opacity: 1; }
.slider::-webkit-slider-thumb {
    -webkit-appearance: none;
    appearance: none;
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: #007bff;
    cursor: pointer;
    box-shadow: 0 0 5px #007bff;
}

/* Keyframes para el movimiento RGB (usado en reproductor y botón) */
@keyframes gradient-shift {
    0% { background-position: 0% 50%; }
    100% { background-position: 100% 50%; }
}

/* Botones de control (Prev, Play, Next) */
.music-bar .controls button { 
    background: #181c24; 
    border: 1px solid #007bff; 
    border-radius: 50%;
    color: #ffffff; 
    font-size: 0.8rem; 
    width: 28px; 
    height: 28px;
    cursor: pointer; 
    transition: all 0.2s;
    box-shadow: 0 0 8px rgba(0, 123, 255, 0.3); 
    display: flex;
    align-items: center;
    justify-content: center;
    
    /* GRADIENTE DINÁMICO */
    background-image: repeating-linear-gradient(90deg, 
        rgba(0, 0, 0, 1) 0%, 
        rgba(0, 0, 0, 0.8) 5%, 
        rgb(2, 2, 54) 10%, 
        rgb(36, 3, 59) 15%, 
        rgba(0, 0, 0, 1) 20%
    );
    background-size: 500% 100%; 
    animation: gradient-shift 5s linear infinite; 
}


/* --- MENU HAMBURGUESA (Móvil) --- */
.menu-hamburguesa { display: none; } 
.menu-toggle {
    background-color: #020018; color: #ffffff; 
    border: 1px solid #ffffff; 
    padding: 10px; font-size: 20px;
    cursor: pointer; z-index: 1000; border-radius: 8px; transition: background-color 0.3s;
    box-shadow: 0 0 5px #ffffff;
}

/* --- MENÚ MÓVIL PRINCIPAL (UL ID=menu) --- */
.menu-mobile-ul {
    list-style: none; padding: 0; margin: 0; background-color: #1f2a38; 
    position: fixed; 
    top: 0; 
    left: 0; 
    width: 280px; 
    height: 100%; 
    box-shadow: 5px 0 20px rgba(0, 0, 0, 0.9); 
    transform: translateX(-100%); 
    transition: transform 0.4s ease-in-out; 
    z-index: 999; 
    overflow-y: auto; 
    display: block !important;
}
.menu-mobile-ul.show { transform: translateX(0); } 

/* --- ENCABEZADO DENTRO DEL MENÚ MÓVIL (AJUSTES FINALES) --- */
.menu-header {
    padding: 15px 20px 10px; 
    background-color: transparent; /* Transparente */
    border-bottom: 1px solid rgba(255, 255, 255, 0.1); 
    text-align: center;
    margin-bottom: 10px;
}

.menu-header h3 {
    color: #ffffff;
    margin: 0;
    font-size: 1.1rem; /* Letra más pequeña */
    text-shadow: none;
}
.menu-header p {
    color: #8c929a;
    font-size: 0.75rem; /* Letra de versión más pequeña */
    margin: 3px 0 0 0;
}

/* FIRMA BY JORGE */
.menu-signature {
    color: #007bff; 
    font-size: 0.8rem;
    font-weight: 500;
    margin-top: 5px;
    text-shadow: 0 0 3px rgba(0, 123, 255, 0.5);
}

/* --- DISEÑO ESTRUCTURAL Y RGB OSCURO NUEVO PARA SESIONES MÓVILES --- */
.menu-mobile-ul li {
    padding: 15px 20px; 
    margin: 5px 10px; 
    border-radius: 8px; 
    color: rgb(255, 255, 255);
    background-color: #1f2a38; 
    display: flex; 
    align-items: center; 
    justify-content: space-between;
    transition: background-color 0.3s, border 0.3s, box-shadow 0.3s;
    font-weight: 500;
    
    /* GRADIENTE RGB OSCURO FIJO */
    background-image: linear-gradient(135deg, 
        rgba(0, 0, 0, 0.5), 
        rgba(30, 0, 30, 0.5), 
        rgba(0, 0, 0, 0.5)
    );
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.4); 
    border: 1px solid rgba(75, 0, 130, 0.5); 
}

.menu-mobile-ul li:hover {
    background-color: #1a2c41; 
    border: 1px solid #280352; 
    box-shadow: 0 0 15px rgba(34, 3, 70, 0.5); 
    transform: translateX(5px); 
}
.menu-mobile-ul li a { 
    color: #ffffff; 
    display: block;
    width: 100%; 
    text-align: left;
    transition: color 0.3s;
}

/* Estilos para enlaces de sesión */
.session-link-style {
    font-weight: 700 !important;
    text-transform: uppercase;
    letter-spacing: 1px;
    position: relative;
}
.session-link-style::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: -5px;
    transform: translateX(-50%);
    height: 2px;
    width: 0;
    background: linear-gradient(90deg, #007bff, #4CAF50);
    transition: width 0.3s ease-in-out;
}
.session-link-style:hover::after {
    width: 100%;
}











/* --- MENU PRINCIPAL PC (UL ID=menu-pc) --- */
.header-bottom-bar {
    display: none; 
    justify-content: center; 
    align-items: center;
    width: 100%;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
    padding: 10px 20px 10px 20px; 
}
.menu-pc { 
    display: flex; 
    list-style: none; 
    padding: 0; 
    margin: 0; 
    justify-content: center; 
    align-items: center;
}
.menu-pc a {
    padding: 8px 12px;
    border-radius: 5px;
    font-weight: 500;
    color: #ffffff; 
    transition: background-color 0.2s, color 0.2s;
}
.menu-pc a:hover {
    background-color: rgba(0, 123, 255, 0.1); 
    color: #007bff;
}




/* --- MENU PRINCIPAL PC (UL ID=menu-pc) --- */
.header-bottom-bar {
    /* Asegura la visibilidad en escritorio, centrado y estilo de borde */
    display: flex; 
    justify-content: center; 
    align-items: center;
    width: 100%;
    /* Borde inferior sutil, ya que el header ya tiene un borde general */
    border-top: 1px solid rgba(255, 255, 255, 0.05);
    padding: 10px 20px 10px 20px; 
    background-color: #0b0f15; /* Fondo igual que el header */
    box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3); /* Sombra suave para darle profundidad */
}
.header-nav { 
    width: 100%; 
    max-width: 1200px; /* Ancho máximo estándar */
}
.menu-pc { 
    display: flex; 
    list-style: none; 
    padding: 0; 
    margin: 0; 
    justify-content: space-between; /* Distribuye los enlaces uniformemente */
    align-items: center;
    gap: 15px; /* Espacio entre los elementos */
}

/* --- ESTILO DE LOS ENLACES INDIVIDUALES --- */
.menu-pc li {
    margin: 0;
}

.menu-pc a {
    /* Estilos base */
    padding: 8px 15px;
    border-radius: 8px; /* Borde más definido */
    font-weight: 700; /* Negrita para mejor legibilidad */
    color: #c9d1d9; /* Color de texto suave */
    text-transform: uppercase;
    letter-spacing: 0.5px;
    transition: all 0.3s ease;
    position: relative;
    overflow: hidden; /* Necesario para el efecto de underline/fondo */
    display: block;
}

/* EFECTO HOVER: Fondo y texto */
.menu-pc a:hover {
    color: #ffffff; /* Texto blanco brillante */
    background-color: rgba(0, 123, 255, 0.15); /* Fondo azul muy sutil */
    box-shadow: 0 0 10px rgba(0, 123, 255, 0.2);
}

/* SUBRAYADO ACTIVO/HOVER (Mejor que un borde simple) */
.menu-pc a::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 3px; /* Grosor del subrayado */
    background: linear-gradient(90deg, #00c6ff, #007bff); /* Gradiente azul llamativo */
    transform: scaleX(0); /* Inicialmente invisible */
    transition: transform 0.3s ease-out;
    transform-origin: bottom right; /* El efecto se abre de derecha a izquierda */
}

/* Mostrar el subrayado al pasar el ratón */
.menu-pc a:hover::after {
    transform: scaleX(1);
    transform-origin: bottom left; /* El efecto se cierra de izquierda a derecha */
}

/* Estilo para simular un enlace "activo" */
.menu-pc a.active {
    color: #ffffff;
    text-shadow: 0 0 5px #007bff;
}
.menu-pc a.active::after {
    transform: scaleX(1); /* Subrayado visible permanentemente */
    transform-origin: bottom left;
}




/* ================================================= */
/* 2. DISEÑO DE SECCIONES Y PRODUCTOS */
/* ================================================= */

.content-section {
    padding: 60px 20px; 
    max-width: 1200px; 
    margin: 0 auto; 
    border-bottom: 1px solid rgba(4, 110, 237, 0.1); 
    display: none; 
    min-height: 70vh;
}

/* --- TÍTULOS DE SECCIÓN --- */
.section-title-design { 
    font-size: 2.8rem; 
    color: #ffffff; 
    margin-bottom: 30px; 
    font-weight: 700; 
    text-shadow: 0 0 10px rgba(255, 255, 255, 0.3); 
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
    display: inline-block;
    padding-bottom: 5px;
    letter-spacing: 2px;
    height: 35px; 
}

/* --- CONTENEDORES DE PRODUCTO (USO DE GRID) --- */
/* Aplicado a los IDs principales de productos */
#producto, #productos-cuentas, #productos-cursos { 
    display: grid; 
    /* Columnas adaptables: mínimo 300px, llenan el espacio */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
    gap: 25px; 
    padding: 10px 0; 
    justify-items: center; 
    width: 100%;
}

.producto {
    width: 100%; 
    max-width: 320px; 
    height: auto; 
    padding: 20px; 
    text-align: center; 
    border-radius: 15px; 
    border: 1px solid rgba(4, 110, 237, 0.1); 
    background-image: linear-gradient(to bottom, #10141b, #0d1117); 
    box-shadow: 0 0 15px rgba(0, 119, 255, 0.1); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.producto:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 25px rgba(0, 119, 255, 0.3); 
}

/* --- ESTILO: ESTRELLAS DE RESEÑA --- */
.product-rating {
    font-size: 1.2rem;
    color: #007bff; /* Color de acento para que las estrellas destaquen */
    margin: 5px 0 10px;
    display: block;
    letter-spacing: 2px;
}
/* ------------------------------------- */

.product-type {
    font-size: 0.8rem; 
    color: #b0b0b0; 
    margin: 5px 0;
}

/* IMAGEN DEL PRODUCTO */
.producto img, .producto-img { 
    width: 120px; 
    height: 120px; 
    border-radius: 50%; 
    box-shadow: 0 0 8px #ffffff; 
    transition: transform 0.3s ease; 
    display: block; 
    margin: 0 auto 15px auto; 
    object-fit: cover;
}
.producto h2 { color: #ffffff; font-size: 1.3rem; }
.precio { 
    font-size: 1.8rem; 
    font-weight: bold; 
    color: #007bff; 
    margin: 10px 0 15px; 
}

/* --- ESTILO DEL BOTÓN COMPRAR: DOTTED + RGB LENTO (Negro y Morado) --- */

/* Keyframes para el efecto de encendido/apagado (opacidad) */
@keyframes pulse-opacity {
    0%, 100% { opacity: 1; }
    50% { opacity: 0.7; } 
}

.producto button {
    color: white; 
    padding: 12px 20px; 
    font-size: 1rem; 
    width: 95%;
    border-radius: 50px; 
    /* ¡NUEVO! Borde dotted */
    border: 3px dotted rgba(150, 0, 255, 0.8); 
    cursor: pointer;
    font-weight: bold;
    transition: all 0.3s ease;
    
    /* GRADIENTE MODIFICADO: Negro y Morado */
    background-image: repeating-linear-gradient(90deg, 
        rgba(0, 0, 0, 1) 0%, 
        rgba(0, 0, 0, 0.9) 10%, 
        rgba(100, 0, 150, 1) 30%, 
        rgba(0, 0, 0, 0.9) 50%, 
        rgba(0, 0, 0, 1) 100% 
    );
    background-size: 300% 100%; 
    
    /* Combinando las animaciones: Movimiento lento y Pulso */
    animation: 
        gradient-shift 15s linear infinite, 
        pulse-opacity 3s ease-in-out infinite alternate; 
        
    box-shadow: 0 4px 10px rgba(34, 1, 58, 0.6); 
}

.producto button:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 15px rgba(150, 0, 255, 1); 
    border-color: #ffffff;
    /* Al hacer hover, solo se mueve (animación más rápida) */
    animation: gradient-shift 5s linear infinite; 
}


/* --- SECCIONES DE INFORMACIÓN (SIN CAMBIOS) --- */
.bio-section, .bio-sectiones, .bio-donaciones {
    background-color: #1f2a38; 
    border-radius: 15px; 
    padding: 40px; 
    margin: 30px auto; 
    max-width: 800px;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.5); 
    border: 1px solid #14181f; 
    text-align: left; 
}
.bio-text { color: #c9d1d9; font-size: 1.1rem; line-height: 1.8; margin-bottom: 20px;}
.bio-content h4 a, .bio-contentes h3 a, .bio-donaciones2 h3 a {
    background-color: #007bff; 
    color: white; padding: 10px 30px; border-radius: 50px; 
    display: inline-block;
    margin-top: 10px;
}
.bio-content h4 a:hover, .bio-contentes h3 a:hover, .bio-donaciones2 h3 a:hover {
    background-color: #0056b3;
}

/* --- CARRITO MODAL (SIN CAMBIOS) --- */
.carrito-modal {
    position: fixed;
    top: 0;
    right: 0;
    transform: translateX(100%);
    transition: transform 0.4s ease-in-out;
    width: 300px;
    height: 100%;
    background-color: #0b0f15; 
    box-shadow: -5px 0 15px rgba(0, 0, 0, 0.8);
    padding: 20px;
    box-sizing: border-box;
    z-index: 1001;
    display: flex; 
    flex-direction: column;
    text-align: left;
}
.carrito-modal.show {
    transform: translateX(0); 
}
.carrito-list-container {
    flex-grow: 1; 
    overflow-y: auto; 
    padding-right: 10px; 
    margin-bottom: 10px;
}
.carrito-modal h5 {
    color: #ffffff; 
    font-size: 1.5rem;
    border-bottom: 2px solid rgba(255, 255, 255, 0.3);
    padding-bottom: 10px;
    margin-top: 0;
}
.carrito-buttons {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding-top: 10px;
    border-top: 1px solid rgba(255, 255, 255, 0.1);
}
.carrito-buttons .buy-btn {
    background-color: #007bff; 
    font-size: 1.1rem;
    box-shadow: 0 0 10px rgba(0, 123, 255, 0.4);
    transition: all 0.2s;
}
.carrito-buttons .buy-btn:hover {
    background-color: #0056b3;
}
.carrito-buttons .close-btn {
    background-color: #000000; 
    border: 1px solid #333;
    color: white;
    font-size: 1.1rem;
    box-shadow: 0 0 5px rgba(255, 255, 255, 0.1);
}
.carrito-buttons .close-btn:hover {
    background-color: #333;
}
.carrito-modal #carrito-lista li {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 5px 0;
    border-bottom: 1px dotted rgba(255, 255, 255, 0.1);
}
.carrito-modal #carrito-lista li:last-child {
    border-bottom: none;
    margin-top: 10px;
    font-size: 1.1rem;
}
.carrito-modal #carrito-lista li button {
    background-color: #cc0000;
    color: white;
    border: none;
    padding: 3px 8px;
    border-radius: 4px;
    cursor: pointer;
    font-size: 0.8rem;
    transition: background-color 0.2s;
}
.carrito-modal #carrito-lista li button:hover {
    background-color: #990000;
}


/* ================================================= */
/* 4. FOOTER (SIN CAMBIOS) */
/* ================================================= */
footer {
    background-color: #0b0f15; color: #9aa5b1; text-align: center; padding: 20px 0; margin-top: auto; 
    display: flex; flex-direction: column; align-items: center;
}
.no-footer footer {
    display: none; 
}


/* ================================================= */
/* 5. MEDIA QUERIES FINALES */
/* ================================================= */

/* --- MÓVIL (Menos de 768px) --- */
@media (max-width: 767px) {
    .header-main-bar { padding: 0 10px; }
    
    .header-left-elements { order: 1; flex-basis: 20%; justify-content: flex-start; } 
    .menu-hamburguesa { display: block; } 
    .header-logo-container { display: none; } 

    .header-center-area { 
        order: 2; 
        flex-grow: 1; 
        margin: 0; 
        flex-basis: 55%; 
    }
    .music-bar { max-width: 100%; }
    .controls {
        justify-content: center; 
    }
    .progress-bar-container { 
        max-width: 100%; 
        width: 100%;
        margin: 0 auto; 
    }
    .site-name { font-size: 1.1rem; }
    
    .top-bar-right-elements { 
        order: 3; 
        flex-basis: 25%; 
        padding-right: 0px; 
        justify-content: flex-end;
    }

    .header-bottom-bar { display: none; } 
}


/* --- ESCRITORIO Y PANTALLAS GRANDES (Más de 768px) --- */
@media (min-width: 768px) {
    
    .header-main-bar { border-bottom: none; padding-bottom: 0; }
    
    .header-left-elements { flex-basis: auto; order: 1; display: flex; }
    .menu-hamburguesa { display: none; } 
    .header-logo-container { display: block; } 

    .header-center-area { flex-grow: 1; order: 2; }
    .top-bar-right-elements { flex-basis: auto; order: 3; display: none; } 

    /* Bottom Bar: Menú de sesiones visible */
    .header-bottom-bar { 
        display: flex;
        justify-content: center;
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding: 10px 20px 10px 20px; 
    }
    
    .header-nav { width: 100%; max-width: 1000px; }
    .menu-pc { 
        justify-content: space-around; 
        max-width: 1000px; 
        width: 100%;
        gap: 15px; 
        align-items: center; 
    }
    
    .menu-pc li { margin: 0 8px; display: inline-block; } 
    
    .menu-mobile-ul { display: none !important; } 
}

/* ================================================= */
/* 2. DISEÑO DE SECCIONES Y PRODUCTOS */
/* ================================================= */

.content-section {
    padding: 60px 20px; 
    max-width: 1200px; 
    margin: 0 auto; 
    border-bottom: 1px solid rgba(4, 110, 237, 0.1); 
    display: none; 
    min-height: 70vh;
}

/* --- TÍTULOS DE SECCIÓN --- */
.section-title-design { 
    font-size: 2.2rem;  /* tamaño más pequeño que antes */
    color: #ffffff; 
    margin-bottom: 20px; 
    font-weight: 700; 
    text-shadow: 0 0 5px rgba(255, 255, 255, 0.2); 
    border-bottom: 1px solid rgba(255, 255, 255, 0.2);
    display: inline-block;
    padding-bottom: 3px;
    letter-spacing: 1px;
    height: auto; 
}

/* --- CONTENEDORES DE PRODUCTO --- */
#producto, #productos-cuentas, #productos-cursos { 
    display: grid; 
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); /* productos más pequeños */
    gap: 20px; 
    padding: 10px 0; 
    justify-items: center; 
    width: 100%;
}

.producto {
    width: 100%; 
    max-width: 260px;  /* más compacto */
    height: auto; 
    padding: 15px; 
    text-align: center; 
    border-radius: 12px; 
    border: 1px solid rgba(4, 110, 237, 0.1); 
    background-image: linear-gradient(to bottom, #10141b, #0d1117); 
    box-shadow: 0 0 10px rgba(0, 119, 255, 0.1); 
    transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.producto:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 20px rgba(0, 119, 255, 0.2); 
}

.product-rating { font-size: 1rem; margin: 5px 0 10px; }

.product-type { font-size: 0.75rem; margin: 3px 0; }

.producto img, .producto-img { 
    width: 100px; 
    height: 100px; 
    margin-bottom: 10px; 
}

/* Mantener botones de compra y animaciones como estaban */
.producto button { font-size: 0.9rem; padding: 10px 15px; width: 90%; }
