@font-face {
    font-family: 'DAMOON';
    src: url('/media/fonts/DAMOON-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DAMOON';
    src: url('/media/fonts/DAMOON-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DAMOON';
    src: url('/media/fonts/DAMOON-SemiBold.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DAMOON';
    src: url('/media/fonts/DAMOON-Heavy.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'DAMOON';
    src: url('/media/fonts/DAMOON-ExtraBold.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

:root {
    --navy: #10203f;
    --navy-soft: #1b2d50;
    --cream: #f5f1e9;
    --paper: #fffdf9;
    --muted: #7a7f88;
    --line: rgba(16, 32, 63, .10);
    --shadow: 0 16px 45px rgba(16, 32, 63, .10);
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; background: #e9e7e2; color: var(--navy); font-family: 'DAMOON', Tahoma, Arial, sans-serif; -webkit-font-smoothing: antialiased; }
a { color: inherit; text-decoration: none; }
.page-shell { width: min(100%, 920px); margin: 0 auto; min-height: 100vh; overflow: hidden; background: var(--paper); box-shadow: 0 0 80px rgba(16, 32, 63, .08); }
.hero { position: relative; min-height: 330px; padding: 54px 24px 48px; text-align: center; color: #fff; background: radial-gradient(circle at 20% 15%, rgba(255,255,255,.09), transparent 30%), radial-gradient(circle at 90% 85%, rgba(255,255,255,.06), transparent 35%), var(--navy); }
.hero::after { content: ''; position: absolute; right: -50px; bottom: -100px; width: 230px; height: 230px; border: 1px solid rgba(255,255,255,.08); border-radius: 50%; }
.hero__brand-logo { display:block; width:min(58vw,260px); height:auto; margin:0 auto; position:relative; z-index:1; }
.hero__line { width: 46px; height: 1px; margin: 20px auto 14px; background: rgba(255,255,255,.65); }
.hero__subtitle { margin: 0; font-size: 10px; letter-spacing: 4px; opacity: .72; direction: ltr; font-family: Arial, sans-serif; }
.hero h1 { margin: 30px 0 6px; font-size: 27px; font-weight: 600; }
.hero__intro { margin: 0; font-size: 13px; font-weight: 400; opacity: .72; }
.categories, .products { padding: 42px 26px; }
.categories { background: var(--cream); }
.section-heading { margin-bottom: 24px; text-align: center; }
.section-heading span { display: block; margin-bottom: 5px; color: #a49376; font-size: 9px; letter-spacing: 3px; direction: ltr; font-family: Arial, sans-serif; }
.section-heading h2 { margin: 0; font-size: 23px; font-weight: 700; }

.category-strip { display:flex; gap:14px; overflow-x:auto; overflow-y:hidden; padding:5px 4px 14px; scroll-snap-type:x mandatory; scroll-behavior:smooth; -webkit-overflow-scrolling:touch; scrollbar-width:none; direction:rtl; }
.category-strip::-webkit-scrollbar { display:none; }
.category-card { flex:0 0 145px; min-width:145px; scroll-snap-align:start; }
.category-card__image-wrap { position:relative; width:100%; aspect-ratio:1/.72; overflow:hidden; border-radius:14px; background:var(--navy-soft); box-shadow:0 8px 22px rgba(16,32,63,.08); transition:transform .25s ease,box-shadow .25s ease; }
.category-card:hover .category-card__image-wrap { transform:translateY(-4px); box-shadow:var(--shadow); }
.category-card__image { width:100%; height:100%; display:block; object-fit:cover; object-position:center; }
.category-card__shade { position:absolute; inset:0; background:linear-gradient(180deg,transparent 32%,rgba(5,14,32,.84) 100%); }
.category-card__title { position:absolute; z-index:2; right:8px; left:8px; bottom:10px; color:#fff; font-size:14px; font-weight:700; text-align:center; text-shadow:0 2px 8px rgba(0,0,0,.35); }
.category-card__placeholder { position:absolute; inset:0; display:grid; place-items:center; color:rgba(255,255,255,.22); }
.category-card__placeholder span { font-family:Arial,sans-serif; font-size:19px; font-weight:800; letter-spacing:5px; }
.category-card--active .category-card__image-wrap { outline:2px solid #a49376; outline-offset:3px; }

.products { padding-top:48px; background:var(--paper); scroll-margin-top:12px; }
.section-heading--products { margin-bottom:30px; }
.menu-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.menu-card { display:block; overflow:hidden; border:1px solid var(--line); border-radius:22px; background:#fff; box-shadow:0 8px 30px rgba(16,32,63,.055); transition:transform .22s ease,box-shadow .22s ease; }
.menu-card:hover { transform:translateY(-3px); box-shadow:var(--shadow); }
.menu-card__media { position:relative; overflow:hidden; aspect-ratio:1.28/1; background:#eeeae2; }
.menu-card__media img { width:100%; height:100%; display:block; object-fit:cover; transition:transform .45s ease; }
.menu-card:hover .menu-card__media img { transform:scale(1.035); }
.menu-card__placeholder { width:100%; height:100%; display:grid; place-items:center; color:rgba(16,32,63,.18); font-family:Arial,sans-serif; font-size:24px; font-weight:800; letter-spacing:6px; }
.menu-card__badge,.menu-card__soldout { position:absolute; top:13px; right:13px; padding:7px 11px; border-radius:999px; font-size:10px; font-weight:700; backdrop-filter:blur(8px); }
.menu-card__badge { color:var(--navy); background:rgba(255,253,249,.90); }
.menu-card__soldout { color:#fff; background:rgba(126,36,36,.88); }
.menu-card__body { padding:18px 18px 16px; }
.menu-card__heading { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; }
.menu-card h3 { margin:0; font-size:17px; font-weight:700; }
.english-name { margin:4px 0 0; color:#9a9da3; font-size:10px; direction:ltr; text-align:right; font-family:Arial,sans-serif; }
.price { flex:0 0 auto; text-align:left; line-height:1.1; }
.price strong { display:block; font-size:16px; font-weight:800; }
.price small { display:block; margin-top:4px; color:var(--muted); font-size:9px; }
.description { min-height:43px; margin:14px 0 12px; color:#747983; font-size:11px; line-height:1.9; }
.menu-card__more { display:flex; align-items:center; gap:6px; padding-top:11px; border-top:1px solid var(--line); color:#9a8768; font-size:10px; font-weight:600; }
.menu-card__more b { font-size:15px; font-weight:400; }
.menu-card--unavailable img { filter:grayscale(.25); opacity:.72; }
.empty-state { grid-column:1/-1; padding:60px 20px; text-align:center; color:var(--muted); }
.empty-state strong { display:block; color:rgba(16,32,63,.18); font-family:Arial,sans-serif; font-size:28px; letter-spacing:7px; }
.empty-state p { margin:10px 0 0; font-size:13px; }
.site-footer { padding:38px 20px 42px; text-align:center; color:#fff; background:var(--navy); }
.site-footer__logo { display:block; width:min(48vw,190px); height:auto; margin:0 auto; }
.site-footer p { margin:10px 0 0; font-size:8px; letter-spacing:3px; opacity:.55; direction:ltr; font-family:Arial,sans-serif; }
.detail-page { padding:22px; }
.back-link { display:inline-block; margin-bottom:20px; }
.detail-card { text-align:right; }
.detail-image { width:100%; display:block; object-fit:cover; border-radius:20px; }
.detail-description { line-height:2; }
.detail-price { font-size:22px; font-weight:700; margin-top:20px; }

@media (max-width:620px) {
    .page-shell { width:100%; box-shadow:none; }
    .hero { min-height:300px; padding:48px 20px 42px; }
    .hero__brand-logo { width:min(64vw,240px); }
    .hero h1 { font-size:24px; }
    .categories,.products { padding-right:16px; padding-left:16px; }
    .category-strip { margin-left:-16px; margin-right:-16px; padding-right:16px; padding-left:16px; }
    .category-card { flex-basis:132px; min-width:132px; }
    .category-card__image-wrap { border-radius:12px; }
    .menu-grid { grid-template-columns:1fr; gap:18px; }
    .menu-card { border-radius:19px; }
    .menu-card__media { aspect-ratio:1.45/1; }
}
