/* ==========================================================================
   Piros Ász — responsive.css
   768px, 1024px, 1280px breakpoint overrides.
   ========================================================================== */

/* ========== TABLET: 768px ========== */
@media (min-width: 768px) {

    /* Layout */
    .pa-container {
        padding-left: var(--s-24);
        padding-right: var(--s-24);
    }

    .pa-section {
        padding-top: var(--s-80);
        padding-bottom: var(--s-80);
    }

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

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

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

    .pa-two-col {
        grid-template-columns: 1fr 1fr;
    }

    /* Header — update variable at root level for scroll-padding etc. */
    :root {
        --header-h: 72px;
    }

    .pa-header {
        height: var(--header-h);
    }

    .pa-nav {
        display: flex;
    }

    .pa-hamburger {
        display: none;
    }

    .pa-mobile-menu {
        display: none;
    }

    .pa-header-spacer {
        height: var(--header-h);
    }

    /* Hero */
    .pa-hero__content {
        padding-left: var(--s-48);
    }

    /* Forms */
    .pa-form__grid {
        grid-template-columns: repeat(2, 1fr);
    }

    .pa-form__submit-row {
        flex-direction: row;
        align-items: center;
    }

    .pa-form__submit-row .pa-btn {
        width: auto;
    }

    .pa-form__radio-group {
        flex-direction: row;
        flex-wrap: wrap;
    }

    .pa-form__radio {
        flex: 1;
        min-width: 180px;
    }

    /* Filter grid */
    .pa-filter-grid {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Footer */
    .pa-footer__grid {
        grid-template-columns: repeat(3, 1fr);
    }

    .pa-footer__bottom-inner {
        flex-direction: row;
        flex-wrap: wrap;
        justify-content: center;
        gap: var(--s-24);
    }

    /* Steps */
    .pa-steps {
        grid-template-columns: repeat(2, 1fr);
    }

    .pa-two-col .pa-steps {
        grid-template-columns: 1fr;
    }

    /* Gallery */
    .pa-gallery {
        grid-template-columns: repeat(2, 1fr);
    }

    /* Quick form */
    .pa-quick-form {
        flex-wrap: nowrap;
    }

    /* Menu sidebar — still horizontal on tablet */
    .pa-menu-nav__list {
        gap: var(--s-4);
    }

    /* Table */
    .pa-table {
        font-size: 0.9375rem;
    }
}

/* ========== DESKTOP: 1024px ========== */
@media (min-width: 1024px) {

    /* Grid */
    .pa-grid--3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .pa-grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }

    /* Hero */
    .pa-hero__content {
        padding-left: var(--s-64);
    }

    .pa-hero--cinematic .pa-hero__content {
        padding-top: calc(var(--header-h) + var(--s-96));
        padding-bottom: var(--s-120);
    }

    /* Filter grid */
    .pa-filter-grid {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Steps standalone */
    .pa-steps:not(.pa-two-col .pa-steps) {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Gallery */
    .pa-gallery {
        grid-template-columns: repeat(3, 1fr);
    }

    /* Menu layout — sidebar becomes sticky */
    .pa-menu-layout {
        grid-template-columns: 220px 1fr;
    }

    .pa-menu-nav {
        position: sticky;
        top: calc(var(--header-h) + var(--s-24));
        align-self: start;
    }

    .pa-menu-nav__list {
        flex-direction: column;
        overflow-x: visible;
    }

    .pa-menu-nav__link {
        border-radius: var(--r-sm);
    }

    /* CTA block */
    .pa-cta-block {
        padding: var(--s-64) var(--s-48);
    }

    /* Age gate actions row */
    .pa-age-gate__actions {
        flex-direction: row;
        justify-content: center;
    }
}

/* ========== WIDE: 1280px ========== */
@media (min-width: 1280px) {

    /* Container */
    .pa-container {
        padding-left: var(--s-32);
        padding-right: var(--s-32);
    }

    /* Section spacing */
    .pa-section {
        padding-top: var(--s-96);
        padding-bottom: var(--s-96);
    }

    /* Hero */
    .pa-hero__content {
        padding-left: var(--s-80);
    }

    /* Filter grid 4 columns for events */
    .pa-filter-grid--4 {
        grid-template-columns: repeat(4, 1fr);
    }
}
