/* Hero Gold: restaurant-specific values are injected as validated CSS variables. */
.hg-body {
    --he-gold: var(--hg-accent, #d4af37);
    --he-gold-dark: var(--hg-accent-soft, #f3d77a);
    --he-ink: var(--hg-text, #fff8e5);
    --he-muted: var(--hg-muted, #b9aa82);
    --he-paper: var(--hg-background, #050505);
    --he-line: var(--hg-border, #5e4918);
    --he-white: #fff;
    color-scheme: dark;
    background:
        radial-gradient(circle at 15% 10%, color-mix(in srgb, var(--hg-accent) 9%, transparent), transparent 29rem),
        var(--hg-background);
    color: var(--hg-text);
}

.hg-body .he-app-shell { background: transparent; }
.hg-body .he-glass-button {
    border-color: color-mix(in srgb, var(--hg-accent) 38%, transparent);
    background: rgba(0, 0, 0, .76);
    color: var(--hg-text);
}
.hg-body .he-glass-button:hover { border-color: var(--hg-accent); background: #000; color: var(--hg-accent-soft); }
.hg-body .he-language .dropdown-menu { border: 1px solid var(--hg-border); background: var(--hg-surface); }
.hg-body .he-language .dropdown-item { color: var(--hg-text); }
.hg-body .he-language .dropdown-item:hover { background: color-mix(in srgb, var(--hg-accent) 14%, var(--hg-surface)); }
.hg-body .he-language .dropdown-item.active { background: var(--hg-accent); color: #090806; }

.hg-body .he-hero { min-height: 540px; background-color: #000; }
.hg-body .he-hero__shade {
    background:
        radial-gradient(circle at 50% 28%, transparent 0 15%, rgba(0, 0, 0, calc(var(--hg-overlay) * .42)) 62%),
        linear-gradient(180deg, rgba(0, 0, 0, calc(var(--hg-overlay) * .36)) 4%, rgba(0, 0, 0, calc(var(--hg-overlay) * .72)) 55%, rgba(0, 0, 0, var(--hg-overlay)) 100%);
}
.hg-body .he-status { border-color: color-mix(in srgb, var(--hg-accent) 45%, transparent); background: rgba(0, 0, 0, .78); color: var(--hg-text); }
.hg-body .he-hero__logo { border: 2px solid var(--hg-accent); background: #050505; box-shadow: 0 0 0 6px rgba(0, 0, 0, .36), 0 18px 48px rgba(0, 0, 0, .55); }
.hg-body .he-hero h1 { color: var(--hg-text); text-shadow: 0 5px 30px #000; }
.hg-body .he-hero__location, .hg-body .hg-hero-tagline { color: color-mix(in srgb, var(--hg-text) 76%, transparent); }
.hg-hero-badge {
    width: fit-content;
    margin: 0 auto 14px;
    padding: 7px 13px;
    display: block;
    border: 1px solid color-mix(in srgb, var(--hg-accent) 72%, transparent);
    border-radius: 999px;
    background: rgba(0, 0, 0, .58);
    color: var(--hg-accent-soft);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
    backdrop-filter: blur(10px);
}
.hg-hero-tagline { max-width: 620px; margin: 0 auto 8px; font-size: clamp(14px, 2vw, 18px); line-height: 1.55; }

.hg-body .he-tabs-wrap {
    border: 1px solid var(--hg-border);
    background: color-mix(in srgb, var(--hg-surface) 94%, transparent);
    box-shadow: 0 22px 70px rgba(0, 0, 0, .52);
}
.hg-body .he-tabs { background: #050505; }
.hg-body .he-tabs__item { color: var(--hg-muted); }
.hg-body .he-tabs__item:hover { color: var(--hg-accent-soft); }
.hg-body .he-tabs__item.is-active { background: var(--hg-accent); color: #080705; box-shadow: 0 7px 22px color-mix(in srgb, var(--hg-accent) 26%, transparent); }
.hg-body .he-quick-actions { border-top: 1px solid color-mix(in srgb, var(--hg-border) 55%, transparent); }
.hg-body .he-quick-actions a, .hg-body .he-quick-actions button { color: var(--hg-muted); }
.hg-body .he-quick-actions a:hover, .hg-body .he-quick-actions button:hover { color: var(--hg-accent-soft); }

.hg-body .he-menu-section { background: transparent; }
.hg-body .he-categories a, .hg-body .he-categories a strong { color: var(--hg-text); }
.hg-body .he-category-bubble { border-color: color-mix(in srgb, var(--hg-border) 72%, transparent); background: var(--hg-surface); color: var(--hg-accent); box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025); }
.hg-body .he-categories a:hover .he-category-bubble,
.hg-body .he-categories a.is-active .he-category-bubble { border-color: var(--hg-accent); box-shadow: 0 10px 28px color-mix(in srgb, var(--hg-accent) 18%, transparent); }
.hg-body .he-categories a.is-active strong { color: var(--hg-accent-soft); }

.hg-body .he-stories { border-color: var(--hg-border); background: #080806; }
.hg-body .he-section-intro span { color: var(--hg-accent); }
.hg-body .he-section-intro h2, .hg-body .he-stories__rail strong { color: var(--hg-text); }
.hg-body .he-stories__rail button > span { border-color: var(--hg-accent); background: var(--hg-surface); box-shadow: 0 10px 28px rgba(0, 0, 0, .48); }

.hg-body .he-search-wrap { background: color-mix(in srgb, var(--hg-background) 92%, transparent); }
.hg-body .he-search { border-color: var(--hg-border); background: var(--hg-surface); box-shadow: 0 8px 25px rgba(0, 0, 0, .38); }
.hg-body .he-search:focus-within { border-color: var(--hg-accent); box-shadow: 0 0 0 3px color-mix(in srgb, var(--hg-accent) 20%, transparent); }
.hg-body .he-search svg { color: var(--hg-accent); }
.hg-body .he-search input { color: var(--hg-text); }
.hg-body .he-search input::placeholder { color: var(--hg-muted); }

.hg-body .he-category__heading > span { color: var(--hg-accent); }
.hg-body .he-category__heading h2 { color: var(--hg-text); }
.hg-body .he-category__heading small { color: var(--hg-muted); }
.hg-body .he-product {
    border: 1px solid color-mix(in srgb, var(--hg-border) 80%, transparent);
    border-radius: var(--hg-radius);
    background: var(--hg-surface);
    box-shadow: 0 18px 42px rgba(0, 0, 0, .42);
}
.hg-body .he-product:nth-child(n) { background: var(--hg-surface); }
.hg-body .he-product__image { filter: saturate(.94) contrast(1.04); }
.hg-body .he-product__button::after { background: linear-gradient(180deg, rgba(0, 0, 0, .03) 20%, rgba(0, 0, 0, .92) 100%); }
.hg-body .he-product__badge { background: var(--hg-accent); color: #080705; box-shadow: 0 6px 18px rgba(0, 0, 0, .35); }
.hg-body .he-product__badge--muted { background: #0b0b09; color: var(--hg-muted); }
.hg-body .he-product__price { border: 1px solid color-mix(in srgb, var(--hg-accent) 40%, transparent); background: rgba(0, 0, 0, .74); color: var(--hg-text); }
.hg-body .he-product__title { color: var(--hg-text); }
.hg-body .he-product__description { color: color-mix(in srgb, var(--hg-text) 70%, transparent); }
.hg-body .he-product__add { background: var(--hg-accent); color: #080705; }
.hg-body .he-product:hover .he-product__add { background: var(--hg-accent-soft); color: #080705; box-shadow: 0 8px 28px color-mix(in srgb, var(--hg-accent) 36%, transparent); }
.hg-body .he-product--plain .he-product__content { background: linear-gradient(145deg, color-mix(in srgb, var(--hg-accent) 12%, var(--hg-surface)), #050505); }

.hg-body .he-fab { border: 1px solid var(--hg-border); box-shadow: 0 14px 34px rgba(0, 0, 0, .48); }
.hg-body .he-fab--orders, .hg-body .he-fab--waiter { background: var(--hg-surface); color: var(--hg-accent-soft); }
.hg-body .he-fab--cart { background: var(--hg-accent); color: #080705; }
.hg-body .he-fab strong { background: #050505; color: var(--hg-accent-soft); }

.hg-body .he-footer { border-color: var(--hg-border); color: var(--hg-muted); }
.hg-body .he-footer a, .hg-body .he-footer button { color: var(--hg-muted); }
.hg-body .he-footer a:hover, .hg-body .he-footer button:hover { color: var(--hg-accent-soft); }
.hg-body .menu-allergen-legend { border-color: var(--hg-border); background: var(--hg-surface); color: var(--hg-text); }
.hg-body .menu-allergen-legend dt { background: var(--hg-accent); color: #080705; }

.hg-body .modal-content, .hg-body .he-info-modal .modal-content { border: 1px solid var(--hg-border); background: var(--hg-surface); color: var(--hg-text); }
.hg-body .he-info__hero { background-color: #000; }
.hg-body .he-info__shade { background: linear-gradient(180deg, rgba(0, 0, 0, .28), rgba(0, 0, 0, .94)); }
.hg-body .he-info__identity > img { border-color: var(--hg-accent); background: #050505; }
.hg-body .he-info__eyebrow, .hg-body .he-info__rating i { color: var(--hg-accent-soft); }
.hg-body .he-info__description, .hg-body .he-info__review p { color: var(--hg-muted); }
.hg-body .he-info__detail, .hg-body .he-info__review { border-color: var(--hg-border); background: #090907; }
.hg-body .he-info__detail-icon, .hg-body .he-info__section-title > span, .hg-body .he-info__map-consent-icon { background: color-mix(in srgb, var(--hg-accent) 15%, #050505); color: var(--hg-accent-soft); }
.hg-body .he-info__detail small, .hg-body .he-info__review small { color: var(--hg-muted); }
.hg-body .he-info__detail strong, .hg-body .he-info__section-title h3, .hg-body .he-info__map-consent { color: var(--hg-text); }
.hg-body .he-info__contact { background: var(--hg-accent); color: #080705; box-shadow: 0 12px 28px color-mix(in srgb, var(--hg-accent) 19%, transparent); }
.hg-body .he-info__contact:hover { background: var(--hg-accent-soft); color: #080705; }
.hg-body .he-info__map { border-color: var(--hg-border); background: #080806; }
.hg-body .he-info__map-consent p { color: var(--hg-muted); }
.hg-body .he-info__map-consent button { background: var(--hg-accent); color: #080705; }
.hg-body .he-info__map-consent a { background: #050505; color: var(--hg-accent-soft); }
.hg-body .he-info__reviews { border-color: var(--hg-border); }

.hg-body.hg-font-elegant .he-hero h1,
.hg-body.hg-font-elegant .he-section-intro h2,
.hg-body.hg-font-elegant .he-category__heading h2,
.hg-body.hg-font-elegant .he-product__title,
.hg-body.hg-font-elegant .he-info__identity h2 { font-family: Georgia, "Times New Roman", serif; }
.hg-body.hg-font-modern,
.hg-body.hg-font-modern .he-hero h1,
.hg-body.hg-font-modern .he-section-intro h2,
.hg-body.hg-font-modern .he-category__heading h2,
.hg-body.hg-font-modern .he-product__title,
.hg-body.hg-font-modern .he-info__identity h2 { font-family: "Segoe UI", Inter, Arial, sans-serif; letter-spacing: -.025em; }
.hg-body.hg-font-classic { font-family: Georgia, "Times New Roman", serif; }

.hg-body.hg-align-left .he-hero { place-items: end start; }
.hg-body.hg-align-left .he-hero__content { text-align: start; }
.hg-body.hg-align-left .hg-hero-badge { margin-inline: 0; }
.hg-body.hg-align-left .hg-hero-tagline { margin-inline: 0; }
.hg-body.hg-align-left .he-hero__location { justify-content: flex-start; margin-inline: 0; }

.hg-body.hg-cards-compact .he-product { height: 270px; }
.hg-body.hg-cards-tall .he-product { height: 410px; }
.hg-body.hg-buttons-square .he-tabs__item,
.hg-body.hg-buttons-square .he-info__contact,
.hg-body.hg-buttons-square .he-search { border-radius: 7px; }
.hg-body.hg-buttons-square .he-fab, .hg-body.hg-buttons-square .he-product__add { border-radius: 10px; }
.hg-body.hg-buttons-pill .he-tabs__item,
.hg-body.hg-buttons-pill .he-info__contact,
.hg-body.hg-buttons-pill .he-search { border-radius: 999px; }

.hg-body.hg-hide-logo .he-hero__logo { display: none; }
.hg-body.hg-hide-address .he-hero__location { display: none; }
.hg-body.hg-hide-status .he-status { display: none; }
.hg-body.hg-hide-categories .he-categories { display: none; }
.hg-body.hg-hide-featured .he-stories { display: none; }
.hg-body.hg-hide-search .he-search-wrap { display: none; }
.hg-body.hg-hide-quick-actions .he-quick-actions { display: none; }

@media (max-width: 760px) {
    .hg-body .he-hero { min-height: 500px; }
    .hg-body.hg-cards-compact .he-product { height: 235px; }
    .hg-body.hg-cards-tall .he-product { height: 350px; }
    .hg-body.hg-align-left .he-hero__content { padding-inline: 22px; }
}
