:root {
    --theme-primary: #ea580c;
    --theme-secondary: #facc15;
    --theme-button: #ff6a00;
    --theme-title: #fff7ed;
    --theme-highlight: #facc15;
    --theme-button-text: #172033;
}
* { letter-spacing: 0; }
body[data-theme="dark"] {
    --theme-page: color-mix(in srgb, var(--theme-primary) 6%, #07090d);
    --theme-page-alt: color-mix(in srgb, var(--theme-primary) 12%, #10141b);
    --theme-surface: color-mix(in srgb, var(--theme-primary) 10%, #151922);
    --theme-surface-strong: color-mix(in srgb, var(--theme-primary) 14%, #1d222c);
    --theme-text: #fffaf4;
    --theme-muted: #d1d5db;
    --theme-nav: color-mix(in srgb, var(--theme-page) 90%, transparent);
    --theme-border: color-mix(in srgb, var(--theme-highlight) 24%, transparent);
    --theme-input: #fffaf4;
    --theme-input-text: #172033;
    --theme-shadow: rgba(0, 0, 0, .38);
    --theme-close-filter: invert(1);
}
body[data-theme="light"] {
    --theme-page: color-mix(in srgb, var(--theme-primary) 4%, #ffffff);
    --theme-page-alt: color-mix(in srgb, var(--theme-primary) 9%, #ffffff);
    --theme-surface: color-mix(in srgb, var(--theme-primary) 3%, #ffffff);
    --theme-surface-strong: color-mix(in srgb, var(--theme-primary) 8%, #ffffff);
    --theme-text: #172033;
    --theme-muted: #5b6472;
    --theme-nav: color-mix(in srgb, var(--theme-page) 92%, transparent);
    --theme-border: color-mix(in srgb, var(--theme-primary) 22%, transparent);
    --theme-input: #ffffff;
    --theme-input-text: #172033;
    --theme-shadow: rgba(15, 23, 42, .14);
    --theme-close-filter: none;
}
body {
    background: var(--theme-page);
    color: var(--theme-text);
    font-family: Arial, Helvetica, sans-serif;
}
.fw-black { font-weight: 900; }
.delivery-nav {
    background: var(--theme-nav);
    border-bottom: 1px solid var(--theme-border);
    backdrop-filter: blur(14px);
}
.navbar-brand, .navbar-brand:hover { color: var(--theme-text); text-transform: uppercase; }
.navbar-brand span { color: var(--theme-highlight); }
.navbar-toggler { color: var(--theme-text); border-color: var(--theme-border); }
.nav-link { color: var(--theme-muted); font-weight: 800; }
.nav-link:hover { color: var(--theme-highlight); }
.nav-contact { color: var(--theme-highlight); }
.btn-fire, .btn-gold {
    border: 0;
    color: var(--theme-button-text);
    font-weight: 900;
    text-transform: uppercase;
    box-shadow: 0 0 28px color-mix(in srgb, var(--theme-button) 34%, transparent);
}
.btn-fire { background: linear-gradient(135deg, var(--theme-button), var(--theme-secondary), var(--theme-primary)); }
.btn-gold { background: var(--theme-button); }
.btn-fire:hover, .btn-gold:hover { color: var(--theme-button-text); filter: brightness(1.08); transform: translateY(-1px); }
.btn-outline-theme { border: 1px solid var(--theme-border); color: var(--theme-text); font-weight: 900; }
.btn-outline-theme:hover { background: var(--theme-surface-strong); color: var(--theme-text); border-color: var(--theme-highlight); }
.hero {
    min-height: 96vh;
    padding: 116px 0 54px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background:
        radial-gradient(circle at 80% 8%, color-mix(in srgb, var(--theme-primary) 30%, transparent), transparent 30%),
        linear-gradient(145deg, var(--theme-page) 0%, color-mix(in srgb, var(--theme-primary) 24%, var(--theme-page-alt)) 48%, var(--theme-page-alt) 100%);
}
.hero-grid { display: grid; grid-template-columns: 1fr 1.04fr; gap: 42px; align-items: center; }
.brand-badge {
    display: inline-flex;
    padding: 9px 14px;
    border: 1px solid color-mix(in srgb, var(--theme-highlight) 40%, transparent);
    border-radius: 999px;
    background: color-mix(in srgb, var(--theme-highlight) 12%, transparent);
    color: var(--theme-highlight);
    font-weight: 900;
    margin-bottom: 18px;
}
.hero h1 { color: var(--theme-title); font-size: clamp(2.55rem, 6vw, 5.7rem); font-weight: 900; line-height: .93; max-width: 860px; }
.hero p { color: var(--theme-muted); font-size: 1.2rem; max-width: 650px; margin: 24px 0; }
.closed-alert {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    margin-bottom: 20px;
    padding: 12px 15px;
    border-radius: 8px;
    background: color-mix(in srgb, var(--theme-primary) 30%, var(--theme-surface));
    color: var(--theme-highlight);
    font-weight: 900;
}
.hero-food { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; transform: rotate(-2deg); }
.hero-food img, .food-card img { width: 100%; object-fit: cover; background: var(--theme-surface-strong); }
.hero-food img {
    height: 260px;
    border-radius: 12px;
    box-shadow: 0 22px 70px var(--theme-shadow), 0 0 40px color-mix(in srgb, var(--theme-highlight) 18%, transparent);
}
.hero-food img:first-child { grid-column: 1 / -1; height: 360px; }
.section { padding: 78px 0; }
.section-heading { margin-bottom: 32px; }
.section-heading span { color: var(--theme-highlight); text-transform: uppercase; font-weight: 900; }
.section-heading h2 { color: var(--theme-title); font-size: clamp(2rem, 4vw, 3.6rem); line-height: .98; font-weight: 900; max-width: 930px; }
.story { background: linear-gradient(90deg, var(--theme-page-alt), color-mix(in srgb, var(--theme-primary) 18%, var(--theme-page))); }
.story-grid { display: grid; grid-template-columns: 1fr minmax(280px, 420px); gap: 34px; align-items: center; }
.story p { max-width: 940px; font-size: 1.25rem; color: var(--theme-muted); }
.story-image { width: 100%; aspect-ratio: 4/3; object-fit: cover; border-radius: 16px; box-shadow: 0 20px 50px var(--theme-shadow); }
.favorites { background: var(--theme-page-alt); }
.menu-section { background: linear-gradient(180deg, var(--theme-page), var(--theme-page-alt)); }
.food-card {
    min-height: 100%;
    border-radius: 12px;
    overflow: hidden;
    background: var(--theme-surface);
    border: 1px solid var(--theme-border);
    box-shadow: 0 18px 42px var(--theme-shadow);
    transition: .2s ease;
}
.food-card:hover { transform: translateY(-5px); border-color: var(--theme-highlight); }
.food-card img { height: 245px; }
.food-body { padding: 18px; }
.food-body h3 { font-weight: 900; font-size: 1.35rem; }
.food-body p { color: var(--theme-muted); min-height: 54px; }
.food-body strong { color: var(--theme-highlight); font-size: 1.35rem; }
.food-body small { display: block; margin-top: 12px; color: var(--theme-text); }
.stars, .category-label { color: var(--theme-highlight); font-weight: 900; }
.category-pills { display: flex; gap: 10px; overflow-x: auto; padding-bottom: 14px; margin-bottom: 26px; }
.category-pills button {
    white-space: nowrap;
    border: 1px solid var(--theme-border);
    background: var(--theme-surface);
    color: var(--theme-text);
    border-radius: 999px;
    padding: 11px 16px;
    font-weight: 900;
}
.category-pills button.active { background: var(--theme-button); color: var(--theme-button-text); }
.category-grid { margin-bottom: 10px; }
.category-image-card {
    position: relative;
    width: 100%;
    min-height: 245px;
    border: 1px solid var(--theme-border);
    border-radius: 12px;
    overflow: hidden;
    padding: 0;
    background: var(--theme-surface);
    box-shadow: 0 18px 42px var(--theme-shadow);
}
.category-image-card img {
    width: 100%;
    height: 245px;
    object-fit: cover;
    display: block;
    transition: .2s ease;
}
.category-image-card:hover img { transform: scale(1.035); }
.category-image-card.is-fallback::after {
    content: "";
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.62);
}
.category-image-card span {
    position: absolute;
    inset: 0;
    z-index: 1;
    display: grid;
    place-items: center;
    padding: 18px;
    color: #fff;
    text-align: center;
    font-weight: 950;
    font-size: 1.6rem;
    text-shadow: 0 3px 16px rgba(0,0,0,.72);
}
.cart-canvas { background: var(--theme-page-alt); color: var(--theme-text); border-left: 1px solid var(--theme-border); }
.cart-canvas .offcanvas-header { border-bottom: 1px solid var(--theme-border); }
.cart-canvas .btn-close { filter: var(--theme-close-filter); }
.cart-item { background: var(--theme-surface); border: 1px solid var(--theme-border); border-radius: 16px; padding: 14px; margin-bottom: 12px; }
.cart-item h6 { font-weight: 900; margin: 0; }
.qty-controls { display: flex; align-items: center; gap: 8px; }
.qty-controls button { width: 36px; height: 36px; border: 0; border-radius: 10px; background: var(--theme-button); color: var(--theme-button-text); font-weight: 900; }
.checkout-form { display: grid; gap: 12px; margin-top: 18px; }
.checkout-form .form-control, .checkout-form .form-select {
    background: var(--theme-input);
    color: var(--theme-input-text);
    border: 1px solid var(--theme-border);
    min-height: 50px;
    font-weight: 800;
    border-radius: 12px;
}
.manual-address { display: grid; gap: 10px; }
.manual-grid { display: grid; grid-template-columns: 1fr auto; gap: 10px; }
.delivery-feedback { color: var(--theme-highlight); font-weight: 900; }
.totals { border-top: 1px solid var(--theme-border); padding-top: 14px; display: grid; gap: 8px; }
.totals div { display: flex; justify-content: space-between; }
.total-line { font-size: 1.35rem; color: var(--theme-highlight); font-weight: 900; }
.floating-cart {
    position: fixed;
    right: 18px;
    bottom: 18px;
    z-index: 1040;
    width: 62px;
    height: 62px;
    border-radius: 50%;
    border: 0;
    background: var(--theme-button);
    color: var(--theme-button-text);
    box-shadow: 0 0 34px color-mix(in srgb, var(--theme-button) 42%, transparent);
    font-size: 1.55rem;
}
.floating-cart span, .cart-count { font-size: .78rem; font-weight: 900; }
.site-update-notice {
    position: fixed;
    right: 18px;
    bottom: 92px;
    z-index: 1050;
    width: min(360px, calc(100vw - 36px));
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    padding: 14px;
    border: 1px solid var(--theme-border);
    border-radius: 12px;
    background: var(--theme-surface-strong);
    color: var(--theme-text);
    box-shadow: 0 18px 42px var(--theme-shadow);
}
.site-update-notice small { display: block; color: var(--theme-muted); }
@media (max-width: 991px) {
    .hero { min-height: auto; padding-top: 104px; }
    .hero-grid, .story-grid { grid-template-columns: 1fr; }
    .hero-food { transform: none; }
    .hero-food img, .hero-food img:first-child { height: 210px; }
    .section { padding: 56px 0; }
    .food-card img { height: 220px; }
}
@media (max-width: 575px) {
    .hero h1 { font-size: 2.55rem; }
    .hero-food { gap: 10px; }
    .hero-food img, .hero-food img:first-child { height: 160px; }
    .btn-lg, .manual-grid { width: 100%; grid-template-columns: 1fr; }
    .food-card img { height: 205px; }
    .category-image-card { min-height: 150px; }
    .category-image-card img { height: 150px; }
    .category-image-card span {
        padding: 10px;
        font-size: 1.12rem;
        line-height: 1.05;
    }
}
