/* Stoly pokerowe – page-owned styles */

.stoly-pokerowe-main {
    display: block;
}

/* Hero */
.stoly-hero {
    position: relative;
    padding-block: var(--space-10) var(--space-9);
    overflow: hidden;
    background-color: var(--color-forest);
    color: var(--color-off-white);
}

.stoly-hero__media {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.stoly-hero__media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    opacity: 0.35;
}

.stoly-hero__content {
    position: relative;
    z-index: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-6);
    max-width: 720px;
    margin-inline: auto;
    padding-inline: var(--container-padding-desktop);
}

.stoly-hero__content h1 {
    color: var(--color-off-white);
    margin-block-end: 0;
}

.stoly-hero__lead {
    font-size: var(--text-body-large-size);
    line-height: var(--text-body-large-line-height);
    color: var(--color-off-white);
    max-width: 620px;
    margin-block-end: 0;
}

.stoly-hero__actions {
    display: flex;
    justify-content: center;
    width: 100%;
}

.stoly-hero__cta {
    min-width: 200px;
}

/* Nasze stoły */
.stoly-nasze-stoly__grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: var(--space-7);
    align-items: center;
}

.stoly-nasze-stoly__text {
    min-width: 0;
}

.stoly-nasze-stoly__media {
    min-width: 0;
}

.stoly-nasze-stoly__media img {
    width: 100%;
    height: auto;
    aspect-ratio: 3 / 2;
    object-fit: cover;
}

/* Atmosfera gry */
.stoly-atmosfera__grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-7);
    align-items: center;
}

.stoly-atmosfera__text {
    min-width: 0;
}

.stoly-atmosfera__media {
    min-width: 0;
}

.stoly-atmosfera__media img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* Dla kogo */
.stoly-dla-kogo__grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: var(--space-7);
    align-items: center;
}

.stoly-dla-kogo__text {
    min-width: 0;
}

.stoly-dla-kogo__media {
    min-width: 0;
}

.stoly-dla-kogo__media img {
    width: 100%;
    height: auto;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

/* Rezerwacja */
.stoly-rezerwacja__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--space-6);
    max-width: 720px;
    margin-inline: auto;
    padding-inline: var(--container-padding-desktop);
}

.stoly-rezerwacja__content h2 {
    color: var(--color-off-white);
    margin-block-end: 0;
}

.stoly-rezerwacja__content p {
    color: var(--color-off-white);
    max-width: 620px;
    margin-block-end: 0;
}

.stoly-rezerwacja__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-3);
    color: var(--color-off-white);
}

.stoly-rezerwacja__list a {
    color: var(--color-off-white);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.stoly-rezerwacja__list a:hover {
    color: var(--color-warm-gray);
}

.stoly-rezerwacja__actions {
    display: flex;
    justify-content: center;
    width: 100%;
}

.stoly-rezerwacja__cta {
    background-color: var(--color-garden-green);
    min-width: 220px;
}

.stoly-rezerwacja__cta:hover {
    background-color: var(--color-forest);
}

/* FAQ */
.stoly-faq__list {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
    margin-block-start: var(--space-6);
}

.stoly-faq__item {
    border: var(--border-width) var(--border-style) var(--border-color);
    background-color: var(--color-off-white);
}

.stoly-faq__question {
    display: block;
    width: 100%;
    padding: var(--space-4) var(--space-5);
    font-family: var(--font-sans);
    font-size: var(--text-body-size);
    font-weight: 600;
    line-height: var(--text-body-line-height);
    color: var(--color-graphite);
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    transition: color var(--transition-fast);
}

.stoly-faq__question:hover {
    color: var(--color-forest);
}

.stoly-faq__question:focus-visible {
    outline: var(--focus-outline-width) solid var(--focus-outline-color);
    outline-offset: -2px;
}

.stoly-faq__answer {
    padding: 0 var(--space-5) var(--space-4);
    color: var(--color-graphite);
    line-height: var(--text-body-line-height);
}

/* Copy helpers */
.stoly-copy-left {
    max-width: 720px;
    text-align: left;
}

.stoly-copy-left h2,
.stoly-copy-left h3 {
    margin-block-end: var(--space-5);
}

.stoly-copy-left p {
    margin-block-end: var(--space-5);
}

.stoly-copy-left ul,
.stoly-copy-left ol {
    margin-block-end: var(--space-5);
    padding-inline-start: var(--space-5);
}

.stoly-copy-left ul:last-child,
.stoly-copy-left ol:last-child {
    margin-block-end: 0;
}

/* Tablet */
@media (max-width: 1024px) {
    .stoly-hero {
        padding-block: var(--space-9) var(--space-8);
    }

    .stoly-hero__content,
    .stoly-rezerwacja__content {
        padding-inline: var(--container-padding-tablet);
    }

    .stoly-nasze-stoly__grid,
    .stoly-atmosfera__grid,
    .stoly-dla-kogo__grid {
        gap: var(--space-6);
    }
}

/* Mobile */
@media (max-width: 640px) {
    .stoly-hero {
        padding-block: var(--space-8) var(--space-7);
    }

    .stoly-hero__content,
    .stoly-rezerwacja__content {
        padding-inline: var(--container-padding-mobile);
        gap: var(--space-5);
    }

    .stoly-hero__lead {
        font-size: var(--text-body-size);
    }

    .stoly-hero__cta,
    .stoly-rezerwacja__cta {
        width: 100%;
        min-width: 0;
    }

    .stoly-nasze-stoly__grid,
    .stoly-atmosfera__grid,
    .stoly-dla-kogo__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: var(--space-5);
    }

    .stoly-nasze-stoly__media img,
    .stoly-atmosfera__media img,
    .stoly-dla-kogo__media img {
        aspect-ratio: 4 / 3;
    }

    .stoly-rezerwacja__list {
        text-align: center;
    }

    .stoly-faq__question {
        padding: var(--space-3) var(--space-4);
    }

    .stoly-faq__answer {
        padding: 0 var(--space-4) var(--space-3);
    }
}
