/* ── VARIABLES ── */
:root {
  --cream: #f5ede0;
  --warm-white: #faf6f0;
  --crust: #2c1a0e;
  --crust-mid: #5c3a1e;
  --gold: #c9862a;
  --gold-light: #e8b96a;
  --sage: #7a8c6e;
  --charcoal: #1a1208;
  --success: #4a7c59;
  --danger: #8b2e2e;
  --pending-color: #7a6530;
}

* { margin:0; padding:0; box-sizing:border-box; }
html { scroll-behavior:smooth; }
*:focus-visible {
  outline:3px solid var(--gold);
  outline-offset:2px;
}
body {
  background:var(--warm-white);
  color:var(--crust);
  font-family:'Cormorant Garamond',Georgia,serif;
  overflow-x:hidden;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
}

/* grain overlay */
body::before {
  content:'';
  position:fixed; inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 256 256' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noise'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noise)' opacity='0.04'/%3E%3C/svg%3E");
  pointer-events:none; z-index:999; opacity:0.5;
}

/* ── NAV ── */
nav {
  position:fixed; top:0; left:0; right:0; z-index:100;
  padding:1.2rem 2rem;
  display:flex; justify-content:space-between; align-items:center;
  transition:all 0.4s ease;
}
nav.scrolled {
  background:rgba(26,18,8,0.96);
  backdrop-filter:blur(10px);
  padding:0.8rem 2rem;
}
.nav-logo {
  font-family:'Playfair Display',serif;
  font-size:1.05rem; font-style:italic;
  color:var(--gold-light); text-decoration:none;
}
.nav-links { display:flex; gap:2rem; list-style:none; align-items:center; }
.nav-links a {
  color:rgba(245,237,224,0.65); text-decoration:none;
  font-size:0.75rem; letter-spacing:0.2em; text-transform:uppercase;
  transition:color 0.3s;
}
.nav-links a:hover { color:var(--gold-light); }
.nav-cta {
  padding:0.4rem 1.1rem !important;
  border:1px solid rgba(201,134,42,0.5) !important;
  color:var(--gold-light) !important;
  transition:all 0.3s !important;
}
.nav-cta:hover { background:var(--gold) !important; color:var(--crust) !important; border-color:var(--gold) !important; }
.nav-hamburger {
  display:none; background:none; border:none; color:var(--gold-light);
  font-size:1.4rem; cursor:pointer; padding:0.2rem 0.5rem;
  transition:transform 0.25s ease, color 0.25s ease;
}
.nav-hamburger[aria-expanded="true"] { transform:rotate(90deg); color:var(--gold); }
.mobile-nav {
  display:none; position:fixed; top:0; left:0; right:0; bottom:0;
  background:var(--charcoal); z-index:200;
  flex-direction:column; align-items:center; justify-content:center; gap:2rem;
}
.mobile-nav.open { display:flex; }
.mobile-nav a {
  color:var(--cream); text-decoration:none;
  font-family:'Playfair Display',serif; font-size:1.8rem;
  font-style:italic; transition:color 0.3s;
}
.mobile-nav a:hover { color:var(--gold); }
@media(max-width:700px){
  .nav-links { display:none; }
  .nav-hamburger { display:block; }
}

/* ── HERO ── */
.hero {
  min-height:100vh; background:var(--crust);
  display:grid; place-items:center;
  position:relative; overflow:hidden; padding:3rem 1.5rem;
}
.hero-bg-rings {
  position:absolute; inset:0;
  display:flex; align-items:center; justify-content:center;
  pointer-events:none;
}
.ring {
  position:absolute; border-radius:50%;
  border:1px solid rgba(201,134,42,0.15);
  animation:breathe 8s ease-in-out infinite;
}
.ring:nth-child(1){ width:300px; height:300px; animation-delay:0s; }
.ring:nth-child(2){ width:500px; height:500px; animation-delay:1s; border-color:rgba(201,134,42,0.1); }
.ring:nth-child(3){ width:700px; height:700px; animation-delay:2s; border-color:rgba(201,134,42,0.06); }
.ring:nth-child(4){ width:900px; height:900px; animation-delay:3s; border-color:rgba(201,134,42,0.04); }
@keyframes breathe {
  0%{ transform:scale(0.98); opacity:0.55; }
  50%{ transform:scale(1.04); opacity:0.9; }
  100%{ transform:scale(0.98); opacity:0.55; }
}
.hero-content { text-align:center; position:relative; z-index:2; animation:fadeUp 1.2s ease forwards; }
@keyframes fadeUp {
  from{ opacity:0; transform:translateY(22px) scale(0.98); }
  to{ opacity:1; transform:translateY(0) scale(1); }
}
.hero-eyebrow {
  font-size:0.82rem; font-weight:300; letter-spacing:0.4em; text-transform:uppercase;
  color:var(--gold-light); margin-bottom:1.5rem; animation:fadeUp 1.2s 0.2s ease both;
}
.hero-title {
  font-family:'Playfair Display',serif;
  font-size:clamp(2.8rem,9vw,6.5rem); font-weight:700;
  line-height:0.95; color:var(--cream);
  margin-bottom:0.3em; animation:fadeUp 1.2s 0.3s ease both;
}
.hero-title em { font-style:italic; color:var(--gold); display:block; }
.hero-subtitle {
  font-size:clamp(1rem,2.5vw,1.35rem); font-weight:300; font-style:italic;
  color:rgba(245,237,224,0.7); margin:1.2rem auto 2.5rem;
  max-width:640px; line-height:1.65;
  text-wrap:pretty; hyphens:auto;
  animation:fadeUp 1.2s 0.5s ease both;
}
.hero-location { font-size:0.8rem; letter-spacing:0.25em; text-transform:uppercase; color:var(--sage); animation:fadeUp 1.2s 0.6s ease both; }
.hero-divider { width:60px; height:1px; background:var(--gold); margin:1.5rem auto; animation:expandWidth 1.5s 0.8s ease both; }
@keyframes expandWidth {
  from{ width:0; opacity:0; transform:scaleX(0.6); transform-origin:center; }
  to{ width:60px; opacity:1; transform:scaleX(1); transform-origin:center; }
}
.hero-cta {
  display:inline-block; margin-top:2rem; padding:1rem 2.5rem;
  border:1px solid var(--gold); color:var(--gold-light);
  text-decoration:none; font-size:1rem; letter-spacing:0.2em; text-transform:uppercase;
  transition:all 0.4s ease; animation:fadeUp 1.2s 0.9s ease both;
}
.hero-cta:hover {
  background:var(--gold); color:var(--crust);
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,134,42,0.25);
}
.scroll-hint {
  position:absolute; bottom:2rem; left:50%; transform:translateX(-50%);
  display:flex; flex-direction:column; align-items:center; gap:0.4rem;
  color:rgba(245,237,224,0.3); font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase;
  animation:fadeUp 2s 1.5s ease both;
}
.scroll-line {
  width:1px; height:40px;
  background:linear-gradient(to bottom,rgba(201,134,42,0.6),transparent);
  animation:scrollPulse 2s ease-in-out infinite;
}
@keyframes scrollPulse {
  0%,100%{ opacity:0.35; transform:translateY(-2px); }
  50%{ opacity:1; transform:translateY(4px); }
}

/* ── HERO PHOTO SCROLL WHEELS ── */
.hero-grid {
  display:grid;
  grid-template-columns:minmax(150px,210px) minmax(0,1fr) minmax(150px,210px);
  align-items:center;
  gap:clamp(1.5rem,4vw,3.5rem);
  width:100%; max-width:1500px;
  position:relative; z-index:2;
}
.hero-scroll-wheel {
  height:min(620px,72vh);
  overflow-y:auto; overflow-x:hidden;
  display:flex; flex-direction:column; gap:1.1rem;
  padding:0.5rem 0.25rem;
  scroll-snap-type:y proximity;
  -webkit-mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
          mask-image:linear-gradient(to bottom,transparent,#000 12%,#000 88%,transparent);
  scrollbar-width:thin; scrollbar-color:rgba(201,134,42,0.45) transparent;
  animation:fadeUp 1.4s 0.3s ease both;
}
.hero-scroll-wheel::-webkit-scrollbar{ width:4px; }
.hero-scroll-wheel::-webkit-scrollbar-track{ background:transparent; }
.hero-scroll-wheel::-webkit-scrollbar-thumb{ background:rgba(201,134,42,0.45); border-radius:4px; }
.hero-scroll-photo {
  scroll-snap-align:center; flex-shrink:0;
  border-radius:6px; overflow:hidden;
  aspect-ratio:3/4;
  border:1px solid rgba(232,185,106,0.15);
  box-shadow:0 16px 40px rgba(44,26,14,0.4);
}
.hero-scroll-photo img {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:brightness(0.92) saturate(1.05);
  transition:transform 0.6s ease;
}
.hero-scroll-photo:hover img { transform:scale(1.06); }
@media(max-width:980px){
  .hero-grid {
    grid-template-columns:1fr 1fr;
    grid-template-rows:auto auto;
    gap:1rem;
  }
  .hero-content { grid-column:1 / -1; grid-row:1; margin-bottom:0.5rem; }
  .hero-scroll-wheel { height:clamp(160px,40vw,220px); grid-row:2; }
  .hero-scroll-wheel--left  { grid-column:1; }
  .hero-scroll-wheel--right { grid-column:2; }
}

/* ── PHOTO STRIP ── */
.photo-strip { background:var(--crust-mid); overflow:hidden; }
.photo-strip-inner { display:flex; height:260px; }
.photo-cell {
  flex:1; background:var(--crust);
  display:flex; align-items:center; justify-content:center;
  position:relative; overflow:hidden;
  border-right:1px solid rgba(245,237,224,0.05);
  transition:flex 0.5s ease; cursor:default;
}
.photo-cell:hover { flex:2; transform:translateY(-2px); }
.photo-cell-label {
  position:absolute; bottom:1rem; left:50%; transform:translateX(-50%);
  font-size:0.7rem; letter-spacing:0.25em; text-transform:uppercase;
  color:rgba(245,237,224,0.5); white-space:nowrap;
  opacity:0; transition:opacity 0.3s;
}
.photo-cell:hover .photo-cell-label { opacity:1; }
.photo-cell-bg {
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center;
  font-size:5rem; opacity:0.3; transition:opacity 0.4s, transform 0.4s;
}
.photo-cell:hover .photo-cell-bg { opacity:0.6; transform:scale(1.1); }
.photo-cell-img {
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover; transition:transform 0.5s ease, filter 0.5s ease;
  filter:brightness(0.82) saturate(1.1);
}
.photo-cell:hover .photo-cell-img { transform:scale(1.07); filter:brightness(0.95) saturate(1.2); }
.photo-cell-placeholder { font-size:5rem; opacity:0.3; transition:opacity 0.4s, transform 0.4s; }
.photo-cell:hover .photo-cell-placeholder { opacity:0.6; transform:scale(1.1); }

/* ── SHARED SECTION STYLES ── */
section { padding:5rem 1.5rem; }
.container { max-width:1100px; margin:0 auto; }
.section-label { font-size:0.75rem; letter-spacing:0.4em; text-transform:uppercase; color:var(--sage); margin-bottom:1rem; }
.section-title { font-family:'Playfair Display',serif; font-size:clamp(1.8rem,5vw,3.2rem); font-weight:400; line-height:1.1; color:var(--crust); margin-bottom:1.5rem; }
.section-title em { font-style:italic; color:var(--gold); }

/* ── ABOUT ── */
.about { background:var(--cream); position:relative; }
.about::before {
  content:'"'; position:absolute; top:2rem; right:5%;
  font-family:'Playfair Display',serif; font-size:20rem; color:rgba(201,134,42,0.06); line-height:1; pointer-events:none;
}
.about-grid { display:grid; grid-template-columns:1fr 1fr; gap:5rem; align-items:center; }
@media(max-width:700px){ .about-grid{ grid-template-columns:1fr; gap:2.5rem; } }
.about-text p {
  font-size:1.15rem; font-weight:300; line-height:1.8; color:var(--crust-mid);
  margin-bottom:1.2rem; text-wrap:pretty; hyphens:auto;
}
.bread-badge {
  width:220px; height:220px; margin:0 auto; border-radius:50%;
  background:var(--crust); display:flex; flex-direction:column;
  align-items:center; justify-content:center; text-align:center; padding:2rem;
  position:relative; box-shadow:0 20px 60px rgba(44,26,14,0.3);
}
.bread-badge::before { content:''; position:absolute; inset:8px; border-radius:50%; border:1px solid rgba(201,134,42,0.3); }
.bread-badge-icon { font-size:3rem; margin-bottom:0.5rem; }
.bread-badge-text { font-family:'Playfair Display',serif; font-size:1.05rem; font-style:italic; color:var(--gold-light); line-height:1.3; }
.bread-badge-sub { font-size:0.7rem; letter-spacing:0.2em; text-transform:uppercase; color:var(--sage); margin-top:0.5rem; }

/* about photo */
.about-photo-wrap {
  position:relative; border-radius:4px; overflow:hidden;
  box-shadow:0 20px 60px rgba(44,26,14,0.25);
  aspect-ratio:4/3;
}
.about-photo {
  width:100%; height:100%; object-fit:cover; display:block;
  filter:brightness(0.95) saturate(1.05);
  transition:transform 0.5s ease;
}
.about-photo-wrap:hover .about-photo { transform:scale(1.03); }
.about-photo-caption {
  position:absolute; bottom:0; left:0; right:0;
  padding:1rem 1.2rem 0.8rem;
  background:linear-gradient(transparent, rgba(44,26,14,0.6));
  font-size:0.72rem; letter-spacing:0.25em; text-transform:uppercase;
  color:rgba(245,237,224,0.75); text-align:center;
}

/* ── MENU SECTION ── */
.menu-section { background:var(--warm-white); }
.menu-grid {
  display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr));
  gap:1px; background:rgba(44,26,14,0.1);
  border:1px solid rgba(44,26,14,0.1); margin-top:3rem;
}
.menu-item { background:var(--warm-white); padding:1.8rem 2rem; transition:background 0.3s; position:relative; overflow:hidden; }
.menu-item::before { content:''; position:absolute; left:0; top:0; width:3px; height:0; background:var(--gold); transition:height 0.4s ease; }
.menu-item:hover {
  background:var(--cream); transform:translateY(-2px);
  box-shadow:0 12px 24px rgba(44,26,14,0.08);
}
.menu-item:hover::before { height:100%; }
/* menu items with photos */
.menu-item--photo { padding:0; }
.menu-item--photo .menu-item-photo {
  width:100%; height:180px; object-fit:cover; display:block;
  filter:brightness(0.9) saturate(1.1);
  transition:transform 0.5s ease, filter 0.5s ease;
}
.menu-item--photo:hover .menu-item-photo { transform:scale(1.03); filter:brightness(1) saturate(1.2); }
.menu-item--photo .menu-item-text { padding:1.8rem 2rem; overflow:hidden; }
.menu-category { font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--sage); margin-bottom:0.4rem; }
.menu-name { font-family:'Playfair Display',serif; font-size:1.2rem; font-weight:400; color:var(--crust); margin-bottom:0.3rem; }
.menu-price { font-size:1rem; color:var(--gold); font-style:italic; }

/* ── MARKET ── */
.market { background:var(--crust); color:var(--cream); text-align:center; }
.market .section-title { color:var(--cream); }
.market .section-label { color:var(--gold-light); }
.market-card {
  display:inline-block; margin-top:3rem; padding:2.5rem 4rem;
  border:1px solid rgba(201,134,42,0.3); position:relative;
}
.market-card::before,.market-card::after {
  content:'✦'; position:absolute; top:-0.6rem;
  color:var(--gold); font-size:1rem; background:var(--crust); padding:0 0.5rem;
}
.market-card::before { left:2rem; }
.market-card::after { right:2rem; }
.market-detail {
  font-size:1.1rem; font-weight:300; line-height:1.9; color:rgba(245,237,224,0.75);
  text-wrap:pretty; hyphens:auto;
}
.market-detail strong { color:var(--gold-light); font-weight:400; }
.market-note {
  margin-top:2rem; font-size:0.95rem; font-style:italic; color:var(--sage);
  max-width:620px; line-height:1.75; margin-left:auto; margin-right:auto;
  text-wrap:pretty; hyphens:auto;
}

/* ── CONTACT ── */
.contact-section { background:var(--cream); text-align:center; }
.contact-text {
  font-size:1.15rem; font-weight:300; color:var(--crust-mid); max-width:540px;
  margin:0 auto 2.5rem; line-height:1.8;
  text-wrap:pretty; hyphens:auto;
}
.order-buttons { display:flex; gap:1rem; justify-content:center; flex-wrap:wrap; }
.btn-primary {
  display:inline-block; padding:1rem 2.5rem; background:var(--crust);
  color:var(--gold-light); text-decoration:none;
  font-size:1rem; letter-spacing:0.15em; text-transform:uppercase;
  border:1px solid var(--crust); transition:all 0.3s;
}
.btn-primary:hover {
  background:var(--gold); border-color:var(--gold); color:var(--crust);
  transform:translateY(-2px); box-shadow:0 10px 24px rgba(201,134,42,0.18);
}
.btn-outline {
  display:inline-block; padding:1rem 2.5rem; background:transparent;
  color:var(--crust); text-decoration:none;
  font-size:1rem; letter-spacing:0.15em; text-transform:uppercase;
  border:1px solid var(--crust-mid); transition:all 0.3s;
}
.btn-outline:hover {
  background:var(--crust); color:var(--cream);
  transform:translateY(-2px); box-shadow:0 10px 22px rgba(44,26,14,0.12);
}

/* ── FOOTER ── */
footer { background:var(--charcoal); color:rgba(245,237,224,0.5); padding:3rem 1.5rem; text-align:center; }
.footer-logo { font-family:'Playfair Display',serif; font-size:1.7rem; font-style:italic; color:var(--gold); margin-bottom:0.4rem; }
.footer-tagline { font-size:0.78rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--sage); margin-bottom:1.8rem; }
.footer-links { display:flex; gap:2rem; justify-content:center; flex-wrap:wrap; margin-bottom:2rem; }
.footer-links a { color:rgba(245,237,224,0.45); text-decoration:none; font-size:0.85rem; letter-spacing:0.1em; transition:color 0.3s; }
.footer-links a:hover { color:var(--gold-light); }
.footer-copy { font-size:0.72rem; color:rgba(245,237,224,0.2); }

/* ── PAGE HEADER (inner pages) ── */
.page-header {
  background:var(--crust); padding:7rem 1.5rem 3.5rem;
  text-align:center; position:relative; overflow:hidden;
}
.page-header::before {
  content:''; position:absolute; inset:0;
  background:radial-gradient(ellipse at center,rgba(201,134,42,0.08) 0%,transparent 70%);
}
.page-header h1 { font-family:'Playfair Display',serif; font-size:clamp(2rem,6vw,3.5rem); color:var(--cream); position:relative; }
.page-header h1 em { font-style:italic; color:var(--gold); }
.page-header p { color:rgba(245,237,224,0.6); font-size:1rem; margin-top:0.8rem; position:relative; }
.page-header-divider { width:50px; height:1px; background:var(--gold); margin:1.2rem auto 0; position:relative; }

/* ── FORM STYLES ── */
.form-wrap { max-width:800px; margin:0 auto; padding:3rem 1.5rem; }
.form-section { margin-bottom:2.5rem; }
.form-section-label {
  font-size:0.7rem; letter-spacing:0.3em; text-transform:uppercase;
  color:var(--sage); margin-bottom:1rem; padding-bottom:0.5rem;
  border-bottom:1px solid rgba(44,26,14,0.1);
}
.form-row { display:grid; grid-template-columns:1fr 1fr; gap:1rem; margin-bottom:1rem; }
@media(max-width:560px){ .form-row{ grid-template-columns:1fr; } }
.form-group { display:flex; flex-direction:column; gap:0.3rem; }
.form-group label { font-size:0.78rem; letter-spacing:0.1em; text-transform:uppercase; color:var(--crust-mid); }
.form-group input,.form-group select,.form-group textarea {
  padding:0.75rem 1rem; border:1px solid rgba(44,26,14,0.2);
  background:var(--cream); font-family:'Cormorant Garamond',serif;
  font-size:1rem; color:var(--crust); outline:none; transition:border 0.3s;
}
.form-group input:focus,.form-group select:focus,.form-group textarea:focus { border-color:var(--gold); }
.form-group textarea { resize:vertical; min-height:80px; }

/* ── ITEM CARDS (order page) ── */
.items-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(230px,1fr)); gap:0.8rem; }
.item-card {
  border:1px solid rgba(44,26,14,0.15); background:var(--cream);
  padding:0.9rem 1rem; display:flex; justify-content:space-between;
  align-items:center; gap:0.5rem; transition:border 0.3s;
}
.item-card.selected { border-color:var(--gold); background:#fff8ee; }
.item-info { flex:1; }
.item-name { font-size:1rem; font-weight:600; }
.item-price { font-size:0.85rem; color:var(--gold); font-style:italic; }
.qty-control { display:flex; align-items:center; gap:0.4rem; }
.qty-btn {
  width:28px; height:28px; border:1px solid rgba(44,26,14,0.2);
  background:var(--warm-white); cursor:pointer; font-size:1.1rem;
  display:flex; align-items:center; justify-content:center;
  transition:all 0.2s; color:var(--crust);
}
.qty-btn:hover { background:var(--gold); color:white; border-color:var(--gold); }
.qty-display { min-width:22px; text-align:center; font-size:1rem; }

/* ── ORDER SUMMARY BAR ── */
.order-summary-bar {
  background:var(--crust); color:var(--cream);
  padding:1.2rem 1.5rem; display:flex;
  justify-content:space-between; align-items:center; flex-wrap:wrap; gap:0.5rem;
  position:sticky; bottom:0; z-index:50; border-top:2px solid var(--gold);
}
.summary-items-text { font-size:0.9rem; color:rgba(245,237,224,0.6); }
.summary-total-text { font-family:'Playfair Display',serif; font-size:1.5rem; color:var(--gold-light); }
.submit-btn {
  padding:0.8rem 2rem; background:var(--gold); color:var(--crust);
  border:none; cursor:pointer; font-family:'Cormorant Garamond',serif;
  font-size:1rem; letter-spacing:0.15em; text-transform:uppercase;
  transition:all 0.3s;
}
.submit-btn:hover { background:var(--gold-light); }
.submit-btn:disabled { opacity:0.4; cursor:not-allowed; }

/* ── SUCCESS ── */
.success-screen {
  display:none; text-align:center; padding:4rem 1.5rem; max-width:500px; margin:0 auto;
}
.success-screen .icon { font-size:3.5rem; margin-bottom:1rem; }
.success-screen h2 { font-family:'Playfair Display',serif; font-size:2rem; margin-bottom:0.7rem; }
.success-screen p { color:var(--crust-mid); font-size:1.05rem; line-height:1.7; }
.new-order-btn {
  margin-top:1.8rem; padding:0.8rem 2rem; background:transparent;
  border:1px solid var(--crust); cursor:pointer;
  font-family:'Cormorant Garamond',serif; font-size:0.95rem;
  letter-spacing:0.15em; text-transform:uppercase; transition:all 0.3s;
}
.new-order-btn:hover { background:var(--crust); color:var(--cream); }

/* ── ADMIN STYLES ── */
.admin-body { background:var(--warm-white); padding:2rem 1.5rem; max-width:1000px; margin:0 auto; }
.stats-row { display:flex; gap:1rem; flex-wrap:wrap; margin-bottom:2rem; }
.stat-card {
  flex:1; min-width:120px; padding:1rem 1.2rem;
  background:var(--cream); border:1px solid rgba(44,26,14,0.1);
}
.stat-label { font-size:0.65rem; letter-spacing:0.3em; text-transform:uppercase; color:var(--sage); }
.stat-value { font-family:'Playfair Display',serif; font-size:1.8rem; color:var(--crust); margin-top:0.2rem; }
.stat-value.gold { color:var(--gold); }
.filters { display:flex; gap:0.5rem; flex-wrap:wrap; margin-bottom:1.5rem; }
.filter-btn {
  padding:0.35rem 1rem; border:1px solid rgba(44,26,14,0.2);
  background:transparent; cursor:pointer;
  font-family:'Cormorant Garamond',serif; font-size:0.85rem;
  letter-spacing:0.1em; transition:all 0.2s;
}
.filter-btn.active { background:var(--crust); color:var(--cream); border-color:var(--crust); }
.orders-list { display:flex; flex-direction:column; gap:1rem; }
.order-card { border:1px solid rgba(44,26,14,0.12); background:var(--cream); overflow:hidden; transition:box-shadow 0.3s; }
.order-card:hover { box-shadow:0 4px 20px rgba(44,26,14,0.1); }
.order-card-header {
  padding:1rem 1.2rem; display:flex; justify-content:space-between;
  align-items:center; flex-wrap:wrap; gap:0.5rem;
  cursor:pointer; border-bottom:1px solid rgba(44,26,14,0.08);
}
.order-card-header:hover { background:#f0e8d8; }
.order-customer { font-family:'Playfair Display',serif; font-size:1.1rem; }
.order-meta { font-size:0.82rem; color:var(--crust-mid); margin-top:0.15rem; }
.order-right { display:flex; align-items:center; gap:0.8rem; }
.order-total-badge { font-family:'Playfair Display',serif; font-size:1.1rem; color:var(--gold); }
.status-badge { padding:0.2rem 0.7rem; font-size:0.68rem; letter-spacing:0.15em; text-transform:uppercase; border-radius:2px; }
.status-pending { background:#fef3cd; color:var(--pending-color); }
.status-ready { background:#d4edda; color:var(--success); }
.status-fulfilled { background:#e2e3e5; color:#555; }
.order-card-body { padding:1.2rem; display:none; }
.order-card-body.open { display:block; }
.order-items-list { margin-bottom:1rem; }
.order-item-row {
  display:flex; justify-content:space-between;
  padding:0.3rem 0; border-bottom:1px solid rgba(44,26,14,0.07); font-size:0.95rem;
}
.order-item-row:last-child { border:none; }
.order-contact { font-size:0.9rem; color:var(--crust-mid); margin-bottom:1rem; line-height:1.9; }
.order-notes-box {
  background:var(--warm-white); padding:0.7rem; font-size:0.9rem;
  font-style:italic; color:var(--crust-mid); margin-bottom:1rem;
  border-left:2px solid var(--gold);
}
.action-row { display:flex; gap:0.5rem; flex-wrap:wrap; }
.action-btn {
  padding:0.4rem 1rem; border:1px solid; cursor:pointer;
  font-family:'Cormorant Garamond',serif; font-size:0.85rem;
  letter-spacing:0.1em; transition:all 0.2s;
}
.btn-pending { border-color:var(--pending-color); color:var(--pending-color); background:transparent; }
.btn-pending:hover { background:var(--pending-color); color:white; }
.btn-ready { border-color:var(--success); color:var(--success); background:transparent; }
.btn-ready:hover { background:var(--success); color:white; }
.btn-fulfilled { border-color:#888; color:#888; background:transparent; }
.btn-fulfilled:hover { background:#888; color:white; }
.btn-delete { border-color:var(--danger); color:var(--danger); background:transparent; }
.btn-delete:hover { background:var(--danger); color:white; }
.empty-state { text-align:center; padding:3rem; color:var(--crust-mid); font-style:italic; font-size:1.1rem; }

/* login */
.login-wrap { max-width:340px; margin:4rem auto; text-align:center; padding:0 1.5rem; }
.login-wrap h1 { font-family:'Playfair Display',serif; font-size:2rem; margin-bottom:1.5rem; }
.login-wrap h1 em { font-style:italic; color:var(--gold); }
.login-wrap input {
  width:100%; padding:0.8rem 1rem; margin-bottom:1rem;
  border:1px solid rgba(44,26,14,0.2); background:var(--cream);
  font-family:'Cormorant Garamond',serif; font-size:1rem; outline:none;
}
.login-wrap input:focus { border-color:var(--gold); }
.login-btn {
  width:100%; padding:0.9rem; background:var(--crust); color:var(--gold-light);
  border:none; cursor:pointer; font-family:'Cormorant Garamond',serif;
  font-size:1rem; letter-spacing:0.2em; text-transform:uppercase; transition:all 0.3s;
}
.login-btn:hover { background:var(--gold); color:var(--crust); }
.login-error { color:var(--danger); font-size:0.9rem; margin-top:0.5rem; display:none; }
.logout-btn {
  padding:0.4rem 1rem; border:1px solid rgba(44,26,14,0.25);
  background:transparent; color:var(--crust-mid);
  cursor:pointer; font-family:'Cormorant Garamond',serif;
  font-size:0.8rem; letter-spacing:0.1em; transition:all 0.2s;
}
.logout-btn:hover { background:var(--crust); color:var(--cream); }

/* toast */
.toast {
  position:fixed; bottom:2rem; left:50%; transform:translateX(-50%);
  background:var(--crust); color:var(--gold-light);
  padding:0.8rem 1.8rem; font-size:0.9rem; letter-spacing:0.1em;
  opacity:0; pointer-events:none; transition:opacity 0.3s; z-index:1000;
}
.toast.show { opacity:1; }

/* ── ON-PAGE ORDER CART ── */
body.cart-open { overflow:hidden; }
.cart-trigger { position:relative; }
.cart-badge {
  position:absolute; top:-0.55rem; right:-0.85rem;
  background:var(--gold); color:var(--crust);
  font-size:0.62rem; font-weight:700; line-height:1;
  border-radius:50%; min-width:1.15rem; height:1.15rem;
  display:flex; align-items:center; justify-content:center; padding:0 0.2rem;
}
.cart-overlay {
  position:fixed; inset:0; background:rgba(26,18,8,0.55);
  opacity:0; visibility:hidden; z-index:300;
  transition:opacity 0.35s ease, visibility 0s linear 0.35s;
}
.cart-overlay.open { opacity:1; visibility:visible; transition:opacity 0.35s ease; }
.cart-drawer {
  position:fixed; top:0; right:0; bottom:0;
  width:min(460px,100%);
  background:var(--warm-white);
  z-index:301;
  display:flex; flex-direction:column;
  transform:translateX(100%);
  transition:transform 0.45s cubic-bezier(.25,.8,.3,1);
  box-shadow:-24px 0 64px rgba(44,26,14,0.4);
}
.cart-drawer.open { transform:translateX(0); }
.cart-drawer-header {
  display:flex; align-items:center; justify-content:space-between;
  padding:1.4rem 1.5rem; border-bottom:1px solid rgba(44,26,14,0.1);
}
.cart-drawer-header h2 { font-family:'Playfair Display',serif; font-size:1.5rem; font-weight:400; color:var(--crust); }
.cart-close-btn {
  background:none; border:none; font-size:1.2rem; line-height:1; color:var(--crust-mid);
  cursor:pointer; padding:0.3rem 0.6rem; transition:color 0.3s, transform 0.3s;
}
.cart-close-btn:hover { color:var(--gold); transform:rotate(90deg); }
.cart-drawer-body { flex:1; overflow-y:auto; padding:1.5rem; }
.cart-drawer-intro { font-size:0.85rem; color:var(--crust-mid); line-height:1.6; margin-bottom:1.5rem; }
.cart-drawer-summary { position:relative; bottom:auto; flex-wrap:wrap; }
.cart-success { padding:3rem 1.5rem; text-align:center; }
.cart-success .icon { font-size:3rem; margin-bottom:1rem; }
.cart-success h2 { font-family:'Playfair Display',serif; font-size:1.6rem; margin-bottom:0.6rem; color:var(--crust); }
.cart-success p { color:var(--crust-mid); line-height:1.7; font-size:0.95rem; }
@media(max-width:560px){
  .cart-drawer { width:100%; }
}

@media(max-width:600px){
  .market-card { padding:2rem 1.5rem; }
  .order-summary-bar { flex-direction:column; text-align:center; position:relative; }
}

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* ── HERO LOGO & WARM MENU TOUCHES ── */
.hero-logo {
  display:block; width:clamp(255px,46vw,390px); height:auto;
  margin:0 auto 1.8rem; border-radius:50%;
  box-shadow:0 14px 50px rgba(0,0,0,0.45), 0 0 0 1px rgba(201,134,42,0.25);
  animation:fadeUp 1.2s 0.1s ease both;
}
.hero-logo-row {
  display:flex; align-items:center; justify-content:center;
  gap:clamp(0.6rem,3vw,2.2rem); margin-bottom:1.8rem;
}
.hero-logo-row .hero-logo { margin:0; }
.hero-badge {
  width:clamp(82px,15vw,140px); height:auto; flex:none;
  filter:drop-shadow(0 8px 22px rgba(0,0,0,0.4));
  animation:fadeUp 1.2s 0.35s ease both;
}
.hero-badge-left { transform:rotate(-7deg); }
.hero-badge-right { transform:rotate(7deg); }
.menu-category-block { margin-bottom:2.5rem; }
.menu-category-title {
  font-family:'Playfair Display',serif; font-style:italic; font-weight:400;
  font-size:1.6rem; color:var(--gold); text-align:center; margin-bottom:1.2rem;
}
.menu-intro {
  max-width:700px; margin:0 auto 3rem; text-align:center;
  font-family:'Cormorant Garamond',serif; font-size:1.08rem; font-style:italic; font-weight:400;
  line-height:1.75; color:var(--crust-mid);
  text-wrap:pretty; hyphens:auto;
}
@media(max-width:700px){
  .hero-logo { width:clamp(220px,68vw,300px); }
  .hero-badge { width:clamp(60px,17vw,92px); }
}

/* ── PAYMENT OPTIONS ── */
.payment-options { display:flex; gap:1rem; flex-wrap:wrap; }
.payment-option {
  flex:1; min-width:120px; cursor:pointer;
  border:1px solid rgba(201,134,42,0.4); border-radius:10px;
  padding:1rem 1.2rem; display:flex; align-items:center; gap:0.6rem;
  font-size:1.05rem; color:var(--crust); background:var(--warm-white);
  transition:all 0.25s ease;
}
.payment-option input { accent-color:var(--gold); width:1.1rem; height:1.1rem; }
.payment-option:hover { border-color:var(--gold); background:var(--cream); }
.payment-option:has(input:checked) {
  border-color:var(--gold); background:var(--cream);
  box-shadow:0 0 0 1px var(--gold) inset;
}
.payment-note { margin-top:1rem; font-size:0.95rem; font-style:italic; color:var(--crust-mid); }
.payment-note a { color:var(--gold); font-weight:600; text-decoration:underline; }
.payment-note a:hover { color:var(--gold-light); }
.venmo-pay-btn {
  display:inline-block; margin-top:1.8rem; padding:0.85rem 2.2rem;
  background:var(--gold); color:var(--crust); text-decoration:none;
  font-family:'Cormorant Garamond',serif; font-size:1rem;
  letter-spacing:0.12em; text-transform:uppercase; border:1px solid var(--gold);
  transition:all 0.3s;
}
.venmo-pay-btn:hover { background:var(--gold-light); border-color:var(--gold-light); }
