/* Food 01 — portable styles. EVERY selector is confined to the same unique scope.
   Never attach this class to the logical root or any public-component ancestor. */
.veo-template-food-01-v1 {
  --f01-accent: #943d2b;
  --f01-accent-dark: #713021;
  --f01-paper: #fffbf4;
  --f01-surface: #f4ede0;
  --f01-yellow: #f3c457;
  --f01-ink: #322923;
  --f01-muted: #756454;
  --f01-line: #dfd3c0;
  --f01-radius: 14px;
  --f01-header-height: 0px;
  --f01-nav-height: 60px;
  color: var(--f01-ink);
  background: var(--f01-paper);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans SC", "PingFang SC", "Microsoft YaHei", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.55;
  text-align: left;
  color-scheme: light;
  -webkit-tap-highlight-color: transparent;
}
.veo-template-food-01-v1 *, .veo-template-food-01-v1 *::before, .veo-template-food-01-v1 *::after {box-sizing: border-box;}
.veo-template-food-01-v1 [hidden] {display: none !important;}
.veo-template-food-01-v1 h1, .veo-template-food-01-v1 h2, .veo-template-food-01-v1 h3, .veo-template-food-01-v1 p {margin: 0;}
.veo-template-food-01-v1 h1, .veo-template-food-01-v1 h2, .veo-template-food-01-v1 h3 {line-height: 1.17; overflow-wrap: anywhere;}
.veo-template-food-01-v1 h1 {font-size: clamp(30px, 3.2vw, 42px); font-weight: 780; letter-spacing: -.04em;}
.veo-template-food-01-v1 h2 {font-size: clamp(27px, 2.5vw, 36px); font-weight: 750; letter-spacing: -.035em; white-space: pre-line;}
.veo-template-food-01-v1 h3 {font-size: 19px; font-weight: 700;}
.veo-template-food-01-v1 button, .veo-template-food-01-v1 input, .veo-template-food-01-v1 select, .veo-template-food-01-v1 textarea {font: inherit; color: inherit;}
.veo-template-food-01-v1 button {cursor: pointer; touch-action: manipulation;}
.veo-template-food-01-v1 button {min-height: 44px; min-width: 44px; white-space: normal; overflow-wrap: anywhere;}
.veo-template-food-01-v1 button:disabled {cursor: default; opacity: .42;}
.veo-template-food-01-v1 button[aria-disabled="true"] {color: #746c61; background: #f0ede6; border-color: #e2dbcf; cursor: not-allowed;}
.veo-template-food-01-v1 button:focus-visible, .veo-template-food-01-v1 input:focus-visible, .veo-template-food-01-v1 textarea:focus-visible, .veo-template-food-01-v1 summary:focus-visible, .veo-template-food-01-v1 [tabindex]:focus-visible {outline: 3px solid var(--f01-accent); outline-offset: 3px;}
.veo-template-food-01-v1 img {display: block; width: 100%; height: 100%; object-fit: cover;}
.veo-template-food-01-v1 .f01-wrap {width: min(1160px, calc(100% - 64px)); margin-inline: auto;}
.veo-template-food-01-v1 .f01-icon {width: 21px; height: 21px; flex: 0 0 auto; vertical-align: middle;}
.veo-template-food-01-v1 .f01-sr {position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0;}
.veo-template-food-01-v1 .f01-fine {font-size: 14px; line-height: 1.5; color: var(--f01-muted);}
.veo-template-food-01-v1 .f01-kicker {display: block; font-size: 13px; text-transform: uppercase; letter-spacing: .12em; font-weight: 700; color: var(--f01-accent); margin-bottom: 12px; overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-btn {display: inline-flex; align-items: center; justify-content: center; gap: 9px; padding: 10px 17px; font-size: 14px; font-weight: 650; line-height: 1.4; border: 1px solid var(--f01-line); border-radius: 8px; background: var(--f01-paper); text-decoration: none;}
.veo-template-food-01-v1 .f01-btn-primary {background: var(--f01-accent); color: #fffaf3; border-color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-btn-primary:hover {background: var(--f01-accent-dark);}
.veo-template-food-01-v1 .f01-icon-btn {display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; border: 1px solid var(--f01-line); border-radius: 8px; background: var(--f01-paper); padding: 10px; flex-shrink: 0;}
.veo-template-food-01-v1 .f01-media {display: block; position: relative; width: 100%; aspect-ratio: 4/3; background: #e9dfcd; overflow: hidden;}
.veo-template-food-01-v1 .f01-missing {display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 9px; padding: 12px; color: var(--f01-muted); text-align: center; font-size: 14px;}
.veo-template-food-01-v1 .f01-missing .f01-icon {width: 30px; height: 30px;}
/* Compact shop identity — small architectural vignette, no marketing hero. */
.veo-template-food-01-v1 .f01-hero {display: grid; grid-template-columns: minmax(0,1fr) 258px; grid-template-rows: auto auto; column-gap: 38px; padding-block: 28px; align-items: start;}
.veo-template-food-01-v1 .f01-hero-copy {min-width: 0;}
.veo-template-food-01-v1 .f01-eyebrow {display: flex; align-items: center; gap: 8px; color: var(--f01-accent); font-weight: 700; font-size: 14px; margin-bottom: 9px;}
.veo-template-food-01-v1 .f01-hero-meta {display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 12px; font-size: 14px;}
.veo-template-food-01-v1 .f01-city, .veo-template-food-01-v1 .f01-business-status {display: inline-flex; align-items: center; gap: 6px;}
.veo-template-food-01-v1 .f01-business-status {font-weight: 600; color: var(--f01-accent-dark);}
.veo-template-food-01-v1 .f01-status-dot {width: 6px; height: 6px; border-radius: 50%; background: currentColor;}
.veo-template-food-01-v1 .f01-status-closed .f01-status-dot {border-radius: 0;}
.veo-template-food-01-v1 .f01-status-unknown .f01-status-dot {background: none; border: 1px solid currentColor;}
.veo-template-food-01-v1 .f01-hero-intro {max-width: 670px; grid-column: 1; grid-row: 2; margin-top: 12px; font-size: 15px;}
.veo-template-food-01-v1 .f01-hero-intro .f01-fine {display: block; margin-top: 5px;}
.veo-template-food-01-v1 .f01-hero-art {position: relative; grid-column: 2; grid-row: 1 / span 2; align-self: center; border-radius: 14px; overflow: hidden; border: 1px solid #dbc396;}
.veo-template-food-01-v1 .f01-hero-art .f01-media {aspect-ratio: 1.65;}
.veo-template-food-01-v1 .f01-hero-art .f01-icon-btn {position: absolute; right: 9px; bottom: 9px; border: 0; box-shadow: 0 2px 8px #59382420;}
/* Full-width reference action group: real platform group replaces this at integration. */
.veo-template-food-01-v1 .f01-actions-section {padding-block: 20px 14px;}
.veo-template-food-01-v1 .f01-actions {display: flex; flex-wrap: wrap; align-items: stretch; gap: 8px; width: 100%;}
.veo-template-food-01-v1 .f01-actions-spacer {flex: 1;}
.veo-template-food-01-v1 .f01-contact-note {margin-top: 8px;}
.veo-template-food-01-v1 .f01-nav {position: sticky; top: var(--f01-header-height); z-index: 8; background: var(--f01-paper); border-bottom: 1px solid var(--f01-line); border-top: 1px solid var(--f01-line);}
.veo-template-food-01-v1 .f01-nav-track {display: flex; flex-wrap: wrap; gap: 4px 24px; align-items: stretch;}
.veo-template-food-01-v1 .f01-nav-item {border: 0; background: transparent; padding: 15px 2px 12px; border-bottom: 3px solid transparent; font-size: 14px; font-weight: 650; min-height: 55px; max-width: 100%;}
.veo-template-food-01-v1 .f01-nav-item[aria-current] {color: var(--f01-accent); border-bottom-color: var(--f01-accent);}
.veo-template-food-01-v1 [data-section] {scroll-margin-top: calc(var(--f01-header-height) + var(--f01-nav-height) + 16px);}
/* Menu board. One leading record + four smaller records. The original shared sort remains untouched. */
.veo-template-food-01-v1 .f01-catalog-section {padding-block: 45px 46px;}
.veo-template-food-01-v1 .f01-section-heading {display: grid; grid-template-columns: minmax(0,1.3fr) minmax(0,1fr); gap: 20px 60px; align-items: end; margin-bottom: 25px;}
.veo-template-food-01-v1 .f01-section-heading > p {font-size: 15px; color: var(--f01-muted); max-width: 450px;}
.veo-template-food-01-v1 .f01-controls {padding: 16px 0 3px; border-top: 1px solid var(--f01-line);}
.veo-template-food-01-v1 .f01-control-line {display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;}
.veo-template-food-01-v1 .f01-search {display: flex; align-items: center; gap: 10px; border: 1px solid #d6c5ae; background: #fffefa; border-radius: 8px; padding-inline: 13px; flex: 0 1 460px; min-width: 0; width: 100%; min-height: 46px;}
.veo-template-food-01-v1 .f01-search > .f01-icon {color: var(--f01-muted);}
.veo-template-food-01-v1 .f01-search input {background: transparent; border: 0; padding: 10px 0; font-size: 16px; min-width: 0; flex: 1; width: 100%; min-height: 44px;}
.veo-template-food-01-v1 .f01-search:focus-within {outline: 2px solid var(--f01-accent); outline-offset: 2px;}
.veo-template-food-01-v1 .f01-search input:focus {outline: none;}
.veo-template-food-01-v1 .f01-filter-checks {display: flex; flex-wrap: wrap; gap: 4px 17px; font-size: 14px;}
.veo-template-food-01-v1 .f01-filter-checks label {display: inline-flex; align-items: center; gap: 7px; min-height: 44px; cursor: pointer;}
.veo-template-food-01-v1 .f01-filter-checks input {width: 17px; height: 17px; margin: 0; accent-color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-category-line {display: flex; align-items: center; flex-wrap: wrap; justify-content: space-between; gap: 4px; margin-top: 7px;}
.veo-template-food-01-v1 .f01-categories {display: flex; flex-wrap: wrap; gap: 6px;}
.veo-template-food-01-v1 .f01-chip {display: inline-flex; gap: 8px; align-items: center; justify-content: center; padding: 10px 14px; border: 1px solid transparent; border-radius: 7px; background: transparent; font-size: 14px; font-weight: 600; line-height: 1.3;}
.veo-template-food-01-v1 .f01-chip > span {font-variant-numeric: tabular-nums; opacity: .7; font-size: 13px;}
.veo-template-food-01-v1 .f01-chip[aria-pressed="true"] {background: var(--f01-ink); color: #fffaf2; border-color: var(--f01-ink);}
.veo-template-food-01-v1 .f01-clear {border: 0; background: transparent; color: var(--f01-accent); font-size: 14px; text-decoration: underline; padding: 10px;}
.veo-template-food-01-v1 .f01-results-meta {display: flex; gap: 12px; align-items: center; justify-content: space-between; margin: 13px 0 14px; color: var(--f01-muted); font-size: 14px;}
.veo-template-food-01-v1 .f01-results-meta p {overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-currency {font-size: 12px; font-weight: 700; letter-spacing: .08em; padding: 3px 8px; background: var(--f01-surface); border-radius: 4px;}
.veo-template-food-01-v1 .f01-item-grid {display: grid; gap: 16px;}
.veo-template-food-01-v1 .f01-view-board {grid-template-columns: minmax(0,2fr) repeat(2,minmax(0,1fr)); align-items: stretch;}
.veo-template-food-01-v1 .f01-catalog-card {min-width: 0; border: 1px solid var(--f01-line); border-radius: var(--f01-radius); background: #fffdf7; overflow: hidden;}
.veo-template-food-01-v1 .f01-featured {grid-row: span 2; background: var(--f01-yellow); border-color: #e5b44c;}
.veo-template-food-01-v1 .f01-item {display: flex; flex-direction: column; width: 100%; height: 100%; padding: 0; border: 0; background: transparent; text-align: left; position: relative; border-radius: inherit;}
.veo-template-food-01-v1 .f01-item:hover .f01-item-name {color: var(--f01-accent-dark); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: 4px;}
.veo-template-food-01-v1 .f01-item:focus-visible {outline-offset: -4px;}
.veo-template-food-01-v1 .f01-item-board > .f01-media {aspect-ratio: 2.12;}
.veo-template-food-01-v1 .f01-featured .f01-media {aspect-ratio: 1.55;}
.veo-template-food-01-v1 .f01-item-body {display: flex; flex: 1; flex-direction: column; gap: 13px; min-width: 0; padding: 16px 18px 17px; position: relative; width: 100%;}
.veo-template-food-01-v1 .f01-item-text {display: flex; flex-direction: column; min-width: 0; gap: 6px;}
.veo-template-food-01-v1 .f01-item-category {font-size: 12px; font-weight: 700; text-transform: uppercase; letter-spacing: .075em; color: var(--f01-muted);}
.veo-template-food-01-v1 .f01-item-name {display: block; font-size: 18px; line-height: 1.25; font-weight: 700; letter-spacing: -.025em; overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-item-description {font-size: 14px; line-height: 1.5; color: var(--f01-muted); overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-item-board .f01-item-description {display: none;}
.veo-template-food-01-v1 .f01-featured .f01-item-body {padding: 23px 27px 24px; gap: 20px;}
.veo-template-food-01-v1 .f01-featured .f01-item-name {font-size: 28px; max-width: 440px; letter-spacing: -.035em;}
.veo-template-food-01-v1 .f01-featured .f01-item-description {display: block; max-width: 440px; color: #5b4630; font-size: 15px; margin-top: 4px;}
.veo-template-food-01-v1 .f01-featured .f01-item-category {color: #684a24;}
.veo-template-food-01-v1 .f01-card-bottom {display: flex; flex-direction: column; gap: 5px; margin-top: auto; min-width: 0; padding-right: 28px;}
.veo-template-food-01-v1 .f01-prices {display: flex; align-items: baseline; flex-wrap: wrap; gap: 3px 8px; min-width: 0; font-variant-numeric: tabular-nums; overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-price {font-size: 21px; line-height: 1.3; color: var(--f01-accent-dark); font-weight: 780; letter-spacing: -.025em;}
.veo-template-food-01-v1 .f01-original {font-size: 14px; color: var(--f01-muted);}
.veo-template-food-01-v1 .f01-discount {font-size: 12px; line-height: 1.4; font-weight: 650; color: var(--f01-accent-dark); background: #f2e1c4; padding: 3px 6px; border-radius: 4px;}
.veo-template-food-01-v1 .f01-featured .f01-price {font-size: 29px;}
.veo-template-food-01-v1 .f01-featured .f01-discount {background: #ffe6a5;}
.veo-template-food-01-v1 .f01-unit-note {font-size: 13px; color: var(--f01-muted); display: block; line-height: 1.5; overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-featured .f01-unit-note {color: #684d2a;}
.veo-template-food-01-v1 .f01-card-arrow {position: absolute; bottom: 17px; right: 15px; color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-featured .f01-card-arrow {bottom: 26px; right: 25px;}
.veo-template-food-01-v1 .f01-price-unknown {color: var(--f01-muted); font-size: 14px;}
.veo-template-food-01-v1 .f01-unavailable-label {font-size: 14px; color: var(--f01-accent-dark); font-weight: 650;}
.veo-template-food-01-v1 .f01-all-link {display: flex; justify-content: space-between; align-items: center; gap: 20px; width: 100%; padding: 18px 0; margin-top: 16px; border: 0; border-top: 1px solid var(--f01-line); border-bottom: 1px solid var(--f01-line); background: transparent; color: var(--f01-accent); text-align: left;}
.veo-template-food-01-v1 .f01-all-link > span {display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 25px;}
.veo-template-food-01-v1 .f01-all-link strong {font-size: 17px;}
.veo-template-food-01-v1 .f01-all-link small {color: var(--f01-muted); font-size: 14px; font-weight: 400;}
.veo-template-food-01-v1 .f01-price-note {margin-top: 12px;}
/* The gallery is a short contact sheet, not a tall hero or an automatic carousel. */
.veo-template-food-01-v1 .f01-gallery-section {background: #f3e9d4; padding-block: 39px 30px;}
.veo-template-food-01-v1 .f01-gallery-section h2 {font-size: 30px;}
.veo-template-food-01-v1 .f01-gallery-grid {display: grid; grid-template-columns: repeat(6,minmax(0,1fr)); gap: 12px;}
.veo-template-food-01-v1 .f01-gallery-item {padding: 0; background: transparent; border: 0; text-align: left; min-width: 0;}
.veo-template-food-01-v1 .f01-gallery-item .f01-media {aspect-ratio: 1.14; border-radius: 9px;}
.veo-template-food-01-v1 .f01-gallery-caption {display: flex; justify-content: space-between; align-items: flex-start; gap: 7px; font-size: 13px; margin-top: 10px; line-height: 1.45;}
.veo-template-food-01-v1 .f01-gallery-caption > span {overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-gallery-caption small {display: block; font-size: 11px; font-weight: 700; color: var(--f01-muted); margin-bottom: 3px;}
.veo-template-food-01-v1 .f01-gallery-caption .f01-icon {width: 16px; height: 16px; margin-top: 3px;}
.veo-template-food-01-v1 .f01-gallery-count {margin-top: 18px; text-align: right;}
/* Review notes are a continuous ledger, not another equal-weight card grid. */
.veo-template-food-01-v1 .f01-reviews-section {display: grid; grid-template-columns: minmax(0,.8fr) minmax(0,1.65fr); gap: 70px; padding-block: 50px;}
.veo-template-food-01-v1 .f01-reviews-heading h2 {font-size: 31px; margin-bottom: 14px;}
.veo-template-food-01-v1 .f01-reviews-heading > p {font-size: 14px; color: var(--f01-muted);}
.veo-template-food-01-v1 .f01-review-filters {display: flex; flex-wrap: wrap; gap: 6px; margin-top: 19px;}
.veo-template-food-01-v1 .f01-review-filters .f01-chip {padding-inline: 11px; border-color: var(--f01-line);}
.veo-template-food-01-v1 .f01-review-list {border-top: 2px solid var(--f01-ink);}
.veo-template-food-01-v1 .f01-review {display: flex; gap: 18px; padding-block: 22px; border-bottom: 1px solid var(--f01-line); align-items: start;}
.veo-template-food-01-v1 .f01-review-number {font-size: 24px; font-weight: 700; color: #ba9a68; line-height: 1.2;}
.veo-template-food-01-v1 .f01-review-content {flex: 1; min-width: 0;}
.veo-template-food-01-v1 .f01-review-meta {display: flex; align-items: center; flex-wrap: wrap; gap: 8px 14px; margin-bottom: 9px; font-size: 12px; color: var(--f01-muted);}
.veo-template-food-01-v1 .f01-sample {font-size: 12px; border: 1px solid #cfb990; padding: 2px 7px; border-radius: 3px; color: #624d31;}
.veo-template-food-01-v1 .f01-review-content > p {font-size: 15px; overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-review-image {padding: 0; border: 0; flex: 0 0 69px; width: 69px; border-radius: 7px; overflow: hidden; margin-top: 31px; background: var(--f01-surface);}
.veo-template-food-01-v1 .f01-review-image .f01-media {aspect-ratio: 1;}
/* Public information forms one slab above a low, horizontal location band. */
.veo-template-food-01-v1 .f01-info-section {padding-bottom: 38px;}
.veo-template-food-01-v1 .f01-info-details {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 30px; background: var(--f01-surface); border-radius: 12px 12px 0 0; padding: 30px;}
.veo-template-food-01-v1 .f01-info-block {min-width: 0;}
.veo-template-food-01-v1 .f01-info-block + .f01-info-block {border-left: 1px solid #dacdb8; padding-left: 26px;}
.veo-template-food-01-v1 .f01-info-block h3 {display: flex; gap: 7px; align-items: center; font-size: 14px; line-height: 1.4; margin-bottom: 12px;}
.veo-template-food-01-v1 .f01-info-block > p {font-size: 15px; margin-bottom: 18px; overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-info-block > .f01-fine {font-size: 14px; margin-top: 13px;}
.veo-template-food-01-v1 .f01-contacts {margin: 0; font-size: 14px;}
.veo-template-food-01-v1 .f01-contacts > div {display: flex; gap: 16px; justify-content: space-between; padding-block: 3px;}
.veo-template-food-01-v1 .f01-contacts dd {margin: 0; color: var(--f01-muted); overflow-wrap: anywhere; text-align: right;}
.veo-template-food-01-v1 .f01-hours-toggle {display: flex; align-items: center; gap: 8px; background: transparent; border: 0; border-bottom: 1px solid #d7c6ac; font-size: 14px; width: 100%; padding: 10px 0; text-align: left; margin-top: 10px;}
.veo-template-food-01-v1 .f01-hours-toggle > span {flex: 1;}
.veo-template-food-01-v1 .f01-hours {margin: 12px 0 0; font-size: 14px;}
.veo-template-food-01-v1 .f01-hours > div {display: flex; flex-wrap: wrap; gap: 8px; justify-content: space-between; margin-block: 8px;}
.veo-template-food-01-v1 .f01-hours dd {margin: 0;}
.veo-template-food-01-v1 .f01-facility-group > p {margin-bottom: 6px;}
.veo-template-food-01-v1 .f01-facility-group > div {display: flex; flex-direction: column; gap: 6px;}
.veo-template-food-01-v1 .f01-facility {display: inline-flex; align-items: center; gap: 8px; font-size: 14px;}
.veo-template-food-01-v1 .f01-facility .f01-icon {width: 17px; height: 17px;}
.veo-template-food-01-v1 .f01-map-card {display: grid; grid-template-columns: 255px minmax(0,1fr) auto; gap: 25px; align-items: center; background: #f9f2e5; border: 1px solid var(--f01-line); border-radius: 0 0 12px 12px; overflow: hidden; padding-right: 28px;}
.veo-template-food-01-v1 .f01-map-art {position: relative; width: 100%; aspect-ratio: 1.7; overflow: hidden; background: #eee5d4;}
.veo-template-food-01-v1 .f01-map-art svg {display: block; width: 100%; height: 100%;}
.veo-template-food-01-v1 .f01-map-art > span {position: absolute; top: 12px; left: 12px; background: #fffbf4; color: #655642; padding: 4px 7px; border-radius: 3px; font-size: 12px;}
.veo-template-food-01-v1 .f01-map-content {padding-block: 20px; min-width: 0;}
.veo-template-food-01-v1 .f01-map-content .f01-kicker {margin-bottom: 8px; font-size: 12px;}
.veo-template-food-01-v1 .f01-map-content h3 {font-size: 19px; margin-bottom: 6px;}
.veo-template-food-01-v1 .f01-map-content p {font-size: 14px;}
.veo-template-food-01-v1 .f01-map-content .f01-fine {margin-top: 4px;}
.veo-template-food-01-v1 .f01-bottom {display: flex; gap: 20px; align-items: center; justify-content: space-between; padding-block: 16px 24px; color: var(--f01-muted); border-top: 1px solid var(--f01-line); font-size: 14px;}
.veo-template-food-01-v1 .f01-text-btn {border: 0; background: transparent; padding: 10px 0; white-space: nowrap;}
.veo-template-food-01-v1 .f01-empty {text-align: center; padding: 45px 20px; border: 1px dashed #c9bca7; border-radius: 12px; background: #fbf6eb; width: 100%;}
.veo-template-food-01-v1 .f01-empty > .f01-icon {margin-bottom: 16px; width: 32px; height: 32px; color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-empty h3 {font-size: 23px; margin-bottom: 12px;}
.veo-template-food-01-v1 .f01-empty p {font-size: 15px; color: var(--f01-muted); max-width: 500px; margin-inline: auto;}
.veo-template-food-01-v1 .f01-empty .f01-btn {margin-top: 18px;}
.veo-template-food-01-v1 .f01-toast {position: fixed; left: 50%; bottom: 23px; transform: translateX(-50%); width: max-content; max-width: calc(100% - 32px); padding: 13px 20px; background: var(--f01-ink); color: #fffaf2; border-radius: 10px; box-shadow: 0 8px 30px #32292330; z-index: 50; font-size: 14px;}
/* Native, layered dialogs. Browser supplies focus containment + background inertness.
   Scroll locks are acquired/released through the injected host adapter per layer. */
.veo-template-food-01-v1.f01-dialog {padding: 0; border: 1px solid var(--f01-line); border-radius: 18px; width: min(1080px,calc(100vw - 64px)); max-width: none; max-height: calc(100dvh - 64px); margin: auto; box-shadow: 0 24px 110px #271b2540; overflow: hidden;}
.veo-template-food-01-v1.f01-dialog[open] {display: flex; flex-direction: column;}
.veo-template-food-01-v1.f01-dialog::backdrop {background: #251a15a6; backdrop-filter: blur(3px);}
.veo-template-food-01-v1 .f01-dialog-header {display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 19px 25px; border-bottom: 1px solid var(--f01-line); flex-shrink: 0;}
.veo-template-food-01-v1 .f01-dialog-header > div {min-width: 0;}
.veo-template-food-01-v1 .f01-dialog-header .f01-kicker {margin: 0 0 5px; font-size: 12px;}
.veo-template-food-01-v1 .f01-dialog-header h2 {font-size: 27px; margin: 0;}
.veo-template-food-01-v1 .f01-dialog-scroll {overflow-y: auto; overscroll-behavior: contain; min-height: 0; padding: 23px 25px 28px;}
.veo-template-food-01-v1 .f01-dialog-scroll > .f01-fine {margin-top: 20px;}
.veo-template-food-01-v1 .f01-view-toggle {display: flex; gap: 5px;}
.veo-template-food-01-v1 .f01-view-toggle [aria-pressed="true"] {background: var(--f01-ink); color: white; border-color: var(--f01-ink);}
.veo-template-food-01-v1 .f01-view-grid {grid-template-columns: repeat(3,minmax(0,1fr));}
.veo-template-food-01-v1 .f01-item-grid .f01-item-grid > .f01-media {aspect-ratio: 1.65;}
.veo-template-food-01-v1 .f01-view-list {grid-template-columns: minmax(0,1fr); gap: 9px;}
.veo-template-food-01-v1 .f01-item-list {display: grid; grid-template-columns: 105px minmax(0,1fr); align-items: center;}
.veo-template-food-01-v1 .f01-item-list > .f01-media {aspect-ratio: 1; height: 100%;}
.veo-template-food-01-v1 .f01-item-list .f01-item-body {display: grid; grid-template-columns: minmax(0,1fr) minmax(130px,.38fr); align-items: center; gap: 20px;}
.veo-template-food-01-v1 .f01-item-list .f01-card-bottom {margin-top: 0;}
.veo-template-food-01-v1 .f01-dialog-footer {display: flex; justify-content: space-between; gap: 12px; padding: 14px 25px; border-top: 1px solid var(--f01-line); flex-shrink: 0;}
.veo-template-food-01-v1 .f01-detail-scroll {display: grid; grid-template-columns: minmax(0,1fr) minmax(0,1fr); overflow-y: auto; overscroll-behavior: contain; min-height: 0;}
.veo-template-food-01-v1 .f01-detail-media {position: relative; align-self: start;}
.veo-template-food-01-v1 .f01-detail-media > .f01-media {aspect-ratio: .92;}
.veo-template-food-01-v1 .f01-art-action {position: absolute; right: 14px; bottom: 14px;}
.veo-template-food-01-v1 .f01-art-note {position: absolute; top: 14px; left: 14px; padding: 5px 8px; background: #fffbf4ef; border-radius: 4px; font-size: 12px; color: #685a47;}
.veo-template-food-01-v1 .f01-detail-copy {padding: 29px; min-width: 0;}
.veo-template-food-01-v1 .f01-detail-copy h2 {font-size: 30px; margin-bottom: 20px;}
.veo-template-food-01-v1 .f01-detail-copy .f01-price {font-size: 30px;}
.veo-template-food-01-v1 .f01-detail-description {font-size: 16px; line-height: 1.65; margin-top: 23px;}
.veo-template-food-01-v1 .f01-detail-copy .f01-unit-note {margin-top: 10px;}
.veo-template-food-01-v1 .f01-detail-copy > .f01-fine {margin-top: 22px;}
.veo-template-food-01-v1 .f01-availability {display: block; margin-top: 20px; font-size: 14px; font-weight: 650;}
.veo-template-food-01-v1 .f01-specs {border-top: 1px solid var(--f01-line); border-bottom: 1px solid var(--f01-line); margin-top: 24px;}
.veo-template-food-01-v1 .f01-specs summary {display: flex; justify-content: space-between; align-items: center; gap: 8px; cursor: pointer; min-height: 48px; font-size: 14px; padding: 10px 0;}
.veo-template-food-01-v1 .f01-specs[open] summary > svg {transform: rotate(45deg);}
.veo-template-food-01-v1 .f01-specs > .f01-fine {padding-bottom: 12px;}
.veo-template-food-01-v1 .f01-spec-list {font-size: 14px; margin: 0;}
.veo-template-food-01-v1 .f01-spec-list > div {display: flex; gap: 15px; padding-block: 9px; justify-content: space-between; border-top: 1px solid var(--f01-line);}
.veo-template-food-01-v1 .f01-spec-list dd {margin: 0; text-align: right; font-weight: 600;}
/* Image zoom percentages are relative to fitted size, not raw image pixels. */
.veo-template-food-01-v1.f01-dialog-image {width: min(1130px,calc(100vw - 48px)); height: min(900px,calc(100dvh - 48px));}
.veo-template-food-01-v1 .f01-image-stage {position: relative; flex: 1; min-height: 100px; background: #e6dac3; overflow: hidden; touch-action: pan-y pinch-zoom; user-select: none;}
.veo-template-food-01-v1 .f01-image-stage[data-zoomed="true"] {touch-action: pinch-zoom; cursor: grab;}
.veo-template-food-01-v1 .f01-image-stage[data-zoomed="true"]:active {cursor: grabbing;}
.veo-template-food-01-v1 .f01-zoom-media {width: 100%; height: 100%; aspect-ratio: auto; overflow: visible; background: transparent;}
.veo-template-food-01-v1 .f01-zoom-media img {object-fit: contain; transform-origin: center; will-change: transform;}
.veo-template-food-01-v1 .f01-image-controls {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 6px 15px; padding: 9px 19px; flex-shrink: 0;}
.veo-template-food-01-v1 .f01-image-controls > div {display: flex; gap: 5px;}
.veo-template-food-01-v1 .f01-zoom-value {background: transparent; border: 0; padding: 7px; min-width: 60px; font-size: 14px; font-variant-numeric: tabular-nums;}
.veo-template-food-01-v1 .f01-thumbnails {display: flex; gap: 7px; overflow-x: auto; padding: 5px 20px 10px; max-width: 100%; flex-shrink: 0;}
.veo-template-food-01-v1 .f01-thumbnails > button {padding: 3px; border: 2px solid transparent; border-radius: 6px; background: transparent; width: 65px; height: 52px; flex: 0 0 65px;}
.veo-template-food-01-v1 .f01-thumbnails > button[aria-pressed="true"] {border-color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-thumbnails .f01-media {width: 100%; height: 100%; aspect-ratio: auto; border-radius: 2px;}
.veo-template-food-01-v1 .f01-image-help {flex-shrink: 0; font-size: 12px; line-height: 1.5; padding: 0 20px 14px; color: var(--f01-muted);}
.veo-template-food-01-v1.f01-dialog-share, .veo-template-food-01-v1.f01-dialog-location {width: min(620px,calc(100vw - 40px));}
.veo-template-food-01-v1 .f01-share-label {display: block; font-size: 14px; margin-block: 18px;}
.veo-template-food-01-v1 .f01-share-label textarea {display: block; width: 100%; resize: vertical; background: #fffef9; border: 1px solid var(--f01-line); border-radius: 7px; margin-top: 6px; padding: 12px; font-size: 16px;}
.veo-template-food-01-v1 .f01-copy-status {font-size: 14px; margin-top: 15px;}
.veo-template-food-01-v1.f01-dialog-location .f01-map-art {margin-bottom: 20px; aspect-ratio: 2.1; border-radius: 8px;}
.veo-template-food-01-v1.f01-dialog-location p + p {margin-top: 10px;}
@media (max-width: 1000px) {
 .veo-template-food-01-v1 .f01-wrap {width: calc(100% - 48px);}
 .veo-template-food-01-v1 .f01-section-heading {gap: 18px 25px;}
 .veo-template-food-01-v1 .f01-view-board {grid-template-columns: repeat(2,minmax(0,1fr));}
 .veo-template-food-01-v1 .f01-featured {grid-column: 1/-1; grid-row: auto;}
 .veo-template-food-01-v1 .f01-featured .f01-item {display: grid; grid-template-columns: minmax(0,1.1fr) minmax(0,1fr);}
 .veo-template-food-01-v1 .f01-featured .f01-media {height: 100%; aspect-ratio: auto; min-height: 290px;}
 .veo-template-food-01-v1 .f01-featured .f01-item-body {padding: 24px;}
 .veo-template-food-01-v1 .f01-featured .f01-item-name {font-size: 26px;}
 .veo-template-food-01-v1 .f01-gallery-grid {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 19px 14px;}
 .veo-template-food-01-v1 .f01-gallery-item .f01-media {aspect-ratio: 1.7;}
 .veo-template-food-01-v1 .f01-reviews-section {gap: 30px; grid-template-columns: minmax(0,.85fr) minmax(0,1.4fr);}
 .veo-template-food-01-v1 .f01-info-details {gap: 18px; padding: 25px;}
 .veo-template-food-01-v1 .f01-info-block + .f01-info-block {padding-left: 17px;}
 .veo-template-food-01-v1 .f01-map-card {grid-template-columns: 205px minmax(0,1fr); padding-right: 20px; gap: 0 20px;}
 .veo-template-food-01-v1 .f01-map-art {grid-row: span 2; height: 100%; aspect-ratio: auto; min-height: 170px;}
 .veo-template-food-01-v1 .f01-map-content {padding-bottom: 10px;}
 .veo-template-food-01-v1 .f01-map-card > .f01-btn {justify-self: start; margin-bottom: 18px;}
 .veo-template-food-01-v1 .f01-view-grid {grid-template-columns: repeat(2,minmax(0,1fr));}
 .veo-template-food-01-v1 .f01-detail-copy {padding: 22px;}
 .veo-template-food-01-v1 .f01-detail-copy h2 {font-size: 26px;}
}
@media (max-width: 620px) {
 .veo-template-food-01-v1 {font-size: 15px;}
 .veo-template-food-01-v1 .f01-wrap {width: calc(100% - 32px);}
 .veo-template-food-01-v1 .f01-hero {grid-template-columns: minmax(0,1fr) 108px; column-gap: 16px; padding-block: 23px 19px;}
 .veo-template-food-01-v1 h1 {font-size: 29px; line-height: 1.12; letter-spacing: -.035em;}
 .veo-template-food-01-v1 .f01-eyebrow {font-size: 13px; gap: 6px; margin-bottom: 8px;}
 .veo-template-food-01-v1 .f01-eyebrow .f01-icon {width: 17px; height: 17px;}
 .veo-template-food-01-v1 .f01-hero-meta {gap: 5px 10px; margin-top: 10px; font-size: 13px;}
 .veo-template-food-01-v1 .f01-hero-meta .f01-icon {width: 16px; height: 16px;}
 .veo-template-food-01-v1 .f01-hero-art {grid-row: 1; align-self: stretch; border-radius: 10px; min-height: 125px;}
 .veo-template-food-01-v1 .f01-hero-art .f01-media {height: 100%; aspect-ratio: auto; min-height: 135px;}
 .veo-template-food-01-v1 .f01-hero-art .f01-icon-btn {right: 7px; bottom: 7px;}
 .veo-template-food-01-v1 .f01-hero-intro {grid-column: 1/-1; margin-top: 13px; font-size: 14px;}
 .veo-template-food-01-v1 .f01-hero-intro .f01-fine {font-size: 12px; margin-top: 7px;}
 .veo-template-food-01-v1 .f01-actions-section {padding-block: 15px 11px;}
 .veo-template-food-01-v1 .f01-actions {gap: 7px;}
 .veo-template-food-01-v1 .f01-actions .f01-btn {flex: 1 1 96px; padding: 9px 8px; gap: 5px; font-size: 13px;}
 .veo-template-food-01-v1 .f01-actions-spacer {display: none;}
 .veo-template-food-01-v1 .f01-contact-note {font-size: 12px;}
 .veo-template-food-01-v1 .f01-nav-track {width: calc(100% - 24px); gap: 0 6px;}
 .veo-template-food-01-v1 .f01-nav-item {flex: 1 1 auto; font-size: 13px; padding: 12px 3px 10px; min-height: 49px;}
 .veo-template-food-01-v1 .f01-catalog-section {padding-block: 28px 30px;}
 .veo-template-food-01-v1 .f01-section-heading {display: block; margin-bottom: 18px;}
 .veo-template-food-01-v1 .f01-section-heading h2 {font-size: 29px; line-height: 1.14;}
 .veo-template-food-01-v1 .f01-section-heading > p {font-size: 14px; margin-top: 12px; max-width: none;}
 .veo-template-food-01-v1 .f01-kicker {font-size: 12px; margin-bottom: 10px; letter-spacing: .09em;}
 .veo-template-food-01-v1 .f01-controls {padding-top: 13px;}
 .veo-template-food-01-v1 .f01-control-line {gap: 1px;}
 .veo-template-food-01-v1 .f01-search {flex-basis: 100%; min-height: 46px;}
 .veo-template-food-01-v1 .f01-filter-checks {gap: 0 15px; font-size: 14px;}
 .veo-template-food-01-v1 .f01-category-line {margin-top: 0;}
 .veo-template-food-01-v1 .f01-categories {gap: 4px;}
 .veo-template-food-01-v1 .f01-chip {font-size: 13px; padding: 9px 10px; gap: 6px;}
 .veo-template-food-01-v1 .f01-chip > span {font-size: 12px;}
 .veo-template-food-01-v1 .f01-results-meta {font-size: 13px; margin-block: 12px;}
 .veo-template-food-01-v1 .f01-view-board {grid-template-columns: minmax(0,1fr); gap: 11px;}
 .veo-template-food-01-v1 .f01-featured {grid-column: auto;}
 .veo-template-food-01-v1 .f01-featured .f01-item {display: flex;}
 .veo-template-food-01-v1 .f01-featured .f01-media {aspect-ratio: 1.75; min-height: 0; height: auto;}
 .veo-template-food-01-v1 .f01-featured .f01-item-body {padding: 21px; gap: 17px;}
 .veo-template-food-01-v1 .f01-featured .f01-item-name {font-size: 26px;}
 .veo-template-food-01-v1 .f01-featured .f01-item-description {font-size: 14px;}
 .veo-template-food-01-v1 .f01-view-board .f01-catalog-card:not(.f01-featured) .f01-item {display: grid; grid-template-columns: minmax(0,1fr) 94px; gap: 12px; padding: 15px; align-items: start;}
 .veo-template-food-01-v1 .f01-view-board .f01-catalog-card:not(.f01-featured) .f01-media {grid-column: 2; grid-row: 1; aspect-ratio: 1; border-radius: 8px;}
 .veo-template-food-01-v1 .f01-view-board .f01-catalog-card:not(.f01-featured) .f01-item-body {grid-column: 1; grid-row: 1; padding: 0; gap: 13px;}
 .veo-template-food-01-v1 .f01-item-name {font-size: 17px;}
 .veo-template-food-01-v1 .f01-item-category {font-size: 11px; letter-spacing: .04em;}
 .veo-template-food-01-v1 .f01-item-body {padding: 15px; gap: 12px;}
 .veo-template-food-01-v1 .f01-card-bottom {padding-right: 0;}
 .veo-template-food-01-v1 .f01-card-arrow {display: none;}
 .veo-template-food-01-v1 .f01-featured .f01-card-arrow {display: block;}
 .veo-template-food-01-v1 .f01-featured .f01-card-bottom {padding-right: 25px;}
 .veo-template-food-01-v1 .f01-price {font-size: 21px;}
 .veo-template-food-01-v1 .f01-original {font-size: 13px;}
 .veo-template-food-01-v1 .f01-unit-note {font-size: 12px;}
 .veo-template-food-01-v1 .f01-discount {font-size: 12px; padding: 2px 5px;}
 .veo-template-food-01-v1 .f01-all-link {padding-block: 15px; margin-top: 15px;}
 .veo-template-food-01-v1 .f01-all-link > span {flex-direction: column; gap: 3px;}
 .veo-template-food-01-v1 .f01-price-note {font-size: 12px;}
 .veo-template-food-01-v1 .f01-gallery-section {padding-block: 29px 22px;}
 .veo-template-food-01-v1 .f01-gallery-grid {grid-template-columns: repeat(3,minmax(0,1fr)); gap: 18px 9px;}
 .veo-template-food-01-v1 .f01-gallery-item .f01-media {aspect-ratio: 1; border-radius: 7px;}
 .veo-template-food-01-v1 .f01-gallery-caption {font-size: 12px; gap: 0; margin-top: 7px;}
 .veo-template-food-01-v1 .f01-gallery-caption .f01-icon {display: none;}
 .veo-template-food-01-v1 .f01-gallery-count {font-size: 12px; margin-top: 14px;}
 .veo-template-food-01-v1 .f01-reviews-section {display: block; padding-block: 31px;}
 .veo-template-food-01-v1 .f01-reviews-heading h2 {font-size: 28px; margin-bottom: 12px;}
 .veo-template-food-01-v1 .f01-review-filters {margin-top: 13px; margin-bottom: 20px;}
 .veo-template-food-01-v1 .f01-review {gap: 12px; padding-block: 19px;}
 .veo-template-food-01-v1 .f01-review-number {font-size: 20px;}
 .veo-template-food-01-v1 .f01-review-image {width: 52px; flex-basis: 52px; margin-top: 31px;}
 .veo-template-food-01-v1 .f01-review-content > p {font-size: 14px;}
 .veo-template-food-01-v1 .f01-info-section {padding-bottom: 25px;}
 .veo-template-food-01-v1 .f01-info-details {display: block; padding: 22px;}
 .veo-template-food-01-v1 .f01-info-block + .f01-info-block {border-left: 0; border-top: 1px solid #dacdb8; padding: 20px 0 0; margin-top: 20px;}
 .veo-template-food-01-v1 .f01-info-block > p {font-size: 14px; margin-bottom: 16px;}
 .veo-template-food-01-v1 .f01-info-block h3 {font-size: 15px;}
 .veo-template-food-01-v1 .f01-map-card {display: block; padding: 0 0 22px;}
 .veo-template-food-01-v1 .f01-map-art {aspect-ratio: 2.3; height: auto; min-height: 0;}
 .veo-template-food-01-v1 .f01-map-content {padding: 21px 22px 15px;}
 .veo-template-food-01-v1 .f01-map-card > .f01-btn {margin: 0 22px; width: calc(100% - 44px);}
 .veo-template-food-01-v1 .f01-bottom {align-items: start; gap: 10px; font-size: 12px; padding-block: 13px 20px;}
 .veo-template-food-01-v1 .f01-bottom > span {padding-top: 9px; flex: 1;}
 .veo-template-food-01-v1 .f01-bottom .f01-btn {font-size: 12px;}
 .veo-template-food-01-v1.f01-dialog {width: calc(100vw - 16px); max-height: calc(100dvh - 24px); border-radius: 14px;}
 .veo-template-food-01-v1 .f01-dialog-header {padding: 13px 16px; gap: 10px;}
 .veo-template-food-01-v1 .f01-dialog-header h2 {font-size: 24px;}
 .veo-template-food-01-v1 .f01-dialog-scroll {padding: 16px;}
 .veo-template-food-01-v1 .f01-dialog-scroll .f01-controls {padding-top: 0; border-top: 0;}
 .veo-template-food-01-v1 .f01-view-grid {grid-template-columns: minmax(0,1fr);}
 .veo-template-food-01-v1 .f01-view-grid .f01-item > .f01-media {aspect-ratio: 1.85;}
 .veo-template-food-01-v1 .f01-item-list {grid-template-columns: 68px minmax(0,1fr); align-items: start;}
 .veo-template-food-01-v1 .f01-item-list > .f01-media {height: auto; aspect-ratio: 1; margin-top: 15px; margin-left: 12px; width: 64px; border-radius: 6px;}
 .veo-template-food-01-v1 .f01-item-list .f01-item-body {display: flex; padding-left: 23px; gap: 11px;}
 .veo-template-food-01-v1 .f01-item-list .f01-item-description {font-size: 14px;}
 .veo-template-food-01-v1 .f01-detail-scroll {display: block;}
 .veo-template-food-01-v1 .f01-detail-media > .f01-media {aspect-ratio: 1.7;}
 .veo-template-food-01-v1 .f01-detail-copy {padding: 22px;}
 .veo-template-food-01-v1 .f01-detail-copy h2 {font-size: 27px;}
 .veo-template-food-01-v1 .f01-detail-description {font-size: 15px; margin-top: 18px;}
 .veo-template-food-01-v1 .f01-dialog-footer {padding: 12px 16px;}
 .veo-template-food-01-v1 .f01-dialog-footer .f01-btn {flex: 1;}
 .veo-template-food-01-v1.f01-dialog-image {width: calc(100vw - 16px); height: calc(100dvh - 24px);}
 .veo-template-food-01-v1 .f01-image-controls {padding: 9px; gap: 5px;}
 .veo-template-food-01-v1 .f01-image-controls > div {gap: 2px;}
 .veo-template-food-01-v1 .f01-image-controls .f01-icon-btn {border: 0;}
 .veo-template-food-01-v1 .f01-zoom-value {min-width: 49px; padding-inline: 3px;}
 .veo-template-food-01-v1 .f01-fit {padding: 10px 8px; font-size: 13px; gap: 5px;}
 .veo-template-food-01-v1 .f01-fit .f01-icon {display: none;}
 .veo-template-food-01-v1 .f01-thumbnails {padding: 4px 12px 9px;}
 .veo-template-food-01-v1 .f01-image-help {font-size: 12px; padding: 0 12px 13px;}
 .veo-template-food-01-v1 .f01-empty {padding: 33px 18px;}
}
@media (max-width: 350px) {
 .veo-template-food-01-v1 .f01-hero {grid-template-columns: minmax(0,1fr) 88px; gap: 10px;}
 .veo-template-food-01-v1 h1 {font-size: 26px;}
 .veo-template-food-01-v1 .f01-actions .f01-btn {flex-basis: 83px; font-size: 12px;}
 .veo-template-food-01-v1 .f01-view-board .f01-catalog-card:not(.f01-featured) .f01-item {grid-template-columns: minmax(0,1fr) 76px; padding: 12px; gap: 10px;}
 .veo-template-food-01-v1 .f01-nav-item {font-size: 12px;}
 .veo-template-food-01-v1 .f01-image-controls {justify-content: center;}
}
@media (prefers-reduced-motion: reduce) {
 .veo-template-food-01-v1 *, .veo-template-food-01-v1 *::before, .veo-template-food-01-v1 *::after {scroll-behavior: auto !important; animation: none !important; transition: none !important;}
}

/* Food01 revision 1.1.0. Portable refinement layer; not applied to platform siblings. */
.veo-template-food-01-v1 {
  --f01-accent: #92452f;
  --f01-accent-dark: #743523;
  --f01-paper: #fffcf6;
  --f01-surface: #f4eddf;
  --f01-yellow: #f0cf87;
  --f01-ink: #342a23;
  --f01-muted: #756350;
  --f01-line: #e0d4c1;
  --f01-radius: 16px;
}
.veo-template-food-01-v1 .f01-hero {padding-block: 30px 26px; column-gap: 40px;}
.veo-template-food-01-v1 h1 {letter-spacing: -.045em; font-weight: 780;}
.veo-template-food-01-v1 h2 {letter-spacing: -.043em;}
.veo-template-food-01-v1 .f01-hero-meta {margin-top: 6px;}
.veo-template-food-01-v1 .f01-business-status {padding: 5px 10px; min-height: 44px; border: 1px solid #ddcbb2; border-radius: 30px; background: #f7eedc; font-size: 13px; gap: 8px;}
.veo-template-food-01-v1 .f01-business-status > .f01-icon {width: 14px; height: 14px;}
.veo-template-food-01-v1 .f01-business-status:hover {border-color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-hero-art {border-radius: 18px; border: 5px solid #fff8e9; box-shadow: 0 0 0 1px #dfceb3, 0 8px 24px #50352109;}
.veo-template-food-01-v1 .f01-hero-intro {margin-top: 8px;}
.veo-template-food-01-v1 .f01-btn {border-radius: 10px; transition: background .16s, border-color .16s, box-shadow .16s;}
.veo-template-food-01-v1 .f01-btn:not(:disabled):hover {border-color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-btn-primary {box-shadow: inset 0 1px 0 #ffffff16, 0 3px 7px #65351d0c;}
.veo-template-food-01-v1 .f01-btn[aria-pressed="true"] {color: var(--f01-accent-dark); background: #f3e3c9; border-color: #bd8f5e;}
.veo-template-food-01-v1 .f01-actions .f01-btn[aria-pressed="true"] .f01-icon {fill: #92452f20;}
.veo-template-food-01-v1 .f01-actions-section {padding-block: 19px 15px;}
.veo-template-food-01-v1 .f01-nav {background: #fffcf6f7; backdrop-filter: blur(10px);}
.veo-template-food-01-v1 .f01-nav-track {gap: 4px 30px;}
.veo-template-food-01-v1 .f01-nav-item {position: relative; border-bottom: 0; padding-bottom: 15px;}
.veo-template-food-01-v1 .f01-nav-item::after {content: ''; position: absolute; bottom: 0; left: 0; right: 0; height: 3px; border-radius: 3px 3px 0 0; background: transparent;}
.veo-template-food-01-v1 .f01-nav-item[aria-current]::after {background: var(--f01-accent);}
.veo-template-food-01-v1 .f01-nav-item:hover {color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-catalog-section {padding-block: 44px 43px;}
.veo-template-food-01-v1 .f01-section-heading {align-items: center; margin-bottom: 25px;}
.veo-template-food-01-v1 .f01-heading-aside {justify-self: end; display: flex; flex-direction: column; align-items: flex-start; gap: 15px; max-width: 450px; min-width: 0;}
.veo-template-food-01-v1 .f01-heading-aside p {color: var(--f01-muted); font-size: 15px; line-height: 1.6;}
.veo-template-food-01-v1 .f01-heading-aside .f01-btn {align-self: flex-end;}
.veo-template-food-01-v1 .f01-search {border-radius: 11px; box-shadow: 0 2px 4px #44301c04; padding-right: 3px;}
.veo-template-food-01-v1 .f01-search > .f01-icon-btn {border: 0; background: transparent; padding: 12px; border-radius: 8px;}
.veo-template-food-01-v1 .f01-filter-checks label {padding: 4px 0;}
.veo-template-food-01-v1 .f01-category-line {margin-top: 9px;}
.veo-template-food-01-v1 .f01-chip {border-radius: 9px;}
.veo-template-food-01-v1 .f01-chip:hover {background: #eee4d3; color: var(--f01-ink);}
.veo-template-food-01-v1 .f01-chip[aria-pressed="true"]:hover {background: var(--f01-ink); color: #fffaf2;}
.veo-template-food-01-v1 .f01-results-meta {margin-block: 10px 15px; gap: 8px 20px;}
.veo-template-food-01-v1 .f01-meta-actions {display: flex; gap: 15px; flex-wrap: wrap; align-items: center; justify-content: flex-end;}
.veo-template-food-01-v1 .f01-meta-actions .f01-btn {font-size: 13px; padding: 8px 12px; background: transparent;}
.veo-template-food-01-v1 .f01-catalog-card {display: flex; flex-direction: column; position: relative; box-shadow: 0 3px 10px #5d3e2510; transition: box-shadow .2s, border-color .2s;}
.veo-template-food-01-v1 .f01-catalog-card:hover {border-color: #cba87c; box-shadow: 0 7px 20px #5d3e2518;}
.veo-template-food-01-v1 .f01-catalog-card[data-compared="true"] {border-color: var(--f01-accent); box-shadow: 0 0 0 1px var(--f01-accent);}
.veo-template-food-01-v1 .f01-item {height: auto; flex: 1; border-radius: 0;}
.veo-template-food-01-v1 .f01-item > .f01-media img {transition: transform .22s ease;}
.veo-template-food-01-v1 .f01-item:hover > .f01-media img {transform: scale(1.025);}
.veo-template-food-01-v1 .f01-featured {background: linear-gradient(145deg,#f4d699,#eecc84); border-color: #dcb86f;}
.veo-template-food-01-v1 .f01-featured .f01-item > .f01-media {aspect-ratio: 1.48;}
.veo-template-food-01-v1 .f01-featured .f01-item-body {padding: 26px 28px 21px; gap: 19px;}
.veo-template-food-01-v1 .f01-item-name {font-weight: 720; line-height: 1.28;}
.veo-template-food-01-v1 .f01-featured .f01-item-name {font-size: 29px;}
.veo-template-food-01-v1 .f01-item-body {gap: 13px; padding: 16px 18px 12px;}
.veo-template-food-01-v1 .f01-card-bottom {padding-right: 0;}
.veo-template-food-01-v1 .f01-open-hint {display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--f01-accent-dark); font-size: 13px; font-weight: 650; margin-top: 3px; width: 100%;}
.veo-template-food-01-v1 .f01-open-hint .f01-icon {width: 18px; height: 18px;}
.veo-template-food-01-v1 .f01-featured .f01-open-hint {font-size: 14px;}
.veo-template-food-01-v1 .f01-card-tools {display: flex; align-items: stretch; justify-content: space-between; gap: 3px; padding: 5px 7px; border-top: 1px solid #e5d8c4; background: #fffaf0;}
.veo-template-food-01-v1 .f01-featured .f01-card-tools {background: #f8e4b8; border-color: #debc77; padding-inline: 15px;}
.veo-template-food-01-v1 .f01-card-tool {border: 0; border-radius: 8px; background: transparent; font-size: 12px; font-weight: 550; line-height: 1.35; padding: 7px 8px; gap: 6px;}
.veo-template-food-01-v1 .f01-card-tool .f01-icon {width: 17px; height: 17px;}
.veo-template-food-01-v1 .f01-card-tool:hover {background: #efe3cf;}
.veo-template-food-01-v1 .f01-card-tool[aria-pressed="true"] {background: #eed8b4; font-weight: 650;}
.veo-template-food-01-v1 .f01-card-photo-empty {display: inline-flex; align-items: center; gap: 6px; font-size: 12px; color: var(--f01-muted); padding: 7px 8px;}
.veo-template-food-01-v1 .f01-card-photo-empty .f01-icon {width: 17px; height: 17px;}
.veo-template-food-01-v1 .f01-all-link {background: #f6efe3; border: 1px solid var(--f01-line); border-radius: 12px; padding: 19px 22px; margin-top: 22px;}
.veo-template-food-01-v1 .f01-all-link:hover {border-color: #ba8b62; background: #f2e6d2;}
.veo-template-food-01-v1 .f01-all-link > span {gap: 4px 20px;}
.veo-template-food-01-v1 .f01-all-link strong {font-size: 17px;}
.veo-template-food-01-v1 .f01-all-link small {max-width: 550px;}
.veo-template-food-01-v1 .f01-gallery-section {background: #f2e9d7; padding-block: 35px 27px; border-block: 1px solid #e4d6bd;}
.veo-template-food-01-v1 .f01-gallery-item .f01-media {border: 3px solid #fffbf0; box-shadow: 0 0 0 1px #e2d1b4; border-radius: 12px;}
.veo-template-food-01-v1 .f01-gallery-item:hover .f01-media {box-shadow: 0 0 0 2px var(--f01-accent);}
.veo-template-food-01-v1 .f01-gallery-item img {transition: transform .2s;}
.veo-template-food-01-v1 .f01-gallery-item:hover img {transform: scale(1.04);}
.veo-template-food-01-v1 .f01-gallery-count {margin-top: 14px;}
.veo-template-food-01-v1 .f01-reviews-section {padding-block: 45px; gap: 64px;}
.veo-template-food-01-v1 .f01-review-number {font-family: Georgia,serif; font-weight: 500; font-style: italic; color: #b28651; font-size: 27px;}
.veo-template-food-01-v1 .f01-sample {border-radius: 4px; background: #faf0dc;}
.veo-template-food-01-v1 .f01-read-reviews {margin-top: 17px; padding-left: 0; background: transparent; border-color: transparent; color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-read-reviews .f01-icon {order: 1;}
.veo-template-food-01-v1 .f01-info-details {border: 1px solid var(--f01-line); border-bottom: 0;}
.veo-template-food-01-v1 .f01-info-block h3 {font-size: 15px;}
.veo-template-food-01-v1 .f01-hours-toggle[aria-expanded="true"] > .f01-icon:last-child {transform: rotate(180deg);}
.veo-template-food-01-v1 .f01-hours dd {font-variant-numeric: tabular-nums;}
.veo-template-food-01-v1 .f01-map-preview {align-self: stretch; padding: 0; border: 0; background: transparent; position: relative; width: 100%;}
.veo-template-food-01-v1 .f01-map-preview .f01-map-art {height: 100%; min-height: 165px;}
.veo-template-food-01-v1 .f01-map-expand {position: absolute; right: 10px; bottom: 10px; background: var(--f01-paper); border: 1px solid var(--f01-line); border-radius: 7px; width: 32px; height: 32px; display: grid; place-items: center;}
.veo-template-food-01-v1 .f01-map-expand .f01-icon {width: 17px; height: 17px;}
/* Dialog stack: controls stay visible; no fake disabled navigation or checkout. */
.veo-template-food-01-v1.f01-dialog {border: 1px solid #d9c4a4; border-radius: 20px; box-shadow: 0 28px 100px #35251545;}
.veo-template-food-01-v1.f01-dialog::backdrop {background: #29211d8a; backdrop-filter: blur(4px);}
.veo-template-food-01-v1.f01-dialog[open] {animation: f01-sheet-enter .16s ease-out;}
@keyframes f01-sheet-enter {from {opacity: .55; transform: translateY(8px);} to {opacity: 1; transform: translateY(0);}}
.veo-template-food-01-v1 .f01-dialog-header {background: #fffcf6; padding: 20px 25px;}
.veo-template-food-01-v1 .f01-dialog-header .f01-kicker {font-size: 11px; letter-spacing: .09em;}
.veo-template-food-01-v1 .f01-dialog-header > .f01-icon-btn {background: #f4ecdf; border: 0; border-radius: 50%;}
.veo-template-food-01-v1 .f01-dialog-scroll {scrollbar-width: thin; scrollbar-color: #bba27f transparent; overscroll-behavior: contain;}
.veo-template-food-01-v1 .f01-dialog-footer {border-top: 1px solid var(--f01-line); background: #f9f2e7; flex-wrap: wrap;}
.veo-template-food-01-v1 .f01-catalog-footer {align-items: center;}
.veo-template-food-01-v1 .f01-catalog-footer .f01-fine {font-size: 13px;}
.veo-template-food-01-v1 .f01-catalog-footer .f01-compare-open {background: var(--f01-accent); color: #fffaf4; border-color: var(--f01-accent);}
.veo-template-food-01-v1 .f01-dialog-scroll .f01-item-grid {padding: 2px;}
.veo-template-food-01-v1 .f01-view-list .f01-card-tools {justify-content: flex-end; padding-right: 14px;}
.veo-template-food-01-v1 .f01-detail-actions {display: flex; flex-wrap: wrap; gap: 8px; margin-block: 18px;}
.veo-template-food-01-v1 .f01-detail-actions .f01-btn {font-size: 13px; padding-inline: 12px;}
.veo-template-food-01-v1 .f01-detail-description {line-height: 1.7;}
.veo-template-food-01-v1 .f01-detail-position {font-size: 14px; font-variant-numeric: tabular-nums; color: var(--f01-muted); padding-inline: 14px; align-self: center;}
.veo-template-food-01-v1 .f01-specs summary {padding-block: 13px;}
.veo-template-food-01-v1 .f01-specs[open] summary .f01-icon {transform: rotate(45deg);}
.veo-template-food-01-v1 .f01-availability {display: inline-flex; align-items: center; padding: 5px 9px; border: 1px solid #d8cbb9; border-radius: 6px; background: #f5eddf; font-size: 13px;}
.veo-template-food-01-v1 .f01-image-stage {position: relative; background: #e8dcc7;}
.veo-template-food-01-v1 .f01-image-arrows {position: absolute; inset: 0; display: flex; align-items: center; justify-content: space-between; padding: 16px; pointer-events: none;}
.veo-template-food-01-v1 .f01-image-arrows > button {pointer-events: auto; border-radius: 50%; background: #fffcf6eb; border-color: #d7c4a4; box-shadow: 0 3px 12px #36271220;}
.veo-template-food-01-v1 .f01-image-stage[data-zoomed="true"] .f01-image-arrows {opacity: .85;}
.veo-template-food-01-v1 .f01-thumbnails button {border-radius: 8px;}
.veo-template-food-01-v1 .f01-share-actions {display: flex; flex-wrap: wrap; gap: 9px;}
.veo-template-food-01-v1 .f01-modal-notice {position: absolute; z-index: 3; bottom: 90px; inset-inline: 16px; margin-inline: auto; width: fit-content; max-width: calc(100% - 32px); padding: 12px 17px; color: #fffaf1; background: #392a20; border: 1px solid #ffffff20; box-shadow: 0 6px 22px #35201030; border-radius: 11px; font-size: 14px; line-height: 1.5; pointer-events: none; overflow-wrap: anywhere;}
/* Comparison is a local shortlist, not a basket. Only appears after a selection. */
.veo-template-food-01-v1.f01-has-comparison {padding-bottom: 90px;}
.veo-template-food-01-v1 .f01-compare-dock {position: fixed; bottom: 20px; left: 50%; transform: translateX(-50%); z-index: 9; width: min(700px,calc(100vw - 36px)); display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 13px 16px; border: 1px solid #d3b990; background: #fffaf0f7; backdrop-filter: blur(16px); border-radius: 17px; box-shadow: 0 8px 45px #3d271a2e;}
.veo-template-food-01-v1 .f01-dock-caption {min-width: 0;}
.veo-template-food-01-v1 .f01-dock-caption strong {display: block; font-size: 14px;}
.veo-template-food-01-v1 .f01-dock-caption > span {display: block; margin-top: 2px; font-size: 11px; line-height: 1.4; color: var(--f01-muted); max-width: 225px;}
.veo-template-food-01-v1 .f01-dock-thumbs {display: flex; gap: 5px; flex-shrink: 0;}
.veo-template-food-01-v1 .f01-dock-thumb {position: relative; width: 44px; height: 44px; border: 1px solid #d9bf94; border-radius: 8px; padding: 0; background: #f6e6c3; overflow: hidden;}
.veo-template-food-01-v1 .f01-dock-thumb .f01-media {height: 100%; aspect-ratio: 1;}
.veo-template-food-01-v1 .f01-dock-thumb .f01-missing {padding: 0; font-size: 0;}
.veo-template-food-01-v1 .f01-dock-thumb > span:last-child {position: absolute; inset: 0; display: grid; place-items: center; background: #35261939;}
.veo-template-food-01-v1 .f01-dock-thumb > span:last-child .f01-icon {width: 16px; height: 16px; color: #fff; filter: drop-shadow(0 1px 2px #000);}
.veo-template-food-01-v1 .f01-compare-dock > .f01-btn {background: var(--f01-accent); color: #fff; border-color: var(--f01-accent); flex-shrink: 0;}
.veo-template-food-01-v1.f01-dialog-compare {width: min(1120px,calc(100vw - 50px));}
.veo-template-food-01-v1 .f01-compare-toolbar {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 5px 20px; padding: 10px 25px; background: #f7efdf; border-bottom: 1px solid var(--f01-line);}
.veo-template-food-01-v1 .f01-compare-toolbar p {font-size: 13px; color: var(--f01-muted);}
.veo-template-food-01-v1 .f01-compare-toolbar p strong {display: block; font-weight: 600; color: var(--f01-accent-dark);}
.veo-template-food-01-v1 .f01-compare-toolbar label {display: inline-flex; gap: 8px; align-items: center; min-height: 44px; font-size: 14px; cursor: pointer;}
.veo-template-food-01-v1 .f01-compare-toolbar input {accent-color: var(--f01-accent); width: 18px; height: 18px;}
.veo-template-food-01-v1 .f01-comparison-grid {display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 17px;}
.veo-template-food-01-v1 .f01-comparison-grid[data-columns="1"] {grid-template-columns: minmax(0,520px); justify-content: center;}
.veo-template-food-01-v1 .f01-comparison-grid[data-columns="2"] {grid-template-columns: repeat(2,minmax(0,1fr));}
.veo-template-food-01-v1 .f01-comparison-card {border: 1px solid var(--f01-line); border-radius: 14px; background: #fffcf6; overflow: hidden; min-width: 0;}
.veo-template-food-01-v1 .f01-comparison-media {position: relative;}
.veo-template-food-01-v1 .f01-comparison-media > .f01-media {aspect-ratio: 1.65;}
.veo-template-food-01-v1 .f01-comparison-media > .f01-icon-btn {position: absolute; right: 10px; bottom: 10px; border: 0;}
.veo-template-food-01-v1 .f01-comparison-copy {padding: 16px;}
.veo-template-food-01-v1 .f01-comparison-name {display: flex; align-items: flex-start; gap: 5px; margin-bottom: 9px;}
.veo-template-food-01-v1 .f01-comparison-name h3 {flex: 1; min-width: 0; font-size: 22px; padding-top: 6px; line-height: 1.22;}
.veo-template-food-01-v1 .f01-comparison-name .f01-icon-btn {background: transparent; border: 0; margin-right: -8px;}
.veo-template-food-01-v1 .f01-comparison-copy .f01-kicker {font-size: 11px; margin-bottom: 12px;}
.veo-template-food-01-v1 .f01-compare-description {font-size: 14px; line-height: 1.65; color: var(--f01-muted); margin-block: 16px; overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-comparison-copy .f01-spec-list {margin-block: 0 18px;}
.veo-template-food-01-v1 .f01-comparison-copy .f01-availability {margin-top: 0;}
.veo-template-food-01-v1.f01-dialog-hours, .veo-template-food-01-v1.f01-dialog-contact {width: min(530px,calc(100vw - 32px));}
.veo-template-food-01-v1.f01-dialog-information, .veo-template-food-01-v1.f01-dialog-reviews {width: min(760px,calc(100vw - 32px));}
.veo-template-food-01-v1 .f01-status-panel {display: inline-flex; align-items: center; gap: 8px; padding: 9px 12px; margin-bottom: 20px; color: var(--f01-accent-dark); background: #f5e7cc; border-radius: 8px; font-size: 14px; font-weight: 600;}
.veo-template-food-01-v1 .f01-full-hours {margin-block: 14px 20px; border-block: 1px solid var(--f01-line);}
.veo-template-food-01-v1 .f01-full-hours > div {display: flex; justify-content: space-between; gap: 14px; padding-block: 13px; border-bottom: 1px solid #e9dfcf; font-size: 15px;}
.veo-template-food-01-v1 .f01-full-hours > div:last-child {border-bottom: 0;}
.veo-template-food-01-v1 .f01-full-hours dd {margin: 0; font-variant-numeric: tabular-nums;}
.veo-template-food-01-v1 .f01-review-dialog-controls {display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 15px; margin-block: 18px 14px;}
.veo-template-food-01-v1 .f01-review-dialog-controls .f01-review-filters {margin: 0;}
.veo-template-food-01-v1 .f01-review-order {display: flex; flex-direction: column; gap: 4px; font-size: 13px;}
.veo-template-food-01-v1 .f01-review-order select {max-width: 100%; padding: 9px 10px; min-height: 44px; border: 1px solid var(--f01-line); border-radius: 8px; background: #fffbf3; font-size: 14px;}
.veo-template-food-01-v1 .f01-review-count {font-size: 13px; color: var(--f01-muted); margin-bottom: 12px;}
.veo-template-food-01-v1 .f01-information-section + .f01-information-section {border-top: 1px solid var(--f01-line); margin-top: 21px; padding-top: 21px;}
.veo-template-food-01-v1 .f01-information-section h3 {font-size: 18px; margin-bottom: 12px;}
.veo-template-food-01-v1 .f01-information-section > p {font-size: 15px; line-height: 1.6;}
.veo-template-food-01-v1 .f01-information-section > .f01-fine {font-size: 13px; margin-top: 7px;}
.veo-template-food-01-v1 .f01-information-section .f01-facility-group {margin-block: 12px;}
.veo-template-food-01-v1 .f01-information-contacts {display: flex; gap: 10px; flex-wrap: wrap;}
.veo-template-food-01-v1 .f01-contact-symbol {display: grid; place-items: center; width: 60px; height: 60px; background: #f3e4c7; color: var(--f01-accent); border-radius: 17px; margin-bottom: 17px;}
.veo-template-food-01-v1 .f01-contact-symbol .f01-icon {width: 27px; height: 27px;}
.veo-template-food-01-v1 .f01-contact-value {margin-block: 8px 20px; font-size: 15px; color: var(--f01-muted); overflow-wrap: anywhere;}
.veo-template-food-01-v1 .f01-soft-note {display: flex; align-items: flex-start; gap: 12px; padding: 16px; background: #f5eddd; border: 1px solid #e2d2b7; border-radius: 11px; margin-bottom: 20px;}
.veo-template-food-01-v1 .f01-soft-note p {font-size: 14px; line-height: 1.7;}
@media (max-width: 1000px) {
 .veo-template-food-01-v1 .f01-card-tools {flex-wrap: wrap;}
 .veo-template-food-01-v1 .f01-view-board .f01-featured .f01-item > .f01-media {aspect-ratio: 1.6;}
 .veo-template-food-01-v1 .f01-heading-aside {justify-self: stretch;}
}
@media (max-width: 600px) {
 .veo-template-food-01-v1 .f01-hero {padding-block: 21px; column-gap: 13px;}
 .veo-template-food-01-v1 .f01-hero-art {border-width: 3px; border-radius: 13px;}
 .veo-template-food-01-v1 .f01-business-status {font-size: 12px; padding-inline: 9px;}
 .veo-template-food-01-v1 .f01-hero-meta {gap: 4px 9px;}
 .veo-template-food-01-v1 .f01-heading-aside {gap: 12px; justify-self: start;}
 .veo-template-food-01-v1 .f01-heading-aside .f01-btn {align-self: flex-start;}
 .veo-template-food-01-v1 .f01-catalog-section {padding-block: 30px;}
 .veo-template-food-01-v1 .f01-section-heading {gap: 12px; margin-bottom: 19px;}
 .veo-template-food-01-v1 .f01-heading-aside > p {font-size: 14px;}
 .veo-template-food-01-v1 .f01-catalog-section .f01-heading-aside .f01-btn {width: 100%;}
 .veo-template-food-01-v1 .f01-nav-track {gap: 0 13px;}
 .veo-template-food-01-v1 .f01-meta-actions {gap: 8px;}
 .veo-template-food-01-v1 .f01-meta-actions .f01-btn {font-size: 12px; padding-inline: 9px; gap: 5px;}
 .veo-template-food-01-v1 .f01-meta-actions .f01-icon {width: 17px; height: 17px;}
 .veo-template-food-01-v1 .f01-meta-actions .f01-currency {display: none;}
 .veo-template-food-01-v1 .f01-results-meta {margin-block: 7px 12px; font-size: 13px;}
 .veo-template-food-01-v1 .f01-view-board .f01-featured .f01-item > .f01-media {aspect-ratio: 1.75;}
 .veo-template-food-01-v1 .f01-featured .f01-item-body {padding: 20px; gap: 15px;}
 .veo-template-food-01-v1 .f01-featured .f01-item-name {font-size: 26px;}
 .veo-template-food-01-v1 .f01-card-tools {padding: 4px 9px; flex-wrap: nowrap;}
 .veo-template-food-01-v1 .f01-card-tool {font-size: 13px; padding-inline: 9px;}
 .veo-template-food-01-v1 .f01-view-board .f01-catalog-card:not(.f01-featured) .f01-item {padding: 16px 16px 12px; grid-template-columns: minmax(0,1fr) 94px;}
 .veo-template-food-01-v1 .f01-view-board .f01-catalog-card:not(.f01-featured) .f01-open-hint {font-size: 12px; margin-top: 1px;}
 .veo-template-food-01-v1 .f01-open-hint .f01-icon {width: 16px; height: 16px;}
 .veo-template-food-01-v1 .f01-featured .f01-card-bottom {padding-right: 0;}
 .veo-template-food-01-v1 .f01-all-link {padding: 17px; gap: 15px; margin-top: 18px;}
 .veo-template-food-01-v1 .f01-all-link small {font-size: 13px; line-height: 1.55;}
 .veo-template-food-01-v1 .f01-gallery-section {padding-block: 27px 20px;}
 .veo-template-food-01-v1 .f01-gallery-grid {gap: 15px 9px;}
 .veo-template-food-01-v1 .f01-gallery-item .f01-media {border-width: 2px; border-radius: 8px;}
 .veo-template-food-01-v1 .f01-reviews-section {padding-block: 29px;}
 .veo-template-food-01-v1 .f01-read-reviews {margin-top: 0; margin-bottom: 17px;}
 .veo-template-food-01-v1 .f01-review-filters {margin-bottom: 7px;}
 .veo-template-food-01-v1 .f01-map-preview .f01-map-art {min-height: 0; aspect-ratio: 2.3; height: auto;}
 .veo-template-food-01-v1.f01-dialog {border-radius: 17px;}
 .veo-template-food-01-v1 .f01-dialog-header {padding: 15px 17px;}
 .veo-template-food-01-v1 .f01-catalog-footer {gap: 7px; padding: 11px 14px;}
 .veo-template-food-01-v1 .f01-catalog-footer > .f01-btn {flex: 0 1 auto; font-size: 13px; padding-inline: 12px;}
 .veo-template-food-01-v1 .f01-detail-copy {padding: 20px;}
 .veo-template-food-01-v1 .f01-detail-actions .f01-btn {flex: 1 1 110px;}
 .veo-template-food-01-v1 .f01-detail-position {padding-inline: 3px; font-size: 12px;}
 .veo-template-food-01-v1 .f01-dialog-detail .f01-dialog-footer {gap: 7px;}
 .veo-template-food-01-v1 .f01-image-arrows {padding-inline: 9px;}
 .veo-template-food-01-v1 .f01-image-arrows > button {background: #fffcf6cd;}
 .veo-template-food-01-v1 .f01-compare-dock {width: calc(100vw - 24px); bottom: 12px; padding: 10px 12px; gap: 10px; border-radius: 14px; flex-wrap: wrap;}
 .veo-template-food-01-v1 .f01-dock-caption {flex: 1;}
 .veo-template-food-01-v1 .f01-dock-caption strong {font-size: 13px;}
 .veo-template-food-01-v1 .f01-dock-caption > span {font-size: 10px; max-width: none;}
 .veo-template-food-01-v1 .f01-dock-thumbs {display: none;}
 .veo-template-food-01-v1 .f01-compare-dock > .f01-btn {font-size: 13px; padding-inline: 10px; gap: 7px;}
 .veo-template-food-01-v1.f01-dialog-compare {width: calc(100vw - 16px);}
 .veo-template-food-01-v1 .f01-compare-toolbar {padding: 9px 17px; gap: 3px;}
 .veo-template-food-01-v1 .f01-compare-toolbar p {font-size: 12px;}
 .veo-template-food-01-v1 .f01-compare-toolbar label {font-size: 13px;}
 .veo-template-food-01-v1 .f01-comparison-grid, .veo-template-food-01-v1 .f01-comparison-grid[data-columns="1"], .veo-template-food-01-v1 .f01-comparison-grid[data-columns="2"] {grid-template-columns: minmax(0,1fr); gap: 15px;}
 .veo-template-food-01-v1 .f01-comparison-media > .f01-media {aspect-ratio: 2.1;}
 .veo-template-food-01-v1 .f01-comparison-copy {padding: 16px;}
 .veo-template-food-01-v1 .f01-comparison-name h3 {font-size: 23px;}
 .veo-template-food-01-v1 .f01-comparison-copy .f01-spec-list > div {font-size: 13px;}
 .veo-template-food-01-v1 .f01-review-dialog-controls {align-items: flex-start;}
 .veo-template-food-01-v1 .f01-review-order {width: 100%;}
 .veo-template-food-01-v1 .f01-review-order select {width: 100%;}
 .veo-template-food-01-v1 .f01-full-hours > div {font-size: 14px; gap: 12px; flex-wrap: wrap;}
 .veo-template-food-01-v1 .f01-dialog-reviews .f01-review-image {margin-top: 26px;}
}
@media (max-width: 350px) {
 .veo-template-food-01-v1 .f01-hero {column-gap: 9px;}
 .veo-template-food-01-v1 .f01-view-board .f01-catalog-card:not(.f01-featured) .f01-item {grid-template-columns: minmax(0,1fr) 76px; padding: 12px;}
 .veo-template-food-01-v1 .f01-card-tools {padding-inline: 5px;}
 .veo-template-food-01-v1 .f01-card-tool {font-size: 12px; padding-inline: 7px;}
 .veo-template-food-01-v1 .f01-nav-track {gap: 0 11px;}
 .veo-template-food-01-v1 .f01-compare-dock {gap: 6px; padding: 10px;}
 .veo-template-food-01-v1 .f01-dock-caption strong {font-size: 12px;}
 .veo-template-food-01-v1 .f01-compare-dock > .f01-btn {font-size: 12px;}
}
@media (prefers-reduced-motion: reduce) {
 .veo-template-food-01-v1 *, .veo-template-food-01-v1 *::before, .veo-template-food-01-v1 *::after, .veo-template-food-01-v1.f01-dialog[open] {animation: none !important; transition: none !important; scroll-behavior: auto !important;}
}

.veo-template-food-01-v1 .f01-toast {pointer-events: none;}
.veo-template-food-01-v1.f01-has-comparison .f01-toast {bottom: 115px;}

.veo-template-food-01-v1 .f01-btn[data-contact-unavailable="true"] {color: #726454; background: #f4efe6; border-color: #e3d9cb; cursor: pointer;}
.veo-template-food-01-v1 .f01-btn[data-contact-unavailable="true"]:hover {border-color: #b28c63; background: #eee3d0;}

/* food01 1.2.0: readable shared prices and two real catalog views.
   Scope never includes platform promotions, page header or operation slots. */
.veo-template-food-01-v1 .f01-prices {column-gap: 12px; row-gap: 7px; align-items: baseline; width: 100%;}
.veo-template-food-01-v1 .f01-price {font-size: 28px; line-height: 1.2; font-weight: 780; color: #63321f; letter-spacing: -.035em; max-width: 100%;}
.veo-template-food-01-v1 .f01-original {font-size: 17px; line-height: 1.45; color: #756653; text-decoration-thickness: 1.4px; max-width: 100%;}
.veo-template-food-01-v1 .f01-discount {font-size: 15px; line-height: 1.4; padding: 5px 9px; font-weight: 650; border: 1px solid #d9bb8e; border-radius: 5px; color: #713d24; background: #f7e8ca; max-width: 100%;}
.veo-template-food-01-v1 .f01-card-bottom {border-top: 1px solid #e7d9c3; padding-top: 15px; gap: 8px;}
.veo-template-food-01-v1 .f01-featured .f01-card-bottom {border-top-color: #d4ae69;}
.veo-template-food-01-v1 .f01-featured .f01-price {font-size: 38px;}
.veo-template-food-01-v1 .f01-featured .f01-original {font-size: 19px; color: #725535;}
.veo-template-food-01-v1 .f01-featured .f01-discount {font-size: 16px; background: #fff2d1; border-color: #ca9e5b;}
.veo-template-food-01-v1 .f01-unit-note {font-size: 14px; line-height: 1.5;}
.veo-template-food-01-v1 .f01-detail-copy > .f01-prices {padding-block: 18px; margin-block: 17px; border-block: 1px solid var(--f01-line);}
.veo-template-food-01-v1 .f01-detail-copy .f01-price {font-size: 38px;}
.veo-template-food-01-v1 .f01-detail-copy .f01-original {font-size: 19px;}
.veo-template-food-01-v1 .f01-detail-copy .f01-discount {font-size: 16px;}
.veo-template-food-01-v1 .f01-comparison-copy > .f01-prices {border-top: 1px solid var(--f01-line); padding-top: 16px; margin-top: 15px;}
.veo-template-food-01-v1 .f01-comparison-copy .f01-price {font-size: 30px;}
.veo-template-food-01-v1 .f01-comparison-copy .f01-original {font-size: 17px;}
.veo-template-food-01-v1 .f01-comparison-copy .f01-discount {font-size: 15px;}
.veo-template-food-01-v1 .f01-card-tool {font-size: 14px; line-height: 1.4; min-height: 46px;}
.veo-template-food-01-v1 .f01-open-hint,
.veo-template-food-01-v1 .f01-view-board .f01-catalog-card:not(.f01-featured) .f01-open-hint {font-size: 14px;}
/* Text plus icons, not hidden hover controls. Both surfaces consume state.view. */
.veo-template-food-01-v1 .f01-view-toolbar {margin-top: 18px;}
.veo-template-food-01-v1 .f01-view-toggle {display: inline-flex; flex-wrap: wrap; gap: 4px; padding: 4px; background: #fffdf8; border: 1px solid #d8c6aa; border-radius: 10px; max-width: 100%;}
.veo-template-food-01-v1 .f01-view-toggle .f01-view-switch {font-size: 15px; font-weight: 550; padding: 9px 14px; min-width: 44px; min-height: 46px; border: 1px solid transparent; background: transparent; color: #6c5d49; border-radius: 6px; gap: 9px;}
.veo-template-food-01-v1 .f01-view-toggle .f01-view-switch[aria-pressed="true"] {background: #f2e3ca; color: #603820; border-color: #d3b488; font-weight: 650;}
.veo-template-food-01-v1 .f01-view-toggle .f01-view-switch:not([aria-pressed="true"]):hover {background: #f8f1e5; border-color: #e4d4bb;}
.veo-template-food-01-v1 .f01-view-toggle .f01-icon {width: 20px; height: 20px; flex-shrink: 0;}
.veo-template-food-01-v1 .f01-results-meta {flex-wrap: wrap; row-gap: 12px;}
/* List alternative: picture, full text, prices below, clearly separated actions.
   No hotel side preview and no narrow price-only column. */
.veo-template-food-01-v1 .f01-view-list {gap: 0; border-top: 2px solid #8e5d36;}
.veo-template-food-01-v1 .f01-view-list .f01-catalog-card {border: 0; border-bottom: 1px solid #d8c9b2; border-radius: 0; background: transparent; box-shadow: none; padding: 25px 0 15px;}
.veo-template-food-01-v1 .f01-view-list .f01-catalog-card:hover {background: #f9f0e0; box-shadow: none;}
.veo-template-food-01-v1 .f01-view-list .f01-catalog-card[data-compared="true"] {box-shadow: inset 3px 0 #92452f;}
.veo-template-food-01-v1 .f01-item-list {grid-template-columns: 132px minmax(0,1fr); align-items: start; column-gap: 24px; padding: 0; background: transparent;}
.veo-template-food-01-v1 .f01-item-list > .f01-media {width: 132px; height: 140px; margin: 0; aspect-ratio: auto; border-radius: 8px;}
.veo-template-food-01-v1 .f01-item-list .f01-item-body {display: flex; padding: 0 18px 0 0; gap: 17px; align-items: stretch;}
.veo-template-food-01-v1 .f01-item-list .f01-item-name {font-size: 25px; line-height: 1.3;}
.veo-template-food-01-v1 .f01-item-list .f01-item-description {display: block; font-size: 16px; line-height: 1.65; max-width: 820px;}
.veo-template-food-01-v1 .f01-item-list .f01-card-bottom {border: 0; padding-top: 0; margin: 0;}
.veo-template-food-01-v1 .f01-item-list .f01-price {font-size: 32px;}
.veo-template-food-01-v1 .f01-item-list .f01-original {font-size: 18px;}
.veo-template-food-01-v1 .f01-item-list .f01-discount {font-size: 16px;}
.veo-template-food-01-v1 .f01-item-list .f01-open-hint {max-width: 155px; margin-top: 2px;}
.veo-template-food-01-v1 .f01-view-list .f01-card-tools {justify-content: flex-start; gap: 20px; border: 0; background: transparent; padding: 8px 0 0 147px;}
.veo-template-food-01-v1 .f01-view-list .f01-card-tool {font-size: 15px;}
@media (max-width: 600px) {
 .veo-template-food-01-v1 .f01-prices {column-gap: 9px; row-gap: 7px;}
 .veo-template-food-01-v1 .f01-price {font-size: 27px;}
 .veo-template-food-01-v1 .f01-original {font-size: 16px;}
 .veo-template-food-01-v1 .f01-discount {font-size: 15px; padding: 4px 7px;}
 .veo-template-food-01-v1 .f01-featured .f01-price {font-size: 35px;}
 .veo-template-food-01-v1 .f01-featured .f01-original {font-size: 18px;}
 .veo-template-food-01-v1 .f01-featured .f01-discount {font-size: 15px;}
 .veo-template-food-01-v1 .f01-detail-copy .f01-price {font-size: 34px;}
 .veo-template-food-01-v1 .f01-detail-copy .f01-original {font-size: 18px;}
 .veo-template-food-01-v1 .f01-detail-copy .f01-discount {font-size: 15px;}
 .veo-template-food-01-v1 .f01-card-bottom {padding-top: 12px; gap: 7px;}
 .veo-template-food-01-v1 .f01-card-tool {font-size: 14px; padding-inline: 8px; gap: 6px;}
 .veo-template-food-01-v1 .f01-card-tools {flex-wrap: wrap;}
 .veo-template-food-01-v1 .f01-view-toggle {display: flex; width: 100%;}
 .veo-template-food-01-v1 .f01-view-toggle .f01-view-switch {flex: 1 1 100px; font-size: 14px; padding: 8px 9px; gap: 6px;}
 .veo-template-food-01-v1 .f01-results-meta > .f01-view-toggle {flex-basis: 100%;}
 .veo-template-food-01-v1 .f01-view-list .f01-catalog-card {padding-block: 19px 13px;}
 .veo-template-food-01-v1 .f01-item-list {grid-template-columns: 66px minmax(0,1fr); column-gap: 14px;}
 .veo-template-food-01-v1 .f01-item-list > .f01-media {width: 66px; height: 82px; margin: 0; border-radius: 6px;}
 .veo-template-food-01-v1 .f01-item-list .f01-item-body {padding: 0 4px 0 0; gap: 13px;}
 .veo-template-food-01-v1 .f01-item-list .f01-item-name {font-size: 21px;}
 .veo-template-food-01-v1 .f01-item-list .f01-item-description {font-size: 14px; line-height: 1.65;}
 .veo-template-food-01-v1 .f01-item-list .f01-price {font-size: 29px;}
 .veo-template-food-01-v1 .f01-item-list .f01-original {font-size: 16px;}
 .veo-template-food-01-v1 .f01-item-list .f01-discount {font-size: 15px;}
 .veo-template-food-01-v1 .f01-item-list .f01-card-bottom {padding: 0;}
 .veo-template-food-01-v1 .f01-view-list .f01-card-tools {padding-left: 73px; gap: 6px; flex-wrap: wrap;}
 .veo-template-food-01-v1 .f01-view-list .f01-card-tool {font-size: 14px;}
}

/* VEO integration: only this native template's content and overlays. */
.veo-template-food-01-v1 input[type="search"]{font-size:16px}
.veo-template-food-01-v1 [hidden]{display:none!important}
.veo-template-food-01-v1 [data-module="map"] .utility-card{margin:0;box-shadow:none}
.veo-template-food-01-v1 [data-module="map"]{min-width:0}
.veo-template-food-01-v1 [data-module="map"] .btn{min-height:44px}

/* Keep authored search/filter rows independent of host form labels. */
.veo-template-food-01-v1 .f01-search,.veo-template-food-01-v1 .f01-filter-checks label{flex-direction:row}
