.hero-contacto {
            min-height: 50vh;
            display: flex;
            align-items: center;
            justify-content: center;
            text-align: center;
            background: linear-gradient(135deg, rgba(0, 53, 71, 0.9), rgba(0, 176, 240, 0.8)), url('/assets/img/ciudad-hermosillo.png');
            background-size: cover;
            background-position: center;
            color: var(--white);
            margin-top: 80px;
        }
        
        .hero-contacto h1 {
            color: var(--white);
            font-size: clamp(2.5rem, 8vw, 5rem);
            margin-bottom: 1rem;
        }
        
        .hero-contacto h1 i {
            color: var(--accent-gold);
            margin-right: 1rem;
        }
        
        .hero-contacto p {
            color: var(--bg-light);
            font-size: 1.3rem;
            max-width: 700px;
            margin: 0 auto;
        }
        
        /* Tarjetas de contacto */
        .contacto-grid {
            max-width: 1300px;
            margin: -5rem auto 3rem;
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
            gap: 2rem;
            padding: 0 2rem;
            position: relative;
            z-index: 10;
        }
        
        .contacto-card {
            background: white;
            padding: 2.5rem 2rem;
            border-radius: 40px 20px 40px 20px;
            box-shadow: var(--shadow-hover);
            text-align: center;
            transition: var(--transition-smooth);
            border: 1px solid var(--glass-border);
            position: relative;
            overflow: hidden;
        }
        
        .contacto-card:hover {
            transform: translateY(-20px) scale(1.02);
            box-shadow: 0 30px 50px rgba(0, 53, 71, 0.3);
            border-color: var(--accent-gold);
        }
        
        .contacto-card::before {
            content: '';
            position: absolute;
            top: 0;
            left: 0;
            width: 100%;
            height: 5px;
            background: linear-gradient(90deg, var(--primary-bright), var(--accent-gold));
        }
        
        .contacto-icon {
            font-size: 4rem;
            color: var(--primary-bright);
            margin-bottom: 1.5rem;
        }
        
        .contacto-card h3 {
            color: var(--primary-deep);
            font-size: 1.8rem;
            margin-bottom: 1rem;
        }
        
        .contacto-card p {
            color: var(--primary-medium);
            margin-bottom: 0.5rem;
        }
        
        .contacto-card .contacto-valor {
            font-size: 1.5rem;
            font-weight: 700;
            color: var(--primary-deep);
            margin: 1rem 0;
            word-break: break-word;
        }
        
        .contacto-card .btn-contacto {
            display: inline-block;
            margin-top: 1rem;
            padding: 0.8rem 2rem;
            background: var(--primary-deep);
            color: white;
            text-decoration: none;
            border-radius: 50px;
            font-weight: 600;
            transition: var(--transition-smooth);
            border: 1px solid transparent;
        }
        
        .contacto-card .btn-contacto:hover {
            background: var(--primary-bright);
            transform: scale(1.05);
            border-color: var(--accent-gold);
        }
        
        .contacto-card .btn-contacto i {
            margin-right: 0.5rem;
        }
        
        /* Sección de dos columnas */
        .contacto-info-section {
            max-width: 1300px;
            margin: 5rem auto;
            padding: 0 2rem;
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 4rem;
        }
        
        .info-block {
            background: white;
            padding: 3rem;
            border-radius: 40px 20px 40px 20px;
            box-shadow: var(--shadow-sm);
            transition: var(--transition-smooth);
        }
        
        .info-block:hover {
            box-shadow: var(--shadow-hover);
        }
        
        .info-block h2 {
            color: var(--primary-deep);
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            font-size: 2rem;
        }
        
        .info-block h2 i {
            color: var(--primary-bright);
        }
        
        .horario-item {
            display: flex;
            justify-content: space-between;
            padding: 1rem 0;
            border-bottom: 1px solid var(--glass-border);
            color: var(--primary-medium);
            font-size: 1.1rem;
        }
        
        .horario-item:last-child {
            border-bottom: none;
        }
        
        .horario-item .dia {
            font-weight: 600;
            color: var(--primary-deep);
        }
        
        .horario-item .hora {
            color: var(--primary-bright);
            font-weight: 500;
        }
        
        .redes-list {
            display: flex;
            flex-direction: column;
            gap: 1.5rem;
            margin-top: 2rem;
        }
        
        .red-social {
            display: flex;
            align-items: center;
            gap: 1.5rem;
            padding: 1rem;
            background: var(--bg-light);
            border-radius: 20px;
            text-decoration: none;
            transition: var(--transition-smooth);
            color: var(--primary-deep);
        }
        
        .red-social:hover {
            background: var(--primary-bright);
            transform: translateX(10px);
            color: white;
        }
        
        .red-social i {
            font-size: 2rem;
            width: 40px;
            text-align: center;
        }
        
        .red-social span {
            font-size: 1.2rem;
            font-weight: 500;
        }
        
        /* Mapa */
        .mapa-section {
            max-width: 1300px;
            margin: 0 auto 5rem;
            padding: 0 2rem;
        }
        
        .mapa-container {
            background: white;
            padding: 2rem;
            border-radius: 40px 20px 40px 20px;
            box-shadow: var(--shadow-sm);
            text-align: center;
        }
        
        .mapa-container h2 {
            color: var(--primary-deep);
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            justify-content: center;
            gap: 1rem;
        }
        
        .mapa-placeholder {
            background: var(--bg-light);
            height: 400px;
            border-radius: 30px;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            color: var(--primary-medium);
            border: 2px dashed var(--primary-bright);
            position: relative;
            overflow: hidden;
        }

        .mapa-placeholder::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-image: url('/assets/img/ciudad-hermosillo.png');
    background-size: cover;
    background-position: center;
    opacity: 0.3; /* Ajusta la opacidad según prefieras */
    z-index: 1;
}

.mapa-placeholder > * {
    position: relative;
    z-index: 2;
    background-color: rgba(0, 0, 0, 0.5); /* Fondo semitransparente detrás del texto */
    padding: 10px;
    border-radius: 5px;
}

        
        .mapa-placeholder i {
            font-size: 5rem;
            color: var(--primary-bright);
            margin-bottom: 1rem;
        }
        
        .mapa-placeholder p {
            font-size: 1.3rem;
            max-width: 500px;
            text-align: center;
        }
        
        .mapa-direccion {
            margin-top: 2rem;
            padding: 1.5rem;
            background: var(--bg-light);
            border-radius: 20px;
            color: var(--primary-medium);
        }
        
        .mapa-direccion strong {
            color: var(--primary-deep);
            font-size: 1.2rem;
        }
        
        /* Formulario de contacto */
        .formulario-section {
            max-width: 1300px;
            margin: 0 auto 5rem;
            padding: 0 2rem;
        }
        
        .formulario-container {
            background: white;
            padding: 3rem;
            border-radius: 40px 20px 40px 20px;
            box-shadow: var(--shadow-sm);
        }
        
        .formulario-container h2 {
            color: var(--primary-deep);
            margin-bottom: 2rem;
            display: flex;
            align-items: center;
            gap: 1rem;
            font-size: 2rem;
        }
        
        .form-row {
            display: grid;
            grid-template-columns: 1fr 1fr;
            gap: 2rem;
            margin-bottom: 2rem;
        }
        
        .form-group {
            margin-bottom: 1.5rem;
        }
        
        .form-group label {
            display: block;
            margin-bottom: 0.5rem;
            color: var(--primary-deep);
            font-weight: 600;
        }
        
        .form-group input,
        .form-group select,
        .form-group textarea {
            width: 100%;
            padding: 1rem;
            border: 2px solid var(--glass-border);
            border-radius: 20px;
            font-size: 1rem;
            transition: var(--transition-smooth);
            background: var(--bg-light);
        }
        
        .form-group input:focus,
        .form-group select:focus,
        .form-group textarea:focus {
            outline: none;
            border-color: var(--primary-bright);
            box-shadow: 0 0 0 4px rgba(0, 176, 240, 0.1);
        }
        
        .form-group textarea {
            min-height: 150px;
            resize: vertical;
        }
        
        .btn-enviar {
            background: var(--primary-deep);
            color: white;
            border: none;
            padding: 1rem 3rem;
            border-radius: 60px;
            font-size: 1.2rem;
            font-weight: 700;
            cursor: pointer;
            transition: var(--transition-smooth);
            display: inline-flex;
            align-items: center;
            gap: 1rem;
            border: 2px solid transparent;
        }
        
        .btn-enviar:hover {
            background: var(--primary-bright);
            transform: translateY(-5px);
            border-color: var(--accent-gold);
        }
        
        .form-nota {
            margin-top: 1rem;
            font-size: 0.9rem;
            color: var(--primary-medium);
            font-style: italic;
        }
        
        /* Responsive */
        @media (max-width: 900px) {
            .contacto-info-section {
                grid-template-columns: 1fr;
                gap: 2rem;
            }
            
            .form-row {
                grid-template-columns: 1fr;
                gap: 0;
            }
            
            .contacto-grid {
                margin-top: -3rem;
            }
            
            .info-block {
                padding: 2rem;
            }
            
            .formulario-container {
                padding: 2rem;
            }
        }
        
        @media (max-width: 480px) {
            .contacto-card .contacto-valor {
                font-size: 1.2rem;
            }
            
            .horario-item {
                flex-direction: column;
                text-align: center;
                gap: 0.5rem;
            }
        }