/*
Theme Name: Aleppo Castle v1.4
Theme URI: https://aleppocastle.ca/
Author: MK Design Studio
Description: Custom WordPress theme for Aleppo Castle restaurant in Peterborough, Ontario.
Version: 1.4.3
Text Domain: aleppo-castle
*/


:root{
  --black:#070707;
  --gold:#d69a2b;
  --gold2:#f0c36e;
  --cream:#f7f3ec;
  --ink:#171717;
  --muted:#6e675e;
  --shell:1200px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;background:#070707;color:#fff}
a{text-decoration:none;color:inherit}
img{display:block;max-width:100%}
.shell{width:min(var(--shell),calc(100% - 40px));margin:auto}

.site-header{position:sticky;top:0;z-index:100;background:#080808;border-bottom:1px solid rgba(214,154,43,.25)}
.nav{height:88px;display:flex;align-items:center;gap:28px}
.brand{display:flex;align-items:center;gap:14px;white-space:nowrap}
.brand img{width:62px;height:62px;border-radius:50%;object-fit:cover}
.brand span{font-family:Georgia,serif;font-weight:700;font-size:1.5rem}
.nav-links{display:flex;gap:34px;margin-left:auto;font-size:.86rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}
.nav-links a:hover{color:var(--gold)}
.menu-toggle{display:none}
.btn{display:inline-flex;min-height:48px;padding:0 22px;align-items:center;justify-content:center;border-radius:6px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;font-size:.72rem}
.btn-gold{background:var(--gold);color:#110b03}
.btn-outline{border:1px solid var(--gold);color:var(--gold)}
.order-top{margin-left:10px}

.hero{min-height:650px;display:flex;align-items:center;background:linear-gradient(115deg,#050505 0%,#0b0907 62%,#171006 100%)}
.hero-inner{padding:90px 0}
.hero-copy{max-width:900px}
.eyebrow{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--gold);font-weight:800;margin-bottom:12px}
h1,h2{font-family:Georgia,serif;line-height:1.04;margin:0 0 20px}
h1{font-size:clamp(3.8rem,6.5vw,6.8rem)}
h1 span{color:var(--gold2)}
h2{font-size:clamp(2.4rem,4vw,4.2rem)}
.hero p{max-width:700px;font-size:1.1rem;line-height:1.7;color:#ded8cf}
.hero-actions{display:flex;gap:14px;margin-top:30px;flex-wrap:wrap}


.about-section{
  background:#0b0b0b;
  color:#fff;
  padding:90px 0;
  border-top:1px solid rgba(214,154,43,.18);
  border-bottom:1px solid rgba(214,154,43,.18);
}
.about-grid{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:56px;
  align-items:center;
}
.about-photo-wrap{
  position:relative;
  border:1px solid rgba(214,154,43,.42);
  border-radius:18px;
  overflow:hidden;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}
.about-photo-wrap::after{
  content:"";
  position:absolute;
  inset:0;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.03);
  pointer-events:none;
}
.about-photo-wrap img,
.about-photo-wrap video{
  display:block;
  width:100%;
  aspect-ratio:4/3;
  object-fit:cover;
  object-position:center;
}
.about-photo-wrap video{
  background:#000;
}
.about-copy h2{
  max-width:620px;
}
.about-copy p{
  color:#d2ccc3;
  font-size:1.02rem;
  line-height:1.75;
  max-width:660px;
}
.about-copy strong{
  color:#fff;
}
.feedback-copy{
  max-width:720px;
  color:#5f584f;
}

.menu-section{background:#fff;color:var(--ink);padding:90px 0}
.section-title{text-align:center;margin-bottom:45px}
.section-title.light{color:#fff}
.section-title h2{margin-bottom:0}
.slider-section{padding:30px 0 38px;border-top:1px solid #eee5d8}
.slider-section:first-of-type{border-top:0}
.slider-head{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}
.slider-head h3{margin:0;font-size:clamp(1.5rem,2.4vw,2.1rem)}
.arrows{display:flex;gap:8px}
.arrow{width:42px;height:42px;border-radius:50%;border:1px solid #dbc7a5;background:#fff;cursor:pointer;font-size:1.1rem}
.arrow:hover{background:var(--gold);border-color:var(--gold)}

.card-track{
  display:flex;
  gap:20px;
  overflow-x:auto;
  scroll-behavior:smooth;
  scroll-snap-type:x mandatory;
  scrollbar-width:none;
  padding:2px 2px 12px;
}
.card-track::-webkit-scrollbar{display:none}
.food-card{
  flex:0 0 calc((100% - 60px)/4);
  min-width:calc((100% - 60px)/4);
  scroll-snap-align:start;
  border:1px solid #e7ded0;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  box-shadow:0 10px 28px rgba(17,17,17,.06);
}
.food-image{
  height:210px;
  display:flex;
  align-items:flex-end;
  padding:18px;
  background:radial-gradient(circle at 72% 28%,rgba(222,166,70,.42),transparent 27%),linear-gradient(135deg,#2d1809,#8a4f12);
}
.food-image span{background:#050505;color:#fff;font-size:.72rem;font-weight:800;padding:6px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.07em}
.alt1,.salad2,.sand2,.side2,.special2{background:linear-gradient(135deg,#26180c,#b56f20)}
.alt2,.salad3,.sand3,.side3,.special3{background:linear-gradient(135deg,#1c160d,#79531e)}
.alt3,.salad4,.sand4,.side4{background:linear-gradient(135deg,#3b210f,#9a621c)}
.alt4,.sand5,.side5{background:linear-gradient(135deg,#261509,#6b3d12)}
.salad1{background:linear-gradient(135deg,#193015,#728a28)}
.sand1{background:linear-gradient(135deg,#2a160c,#9d5c20)}
.sand6{background:linear-gradient(135deg,#432811,#a97429)}
.sand7{background:linear-gradient(135deg,#2f1c0c,#8d5b24)}
.side1{background:linear-gradient(135deg,#51401d,#b49a58)}
.special1{background:linear-gradient(135deg,#4b2a10,#a16b29)}
.food-info{padding:18px 20px 22px}
.row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.row h4{margin:0;font-size:1.02rem;line-height:1.25}
.row b{color:#b9780c;font-size:.9rem;text-align:right}
.food-info p{margin:14px 0 0;color:#625b53;font-size:.92rem;line-height:1.55}


.catering-break{
  position:relative;
  overflow:hidden;
  padding:76px 0;
  background:
    radial-gradient(circle at 88% 50%,rgba(214,154,43,.18),transparent 30%),
    linear-gradient(105deg,#080808 0%,#120d07 100%);
  border-top:1px solid rgba(214,154,43,.3);
  border-bottom:1px solid rgba(214,154,43,.3);
}
.catering-break::after{
  content:"";
  position:absolute;
  width:330px;
  height:330px;
  right:-110px;
  top:50%;
  transform:translateY(-50%);
  border:1px solid rgba(214,154,43,.16);
  border-radius:50%;
}
.catering-inner{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:60px;
  align-items:center;
}
.catering-copy{max-width:790px}
.catering-copy h2{font-size:clamp(2.8rem,5vw,5.2rem);margin-bottom:18px}
.catering-copy p{color:#d8d0c6;font-size:1.05rem;line-height:1.7;margin:0 0 10px}
.catering-note{color:#bdb3a6!important}
.catering-actions{display:flex;flex-direction:column;gap:12px;min-width:205px}

.gallery{padding:90px 0;background:linear-gradient(180deg,#0b0b0b,#131313)}
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gallery-grid img{width:100%;aspect-ratio:4/5;object-fit:cover;display:block;border-radius:0}
.gallery-box{aspect-ratio:4/5;border:1px solid rgba(214,154,43,.3);background:linear-gradient(145deg,#1d130b,#0d0d0d 60%,#513313);display:flex;align-items:flex-end;padding:18px;color:#ddb978;text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}

.contact{background:#fff;color:var(--ink);padding:90px 0}
.contact-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center}
.contact p{font-size:1.05rem;line-height:1.7}
.contact-card{background:#0d0d0d;color:#fff;border-left:4px solid var(--gold);padding:32px;border-radius:16px}
.contact-card p{color:#d0c9bf}

footer{background:#050505;border-top:1px solid rgba(214,154,43,.25);padding:26px 0}
.footer-inner{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#bfb7ad}
.footer-brand img{width:48px;height:48px}
.footer-brand span{font-size:1.05rem}

@media(max-width:980px){
  .catering-inner{grid-template-columns:1fr;gap:28px}
  .catering-actions{flex-direction:row;flex-wrap:wrap}
  .about-grid{grid-template-columns:1fr;gap:34px}
  .food-card{flex-basis:calc((100% - 20px)/2);min-width:calc((100% - 20px)/2)}
  .gallery-grid{grid-template-columns:repeat(2,1fr)}
  .nav-links{position:absolute;left:0;right:0;top:88px;background:#080808;padding:22px;display:none;flex-direction:column;margin:0}
  .nav-links.open{display:flex}
  .menu-toggle{display:block;margin-left:auto;background:none;border:1px solid #444;color:#fff;padding:8px 12px;border-radius:7px}
  .order-top{display:none}
}
@media(max-width:640px){
  .shell{width:min(var(--shell),calc(100% - 28px))}
  .nav{height:74px}
  .brand img{width:50px;height:50px}
  .brand span{font-size:1.12rem}
  .nav-links{top:74px}
  .hero{min-height:auto}
  .hero-inner{padding:70px 0}
  h1{font-size:3.1rem}
  .menu-section,.gallery,.contact{padding:68px 0}
  .food-card{flex-basis:86%;min-width:86%}
  .arrows{display:none}
  .food-image{height:185px}
  .gallery-grid{grid-template-columns:1fr}
  .contact-grid{grid-template-columns:1fr}
  .footer-inner{flex-direction:column;align-items:flex-start}
}


.contact-grid-map{
  grid-template-columns:minmax(0,.9fr) minmax(420px,1.1fr);
  gap:48px;
  align-items:stretch;
}
.contact-copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}
.contact-details{
  margin:22px 0 26px;
}
.contact-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}
.map-card{
  min-height:460px;
  border:1px solid rgba(214,154,43,.42);
  border-radius:18px;
  overflow:hidden;
  background:#111;
  box-shadow:0 24px 70px rgba(0,0,0,.2);
}
.map-card iframe{
  display:block;
  width:100%;
  height:100%;
  min-height:460px;
  border:0;
}

@media(max-width:980px){
  .contact-grid-map{grid-template-columns:1fr;gap:28px}
  .map-card,.map-card iframe{min-height:380px}
}
@media(max-width:640px){
  .contact-actions{flex-direction:column}
  .contact-actions .btn{width:100%;text-align:center}
  .map-card,.map-card iframe{min-height:330px}
}


.card-order-actions{
  display:flex;
  gap:9px;
  flex-wrap:wrap;
  margin-top:16px;
}
.card-order-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:40px;
  padding:10px 13px;
  border-radius:999px;
  border:1px solid #d69a2b;
  background:#d69a2b;
  color:#0b0b0b;
  text-decoration:none;
  text-transform:uppercase;
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.04em;
  transition:transform .18s ease,background .18s ease,color .18s ease;
}
.card-order-btn:hover{
  transform:translateY(-1px);
  background:#e1aa43;
}
.card-order-btn-secondary{
  background:transparent;
  color:#d69a2b;
}
.card-order-btn-secondary:hover{
  background:rgba(214,154,43,.1);
  color:#e1aa43;
}
@media(max-width:640px){
  .card-order-actions{flex-direction:column}
  .card-order-btn{width:100%}
}


/* v8: align menu card CTA buttons consistently */
.food-card{
  display:flex;
  flex-direction:column;
  height:auto;
}
.food-card .card-body{
  display:flex;
  flex-direction:column;
  flex:1 1 auto;
}
.food-card .card-order-actions{
  margin-top:auto;
  padding-top:18px;
  width:100%;
}
.food-card .card-order-btn{
  width:100%;
  min-height:42px;
  box-sizing:border-box;
  margin:0;
}

/* Desktop/tablet cards need equal visible heights so CTA baselines match. */
@media(min-width:641px){
  .food-card{
    align-self:stretch;
    height:100%;
  }
  .card-track{
    align-items:stretch;
  }
}

/* On mobile the CTA stays inside the card and spans its full content width. */
@media(max-width:640px){
  .food-card .card-order-actions{
    margin-top:auto;
    padding-top:16px;
  }
  .food-card .card-order-btn{
    width:100%;
    flex:0 0 auto;
  }
}


/* v9: desktop-only equal card heights / aligned CTA baseline */
@media(min-width:981px){
  .menu-section .card-track{
    align-items:stretch;
  }

  .menu-section .food-card{
    height:390px;
    min-height:390px;
    display:flex;
    flex-direction:column;
  }

  .menu-section .food-card .food-visual{
    flex:0 0 180px;
  }

  .menu-section .food-card .card-body{
    flex:1 1 auto;
    display:flex;
    flex-direction:column;
    min-height:0;
  }

  .menu-section .food-card .card-order-actions{
    margin-top:auto;
    padding-top:14px;
    flex:0 0 auto;
  }

  .menu-section .food-card .card-order-btn{
    width:100%;
  }
}


/* v10: Order Online CTA on every menu item */
.menu-section .food-card .card-order-actions{
  margin-top:auto;
  padding-top:16px;
  width:100%;
}
.menu-section .food-card .card-order-btn{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:center;
  box-sizing:border-box;
}

/* Keep desktop CTA baselines aligned across all menu categories. */
@media(min-width:981px){
  .menu-section .food-card{
    height:390px;
    min-height:390px;
  }
}

/* Preserve the mobile behavior that was already working. */
@media(max-width:640px){
  .menu-section .food-card .card-order-btn{
    width:100%;
  }
}


/* Delivery news-style ticker */
.delivery-ticker{
  width:100%;
  overflow:hidden;
  background:#c9a24a;
  color:#111;
  border-top:1px solid rgba(0,0,0,.2);
  border-bottom:1px solid rgba(0,0,0,.25);
  white-space:nowrap;
}
.delivery-ticker-track{
  display:flex;
  width:max-content;
  animation:deliveryTicker 24s linear infinite;
  will-change:transform;
}
.delivery-ticker-track span{
  display:block;
  flex:none;
  padding:11px 0;
  font-size:14px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.delivery-ticker a{
  color:inherit;
  text-decoration:underline;
  text-underline-offset:2px;
}
.delivery-ticker:hover .delivery-ticker-track{ animation-play-state:paused; }
@keyframes deliveryTicker{
  from{ transform:translateX(-50%); }
  to{ transform:translateX(0); }
}
@media(max-width:640px){
  .delivery-ticker-track{ animation-duration:19s; }
  .delivery-ticker-track span{ font-size:12px; padding:9px 0; }
}
@media(prefers-reduced-motion:reduce){
  .delivery-ticker-track{ animation:none; }
}


/* v14 — real Aleppo Castle food photo in hero */
.hero-photo-bg{
  position:relative;
  isolation:isolate;
  background:
    linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.68) 36%, rgba(0,0,0,.34) 64%, rgba(0,0,0,.22) 100%),
    url("assets/hero-food.webp") center center / cover no-repeat !important;
  overflow:hidden;
}
.hero-photo-bg::after{
  content:"";
  position:absolute;
  inset:0;
  z-index:-1;
  pointer-events:none;
  background:linear-gradient(180deg, rgba(0,0,0,.14) 0%, rgba(0,0,0,.06) 48%, rgba(0,0,0,.32) 100%);
}
.hero-photo-bg > *{
  position:relative;
  z-index:1;
}
@media(max-width:700px){
  .hero-photo-bg{
    background:
      linear-gradient(180deg, rgba(0,0,0,.72) 0%, rgba(0,0,0,.66) 55%, rgba(0,0,0,.78) 100%),
      url("assets/hero-food.webp") 62% center / cover no-repeat !important;
  }
}

/* v15: slightly smaller hero headline + 10% black panel */
.hero-copy .hero-title-panel{
  font-size:clamp(2.75rem,5.35vw,5.5rem) !important;
  display:inline-block;
  width:fit-content;
  max-width:100%;
  padding:.10em .18em .14em;
  background:rgba(0,0,0,.10);
}
@media(max-width:700px){
  .hero-copy .hero-title-panel{
    font-size:clamp(2.15rem,10.5vw,3.5rem) !important;
  }
}

/* v17 — minimal castle-window menu image frames */
.food-card{
  border:0;
  border-radius:0;
  overflow:visible;
  box-shadow:none;
  background:transparent;
}
.food-image{
  position:relative;
  height:235px;
  margin:0 12px;
  padding:18px;
  overflow:hidden;
  border:1.5px solid var(--gold);
  border-radius:50% 50% 0 0 / 29% 29% 0 0;
  box-shadow:none;
}
.food-image span{
  position:relative;
  z-index:1;
}
.food-info{
  padding:18px 14px 22px;
}

@media(max-width:640px){
  .food-image{
    height:220px;
    margin:0 8px;
    border-width:1.5px;
  }
}

.food-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}


/* v21 — discreet Clover ordering disclosure */
.clover-note{
  margin-top:10px;
  font-size:.78rem;
  line-height:1.4;
  letter-spacing:.02em;
  color:rgba(255,255,255,.58);
}
.footer-meta{
  text-align:right;
}
.footer-clover-note{
  margin-top:5px;
  font-size:.72rem;
  color:rgba(191,183,173,.65);
}
@media(max-width:640px){
  .footer-meta{text-align:left;}
  .clover-note{font-size:.74rem;}
}


/* v22 — full-screen menu photo lightbox */
.food-image.has-photo{
  cursor:zoom-in;
}
.food-image.has-photo:focus-visible{
  outline:2px solid var(--gold);
  outline-offset:4px;
}
body.lightbox-open{
  overflow:hidden;
}
.menu-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:clamp(18px,4vw,56px);
  background:rgba(0,0,0,.92);
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .22s ease, visibility .22s ease;
}
.menu-lightbox.is-open{
  opacity:1;
  visibility:visible;
  pointer-events:auto;
}
.menu-lightbox-image{
  display:block;
  max-width:min(92vw,1200px);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:4px;
  box-shadow:0 22px 70px rgba(0,0,0,.55);
  transform:scale(.985);
  transition:transform .22s ease;
}
.menu-lightbox.is-open .menu-lightbox-image{
  transform:scale(1);
}
.menu-lightbox-close{
  position:absolute;
  top:max(18px,env(safe-area-inset-top));
  right:max(20px,env(safe-area-inset-right));
  width:46px;
  height:46px;
  border:1px solid rgba(201,162,74,.7);
  border-radius:50%;
  background:rgba(8,8,8,.72);
  color:#fff;
  font:300 2rem/1 Arial,sans-serif;
  cursor:pointer;
  display:grid;
  place-items:center;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}
.menu-lightbox-close:hover{
  background:#111;
  border-color:var(--gold);
  transform:scale(1.04);
}
@media(max-width:640px){
  .menu-lightbox{padding:16px;}
  .menu-lightbox-image{max-width:100%;max-height:82vh;}
  .menu-lightbox-close{width:42px;height:42px;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));}
}
@media(prefers-reduced-motion:reduce){
  .menu-lightbox,.menu-lightbox-image,.menu-lightbox-close{transition:none;}
}

.meal-drink-promo{width:min(620px,calc(100% - 32px));margin:16px auto 26px;padding:13px 18px;border:2px solid var(--gold);text-align:center;background:var(--gold);box-shadow:0 10px 28px rgba(0,0,0,.12)}
.meal-drink-promo strong{display:block;color:#111;font-size:clamp(.92rem,1.5vw,1.18rem);font-weight:900;letter-spacing:.10em;line-height:1.15}
.meal-drink-promo span{display:block;margin-top:8px;color:#2b241a;font-size:clamp(.72rem,1vw,.82rem);font-weight:600;line-height:1.45}
@media(max-width:640px){.meal-drink-promo{margin:12px auto 22px;padding:12px 12px}.meal-drink-promo strong{font-size:.88rem;letter-spacing:.06em}.meal-drink-promo span{font-size:.72rem}}

/* Free drink offer — ornamental Aleppo corners */
.meal-drink-promo{
  position:relative;
  width:min(620px,calc(100% - 32px));
  margin:18px auto 30px;
  padding:28px 72px;
  border:0;
  background:transparent;
  box-shadow:none;
  overflow:hidden;
}
.meal-drink-promo::before,
.meal-drink-promo::after{
  content:"";
  position:absolute;
  width:92px;
  height:92px;
  background:url("assets/aleppo-corner.webp") center/contain no-repeat;
  pointer-events:none;
}
.meal-drink-promo::before{
  top:0;
  left:0;
  transform:rotate(180deg);
}
.meal-drink-promo::after{
  right:0;
  bottom:0;
}
.meal-drink-promo strong{
  position:relative;
  z-index:1;
  color:#17130d;
  font-size:clamp(.92rem,1.5vw,1.18rem);
  font-weight:900;
  letter-spacing:.10em;
  line-height:1.2;
}
.meal-drink-promo span{
  position:relative;
  z-index:1;
  display:block;
  margin-top:7px;
  color:#51483b;
  font-size:clamp(.72rem,1vw,.82rem);
  font-weight:600;
}
@media(max-width:640px){
  .meal-drink-promo{width:calc(100% - 24px);margin:14px auto 24px;padding:24px 48px}
  .meal-drink-promo::before,.meal-drink-promo::after{width:66px;height:66px}
  .meal-drink-promo strong{font-size:.88rem;letter-spacing:.06em}
  .meal-drink-promo span{font-size:.72rem}
}

/* Menu photos — Instagram-style 4:5 portrait rectangles */
.food-image{
  height:auto !important;
  aspect-ratio:4 / 5;
  margin:0 12px;
  padding:18px;
  overflow:hidden;
  border:1.5px solid var(--gold);
  border-radius:8px !important;
  box-shadow:none;
}
.food-image img{
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
@media(max-width:640px){
  .food-image{
    height:auto !important;
    aspect-ratio:4 / 5;
    margin:0 8px;
    border-radius:7px !important;
  }
}

/* Menu photo frame adjustment — 1080 × 1380 ratio */
.food-image{
  aspect-ratio:18 / 23 !important;
}
@media(max-width:640px){
  .food-image{
    aspect-ratio:18 / 23 !important;
  }
}

/* Photo proportions:
   Desktop/tablet = 4:5
   Mobile only = 1080×1380 (18:23)
*/
.food-image{
  aspect-ratio:4 / 5 !important;
}
@media(max-width:640px){
  .food-image{
    aspect-ratio:18 / 23 !important;
  }
}

/* Combo contents note */
.combo-includes{
  margin-top:8px;
  font-size:.82rem;
  line-height:1.4;
  font-weight:700;
  opacity:.82;
}

.menu-heading-with-note{display:flex;align-items:baseline;flex-wrap:wrap;gap:10px}
.menu-heading-with-note h3{margin:0}
.combo-heading-note{font-size:.78rem;font-weight:700;letter-spacing:.02em;opacity:.78;text-transform:none}

/* Mobile fix — keep the Aleppo ornamental corners decorative, not intrusive */
@media (max-width:640px){
  .meal-drink-promo{
    width:calc(100% - 40px) !important;
    max-width:330px;
    margin:16px auto 26px !important;
    padding:24px 42px !important;
    min-height:118px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    text-align:center;
    overflow:visible;
  }

  .meal-drink-promo::before,
  .meal-drink-promo::after{
    width:54px !important;
    height:54px !important;
    background-size:contain !important;
    opacity:.82;
  }

  .meal-drink-promo::before{
    top:2px !important;
    left:2px !important;
  }

  .meal-drink-promo::after{
    right:2px !important;
    bottom:2px !important;
  }

  .meal-drink-promo strong{
    max-width:190px;
    font-size:.83rem !important;
    line-height:1.22;
    letter-spacing:.055em !important;
  }

  .meal-drink-promo span{
    max-width:190px;
    margin-top:7px;
    font-size:.69rem !important;
    line-height:1.35;
  }
}

/* v1.1 mobile ornamental-corner correction */
@media (max-width:640px){
  .meal-drink-promo{
    position:relative !important;
    width:calc(100% - 36px) !important;
    max-width:300px !important;
    min-height:104px !important;
    margin:14px auto 24px !important;
    padding:22px 46px !important;
    background:transparent !important;
    border:0 !important;
    box-shadow:none !important;
    overflow:hidden !important;
    display:flex !important;
    flex-direction:column !important;
    justify-content:center !important;
    align-items:center !important;
    text-align:center !important;
  }

  .meal-drink-promo::before,
  .meal-drink-promo::after{
    content:"" !important;
    position:absolute !important;
    width:40px !important;
    height:47px !important;
    background-image:url("assets/aleppo-corner.webp") !important;
    background-repeat:no-repeat !important;
    background-position:center !important;
    background-size:contain !important;
    opacity:.72 !important;
    pointer-events:none !important;
    z-index:0 !important;
  }

  .meal-drink-promo::before{
    top:-2px !important;
    left:-2px !important;
    transform:rotate(180deg) !important;
  }

  .meal-drink-promo::after{
    right:-2px !important;
    bottom:-2px !important;
    transform:none !important;
  }

  .meal-drink-promo strong,
  .meal-drink-promo span{
    position:relative !important;
    z-index:2 !important;
    max-width:175px !important;
  }

  .meal-drink-promo strong{
    font-size:.80rem !important;
    line-height:1.18 !important;
    letter-spacing:.045em !important;
  }

  .meal-drink-promo span{
    margin-top:6px !important;
    font-size:.67rem !important;
    line-height:1.3 !important;
  }
}

/* Preserve the standard menu-photo shape for items awaiting photography. */
.food-image.empty-image-frame{
  display:block;
  width:100%;
  background:transparent;
}


/* v1.14 — Uniform menu image geometry */
.menu-section .food-image {
  width: 100%;
  aspect-ratio: 4 / 3;
  height: auto;
  overflow: hidden;
  box-sizing: border-box;
  border-radius: 12px;
}

.menu-section .food-image img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.menu-section .food-image.empty-image-frame {
  width: 100%;
  aspect-ratio: 4 / 3;
  height: auto;
  box-sizing: border-box;
}

/* Brief welcome, once per tab session. Hidden unless JavaScript enables it. */
.castle-intro {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 10000;
  pointer-events: none;
  background: radial-gradient(ellipse at 50% 42%, #2b2111 0%, #100e0a 38%, #070707 74%);
  color: #f7f3ec;
}
.castle-intro.is-playing {
  display: grid;
  place-items: center;
  animation: castle-intro-exit .55s 1.25s ease-in-out forwards;
}
.castle-intro-content {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: min(100% - 40px, 540px);
  text-align: center;
  animation: castle-intro-enter .7s cubic-bezier(.2,.7,.2,1) both;
}
.castle-intro-logo {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  object-fit: cover;
  box-shadow: 0 0 0 1px #d69a2b55, 0 0 60px #d69a2b18;
  margin-bottom: 28px;
}
.castle-intro-eyebrow {
  color: #f0c36e;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .35em;
  margin-bottom: 13px;
}
.castle-intro-name {
  font-family: Georgia, 'Times New Roman', serif;
  font-size: clamp(36px, 6vw, 56px);
  line-height: 1.12;
  letter-spacing: -.025em;
}
.castle-intro-rule {
  width: 56px;
  height: 1px;
  background: #d69a2b;
  margin: 24px 0 18px;
  animation: castle-intro-line .8s .2s ease both;
}
.castle-intro-tagline {
  color: #d5c8b2;
  font-size: clamp(12px, 3.3vw, 15px);
  line-height: 1.6;
  letter-spacing: .025em;
}
@keyframes castle-intro-enter {
  from { opacity: 0; transform: translateY(12px); }
  to { opacity: 1; transform: translateY(0); }
}
@keyframes castle-intro-line {
  from { transform: scaleX(0); }
  to { transform: scaleX(1); }
}
@keyframes castle-intro-exit {
  from { opacity: 1; }
  to { opacity: 0; visibility: hidden; }
}
@media (prefers-reduced-motion: reduce) {
  .castle-intro, .castle-intro.is-playing { display: none; animation: none; }
}
