/* Restaurant page styles */

.restaurant-hero {
    position: relative;
    min-height: 80vh;
    display: flex;
    align-items: flex-end;
    background-color: var(--color-charcoal-900);
    overflow: hidden;
}

.restaurant-hero__image {
    position: absolute;
    inset: 0;
    z-index: 0;
}

.restaurant-hero__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
}

.restaurant-hero__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background: linear-gradient(to bottom, rgba(20, 22, 20, 0) 0%, rgba(20, 22, 20, 0.6) 100%);
}

.restaurant-hero__content {
    position: relative;
    z-index: 2;
    padding-block: var(--space-3xl) var(--space-2xl);
    width: 100%;
}

.restaurant-hero__text {
    max-width: 600px;
    text-align: left;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.restaurant-hero__eyebrow {
    margin-block-end: 0;
}

.restaurant-hero__title {
    font-size: clamp(2.6rem, 5vw, 4.2rem);
    line-height: 1.02;
    letter-spacing: -0.015em;
    margin-block-end: 0;
    max-width: 12ch;
}

.restaurant-hero__lead {
    font-size: 1.125rem;
    line-height: 1.65;
    max-width: 32ch;
    margin-block-end: 0;
}

.restaurant-hero__support {
    font-size: 1rem;
    line-height: 1.6;
    color: var(--color-ivory-300);
    max-width: 42ch;
    margin-block-end: 0;
}

.restaurant-dining-room__grid {
    display: grid;
    grid-template-columns: 5fr 7fr;
    gap: var(--space-2xl);
    align-items: center;
}

.restaurant-dining-room__text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.restaurant-dining-room__text .eyebrow {
    margin-block-end: 0;
}

.restaurant-dining-room__text h2 {
    margin-block-end: 0;
}

.restaurant-dining-room__text p {
    margin-block-end: 0;
    max-width: 32ch;
}

.restaurant-dining-room__media {
    min-width: 0;
    margin-block-end: 0;
}

.restaurant-dining-room__img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: var(--radius-default);
}

.restaurant-dining-room__media figcaption {
    margin-block-start: var(--space-xs);
}

.restaurant-philosophy {
    background-color: var(--color-felt-900);
}

.restaurant-philosophy__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
}

.restaurant-philosophy__intro {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.restaurant-philosophy__intro .eyebrow {
    margin-block-end: 0;
}

.restaurant-philosophy__intro h2 {
    margin-block-end: 0;
}

.restaurant-philosophy__intro p {
    margin-block-end: 0;
    max-width: 42ch;
    margin-inline: auto;
}

.restaurant-philosophy__dishes {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2xl);
}

.restaurant-philosophy__dish-column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.restaurant-philosophy__dish-heading {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-brass-500);
    margin-block-end: 0;
}

.restaurant-philosophy__dish-list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.restaurant-philosophy__dish-list li {
    margin-block-end: 0;
    color: var(--color-ivory-100);
}

.restaurant-poker-dining__grid {
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: var(--space-2xl);
    align-items: start;
}

.restaurant-poker-dining__text {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.restaurant-poker-dining__text .eyebrow {
    margin-block-end: 0;
}

.restaurant-poker-dining__text h2 {
    margin-block-end: 0;
}

.restaurant-poker-dining__text p {
    margin-block-end: 0;
    max-width: 42ch;
}

.restaurant-poker-dining__callout {
    background-color: var(--color-charcoal-800);
    border-left: 2px solid var(--color-brass-500);
    border-radius: var(--radius-default);
    padding: var(--space-lg);
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
    transition: border-color var(--transition-fast);
}

.restaurant-poker-dining__callout:hover {
    border-left-color: var(--color-brass-300);
}

.restaurant-poker-dining__callout-title {
    margin-block-end: 0;
    color: var(--color-brass-500);
}

.restaurant-poker-dining__callout p {
    margin-block-end: 0;
    color: var(--color-ivory-300);
    max-width: 30ch;
}

.restaurant-menu-glance__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-2xl);
}

.restaurant-menu-glance__intro {
    max-width: 720px;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.restaurant-menu-glance__intro .eyebrow {
    margin-block-end: 0;
}

.restaurant-menu-glance__intro h2 {
    margin-block-end: 0;
}

.restaurant-menu-glance__intro p {
    margin-block-end: 0;
    max-width: 42ch;
}

.restaurant-menu-glance__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2xl);
}

.restaurant-menu-glance__column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.restaurant-menu-glance__category {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-brass-500);
    margin-block-end: 0;
}

.restaurant-menu-glance__item {
    margin-block-end: 0;
    color: var(--color-ivory-300);
}

.restaurant-private-events__inner {
    max-width: 800px;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.restaurant-private-events__inner .eyebrow {
    margin-block-end: 0;
}

.restaurant-private-events__inner h2 {
    margin-block-end: 0;
}

.restaurant-private-events__inner p {
    margin-block-end: 0;
    max-width: 42ch;
}

.restaurant-private-events__list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.restaurant-private-events__list li {
    margin-block-end: 0;
    color: var(--color-ivory-300);
    padding-inline-start: var(--space-lg);
    position: relative;
}

.restaurant-private-events__list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.6em;
    width: 6px;
    height: 6px;
    background-color: var(--color-brass-500);
    border-radius: 50%;
}

.restaurant-private-events__cta {
    align-self: flex-start;
    margin-block-start: var(--space-sm);
}

.restaurant-hours-location__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-2xl);
    align-items: start;
}

.restaurant-hours-location__column {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
}

.restaurant-hours-location__column .eyebrow {
    margin-block-end: 0;
}

.restaurant-hours-location__column h2 {
    margin-block-end: 0;
}

.restaurant-hours-location__column p {
    margin-block-end: 0;
    max-width: 32ch;
}

.restaurant-hours-location__details {
    min-width: 0;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--space-lg);
    border-left: 1px solid var(--color-charcoal-700);
    padding-inline-start: var(--space-2xl);
}

.restaurant-hours-location__hours,
.restaurant-hours-location__address {
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-sm);
}

.restaurant-hours-location__subheading {
    font-family: var(--font-body);
    font-size: 1rem;
    font-weight: 600;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-brass-500);
    margin-block-end: 0;
}

.restaurant-hours-location__list {
    list-style: none;
    padding-inline-start: 0;
    margin-block-end: 0;
    display: flex;
    flex-direction: column;
    gap: var(--space-xs);
}

.restaurant-hours-location__list li {
    margin-block-end: 0;
    color: var(--color-ivory-300);
}

.restaurant-hours-location__address p {
    margin-block-end: 0;
    color: var(--color-ivory-300);
}

.restaurant-reserve {
    background-color: var(--color-felt-900);
}

.restaurant-reserve__inner {
    max-width: 720px;
    margin-inline: auto;
    text-align: center;
    display: flex;
    flex-direction: column;
    gap: var(--space-md);
    align-items: center;
}

.restaurant-reserve__inner .eyebrow {
    margin-block-end: 0;
}

.restaurant-reserve__inner h2 {
    margin-block-end: 0;
}

.restaurant-reserve__inner p {
    margin-block-end: 0;
    max-width: 42ch;
    margin-inline: auto;
}

.restaurant-reserve__actions {
    display: flex;
    flex-wrap: wrap;
    gap: var(--space-md);
    justify-content: center;
    margin-block-start: var(--space-sm);
}

.restaurant-reserve__btn {
    min-width: 0;
}

.restaurant-reserve__btn--secondary {
    border-color: var(--color-brass-500);
    background-color: transparent;
    color: var(--color-ivory-100);
}

.restaurant-reserve__btn--secondary:hover {
    background-color: var(--color-brass-500);
    color: var(--color-charcoal-900);
    border-color: var(--color-brass-500);
}

@media (min-width: 1024px) {
    .restaurant-hero {
        min-height: 80vh;
    }
}

@media (min-width: 768px) and (max-width: 1023px) {
    .restaurant-hero {
        min-height: 70vh;
    }

    .restaurant-hero__text {
        max-width: 520px;
    }

    .restaurant-dining-room__grid {
        grid-template-columns: 1fr 1fr;
        gap: var(--space-xl);
    }

    .restaurant-poker-dining__grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .restaurant-hours-location__grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .restaurant-hours-location__details {
        border-left: none;
        padding-inline-start: 0;
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 767px) {
    .restaurant-hero {
        min-height: 70vh;
        align-items: center;
    }

    .restaurant-hero__content {
        padding-block: var(--space-2xl);
    }

    .restaurant-hero__text {
        max-width: 100%;
        text-align: center;
        align-items: center;
    }

    .restaurant-hero__title {
        font-size: clamp(2.6rem, 10vw, 3.5rem);
        max-width: 100%;
    }

    .restaurant-hero__lead,
    .restaurant-hero__support {
        max-width: 100%;
    }

    .restaurant-dining-room__grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .restaurant-dining-room__media {
        order: -1;
    }

    .restaurant-dining-room__img {
        aspect-ratio: 4 / 3;
    }

    .restaurant-philosophy__dishes {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .restaurant-poker-dining__grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .restaurant-menu-glance__grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .restaurant-private-events__cta {
        align-self: stretch;
        width: 100%;
    }

    .restaurant-hours-location__grid {
        grid-template-columns: 1fr;
        gap: var(--space-lg);
    }

    .restaurant-hours-location__details {
        grid-template-columns: 1fr;
        border-left: none;
        padding-inline-start: 0;
        gap: var(--space-md);
    }

    .restaurant-reserve__actions {
        flex-direction: column;
        width: 100%;
    }

    .restaurant-reserve__btn {
        width: 100%;
    }
}
