:root { --brand: #7a2f26; --brand-dark: #542019; --cream: #fff8ef; --gold: #d9a441; --ink: #2f2927; }
html { scroll-behavior: smooth; }
body { color: var(--ink); background: #fffdf9; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; }
.brand-script { font-family: Georgia, "Times New Roman", serif; font-style: italic; font-weight: 700; }
.text-brand { color: var(--brand) !important; }
.btn-brand { color: white; background: var(--brand); border-color: var(--brand); }
.btn-brand:hover, .btn-brand:focus { color: white; background: var(--brand-dark); border-color: var(--brand-dark); }
.btn-outline-brand { color: var(--brand); border-color: var(--brand); }
.btn-outline-brand:hover { color: white; background: var(--brand); }
.glass-nav { background: rgba(255, 253, 249, .92); backdrop-filter: blur(14px); box-shadow: 0 8px 30px rgba(60, 30, 20, .07); }
.glass-nav .navbar-brand { color: var(--brand); font-size: 1.55rem; }
.hero-section { min-height: 760px; display: grid; place-items: center; padding: 120px 0 140px; color: white; background: linear-gradient(105deg, rgba(38,14,10,.82), rgba(122,47,38,.54)), url('/images/hero.jpg') center/cover; position: relative; }
.hero-content { position: relative; z-index: 1; }
.hero-content .lead { max-width: 730px; font-size: 1.35rem; }
.eyebrow { text-transform: uppercase; letter-spacing: .18em; font-weight: 700; font-size: .78rem; }
.daily-wrap { margin-top: -85px; position: relative; z-index: 2; }
.daily-card { overflow: hidden; background: white; border-radius: 28px; display: grid; grid-template-columns: minmax(260px, .8fr) 1.2fr; }
.daily-card img { width: 100%; height: 100%; min-height: 320px; object-fit: cover; }
.price-text { color: var(--brand); font-size: 1.25rem; }
.menu-section { background: var(--cream); }
.menu-card { background: white; border-radius: 20px; overflow: hidden; box-shadow: 0 12px 35px rgba(75, 42, 30, .08); transition: transform .25s, box-shadow .25s; }
.menu-card:hover { transform: translateY(-6px); box-shadow: 0 18px 45px rgba(75, 42, 30, .14); }
.menu-image-wrap { height: 210px; position: relative; overflow: hidden; }
.menu-image-wrap img { width: 100%; height: 100%; object-fit: cover; transition: transform .35s; }
.menu-card:hover img { transform: scale(1.045); }
.new-badge { position: absolute; top: 16px; right: 16px; background: var(--gold); color: #2b1e0b; padding: 7px 12px; border-radius: 999px; font-size: .75rem; font-weight: 800; text-transform: uppercase; }
.about-section { background: white; }
.about-image { width: 100%; min-height: 420px; object-fit: cover; border-radius: 30px; }
.site-footer { background: #2d1f1b; color: #eadfd7; }
.footer-admin-link { color: #eadfd7; opacity: .7; text-decoration: none; }
.whatsapp-float { position: fixed; right: 24px; bottom: 24px; width: 62px; height: 62px; display: grid; place-items: center; border-radius: 50%; background: #25d366; color: white; font-size: 2rem; box-shadow: 0 10px 30px rgba(0,0,0,.22); z-index: 50; text-decoration: none; }
.loading-screen { min-height: 100vh; display: grid; place-items: center; color: var(--brand); }
.admin-login-page { min-height: 100vh; display: grid; place-items: center; padding: 24px; background: radial-gradient(circle at top left, #f6d7c4, transparent 35%), var(--cream); }
.admin-login-card { width: min(460px, 100%); padding: 40px; border-radius: 26px; background: white; }
.admin-shell { min-height: 100vh; display: grid; grid-template-columns: 270px 1fr; background: #f7f4ef; }
.admin-sidebar { position: sticky; top: 0; height: 100vh; padding: 28px; display: flex; flex-direction: column; background: var(--brand-dark); color: white; }
.admin-sidebar .nav-link { color: rgba(255,255,255,.8); border-radius: 10px; }
.admin-sidebar .nav-link:hover { color: white; background: rgba(255,255,255,.1); }
.admin-main { padding: 40px; max-width: 1500px; width: 100%; }
.admin-card { background: white; border-radius: 18px; padding: 28px; box-shadow: 0 8px 30px rgba(61, 44, 32, .06); }
.admin-search { width: min(320px, 100%); }
.table > :not(caption) > * > * { padding: .85rem .75rem; }
@media (max-width: 991px) { .daily-card { grid-template-columns: 1fr; } .daily-card img { min-height: 250px; max-height: 340px; } .admin-shell { display: block; } .admin-sidebar { position: relative; height: auto; } .admin-sidebar .mt-auto { margin-top: 1.5rem !important; } .admin-main { padding: 24px 16px; } }
@media (max-width: 576px) { .hero-section { min-height: 650px; } .hero-content .display-2 { font-size: 3rem; } .daily-wrap { margin-top: -55px; } .admin-login-card { padding: 28px 22px; } }
