:root{
  --bg:#090503;
  --bg-2:#120806;
  --panel:#120907;
  --panel-2:#1b0d09;
  --line:rgba(255,138,38,.42);
  --line-soft:rgba(255,158,68,.18);
  --glow:rgba(255,124,24,.28);
  --glow-soft:rgba(255,175,84,.12);
  --text:#fff3e5;
  --muted:#d7b597;
  --gold:#ffcc76;
  --orange:#ff6d1f;
  --orange-2:#cf4218;
  --green:#4f8f39;
  --green-text:#e2ffd8;
  --shadow:0 32px 80px rgba(0,0,0,.48);
}

*,
*::before,
*::after{box-sizing:border-box}

html{
  scroll-behavior:smooth;
  width:100%;
  overflow-x:hidden;
}

body.mitao-carta-page{
  margin:0;
  min-height:100vh;
  width:100%;
  overflow-x:hidden;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;
  color:var(--text);
  background:
    radial-gradient(circle at 10% 18%, rgba(255,102,22,.17), transparent 20%),
    radial-gradient(circle at 88% 18%, rgba(255,164,56,.14), transparent 18%),
    radial-gradient(circle at 50% 100%, rgba(255,118,32,.12), transparent 24%),
    linear-gradient(180deg,#0c0705 0%,#070403 100%);
}

img{display:block;max-width:100%}
button,input{font:inherit}
button{cursor:pointer}
.hidden{display:none!important}

.carta-scene{
  position:relative;
  overflow:hidden;
  min-height:100vh;
  padding:24px 20px 40px;
}

.scene-firefly{
  position:absolute;
  border-radius:999px;
  filter:blur(32px);
  pointer-events:none;
  opacity:.58;
}

.scene-firefly--left{width:18rem;height:18rem;left:-4rem;top:14rem;background:rgba(255,96,16,.16)}
.scene-firefly--right{width:22rem;height:22rem;right:-7rem;top:9rem;background:rgba(255,173,74,.14)}
.scene-firefly--bottom{width:30rem;height:14rem;left:50%;bottom:-8rem;transform:translateX(-50%);background:rgba(255,104,24,.12)}

.scene-layout{
  position:relative;
  z-index:1;
  width:min(1760px,100%);
  max-width:100%;
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(240px,320px) minmax(780px,1120px) minmax(240px,320px);
  gap:18px;
  align-items:stretch;
}

.scene-layout > *{min-width:0}

.showcase{
  position:relative;
  min-height:100%;
  display:flex;
  flex-direction:column;
  gap:14px;
}

.showcase--left{
  padding-top:0;
}

.showcase__scene-image{
  width:100%;
  min-height:calc(100vh - 48px);
  height:auto;
  border-radius:26px;
  object-fit:cover;
  object-position:center center;
  box-shadow:0 26px 60px rgba(0,0,0,.5);
}

.showcase__tail{
  position:relative;
  flex:1 1 auto;
  min-height:340px;
  border-radius:26px;
  border:1px solid rgba(255,138,38,.26);
  background:
    radial-gradient(circle at 50% 18%, rgba(255,129,26,.18), transparent 24%),
    radial-gradient(circle at 50% 78%, rgba(255,188,102,.12), transparent 28%),
    linear-gradient(180deg, rgba(22,12,9,.96), rgba(10,7,6,.98));
  box-shadow:0 20px 48px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,187,108,.04);
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:space-around;
  padding:24px 18px;
  overflow:hidden;
}

.showcase__tail::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg, rgba(255,255,255,.02), rgba(255,255,255,0) 30%),
    radial-gradient(circle at 50% 50%, rgba(255,118,32,.08), transparent 52%);
  pointer-events:none;
}

.showcase__tail-logo{
  position:relative;
  z-index:1;
  width:min(168px,72%);
  opacity:.28;
  filter:drop-shadow(0 12px 22px rgba(0,0,0,.24));
}

.carta-panel{
  position:relative;
  min-width:0;
  width:100%;
  max-width:100%;
  border-radius:28px;
  padding:18px 24px 24px;
  border:1px solid var(--line);
  background:
    radial-gradient(circle at 50% 0%, rgba(255,143,43,.06), transparent 34%),
    linear-gradient(180deg,rgba(29,14,10,.96),rgba(13,8,6,.98));
  box-shadow:var(--shadow), inset 0 0 0 1px rgba(255,174,94,.08);
  overflow:hidden;
}

.carta-panel::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 12% 28%, rgba(255,92,12,.14), transparent 18%),
    radial-gradient(circle at 88% 34%, rgba(255,144,42,.12), transparent 16%),
    radial-gradient(circle at 76% 78%, rgba(255,123,18,.08), transparent 14%);
  pointer-events:none;
}

.carta-panel__spark{
  position:absolute;
  width:220px;
  height:220px;
  border-radius:999px;
  filter:blur(34px);
  opacity:.22;
  pointer-events:none;
}

.carta-panel__spark--left{left:-70px;top:190px;background:rgba(255,89,16,.36)}
.carta-panel__spark--right{right:-50px;top:140px;background:rgba(255,159,74,.28)}

.brand-header{
  position:relative;
  padding-top:2px;
  min-width:0;
}

.brand-header__center{
  width:min(520px,100%);
  max-width:100%;
  min-width:0;
  margin:0 auto;
  text-align:center;
  overflow:hidden;
}

.brand-header__scene{
  display:block;
  width:min(395px,84vw);
  max-width:100%;
  margin:0 auto;
  filter:drop-shadow(0 16px 28px rgba(0,0,0,.34));
}

.brand-header__actions{
  position:absolute;
  right:2px;
  top:10px;
  display:flex;
  gap:12px;
}

.brand-action{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:rgba(16,10,8,.84);
  border:1px solid rgba(255,141,38,.45);
  box-shadow:0 0 0 1px rgba(255,175,84,.06), 0 10px 30px rgba(0,0,0,.26);
}

.brand-action svg{
  width:23px;
  height:23px;
  fill:#ffbf66;
}

.search-shell{
  width:min(740px,100%);
  max-width:100%;
  min-width:0;
  margin:14px auto 0;
}

.search-box{
  position:relative;
  display:block;
}

.search-box__icon{
  position:absolute;
  top:50%;
  left:24px;
  transform:translateY(-50%);
  width:20px;
  height:20px;
  color:#ffcd7f;
}

.search-box__icon svg{width:100%;height:100%;fill:currentColor}

.search-box input{
  width:100%;
  height:56px;
  padding:0 22px 0 56px;
  border-radius:999px;
  border:1px solid rgba(255,138,38,.6);
  background:linear-gradient(180deg,rgba(28,16,12,.96),rgba(13,9,7,.98));
  color:#fff6ea;
  outline:none;
  box-shadow:0 0 0 1px rgba(255,174,94,.08), 0 0 18px rgba(255,123,18,.18), inset 0 0 30px rgba(255,143,43,.05);
}

.search-box input::placeholder{color:rgba(255,222,184,.74)}

.category-pills{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:12px;
  margin-top:16px;
  min-width:0;
  max-width:100%;
}

.category-pill{
  flex:0 0 auto;
  min-width:0;
  min-height:48px;
  padding:0 18px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border-radius:999px;
  border:1px solid rgba(255,138,38,.4);
  background:rgba(14,10,8,.94);
  color:#f9ede1;
  box-shadow:inset 0 0 0 1px rgba(255,193,114,.04);
}

.category-pill strong{
  min-width:28px;
  height:28px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  background:rgba(255,255,255,.08);
  font-size:.86rem;
}

.category-pill.is-active,
.category-pill[aria-selected="true"]{
  background:linear-gradient(180deg,#ff6a1e,#cb3d17);
  color:#fff9f3;
  border-color:rgba(255,195,112,.78);
  box-shadow:0 0 24px rgba(255,111,30,.24), inset 0 1px 0 rgba(255,240,214,.16);
}

.menu-sections{
  display:grid;
  gap:18px;
  margin-top:16px;
  min-width:0;
}

.menu-section{
  min-width:0;
  border-radius:24px;
  border:1px solid rgba(255,138,38,.22);
  background:rgba(22,13,10,.62);
  padding:16px 16px 14px;
  box-shadow:inset 0 0 0 1px rgba(255,193,114,.04);
}

.menu-section__header{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
  min-width:0;
}

.menu-section__header > *{min-width:0}

.menu-section__eyebrow{
  margin:0 0 6px;
  color:rgba(255,224,191,.76);
  letter-spacing:.28em;
  text-transform:uppercase;
  font-size:.8rem;
}

.menu-section__header h2{
  margin:0;
  font-size:clamp(2rem,2.4vw,2.5rem);
  color:#fff5ea;
}

.menu-section__badge{
  flex-shrink:0;
  min-height:40px;
  padding:0 16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,183,105,.18);
  background:rgba(255,255,255,.05);
  color:#fff0de;
  font-weight:700;
}

.menu-section__grid{
  display:grid;
  gap:14px;
  min-width:0;
}

.menu-section__grid--pizza{grid-template-columns:repeat(2,minmax(0,1fr))}
.menu-section__grid--compact{grid-template-columns:repeat(3,minmax(0,1fr))}

.menu-card{
  min-width:0;
  width:100%;
  max-width:100%;
  border-radius:20px;
  border:1px solid rgba(255,138,38,.42);
  background:linear-gradient(180deg,rgba(14,10,8,.98),rgba(8,6,5,.98));
  box-shadow:0 0 0 1px rgba(255,173,96,.06), inset 0 0 36px rgba(255,149,52,.03);
  overflow:hidden;
}

.menu-card--pizza{
  display:grid;
  grid-template-columns:minmax(132px,148px) minmax(0,1fr);
  grid-template-areas:
    "media body"
    "prices prices";
  min-height:224px;
}

.menu-card--compact{
  display:grid;
  grid-template-rows:auto 1fr;
  min-height:286px;
}

.menu-card__media{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 34% 22%, rgba(255,176,92,.18), transparent 32%),
    radial-gradient(circle at 76% 76%, rgba(255,92,18,.14), transparent 28%),
    linear-gradient(180deg,#1f110c,#120806);
}

.menu-card__media::before{
  content:"";
  position:absolute;
  inset:10px;
  border-radius:18px;
  border:1px solid rgba(255,181,102,.08);
  background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,0));
  pointer-events:none;
}

.menu-card__media::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(145deg,rgba(0,0,0,0) 24%,rgba(0,0,0,.18));
  pointer-events:none;
}

.menu-card--pizza .menu-card__media{
  grid-area:media;
  height:100%;
}

.menu-card--pizza .menu-card__body{
  grid-area:body;
}

.menu-card--compact .menu-card__media{
  aspect-ratio:1.22;
}

.menu-card__media img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center center;
  transition:transform .22s ease;
}

.menu-card:hover .menu-card__media img{
  transform:scale(1.02);
}

.menu-card__media[data-photo-source="custom"] img{
  object-fit:contain;
  padding:10px;
}

.menu-card__media[data-photo-source="custom"].menu-card__media--pizza img{
  padding:8px 4px;
}

.menu-card__media[data-photo-source="custom"].menu-card__media--beer img{
  padding:12px 10px 8px;
}

.menu-card__media[data-photo-source="custom"].menu-card__media--drink img,
.menu-card__media[data-photo-source="custom"].menu-card__media--juice img{
  padding:14px 12px 10px;
}

.menu-card__media[data-photo-source="custom"].menu-card__media--food img,
.menu-card__media[data-photo-source="custom"].menu-card__media--sharing img{
  padding:10px 10px 8px;
}

.menu-card__media[data-photo-source="fallback-real"].menu-card__media--pizza img{
  object-fit:contain;
  object-position:center center;
  padding:8px 4px;
}

.menu-card__media[data-photo-source="fallback-real"].menu-card__media--beer img{
  object-fit:contain;
  object-position:center center;
  padding:12px 10px 8px;
}

.menu-card__media[data-photo-source="fallback-real"].menu-card__media--drink img,
.menu-card__media[data-photo-source="fallback-real"].menu-card__media--juice img{
  object-fit:contain;
  object-position:center center;
  padding:14px 12px 10px;
}

.menu-card__media[data-photo-source="fallback-real"].menu-card__media--food img{
  object-fit:contain;
  object-position:center center;
  padding:10px 10px 8px;
}

.menu-card__media[data-photo-source="fallback-graphic"]{
  background:
    radial-gradient(circle at 50% 42%, rgba(255,155,58,.12), transparent 44%),
    linear-gradient(180deg,#221008,#120806);
}

.menu-card__media[data-photo-source="fallback-graphic"] img{
  object-fit:contain;
  padding:16px;
}

.menu-card__media[data-photo-source="fallback-graphic"].menu-card__media--beer img,
.menu-card__media[data-photo-source="fallback-graphic"].menu-card__media--drink img,
.menu-card__media[data-photo-source="fallback-graphic"].menu-card__media--juice img{
  padding:18px 24px 12px;
}

.menu-card__media[data-photo-source="fallback-graphic"].menu-card__media--food img,
.menu-card__media[data-photo-source="fallback-graphic"].menu-card__media--sharing img{
  padding:14px 14px 8px;
}

.menu-card__body{
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  gap:14px;
  padding:16px 18px 14px;
  min-width:0;
}

.menu-card__headline{
  display:block;
  min-width:0;
}

.menu-card__titles{min-width:0}

.menu-card__titles h3{
  margin:0;
  font-size:clamp(1.55rem,1.85vw,2rem);
  line-height:1.05;
  color:#fff7ef;
}

.menu-card__titles p{
  margin:8px 0 0;
  color:#efd8c2;
  line-height:1.5;
  font-size:.98rem;
  overflow-wrap:anywhere;
}

.menu-card__prices{
  display:grid;
  gap:8px;
  align-items:stretch;
  margin-top:auto;
  min-width:0;
  width:100%;
  max-width:100%;
}

.menu-card__prices--single{grid-template-columns:minmax(0,1fr)}
.menu-card__prices--double{grid-template-columns:repeat(2,minmax(96px,1fr))}
.menu-card__prices--triple{grid-template-columns:repeat(3,minmax(84px,1fr))}

.menu-card__prices--pizza-wide{
  grid-area:prices;
  margin:0;
  padding:0 16px 16px;
  grid-template-columns:repeat(3,minmax(0,1fr));
  width:100%;
}

.price-slot{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}

.price-slot__label{
  display:block;
  text-align:center;
  color:#ffd48d;
  font-size:.72rem;
  font-weight:800;
  letter-spacing:.01em;
  line-height:1.1;
  text-transform:uppercase;
}

.price-chip{
  min-width:0;
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:0;
  padding:10px 8px;
  border-radius:14px;
  background:linear-gradient(180deg,#de5520,#b93215);
  color:#fff6eb;
  border:1px solid rgba(255,179,103,.22);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12);
}

.price-chip strong{
  font-size:1.06rem;
  font-weight:800;
  line-height:1;
  white-space:nowrap;
}

.feature-strip{
  margin-top:18px;
}

.feature-strip--desktop-art{
  display:block;
  padding:0;
  border:none;
  background:transparent;
  box-shadow:none;
}

.feature-strip__reference{
  width:100%;
  border-radius:22px;
  display:block;
  box-shadow:0 0 22px rgba(255,111,30,.12);
}

.feature-strip--mobile-copy{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
  padding:14px;
  border-radius:22px;
  border:1px solid rgba(255,138,38,.42);
  background:linear-gradient(180deg,rgba(28,16,12,.98),rgba(13,9,7,.96));
  box-shadow:0 0 22px rgba(255,111,30,.12);
}

.feature-card{
  display:flex;
  align-items:flex-start;
  gap:12px;
  padding:4px 6px;
}

.feature-card__icon{
  width:48px;
  height:48px;
  flex-shrink:0;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  border:1px solid rgba(255,138,38,.55);
  color:#ffb960;
  font-family:"Bebas Neue",sans-serif;
  font-size:1.4rem;
  letter-spacing:.04em;
}

.feature-card h3{
  margin:0 0 4px;
  font-size:1.1rem;
  color:#ffd68e;
}

.feature-card p{
  margin:0;
  color:#ecd6bf;
  line-height:1.4;
  font-size:.94rem;
}

.scene-footer{
  padding-top:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:16px;
  color:#f6c36f;
  text-transform:uppercase;
  letter-spacing:.18em;
  font-weight:700;
}

.scene-footer span{
  color:#ff5a23;
  font-size:1.1rem;
}

.scene-footer small{
  font-size:.98rem;
}

.showcase--right{
  padding-top:0;
}

.state-box{
  margin-top:16px;
  padding:26px;
  border-radius:22px;
  border:1px solid rgba(255,138,38,.24);
  background:rgba(18,10,8,.8);
  text-align:center;
}

.state-box h2{margin:0 0 8px}
.state-box p{margin:0;color:#f2dcc4}
.state-box--error{border-color:rgba(255,98,44,.44)}

@media (max-width:1380px){
  .scene-layout{grid-template-columns:minmax(200px,250px) minmax(720px,1fr) minmax(200px,250px)}
}

@media (max-width:1180px){
  .scene-layout{grid-template-columns:minmax(0,1fr)}
  .showcase{display:none}
  .carta-panel{max-width:1020px;margin:0 auto}
  .menu-section__grid--pizza{grid-template-columns:repeat(2,minmax(0,1fr))}
  .menu-section__grid--compact{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-strip--desktop-art{display:none}
  .feature-strip--mobile-copy{display:grid}
}

@media (max-width:1024px){
  .carta-scene{padding:16px 14px 30px}
  .carta-panel{padding:20px 16px 24px}
  .brand-header__scene{width:min(340px,82vw)}
  .search-shell{width:min(100%,720px)}
  .menu-section{padding:16px 14px}
  .menu-section__grid--pizza{grid-template-columns:1fr}
  .menu-card--pizza{
    grid-template-columns:156px minmax(0,1fr);
    min-height:216px;
  }
  .menu-card__body{padding:14px 15px 12px}
  .menu-card__titles h3{font-size:1.55rem}
  .menu-card__titles p{font-size:.96rem;line-height:1.45}
  .menu-card__prices--pizza-wide{padding:0 14px 14px}
  .price-chip strong{font-size:1rem}
}

@media (max-width:860px){
  .carta-scene{padding:14px 12px 28px}
  .carta-panel{padding:18px 14px 22px;border-radius:24px}
  .brand-header__actions{position:static;justify-content:center;margin:0 0 10px}
  .brand-header__scene{width:min(300px,84vw)}
  .search-shell{width:100%}
  .search-box input{height:54px}
  .menu-section{padding:15px 13px}
  .menu-section__grid--pizza,
  .menu-section__grid--compact{grid-template-columns:1fr}
  .menu-card--pizza{
    grid-template-columns:1fr;
    grid-template-areas:
      "media"
      "body"
      "prices";
    min-height:0;
  }
  .menu-card--pizza .menu-card__media{
    min-height:210px;
    aspect-ratio:1.45;
  }
  .menu-card--pizza .menu-card__media::before{inset:12px}
  .menu-card--pizza .menu-card__body{padding:14px 14px 8px}
  .menu-card__body{padding:14px 14px 12px}
  .menu-card__titles h3{font-size:1.5rem}
  .menu-card__titles p{font-size:.95rem;line-height:1.45}
  .menu-card__prices{gap:8px}
  .menu-card__prices--pizza-wide{
    padding:0 14px 14px;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .price-slot__label{font-size:.72rem}
  .price-chip{min-height:46px;padding:9px 8px}
  .price-chip strong{font-size:1rem}
  .feature-strip{grid-template-columns:1fr 1fr}
  .scene-footer{flex-direction:column;gap:6px;letter-spacing:.12em}
}

@media (max-width:560px){
  .carta-scene{padding:10px 8px 22px}
  .carta-panel{padding:14px 10px 18px;border-radius:20px}
  .brand-header__actions{display:none}
  .brand-header__center{
    width:100%;
    display:flex;
    justify-content:center;
    overflow:hidden;
  }
  .brand-header__scene{width:min(248px,70vw)}
  .search-shell{margin-top:10px}
  .search-box__icon{left:18px}
  .search-box input{height:50px;padding:0 16px 0 46px}
  .category-pills{
    display:flex;
    justify-content:flex-start;
    flex-wrap:nowrap;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    padding-bottom:2px;
    overscroll-behavior-x:contain;
    -webkit-overflow-scrolling:touch;
  }
  .category-pills::-webkit-scrollbar{display:none}
  .category-pill{
    flex:0 0 auto;
    min-height:42px;
    padding:0 14px;
    white-space:nowrap;
  }
  .menu-section{padding:13px 10px}
  .menu-section__header{flex-direction:column;align-items:flex-start}
  .menu-section__header h2{font-size:1.72rem}
  .menu-card--pizza{
    border-radius:18px;
  }
  .menu-card--pizza .menu-card__media{
    min-height:184px;
    aspect-ratio:1.28;
  }
  .menu-card__titles h3{font-size:1.22rem}
  .menu-card__titles p{font-size:.88rem}
  .menu-card--pizza .menu-card__body{padding:12px 10px 8px}
  .menu-card__body{padding:12px 10px 10px}
  .menu-card__prices--double,
  .menu-card__prices--triple{gap:6px}
  .menu-card__prices--pizza-wide{padding:0 10px 10px}
  .price-slot__label{font-size:.65rem}
  .price-chip{min-height:40px;padding:8px 4px;border-radius:12px}
  .price-chip strong{font-size:.9rem}
  .feature-strip{grid-template-columns:1fr}
}

@media (max-width:430px){
  .menu-card--pizza .menu-card__media{
    min-height:168px;
    aspect-ratio:1.2;
  }
  .menu-card__titles h3{font-size:1.12rem}
  .menu-card__titles p{font-size:.84rem}
  .menu-card__prices--pizza-wide{padding:0 8px 8px;gap:5px}
  .price-slot__label{font-size:.6rem}
  .price-chip strong{font-size:.84rem}
}

@media (min-width:1181px){
  .feature-strip--mobile-copy{display:none}
}
