/* ================================================
   P.A Unisex Hair Salon - Responsive Styles
   ================================================
   Breakpoints:
   - Large Desktop: > 1200px (default styles)
   - Desktop: 992px - 1199px
   - Tablet: 768px - 991px
   - Mobile Large: 576px - 767px
   - Mobile: < 576px
   ================================================ */

/* ================================================
   Desktop (992px - 1199px)
   ================================================ */
@media (max-width: 1199px) {
    :root {
        --text-6xl: 3rem;
        --text-5xl: 2.5rem;
        --text-4xl: 2rem;
    }
    
    .hero__stats {
        gap: var(--space-2xl);
    }
    
    .services__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .gallery__grid {
        grid-template-rows: repeat(2, 200px);
    }
    
    .pricing__grid {
        grid-template-columns: repeat(2, 1fr);
    }
    
    .footer__grid {
        grid-template-columns: 1.5fr 1fr 1fr 1fr;
        gap: var(--space-2xl);
    }
}

/* ================================================
   Tablet (768px - 991px)
   ================================================ */
@media (max-width: 991px) {
    :root {
        --header-height: 70px;
        --text-6xl: 2.5rem;
        --text-5xl: 2rem;
        --text-4xl: 1.75rem;
        --text-3xl: 1.5rem;
    }
    
    .section {
        padding: var(--space-4xl) 0;
    }
    
    /* Navigation - Mobile Menu */
    .nav {
        position: fixed;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        background-color: var(--color-black);
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: all var(--transition-base);
        z-index: var(--z-fixed);
    }
    
    .nav.active {
        opacity: 1;
        visibility: visible;
    }
    
    .nav__list {
        flex-direction: column;
        gap: var(--space-xl);
        text-align: center;
    }
    
    .nav__link {
        font-size: var(--text-xl);
        color: var(--color-white);
    }
    
    .nav-toggle {
        display: flex;
    }
    
    .nav-toggle.active .nav-toggle__bar {
        background-color: var(--color-white);
    }
    
    .header__cta {
        display: none;
    }
    
    /* Hero */
    .hero__content {
        max-width: 100%;
    }
    
    .hero__stats {
        flex-wrap: wrap;
        gap: var(--space-xl);
    }
    
    .hero__stat {
        flex: 1 1 30%;
    }
    
    .hero__scroll {
        display: none;
    }
    
    /* About */
    .about__grid {
        grid-template-columns: 1fr;
        gap: var(--space-3xl);
    }
    
    .about__image-wrapper {
        max-width: 500px;
        margin: 0 auto;
    }
    
    .about__content {
        padding-left: 0;
    }
    
    .about__experience {
        right: var(--space-xl);
        bottom: calc(-1 * var(--space-md));
    }
    
    .about__image-accent {
        right: 0;
        bottom: calc(-1 * var(--space-md));
    }
    
    .team__grid {
        grid-template-columns: 1fr;
        gap: var(--space-xl);
    }
    
    /* Services */
    .services__grid {
        grid-template-columns: 1fr;
        max-width: 500px;
        margin: 0 auto;
    }
    
    /* Gallery */
    .gallery__grid {
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(4, 200px);
    }
    
    .gallery__item--large {
        grid-column: span 2;
        grid-row: span 1;
    }
    
    .gallery__item--wide {
        grid-column: span 2;
    }
    
    /* Pricing */
    .pricing__tabs {
        flex-wrap: wrap;
    }
    
    .pricing__grid {
        grid-template-columns: 1fr;
        max-width: 400px;
        margin: 0 auto;
    }
    
    /* Contact */
    .contact__grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }
    
    .contact__map {
        min-height: 350px;
    }
    
    /* Footer */
    .footer__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-2xl);
    }
    
    .footer__brand {
        grid-column: span 2;
    }
}

/* ================================================
   Mobile Large (576px - 767px)
   ================================================ */
@media (max-width: 767px) {
    :root {
        --container-padding: 1.25rem;
        --text-6xl: 2.25rem;
        --text-5xl: 1.875rem;
        --text-4xl: 1.5rem;
        --text-3xl: 1.25rem;
        --text-2xl: 1.125rem;
    }
    
    .section {
        padding: var(--space-3xl) 0;
    }
    
    .section__header {
        margin-bottom: var(--space-2xl);
    }
    
    /* Hero */
    .hero {
        min-height: 100svh;
    }
    
    .hero__badge {
        font-size: var(--text-xs);
        padding: var(--space-xs) var(--space-sm);
    }
    
    .hero__description {
        font-size: var(--text-base);
    }
    
    .hero__actions {
        flex-direction: column;
    }
    
    .hero__actions .btn {
        width: 100%;
        justify-content: center;
    }
    
    .hero__stats {
        flex-direction: column;
        gap: var(--space-lg);
        margin-top: var(--space-2xl);
        padding-top: var(--space-xl);
    }
    
    .hero__stat {
        display: flex;
        align-items: center;
        gap: var(--space-md);
    }
    
    .hero__stat-number {
        font-size: var(--text-2xl);
    }
    
    /* About */
    .about__img {
        height: 350px;
    }
    
    .about__features {
        grid-template-columns: 1fr;
    }
    
    .team__member {
        flex-direction: column;
        text-align: center;
    }
    
    .team__member-image {
        width: 120px;
        height: 120px;
        margin: 0 auto;
    }
    
    /* Gallery */
    .gallery__grid {
        grid-template-columns: 1fr;
        grid-template-rows: auto;
    }
    
    .gallery__item,
    .gallery__item--large,
    .gallery__item--wide {
        grid-column: span 1;
        grid-row: span 1;
        height: 200px;
    }
    
    .gallery__item--large {
        height: 280px;
    }
    
    /* Pricing */
    .pricing__tab {
        padding: var(--space-sm) var(--space-md);
        font-size: var(--text-xs);
    }
    
    /* Contact */
    .contact__map {
        min-height: 300px;
    }
    
    .contact__cta {
        padding: var(--space-2xl);
    }
    
    .contact__cta-text {
        font-size: var(--text-xl);
    }
    
    /* Footer */
    .footer__grid {
        grid-template-columns: 1fr;
        gap: var(--space-2xl);
    }
    
    .footer__brand {
        grid-column: span 1;
    }
    
    .footer__bottom {
        flex-direction: column;
        gap: var(--space-md);
        text-align: center;
    }
}

/* ================================================
   Mobile (< 576px)
   ================================================ */
@media (max-width: 575px) {
    :root {
        --container-padding: 1rem;
        --text-6xl: 2rem;
        --text-5xl: 1.75rem;
        --text-4xl: 1.375rem;
    }
    
    /* Header */
    .header__logo-subtext {
        display: none;
    }
    
    .header__logo-divider {
        display: none;
    }
    
    .lang-selector__btn {
        padding: var(--space-xs) var(--space-sm);
    }
    
    /* Hero */
    .hero__title {
        font-size: var(--text-4xl);
    }
    
    /* About */
    .about__experience {
        padding: var(--space-md);
    }
    
    .about__experience-number {
        font-size: var(--text-2xl);
    }
    
    /* Services */
    .service-card {
        padding: var(--space-lg);
    }
    
    /* Pricing */
    .pricing__tabs {
        gap: var(--space-sm);
    }
    
    .pricing__card {
        padding: var(--space-lg);
    }
    
    /* Contact */
    .contact__card {
        flex-direction: column;
        text-align: center;
    }
    
    .contact__social {
        text-align: center;
    }
    
    .contact__social-links {
        justify-content: center;
    }
}

/* ================================================
   Reduced Motion
   ================================================ */
@media (prefers-reduced-motion: reduce) {
    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
    
    html {
        scroll-behavior: auto;
    }
}

/* ================================================
   High Contrast
   ================================================ */
@media (prefers-contrast: high) {
    :root {
        --color-accent: #d4a84b;
        --color-text-secondary: var(--color-text-primary);
    }
    
    .btn--outline {
        border-width: 2px;
    }
    
    .nav__link::after {
        height: 2px;
    }
}

/* ================================================
   Print Styles
   ================================================ */
@media print {
    .header,
    .hero__scroll,
    .nav-toggle,
    .lang-selector,
    .btn,
    .contact__map,
    .footer__social {
        display: none !important;
    }
    
    .hero {
        min-height: auto;
        padding: var(--space-xl) 0;
    }
    
    .hero__bg {
        display: none;
    }
    
    .hero__content {
        color: var(--color-black);
    }
    
    .hero__title,
    .hero__description {
        color: var(--color-black);
    }
    
    .section--dark {
        background-color: var(--color-white);
        color: var(--color-black);
    }
    
    .service-card,
    .pricing__card {
        border: 1px solid var(--color-black);
        break-inside: avoid;
    }
}
