:root {
  --den:#1B120D; --den-soft:#241710; --ember:#D98B3F; --ember-soft:#E8B074;
  --rust:#A4462A; --parchment:#F5EAD9; --parchment-mid:#EDE0CB;
  --ink:#271709; --ink-soft:#5A4535; --mist:#C9B79C; --cream:#F4E9D8;
  --font-d:'Fraunces',serif; --font-b:'Work Sans',sans-serif;
}
*,*::before,*::after{margin:0;padding:0;box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{font-family:var(--font-b);background:var(--parchment);color:var(--ink);-webkit-font-smoothing:antialiased;overflow-x:hidden;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
ul{list-style:none;}
::selection{background:var(--ember);color:#fff;}

/* ── HERO ── */
.hero{
  min-height:100svh;display:flex;flex-direction:column;align-items:center;
  justify-content:center;text-align:center;padding:64px 24px 80px;
  position:relative;overflow:hidden;
}
.hero-bg{
  position:absolute;inset:0;
  background-image:url('images/CoverPhoto.jpg');
  background-size:cover;background-position:center;
}
.hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg,rgba(27,18,13,.55) 0%,rgba(27,18,13,.82) 55%,rgba(20,13,9,.97) 100%);
}
.hero::after{
  content:'';position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg,transparent,var(--ember),transparent);
}
.hero-content{position:relative;z-index:2;width:100%;max-width:600px;}
.logo-ring{position:relative;width:112px;height:112px;margin:0 auto 28px;}
.logo-ring::before{
  content:'';position:absolute;inset:-7px;border-radius:50%;
  border:1.5px solid rgba(217,139,63,.38);
  animation:ringPulse 3s ease-in-out infinite;
}
@keyframes ringPulse{0%,100%{transform:scale(1);opacity:.4;}50%{transform:scale(1.06);opacity:1;}}
@media(prefers-reduced-motion:reduce){.logo-ring::before{animation:none;opacity:.6;}}
.logo-ring img{width:100%;height:100%;border-radius:50%;object-fit:cover;border:2.5px solid var(--ember-soft);position:relative;z-index:1;}
.eyebrow{font-family:var(--font-b);text-transform:uppercase;letter-spacing:.2em;font-size:.68rem;font-weight:600;color:var(--ember-soft);margin-bottom:12px;}
.hero h1{font-family:var(--font-d);font-size:clamp(2.4rem,7vw,4rem);font-weight:600;color:var(--cream);line-height:1.08;margin-bottom:16px;letter-spacing:-.01em;}
.hero-tagline{color:var(--mist);font-size:clamp(.92rem,2vw,1.05rem);max-width:440px;margin:0 auto 36px;line-height:1.7;}
.cta-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}
.pill-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;}

/* buttons */
.btn{display:inline-flex;align-items:center;gap:8px;padding:13px 26px;border-radius:999px;font-family:var(--font-b);font-weight:600;font-size:.9rem;border:1.5px solid transparent;cursor:pointer;transition:transform .22s,box-shadow .22s,background .22s,border-color .22s;}
.btn-primary{background:var(--ember);color:var(--den);box-shadow:0 8px 22px rgba(217,139,63,.38);}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(217,139,63,.5);}
.btn-ghost{border-color:rgba(244,233,216,.28);color:var(--cream);}
.btn-ghost:hover{background:rgba(244,233,216,.07);transform:translateY(-2px);}
.btn-dark{background:var(--ember);color:var(--den);box-shadow:0 8px 22px rgba(217,139,63,.25);}
.btn-dark:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(217,139,63,.38);}
.btn-outline-dark{border:1.5px solid rgba(36,23,16,.25);color:var(--ink);}
.btn-outline-dark:hover{background:rgba(36,23,16,.05);transform:translateY(-2px);}

/* pills */
.pill{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:999px;background:rgba(244,233,216,.07);border:1px solid rgba(244,233,216,.16);color:var(--cream);font-size:.8rem;font-weight:500;transition:background .22s,border-color .22s;}
.pill:hover{background:rgba(217,139,63,.2);border-color:var(--ember);}
.pill i{font-size:.9rem;color:var(--ember-soft);}

.scroll-dot{position:absolute;bottom:24px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:5px;color:var(--mist);font-size:.67rem;letter-spacing:.12em;text-transform:uppercase;opacity:.5;z-index:2;}
.scroll-dot span{display:block;width:1px;height:32px;background:currentColor;}

/* ── SECTION COMMON ── */
.sec-label{font-size:.68rem;text-transform:uppercase;letter-spacing:.2em;font-weight:700;margin-bottom:10px;}
.sec-head{font-family:var(--font-d);font-size:clamp(1.7rem,3vw,2.3rem);margin-bottom:10px;line-height:1.18;}
.sec-sub{font-size:.97rem;max-width:480px;margin:0 auto 40px;line-height:1.75;}

/* ── ABOUT ── */
.about{background:#fff;padding:80px 24px;}
.about-inner{max-width:920px;margin:0 auto;display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.about-text .sec-label{color:var(--rust);}
.about-text .sec-head{color:var(--ink);}
.about-text p{color:var(--ink-soft);font-size:1rem;line-height:1.82;margin-bottom:14px;}
.tag-wrap{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;}
.tag{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border-radius:999px;background:var(--parchment);color:var(--ink);font-size:.8rem;font-weight:600;border:1px solid var(--parchment-mid);}
.tag i{color:var(--rust);}

/* stacked collage */
.collage{position:relative;height:360px;}
.collage img{position:absolute;border-radius:12px;object-fit:cover;}
.c-a{width:64%;height:62%;top:0;left:0;box-shadow:0 14px 32px rgba(36,23,16,.14);}
.c-b{width:52%;height:52%;bottom:0;right:0;box-shadow:0 14px 32px rgba(36,23,16,.14);}
.c-c{width:36%;height:36%;top:34%;left:42%;border:4px solid #fff;border-radius:10px;box-shadow:0 8px 22px rgba(36,23,16,.18);}
@media(max-width:700px){.about-inner{grid-template-columns:1fr;gap:32px;}.collage{height:260px;}}

/* ── AMBIENCE STRIP ── */
.ambience-strip{background:var(--den);padding:80px 24px;text-align:center;}
.ambience-strip .sec-label{color:var(--ember-soft);}
.ambience-strip .sec-head{color:var(--cream);}
.ambience-strip .sec-sub{color:var(--mist);}
.amb-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:10px;
  max-width:1000px;
  margin:0 auto;
}
.amb-grid img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;transition:transform .4s ease;cursor:pointer;}
.amb-grid img:hover{transform:scale(1.04);}
.amb-grid img:first-child{grid-column:span 2;grid-row:span 2;aspect-ratio:auto;height:100%;}
@media(max-width:640px){.amb-grid{grid-template-columns:repeat(2,1fr);}.amb-grid img:first-child{grid-column:span 2;grid-row:span 1;aspect-ratio:16/9;height:auto;}}

/* ── MENU PHOTO STRIPS ── */
.menu-photo{background:var(--parchment);padding:80px 24px;}
.menu-photo-inner{max-width:1000px;margin:0 auto;}
.menu-photo .sec-label{color:var(--rust);}
.menu-photo .sec-head{color:var(--ink);text-align:center;}
.menu-photo .sec-sub{color:var(--ink-soft);text-align:center;}
.cat-block{margin-bottom:52px;}
.cat-block:last-child{margin-bottom:0;}
.cat-title{font-family:var(--font-d);font-size:1.25rem;color:var(--ink);margin-bottom:16px;display:flex;align-items:center;gap:10px;}
.cat-title i{color:var(--rust);font-size:1rem;}
.photo-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;}
.photo-row img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:10px;transition:transform .35s ease;cursor:pointer;}
.photo-row img:hover{transform:scale(1.05);}

/* ── MENU TILES ── */
.menu-tiles-sec{background:var(--den);padding:80px 24px;text-align:center;}
.menu-tiles-sec .sec-label{color:var(--ember-soft);}
.menu-tiles-sec .sec-head{color:var(--cream);}
.menu-tiles-sec .sec-sub{color:var(--mist);}
.menu-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:14px;max-width:780px;margin:0 auto;}
.menu-tile{background:rgba(244,233,216,.05);border:1px solid rgba(244,233,216,.1);border-radius:14px;padding:26px 14px 20px;display:flex;flex-direction:column;align-items:center;gap:12px;transition:background .25s,border-color .25s,transform .25s;}
.menu-tile:hover{background:rgba(217,139,63,.1);border-color:rgba(217,139,63,.4);transform:translateY(-4px);}
.menu-tile i{font-size:1.55rem;color:var(--ember-soft);}
.menu-tile span{font-size:.82rem;font-weight:600;color:var(--cream);letter-spacing:.02em;}

/* ── REVIEWS ── */
.reviews-sec{background:#fff;padding:80px 24px;text-align:center;}
.reviews-sec .sec-label{color:var(--rust);}
.reviews-sec .sec-head{color:var(--ink);}
.reviews-sec .sec-sub{color:var(--ink-soft);}
.rating-img{max-width:520px;width:100%;margin:0 auto 32px;border-radius:14px;box-shadow:0 12px 30px rgba(36,23,16,.1);}
.reviews-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}

/* ── ORDER ── */
.order-sec{background:var(--parchment);padding:80px 24px;text-align:center;}
.order-sec .sec-label{color:var(--rust);}
.order-sec .sec-head{color:var(--ink);}
.order-sec .sec-sub{color:var(--ink-soft);}
.order-cards{display:flex;gap:20px;justify-content:center;flex-wrap:wrap;margin-top:0;}
.o-card{background:#fff;border:1px solid var(--parchment-mid);border-radius:18px;padding:32px 28px;min-width:200px;display:flex;flex-direction:column;align-items:center;gap:14px;transition:transform .25s,box-shadow .25s;box-shadow:0 6px 20px rgba(36,23,16,.07);}
.o-card:hover{transform:translateY(-5px);box-shadow:0 14px 36px rgba(36,23,16,.14);}
.o-card img{max-width:150px;max-height:80px;object-fit:contain;}
.o-link{font-size:.85rem;font-weight:700;color:var(--rust);display:flex;align-items:center;gap:6px;}
.o-link i{font-size:.75rem;}

/* ── CONTACT ── */
.contact-sec{background:var(--den);padding:0;color:var(--cream);overflow:hidden;}

/* amber top rule */
.contact-sec::before{content:'';display:block;height:3px;background:linear-gradient(90deg,transparent,var(--ember),transparent);}

/* inner panel */
.contact-panel{max-width:1000px;margin:0 auto;padding:56px 24px 72px;display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:start;}
@media(max-width:740px){.contact-panel{grid-template-columns:1fr;gap:36px;padding:40px 20px 56px;}}

/* left: info */
.contact-info-col .sec-label{color:var(--ember-soft);display:block;margin-bottom:8px;}
.contact-info-col h2{font-family:var(--font-d);font-size:clamp(1.9rem,4vw,2.6rem);color:var(--cream);line-height:1.1;margin-bottom:6px;}
.contact-tagline{color:var(--mist);font-size:.97rem;line-height:1.7;margin-bottom:28px;max-width:340px;}

.info-list{display:flex;flex-direction:column;gap:0;}
.info-item{display:flex;align-items:flex-start;gap:14px;padding:14px 0;border-bottom:1px solid rgba(244,233,216,.09);}
.info-item:last-child{border-bottom:none;}
.info-icon{width:36px;height:36px;border-radius:10px;background:rgba(217,139,63,.15);border:1px solid rgba(217,139,63,.22);display:flex;align-items:center;justify-content:center;flex-shrink:0;margin-top:1px;}
.info-icon i{color:var(--ember);font-size:.9rem;}
.info-text{display:flex;flex-direction:column;gap:2px;}
.info-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.15em;font-weight:700;color:var(--mist);}
.info-value{font-size:.97rem;color:var(--cream);line-height:1.55;}
.info-value a{color:var(--cream);font-weight:600;transition:color .2s;}
.info-value a:hover{color:var(--ember-soft);}
.info-value .del-link{color:var(--ember-soft);font-weight:600;font-size:.88rem;}
.info-value .del-link:hover{color:var(--cream);}

/* ── MAP (replaces the former action-buttons column) ── */
.map-frame{
  width:100%;
  height:100%;
}
.map-frame .map-box{
  position:relative;
  width:100%;
  height:520px;
  min-height:450px;
  max-height:600px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid rgba(244,233,216,.14);
  box-shadow:0 18px 44px rgba(0,0,0,.32);
}
.map-frame iframe{
  position:absolute;inset:0;
  width:100%;height:100%;
  border:0;display:block;
  filter:saturate(.75) brightness(.88);
}
@media(max-width:740px){
  .map-frame .map-box{height:450px;border-radius:14px;}
}

/* ── FOOTER ── */
 footer {
  background: #060F09;
  padding: 52px 5% 28px;
  text-align: center;
}
.footer-powered { display: flex; align-items: center; justify-content: center; gap: 10px; margin-bottom: 24px; flex-wrap: wrap; }
.footer-powered span { font-size: 0.7rem; color: rgba(255,255,255,0.35); text-transform: uppercase; letter-spacing: 0.12em; }
.footer-powered img { height: 38px; width: auto; object-fit: contain; vertical-align: middle; }
.footer-links { display: flex; justify-content: center; gap: 28px; margin-bottom: 28px; flex-wrap: wrap; }
.footer-links a { color: rgba(255,255,255,.45); text-decoration: none; font-size: 0.85rem; transition: color 0.2s; }
.footer-links a:hover { color: var(--sun); }
.footer-section-label { font-size: 0.68rem; color: rgba(255,255,255,0.35); text-transform: uppercase; letter-spacing: 0.12em; margin-bottom: 12px; }
.footer-social { display: flex; justify-content: center; gap: 10px; margin-bottom: 28px; flex-wrap: wrap; }
.footer-social a {
  width: 42px; height: 42px; border-radius: 50%;
  background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12);
  display: flex; align-items: center; justify-content: center;
  color: rgba(255,255,255,.65); font-size: 0.95rem; text-decoration: none;
  transition: background 0.2s, color 0.2s, transform 0.2s, border-color 0.2s;
}
.footer-social a:hover { transform: translateY(-3px); }
.footer-social a:nth-child(1):hover { background: #3b5999; border-color: #3b5999; color: #fff; }
.footer-social a:nth-child(2):hover { background: #1d9bf0; border-color: #1d9bf0; color: #fff; }
.footer-social a:nth-child(3):hover { background: #e4405f; border-color: #e4405f; color: #fff; }
.footer-social a:nth-child(4):hover { background: #ff0000; border-color: #ff0000; color: #fff; }
.footer-social a.wa-icon { background: rgba(37,211,102,0.15); border-color: rgba(37,211,102,0.3); color: #25D366; }
.footer-social a.wa-icon:hover { background: #25D366; border-color: #25D366; color: #fff; }
.footer-share-row { display: flex; justify-content: center; gap: 10px; margin-bottom: 32px; flex-wrap: wrap; }
.fsr-btn {
  width: 44px; height: 44px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-size: 1rem; text-decoration: none;
  transition: transform 0.2s, box-shadow 0.2s; cursor: pointer; border: none;
  box-shadow: 0 4px 12px rgba(0,0,0,0.25);
}
.fsr-btn:hover { transform: translateY(-3px) scale(1.08); box-shadow: 0 8px 20px rgba(0,0,0,0.35); }
.fsr-wa  { background: #25D366; }
.fsr-fb  { background: #3b5999; }
.fsr-tw  { background: #1d9bf0; }
.fsr-li  { background: #0077b5; }
.fsr-em  { background: #e8593f; }
.fsr-sm  { background: #4c53ef; }
.footer-bottom { font-size: 0.78rem; color: rgba(255,255,255,.28); border-top: 1px solid rgba(255,255,255,.07); padding-top: 20px; }


/* ── LIGHTBOX ── */
.lightbox{position:fixed;inset:0;background:rgba(12,8,5,.93);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s,visibility .3s;z-index:2000;padding:40px;}
.lightbox.open{opacity:1;visibility:visible;}
.lightbox img{max-width:min(90vw,1000px);max-height:85vh;border-radius:10px;box-shadow:0 30px 80px rgba(0,0,0,.5);}
.lb-close{position:absolute;top:20px;right:24px;background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;line-height:1;z-index:2001;}

/* ── WHATSAPP FLOAT ── */
.wa-float{position:fixed;left:20px;bottom:20px;width:52px;height:52px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;color:#fff;font-size:1.4rem;box-shadow:0 8px 22px rgba(0,0,0,.28);z-index:900;transition:transform .22s;}
.wa-float:hover{transform:scale(1.08);}

/* ── COMMON FLOATING BUTTONS: share stack + back-to-top ── */
.fab-top{
  position:fixed;
  right:20px;bottom:88px;
  width:48px;height:48px;
  border-radius:50%;
  background:var(--den-soft);
  border:1px solid rgba(244,233,216,.14);
  color:var(--cream);
  font-size:1rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.28);
  opacity:0;
  visibility:hidden;
  transform:translateY(10px);
  transition:opacity .25s ease, visibility .25s ease, transform .25s ease, background .22s;
  z-index:899;
}
.fab-top.show{opacity:1;visibility:visible;transform:translateY(0);}
.fab-top:hover{background:var(--ember);color:var(--den);}

.share-stack{
  position:fixed;
  right:20px;
  bottom:148px;
  z-index:900;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:10px;
}
.share-stack .sbtn{
  width:44px;height:44px;
  border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:#fff;
  font-size:1rem;
  box-shadow:0 8px 18px -6px rgba(0,0,0,.4);
  transform:scale(0);
  opacity:0;
  transition:transform .22s ease, opacity .22s ease;
}
.share-stack.open .sbtn{transform:scale(1);opacity:1;}
.share-stack .sbtn.s-wa{background:#25d366;}
.share-stack .sbtn.s-fb{background:#3b5999;}
.share-stack .sbtn.s-tw{background:#1d9bf0;}
.share-stack .sbtn.s-sms{background:#4c53ef;}
.share-stack .sbtn.s-mail{background:#e8593f;}

.fab.share-toggle{
  position:fixed;
  right:20px;bottom:20px;
  width:52px;height:52px;
  border-radius:50%;
  background:var(--ember);
  color:var(--den);
  border:none;
  font-size:1.1rem;
  display:flex;align-items:center;justify-content:center;
  cursor:pointer;
  box-shadow:0 8px 22px rgba(0,0,0,.3);
  z-index:901;
  transition:transform .22s ease, box-shadow .22s ease;
}
.fab.share-toggle:hover{transform:translateY(-3px) scale(1.04);}
.share-toggle i{transition:transform .25s ease;}
.share-stack.open ~ .share-toggle i,
.share-toggle.open i{transform:rotate(135deg);}

@media(max-width:480px){
  .hero h1{letter-spacing:-.02em;}
  .contact-card{padding:24px 18px;}
  .photo-row{grid-template-columns:repeat(2,1fr);}
  .wa-float{left:16px;bottom:16px;width:48px;height:48px;font-size:1.25rem;}
  .fab-top{right:16px;bottom:78px;width:44px;height:44px;font-size:.9rem;}
  .share-stack{right:16px;bottom:132px;}
  .fab.share-toggle{right:16px;bottom:16px;width:48px;height:48px;font-size:1rem;}
}