/* ============================================
   SAD NGO - Responsive Breakpoints
   ============================================ */

/* Tablet landscape */
@media (max-width: 1024px) {
    .grid--4 { grid-template-columns: repeat(2, 1fr); }
    .grid--3 { grid-template-columns: repeat(2, 1fr); }
    .footer__grid { grid-template-columns: repeat(2, 1fr); }
    .stats { grid-template-columns: repeat(2, 1fr); }
    .stat + .stat::before { display: none; }
    .axis-section {
        grid-template-columns: 1fr;
        gap: 2rem;
    }
    .axis-section:nth-child(even) {
        direction: ltr;
    }
}

/* Tablet portrait */
@media (max-width: 768px) {
    :root {
        --header-height: 60px;
    }

    .section {
        padding: 3.5rem 0;
    }

    /* Mobile Navigation */
    .nav {
        position: fixed;
        top: 0;
        right: -100%;
        width: 80%;
        max-width: 320px;
        height: 100vh;
        background: var(--white);
        flex-direction: column;
        align-items: flex-start;
        padding: 6rem 2rem 2rem;
        box-shadow: var(--shadow-xl);
        transition: right var(--transition);
        gap: 0;
    }

    .nav--open {
        right: 0;
    }

    .nav__link {
        color: var(--gray-700) !important;
        font-size: 0.95rem;
        padding: 0.65rem 0;
        width: 100%;
        border-bottom: 1px solid var(--gray-100);
    }

    .nav__link--active {
        color: var(--accent-dark) !important;
    }

    .nav__link--active::after {
        display: none;
    }

    .lang-switch {
        margin-left: auto;
        margin-right: 0.5rem;
    }

    .btn-donate {
        margin-left: 0.25rem;
        margin-right: 0.25rem;
        padding: 0.45rem 0.95rem;
        font-size: 0.8rem;
    }

    .lang-switch__btn {
        width: 32px;
        height: 32px;
    }

    .lang-flag {
        width: 18px;
        height: 13px;
    }

    .menu-toggle {
        display: flex;
    }

    /* Mobile overlay */
    .nav-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,0.5);
        z-index: 999;
    }

    .nav-overlay--visible {
        display: block;
    }

    /* Grid adjustments */
    .grid--2 { grid-template-columns: 1fr; }
    .grid--3 { grid-template-columns: 1fr; }
    .grid--4 { grid-template-columns: 1fr; }

    .footer__grid {
        grid-template-columns: 1fr;
        gap: 2rem;
    }

    .hero {
        padding: 6rem 1.5rem 3.5rem;
    }

    .hero__subtitle {
        display: none;
    }

    .hero__title {
        font-size: clamp(1.6rem, 6vw, 2.4rem);
    }

    .hero__lead {
        font-size: 1rem;
        margin-bottom: 1.25rem;
    }

    .hero__desc {
        font-size: 1rem;
    }

    .hero__buttons {
        flex-direction: column;
        align-items: flex-start;
    }

    .hero__footer {
        margin-top: 1.5rem;
    }

    .hero__nav {
        display: none;
    }

    .hero__wave {
        height: 40px;
    }

    .page-header {
        padding: calc(var(--header-height) + 2rem) 1.5rem 4rem;
    }

    .page-header__wave {
        height: 32px;
    }

    #articleTitle.page-header__title {
        font-size: clamp(1.2rem, 4vw, 1.55rem);
        line-height: 1.25;
    }

    .article-page #articleBreadcrumb {
        display: none;
    }

    .article-page .page-header__breadcrumb .page-header__sep:last-of-type {
        display: none;
    }

    .article-back-link {
        display: none;
    }

    .partners-mosaic {
        gap: 1.75rem 2rem;
        padding: 1.5rem 0.5rem 2rem;
    }

    .partners-page .partner-logo img {
        max-height: 72px;
        max-width: 140px;
    }

    .partner-logo--carousel img {
        max-height: 64px;
        max-width: 130px;
    }

    .partners-carousel {
        overflow: hidden;
        -webkit-mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
        mask-image: linear-gradient(to right, transparent 0%, #000 6%, #000 94%, transparent 100%);
    }

    .partners-carousel__track {
        display: flex;
        flex-wrap: nowrap;
        width: max-content;
        gap: 2rem;
        animation: partnersCarouselScroll 12s linear infinite;
        -webkit-animation: partnersCarouselScroll 12s linear infinite;
    }

    .partners-showcase {
        padding: 1.5rem 0 2rem;
    }

    .stats-banner {
        padding: 3rem 0;
    }

    .cta-banner {
        padding: 4rem 0;
    }

    .cta-banner__content {
        padding: 2rem 1.5rem;
    }

    .cta-banner:hover .cta-banner__bg-img {
        transform: none;
    }

    .cta-banner__title {
        font-size: 1.6rem;
    }

    .newsletter-card__inner {
        grid-template-columns: 1fr;
    }

    .newsletter-card__title {
        max-width: none;
    }

    .newsletter-card {
        border-radius: 22px;
        padding: 1.5rem;
    }

    .newsletter-card__panel {
        padding: 1.35rem;
    }

    .section__subtitle::before,
    .section__subtitle::after {
        width: 20px;
    }

    .section--decorated::before,
    .section--decorated::after {
        display: none;
    }
}

/* Mobile */
@media (max-width: 480px) {
    .section {
        padding: 2.5rem 0;
    }

    .container {
        padding: 0 1rem;
    }

    .stats {
        grid-template-columns: repeat(2, 1fr);
        gap: 1rem;
    }

    .stat__number {
        font-size: 2.2rem;
    }

    .card__body {
        padding: 1.25rem;
    }

    .btn {
        padding: 0.75rem 1.5rem;
        font-size: 0.9rem;
    }

    .btn--lg {
        padding: 0.85rem 2rem;
        font-size: 0.95rem;
    }

    .pillar {
        padding: 2rem 1.25rem;
    }

    .value-item {
        flex-direction: column;
        text-align: center;
    }

    .value-item__icon {
        align-self: center;
    }

    .footer__socials {
        justify-content: center;
    }

    .scroll-top {
        bottom: 1rem;
        right: 1rem;
        width: 42px;
        height: 42px;
    }

    .btn-donate span {
        display: none;
    }

    .btn-donate {
        padding: 0.55rem;
        border-radius: 50%;
    }

    .donate-modal__card {
        padding: 2rem 1.5rem 1.75rem;
    }
}
