/* Public, read-only restaurant showcases and a compact food accent on search. */
.search-home-intro { align-items: center; display: grid; gap: 1.5rem; grid-template-columns: minmax(0, 1fr) auto; margin-bottom: 1.25rem; }
.search-home-intro .search-home-heading { margin-bottom: 0; }
.search-home-food { align-items: center; display: flex; gap: .6rem; }
.search-home-food a { border: .25rem solid white; border-radius: 50%; box-shadow: 0 .4rem 1rem rgb(19 45 36 / 12%); display: block; }
.search-home-food a:first-child { transform: rotate(-7deg); }
.search-home-food a:last-child { transform: rotate(7deg); }
.search-home-food img { aspect-ratio: 1; border-radius: 50%; display: block; height: 8.5rem; object-fit: cover; width: 8.5rem; }
.demo-gallery { padding-block: 2.5rem 3rem; }
.demo-gallery-heading { margin-bottom: 2rem; max-width: 43rem; }
.demo-gallery-heading h1 { font-size: clamp(2rem, 4vw, 3.5rem); letter-spacing: -.045em; line-height: 1.1; margin: .5rem 0 1rem; }
.demo-gallery-heading > p:last-child { color: var(--muted); }
.demo-gallery-grid { display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.demo-choice { background: white; border: 1px solid var(--line); border-radius: 1.25rem; display: flex; flex-direction: column; overflow: hidden; }
.demo-choice > img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }
.demo-choice-copy { display: flex; flex: 1; flex-direction: column; padding: 1.5rem; }
.demo-choice h2 { font-size: 1.55rem; line-height: 1.2; margin: 0; }
.demo-choice-copy > p:not(.eyebrow) { color: var(--muted); }
.demo-kind { font-size: .875rem; margin-top: auto; padding-block: .5rem 1.25rem; }
.choice-pizza { border-top: .35rem solid #ae2b22; }
.choice-kebab { border-top: .35rem solid #d29d24; }
.demo-gallery-note { color: var(--muted); font-size: .875rem; margin: 1.5rem 0 0; max-width: 60rem; }
.visual-demo { --ink: #302019; --muted: #6b5143; --surface: #fff9ed; --paper: #fffdf7; --green: #a92d24; --green-dark: #8e241b; --lime: #f3ce9b; --line: #eadaca; --demo-header: #a92d24; --demo-header-ink: white; --demo-accent: #a92d24; --demo-accent-ink: white; background: var(--surface); }
.theme-kebab { --ink: #f9f4e9; --muted: #c7c1b4; --surface: #181d1b; --paper: #252c28; --green: #f4bc48; --green-dark: #f4bc48; --lime: #f4bc48; --line: #404a43; --demo-header: #181d1b; --demo-header-ink: #f9f4e9; --demo-accent: #f4bc48; --demo-accent-ink: #18201b; }
.visual-demo .eyebrow { color: var(--green); }
.visual-demo :focus-visible { outline-color: var(--green); }
.visual-demo .demo-header :focus-visible { outline-color: currentColor; }
.visual-demo-notice { align-items: center; background: #f4e4b8; color: #33291b; display: flex; flex-wrap: wrap; font-size: .875rem; gap: .3rem .75rem; justify-content: center; padding: .55rem 1rem; }
.demo-header { background: var(--demo-header); color: var(--demo-header-ink); }
.demo-header .directory-logo, .demo-header .nav-links a { color: inherit; }
.demo-header .logo-mark { background: var(--surface); color: var(--green); }
.demo-header .nav-links .nav-demo { background: var(--surface); color: var(--ink); }
.demo-wordmark > span:last-child { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.visual-demo .card-cta { background: var(--demo-accent); color: var(--demo-accent-ink); }
.visual-demo-hero { align-items: center; display: grid; gap: 3rem; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); padding-block: 2.5rem; }
.visual-demo-hero h1 { font-size: clamp(2.5rem, 4.5vw, 4rem); letter-spacing: -.05em; line-height: 1.06; margin: .75rem 0 1.25rem; max-width: 13ch; }
.visual-demo-hero p:not(.eyebrow) { color: var(--muted); max-width: 33rem; }
.visual-demo-hero .card-cta { margin-top: .5rem; }
.visual-demo-hero > img { aspect-ratio: 3 / 2; border-radius: 5rem .8rem 5rem .8rem; display: block; height: auto; max-height: 23rem; object-fit: cover; width: 100%; }
.theme-pizza h1, .theme-pizza .visual-demo-information h2 { font-family: Georgia, serif; font-weight: 800; }
.theme-kebab .visual-demo-hero > img { border-radius: 1rem; transform: rotate(2deg); }
.visual-demo-menu { padding-block: 1.5rem 2.5rem; scroll-margin-top: 1rem; }
.visual-menu-heading { align-items: end; display: flex; flex-wrap: wrap; gap: 1rem; justify-content: space-between; margin-bottom: 1.5rem; }
.visual-menu-heading h2 { font-size: 2rem; margin: 0; }
.visual-menu-heading > span { color: var(--muted); font-size: .875rem; }
.visual-dish-grid { align-items: start; display: grid; gap: 1.25rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.visual-dish { background: var(--paper); border: 1px solid var(--line); border-radius: 1rem; overflow: hidden; }
.visual-dish > img { aspect-ratio: 3 / 2; display: block; height: auto; object-fit: cover; width: 100%; }
.visual-dish-copy { padding: 1.25rem; }
.dish-label { color: var(--green); font-size: .875rem; font-weight: 750; }
.visual-dish h3 { font-size: 1.35rem; line-height: 1.2; margin: .5rem 0; }
.visual-dish-copy > p { color: var(--muted); min-height: 3.2em; }
.dish-price { align-items: center; border-top: 1px solid var(--line); display: flex; gap: .5rem; justify-content: space-between; padding-block: .9rem; }
.dish-price strong { font-size: 1.25rem; white-space: nowrap; }
.dish-price > span { color: var(--muted); font-size: .875rem; }
.visual-dish details { border-top: 1px solid var(--line); }
.visual-dish summary { cursor: pointer; font-size: .9375rem; font-weight: 750; min-height: 2.75rem; padding-block: .8rem .25rem; }
.visual-dish details p { color: var(--muted); }
.visual-dish small { display: block; font-size: .8125rem; }
.visual-demo-information { border-top: 1px solid var(--line); display: grid; gap: 4rem; grid-template-columns: 1.25fr 1fr; padding-block: 2.5rem; }
.visual-demo-information h2 { font-size: 2rem; line-height: 1.1; margin: .5rem 0 1.25rem; }
.visual-demo-information p:not(.eyebrow) { color: var(--muted); }
.visual-demo-information a { display: inline-block; font-weight: 750; padding-block: .5rem; }
.visual-demo-footer { background: var(--demo-header); border-top: 1px solid var(--line); color: var(--demo-header-ink); padding-block: 1.5rem; }
.visual-demo-footer p, .visual-demo-footer a { color: inherit; font-size: .875rem; }
@media (max-width: 65rem) {
  .demo-gallery-grid, .visual-dish-grid { gap: 1rem; }
  .demo-choice-copy { padding: 1rem; }
  .visual-demo-hero { gap: 1.5rem; }
}
@media (max-width: 46rem) {
  .search-home-intro { gap: .75rem; grid-template-columns: 1fr; }
  .search-home-food { justify-content: flex-end; }
  .search-home-food img { height: 4rem; width: 4rem; }
  .demo-gallery { padding-block: 1.5rem 2rem; }
  .demo-gallery-grid, .visual-dish-grid { grid-template-columns: 1fr; }
  .demo-choice > img, .visual-dish > img { max-height: 15rem; }
  .visual-demo-notice { justify-content: flex-start; font-size: .8125rem; }
  .visual-demo-hero { gap: 1.5rem; grid-template-columns: 1fr; padding-block: 1.5rem; }
  .visual-demo-hero h1 { font-size: 2.65rem; max-width: 15ch; }
  .visual-demo-hero > img { max-height: 13rem; }
  .visual-demo-menu { padding-top: 1rem; }
  .visual-demo-information { gap: 1.5rem; grid-template-columns: 1fr; }
  .visual-dish-copy > p { min-height: 0; }
}
