:root{--site-header-h:56px;--menu-sticky-gap:8px}
*{box-sizing:border-box}html{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Cantarell,Noto Sans,sans-serif;line-height:1.6;color:#0b1220;background:linear-gradient(180deg,#f8fafc 0%,#f1f5f9 60%,#eef2ff 100%);scroll-behavior:smooth}body{margin:0}a{color:#0b1220;text-decoration:none}a:hover{text-decoration:underline}img{max-width:100%;display:block}
.container{max-width:1100px;margin:0 auto;padding:0 20px}
.header{display:flex;justify-content:space-between;align-items:center;padding:14px 0;gap:8px}
.header-glass{position:sticky;top:0;backdrop-filter:saturate(120%) blur(8px);background:rgba(255,255,255,.6);border-bottom:1px solid rgba(15,23,42,.06);z-index:50}
.brand{display:flex;align-items:center;gap:8px;font-weight:800;font-size:22px}
.brand-mark{display:inline;width:auto;height:auto;border-radius:0;background:none;color:inherit}
.brand-invert{color:#fff}
.nav{display:flex;flex:1;justify-content:flex-end;min-width:0;overflow-x:auto;gap:0}
.nav a{margin-left:16px;color:#0b1220;font-weight:600;white-space:nowrap}
.main{padding:24px 0 72px}
img.card-logo {
    max-height: 100%;
}
.hero-banner{position:relative;isolation:isolate}
.hero-inner{display:flex;align-items:center;justify-content:space-between;min-height:220px;padding:28px 0}
.hero-title{font-size:32px;line-height:1.2;margin:0 0 8px;font-weight:800;background:linear-gradient(135deg,#0ea5e9,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-sub{margin:0;color:#475569}

.search-panel{margin-top:-20px;margin-bottom:8px}
.search{display:flex;gap:10px}
.search-elevated input[type=search]{flex:1;padding:12px 14px;border:1px solid #e2e8f0;border-radius:12px;background:#fff;box-shadow:0 8px 24px rgba(2,6,23,.06)}
.search-elevated button,.button{padding:12px 16px;border:0;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;font-weight:700;cursor:pointer;box-shadow:0 8px 20px rgba(99,102,241,.25)}
.chips{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:8px 0 0;margin:0}
.chip{display:inline-block;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;box-shadow:0 2px 8px rgba(2,6,23,.06)}

.section-title{margin:28px 0 12px;font-size:18px;color:#111827}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;padding:0;list-style:none}
.card{border:1px solid #e5e7eb;border-radius:16px;background:#fff;overflow:hidden}
.card-hover{transition:transform .15s ease, box-shadow .2s ease}
.card-hover:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(2,6,23,.12)}
.card-link{display:block;color:inherit}
.card-media{height:140px;background:radial-gradient(60% 60% at 40% 20%,#dbeafe,#f3e8ff 60%,#fef9c3);}
.card-body{padding:14px}
.card-title{margin:0 0 6px;font-size:18px}
.muted{color:#6b7280}
.meta span{margin-right:8px}

.flash{list-style:none;padding:0;margin:0 0 16px}.flash li{padding:12px;border-radius:8px;margin-bottom:8px}.flash-success{background:#ecfdf5;color:#065f46}.flash-error{background:#fef2f2;color:#991b1b}
.form{display:grid;gap:12px;max-width:720px}.form input,.form textarea{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:8px}.gallery img{width:100%;height:140px;object-fit:cover;border-radius:12px}
.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid #e5e7eb;text-align:left;padding:10px}
.menu-category{margin:16px 0;scroll-margin-top:calc(var(--site-header-h) + 56px)}
.menu-items{list-style:none;padding:0;margin:0}
.menu-item{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px dashed #e5e7eb;padding:8px 0;gap:8px}
.menu-item-name{flex:1;min-width:0;word-break:break-word}
.menu-item-price{white-space:nowrap}

/* Feedback widget (floating) */
.feedback-fab{position:fixed;right:20px;bottom:84px;z-index:60}
.feedback-fab-inner{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:999px;background:rgba(255,255,255,.9);backdrop-filter:saturate(120%) blur(8px);border:1px solid rgba(148,163,184,.35);box-shadow:0 12px 24px rgba(2,6,23,.15)}
.feedback-label{font-weight:700;color:#0b1220}
.feedback-actions{display:flex;gap:6px}
.feedback-btn{padding:8px 10px;border-radius:10px;border:1px solid #e2e8f0;background:#fff;cursor:pointer;transition:transform .12s ease, background-color .12s ease, border-color .12s ease}
.feedback-btn:hover{transform:translateY(-1px);background:#f8fafc}
.feedback-btn[aria-pressed="true"]{background:#eef2ff;border-color:#6366f1}
.fb-toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%) translateY(12px);background:#0b1220;color:#fff;padding:10px 14px;border-radius:999px;opacity:0;transition:opacity .18s ease, transform .18s ease;z-index:70;box-shadow:0 10px 22px rgba(2,6,23,.35)}
.fb-toast.show{opacity:1;transform:translateX(-50%) translateY(0)}

/* Restaurant detail CTA */
.restaurant-hero{margin-bottom:8px}
.restaurant-title{margin:0 0 4px}
.cta-fab{position:fixed;right:20px;bottom:20px;z-index:60;display:inline-block;padding:12px 14px;border-radius:999px;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;font-weight:700;box-shadow:0 12px 28px rgba(2,6,23,.25)}

/* Sticky menu header */
.menu-sticky{position:sticky;top:var(--site-header-h);z-index:49;background:rgba(255,255,255,.8);backdrop-filter:saturate(120%) blur(8px);border-bottom:1px solid rgba(15,23,42,.06)}
.menu-sticky-inner{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 20px}
.menu-back{color:#475569}
.menu-title{font-weight:800}
.menu-actions{display:flex;gap:8px;align-items:center}
.icon-btn{padding:8px 12px;border-radius:12px;border:1px solid #e2e8f0;background:#fff;font-weight:600;cursor:pointer}
.icon-btn:hover{background:#f8fafc}
.menu-cats{overflow-x:auto;border-top:1px solid rgba(15,23,42,.06);background:rgba(255,255,255,.9)}
.menu-cats ul{display:flex;gap:12px;list-style:none;margin:0;padding:8px 20px;scroll-snap-type:x proximity}
.menu-cats a{display:inline-block;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;white-space:nowrap;scroll-snap-align:start}
/* add spacing under sticky header for first content */
.menu-sticky + .restaurant{padding-top:var(--menu-sticky-gap)}

.footer-advanced{background:#0b1220;color:#cbd5e1;padding:40px 0 20px;margin-top:48px}
.footer-grid{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:20px}
.footer-grid h3{margin:0 0 8px;color:#fff}
.footer-grid ul{list-style:none;padding:0;margin:0}
.footer-grid a{color:#cbd5e1}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid rgba(148,163,184,.2);padding-top:12px;margin-top:20px}
.socials{display:flex;gap:12px;list-style:none;padding:0;margin:0}

.contact-grid{display:grid;grid-template-columns:2fr 1fr;gap:20px}

/* Tablet adjustments */
@media (max-width:1024px){
	.container{padding:0 16px}
	.hero-inner{min-height:200px}
	.cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}
}

/* Mobile & small tablets */
@media (max-width:768px){
	:root{--site-header-h:52px}
	.brand{font-size:20px}
	.nav{gap:0;-webkit-overflow-scrolling:touch}
	.nav a{margin-left:12px;font-size:14px;padding:6px 0}
	.hero-inner{min-height:180px;padding:20px 0}
	.hero-title{font-size:26px}
	.search{gap:8px}
	.search-elevated input[type=search]{padding:11px 12px}
	.search-elevated button,.button{padding:11px 12px}
	.cards{grid-template-columns:repeat(2,1fr)}
	.gallery{grid-template-columns:repeat(3,1fr)}
	.menu-sticky-inner{padding:8px 16px}
	.menu-cats ul{padding:8px 16px}
	.menu-cats{background:#fff}
	.menu-category{scroll-margin-top:calc(var(--site-header-h) + 56px)}
	/* Mobile menu improvements */
	.menu-items{display:grid;gap:6px}
	.menu-item{flex-direction:column;align-items:stretch;border-bottom:1px dashed #e5e7eb;padding:10px 0}
	.menu-item-name{font-weight:600;font-size:16px}
	.menu-item-price{align-self:flex-end;margin-top:4px;padding:4px 10px;border-radius:999px;background:#f1f5f9;border:1px solid #e2e8f0}
	.cta-fab{right:16px;bottom:16px;padding:10px 12px}
	.feedback-fab{right:16px;bottom:72px}
	.footer-grid{grid-template-columns:1fr 1fr}
	.contact-grid{grid-template-columns:1fr}
}

/* Small mobile */
@media (max-width:480px){
	:root{--site-header-h:48px}
	.container{padding:0 14px}
	.hero-title{font-size:22px}
	.cards{grid-template-columns:1fr}
	.gallery{grid-template-columns:repeat(2,1fr)}
	.card-media{height:120px}
	.card-body{padding:12px}
	.card-title{font-size:16px}
	.menu-cats a{padding:6px 8px}
	.menu-category{scroll-margin-top:calc(var(--site-header-h) + 44px)}
	.table{display:block;overflow-x:auto;white-space:nowrap}
}

/* Ultra small */
@media (max-width:360px){
	.cta-fab{right:12px;bottom:12px;padding:9px 10px}
	.feedback-fab{right:12px;bottom:68px}
}

/* Legal pages styles */
.legal-page{max-width:800px;margin:0 auto}
.legal-header{text-align:center;margin-bottom:40px;padding:20px 0}
.legal-header h1{font-size:32px;font-weight:800;margin:0 0 8px;background:linear-gradient(135deg,#0ea5e9,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent}
.legal-subtitle{color:#6b7280;margin:0;font-size:16px}
.legal-content{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 16px rgba(2,6,23,.06)}
.legal-section{margin-bottom:32px}
.legal-section:last-child{margin-bottom:0}
.legal-section h2{font-size:20px;font-weight:700;margin:0 0 16px;color:#111827;border-bottom:2px solid #e5e7eb;padding-bottom:8px}
.legal-section h3{font-size:16px;font-weight:600;margin:20px 0 8px;color:#374151}
.legal-section p{margin:0 0 16px;line-height:1.7;color:#374151}
.legal-section ul{margin:0 0 16px;padding-left:20px}
.legal-section li{margin-bottom:8px;line-height:1.6;color:#374151}
.legal-section a{color:#0ea5e9;text-decoration:none}
.legal-section a:hover{text-decoration:underline}

/* Mobile adjustments for legal pages */
@media (max-width:768px){
	.legal-content{padding:20px}
	.legal-header h1{font-size:26px}
	.legal-section h2{font-size:18px}
}

/* Proposal page styles */
.proposal-page{max-width:800px;margin:0 auto}
.proposal-header{text-align:center;margin-bottom:40px;padding:20px 0}
.proposal-header h1{font-size:32px;font-weight:800;margin:0 0 8px;background:linear-gradient(135deg,#0ea5e9,#6366f1);-webkit-background-clip:text;background-clip:text;color:transparent}
.proposal-subtitle{color:#6b7280;margin:0;font-size:16px}
.proposal-content{display:grid;grid-template-columns:2fr 1fr;gap:32px}
.proposal-form{background:#fff;border-radius:16px;padding:32px;box-shadow:0 4px 16px rgba(2,6,23,.06)}
.proposal-info{background:#f8fafc;border-radius:16px;padding:24px;height:fit-content}
.proposal-info h3{font-size:18px;font-weight:600;margin:0 0 12px;color:#111827}
.proposal-info ol,.proposal-info ul{margin:0 0 16px;padding-left:20px}
.proposal-info li{margin-bottom:8px;line-height:1.6;color:#374151}
.proposal-info ol{list-style-type:decimal}
.proposal-info ul{list-style-type:disc}

.form-group{margin-bottom:20px}
.form-group label{display:block;margin-bottom:8px;font-weight:600;color:#111827}
.form-group input,.form-group textarea{width:100%;padding:12px 14px;border:1px solid #e5e7eb;border-radius:12px;background:#fff;font-family:inherit}
.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.1)}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-help{font-size:14px;color:#6b7280;margin:8px 0 0}
.form-actions{margin-top:32px}
.submit-btn{width:100%;padding:14px 16px;border:0;border-radius:12px;background:linear-gradient(135deg,#0ea5e9,#6366f1);color:#fff;font-weight:700;font-size:16px;cursor:pointer;box-shadow:0 8px 20px rgba(99,102,241,.25);transition:transform .15s ease}
.submit-btn:hover{transform:translateY(-2px)}

/* Admin proposals styles */
.admin-page{max-width:1200px;margin:0 auto}
.admin-header{text-align:center;margin-bottom:40px;padding:20px 0}
.admin-header h1{font-size:32px;font-weight:800;margin:0 0 8px;color:#111827}
.admin-header p{color:#6b7280;margin:0;font-size:16px}
.proposals-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:24px}
.proposal-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 16px rgba(2,6,23,.06);border-left:4px solid #e5e7eb}
.proposal-card.proposal-pending{border-left-color:#f59e0b}
.proposal-card.proposal-approved{border-left-color:#10b981}
.proposal-card.proposal-rejected{border-left-color:#ef4444}
.proposal-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:16px}
.proposal-header h3{margin:0;font-size:20px;font-weight:700;color:#111827}
.status-badge{padding:4px 12px;border-radius:999px;font-size:12px;font-weight:600;text-transform:uppercase}
.status-pending{background:#fef3c7;color:#92400e}
.status-approved{background:#d1fae5;color:#065f46}
.status-rejected{background:#fee2e2;color:#991b1b}
.proposal-details p{margin:0 0 8px;line-height:1.6;color:#374151}
.proposal-details strong{color:#111827}
.proposal-images{margin:16px 0}
.proposal-images h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#111827}
.images-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px}
.proposal-image{text-align:center}
.proposal-image img{max-width:100%;height:auto;border-radius:12px;box-shadow:0 4px 12px rgba(2,6,23,.1);transition:transform .15s ease}
.proposal-image img:hover{transform:scale(1.05)}
.proposal-notes{margin:16px 0;padding:16px;background:#f8fafc;border-radius:12px;border-left:4px solid #0ea5e9}
.proposal-actions{margin-top:20px;display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.btn{padding:8px 16px;border:0;border-radius:8px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;font-size:14px}
.btn-success{background:#10b981;color:#fff}
.btn-warning{background:#f59e0b;color:#fff}
.btn-danger{background:#ef4444;color:#fff}
.btn-secondary{background:#6b7280;color:#fff}
.text-success{color:#10b981;font-weight:600}
.text-danger{color:#ef4444;font-weight:600}
.empty-state{text-align:center;padding:60px 20px;color:#6b7280}

/* Modal styles */
.modal{position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center}
.modal-content{background:#fff;border-radius:16px;padding:32px;max-width:500px;width:90%;box-shadow:0 20px 40px rgba(2,6,23,.2)}
.modal-content h3{margin:0 0 20px;font-size:20px;font-weight:700;color:#111827}
.modal-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:24px}

/* Mobile adjustments for proposals */
@media (max-width:768px){
	.proposal-content{grid-template-columns:1fr;gap:24px}
	.proposal-form{padding:20px}
	.proposals-grid{grid-template-columns:1fr}
	.proposal-card{padding:20px}
	.proposal-header{flex-direction:column;gap:12px;align-items:flex-start}
	.proposal-actions{flex-direction:column;align-items:stretch}
	.btn{text-align:center}
	.form-row{grid-template-columns:1fr}
	.modal-content{padding:20px;margin:20px}
	.images-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px}
} 