/* ══════════════════════════════════════════════════════════════════════
   MASALA CAFE — Elementor stylesheet
   Paste the whole file into: Appearance → Customize → Additional CSS
   (works on free Elementor; Pro users can use Site Settings → Custom CSS)
   ══════════════════════════════════════════════════════════════════════ */

:root{
  --mc-ink:#150C12;
  --mc-ink-2:#1E1220;
  --mc-ink-3:#291826;
  --mc-line:#3A2739;
  --mc-line-2:#4A3348;
  --mc-amber:#E9A33C;
  --mc-amber-2:#F7D08A;
  --mc-rose:#C9527A;
  --mc-cream:#F5EDE8;
  --mc-mute:#A28E9C;
  --mc-mute-2:#7C6A78;
  --mc-ease:cubic-bezier(.2,.7,.3,1);
}

body{ background:var(--mc-ink); color:var(--mc-cream); overflow-x:hidden; }
:focus-visible{ outline:2.5px solid var(--mc-amber); outline-offset:3px; border-radius:5px; }

/* amber italic phrases inside headings */
.elementor-heading-title em{
  font-style:italic; color:var(--mc-amber); font-weight:600;
}

/* ═══ HEADER ═══ */
.mc-header{
  position:sticky !important; top:0; z-index:99;
  background:rgba(21,12,18,.72) !important;
  -webkit-backdrop-filter:blur(16px) saturate(1.3);
  backdrop-filter:blur(16px) saturate(1.3);
  border-bottom:1px solid var(--mc-line);
}
.mc-hdr-in{
  display:flex; align-items:center; justify-content:space-between; gap:24px; height:72px;
}
.mc-logo{ display:flex; align-items:center; gap:11px; text-decoration:none; }
.mc-logo span{
  font-family:"Fraunces",serif; font-weight:800; font-size:21px;
  letter-spacing:-.03em; color:var(--mc-cream);
}
.mc-logo b{ color:var(--mc-amber); font-weight:800; }
.mc-nav{ display:flex; gap:32px; }
.mc-nav a{
  font-family:"Space Mono",monospace; font-size:12.5px; letter-spacing:.07em;
  text-transform:uppercase; color:var(--mc-mute); text-decoration:none;
  padding-bottom:4px; position:relative; transition:color .2s ease;
}
.mc-nav a::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:1px;
  background:var(--mc-amber); transform:scaleX(0); transform-origin:left;
  transition:transform .3s var(--mc-ease);
}
.mc-nav a:hover{ color:var(--mc-amber); }
.mc-nav a:hover::after{ transform:scaleX(1); }
.mc-hdr-cta{
  font-family:"Space Mono",monospace; font-size:12.5px; letter-spacing:.08em;
  text-transform:uppercase; font-weight:700; text-decoration:none;
  background:var(--mc-amber); color:#1A0F06; padding:11px 20px; border-radius:100px;
  transition:transform .22s var(--mc-ease), background .22s ease;
  white-space:nowrap;
}
.mc-hdr-cta:hover{ background:var(--mc-amber-2); transform:translateY(-2px); color:#1A0F06; }
@media(max-width:920px){ .mc-nav{ display:none; } }

/* ═══ HERO ═══ */
.mc-hero .elementor-heading-title{ max-width:15ch; }
.mc-hero .elementor-widget-text-editor{ max-width:50ch; }

/* ═══ SECTION GLOW ═══ */
.mc-glow{ position:relative; }
.mc-glow::before{
  content:""; position:absolute; top:-14px; left:50%; transform:translateX(-50%);
  width:min(780px,94vw); height:360px; pointer-events:none; z-index:0;
  background:radial-gradient(ellipse at 50% 0%, rgba(233,163,60,.13), transparent 68%);
}
.mc-glow > .elementor-container{ position:relative; z-index:1; }

/* ═══ EYEBROW ═══ */
.mc-eyebrow .elementor-heading-title{
  display:flex; align-items:center; gap:10px; color:var(--mc-amber);
}
.mc-eyebrow .elementor-heading-title::before{
  content:""; width:22px; height:1px; background:var(--mc-amber); opacity:.6; flex:none;
}

/* ═══ MARQUEE ═══ */
.mc-marquee{
  border-top:1px solid var(--mc-line); border-bottom:1px solid var(--mc-line);
  background:var(--mc-ink-2); overflow:hidden; padding:16px 0 !important;
}
.mc-marquee__track{ display:flex; width:max-content; animation:mcSlide 42s linear infinite; }
.mc-marquee:hover .mc-marquee__track{ animation-play-state:paused; }
@keyframes mcSlide{ to{ transform:translateX(-50%); } }
.mc-marquee__grp{
  display:flex; align-items:center; gap:38px; padding-right:38px; white-space:nowrap;
  font-family:"Space Mono",monospace; font-size:12.5px;
  letter-spacing:.08em; text-transform:uppercase; color:var(--mc-mute);
}
.mc-marquee__grp b{ color:var(--mc-cream); font-weight:700; }
.mc-marquee__grp .star{ color:var(--mc-amber); }
.mc-dot{ width:4px; height:4px; border-radius:50%; background:var(--mc-amber);
  opacity:.55; flex:none; display:inline-block; }

/* ═══ PILLARS ═══ */
.mc-pillars{ background:var(--mc-line); border:1px solid var(--mc-line);
  border-radius:16px; overflow:hidden; }
.mc-pillar{ background:var(--mc-ink-2); padding:34px 30px 38px !important;
  transition:background .35s ease; }
.mc-pillar:hover{ background:var(--mc-ink-3); }
.mc-pillar-ico svg{ display:block; }
.mc-pillar:hover .mc-pillar-ico svg{ animation:mcNudge .6s var(--mc-ease); }
@keyframes mcNudge{ 50%{ transform:translateY(-4px); } }
.mc-pillar .elementor-widget-heading{ margin-bottom:6px; }

/* ═══ MENU TILES ═══ */
.mc-card .elementor-image-box-wrapper{
  position:relative; border-radius:16px; overflow:hidden;
  background:var(--mc-ink-2); border:1px solid var(--mc-line);
  transition:transform .38s var(--mc-ease), border-color .38s ease, box-shadow .38s ease;
}
.mc-card:hover .elementor-image-box-wrapper{
  transform:translateY(-6px); border-color:rgba(233,163,60,.5);
  box-shadow:0 22px 46px -26px rgba(0,0,0,.9);
}
.mc-card .elementor-image-box-img{
  margin:0 !important; width:100% !important; position:relative;
  aspect-ratio:1/1; overflow:hidden;
}
.mc-card .elementor-image-box-img a{ display:block; height:100%; }
.mc-card img{
  width:100%; height:100%; object-fit:cover; display:block;
  filter:saturate(.94) brightness(.86);
  transition:transform .6s var(--mc-ease), filter .4s ease;
}
.mc-card:hover img{ transform:scale(1.06); filter:saturate(1.06) brightness(1.02); }
/* dark scrim + pendant glow */
.mc-card .elementor-image-box-img::after{
  content:""; position:absolute; inset:0; pointer-events:none; z-index:1;
  background:linear-gradient(to top, rgba(21,12,18,.95) 4%, rgba(21,12,18,.34) 46%, transparent 74%);
}
.mc-card .elementor-image-box-img::before{
  content:""; position:absolute; inset:0; z-index:2; opacity:0; pointer-events:none;
  transition:opacity .45s ease;
  background:radial-gradient(72% 52% at 50% 6%, rgba(247,208,138,.34), transparent 70%);
}
.mc-card:hover .elementor-image-box-img::before{ opacity:1; }

.mc-card .elementor-image-box-content{
  position:absolute; left:0; right:0; bottom:0; z-index:3;
  padding:22px 22px 20px; text-align:left;
}
.mc-card .elementor-image-box-title{
  font-family:"Fraunces",serif !important; font-weight:700; font-size:1.4rem !important;
  letter-spacing:-.022em; color:var(--mc-cream) !important; margin:0 !important;
  line-height:1.1 !important;
}
.mc-card .elementor-image-box-title a{ color:inherit; }
.mc-card .elementor-image-box-description{
  font-family:"Space Mono",monospace !important; font-size:11px !important;
  letter-spacing:.05em; color:var(--mc-mute) !important;
  margin-top:9px !important; line-height:1.6;
}
/* "Order →" appears on hover */
.mc-card .elementor-image-box-content::after{
  content:"Order"; display:block; margin-top:14px;
  font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.15em;
  text-transform:uppercase; color:var(--mc-amber);
  opacity:0; transform:translateY(6px);
  transition:opacity .32s ease, transform .32s var(--mc-ease);
}
.mc-card:hover .elementor-image-box-content::after{ opacity:1; transform:translateY(0); }
@media(hover:none){
  .mc-card .elementor-image-box-content::after{ opacity:1; transform:none; }
}

.mc-note{
  font-family:"Space Mono",monospace; font-size:11.5px; color:var(--mc-mute-2);
  letter-spacing:.04em; max-width:70ch; margin-top:14px;
}
.mc-note::before{ content:"\25B2\00a0\00a0"; color:var(--mc-amber); }


/* ═══ BUTTONS ═══ */
.mc-btn .elementor-button{
  font-family:"Space Mono",monospace !important; font-size:12.5px !important;
  letter-spacing:.08em; text-transform:uppercase; font-weight:700;
  background:var(--mc-amber) !important; color:#1A0F06 !important;
  border-radius:100px !important; padding:15px 28px !important; fill:#1A0F06;
  transition:transform .22s var(--mc-ease), background .22s ease, box-shadow .22s ease;
}
.mc-btn .elementor-button:hover{
  background:var(--mc-amber-2) !important; transform:translateY(-2px);
  box-shadow:0 10px 30px -12px rgba(233,163,60,.6);
}
.mc-btn-ghost .elementor-button{
  font-family:"Space Mono",monospace !important; font-size:12.5px !important;
  letter-spacing:.08em; text-transform:uppercase;
  background:transparent !important; color:var(--mc-cream) !important;
  border:1px solid var(--mc-line-2) !important; border-radius:100px !important;
  padding:15px 28px !important; transition:all .22s var(--mc-ease);
}
.mc-btn-ghost .elementor-button:hover{
  border-color:var(--mc-amber) !important; color:var(--mc-amber) !important;
  transform:translateY(-2px);
}

/* ═══ IMAGES / GALLERY ═══ */
.mc-gal-img img{
  border-radius:16px; border:1px solid var(--mc-line); width:100%;
  filter:brightness(.88); transition:transform .7s var(--mc-ease), filter .4s ease;
}
.mc-gal-img:hover img{ transform:scale(1.03); filter:brightness(1.04); }

/* ═══ FIND US — info block ═══ */
.mc-info{ border-top:1px solid var(--mc-line); }
.mc-info__row{
  display:grid; grid-template-columns:96px 1fr; gap:20px; align-items:start;
  padding:16px 0; border-bottom:1px solid var(--mc-line);
}
.mc-info__k{
  font-family:"Space Mono",monospace; font-size:10.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--mc-mute-2); padding-top:3px;
}
.mc-info__v{
  font-family:"Manrope",sans-serif; font-size:15.5px; line-height:1.5;
  color:var(--mc-cream); text-decoration:none; transition:color .2s ease;
}
a.mc-info__v:hover{ color:var(--mc-amber); }
.mc-closed{ color:var(--mc-rose); font-style:normal; font-size:14px; }

/* ═══ MAP ═══ */
.mc-map .elementor-widget-container,
.mc-map .elementor-custom-embed{
  border-radius:16px; overflow:hidden; border:1px solid var(--mc-line);
}
.mc-map iframe{
  display:block; width:100%; border:0;
  /* darkens the map to match the theme — delete this line for the normal map */
  filter:invert(91%) hue-rotate(180deg) saturate(.72) contrast(.92) brightness(1.02);
}
@media(max-width:900px){
  .mc-map iframe{ height:320px !important; }
}

/* ═══ FOOTER ═══ */
.mc-footer{ border-top:1px solid var(--mc-line); }
.mc-ft-in{ display:flex; flex-wrap:wrap; gap:34px; justify-content:space-between; }
.mc-ft-tag{ color:var(--mc-mute); font-size:.94rem; margin-top:14px; max-width:34ch;
  font-family:"Manrope",sans-serif; }
.mc-ft-links{ display:flex; flex-wrap:wrap; gap:26px; align-content:flex-start; }
.mc-ft-links a{
  font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--mc-mute); text-decoration:none;
  transition:color .2s ease;
}
.mc-ft-links a:hover{ color:var(--mc-amber); }
.mc-ft-base{
  margin-top:42px; padding-top:22px; border-top:1px solid var(--mc-line);
  font-family:"Space Mono",monospace; font-size:11px; color:var(--mc-mute-2);
  display:flex; flex-wrap:wrap; gap:12px; justify-content:space-between;
}

/* === REVIEWS (carousel) === */
.mc-revs{ position:relative; }
.mc-revs__track{
  display:flex; gap:18px; overflow-x:auto; scroll-snap-type:x mandatory;
  scroll-behavior:smooth; padding-bottom:6px;
  scrollbar-width:none; -ms-overflow-style:none;
}
.mc-revs__track::-webkit-scrollbar{ display:none; }
.mc-rev{
  flex:0 0 clamp(272px,84vw,376px); scroll-snap-align:start;
  background:var(--mc-ink-2); border:1px solid var(--mc-line); border-radius:16px;
  padding:26px 24px 28px; transition:border-color .3s ease, transform .3s var(--mc-ease);
}
.mc-rev:hover{ border-color:rgba(233,163,60,.42); transform:translateY(-3px); }
.mc-rev__top{ display:flex; align-items:center; gap:13px; margin-bottom:15px; }
.mc-rev__av{
  width:44px; height:44px; border-radius:50%; flex:none;
  display:grid; place-items:center;
  font-family:"Fraunces",serif; font-weight:800; font-size:18px; color:#1A0F06;
  background:linear-gradient(150deg,var(--mc-amber-2),var(--mc-amber));
}
.mc-rev__name{
  font-family:"Fraunces",serif; font-weight:700; font-size:1.02rem;
  letter-spacing:-.015em; color:var(--mc-cream); line-height:1.2;
}
.mc-rev__meta{
  font-family:"Space Mono",monospace; font-size:9.5px; letter-spacing:.14em;
  text-transform:uppercase; color:var(--mc-mute-2); margin-top:3px;
}
.mc-rev__stars{ color:var(--mc-amber); font-size:12px; letter-spacing:.16em; margin-bottom:13px; }
.mc-rev__dim{ color:var(--mc-line-2); }
.mc-rev__text{
  font-family:"Manrope",sans-serif; font-size:15px; line-height:1.66;
  color:var(--mc-mute); margin:0;
}
.mc-revs__nav{ display:flex; gap:9px; justify-content:flex-end; margin-top:20px; }
.mc-revs__btn{
  width:42px; height:42px; border-radius:50%; flex:none; cursor:pointer;
  border:1px solid var(--mc-line-2); background:transparent; color:var(--mc-cream);
  font-size:19px; line-height:1; display:grid; place-items:center;
  transition:border-color .22s ease, color .22s ease, transform .22s var(--mc-ease);
}
.mc-revs__btn:hover{ border-color:var(--mc-amber); color:var(--mc-amber); transform:translateY(-2px); }
.mc-revs__btn[disabled]{ opacity:.3; cursor:default; transform:none; }
.mc-rating{
  display:flex; flex-wrap:wrap; align-items:center; gap:14px; margin-top:24px;
  font-family:"Space Mono",monospace; font-size:12px; letter-spacing:.07em;
  text-transform:uppercase; color:var(--mc-mute);
}
.mc-rating b{ color:var(--mc-amber); font-size:15px; font-weight:700; }
.mc-rating a{ color:var(--mc-mute); text-decoration:none;
  border-bottom:1px solid var(--mc-line); transition:color .2s ease, border-color .2s ease; }
.mc-rating a:hover{ color:var(--mc-amber); border-color:var(--mc-amber); }
@media(max-width:600px){ .mc-revs__nav{ justify-content:center; } }

/* ═══ REVEAL ON SCROLL ═══ */
.mc-rise{
  opacity:0; transform:translateY(24px);
  transition:opacity .75s ease, transform .75s var(--mc-ease);
}
.mc-rise.in{ opacity:1; transform:translateY(0); }

/* ═══ MOBILE ═══ */
@media(max-width:767px){
  .mc-hdr-in{ height:64px; }
  .mc-ft-in{ flex-direction:column; gap:24px; }
  .mc-ft-base{ flex-direction:column; gap:8px; }
  .mc-card .elementor-image-box-content{ padding:18px; }
}

/* ═══ REDUCED MOTION ═══ */
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{
    animation:none !important; transition-duration:.01ms !important;
    scroll-behavior:auto !important;
  }
  .mc-rise{ opacity:1 !important; transform:none !important; }
}
