@extends('layouts.portal')

@section('title', 'Contacto')

@section('styles')
<style>
    /* Estilos mejorados para la página de contacto */
    /* Hero Section */
    .hero-section {
        background: linear-gradient(135deg, #4a90e2, #2c3e50);
        color: white;
        padding: 80px 0;
        position: relative;
        min-height: 300px;
        border-bottom-left-radius: 50px;
        border-bottom-right-radius: 50px;
        box-shadow: 0 10px 30px rgba(0,0,0,0.1);
    }
    
    .hero-section::after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 50px;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 320'%3E%3Cpath fill='%23ffffff' fill-opacity='1' d='M0,96L80,122.7C160,149,320,203,480,202.7C640,203,800,149,960,138.7C1120,128,1280,160,1360,176L1440,192L1440,320L1360,320C1280,320,1120,320,960,320C800,320,640,320,480,320C320,320,160,320,80,320L0,320Z'%3E%3C/path%3E%3C/svg%3E");
        background-size: cover;
        background-repeat: no-repeat;
        transform: translateY(1px);
        z-index: 1;
    }
    
    .hero-content h1 {
        font-size: 2.8rem;
        font-weight: 700;
        text-shadow: 0 2px 10px rgba(0,0,0,0.2);
        margin-bottom: 0.8rem;
    }
    
    .hero-content p {
        font-size: 1.2rem;
        max-width: 700px;
        margin: 0 auto;
        opacity: 0.9;
    }
    
    /* Sección de contacto */
    .contact-section {
        padding: 80px 0;
        position: relative;
    }
    
    .section-title {
        text-align: center;
        margin-bottom: 50px;
    }
    
    .section-title h2 {
        font-weight: 700;
        color: #2c3e50;
        position: relative;
        display: inline-block;
        margin-bottom: 15px;
        font-size: 2.2rem;
    }
    
    .section-title h2::after {
        content: '';
        position: absolute;
        width: 70px;
        height: 3px;
        background: #4a90e2;
        bottom: -10px;
        left: 50%;
        transform: translateX(-50%);
        border-radius: 5px;
    }
    
    .section-title p {
        color: #6c757d;
        font-size: 1.1rem;
        max-width: 700px;
        margin: 0 auto;
    }
    
    /* Tarjeta del formulario de contacto */
    .contact-card {
        border-radius: 15px;
        box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
        transition: all 0.3s;
        border: none;
        overflow: hidden;
        height: 100%;
    }
    
    .contact-card:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 40px rgba(50, 50, 93, 0.15), 0 10px 20px rgba(0, 0, 0, 0.1);
    }
    
    .form-label {
        font-weight: 600;
        font-size: 0.95rem;
        color: #2c3e50;
        margin-bottom: 0.5rem;
    }
    
    .form-control {
        padding: 0.8rem 1rem;
        border-radius: 10px;
        border: 2px solid #e9ecef;
        font-size: 1rem;
        transition: all 0.3s;
    }
    
    .form-control:focus {
        border-color: #4a90e2;
        box-shadow: 0 0 0 0.2rem rgba(74, 144, 226, 0.25);
    }
    
    .form-text {
        color: #6c757d;
        font-size: 0.85rem;
        margin-top: 0.5rem;
    }
    
    .btn-primary {
        background: linear-gradient(135deg, #4a90e2, #2c3e50);
        border: none;
        padding: 1rem 2rem;
        font-weight: 600;
        letter-spacing: 0.5px;
        border-radius: 10px;
        box-shadow: 0 4px 6px rgba(50, 50, 93, 0.11), 0 1px 3px rgba(0, 0, 0, 0.08);
        transition: all 0.3s;
    }
    
    .btn-primary:hover {
        transform: translateY(-2px);
        box-shadow: 0 7px 14px rgba(50, 50, 93, 0.1), 0 3px 6px rgba(0, 0, 0, 0.08);
        background: linear-gradient(135deg, #5a9ee2, #3c4e60);
    }
    
    /* Información de contacto */
    .contact-info {
        border-radius: 15px;
        box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
        transition: all 0.3s;
        border: none;
        overflow: hidden;
        height: 100%;
        background: linear-gradient(135deg, #2c3e50, #4a90e2);
        color: white;
    }
    
    .contact-info:hover {
        transform: translateY(-5px);
        box-shadow: 0 20px 40px rgba(50, 50, 93, 0.15), 0 10px 20px rgba(0, 0, 0, 0.1);
    }
    
    .contact-info-header {
        padding: 2rem;
        border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    }
    
    .contact-info-body {
        padding: 2rem;
    }
    
    .contact-info h3 {
        font-weight: 700;
        margin-bottom: 1.5rem;
        color: white;
    }
    
    .contact-item {
        display: flex;
        align-items: flex-start;
        margin-bottom: 1.5rem;
    }
    
    .contact-icon {
        width: 40px;
        height: 40px;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        margin-right: 1rem;
        font-size: 1.2rem;
        transition: all 0.3s;
    }
    
    .contact-item:hover .contact-icon {
        background: rgba(255, 255, 255, 0.2);
        transform: scale(1.1);
    }
    
    .contact-item p {
        margin-bottom: 0;
        opacity: 0.9;
    }
    
    .social-links {
        margin-top: 2.5rem;
    }
    
    .social-links h4 {
        margin-bottom: 1rem;
        font-size: 1.1rem;
        font-weight: 600;
    }
    
    .social-icons {
        display: flex;
        gap: 1rem;
    }
    
    .social-icon {
        width: 40px;
        height: 40px;
        background: rgba(255, 255, 255, 0.1);
        border-radius: 50%;
        display: flex;
        align-items: center;
        justify-content: center;
        color: white;
        font-size: 1.2rem;
        transition: all 0.3s;
    }
    
    .social-icon:hover {
        background: rgba(255, 255, 255, 0.2);
        transform: translateY(-5px);
        color: white;
    }
    
    /* Mapa y ubicación */
    .map-container {
        border-radius: 15px;
        overflow: hidden;
        box-shadow: 0 15px 35px rgba(50, 50, 93, 0.1), 0 5px 15px rgba(0, 0, 0, 0.07);
        height: 400px;
        margin-top: 3rem;
    }
    
    .map-container iframe {
        width: 100%;
        height: 100%;
        border: none;
    }
    
    /* Sección de FAQ */
    .faq-section {
        background-color: #f8fafc;
        padding: 80px 0;
        margin-top: 80px;
        position: relative;
        border-radius: 20px;
    }
    
    .accordion-item {
        border: none;
        margin-bottom: 1rem;
        border-radius: 10px;
        overflow: hidden;
        box-shadow: 0 4px 6px rgba(50, 50, 93, 0.05), 0 1px 3px rgba(0, 0, 0, 0.04);
    }
    
    .accordion-header {
        margin-bottom: 0;
    }
    
    .accordion-button {
        padding: 1.25rem;
        font-weight: 600;
        color: #2c3e50;
        background-color: white;
        border: none;
        box-shadow: none;
    }
    
    .accordion-button:focus {
        box-shadow: none;
        border-color: #e9ecef;
    }
    
    .accordion-button:not(.collapsed) {
        color: #4a90e2;
        background-color: rgba(74, 144, 226, 0.05);
    }
    
    .accordion-button:not(.collapsed)::after {
        background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%234a90e2'%3e%3cpath fill-rule='evenodd' d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3e%3c/svg%3e");
    }
    
    .accordion-body {
        padding: 1.25rem;
        color: #6c757d;
    }
    
    /* Horarios */
    .hours-section {
        padding: 30px;
        background-color: #ffffff;
        border-radius: 15px;
        box-shadow: 0 4px 6px rgba(50, 50, 93, 0.05), 0 1px 3px rgba(0, 0, 0, 0.04);
        margin-top: 2rem;
    }
    
    .hours-section h4 {
        color: #2c3e50;
        font-weight: 600;
        margin-bottom: 1.2rem;
        display: flex;
        align-items: center;
    }
    
    .hours-section h4 i {
        margin-right: 0.75rem;
        color: #4a90e2;
    }
    
    .hours-section p {
        margin-bottom: 0.5rem;
        color: #6c757d;
    }
    
    /* Animaciones */
    @keyframes fadeIn {
        from { opacity: 0; transform: translateY(20px); }
        to { opacity: 1; transform: translateY(0); }
    }
    
    .animated-element {
        animation: fadeIn 0.6s ease-out forwards;
    }
    
    .delay-1 {
        animation-delay: 0.2s;
    }
    
    .delay-2 {
        animation-delay: 0.4s;
    }
    
    .delay-3 {
        animation-delay: 0.6s;
    }
    
    /* Responsive */
    @media (max-width: 992px) {
        .contact-info {
            margin-top: 2rem;
        }
        
        .map-container {
            height: 300px;
        }
    }
    
    @media (max-width: 768px) {
        .hero-content h1 {
            font-size: 2rem;
        }
        
        .section-title h2 {
            font-size: 1.8rem;
        }
    }
</style>
@endsection

@section('content')
    <!-- Hero Section -->
    <section class="hero-section">
        <div class="container">
            <div class="row">
                <div class="col-lg-12 hero-content text-center">
                    <h1><i class="fas fa-envelope me-2"></i>Contáctenos</h1>
                    <p>Estamos aquí para ayudarle. No dude en comunicarse con nosotros para cualquier consulta o información adicional.</p>
                </div>
            </div>
        </div>
    </section>

    <!-- Contact Section -->
    <section class="contact-section">
        <div class="container">
            <div class="section-title animated-element">
                <h2>Póngase en contacto</h2>
                <p>Estaremos encantados de responder a sus preguntas y proporcionarle la asistencia que necesita</p>
            </div>

            <div class="row">
                <!-- Formulario de contacto -->
                <div class="col-lg-7 animated-element delay-1">
                    <div class="card contact-card">
                        <div class="card-body p-4 p-md-5">
                            @if (session('success'))
                                <div class="alert alert-success alert-dismissible fade show" role="alert">
                                    <i class="fas fa-check-circle me-2"></i>{{ session('success') }}
                                    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                                </div>
                            @endif
                            
                            @if (session('error'))
                                <div class="alert alert-danger alert-dismissible fade show" role="alert">
                                    <i class="fas fa-exclamation-circle me-2"></i>{{ session('error') }}
                                    <button type="button" class="btn-close" data-bs-dismiss="alert" aria-label="Close"></button>
                                </div>
                            @endif

                            <h3 class="mb-4">Envíenos un mensaje</h3>
                            
                            <form action="{{ route('portal.contact.send') }}" method="POST" id="contactForm" class="needs-validation" novalidate>
                                @csrf
                                <div class="row">
                                    <div class="col-md-6 mb-4">
                                        <label for="name" class="form-label">
                                            <i class="fas fa-user text-primary me-2"></i>Nombre completo *
                                        </label>
                                        <input type="text" class="form-control @error('name') is-invalid @enderror" id="name" name="name" value="{{ old('name') }}" required>
                                        @error('name')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                    <div class="col-md-6 mb-4">
                                        <label for="email" class="form-label">
                                            <i class="fas fa-envelope text-primary me-2"></i>Correo electrónico *
                                        </label>
                                        <input type="email" class="form-control @error('email') is-invalid @enderror" id="email" name="email" value="{{ old('email') }}" required>
                                        @error('email')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                
                                <div class="mb-4">
                                    <label for="subject" class="form-label">
                                        <i class="fas fa-tag text-primary me-2"></i>Asunto *
                                    </label>
                                    <input type="text" class="form-control @error('subject') is-invalid @enderror" id="subject" name="subject" value="{{ old('subject') }}" required>
                                    @error('subject')
                                        <div class="invalid-feedback">{{ $message }}</div>
                                    @enderror
                                </div>
                                
                                <div class="mb-4">
                                    <label for="message" class="form-label">
                                        <i class="fas fa-comment-alt text-primary me-2"></i>Mensaje *
                                    </label>
                                    <textarea class="form-control @error('message') is-invalid @enderror" id="message" name="message" rows="5" required>{{ old('message') }}</textarea>
                                    @error('message')
                                        <div class="invalid-feedback">{{ $message }}</div>
                                    @enderror
                                </div>
                                
                                <div class="mb-4">
                                    <div class="form-check">
                                        <input class="form-check-input @error('privacy') is-invalid @enderror" type="checkbox" id="privacy" name="privacy" required>
                                        <label class="form-check-label" for="privacy">
                                            Acepto la política de privacidad y autorizo el tratamiento de mis datos para gestionar mi consulta *
                                        </label>
                                        @error('privacy')
                                            <div class="invalid-feedback">{{ $message }}</div>
                                        @enderror
                                    </div>
                                </div>
                                
                                <div class="d-grid">
                                    <button type="submit" class="btn btn-primary">
                                        <i class="fas fa-paper-plane me-2"></i>Enviar mensaje
                                    </button>
                                </div>
                            </form>
                        </div>
                    </div>
                </div>
                
                <!-- Información de contacto -->
                <div class="col-lg-5 animated-element delay-2">
                    <div class="contact-info">
                        <div class="contact-info-header">
                            <h3>Información de contacto</h3>
                            <p>Utilice cualquiera de los siguientes medios para comunicarse con nosotros:</p>
                        </div>
                        <div class="contact-info-body">
                            <div class="contact-item">
                                <div class="contact-icon">
                                    <i class="fas fa-map-marker-alt"></i>
                                </div>
                                <div>
                                    <h5>Dirección</h5>
                                    <p>{{ $clinicIdentity->address ?? 'Av. Principal 123, Ciudad' }}</p>
                                </div>
                            </div>
                            
                            <div class="contact-item">
                                <div class="contact-icon">
                                    <i class="fas fa-phone-alt"></i>
                                </div>
                                <div>
                                    <h5>Teléfono</h5>
                                    <p>{{ $clinicIdentity->phone ?? '+1234567890' }}</p>
                                </div>
                            </div>
                            
                            <div class="contact-item">
                                <div class="contact-icon">
                                    <i class="fas fa-envelope"></i>
                                </div>
                                <div>
                                    <h5>Email</h5>
                                    <p>{{ $clinicIdentity->email ?? 'info@medicentro.com' }}</p>
                                </div>
                            </div>
                            
                            <div class="hours-section mt-4">
                                <h4><i class="fas fa-clock"></i> Horario de atención</h4>
                                @if(isset($clinicIdentity) && $clinicIdentity->working_hours)
                                    <p>{!! nl2br(e($clinicIdentity->working_hours)) !!}</p>
                                @else
                                    <p>Lunes a Viernes: 8:00 AM - 6:00 PM</p>
                                    <p>Sábado: 9:00 AM - 1:00 PM</p>
                                @endif
                            </div>
                            
                            <div class="social-links">
                                <h4>Síganos en redes sociales</h4>
                                <div class="social-icons">
                                    <a href="#" class="social-icon" title="Facebook">
                                        <i class="fab fa-facebook-f"></i>
                                    </a>
                                    <a href="#" class="social-icon" title="Twitter">
                                        <i class="fab fa-twitter"></i>
                                    </a>
                                    <a href="#" class="social-icon" title="Instagram">
                                        <i class="fab fa-instagram"></i>
                                    </a>
                                    <a href="#" class="social-icon" title="LinkedIn">
                                        <i class="fab fa-linkedin-in"></i>
                                    </a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
            
            <!-- Mapa de ubicación -->
            <div class="row animated-element delay-3">
                <div class="col-12">
                    <div class="map-container">
                        <iframe src="https://www.google.com/maps/embed?pb=!1m18!1m12!1m3!1d3022.215151268462!2d-73.98468776836128!3d40.75766897932611!2m3!1f0!2f0!3f0!3m2!1i1024!2i768!4f13.1!3m3!1m2!1s0x89c258551925dad7%3A0x8d6270e98d8a8cad!2sEmpire%20State%20Building!5e0!3m2!1sen!2sus!4v1653580067492!5m2!1sen!2sus" allowfullscreen="" loading="lazy" title="Ubicación de la clínica"></iframe>
                    </div>
                </div>
            </div>
        </div>
    </section>

    <!-- FAQ Section -->
    <section class="faq-section animated-element delay-3">
        <div class="container">
            <div class="section-title">
                <h2>Preguntas frecuentes</h2>
                <p>Respuestas a las consultas más comunes sobre nuestros servicios</p>
            </div>

            <div class="row">
                <div class="col-lg-10 mx-auto">
                    <div class="accordion" id="faqAccordion">
                        <div class="accordion-item">
                            <h2 class="accordion-header" id="headingOne">
                                <button class="accordion-button" type="button" data-bs-toggle="collapse" data-bs-target="#collapseOne" aria-expanded="true" aria-controls="collapseOne">
                                    ¿Cómo puedo programar una cita médica?
                                </button>
                            </h2>
                            <div id="collapseOne" class="accordion-collapse collapse show" aria-labelledby="headingOne" data-bs-parent="#faqAccordion">
                                <div class="accordion-body">
                                    Puede programar una cita de varias formas: a través de nuestro portal web en la sección "Agendar Cita", llamando a nuestro número de teléfono durante el horario de atención, o enviándonos un correo electrónico con sus datos y preferencias de horario. Nuestro equipo le responderá para confirmar su cita lo antes posible.
                                </div>
                            </div>
                        </div>
                        
                        <div class="accordion-item">
                            <h2 class="accordion-header" id="headingTwo">
                                <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseTwo" aria-expanded="false" aria-controls="collapseTwo">
                                    ¿Qué debo traer a mi primera consulta?
                                </button>
                            </h2>
                            <div id="collapseTwo" class="accordion-collapse collapse" aria-labelledby="headingTwo" data-bs-parent="#faqAccordion">
                                <div class="accordion-body">
                                    Para su primera consulta, le recomendamos traer su documento de identidad, tarjeta de seguro médico (si aplica), historial médico previo, lista de medicamentos que esté tomando actualmente, y resultados de exámenes recientes relacionados con su consulta. Esto nos ayudará a brindarle una atención más completa.
                                </div>
                            </div>
                        </div>
                        
                        <div class="accordion-item">
                            <h2 class="accordion-header" id="headingThree">
                                <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseThree" aria-expanded="false" aria-controls="collapseThree">
                                    ¿Cómo puedo cancelar o reprogramar mi cita?
                                </button>
                            </h2>
                            <div id="collapseThree" class="accordion-collapse collapse" aria-labelledby="headingThree" data-bs-parent="#faqAccordion">
                                <div class="accordion-body">
                                    Para cancelar o reprogramar su cita, le solicitamos hacerlo con al menos 24 horas de anticipación. Puede llamar a nuestro número de contacto o enviarnos un correo electrónico con su solicitud. Por favor, incluya su nombre completo, fecha y hora de la cita original, y en caso de reprogramación, sus nuevas preferencias de horario.
                                </div>
                            </div>
                        </div>
                        
                        <div class="accordion-item">
                            <h2 class="accordion-header" id="headingFour">
                                <button class="accordion-button collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#collapseFour" aria-expanded="false" aria-controls="collapseFour">
                                    ¿Atienden urgencias médicas?
                                </button>
                            </h2>
                            <div id="collapseFour" class="accordion-collapse collapse" aria-labelledby="headingFour" data-bs-parent="#faqAccordion">
                                <div class="accordion-body">
                                    Sí, contamos con un servicio de atención para urgencias médicas durante nuestro horario de funcionamiento. Sin embargo, para emergencias graves que pongan en riesgo la vida, le recomendamos acudir directamente a un servicio de emergencias hospitalarias o llamar al número de emergencias local.
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </section>
@endsection

@section('scripts')
<script>
    document.addEventListener('DOMContentLoaded', function() {
        // Validación del formulario en tiempo real
        const contactForm = document.getElementById('contactForm');
        
        if (contactForm) {
            // Función para validar email
            const validateEmail = (email) => {
                const re = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
                return re.test(String(email).toLowerCase());
            };
            
            // Validación en tiempo real
            const validateField = (field) => {
                let isValid = true;
                
                if (field.hasAttribute('required') && !field.value.trim()) {
                    isValid = false;
                } else if (field.type === 'email' && field.value.trim() && !validateEmail(field.value)) {
                    isValid = false;
                } else if (field.id === 'message' && field.value.trim().length < 10) {
                    isValid = false;
                }
                
                if (isValid) {
                    field.classList.remove('is-invalid');
                    field.classList.add('is-valid');
                } else {
                    field.classList.remove('is-valid');
                    field.classList.add('is-invalid');
                }
                
                return isValid;
            };
            
            // Validar al enviar el formulario
            contactForm.addEventListener('submit', function(e) {
                let formIsValid = true;
                
                const requiredFields = contactForm.querySelectorAll('[required]');
                requiredFields.forEach(field => {
                    if (!validateField(field)) {
                        formIsValid = false;
                    }
                });
                
                if (!formIsValid) {
                    e.preventDefault();
                    // Scrollear al primer campo con error
                    const firstInvalidField = contactForm.querySelector('.is-invalid');
                    if (firstInvalidField) {
                        firstInvalidField.scrollIntoView({ behavior: 'smooth', block: 'center' });
                        firstInvalidField.focus();
                    }
                }
            });
            
            // Validar al perder el foco
            contactForm.querySelectorAll('input, textarea').forEach(field => {
                field.addEventListener('blur', function() {
                    validateField(this);
                });
                
                field.addEventListener('input', function() {
                    if (this.classList.contains('is-invalid')) {
                        validateField(this);
                    }
                });
            });
        }
        
        // Animaciones al scroll
        const observerOptions = {
            threshold: 0.1,
            rootMargin: '0px 0px -50px 0px'
        };
        
        const observer = new IntersectionObserver((entries) => {
            entries.forEach(entry => {
                if (entry.isIntersecting) {
                    if (!entry.target.classList.contains('animated-element')) {
                        entry.target.classList.add('animated-element');
                    }
                    observer.unobserve(entry.target);
                }
            });
        }, observerOptions);
        
        document.querySelectorAll('.faq-section, .map-container').forEach(element => {
            if (!element.classList.contains('animated-element')) {
                observer.observe(element);
            }
        });
        
        // Efecto hover en la tarjeta de información de contacto
        const contactItems = document.querySelectorAll('.contact-item');
        contactItems.forEach(item => {
            item.addEventListener('mouseenter', function() {
                this.querySelector('.contact-icon').style.transform = 'scale(1.1) rotate(10deg)';
            });
            
            item.addEventListener('mouseleave', function() {
                this.querySelector('.contact-icon').style.transform = 'scale(1) rotate(0deg)';
            });
        });
    });
</script>
@endsection 