@layer components {
  .rt-main {
    background: radial-gradient(circle at 0 0, rgba(209, 180, 119, 0.06), transparent 55%), #0A0D0F;
  }
  .rt-restaurant-hero {
    border-top: 1px solid rgba(102, 80, 68, 0.6);
  }
  .rt-restaurant-hero__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--space-4);
  }
  .rt-restaurant-hero__media {
    align-self: stretch;
  }
  .rt-restaurant-hero__seal {
    background: radial-gradient(circle, rgba(36, 24, 20, 0.96), #291720);
  }
  .rt-restaurant-section {
    padding: var(--space-12) 0;
    background: radial-gradient(circle at 100% 0, rgba(113, 140, 120, 0.08), transparent 55%), #0A0D0F;
  }
  .rt-restaurant-section--accent {
    background: radial-gradient(circle at 0 0, rgba(198, 106, 74, 0.08), transparent 55%), #101B19;
  }
  .rt-restaurant-section--tiled {
    background: linear-gradient(135deg, #101B19, #241814);
  }
  .rt-restaurant-section--facts {
    background: #0A0D0F;
    border-top: 1px solid rgba(102, 80, 68, 0.6);
    border-bottom: 1px solid rgba(102, 80, 68, 0.6);
  }
  .rt-restaurant-section__inner {
    display: flex;
    flex-direction: column;
    gap: var(--space-8);
  }
  .rt-restaurant-section__header {
    max-width: 720px;
  }
  .rt-restaurant-section__header--compact {
    max-width: 640px;
  }
  .rt-restaurant-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
    gap: var(--space-10);
    align-items: flex-start;
  }
  .rt-restaurant-grid--reverse {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  }
  .rt-restaurant-grid--image-dominant {
    grid-template-columns: minmax(0, 1.1fr) minmax(0, 1.1fr);
  }
  .rt-restaurant-grid__content {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  .rt-restaurant-grid__meta {
    display: flex;
  }
  .rt-restaurant-grid__media {
    display: flex;
  }
  .rt-restaurant-card {
    width: 100%;
  }
  .rt-restaurant-card--note {
    background: radial-gradient(circle at 0 0, rgba(209, 180, 119, 0.14), transparent 50%), #142B2A;
  }
  .rt-restaurant-list {
    display: flex;
    flex-direction: column;
    gap: var(--space-4);
  }
  .rt-restaurant-list__item h3 {
    font-size: var(--text-lg);
    margin-bottom: var(--space-2);
  }
  .rt-restaurant-bullets {
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
    font-size: var(--text-sm);
    color: var(--color-text-muted);
  }
  .rt-restaurant-bullets li::before {
    content: "";
    display: inline-block;
    width: 6px;
    height: 6px;
    margin-right: 0.5rem;
    border-radius: 999px;
    background: var(--color-highlight);
    box-shadow: 0 0 0 1px rgba(102, 80, 68, 0.7);
    vertical-align: middle;
  }
  .rt-restaurant-bullets li {
    padding-left: 0.1rem;
  }
  .rt-restaurant-cta {
    margin-top: var(--space-4);
    align-self: flex-start;
  }
  .rt-restaurant-inline-cta {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--space-4);
    margin-top: var(--space-4);
  }
  .rt-restaurant-inline-cta--centre {
    justify-content: center;
  }
  .rt-restaurant-inline-cta--stack {
    flex-direction: column;
  }
  .rt-restaurant-tiles {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: var(--space-6);
  }
  .rt-restaurant-tile {
    background: linear-gradient(145deg, rgba(20, 43, 42, 0.9), rgba(36, 24, 20, 0.95));
    border-radius: var(--radius-lg);
    border: 1px solid rgba(102, 80, 68, 0.8);
    padding: var(--space-6);
    box-shadow: var(--shadow-subtle);
  }
  .rt-restaurant-tile h3 {
    margin-bottom: var(--space-3);
  }
  .rt-restaurant-tile p {
    margin-bottom: var(--space-3);
  }
  .rt-restaurant-figure {
    position: relative;
    border-radius: 22px;
    overflow: hidden;
    border: 1px solid rgba(102, 80, 68, 0.9);
    box-shadow: var(--shadow-soft);
    background: radial-gradient(circle at 0 0, rgba(198, 106, 74, 0.25), transparent 55%), #0A0D0F;
  }
  .rt-restaurant-image {
    width: 100%;
    height: 100%;
    object-fit: cover;
  }
  .rt-restaurant-figcaption {
    position: absolute;
    left: 1rem;
    right: 1rem;
    bottom: 1rem;
    padding: 0.65rem 1rem;
    border-radius: var(--radius-pill);
    background: rgba(10, 13, 15, 0.9);
    border: 1px solid rgba(113, 140, 120, 0.7);
    font-size: var(--text-xs);
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--color-text-muted);
  }
  .rt-restaurant-facts-strip {
    margin-top: var(--space-4);
  }
  .rt-restaurant-note {
    font-size: var(--text-sm);
    color: var(--color-text-muted);
    margin-top: var(--space-3);
  }
  .rt-restaurant-facts {
    margin-top: var(--space-4);
  }
}
@layer utilities {
  @media (max-width: 1024px) {
    .rt-restaurant-grid,
    .rt-restaurant-grid--reverse,
    .rt-restaurant-grid--image-dominant {
      grid-template-columns: minmax(0, 1fr);
    }
    .rt-restaurant-grid__meta,
    .rt-restaurant-grid__media {
      order: 2;
    }
    .rt-restaurant-grid__content {
      order: 1;
    }
    .rt-restaurant-tiles {
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }
  }
  @media (max-width: 768px) {
    .rt-restaurant-section {
      padding: var(--space-10) 0;
    }
    .rt-restaurant-tiles {
      grid-template-columns: minmax(0, 1fr);
    }
    .rt-restaurant-inline-cta {
      flex-direction: column;
      align-items: flex-start;
    }
    .rt-restaurant-inline-cta--centre {
      align-items: center;
    }
  }
}
ul { list-style: none !important; }
.nav-toggle { flex-direction: column; }
