:root{
  --navy:#0d2b59;
  --navy2:#173d73;
  --cream:#fbf6ee;
  --paper:#fffdfa;
  --orange:#c76d3c;
  --ink:#172033;
  --muted:#6b7280;
  --line:#e7dfd4;
  --green:#2f6d57;
}
*{box-sizing:border-box}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--cream);color:var(--ink)}
a{color:inherit}
.wrap{max-width:1120px;margin:auto;padding:0 20px}
header{background:var(--navy);color:white;padding:22px 0}
.brand{font-family:Georgia,'Times New Roman',serif;font-weight:700;letter-spacing:.04em;font-size:27px}
.brand small{display:block;font-family:Arial,sans-serif;font-size:12px;font-weight:400;letter-spacing:.18em;margin-top:3px;color:#f3d4bd}
nav{display:flex;justify-content:space-between;align-items:center;gap:18px}
nav .links{display:flex;gap:14px;align-items:center}
nav a{text-decoration:none}
.hero{padding:46px 0 28px}
.eyebrow{font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--orange);font-weight:700}
h1,h2,h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy);margin-top:0}
h1{font-size:clamp(34px,6vw,58px);line-height:1.02;margin-bottom:14px}
.lead{font-size:18px;max-width:700px;color:#46505e}
.notice{background:#fff1e8;border:1px solid #efd4c2;padding:14px 16px;border-radius:10px;margin:20px 0}
.deals{display:flex;flex-wrap:wrap;gap:10px;margin:20px 0 8px}
.deal{background:white;border:1px solid var(--line);padding:12px 15px;border-radius:999px;font-weight:700;color:var(--navy)}
.menu-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:24px 0 130px}
.card{background:var(--paper);border:1px solid var(--line);border-radius:14px;padding:18px;box-shadow:0 4px 18px rgba(13,43,89,.04)}
.card-top{display:flex;justify-content:space-between;gap:20px}
.category{font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:var(--orange);font-weight:700}
.card h3{font-size:22px;margin:5px 0 8px}
.desc{color:#5c6470;line-height:1.45}
.price{font-weight:700;color:var(--navy);white-space:nowrap}
.qty{display:flex;align-items:center;gap:12px;margin-top:16px}
.qty button,.btn{border:0;border-radius:9px;background:var(--navy);color:white;padding:11px 15px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}
.qty button.secondary,.btn.secondary{background:white;color:var(--navy);border:1px solid var(--navy)}
.qty span{min-width:24px;text-align:center;font-weight:700}
.basket-bar{position:fixed;bottom:0;left:0;right:0;background:rgba(13,43,89,.97);color:white;padding:14px 0;box-shadow:0 -5px 20px rgba(0,0,0,.12)}
.basket-inner{display:flex;justify-content:space-between;align-items:center;gap:12px}
.basket-total strong{font-size:20px}
.btn.orange{background:var(--orange)}
form.panel,.panel{background:white;border:1px solid var(--line);border-radius:14px;padding:22px;margin:22px 0}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}
label{display:block;font-weight:700;color:var(--navy);margin-bottom:7px}
input,select,textarea{width:100%;padding:12px;border:1px solid #cfd5dd;border-radius:8px;font:inherit;background:white}
textarea{min-height:100px}
.field{margin-bottom:16px}
.muted{color:var(--muted)}
table{width:100%;border-collapse:collapse;background:white}
th,td{padding:12px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{color:var(--navy);font-size:13px}
.badge{display:inline-block;padding:6px 9px;border-radius:999px;background:#eef3fa;color:var(--navy);font-size:12px;font-weight:700}
.admin-shell{display:grid;grid-template-columns:220px 1fr;min-height:100vh}
.admin-side{background:var(--navy);color:white;padding:26px 20px}
.admin-side a{display:block;padding:10px 0;text-decoration:none}
.admin-main{padding:30px}
.flash{padding:12px 14px;border-radius:8px;background:#eaf5ef;color:#24533f;margin:14px 0}
.error{padding:12px 14px;border-radius:8px;background:#fff0f0;color:#8a2626;margin:14px 0}
.summary{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:18px 0}
.stat{background:white;border:1px solid var(--line);border-radius:12px;padding:16px}
.stat b{display:block;font-size:26px;color:var(--navy);font-family:Georgia,serif}
.footer{padding:35px 0;color:#6a6f78;font-size:14px}
@media(max-width:760px){
 .menu-grid,.grid2{grid-template-columns:1fr}
 .summary{grid-template-columns:1fr 1fr}
 .admin-shell{display:block}
 .admin-side{position:static}
 .basket-inner{align-items:flex-start}
 .card-top{display:block}
 .price{margin-top:8px}
}
