/* General buffet landing page */
.buffet-landing {
    color: #f8f3e9;
    margin: 0 auto;
    max-width: 1560px;
    padding: clamp(1rem, 3vw, 2.5rem) clamp(1rem, 4vw, 4rem) 5rem;
}

.buffet-landing__hero {
    align-items: center;
    background: radial-gradient(circle at 8% 8%, #3d2a23, #211d1a 45%, #171614 100%);
    border: 1px solid #4a3830;
    border-radius: 30px;
    display: grid;
    gap: clamp(2rem, 5vw, 5rem);
    grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr);
    overflow: hidden;
    padding: clamp(1.5rem, 5vw, 5rem);
}

.buffet-landing__hero-copy { max-width: 650px; }
.buffet-landing h1,
.buffet-landing h2,
.buffet-landing h3 { color: #fff8e9; line-height: 1.1; }
.buffet-landing h1 { color: var(--spice); font-family: inherit; font-size: clamp(3rem, 6.2vw, 5.4rem); font-weight: 680; letter-spacing: 0; line-height: .98; margin: .5rem 0 1rem; max-width: 11.5ch; }
.buffet-landing .hero-rating.buffet-landing__rating { align-items: center; display: inline-flex; gap: .6rem; margin: .1rem 0 1.4rem; }
.buffet-landing__rating .hero-rating__logo { display: block; height: 1.45rem; object-fit: contain; width: auto; }
.buffet-landing__rating .hero-rating__stars { color: #00aa6c; font-size: .95em; font-weight: 950; letter-spacing: .08em; line-height: 1; }
.buffet-landing h2 { font-size: clamp(2rem, 3.7vw, 3.6rem); font-weight: 800; margin: .5rem 0 1rem; }
.buffet-landing .commerce-kicker { color: #ffd247; }
.buffet-landing p:not(.commerce-kicker) { color: #ded6c9; }
.buffet-landing__hero-copy > p:not(.commerce-kicker) { font-size: clamp(1.08rem, 1.35vw, 1.3rem); line-height: 1.6; }
.buffet-landing__actions { align-items: center; display: flex; flex-wrap: wrap; gap: 1rem 1.5rem; margin-top: 2rem; }
.buffet-landing__actions .button { font-size: 1.05rem; padding: .9rem 1.5rem; }
.buffet-landing__text-link { color: #fff5dc; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 4px; }
.buffet-landing__hero-image { aspect-ratio: 1.08; border-radius: 26px; min-height: 300px; overflow: hidden; position: relative; }
.buffet-landing__hero-image img,
.buffet-landing__card-image img,
.buffet-landing__split-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.buffet-landing__hero-image span { background: #24211e; border: 1px solid #655443; border-radius: 999px; bottom: 1rem; color: #fff8e9; font-size: .9rem; font-weight: 700; left: 1rem; padding: .65rem 1rem; position: absolute; }
.buffet-landing__section { padding: clamp(3rem, 6vw, 6rem) 0; scroll-margin-top: 6rem; }
.buffet-landing__section-head { margin: 0 auto 2.25rem; max-width: 760px; text-align: center; }
.buffet-landing__section-head > p:last-child { font-size: 1.07rem; line-height: 1.6; }
.buffet-landing__grid { display: grid; gap: 1.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.buffet-landing__card { background: #24221f; border: 1px solid #49433d; border-radius: 22px; display: flex; flex-direction: column; overflow: hidden; }
.buffet-landing__card-image { aspect-ratio: 1.28; background: #191817; display: block; overflow: hidden; }
.buffet-landing__card-image img { transition: transform .3s ease; }
.buffet-landing__card-image:hover img { transform: scale(1.035); }
.buffet-landing__card-body { display: flex; flex: 1; flex-direction: column; padding: clamp(1.25rem, 2vw, 2rem); }
.buffet-landing__card h3 { font-size: clamp(1.4rem, 2vw, 1.9rem); margin: 0 0 .75rem; }
.buffet-landing__card-body > p { line-height: 1.55; margin: 0 0 1.5rem; }
.buffet-landing__card-bottom { align-items: flex-end; display: flex; flex-wrap: wrap; gap: .75rem; justify-content: space-between; margin-top: auto; }
.buffet-landing__card-bottom .button { padding-inline: 1.2rem; }
.buffet-landing__price { font-size: 1.35rem; font-weight: 800; white-space: nowrap; }
.buffet-landing__price small { font-size: .85rem; font-weight: 500; }
.buffet-landing p.buffet-landing__note { color: #cfc4b6; font-size: .95rem; line-height: 1.5; margin: 1.4rem 0 0; text-align: center; }
.buffet-landing__empty { text-align: center; }
.buffet-landing__split { align-items: center; background: linear-gradient(135deg, #30201e, #211d1b); border: 1px solid #51403b; border-radius: 28px; display: grid; gap: clamp(2rem, 5vw, 5rem); grid-template-columns: 1fr 1fr; margin-top: clamp(1.5rem, 3vw, 2.5rem); overflow: hidden; padding: clamp(1.5rem, 4vw, 4rem); scroll-margin-top: 6rem; }
.buffet-landing__split > div:first-child { max-width: 600px; }
.buffet-landing__split p:not(.commerce-kicker) { font-size: 1.1rem; line-height: 1.6; }
.buffet-landing--after-reviews { padding-top: 0; }
.buffet-landing__split .buffet-landing__exception { border-top: 1px solid #5b4840; font-size: 1rem; margin: 1.5rem 0 0; padding-top: 1.25rem; }
.buffet-landing__exception a { color: #ffd247; font-weight: 700; text-decoration-thickness: 1px; text-underline-offset: 3px; }
.buffet-landing__exception a:hover { color: #fff0a3; }
.buffet-landing__split-actions { align-items: center; display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1.5rem; }
.buffet-landing__split-image { aspect-ratio: 1.25; border-radius: 20px; overflow: hidden; }
.buffet-landing__business { align-items: center; border-bottom: 1px solid #514841; display: flex; gap: 2rem; justify-content: space-between; margin-top: 2rem; padding: clamp(2rem, 4vw, 4rem) 0; }
.buffet-landing__business > div { max-width: 680px; }
.buffet-landing__business h2 { font-size: clamp(1.7rem, 2.6vw, 2.7rem); }
.buffet-landing__business p:not(.commerce-kicker) { line-height: 1.6; }
.buffet-landing__business .button { flex-shrink: 0; }
.buffet-landing .button.secondary { background: #2c2824; border: 1px solid #706252; color: #fff8e9; }
.buffet-landing .button.secondary:hover { background: #39322b; }

@media (max-width: 900px) {
    .buffet-landing__hero { gap: 2rem; grid-template-columns: 1fr; }
    .buffet-landing__hero-image { aspect-ratio: 1.5; }
    .buffet-landing__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .buffet-landing { padding-inline: 1rem; }
    .buffet-landing__hero { border-radius: 20px; padding: 1.5rem; }
    .buffet-landing h1 { font-size: clamp(2.15rem, 10.5vw, 2.95rem); line-height: .94; max-width: 11ch; }
    .buffet-landing .hero-rating.buffet-landing__rating { gap: .48rem; margin-bottom: 1rem; }
    .buffet-landing__rating .hero-rating__logo { height: 1.35rem; }
    .buffet-landing__rating .hero-rating__stars { font-size: 1rem; }
    .buffet-landing__hero-image { aspect-ratio: 1.15; min-height: 0; }
    .buffet-landing__grid,
    .buffet-landing__split { grid-template-columns: 1fr; }
    .buffet-landing__split { border-radius: 20px; }
    .buffet-landing__split-actions { align-items: stretch; flex-direction: column; }
    .buffet-landing__split-actions .button { width: 100%; }
    .buffet-landing__business { align-items: flex-start; flex-direction: column; }
}
