.street-food-article .article-head { width: 100%; padding: 1rem 0 0; background: var(--white); }
.street-food-article .article-head > .breadcrumbs, .street-food-article .article-header-copy, .street-food-article .quick-facts { width: min(calc(100% - var(--gutter) * 2), var(--max)); margin-inline: auto; }
.street-food-article .article-header-grid { position: relative; isolation: isolate; display: grid; grid-template-columns: minmax(0,1fr); min-height: 300px; padding: 2.25rem 0 3.5rem; border-radius: 0; overflow: hidden; background: #172820; }
.street-food-article .article-header-grid::before { content: ''; position: absolute; inset: 0; z-index: 1; background: linear-gradient(90deg, #000000b3 0%, #00000073 50%, #00000000 100%); pointer-events: none; }
.street-food-article .article-header-copy { position: relative; z-index: 2; align-self: center; max-width: none; }
.street-food-article .article-title { max-width: 48rem; color: white; font-size: clamp(1.8rem,3.2vw,2.8rem); margin-bottom: .85rem; }
.street-food-article .article-dek { color: #f4f7f5; font-size: 1rem; max-width: 46rem; margin-bottom: 1rem; line-height: 1.6; }
.street-food-article .article-meta { color: #e3eae6; margin-bottom: 0; }
.street-food-article .article-meta a { color: white; }
.street-food-article .article-meta span + span::before { color: #e3eae6; }
.street-food-article .article-cover { display: block; position: absolute; inset: 0; }
.street-food-article .article-cover picture { display: block; width: 100%; height: 100%; }
.street-food-article .article-cover img { width: 100%; height: 100%; aspect-ratio: auto; object-fit: cover; object-position: center 55%; }
.street-food-article .article-cover .image-credit { position: absolute; z-index: 2; right: max(var(--gutter), calc((100% - var(--max)) / 2)); bottom: .65rem; left: max(var(--gutter), calc((100% - var(--max)) / 2)); margin: 0; color: #e3eae6; font-size: .65rem; text-align: right; text-shadow: 0 1px 3px #000, 0 0 4px #000; }
.street-food-article .quick-facts { margin-top: 1rem; padding-block: .8rem; }
.street-food-picker { padding-block: 1.5rem 1rem; scroll-margin-top: 9rem; }
.street-food-picker-heading { margin-bottom: 1rem; max-width: 55rem; }
.street-food-picker-heading h2 { margin-bottom: .5rem; font-size: clamp(1.5rem, 2.5vw, 2rem); }
.street-food-picker-heading p { margin: 0; color: var(--muted); line-height: 1.6; }
.street-food-filters { padding: 1.25rem; margin-bottom: 1.5rem; border: 1px solid var(--line); background: #f3f7f5; }
.street-food-filter-groups { display: grid; grid-template-columns: minmax(0,2fr) minmax(0,1fr); gap: 1rem; }
.street-food-filter-groups fieldset { min-width: 0; margin: 0; padding: 0; border: 0; }
.street-food-filter-groups > fieldset { padding-left: 1rem; border-left: 1px solid #d7e3de; }
.street-food-filter-groups fieldset > div { display: flex; flex-wrap: wrap; gap: .45rem; }
.street-food-flavor-filters { display: flex; flex-wrap: wrap; gap: .45rem; }
.street-food-flavor-filters fieldset, .street-food-flavor-filters fieldset > div { display: contents; }
.street-food-filter { position: relative; display: inline-flex; cursor: pointer; }
.street-food-filter input { position: absolute; width: 1px; height: 1px; opacity: 0; }
.street-food-filter span { display: inline-flex; align-items: center; gap: .3rem; min-height: 36px; padding: .25rem .6rem; border: 1px solid #b9cbc5; border-radius: .3rem; background: white; font-size: .875rem; }
.street-food-filter span::before { content: '+'; width: .8rem; text-align: center; }
.street-food-filter input:checked + span { background: #234c43; color: white; border-color: #234c43; }
.street-food-filter input:checked + span::before { content: '✓'; }
.street-food-filter input:focus-visible + span { outline: 3px solid var(--accent); outline-offset: 3px; }
.street-food-result-bar { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-top: .5rem; }
.street-food-result-bar p { margin: 0 0 0 auto; font-size: .75rem; font-weight: 650; line-height: 1.4; text-align: right; }
.street-food-result-bar button { min-height: 44px; padding: .4rem .7rem; background: transparent; border: 1px solid #b9cbc5; color: var(--ink); border-radius: .3rem; }
.street-food-result-bar button:disabled { opacity: .45; }
.street-food-result-bar [data-food-count]:focus-visible { outline: 3px solid var(--accent); outline-offset: 3px; }
.street-food-filters .street-food-empty { margin: 1rem 0 0; color: var(--ink); }
.street-food-choices { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; align-items: start; }
.street-food-choice { position: relative; min-width: 0; padding: 0; border: 0; border-radius: 0; background: #111; color: white; overflow: hidden; overflow-wrap: break-word; }
.street-food-choice-link { position: relative; isolation: isolate; display: flex; flex-direction: column; justify-content: flex-end; min-height: 350px; padding: 9rem 1.4rem 1rem; color: white; text-decoration: none; }
.street-food-choice-link::after { content: ''; position: absolute; inset: 0; z-index: -1; background: linear-gradient(180deg, #00000000 0%, #00000014 35%, #00000080 65%, #000000d9 100%); pointer-events: none; }
.street-food-choice-link:hover h3 { text-decoration: underline; text-underline-offset: .15em; }
.street-food-choice-link:focus-visible { outline: 3px solid white; outline-offset: -5px; }
.street-food-choice-top { display: block; }
.street-food-choice-photo { position: absolute; inset: 0; z-index: -2; background: #263a32; }
.street-food-choice-photo picture { display: block; height: 100%; }
.street-food-choice-photo img { width: 100%; height: 100%; object-fit: cover; }
.street-food-name-tile { display: grid; height: 100%; place-content: start center; justify-items: center; gap: .6rem; padding-top: 3rem; color: #cfddd5; background: radial-gradient(ellipse at top, #486358, #18251f); }
.street-food-name-tile svg { width: 42px; height: 42px; }
.street-food-name-tile span { font-weight: 650; font-size: 1.35rem; }
.street-food-choice-heading h3 { margin: .35rem 0 .65rem; color: white; font-size: clamp(1.8rem,2.5vw,2.5rem); font-weight: 800; line-height: 1.25; letter-spacing: normal; }
.street-food-choice-heading p { margin: 0; max-width: 38rem; color: #f2f2f2; font-size: .9rem; line-height: 1.6; }
.street-food-featured-label { display: inline-block; margin-bottom: .15rem; padding: .25rem .5rem; color: white; background: #b82612; font-size: .7rem; font-weight: 750; }
.street-food-choice-tags { display: flex; flex-wrap: wrap; gap: .4rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.street-food-choice-tags li { padding: .2rem .5rem; color: white; border: 1px solid #ffffff65; background: #ffffff12; font-size: .75rem; border-radius: 0; }
.street-food-match-note, .street-food-spice-hint { margin: 0; padding: .4rem 1.4rem; color: #eee; font-size: .8rem; line-height: 1.6; }
.street-food-match-note { font-weight: 650; }
.street-food-details summary { min-height: 48px; padding: .8rem 1.4rem; color: white; border-top: 1px solid #ffffff30; cursor: pointer; font-weight: 650; font-size: .875rem; }
.street-food-details summary:hover { background: #ffffff12; }
.street-food-details summary:focus-visible { outline: 3px solid white; outline-offset: -4px; }
.street-food-expanded { padding: 1.5rem; background: var(--white); color: var(--ink); }
.street-food-choice.is-open { grid-column: 1 / -1; }
.street-food-choice.is-open .street-food-choice-link { min-height: 360px; }
.street-food-full-text { max-width: 50rem; margin-inline: auto; }
.street-food-full-text h2 { margin-top: 1rem; scroll-margin-top: 9rem; }
.street-food-choice-facts { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: .75rem 1.5rem; margin: 1rem auto; max-width: 50rem; padding: 1rem; background: #f3f7f5; font-size: .875rem; line-height: 1.6; }
.street-food-choice-facts dt { font-weight: 650; }
.street-food-choice-facts dd { margin: .2rem 0 0; color: var(--muted); }
.street-food-variant-help { max-width: 50rem; margin: 1rem auto; color: var(--muted); font-size: .875rem; }
.street-food-copy { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: .4rem .65rem; border: 1px solid #ffffff65; border-radius: 0; color: white; background: transparent; font-size: .875rem; margin: .25rem 1.4rem 1rem; }
.street-food-copied-icon, .street-food-copy.is-copied .street-food-copy-icon { display: none; }
.street-food-copy.is-copied .street-food-copied-icon { display: block; color: #a9e7c3; }
.street-food-diets { margin-block: 1rem; }
.street-food-diets summary { min-height: 44px; padding-block: .5rem; font-weight: 650; cursor: pointer; }
.street-food-diets > div { display: flex; flex-wrap: wrap; gap: .8rem 1.5rem; padding-block: .6rem; }
.street-food-photo-credits { margin-top: .8rem; }
.street-food-photo-credits ul { padding-left: 1.25rem; }
.street-food-photo-credits li { margin-top: .3rem; }
.street-food-back { position: fixed; right: var(--gutter); bottom: max(.75rem,env(safe-area-inset-bottom)); z-index: 35; display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: .55rem .8rem; border: 1px solid #bccdcc; border-radius: .3rem; color: var(--ink); background: #ffffffef; font-size: .875rem; text-decoration: none; }
.street-food-article [hidden] { display: none !important; }
@media (max-width: 1100px) { .street-food-choices { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 820px) {
 .street-food-article .article-header-grid { min-height: 320px; padding-block: 1.5rem 3.5rem; }
 .street-food-article .article-header-grid::before { background: linear-gradient(180deg, #00000000 0%, #00000080 38%, #000000b3 100%); }
 .street-food-filters { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; padding: .75rem; margin-bottom: 1rem; }
 .street-food-filter-groups { display: contents; }
 .street-food-flavor-filters { flex-basis: 100%; padding-bottom: .5rem; border-bottom: 1px solid #d7e3de; }
 .street-food-filter-groups > fieldset { flex: 0 1 auto; padding: 0; border: 0; }
 .street-food-result-bar { flex: 0 1 auto; align-self: flex-end; margin: 0 0 0 auto; }
 .street-food-filters .street-food-empty { flex-basis: 100%; }
 .street-food-reset { display: none; }
 .street-food-article .article-toc { display: none; }
 .street-food-choice-facts { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 560px) {
 .street-food-article .article-head { padding-top: 1rem; }
 .street-food-article .quick-facts { display: none; }
 .street-food-picker { padding-top: 1rem; }
 .street-food-choices { grid-template-columns: minmax(0,1fr); }
 .street-food-choice-link { min-height: 350px; padding-inline: 1.25rem; }
 .street-food-expanded { padding: 1rem; }
 .street-food-result-bar { align-items: start; font-size: .875rem; }
 .street-food-result-bar button { flex-shrink: 0; }
}
@media print {
 .street-food-article .article-head > .breadcrumbs, .street-food-article .article-header-copy, .street-food-article .quick-facts { width: 100%; margin-inline: 0; }
 .street-food-article .article-header-grid { display: block; min-height: 0; padding: 0; background: white; }
 .street-food-article .article-header-grid::before { display: none; }
 .street-food-article .article-title, .street-food-article .article-dek, .street-food-article .article-meta, .street-food-article .article-meta a { color: #222; }
 .street-food-article .article-cover { position: static; }
 .street-food-article .article-cover img { height: 150px; }
 .street-food-article .article-cover .image-credit { position: static; color: #333; text-shadow: none; }
 .street-food-filters, .street-food-copy, .street-food-back { display: none !important; }
 .street-food-choices { display: block; }
 .street-food-choice { margin-bottom: 1rem; background: white; color: #222; }
 .street-food-choice-link { display: block; min-height: 0 !important; padding: 0; color: #222; }
 .street-food-choice-link::after { display: none; }
 .street-food-choice-photo { position: static; height: 150px; }
 .street-food-choice-heading h3, .street-food-choice-heading p, .street-food-choice-tags li, .street-food-details summary, .street-food-match-note, .street-food-spice-hint { color: #222; }
 .street-food-choice-tags li { border-color: #aaa; }
 .street-food-expanded { padding: 0; }
 .street-food-details > :not(summary) { display: block !important; }
 .street-food-article [hidden].street-food-choice { display: block !important; }
}
