/* ============================================================
   RESPONSIVE STYLES
   ============================================================ */

/* Large desktops: 1200px+ — base styles apply */

/* Medium desktops: 992px - 1199px */
@media (max-width: 1199px) {
    :root {
        --container-max: 960px;
    }

    .executives-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .footer-grid {
        grid-template-columns: 1.5fr 1fr 1fr;
    }

    .footer-grid .footer-brand {
        grid-column: 1 / -1;
    }

    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stat-item {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.15);
    }

    .stat-item:nth-child(odd) {
        border-right: 1px solid rgba(255,255,255,0.15);
    }

    .stat-item:last-child,
    .stat-item:nth-last-child(2):nth-child(odd) {
        border-bottom: none;
    }
}

/* Tablets: 768px - 991px */
@media (max-width: 991px) {
    :root {
        --container-padding: 1.25rem;
    }

    h1 { font-size: var(--font-size-3xl); }
    h2 { font-size: var(--font-size-2xl); }
    h3 { font-size: var(--font-size-xl); }

    /* Header */
    .primary-nav {
        display: none;
    }

    .mobile-menu-toggle {
        display: flex;
    }

    .header-actions .btn {
        display: none;
    }

    /* Hero */
    .hero {
        min-height: 80vh;
    }

    .hero__title {
        font-size: var(--font-size-3xl);
    }

    .hero__stats {
        gap: var(--space-6);
    }

    /* Vision/Mission */
    .vision-mission__grid {
        grid-template-columns: 1fr;
    }

    /* About */
    .about-section__grid {
        grid-template-columns: 1fr;
        gap: var(--space-10);
    }

    .about-section__image-wrap img {
        height: 350px;
    }

    /* Constitution */
    .constitution-grid {
        grid-template-columns: 1fr;
        gap: var(--space-10);
    }

    /* Summits */
    .summits-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Executives */
    .executives-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .home-executives__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .nec-president-card {
        grid-template-columns: 160px 1fr;
        gap: var(--space-6);
    }

    .nec-president-card__photo,
    .nec-president-card__photo-placeholder {
        width: 160px;
        height: 160px;
    }

    /* Membership */
    .membership-tiers {
        grid-template-columns: 1fr;
        max-width: 480px;
        margin-inline: auto;
    }

    .membership-tier--featured {
        transform: none;
    }

    .membership-tier--featured:hover {
        transform: translateY(-4px);
    }

    /* Secretariat */
    .secretariat-card {
        grid-template-columns: 1fr;
    }

    .secretariat-card__map {
        min-height: 280px;
    }

    .contact-map__embed iframe {
        height: 260px;
    }

    /* Content sidebar */
    .content-sidebar {
        grid-template-columns: 1fr;
    }

    .sidebar {
        position: static;
    }

    /* Executive profile */
    .executive-profile__grid {
        grid-template-columns: 1fr;
    }

    .executive-profile__sidebar {
        position: static;
        display: grid;
        grid-template-columns: 240px 1fr;
        gap: var(--space-5);
        align-items: start;
    }

    .executive-profile__photo-card {
        max-width: 240px;
    }

    /* Donation bar */
    .donation-bar__inner {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .donation-bar__actions {
        align-items: center;
    }

    .donation-bar__amounts {
        justify-content: center;
    }

    /* Footer */
    .footer-grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-8);
    }

    .footer-brand {
        grid-column: 1 / -1;
    }

    /* Grids */
    .grid-4 {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid-3 {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile: up to 767px */
@media (max-width: 767px) {
    :root {
        --container-padding: 1rem;
        --header-height: 60px;
    }

    .section {
        padding-block: var(--space-12);
    }

    .section--lg {
        padding-block: var(--space-16);
    }

    /* Hero */
    .hero {
        min-height: 90vh;
    }

    .hero__title {
        font-size: var(--font-size-2xl);
    }

    .hero__motto {
        font-size: var(--font-size-base);
    }

    .hero__actions {
        flex-direction: column;
    }

    .hero__actions .btn {
        width: 100%;
        justify-content: center;
    }

    .hero__stats {
        gap: var(--space-5);
    }

    .hero__stat-number {
        font-size: var(--font-size-2xl);
    }

    /* Section headers */
    .section-header__title {
        font-size: var(--font-size-2xl);
    }

    /* About */
    .about-section__highlights {
        grid-template-columns: 1fr;
    }

    /* Summits */
    .summits-grid {
        grid-template-columns: 1fr;
    }

    /* Executives */
    .executives-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }

    .home-executives__grid {
        grid-template-columns: repeat(2, 1fr);
        gap: var(--space-4);
    }

    .nec-president-card {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .nec-president-card__photo,
    .nec-president-card__photo-placeholder {
        width: 140px;
        height: 140px;
        margin-inline: auto;
    }

    /* Executive profile single */
    .executive-profile__sidebar {
        grid-template-columns: 1fr;
    }

    .executive-profile__photo-card {
        max-width: 280px;
        margin-inline: auto;
    }

    /* Registration form */
    .form-row {
        grid-template-columns: 1fr;
    }

    .registration-form-wrap__body {
        padding: var(--space-6);
    }

    .registration-form-wrap__body form {
        grid-template-columns: 1fr;   /* single column on mobile */
    }

    .registration-form-wrap__header {
        padding: var(--space-6);
    }

    /* Stats — keep all 4 on same row with equal widths */
    .stats-grid {
        grid-template-columns: repeat(4, 1fr);
        gap: 0;
    }

    .stat-item {
        padding: var(--space-4) var(--space-2);
        border-right: 1px solid rgba(255,255,255,0.15);
        border-bottom: none;
    }

    .stat-item:last-child {
        border-right: none;
    }

    .stat-item__number {
        font-size: var(--font-size-2xl);
    }

    .stat-item__label {
        font-size: 0.65rem;
    }

    /* Footer — single column, all centered */
    .footer-grid {
        grid-template-columns: 1fr;
        text-align: center;
    }

    .footer-brand {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-logo {
        justify-content: center;
    }

    .footer-social {
        justify-content: center;
    }

    .footer-nav__title {
        text-align: center;
    }

    .footer-nav__list a {
        justify-content: center;
    }

    .footer-contact__item {
        justify-content: center;
        text-align: left;
    }

    .footer-contact {
        display: flex;
        flex-direction: column;
        align-items: center;
    }

    .footer-contact__item {
        width: 100%;
        max-width: 280px;
    }

    .footer-bottom__inner {
        flex-direction: column;
        text-align: center;
    }

    .footer-bottom__links {
        justify-content: center;
        flex-wrap: wrap;
        gap: var(--space-3);
    }

    /* Grids */
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }

    /* Page banner */
    .page-banner__title {
        font-size: var(--font-size-2xl);
    }

    /* Back to top */
    .back-to-top {
        bottom: var(--space-5);
        right: var(--space-5);
    }

    /* Donation widget amounts */
    .donation-widget__amounts {
        grid-template-columns: repeat(2, 1fr);
    }

    /* CTA banner */
    .cta-banner__actions {
        flex-direction: column;
        align-items: center;
    }

    .cta-banner__actions .btn {
        width: 100%;
        max-width: 300px;
        justify-content: center;
    }

    /* Membership category options */
    .membership-category-options {
        grid-template-columns: 1fr;
    }

    /* Form radio group */
    .form-radio-group {
        flex-direction: column;
        gap: var(--space-2);
    }

    /* Form row 3-col */
    .form-row--3 {
        grid-template-columns: 1fr;
    }

    /* Summit tier options */
    .summit-tier-option {
        flex-direction: column;
        align-items: flex-start;
        gap: var(--space-3);
    }

    /* Executive profile sections */
    .executive-profile__section {
        padding: var(--space-5);
    }
}

/* Small mobile: up to 480px */
@media (max-width: 480px) {
    .executives-grid {
        grid-template-columns: 1fr;
    }

    .home-executives__grid {
        grid-template-columns: 1fr;
    }

    /* Stats: 2x2 grid on very small screens */
    .stats-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .stat-item {
        border-right: none;
        border-bottom: 1px solid rgba(255,255,255,0.15);
        padding: var(--space-5) var(--space-4);
    }

    .stat-item:nth-child(odd) {
        border-right: 1px solid rgba(255,255,255,0.15);
    }

    .stat-item:nth-last-child(-n+2) {
        border-bottom: none;
    }

    .stat-item__number {
        font-size: var(--font-size-3xl);
    }

    .stat-item__label {
        font-size: var(--font-size-xs);
    }

    .hero__stat-number {
        font-size: var(--font-size-xl);
    }

    .summit-card__year {
        font-size: var(--font-size-3xl);
    }
}

/* Print styles */
@media print {
    .site-header,
    .site-footer,
    .donation-bar,
    .back-to-top,
    .hero__scroll {
        display: none !important;
    }

    body {
        padding-top: 0;
    }

    .page-banner {
        background: none !important;
        color: var(--color-text) !important;
        padding: var(--space-4) 0;
    }

    .page-banner__title {
        color: var(--color-text) !important;
    }
}
