/* ==========================================================================
   Responsive Styles
   ========================================================================== */

/* -----------------------------------------------------------------------------
   Tablet (max-width: 1024px)
   -------------------------------------------------------------------------- */
@media (max-width: 1024px) {
    /* Hero */
    .hero {
        grid-template-columns: 1fr;
        padding-top: 6rem;
    }

    .hero-image-wrapper {
        order: -1;
        justify-self: center;
    }

    .hero-image {
        width: 300px;
        height: 300px;
        margin: 0 auto;
    }

    .hero-text {
        text-align: center;
    }

    .hero-text .divider {
        margin: var(--space-lg) auto;
    }

    .hero-text p {
        margin: 0 auto var(--space-xl);
    }

    .action-cards {
        justify-content: center;
    }

    /* Grids */
    .services-grid {
        grid-template-columns: 1fr;
    }

    .events-layout {
        grid-template-columns: 1fr;
    }

    .why-us-grid {
        grid-template-columns: 1fr;
    }

    .footer-grid {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }

    /* Meet Doctor - Background Image on Mobile */
    .meet-doctor {
        grid-template-columns: 1fr;
        position: relative;
        background: url('../img/bio-portrait.png') left center/cover no-repeat;
        min-height: 500px;
    }

    .meet-doctor::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background: rgba(43, 27, 20, 0.85);
    }

    .meet-doctor-image {
        display: none;
    }

    .meet-doctor-content {
        position: relative;
        z-index: var(--z-base);
        padding: var(--space-2xl) var(--space-xl);
        text-align: center;
        align-self: center;
    }

    .meet-doctor-content h2 {
        color: var(--bg-white);
    }

    .meet-doctor-content .bio-text {
        color: rgba(255, 255, 255, 0.85);
    }

    /* About Page */
    .about-bio-container {
        grid-template-columns: 1fr;
    }

    .about-bio-image {
        text-align: center;
    }

    .about-bio-image img {
        margin: 0 auto;
    }

    /* Patients Page */
    .services-grid {
        grid-template-columns: 1fr;
    }

    .booking-container {
        grid-template-columns: 1fr;
    }

    .booking-cta {
        text-align: left;
    }

    .first-visit-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .location-container {
        grid-template-columns: 1fr;
    }

    .location-map {
        order: -1;
    }

    /* Doctors Page */
    .doctors-intro-container {
        grid-template-columns: 1fr;
    }

    .doctors-intro-image {
        order: -1;
    }

    .doctors-intro-image img {
        margin: 0 auto;
    }

    .doctors-services-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Training Page */
    .events-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .training-info-container {
        grid-template-columns: 1fr;
    }

    /* Event Detail Page */
    .event-details-container {
        grid-template-columns: 1fr;
    }

    .event-sidebar {
        order: -1;
    }

    /* Contact Page */
    .contact-container {
        grid-template-columns: 1fr;
    }
}

/* -----------------------------------------------------------------------------
   Mobile (max-width: 768px)
   -------------------------------------------------------------------------- */
@media (max-width: 768px) {
    /* Header */
    .header {
        padding: var(--space-md) var(--space-lg);
    }

    /* Hero */
    .hero {
        padding: 5rem var(--space-lg) var(--space-2xl);
    }

    .hero-text h1 {
        font-size: var(--text-4xl);
    }

    .hero-image {
        width: 250px;
        height: 250px;
    }

    .action-cards {
        flex-direction: column;
    }

    /* Quote */
    .quote-content {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .quote-mark {
        font-size: 5rem;
    }

    /* Events */
    .event-item {
        grid-template-columns: 1fr;
        text-align: center;
    }

    /* Menu */
    .menu-overlay {
        width: 100%;
        right: -100%;
    }

    /* Sections padding */
    .section,
    .quote-section,
    .services,
    .events,
    .why-us {
        padding: var(--space-3xl) var(--space-lg);
    }

    /* Typography */
    h2,
    .section-header h2,
    .events-intro h2,
    .why-us h2 {
        font-size: var(--text-3xl);
    }

    /* Page Hero */
    .page-hero {
        padding: 8rem var(--space-lg) var(--space-2xl);
    }

    .page-hero h1 {
        font-size: var(--text-4xl);
    }

    /* About Page */
    .about-bio {
        padding: var(--space-3xl) var(--space-lg);
    }

    .about-bio-content h2 {
        font-size: var(--text-4xl);
    }

    .why-us-grid {
        grid-template-columns: 1fr;
    }

    /* Patients Page */
    .services-grid {
        grid-template-columns: 1fr;
    }

    .booking-section,
    .first-visit,
    .location-section {
        padding: var(--space-3xl) var(--space-lg);
    }

    .booking-info {
        grid-template-columns: 1fr;
    }

    .first-visit-grid {
        grid-template-columns: 1fr;
    }

    /* Doctors Page */
    .doctors-intro,
    .doctors-services,
    .events-teaser,
    .doctors-contact {
        padding: var(--space-3xl) var(--space-lg);
    }

    .doctors-services-grid {
        grid-template-columns: 1fr;
    }

    .contact-options {
        flex-direction: column;
        gap: var(--space-lg);
    }

    /* Training Page */
    .events-listing,
    .training-info {
        padding: var(--space-3xl) var(--space-lg);
    }

    .events-grid {
        grid-template-columns: 1fr;
    }

    .event-item {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .event-arrow {
        display: none;
    }

    /* Event Detail Page */
    .event-hero {
        padding: 8rem var(--space-lg) var(--space-xl);
    }

    .event-hero-with-image {
        min-height: 300px;
    }

    .event-hero h1 {
        font-size: var(--text-3xl);
    }

    .event-details,
    .registration-section {
        padding: var(--space-3xl) var(--space-lg);
    }

    /* Forms */
    .form-row {
        grid-template-columns: 1fr;
    }

    /* Contact Page */
    .contact-section {
        padding: var(--space-3xl) var(--space-lg);
    }

    .contact-container {
        grid-template-columns: 1fr;
    }

    .map-container {
        height: 300px;
    }
}

/* -----------------------------------------------------------------------------
   Small Mobile (max-width: 480px)
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
    .hero-text h1 {
        font-size: var(--text-3xl);
    }

    .hero-image {
        width: 200px;
        height: 200px;
    }

    .meet-doctor-content h2 {
        font-size: var(--text-4xl);
    }

    .quote-text {
        font-size: var(--text-xl);
    }
}
