/* ========================================
   RESPONSIVE.CSS - VERSIÓN CORREGIDA
   ======================================== */

/* Variables responsive */
:root {
    --header-height-mobile: 70px;
    --mobile-menu-bg: #ffffff;
    --overlay-bg: rgba(0, 0, 0, 0.7);
}

/* ========================================
   MÓVILES (hasta 768px)
   ======================================== */
@media screen and (max-width: 768px) {
    
    /* HEADER */
    .header {
        height: var(--header-height-mobile) !important;
        position: fixed !important;
        top: 0 !important;
        width: 100% !important;
        z-index: 9999 !important;
        background: white !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1) !important;
    }
    
    .header .container {
        padding: 0 15px !important;
        height: 100% !important;
        display: flex !important;
        justify-content: space-between !important;
        align-items: center !important;
    }
    
    /* LOGO */
    .logo-imagen {
        max-height: 45px !important;
        width: auto !important;
    }
    
    .logo-texto p {
        display: none !important;
    }
    
    /* HAMBURGUESA */
    .hamburger {
        display: block !important;
        cursor: pointer !important;
        z-index: 10001 !important;
        width: 30px !important;
        height: 30px !important;
        position: relative !important;
    }
    
    .bar {
        display: block !important;
        width: 30px !important;
        height: 3px !important;
        margin: 6px 0 !important;
        background-color: var(--primary-color) !important;
        transition: all 0.3s ease !important;
        border-radius: 3px !important;
    }
    
    .hamburger.active .bar:nth-child(1) {
        transform: translateY(9px) rotate(45deg) !important;
        background-color: var(--secondary-color) !important;
    }
    
    .hamburger.active .bar:nth-child(2) {
        opacity: 0 !important;
        transform: translateX(-20px) !important;
    }
    
    .hamburger.active .bar:nth-child(3) {
        transform: translateY(-9px) rotate(-45deg) !important;
        background-color: var(--secondary-color) !important;
    }
    
    /* MENÚ */
    .nav-menu {
        position: fixed !important;
        left: -100% !important;
        top: var(--header-height-mobile) !important;
        width: 85% !important;
        max-width: 320px !important;
        height: calc(100vh - var(--header-height-mobile)) !important;
        background: var(--mobile-menu-bg) !important;
        flex-direction: column !important;
        padding: 30px 20px !important;
        margin: 0 !important;
        transition: left 0.3s ease !important;
        z-index: 10000 !important;
        overflow-y: auto !important;
        display: flex !important;
        list-style: none !important;
        box-shadow: 2px 0 20px rgba(0,0,0,0.2) !important;
    }
    
    .nav-menu.active {
        left: 0 !important;
    }
    
    /* OVERLAY */
    .menu-overlay {
        display: none !important;
        position: fixed !important;
        top: var(--header-height-mobile) !important;
        left: 0 !important;
        width: 100% !important;
        height: calc(100vh - var(--header-height-mobile)) !important;
        background: var(--overlay-bg) !important;
        z-index: 9999 !important;
        backdrop-filter: blur(3px) !important;
    }
    
    .menu-overlay.active {
        display: block !important;
    }
    
    /* ITEMS DEL MENÚ */
    .nav-menu li {
        margin: 5px 0 !important;
        width: 100% !important;
        opacity: 1 !important;
        transform: none !important;
    }
    
    .nav-menu a {
        display: block !important;
        padding: 15px 20px !important;
        font-size: 1.1rem !important;
        color: var(--dark-color) !important;
        text-decoration: none !important;
        border-radius: 8px !important;
        transition: all 0.3s ease !important;
    }
    
    .nav-menu a:hover,
    .nav-menu a:active {
        background: var(--light-gray) !important;
        padding-left: 25px !important;
    }
    
    .nav-menu a.active {
        background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)) !important;
        color: white !important;
    }
    
    .btn-login {
        background: linear-gradient(45deg, var(--primary-color), var(--secondary-color)) !important;
        color: white !important;
        text-align: center !important;
        margin-top: 10px !important;
    }
    
    /* BODY SIN SCROLL */
    body.menu-open {
        overflow: hidden !important;
        position: fixed !important;
        width: 100% !important;
    }
    
    /* SLIDER */
    .hero-slider {
        margin-top: var(--header-height-mobile) !important;
    }
    
    .slider-container {
        height: 300px !important;
    }
    
    .slide-content {
        width: 90% !important;
        padding: 20px 15px !important;
    }
    
    .slide-content h2 {
        font-size: 1.3rem !important;
        margin-bottom: 10px !important;
    }
    
    .slide-content p {
        font-size: 0.9rem !important;
        margin-bottom: 15px !important;
    }
    
    .btn-slider {
        padding: 8px 20px !important;
        font-size: 0.9rem !important;
    }
    
    .slider-controls {
        padding: 0 10px !important;
    }
    
    .prev-btn, .next-btn {
        width: 35px !important;
        height: 35px !important;
        font-size: 0.9rem !important;
    }
    
    /* PRODUCTOS */
    .products-section {
        padding: 40px 0 !important;
    }
    
    .section-title {
        font-size: 1.8rem !important;
    }
    
    .section-subtitle {
        font-size: 1rem !important;
        padding: 0 15px !important;
    }
    
    .products-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 15px !important;
    }
    
    .product-card {
        max-width: 100% !important;
        margin: 0 auto !important;
    }
    
    .product-image {
        height: 180px !important;
    }
    
    .product-content {
        padding: 15px !important;
    }
    
    .product-content h3 {
        font-size: 1.2rem !important;
    }
    
    .product-content p {
        font-size: 0.9rem !important;
    }
    
    .btn-product {
        padding: 8px 15px !important;
        font-size: 0.9rem !important;
        display: inline-block !important;
    }
    
    /* INSUMOS */
    .supplies-section {
        padding: 40px 0 !important;
    }
    
    .supplies-slider {
        gap: 15px !important;
        padding: 15px !important;
        scroll-snap-type: x mandatory !important;
    }
    
    .supply-item {
        flex: 0 0 150px !important;
        scroll-snap-align: start !important;
    }
    
    .supply-item img {
        height: 120px !important;
    }
    
    .supply-item h4 {
        font-size: 0.9rem !important;
    }
    
    /* WHATSAPP */
    .whatsapp-section {
        padding: 40px 0 !important;
    }
    
    .whatsapp-content {
        flex-direction: column !important;
        gap: 20px !important;
        text-align: center !important;
    }
    
    .whatsapp-icon {
        font-size: 4rem !important;
    }
    
    .whatsapp-text h3 {
        font-size: 1.5rem !important;
    }
    
    .whatsapp-text p {
        font-size: 1rem !important;
    }
    
    .btn-whatsapp {
        padding: 12px 20px !important;
        font-size: 1rem !important;
        width: 100% !important;
        justify-content: center !important;
    }
    
    /* FOOTER */
    .footer {
        padding-top: 40px !important;
    }
    
    .footer-grid {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        padding: 0 15px !important;
    }
    
    .footer-col h3, .footer-col h4 {
        font-size: 1.2rem !important;
    }
    
    .footer-col p, .footer-col li {
        font-size: 0.9rem !important;
    }
    
    .social-icons {
        justify-content: center !important;
    }
    
    /* ========================================
       CONTACTO.HTML - ESTILOS RESPONSIVE
       ======================================== */
    
    /* Hero */
    .contacto-hero {
        margin-top: var(--header-height-mobile) !important;
        padding: 100px 0 60px !important;
    }
    
    .contacto-hero h1 {
        font-size: 2rem !important;
    }
    
    .contacto-hero p {
        font-size: 1rem !important;
        padding: 0 15px !important;
    }
    
    /* Contenedor principal */
    .contacto-container {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
        margin-bottom: 40px !important;
        padding: 0 15px !important;
    }
    
    /* Items de contacto */
    .info-contacto h2 {
        font-size: 1.8rem !important;
    }
    
    .contacto-item {
        padding: 20px !important;
        flex-direction: column !important;
        text-align: center !important;
    }
    
    .contacto-icono {
        margin: 0 auto 15px !important;
    }
    
    .contacto-texto h4 {
        font-size: 1.1rem !important;
    }
    
    .contacto-texto p {
        font-size: 0.9rem !important;
    }
    
    /* Formulario */
    .formulario-contacto {
        padding: 25px 20px !important;
    }
    
    .formulario-contacto h3 {
        font-size: 1.5rem !important;
    }
    
    .form-control, .form-select {
        padding: 12px 15px !important;
        font-size: 16px !important; /* Evita zoom en iOS */
    }
    
    .btn-enviar {
        padding: 14px 30px !important;
        font-size: 1rem !important;
    }
    
    /* WhatsApp contacto */
    .whatsapp-contacto {
        padding: 40px 20px !important;
        margin: 40px 15px !important;
    }
    
    .whatsapp-contenido h2 {
        font-size: 1.8rem !important;
    }
    
    .whatsapp-contenido p {
        font-size: 1rem !important;
    }
    
    .btn-whatsapp-grande {
        padding: 12px 25px !important;
        font-size: 1.1rem !important;
        width: 100% !important;
    }
    
    /* Mapa */
    .mapa-section {
        margin: 60px 0 !important;
        padding: 0 15px !important;
    }
    
    .mapa-container {
        height: 300px !important;
    }
    
    /* Equipo */
    .equipo-section {
        padding: 40px 0 !important;
    }
    
    .equipo-grid {
        grid-template-columns: 1fr !important;
        gap: 20px !important;
        padding: 0 15px !important;
    }
    
    .equipo-card {
        max-width: 350px !important;
        margin: 0 auto !important;
    }
    
    .equipo-imagen {
        height: 200px !important;
    }
    
    .equipo-info {
        padding: 20px !important;
    }
    
    .equipo-info h4 {
        font-size: 1.2rem !important;
    }
    
    .equipo-info p {
        font-size: 0.9rem !important;
    }
    
    /* Horarios */
    .horarios-section {
        padding: 40px 20px !important;
        margin: 40px 15px !important;
        border-radius: 15px !important;
    }
    
    .horarios-contenido {
        grid-template-columns: 1fr !important;
        gap: 30px !important;
    }
    
    .horarios-texto h2 {
        font-size: 1.8rem !important;
    }
    
    .horarios-lista li {
        flex-direction: column !important;
        text-align: center !important;
        gap: 5px !important;
    }
    
    .emergencia-card {
        padding: 30px 20px !important;
    }
    
    .emergencia-card h3 {
        font-size: 1.5rem !important;
    }
    
    .btn-emergencia {
        padding: 12px 25px !important;
        font-size: 1rem !important;
    }
    
    /* FAQ */
    .faq-section {
        padding: 40px 15px !important;
    }
    
    .faq-pregunta {
        padding: 15px !important;
    }
    
    .faq-pregunta h4 {
        font-size: 1rem !important;
        padding-right: 30px !important;
    }
    
    .faq-respuesta {
        padding: 0 15px 15px !important;
    }
    
    .faq-respuesta p {
        font-size: 0.9rem !important;
    }
}

/* ========================================
   MÓVILES PEQUEÑOS (hasta 375px)
   ======================================== */
@media screen and (max-width: 375px) {
    .slider-container {
        height: 250px !important;
    }
    
    .slide-content h2 {
        font-size: 1.1rem !important;
    }
    
    .slide-content p {
        font-size: 0.8rem !important;
    }
    
    .section-title {
        font-size: 1.5rem !important;
    }
    
    .supply-item {
        flex: 0 0 130px !important;
    }
    
    .supply-item img {
        height: 100px !important;
    }
    
    .contacto-hero h1 {
        font-size: 1.5rem !important;
    }
    
    .formulario-contacto h3 {
        font-size: 1.3rem !important;
    }
}

/* ========================================
   TABLETS (769px - 1024px)
   ======================================== */
@media screen and (min-width: 769px) and (max-width: 1024px) {
    .container {
        padding: 0 25px !important;
    }
    
    .products-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .footer-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
    
    .slider-container {
        height: 450px !important;
    }
    
    .contacto-container {
        gap: 40px !important;
    }
    
    .equipo-grid {
        grid-template-columns: repeat(2, 1fr) !important;
    }
}

/* ========================================
   ORIENTACIÓN HORIZONTAL
   ======================================== */
@media screen and (max-height: 500px) and (orientation: landscape) {
    .nav-menu {
        padding: 15px !important;
    }
    
    .nav-menu li {
        margin: 2px 0 !important;
    }
    
    .nav-menu a {
        padding: 8px 15px !important;
        font-size: 0.9rem !important;
    }
    
    .slider-container {
        height: 200px !important;
    }
}