/* Shared, spacious menu system. Theme compositions follow below. */
body.menu-refresh { --font-sans:'Inter',sans-serif; line-height:1.5; }
.menu-refresh button,.menu-refresh a,.menu-refresh input { touch-action:manipulation; }
.menu-refresh :focus-visible { outline:3px solid var(--primary); outline-offset:4px; }
.menu-refresh .hero { height:auto; min-height:0; max-height:none; padding:230px 0 0; background:var(--bg); }
.menu-refresh .hero-cover { height:260px; transform:none; background-position:center; }
.menu-refresh .hero-gradient { height:260px; background:linear-gradient(180deg,#0003,#0000 50%,#0004); }
.menu-refresh .hero-top-bar { max-width:960px; left:50%; transform:translateX(-50%); width:100%; padding:18px 22px; }
.menu-refresh .hero-top-btn { font-size:11px; font-weight:500; box-shadow:none; min-height:36px; }
.menu-refresh .hero-identity { position:relative; top:auto; left:auto; transform:none; width:calc(100% - 40px); max-width:916px; margin:0 auto; padding:26px 24px 22px; background:var(--card-bg); border-radius:20px; text-align:left; display:grid; grid-template-columns:58px minmax(0,1fr); column-gap:16px; align-items:center; }
.menu-refresh .hero-logo-ring { grid-row:1 / 3; width:58px; height:58px; padding:0; margin:0; border:1px solid var(--border); background:var(--bg); border-radius:14px; box-shadow:none; }
.menu-refresh .hero-logo-inner,.menu-refresh .hero-logo-inner img { border-radius:14px; background:var(--card-bg); object-fit:contain; }
.menu-refresh .hero-name { font-family:var(--font-serif); font-size:28px; font-weight:500; line-height:1.15; color:var(--text); letter-spacing:-.6px; text-shadow:none; overflow-wrap:anywhere; }
.menu-refresh .hero-slogan { color:var(--muted); font-size:11px; margin-top:6px; line-height:1.6; }
.menu-refresh .hero-bottom { padding:20px 0 0; }
.menu-refresh .hero-bottom-inner { max-width:960px; padding:0 22px; }
.menu-refresh .hero-search-box { background:var(--card-bg); border:1px solid var(--border); backdrop-filter:none; height:48px; border-radius:12px; }
.menu-refresh .hero-search-input { color:var(--text); min-width:0; font-size:13px; }
.menu-refresh .hero-search-input::placeholder { color:var(--muted); }
.menu-refresh .hero-search-box i { color:var(--muted); }
.menu-refresh .hero-search-btn { border-radius:12px; height:48px; width:48px; font-size:16px; }
.menu-refresh .hero-action-panel { max-width:960px; padding:0 22px; grid-template-columns:repeat(auto-fit,minmax(65px,1fr)); gap:8px; margin:14px auto 20px; }
.menu-refresh .hero-action-card { padding:11px 4px; gap:6px; border:0; background:transparent; border-radius:10px; box-shadow:none; }
.menu-refresh .hero-action-card:hover { background:var(--pill-bg); }
.menu-refresh .hero-action-icon { font-size:17px; }
.menu-refresh .hero-action-label { font-size:9px; font-weight:500; }
.menu-refresh .cat-nav-wrap { padding:12px 0; background:var(--bg); backdrop-filter:none; border-color:var(--border); }
.menu-refresh .cat-nav-inner { max-width:960px; }
.menu-refresh .cat-nav-scroll { padding:0 22px; gap:8px; scrollbar-width:none; }
.menu-refresh .cat-nav-scroll::-webkit-scrollbar { display:none; }
.menu-refresh .cat-pill { min-height:40px; padding:9px 16px; font:500 11px var(--font-sans); border-radius:30px; border:1px solid var(--border); background:transparent; color:var(--muted); }
.menu-refresh .cat-pill.active { color:white; background:var(--primary); border-color:var(--primary); box-shadow:none; }
.menu-refresh .content-wrap { max-width:960px; padding:0 22px 40px; }
.menu-refresh .popular-section { padding:24px 0 12px; }
.menu-refresh .popular-label { color:var(--muted); font-size:9px; letter-spacing:1.5px; font-weight:600; margin-bottom:16px; }
.menu-refresh .popular-carousel { gap:14px; margin:0; padding:0 0 10px; }
.menu-refresh .popular-card { width:155px; border:0; border-radius:14px; background:var(--card-bg); box-shadow:none; }
.menu-refresh .popular-card-img { height:116px; object-fit:cover; padding:0; }
.menu-refresh .popular-card-body { padding:12px; }
.menu-refresh .popular-card-name { font-size:12px; font-weight:500; }
.menu-refresh .popular-card-price { font-size:12px; font-weight:600; margin-top:7px; }
.menu-refresh .section-title-row { padding:28px 0 18px; }
.menu-refresh .section-title-text { font-size:14px; }
.menu-refresh .category-block { padding-top:8px; scroll-margin-top:75px; }
.menu-refresh .category-header { padding:20px 0; border-bottom:1px solid var(--border); margin-bottom:8px; }
.menu-refresh .category-header-thumb { height:40px; width:40px; border-radius:10px; object-fit:cover; }
.menu-refresh .category-header-name { font-family:var(--font-serif); font-size:25px; line-height:1.2; font-weight:500; color:var(--text); }
.menu-refresh .category-header-count { font-size:9px; color:var(--muted); margin-top:5px; }
.menu-refresh .product-item { display:flex; flex-direction:row; align-items:center; gap:16px; padding:18px 0; margin:0; border:0; border-bottom:1px solid var(--border); border-radius:0; background:transparent; box-shadow:none; backdrop-filter:none; }
.menu-refresh .product-item-thumb-wrap { width:98px; height:104px; border-radius:14px; flex-shrink:0; overflow:hidden; }
.menu-refresh .product-item-thumb { width:100%; height:100%; padding:0; object-fit:cover; }
.menu-refresh .product-item-body { flex:1; min-width:0; padding:0; }
.menu-refresh .product-item-name { font-family:var(--font-sans); font-size:14px; font-weight:600; line-height:1.4; letter-spacing:-.2px; text-transform:none; color:var(--text); margin-bottom:5px; }
.menu-refresh .product-item-desc { font-size:11px; line-height:1.7; color:var(--muted); }
.menu-refresh .product-item-footer { margin-top:12px; gap:8px; align-items:center; }
.menu-refresh .product-item-price { color:var(--primary); font:600 14px var(--font-sans); text-shadow:none; }
.menu-refresh .product-item-prices { display:flex; flex-wrap:wrap; gap:5px; }
.menu-refresh .product-item-add { width:32px; height:32px; min-width:32px; border-radius:50%; border:1px solid var(--border); background:var(--card-bg); color:var(--primary); font:400 22px var(--font-sans); box-shadow:none; }
.menu-refresh .product-card-badge { font-size:8px; font-weight:500; padding:3px 6px; }
.menu-refresh .menu-set-card { border-radius:16px; box-shadow:none; }
.menu-refresh .menu-set-card > img { max-height:240px; object-fit:cover; }
.menu-refresh .drawer-sheet { border-radius:24px 24px 0 0; box-shadow:0 -15px 70px #0002; }
.menu-refresh .welcome-splash { background:var(--bg); color:var(--text); }
.menu-refresh .welcome-splash-logo { border:1px solid var(--border); background:var(--card-bg); padding:6px; border-radius:24px; }
.menu-refresh .welcome-splash-logo img { border-radius:20px; object-fit:contain; }
.menu-refresh .welcome-splash-name { font-family:var(--font-serif); font-size:34px; font-weight:500; }
.menu-refresh .welcome-splash-slogan { color:var(--muted); line-height:1.7; }
.menu-refresh .welcome-btn { box-shadow:none; font-size:13px; font-weight:500; padding:16px; }
.menu-refresh .welcome-btn-outline { background:var(--card-bg); color:var(--text); border-color:var(--border); }
/* 01 — Cafe: inset photographic masthead and compact everyday menu. */
body.theme-modern-cafe .hero,body.theme-modern-bistro .hero { padding-top:208px; }
body.theme-modern-cafe .hero-cover,body.theme-modern-bistro .hero-cover { inset:18px 20px auto; height:230px; border-radius:24px; }
body.theme-modern-cafe .hero-gradient,body.theme-modern-bistro .hero-gradient { inset:18px 20px auto; height:230px; border-radius:24px; }
body.theme-modern-cafe .hero-identity,body.theme-modern-bistro .hero-identity { width:calc(100% - 64px); border:1px solid var(--border); }
/* 02 — Fine dining: quiet editorial masthead, wide plated photographs. */
body.theme-fine-dining .hero { padding:70px 0 0; background:var(--bg); }
body.theme-fine-dining .hero-cover { inset:0 0 auto auto; width:42%; height:250px; opacity:.18; filter:grayscale(1); }
body.theme-fine-dining .hero-gradient { display:none; }
body.theme-fine-dining .hero-identity { display:block; background:transparent; padding:20px 4px 24px; border-radius:0; }
body.theme-fine-dining .hero-logo-ring { width:52px; height:52px; margin-bottom:20px; border:0; }
body.theme-fine-dining .hero-name { font-size:42px; text-transform:none; font-weight:400; letter-spacing:-1.5px; max-width:80%; }
body.theme-fine-dining .hero-top-btn { background:var(--card-bg); color:var(--text); border-color:var(--border); }
body.theme-fine-dining .hero-slogan { max-width:80%; }
body.theme-fine-dining .cat-pill { border-radius:0; border:0; }
body.theme-fine-dining .cat-pill.active { background:transparent; color:var(--primary); border-bottom:1px solid var(--primary); }
body.theme-fine-dining .product-item { display:block; padding:24px 0 30px; }
body.theme-fine-dining .product-item-thumb-wrap { width:100%; height:240px; border-radius:2px; }
body.theme-fine-dining .product-item-body { padding:18px 0 0; }
body.theme-fine-dining .product-item-name { font-family:var(--font-serif); font-size:24px; font-weight:400; }
/* 03 — Beach: panoramic blue edge and floating rounded identity. */
body.theme-resort-beach .hero { padding-top:225px; }
body.theme-resort-beach .hero-cover { height:285px; border-radius:0 0 50% 12%; }
body.theme-resort-beach .hero-gradient { height:285px; border-radius:0 0 50% 12%; }
body.theme-resort-beach .hero-identity { display:block; text-align:center; border-radius:28px; width:calc(100% - 70px); }
body.theme-resort-beach .hero-logo-ring { margin:-52px auto 16px; width:68px; height:68px; border:5px solid var(--card-bg); border-radius:50%; }
body.theme-resort-beach .hero-name { font-family:var(--font-sans); font-size:26px; }
body.theme-resort-beach .product-item { background:var(--card-bg); border-radius:20px; padding:12px; border:0; margin-bottom:14px; }
body.theme-resort-beach .product-item-thumb-wrap { border-radius:14px; height:120px; width:108px; }
/* 04 — Diner: a bold yellow masthead, two-column food cards. */
body.theme-urban-burger { --font-sans:'Syne',sans-serif; }
body.theme-urban-burger .hero { background:#f2cd61; padding-top:72px; }
body.theme-urban-burger .hero-cover { width:42%; height:180px; inset:70px 0 auto auto; border-radius:90px 0 0 90px; }
body.theme-urban-burger .hero-gradient { display:none; }
body.theme-urban-burger .hero-identity { display:block; margin:0 22px; padding:18px 0 28px; width:58%; background:none; }
body.theme-urban-burger .hero-logo-ring { display:none; }
body.theme-urban-burger .hero-name { font-family:'Syne',sans-serif; font-size:36px; font-weight:800; letter-spacing:-1.8px; color:#30251e; }
body.theme-urban-burger .hero-slogan { color:#65512b; }
body.theme-urban-burger .hero-bottom { padding:16px 0 22px; }
body.theme-urban-burger .products-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.theme-urban-burger .product-item { display:flex; flex-direction:column; align-items:stretch; padding:0; margin:0; background:var(--card-bg); border:1px solid var(--border); border-radius:16px; overflow:hidden; }
body.theme-urban-burger .product-item-thumb-wrap { width:100%; height:150px; border-radius:0; }
body.theme-urban-burger .product-item-body { padding:13px; display:flex; flex-direction:column; }
body.theme-urban-burger .product-item-footer { margin-top:auto; padding-top:14px; }
body.theme-urban-burger .product-item-name { font-size:14px; font-weight:700; }
/* 05 — Minimal: compact logo header, photo at the right of each line. */
body.theme-nordic-cafe .hero { padding:62px 0 0; }
body.theme-nordic-cafe .hero-cover,body.theme-nordic-cafe .hero-gradient { display:none; }
body.theme-nordic-cafe .hero-identity { background:transparent; padding:16px 0; }
body.theme-nordic-cafe .hero-name { font-family:'Inter',sans-serif; font-size:27px; font-weight:500; }
body.theme-nordic-cafe .hero-top-btn { background:transparent; border:1px solid var(--border); color:var(--text); }
body.theme-nordic-cafe .hero-search-btn { border-radius:6px; }
body.theme-nordic-cafe .cat-pill { border:0; border-radius:6px; }
body.theme-nordic-cafe .product-item { flex-direction:row-reverse; padding:22px 0; }
body.theme-nordic-cafe .product-item-thumb-wrap { width:88px; height:88px; border-radius:50%; }
body.theme-nordic-cafe .category-header-thumb { display:none; }
body.theme-nordic-cafe .category-header-name { font-family:'Inter',sans-serif; font-size:22px; font-weight:500; }
/* 06 — Anatolian: an arched cover and warm paper menu. */
body.theme-anatolian-modern .hero { padding:200px 0 0; }
body.theme-anatolian-modern .hero-cover { top:20px; left:50%; transform:translateX(-50%); width:calc(100% - 88px); max-width:650px; height:225px; border-radius:140px 140px 12px 12px; }
body.theme-anatolian-modern .hero:hover .hero-cover { transform:translateX(-50%); }
body.theme-anatolian-modern .hero-gradient { display:none; }
body.theme-anatolian-modern .hero-identity { display:block; background:var(--bg); text-align:center; width:calc(100% - 112px); padding:22px 12px; border-radius:18px 18px 0 0; }
body.theme-anatolian-modern .hero-logo-ring { display:none; }
body.theme-anatolian-modern .hero-name { font-size:30px; }
body.theme-anatolian-modern .hero-top-btn { background:var(--card-bg); color:var(--text); border-color:var(--border); }
body.theme-anatolian-modern .category-header { border-top:1px solid var(--primary); margin-top:18px; }
body.theme-anatolian-modern .product-item-thumb-wrap { width:94px; height:110px; border-radius:50% 50% 8px 8px; }
body.theme-anatolian-modern .product-item-name { font-family:var(--font-serif); font-size:19px; font-weight:500; }
/* 07 — Steakhouse: charcoal magazine with copper accents. */
body.theme-hotel-signature .hero { padding:200px 0 0; }
body.theme-hotel-signature .hero-cover { height:250px; filter:brightness(.7); }
body.theme-hotel-signature .hero-identity { background:transparent; display:block; padding:16px 0; }
body.theme-hotel-signature .hero-logo-ring { width:48px; height:48px; margin-bottom:18px; border-radius:4px; }
body.theme-hotel-signature .hero-name { color:var(--text); font-size:38px; font-weight:400; }
body.theme-hotel-signature .hero-slogan { text-transform:uppercase; font-size:9px; letter-spacing:2px; }
body.theme-hotel-signature .cat-pill { border-radius:3px; }
body.theme-hotel-signature .cat-pill.active { background:var(--primary); color:var(--bg); border:0; }
body.theme-hotel-signature .product-item { align-items:stretch; gap:20px; padding:22px 0; border-color:var(--border); }
body.theme-hotel-signature .product-item-thumb-wrap { height:140px; width:115px; border-radius:3px; }
body.theme-hotel-signature .product-item-name { font-family:var(--font-serif); font-size:23px; font-weight:400; }
/* 08 — Trattoria: a restaurant letterhead and paper framed dishes. */
body.theme-italian-trattoria .hero { padding:72px 0 0; border-top:7px solid var(--primary); }
body.theme-italian-trattoria .hero-cover,body.theme-italian-trattoria .hero-gradient { display:none; }
body.theme-italian-trattoria .hero-identity { display:block; text-align:center; background:transparent; padding:10px 0 26px; border-bottom:1px double var(--primary); border-radius:0; }
body.theme-italian-trattoria .hero-logo-ring { margin:0 auto 18px; width:56px; height:56px; }
body.theme-italian-trattoria .hero-name { font-size:36px; font-style:italic; }
body.theme-italian-trattoria .hero-top-btn { color:var(--text); background:transparent; border-color:var(--border); }
body.theme-italian-trattoria .product-item { background:var(--card-bg); border:1px solid var(--border); padding:14px; margin:14px 0; border-radius:4px; }
body.theme-italian-trattoria .product-item-thumb-wrap { width:100px; height:118px; border-radius:4px; }
body.theme-italian-trattoria .product-item-name { font-family:var(--font-serif); font-size:21px; font-style:italic; }
/* 09 — Sushi: asymmetric red label and precise photo tiles. */
body.theme-japanese-zen .hero { padding:185px 0 0; border-top:6px solid var(--primary); }
body.theme-japanese-zen .hero-cover { left:30%; height:235px; width:70%; }
body.theme-japanese-zen .hero-gradient { display:none; }
body.theme-japanese-zen .hero-identity { background:var(--primary); width:75%; margin:0 auto 0 0; padding:24px; display:block; border-radius:0; }
body.theme-japanese-zen .hero-logo-ring { display:none; }
body.theme-japanese-zen .hero-name { color:white; font-family:'Inter',sans-serif; font-size:28px; font-weight:500; }
body.theme-japanese-zen .hero-slogan { color:#fff9; }
body.theme-japanese-zen .cat-pill { border-radius:0; }
body.theme-japanese-zen .products-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.theme-japanese-zen .product-item { display:flex; flex-direction:column; align-items:stretch; border:0; background:none; padding:0 0 22px; }
body.theme-japanese-zen .product-item-thumb-wrap { width:100%; height:175px; border-radius:0; }
body.theme-japanese-zen .product-item-body { padding-top:12px; }
body.theme-japanese-zen .product-item-name { font-size:13px; font-weight:500; }
/* 10 — Bakery: oval shop window, soft dessert cards. */
body.theme-pastel-bakery .hero { padding:190px 0 0; }
body.theme-pastel-bakery .hero-cover { inset:20px 25px auto; height:235px; border-radius:120px 120px 24px 24px; }
body.theme-pastel-bakery .hero-gradient { display:none; }
body.theme-pastel-bakery .hero-identity { display:block; background:var(--bg); border-radius:28px; text-align:center; width:calc(100% - 92px); }
body.theme-pastel-bakery .hero-logo-ring { display:none; }
body.theme-pastel-bakery .hero-name { font-size:31px; }
body.theme-pastel-bakery .product-item { background:var(--card-bg); padding:14px; border-radius:24px; margin:14px 0; border:0; }
body.theme-pastel-bakery .product-item-thumb-wrap { width:104px; height:120px; border-radius:60px 60px 16px 16px; }
body.theme-pastel-bakery .popular-card { border-radius:70px 70px 16px 16px; }
body.theme-pastel-bakery .popular-card-img { height:140px; }
/* 11 — Healthy: clean botanical identity and full-width photography. */
body.theme-photo-story .hero { padding:78px 0 0; }
body.theme-photo-story .hero-cover { width:125px; height:125px; border-radius:50%; right:-25px; left:auto; top:60px; }
body.theme-photo-story .hero-gradient { display:none; }
body.theme-photo-story .hero-identity { background:transparent; display:block; padding:12px 0 24px; }
body.theme-photo-story .hero-logo-ring { display:none; }
body.theme-photo-story .hero-name { font-family:'Outfit',sans-serif; font-size:37px; font-weight:500; max-width:70%; letter-spacing:-1.5px; }
body.theme-photo-story .hero-slogan { max-width:68%; }
body.theme-photo-story .hero-top-btn { color:var(--text); background:var(--card-bg); border-color:var(--border); }
body.theme-photo-story .product-item { display:block; padding:0; border:0; background:var(--card-bg); border-radius:22px; overflow:hidden; margin:18px 0 24px; }
body.theme-photo-story .product-item-thumb-wrap { width:100%; height:230px; border-radius:0; }
body.theme-photo-story .product-item-body { padding:22px; }
body.theme-photo-story .product-item-name { font-size:21px; font-weight:500; }
/* 12 — Street: blue hour, a compact horizontal masthead and card grid. */
body.theme-midnight-bar .hero { padding:80px 0 0; }
body.theme-midnight-bar .hero-cover { height:240px; opacity:.2; filter:grayscale(1); }
body.theme-midnight-bar .hero-gradient { background:linear-gradient(180deg,transparent,var(--bg)); height:240px; }
body.theme-midnight-bar .hero-identity { background:transparent; padding:12px 0 24px; grid-template-columns:65px minmax(0,1fr); }
body.theme-midnight-bar .hero-name { font-family:'Outfit',sans-serif; font-size:30px; font-weight:500; }
body.theme-midnight-bar .products-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
body.theme-midnight-bar .product-item { display:flex; flex-direction:column; align-items:stretch; padding:10px; border:1px solid var(--border); border-radius:14px; margin:0; background:var(--card-bg); }
body.theme-midnight-bar .product-item-thumb-wrap { width:100%; height:125px; border-radius:8px; }
body.theme-midnight-bar .product-item-body { padding:12px 2px 2px; }
body.theme-midnight-bar .product-item-name { font-size:13px; font-weight:500; }
body.theme-midnight-bar .product-item-price { font-size:12px; }
/* Respect collapsed categories when their product container uses a grid. */
.menu-refresh .category-block.collapsed .products-list { display:none; }
@media(min-width:768px) {
 .menu-refresh .hero { max-width:960px; margin:auto; }
 .menu-refresh .hero-name { font-size:38px; }
 .menu-refresh .hero-action-panel { grid-template-columns:repeat(4,1fr); }
 .menu-refresh .hero-action-card { flex-direction:row; gap:10px; }
 .menu-refresh .hero-action-label { font-size:11px; }
 .menu-refresh .product-item-thumb-wrap { width:140px; height:125px; }
 .menu-refresh .product-item-name { font-size:17px; }
 body.theme-fine-dining .products-list,body.theme-photo-story .products-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:28px; }
 body.theme-urban-burger .products-list,body.theme-japanese-zen .products-list,body.theme-midnight-bar .products-list { grid-template-columns:repeat(3,minmax(0,1fr)); }
 body.theme-fine-dining .product-item-thumb-wrap,body.theme-photo-story .product-item-thumb-wrap { width:100%; height:260px; }
}
@media(max-width:350px) {
 .menu-refresh .hero-name { font-size:25px; }
 .menu-refresh .hero-identity { padding:20px 16px; column-gap:10px; }
 .menu-refresh .content-wrap,.menu-refresh .hero-bottom-inner { padding-left:16px; padding-right:16px; }
 .menu-refresh .product-item-thumb-wrap { width:82px; height:96px; }
 .menu-refresh .product-item { gap:12px; }
 .menu-refresh .product-item-name { font-size:13px; }
 .menu-refresh .product-item-price { font-size:12px; }
 body.theme-urban-burger .product-item-body { padding:10px; }
 body.theme-urban-burger .product-item-thumb-wrap,body.theme-japanese-zen .product-item-thumb-wrap,body.theme-midnight-bar .product-item-thumb-wrap { width:100%; }
 body.theme-fine-dining .product-item-thumb-wrap,body.theme-photo-story .product-item-thumb-wrap { width:100%; height:200px; }
 body.theme-photo-story .hero-name { font-size:30px; }
}
@media(prefers-reduced-motion:reduce) { .menu-refresh * { scroll-behavior:auto !important; transition:none !important; } }
.menu-refresh .bottom-nav { background:var(--card-bg); max-width:960px; box-shadow:0 -4px 24px #00000006; border-radius:20px 20px 0 0; }
.menu-refresh .category-header,.menu-refresh .product-item,.menu-refresh .hero-action-card { cursor:pointer; }
.menu-icon { width:20px; height:20px; flex-shrink:0; display:inline-block; vertical-align:middle; }
.hero-top-btn .menu-icon { width:14px; height:14px; }
.hero-action-icon .menu-icon { color:var(--primary); width:22px; height:22px; }
.nav-icon .menu-icon { width:22px; height:22px; }
.hero-search-box > .menu-icon { color:var(--muted); width:18px; height:18px; }
.cat-pill > .menu-icon { width:14px; height:14px; }
body.theme-urban-burger .hero-name { font-size:30px; letter-spacing:-1px; overflow-wrap:normal; word-break:normal; }
body.theme-urban-burger .hero-cover { width:36%; }
body.theme-urban-burger .hero-identity { width:62%; }
body.theme-hotel-signature .hero-search-btn,body.theme-hotel-signature .welcome-btn:not(.welcome-btn-outline),body.theme-hotel-signature .btn-add-cart,body.theme-midnight-bar .hero-search-btn,body.theme-midnight-bar .welcome-btn:not(.welcome-btn-outline),body.theme-midnight-bar .btn-add-cart { color:var(--bg); }
.menu-refresh .qty-row { flex-wrap:wrap; gap:16px; }
.menu-refresh .drawer-sheet { overflow-x:hidden; }
.menu-refresh .qty-row > div { min-width:0; }
@media(max-width:350px) { .menu-refresh .qty-row > div:last-child { flex-basis:100% !important; justify-content:space-between !important; } }
.demo-menu-note { color:var(--muted); font-size:11px; line-height:1.7; padding:12px 0; }
.demo-menu-credits { display:inline-block; color:var(--primary); font-size:11px; margin-bottom:20px; }
.demo-showcase-note { max-width:960px; margin:0 auto 14px; padding:0 22px; color:var(--muted); font-size:9px; letter-spacing:.4px; }
/* Food-first covers: full-color macro photography with a separate readable identity. */
body.menu-refresh .hero { display:block; padding:0; height:auto; min-height:0; max-height:none; background:var(--bg); border-top:0; }
body.menu-refresh .hero-cover { display:block; position:relative; inset:auto; width:100%; max-width:none; height:280px; margin:0; border-radius:0 0 22px 22px; background-size:cover; background-position:center 50%; opacity:1; filter:none; transform:none; }
body.menu-refresh .hero:hover .hero-cover { transform:none; }
body.menu-refresh .hero-gradient { display:none; }
body.menu-refresh .hero-identity { position:relative; top:auto; left:auto; transform:none; display:grid; grid-template-columns:58px minmax(0,1fr); column-gap:16px; align-items:center; width:calc(100% - 44px); max-width:none; margin:-30px auto 0; padding:22px; background:var(--card-bg); border:1px solid var(--border); border-radius:18px; text-align:left; }
body.menu-refresh .hero-logo-ring { display:block; grid-row:1 / 3; width:58px; height:58px; margin:0; border:1px solid var(--border); border-radius:14px; box-shadow:none; background:var(--card-bg); padding:0; }
body.menu-refresh .hero-logo-inner,body.menu-refresh .hero-logo-inner img { border-radius:14px; }
body.menu-refresh .hero-name { color:var(--text); max-width:none; font-size:28px; letter-spacing:-.8px; line-height:1.15; font-weight:500; text-transform:none; text-shadow:none; overflow-wrap:anywhere; }
body.menu-refresh .hero-slogan { color:var(--muted); max-width:none; font-size:11px; letter-spacing:0; text-transform:none; }
body.menu-refresh .hero-top-bar { z-index:12; padding:18px 22px; }
body.menu-refresh .hero-top-btn { background:#15211ed9; border:1px solid #ffffff35; color:#fff; backdrop-filter:blur(8px); }
body.menu-refresh .hero-bottom { padding:20px 0 0; }
body.theme-fine-dining .hero-identity,body.theme-hotel-signature .hero-identity { border-radius:4px; }
body.theme-urban-burger .hero-identity { background:#f2cd61; color:#30251e; border:0; border-radius:12px; }
body.theme-urban-burger .hero-name { color:#30251e; font-family:'Syne',sans-serif; font-weight:700; }
body.theme-urban-burger .hero-slogan { color:#65512b; }
body.theme-japanese-zen .hero-identity { border-radius:0; border-left:4px solid var(--primary); }
body.theme-pastel-bakery .hero-identity,body.theme-resort-beach .hero-identity { border-radius:26px; }
@media(min-width:768px) { body.menu-refresh .hero-cover { height:360px; border-radius:0 0 28px 28px; } body.menu-refresh .hero-identity { width:calc(100% - 64px); margin-top:-38px; padding:28px; grid-template-columns:68px minmax(0,1fr); gap:0 22px; } body.menu-refresh .hero-logo-ring { width:68px; height:68px; } body.menu-refresh .hero-name { font-size:38px; } body.menu-refresh .hero-slogan { font-size:12px; } }
@media(max-width:350px) { body.menu-refresh .hero-cover { height:250px; } body.menu-refresh .hero-identity { width:calc(100% - 32px); padding:18px 14px; gap:0 12px; grid-template-columns:48px minmax(0,1fr); } body.menu-refresh .hero-logo-ring { width:48px; height:48px; } body.menu-refresh .hero-name { font-size:24px; } }

.inactive-menu-hours { font-size:11px; color:var(--muted); margin:8px 0; letter-spacing:.4px; }
.product-detail-hint { font-size:9px; color:var(--primary); margin:8px 0; font-weight:500; line-height:1.6; }
