/* Chows Food Menu — palette and type taken from the Elementor kit so the
   plugin sits inside the theme rather than beside it. */
@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;1,400;1,500;1,600&family=Inter:wght@400;500;600&display=swap');

.chows-menu{
  --chows-ink:#0E0D0B;
  --chows-panel:#16130F;
  --chows-panel-2:#1A1713;
  --chows-gold:#C49F2E;
  --chows-gold-2:#C9A45C;
  --chows-cream:#F5E8D0;
  --chows-text:#B8AA96;
  --chows-muted:#847766;
  --chows-line:rgba(201,164,92,.30);
  --chows-line-soft:rgba(201,164,92,.14);
  --chows-serif:'Cormorant Garamond', Georgia, serif;
  --chows-sans:'Inter', -apple-system, 'Segoe UI', Arial, sans-serif;
  --chows-cols:3;

  font-family:var(--chows-sans);
  font-weight:400;
  color:var(--chows-text);
  -webkit-font-smoothing:antialiased;

  /* Nothing inside may push the page sideways on a phone. */
  width:100%;
  max-width:100%;
  overflow-x:clip;
}
.chows-menu[data-columns="1"]{--chows-cols:1}
.chows-menu[data-columns="2"]{--chows-cols:2}
.chows-menu[data-columns="4"]{--chows-cols:4}

.chows-menu *,
.chows-menu *::before,
.chows-menu *::after{box-sizing:border-box}
.chows-menu img{max-width:100%}

/* ---------------------------------------------------------------
   Themes and page builders style bare h2/h3/button/input tags, and
   those rules outrank the plugin's. These declarations are locked so
   the menu keeps its own shape in any theme.
--------------------------------------------------------------- */
.chows-menu .chows-menu__head h2{
  font-family:var(--chows-sans) !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.4 !important;
  letter-spacing:3px !important;
  text-transform:uppercase !important;
  color:var(--chows-cream) !important;
  margin:0 !important;
  padding:0 !important;
}
.chows-menu .chows-dish__name{
  font-family:var(--chows-serif) !important;
  font-size:24px !important;
  font-weight:500 !important;
  line-height:1.2 !important;
  letter-spacing:0 !important;
  text-transform:capitalize !important;
  color:var(--chows-cream) !important;
  margin:0 0 10px !important;
  padding:0 !important;
}
.chows-menu .chows-menu__tab,
.chows-menu .chows-dish__cta,
.chows-menu .chows-menu__jump a{
  border-radius:0 !important;
  box-shadow:none !important;
  text-shadow:none !important;
  text-decoration:none !important;
  min-height:0 !important;
  line-height:1 !important;
}
.chows-menu .chows-menu__tab{
  background:none !important;
  border:0 !important;
  color:var(--chows-muted) !important;
}
.chows-menu .chows-menu__tab.is-on{color:var(--chows-cream) !important}
.chows-menu .chows-menu__search{
  background:none !important;
  border:0 !important;
  border-bottom:1px solid var(--chows-line-soft) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  color:var(--chows-cream) !important;
  line-height:1.4 !important;
  min-height:0 !important;
}

/* ---------- menu heading ---------- */
.chows-menu__script{
  font-family:var(--chows-serif);
  font-size:clamp(38px,5vw,54px);
  font-weight:600;
  font-style:italic;
  text-transform:capitalize;
  line-height:1.15em;
  color:var(--chows-gold);
  text-align:center;
  margin:0 0 4px;
}

/* ---------- tab bar ---------- */
.chows-menu__util{
  position:relative;
  display:flex;align-items:flex-end;gap:24px;
  border-bottom:1px solid var(--chows-line-soft);
  margin-top:26px;
}

.chows-menu__tabs{
  display:flex;flex:1 1 auto;min-width:0;
  overflow-x:auto;overflow-y:hidden;
  scrollbar-width:none;-ms-overflow-style:none;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
.chows-menu__tabs::-webkit-scrollbar{display:none}

.chows-menu__tab{
  position:relative;flex:0 0 auto;scroll-snap-align:start;
  background:none;border:0;margin:0;padding:16px 20px;cursor:pointer;
  font-family:var(--chows-sans);font-size:12px;font-weight:600;
  letter-spacing:3px;text-transform:uppercase;white-space:nowrap;
  transition:color .25s ease;
}
.chows-menu__tab:first-child{padding-left:0}
.chows-menu__tab::after{
  content:"";position:absolute;left:20px;right:20px;bottom:-1px;height:2px;
  background:var(--chows-gold);transform:scaleX(0);transform-origin:left;
  transition:transform .34s cubic-bezier(.4,0,.2,1);
}
.chows-menu__tab:first-child::after{left:0}
.chows-menu__tab:hover{color:var(--chows-text) !important}
.chows-menu__tab.is-on::after{transform:scaleX(1)}
.chows-menu__tab:focus-visible{outline:1px solid var(--chows-gold);outline-offset:-4px}

/* While a search is running the tabs step back — results span every section. */
.chows-menu.is-searching .chows-menu__tab{opacity:.4}
.chows-menu.is-searching .chows-menu__tab::after{transform:scaleX(0)}

/* ---------- jump links (nav="jump") ---------- */
.chows-menu__jump{display:flex;gap:6px;flex-wrap:wrap;flex:1 1 220px;min-width:0;padding:14px 0}
.chows-menu__jump a{
  max-width:100%;border:1px solid var(--chows-line-soft);padding:9px 15px;
  font-family:var(--chows-sans);font-size:11px;font-weight:500;
  letter-spacing:2px;text-transform:uppercase;color:var(--chows-muted);
  overflow-wrap:break-word;transition:color .25s ease,border-color .25s ease;
}
.chows-menu__jump a:hover,
.chows-menu__jump a:focus{color:var(--chows-cream);border-color:var(--chows-line)}

/* ---------- search ---------- */
.chows-menu__find{position:relative;flex:0 1 210px;min-width:0;max-width:100%;padding-bottom:10px}
.chows-menu__find svg{
  position:absolute;left:0;top:calc(50% - 5px);transform:translateY(-50%);
  width:13px;height:13px;stroke:var(--chows-muted);fill:none;stroke-width:1.4;
}
.chows-menu__search{
  width:100%;max-width:100%;padding:8px 0 8px 22px;
  font-family:var(--chows-sans);font-size:13px;font-weight:400;
  transition:border-color .25s ease;
}
.chows-menu__search::placeholder{color:var(--chows-muted)}
.chows-menu__search:focus{outline:none;border-bottom-color:var(--chows-gold) !important}

/* ---------- section ---------- */
.chows-menu__section{padding-top:40px}
.chows-menu__section[hidden]{display:none}
.chows-menu__head{display:flex;align-items:center;gap:18px;margin-bottom:24px;flex-wrap:wrap}
.chows-menu__head span{flex:1 1 20px;min-width:0;height:1px;background:var(--chows-line-soft)}
.chows-menu__head b{
  font-size:11px;font-weight:400;letter-spacing:2px;
  color:var(--chows-muted);white-space:nowrap;text-transform:uppercase;
}

.chows-menu__grid{
  display:grid;
  grid-template-columns:repeat(var(--chows-cols),minmax(0,1fr));
  gap:22px;align-items:stretch;
}

/* ---------- dish card ---------- */
.chows-dish{
  position:relative;
  background:linear-gradient(180deg,var(--chows-panel-2) 0%,var(--chows-panel) 100%);
  border:1px solid var(--chows-line-soft);
  padding:16px 16px 20px;
  display:flex;flex-direction:column;
  transition:border-color .4s ease,transform .4s ease;
}
.chows-dish:hover{border-color:var(--chows-line);transform:translateY(-3px)}
.chows-dish[hidden]{display:none}

.chows-dish__frame{position:relative;margin-bottom:20px}
.chows-dish__frame::before{
  content:"";position:absolute;inset:0;border:1px solid var(--chows-gold-2);
  opacity:0;transform:translate(0,0);pointer-events:none;z-index:2;
  transition:transform .45s cubic-bezier(.4,0,.2,1),opacity .45s ease;
}
.chows-dish:hover .chows-dish__frame::before{opacity:.5;transform:translate(10px,10px)}

.chows-dish__media{position:relative;overflow:hidden;aspect-ratio:4/3;background:#14110E}
.chows-dish__media img{
  display:block;width:100%;height:100%;object-fit:cover;
  transition:transform .7s cubic-bezier(.4,0,.2,1);
}
.chows-dish:hover .chows-dish__media img{transform:scale(1.04)}
.chows-dish__media img.is-placeholder,
.chows-dish:hover .chows-dish__media img.is-placeholder{transform:none}

.chows-dish__seal{
  position:absolute;top:0;left:0;z-index:3;background:var(--chows-gold);color:#0E0D0B;
  font-family:var(--chows-sans);font-size:10px;font-weight:600;letter-spacing:2px;
  text-transform:uppercase;padding:7px 12px;
}

.chows-dish__name small{
  display:block;font-family:var(--chows-sans);font-size:11px;font-weight:500;
  letter-spacing:2px;text-transform:uppercase;color:var(--chows-muted);margin-top:6px;
}
.chows-dish__flags{display:inline-flex;gap:5px;vertical-align:middle;margin-left:8px;position:relative;top:-2px}
.chows-menu .chows-aller{
  display:inline-flex !important;
  align-items:center;justify-content:center;
  width:19px;height:19px;border-radius:50%;
  border:1px solid var(--chows-gold-2);color:var(--chows-gold-2);
  font-family:var(--chows-sans);font-size:10px;font-style:normal;font-weight:500;
  line-height:1 !important;letter-spacing:0;
  padding:0 0 1px;cursor:help;
}
.chows-dish__desc{
  font-family:var(--chows-sans);font-size:13px;font-weight:400;line-height:1.7em;
  color:var(--chows-text);margin:0 0 18px;
}
/* ---------- set-menu courses ---------- */
.chows-dish__courses{
  list-style:none;margin:0 0 20px;padding:0;
  border-top:1px solid var(--chows-line-soft);
}
.chows-dish__courses li{
  margin:0;padding:13px 0;
  border-bottom:1px solid var(--chows-line-soft);
}
.chows-course__label{
  display:block;
  font-family:var(--chows-sans);font-size:10px;font-weight:600;
  letter-spacing:2.5px;text-transform:uppercase;color:var(--chows-gold-2);
  margin-bottom:6px;
}
.chows-course__items{
  display:block;
  font-family:var(--chows-serif);font-size:18px;font-weight:500;
  line-height:1.45;color:var(--chows-cream);
}

.chows-dish__foot{
  display:flex;align-items:center;justify-content:space-between;
  gap:12px;flex-wrap:wrap;margin-top:auto;
  padding-top:16px;border-top:1px solid var(--chows-line-soft);
}
.chows-dish__price{
  font-family:var(--chows-serif);font-size:26px;font-weight:600;line-height:1;
  color:var(--chows-cream);white-space:nowrap;
}
.chows-price__cur{
  font-family:var(--chows-sans);font-size:11px;font-weight:400;
  letter-spacing:2px;color:var(--chows-muted);margin-right:6px;
}
.chows-price__plus{
  font-family:var(--chows-sans);font-size:12px;font-weight:400;
  color:var(--chows-muted);margin-left:2px;vertical-align:6px;
}

/* Same shape as the theme's reservation button, scaled to the card. */
.chows-dish__cta{
  display:inline-block;
  background:rgba(196,159,46,.10);
  border:1px solid transparent;
  padding:12px 20px;
  font-family:var(--chows-sans);font-size:11px;font-weight:600;
  letter-spacing:2px;text-transform:uppercase;color:var(--chows-cream);
  white-space:nowrap;
  transition:background .3s ease,color .3s ease,border-color .3s ease;
}
.chows-dish__cta:hover,
.chows-dish__cta:focus{
  background:var(--chows-gold);
  border-color:var(--chows-gold);
  color:#FFFFFF !important;
}
.chows-dish__cta:focus-visible{outline:1px solid var(--chows-gold);outline-offset:3px}

/* ---------- printed rows ---------- */
.chows-menu__rows{border-top:1px solid var(--chows-line-soft)}
.chows-row{
  display:flex;align-items:baseline;gap:14px;
  padding:16px 4px;border-bottom:1px solid var(--chows-line-soft);
}
.chows-row[hidden]{display:none}
.chows-row__name{
  font-family:var(--chows-serif);font-size:22px;font-weight:500;
  color:var(--chows-cream);min-width:0;flex:1 1 auto;overflow-wrap:break-word;
}
.chows-row__desc{
  display:block;font-family:var(--chows-sans);font-size:13px;font-weight:400;
  color:var(--chows-text);margin-top:5px;line-height:1.7em;
}
.chows-row__lead{flex:1;border-bottom:1px dotted var(--chows-line-soft);transform:translateY(-5px)}
.chows-row__price{
  font-family:var(--chows-serif);font-size:22px;font-weight:600;
  color:var(--chows-cream);white-space:nowrap;
}

/* ---------- notes, empty, band ---------- */
.chows-menu__note{
  margin:22px 0 0;padding:16px 18px;border-left:1px solid var(--chows-line);
  font-size:13px;line-height:1.7em;color:var(--chows-muted);
}
.chows-menu__empty,
.chows-menu__nores{text-align:center;padding:80px 20px;border:1px solid var(--chows-line-soft);margin-top:26px}
.chows-menu__empty h3,
.chows-menu__nores h3{
  font-family:var(--chows-serif);font-weight:500;font-size:30px;
  margin:0 0 12px;color:var(--chows-cream);
}
.chows-menu__empty p,
.chows-menu__nores p{font-size:14px;color:var(--chows-text);line-height:1.7em;max-width:440px;margin:0 auto}

.chows-menu__vat{
  text-align:center;padding:56px 0 0;margin:0;
  font-family:var(--chows-sans);font-size:11px;font-weight:400;
  letter-spacing:2px;text-transform:uppercase;color:var(--chows-muted);
}

.chows-menu__band{
  display:flex;align-items:center;justify-content:center;gap:22px;flex-wrap:wrap;
  margin-top:44px;padding:16px 20px;background:var(--chows-gold);color:#0E0D0B;
}
.chows-menu__band b{font-family:var(--chows-sans);font-size:12px;font-weight:600;letter-spacing:1px}
.chows-menu__band span{display:flex;align-items:center;gap:7px;font-size:12px;line-height:1}
.chows-menu .chows-menu__band i{
  display:inline-flex !important;
  align-items:center;justify-content:center;
  flex:0 0 auto;width:18px;height:18px;border-radius:50%;
  background:#0E0D0B;color:var(--chows-gold);
  font-family:var(--chows-sans);font-size:10px;font-style:normal;font-weight:500;
  line-height:1 !important;letter-spacing:0;
  padding:0 0 1px;text-indent:0;
}

.chows-menu__warn{
  padding:16px 18px;border:1px dashed var(--chows-line);
  color:var(--chows-muted);font-family:var(--chows-sans);font-size:14px;
}

.chows-menu .screen-reader-text{
  position:absolute;width:1px;height:1px;overflow:hidden;
  clip:rect(1px,1px,1px,1px);white-space:nowrap;
}

/* ---------- responsive ---------- */
@media (max-width:1024px){
  .chows-menu[data-columns="4"]{--chows-cols:3}
}

@media (max-width:860px){
  .chows-menu,
  .chows-menu[data-columns="3"],
  .chows-menu[data-columns="4"]{--chows-cols:2}
  .chows-menu__grid{gap:18px}
  .chows-menu__tab{padding:15px 16px;letter-spacing:2px}
  .chows-menu__tab::after{left:16px;right:16px}
}

@media (max-width:600px){
  .chows-menu,
  .chows-menu[data-columns="2"],
  .chows-menu[data-columns="3"],
  .chows-menu[data-columns="4"]{--chows-cols:1}

  .chows-menu__script{font-size:clamp(30px,9vw,40px)}

  /* Tabs stay on one line and swipe sideways; a gold fade marks the edge. */
  .chows-menu__util{flex-direction:column;align-items:stretch;gap:0;margin-top:20px;border-bottom:0}
  .chows-menu__tabs{border-bottom:1px solid var(--chows-line-soft)}
  .chows-menu__tab{padding:14px 14px;font-size:11px;letter-spacing:1.5px}
  .chows-menu__tab::after{left:14px;right:14px}
  .chows-menu__util::before{
    content:"";position:absolute;top:0;right:0;width:34px;height:50px;
    background:linear-gradient(90deg,rgba(14,13,11,0),var(--chows-ink) 75%);
    pointer-events:none;z-index:2;
  }
  .chows-menu__find{flex:1 1 auto;width:100%;padding:14px 0 10px}
  .chows-menu__jump{flex:1 1 auto;gap:5px}
  .chows-menu__jump a{padding:8px 12px;font-size:10px;letter-spacing:1.5px}

  .chows-menu__section{padding-top:30px}
  .chows-menu__head{gap:12px;margin-bottom:18px}
  .chows-menu .chows-menu__head h2{font-size:11px !important;letter-spacing:2px !important}

  .chows-menu__grid{gap:16px}
  .chows-dish{padding:14px 14px 18px}
  .chows-dish__frame{margin-bottom:16px}
  .chows-menu .chows-dish__name{font-size:22px !important}
  .chows-dish__desc{margin-bottom:16px}
  .chows-dish__price{font-size:24px}
  .chows-dish__cta{padding:11px 16px;font-size:10px}

  /* The offset frame reads as a smudge under a finger, so drop it. */
  .chows-dish:hover{transform:none}
  .chows-dish:hover .chows-dish__frame::before{opacity:0;transform:none}
  .chows-dish:hover .chows-dish__media img{transform:none}

  .chows-row{gap:10px;flex-wrap:wrap;padding:14px 2px}
  .chows-row__name{flex:1 1 100%;font-size:19px}
  .chows-row__lead{display:none}
  .chows-row__price{flex:0 0 auto;font-size:19px}

  .chows-menu__empty,
  .chows-menu__nores{padding:56px 18px}
  .chows-menu__vat{padding-top:40px;letter-spacing:1.5px}

  .chows-menu__band{gap:10px 16px;padding:16px 14px;margin-top:34px}
  .chows-menu__band span{font-size:11px}
}

/* Coarse pointers never get a hover state that sticks after a tap. */
@media (hover:none){
  .chows-dish:hover{transform:none}
  .chows-dish:hover .chows-dish__frame::before{opacity:0;transform:none}
  .chows-dish:hover .chows-dish__media img{transform:none}
}

@media (prefers-reduced-motion:reduce){
  .chows-menu *{transition:none !important}
  .chows-menu__tabs{scroll-behavior:auto}
}
