/* ===========================================================================
   Components: everything the shortcodes draw — the hero plaque, the bill of
   fare in its six layouts, the bourbon library, hours, contact, the map,
   events, the gift card, reservations.

   Every selector starts with `.mh` (the body class): the Elementor kit styles
   bare h1–h6, a, p, label and buttons at (0,1,1), and a component rule of
   one class would lose to it. `.mh .x` is (0,2,0) and wins whatever the
   stylesheet order.
   =========================================================================== */

/* ------------------------------------------------------------ hero plaque */

.mh .plaque{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));
  background:rgba(17,17,18,.9);border:1px solid var(--line-dark-strong);border-radius:var(--r-sm);
  -webkit-backdrop-filter:blur(14px) saturate(130%);backdrop-filter:blur(14px) saturate(130%);
  box-shadow:0 34px 80px -34px rgba(0,0,0,.95),inset 0 1px 0 rgba(236,221,188,.08);
}
.mh .plaque-cell{display:flex;flex-direction:column;gap:.3rem;padding:1.15rem 1.6rem 1.25rem;position:relative;min-width:0}
.mh .plaque-cell + .plaque-cell::before{content:"";position:absolute;left:0;top:20%;bottom:20%;width:1px;background:var(--line-dark)}
.mh .plaque-k{display:flex;align-items:center;gap:.55rem;font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--gold)}
.mh .plaque-k .ico{width:15px;height:15px}
.mh .plaque-v{font-family:var(--font-serif);font-size:1.32rem;font-weight:600;line-height:1.2;color:var(--white);text-decoration:none}
.mh .plaque-v .open-status{font:inherit;color:inherit}
.mh a.plaque-v:hover{color:var(--gold-hi)}
.mh .plaque-s{font-size:.86rem;line-height:1.4;color:var(--on-dark-2)}
@media (max-width:767px){
  .mh .plaque{grid-template-columns:1fr}
  .mh .plaque-cell{padding:.95rem 1.2rem}
  .mh .plaque-cell + .plaque-cell::before{left:1.2rem;right:1.2rem;top:0;bottom:auto;width:auto;height:1px}
}

/* the plaque's phone reads as a number, not a word */
.mh .plaque-tel{letter-spacing:.02em;font-variant-numeric:lining-nums}

/* ------------------------------------------------------------ the menus */

.mh .menu{position:relative}
.mh .menu-tabs{
  position:sticky;top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h));z-index:30;
  margin:0 calc(-1 * var(--gutter)) clamp(2.5rem, 2rem + 2vw, 3.5rem);padding:0 var(--gutter);
  background:rgba(244,237,225,.94);border-bottom:1px solid var(--line);
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
}
.mh .menu-tabs-list{
  display:flex;gap:.2rem;list-style:none;margin:0 auto;padding:0;max-width:var(--container);
  overflow-x:auto;scrollbar-width:none;-webkit-mask:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);mask:linear-gradient(90deg,transparent,#000 18px,#000 calc(100% - 18px),transparent);
}
.mh .menu-tabs-list::-webkit-scrollbar{display:none}
/* the strip's full width must never become the page's: it scrolls instead */
.mh .menu-tabs,.mh .menu-tabs-list,.mh .wine-wrap{contain:inline-size}
/* centred when the tabs fit, scrollable from the first tab when they do not
   (justify-content:center would push the overflow off the left edge, out of reach) */
.mh .menu-tabs-list > li:first-child{margin-left:auto}
.mh .menu-tabs-list > li:last-child{margin-right:auto}
.mh .menu-tab{
  display:block;padding:1.05rem 1rem;white-space:nowrap;position:relative;
  font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;
  color:var(--text-2);text-decoration:none;
}
.mh .menu-tab::after{content:"";position:absolute;left:1rem;right:1rem;bottom:-1px;height:2px;background:var(--claret);transform:scaleX(0);transition:transform .25s var(--ease)}
.mh .menu-tab:hover{color:var(--ink)}
.mh .menu-tab.is-active{color:var(--claret)}
.mh .menu-tab.is-active::after{transform:scaleX(1)}
/* over the photographed room the strip is dark glass */
/* full-bleed: a shadow band carries the glass to both edges (shadows add no scroll), clipped to the strip's height */
.mh .sec-amb .menu-tabs{
  background:rgba(18,12,9,.97);border-bottom-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none;
  box-shadow:0 0 0 100vmax rgba(18,12,9,.97),0 1px 0 100vmax var(--line-dark-strong);clip-path:inset(0 -100vmax -1px)
}
.mh .sec-amb .menu-tab{color:var(--on-dark-2)}
.mh .sec-amb .menu-tab:hover{color:var(--white)}
.mh .sec-amb .menu-tab.is-active{color:var(--gold-hi)}
.mh .sec-amb .menu-tab::after{background:var(--gold)}

/* explicit minmax(0,1fr) tracks: a grid's intrinsic size uses its items'
   MAX-content for fr tracks, and one wide section must not drag every other
   one past the edge of a phone */
.mh .menu-sections{display:grid;grid-template-columns:minmax(0,1fr);gap:clamp(2rem, 1.5rem + 2vw, 3.25rem)}
.mh .bof{min-width:0}

/* each section is a page of a printed bill of fare: laid cream stock, lit
   from the middle, its edges toned like a sheet that has been handled */
.mh .bof{
  position:relative;padding:clamp(2.2rem, 1.6rem + 2.6vw, 4rem) clamp(1.25rem, .5rem + 4vw, 4.5rem);
  background-color:#FBF6EC;
  background-image:
    radial-gradient(120% 85% at 50% 38%,rgba(255,255,255,.6),rgba(255,255,255,0) 62%),
    radial-gradient(140% 110% at 50% 50%,rgba(150,110,60,0) 62%,rgba(150,110,60,.12) 100%),
    var(--paper-laid);
  border-radius:var(--r-sm);
  box-shadow:0 1px 0 rgba(255,255,255,.75) inset,0 0 0 1px rgba(216,192,152,.3),0 36px 70px -36px rgba(0,0,0,.85);
  scroll-margin-top:calc(var(--header-h) + 90px);
}
.mh .bof::before{content:"";position:absolute;inset:12px;border:1px solid rgba(184,149,92,.45);pointer-events:none;border-radius:2px}
.mh .bof::after{content:"";position:absolute;inset:16px;border:1px solid rgba(184,149,92,.2);pointer-events:none;border-radius:1px}
.mh .bof-head{text-align:center;margin:0 auto clamp(1.8rem, 1.4rem + 1.4vw, 2.6rem);max-width:60ch}
.mh .bof-orn{
  display:block;width:150px;aspect-ratio:640 / 210;margin:0 auto .7rem;background:var(--gold-lo);
  -webkit-mask:var(--filigree) center / contain no-repeat;mask:var(--filigree) center / contain no-repeat;
}
.mh .bof-title{text-transform:none;font-family:var(--font-serif);font-size:clamp(2rem, 1.5rem + 1.8vw, 2.9rem);font-weight:600;line-height:1.05;color:var(--ink);margin:0}
.mh .bof-note{margin:.75rem auto 0;font-family:var(--font-serif);font-style:italic;font-size:1.15rem;line-height:1.45;color:var(--text-2)}
.mh .bof:only-child .bof-head:only-child{margin-bottom:0}

/* list: name …… price, the description beneath — two columns */
.mh .dishes{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2rem clamp(2rem, 1rem + 3vw, 4rem)}
.mh .dishes-1col{grid-template-columns:minmax(0,1fr);gap:1.6rem}
.mh .dish{position:relative;min-width:0}
.mh .dish-top{display:grid;grid-template-columns:minmax(0,auto) 1fr auto;align-items:end;gap:.65rem}
.mh .dish-name{
  margin:0;font-family:var(--font-display);font-size:.98rem;font-weight:600;line-height:1.35;letter-spacing:.07em;text-transform:uppercase;color:var(--ink);
  max-width:30ch;text-wrap:balance;
}
.mh .dish.is-starred .dish-name::after{content:"";display:inline-block;width:7px;height:7px;margin:0 0 .18em .55em;background:var(--gold-lo);transform:rotate(45deg)}
.mh .dish-lead{height:1px;margin-bottom:.48em;background:radial-gradient(circle,var(--line-strong) 1px,transparent 1.3px) 0 0 / 6px 2px repeat-x;min-width:1.25rem}
.mh .dish-price{font-family:var(--font-serif);font-size:1.32rem;font-weight:600;line-height:1;color:var(--claret);white-space:nowrap}
.mh .dish-price .cur,.mh .tier-price .cur,.mh .drink-price .cur,.mh .flight-price .cur,.mh .wine td .cur,.mh .bl-price .cur{font-size:.68em;vertical-align:.32em;margin-right:1px}
.mh .dish-price .pl,.mh .drink-price .pl,.mh .flight-price .pl{font-family:var(--font-text);font-size:.68rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);vertical-align:.18em}
.mh .dish-price .sep,.mh .drink-price .sep{color:var(--gold-lo)}
.mh .price-words{font-family:var(--font-serif);font-style:italic;font-size:.9em;color:var(--brass)}
.mh .dish-desc{margin:.4rem 0 0;font-family:var(--font-serif);font-style:italic;font-size:1.13rem;font-weight:500;line-height:1.45;color:var(--text-2)}
.mh .dish-add{margin:.35rem 0 0;font-size:.84rem;line-height:1.5;color:var(--muted)}
.mh .dish-tags{display:flex;flex-wrap:wrap;gap:.35rem;list-style:none;margin:.55rem 0 0;padding:0}
.mh .dish-tags .tag{
  display:inline-flex;align-items:center;gap:.35rem;padding:.2rem .55rem;border:1px solid rgba(184,149,92,.55);border-radius:var(--pill);
  font-family:var(--font-display);font-size:.58rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--brass);
}
.mh .dish-tags .tag-award,.mh .dish-tags .tag-chef{background:rgba(216,192,152,.18)}
.mh .dish-86{display:inline-block;margin:.5rem 0 0;padding:.18rem .55rem;border-radius:var(--pill);background:var(--ink);font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-hi)}
.mh .dish.is-unavailable .dish-name,.mh .dish.is-unavailable .dish-desc,.mh .dish.is-unavailable .dish-price{opacity:.5}
.mh .dish.is-unavailable .dish-price{text-decoration:line-through;text-decoration-thickness:1px}
@media (max-width:767px){
  .mh .dishes{grid-template-columns:minmax(0,1fr);gap:1.6rem}
  .mh .dish-top{grid-template-columns:minmax(0,1fr) auto}
  .mh .dish-lead{display:none}
  .mh .dish-price.is-multi{grid-column:1 / -1;justify-self:start}
  .mh .dish-name{max-width:none}
}

/* wine: glass and bottle in columns */
.mh .wine-wrap{overflow-x:auto;scrollbar-width:none}
.mh .wine-wrap::-webkit-scrollbar{display:none}
.mh .wine{width:100%;border-collapse:collapse}
.mh .wine thead th{
  padding:0 0 .8rem 1.2rem;border-bottom:1px solid var(--line-strong);text-align:right;
  font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.24em;text-transform:uppercase;color:var(--brass);
}
.mh .wine thead th.wine-th-name{text-align:left;padding-left:0}
.mh .wine tbody th{padding:1.05rem 0;border-bottom:1px solid var(--line);text-align:left;font-weight:400;vertical-align:top}
.mh .wine tbody tr:last-child th,.mh .wine tbody tr:last-child td{border-bottom:0}
.mh .wine tbody th{position:relative;padding-left:2.7rem}
.mh .wine-ico{position:absolute;left:0;top:1.02rem;display:grid;place-items:center;width:30px;height:30px;color:var(--brass)}
.mh .wine-ico .ico{width:25px;height:25px;stroke-width:1.15}
.mh .bof-wine[id*="red"] .wine-ico{color:var(--claret)}
.mh .wine-name{font-family:var(--font-serif);font-size:1.32rem;font-weight:600;line-height:1.25;color:var(--ink)}
.mh .wine-region{margin-left:.35rem;font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);white-space:nowrap}
.mh .wine-note{display:block;max-width:62ch;margin-top:.25rem;font-family:var(--font-serif);font-style:italic;font-size:1.06rem;line-height:1.45;color:var(--text-2)}
.mh .wine td{
  width:6rem;padding:1.15rem 0 1rem 1.2rem;border-bottom:1px solid var(--line);vertical-align:top;text-align:right;white-space:nowrap;
  font-family:var(--font-serif);font-size:1.32rem;font-weight:600;color:var(--claret);
}
.mh .wine-na{color:var(--line-strong)}
.mh .wine tr.is-unavailable .wine-name,.mh .wine tr.is-unavailable td{opacity:.5}
/* on a phone each wine is a block: the name and note full width, its
   prices beneath with their labels (the column heads go) */
@media (max-width:600px){
  .mh .wine thead{display:none}
  .mh .wine,.mh .wine tbody{display:block}
  .mh .wine tbody tr{display:flex;flex-wrap:wrap;align-items:baseline;gap:.15rem 1.4rem;padding:1rem 0 1.05rem 2.7rem;border-bottom:1px solid var(--line)}
  .mh .wine tbody tr:last-child{border-bottom:0}
  .mh .wine tbody th{position:relative;flex:1 1 100%;padding:0;border:0}
  .mh .wine-ico{left:-2.7rem;top:-.1rem}
  .mh .wine td{width:auto;padding:.35rem 0 0;border:0;font-size:1.2rem}
  .mh .wine td::before{content:attr(data-label);margin-right:.45rem;font-family:var(--font-display);font-size:.58rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brass);vertical-align:.2em}
  .mh .wine td:has(.wine-na){display:none}
  .mh .wine-name{font-size:1.2rem}
}

/* cards: the cocktails — each with a line drawing of its glass, the name and
   price on one line, the recipe beneath; two columns of entries, ruled */
.mh .drinks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:clamp(2rem, 1rem + 3vw, 4.5rem)}
.mh .drink{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1.15rem;padding:1.4rem 0 1.35rem;border-bottom:1px solid var(--line)}
.mh .drink-ico{display:grid;place-items:center;width:54px;height:54px;flex:none;border-radius:50%;border:1px solid rgba(184,149,92,.5);color:var(--brass);transition:border-color .3s var(--ease),background-color .3s var(--ease)}
.mh .drink-ico .ico{width:31px;height:31px;stroke-width:1.05}
.mh .drink:hover .drink-ico{border-color:var(--gold-lo);background-color:rgba(216,192,152,.1)}
.mh .drink-body{min-width:0;padding-top:.3rem}
.mh .drink-top{display:grid;grid-template-columns:minmax(0,auto) 1fr auto;align-items:baseline;gap:.65rem}
.mh .drink-name{text-transform:none;margin:0;font-family:var(--font-serif);font-size:1.5rem;font-weight:600;line-height:1.15;color:var(--ink)}
.mh .drink-lead{height:1px;min-width:1rem;background:radial-gradient(circle,var(--line-strong) 1px,transparent 1.3px) 0 0 / 6px 2px repeat-x;transform:translateY(-.3em)}
.mh .drink-price{margin:0;font-family:var(--font-serif);font-size:1.42rem;font-weight:600;line-height:1;color:var(--claret);white-space:nowrap}
.mh .drink-desc{margin:.4rem 0 0;font-family:var(--font-serif);font-style:italic;font-size:1.1rem;line-height:1.45;color:var(--text-2)}
.mh .drink .dish-tags{margin-top:.55rem}
.mh .drink.is-unavailable .drink-body{opacity:.6}
@media (max-width:767px){
  .mh .drinks{grid-template-columns:minmax(0,1fr)}
  .mh .drink{gap:.9rem}
  .mh .drink-ico{width:46px;height:46px}
  .mh .drink-ico .ico{width:27px;height:27px}
}

/* flights: a tasting board, numbered in roman */
.mh .flights{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(min(250px,100%),1fr));gap:1.25rem}
.mh .flight{
  position:relative;padding:1.6rem 1.5rem 1.4rem;border-radius:var(--r-sm);
  background-color:var(--walnut);background-image:var(--glow-gold);color:var(--on-dark);
  box-shadow:0 26px 50px -30px rgba(17,17,18,.85),inset 0 0 0 1px rgba(216,192,152,.22);
}
.mh .flight-head{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding-bottom:.85rem;margin-bottom:.9rem;border-bottom:1px solid var(--line-dark)}
.mh .flight-name{text-transform:none;margin:0;font-family:var(--font-serif);font-size:1.45rem;font-weight:600;line-height:1.12;color:var(--white)}
.mh .flight-price{font-family:var(--font-serif);font-size:1.4rem;font-weight:600;color:var(--gold);white-space:nowrap}
.mh .flight-price .price-words{color:var(--gold);font-size:1rem}
.mh .flight-pours{margin:0;padding-left:2.1rem;list-style:upper-roman;display:grid;gap:.35rem}
.mh .flight-pours li{font-size:.98rem;line-height:1.4;color:var(--on-dark)}
.mh .flight-pours li::marker{font-family:var(--font-display);font-size:.78rem;font-weight:700;color:var(--gold)}
.mh .flight-desc{margin:0;font-family:var(--font-serif);font-style:italic;font-size:1.1rem;line-height:1.45;color:var(--on-dark-2)}
.mh .flight .dish-86{background:var(--gold);color:var(--ink)}

/* tiers: beer, grouped by price */
.mh .tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:1.5rem 2rem}
.mh .tier{padding-top:.9rem;border-top:1px solid var(--line-strong)}
.mh .tier-price{display:flex;align-items:center;gap:.5rem;margin:0 0 .6rem;font-family:var(--font-serif);font-size:1.7rem;font-weight:600;line-height:1;color:var(--claret)}
.mh .tier-price .ico{width:24px;height:24px;flex:none;stroke-width:1.15;color:var(--brass)}
.mh .tier-items{list-style:none;margin:0;padding:0;display:grid;gap:.3rem}
.mh .tier-items li{font-family:var(--font-serif);font-size:1.18rem;font-weight:500;color:var(--ink)}
.mh .tier-items li.is-unavailable{opacity:.45;text-decoration:line-through}
.mh .tier-ky{display:inline-block;margin-left:.3rem;padding:.05rem .3rem;border:1px solid rgba(184,149,92,.6);border-radius:2px;font-family:var(--font-display);font-size:.55rem;font-weight:700;letter-spacing:.12em;color:var(--brass);vertical-align:.2em}

/* names: no prices */
.mh .names{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(220px,100%),1fr));gap:1rem 2rem;max-width:900px;text-align:center}
.mh .names li{display:flex;flex-direction:column;gap:.15rem}
.mh .names-n{font-family:var(--font-display);font-size:.92rem;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.mh .names-d{font-family:var(--font-serif);font-style:italic;font-size:1.05rem;color:var(--text-2)}

.mh .menu-empty{text-align:center;font-family:var(--font-serif);font-style:italic;font-size:1.25rem;color:var(--text-2)}

/* the home page's menu card */
.mh .menu-card{position:relative;padding:12px;background:var(--paper);border-radius:var(--r-sm);box-shadow:var(--shadow-2)}
.mh .menu-card-in{position:relative;padding:clamp(1.8rem, 1.2rem + 2vw, 3rem) clamp(1.4rem, 1rem + 2vw, 3rem);border:1px solid rgba(184,149,92,.5)}
.mh .menu-card-in::before{content:"";position:absolute;inset:4px;border:1px solid rgba(184,149,92,.22);pointer-events:none}
.mh .menu-card-orn{display:block;width:130px;aspect-ratio:640 / 210;margin:0 auto 1.6rem;background:var(--gold-lo);-webkit-mask:var(--filigree) center / contain no-repeat;mask:var(--filigree) center / contain no-repeat}
.mh .menu-card-orn.is-foot{margin:1.8rem auto 0;transform:scaleY(-1)}

/* ------------------------------------------------------- the bourbon library */

/* A bottle finder on cream paper: the count and a big search; tiles to browse
   by style and by price; the letters; then one page of results — the set the
   guest chose, forty at a time. */
.mh .bl{position:relative}
.mh .bl-search{position:relative;display:block}
.mh .bl-search .ico{position:absolute;left:1rem;top:50%;width:18px;height:18px;margin-top:-9px;color:var(--gold);pointer-events:none}
.mh .bl-search input,.mh .bl .bl-search input[type="search"],.mh .bl-find .bl-search input[type="search"]{
  width:100%;min-height:50px;padding:.7rem 1rem .7rem 2.8rem;border:1px solid var(--line-dark-strong);border-radius:var(--r-sm);
  background:rgba(255,255,255,.05);color:var(--white);font-family:var(--font-text);font-size:1rem;
}
.mh .bl-search input[type="search"]::placeholder{color:var(--on-dark-3)}
.mh .bl .bl-search input[type="search"]:focus-visible,.mh .bl-find .bl-search input[type="search"]:focus-visible{outline:2px solid var(--gold);outline-offset:1px;border-color:var(--gold)}

.mh .bl-find-head{text-align:center;max-width:46rem;margin:0 auto clamp(2.4rem, 1.8rem + 2vw, 3.4rem)}
.mh .bl-kicker{display:inline-flex;align-items:center;gap:.85rem;margin:0 0 .9rem;font-family:var(--font-display);font-size:var(--fs-kicker);font-weight:700;letter-spacing:.3em;text-transform:uppercase;color:var(--brass)}
.mh .bl-kicker::before,.mh .bl-kicker::after{content:"";width:7px;height:7px;background:currentColor;transform:rotate(45deg)}
.mh .bl-big{margin:0 0 1.6rem;font-family:var(--font-serif);font-size:var(--fs-h2);font-weight:600;line-height:1.02;color:var(--ink);text-transform:none}
.mh .bl-big b{font-weight:600;font-style:italic;color:var(--claret)}
.mh .bl-search-big .ico{left:1.25rem;width:21px;height:21px;margin-top:-10.5px;color:var(--brass)}
.mh .bl .bl-search-big input[type="search"]{
  min-height:64px;padding:.9rem 1.2rem .9rem 3.4rem;border:1px solid rgba(184,149,92,.55);border-radius:var(--r-sm);
  background:#FFFDF8;color:var(--ink);font-family:var(--font-serif);font-size:1.3rem;
  box-shadow:0 1px 2px rgba(17,17,18,.05),0 18px 40px -28px rgba(17,17,18,.5);
}
.mh .bl .bl-search-big input[type="search"]::placeholder{color:var(--muted)}
.mh .bl .bl-search-big input[type="search"]:focus-visible{outline:2px solid var(--claret);outline-offset:2px;border-color:var(--claret)}

/* browse: six styles beside four price bands */
.mh .bl-browse{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:clamp(1.6rem, 1rem + 2vw, 3rem);align-items:start}
.mh .bl-browse-k{display:flex;align-items:center;gap:1rem;margin:0 0 1rem;font-family:var(--font-display);font-size:.72rem;font-weight:700;letter-spacing:.26em;text-transform:uppercase;color:var(--text-2)}
.mh .bl-browse-k::after{content:"";flex:1;height:1px;background:var(--line-strong)}
.mh .bl-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.8rem}
.mh .bl-bands .bl-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
.mh .bl-tile{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:.28rem;min-width:0;height:100%;
  padding:1rem 1.05rem 1.05rem;text-align:left;cursor:pointer;
  background:#FFFDF8;border:1px solid rgba(184,149,92,.38);border-radius:var(--r-sm);
  box-shadow:0 1px 2px rgba(17,17,18,.05),0 16px 32px -26px rgba(17,17,18,.5);
  transition:border-color .2s var(--ease),box-shadow .2s var(--ease),transform .2s var(--ease),background-color .2s var(--ease);
}
.mh .bl-tile:hover{border-color:var(--gold-lo);transform:translateY(-2px);box-shadow:0 1px 2px rgba(17,17,18,.06),0 22px 38px -26px rgba(17,17,18,.6)}
.mh .bl-tile:focus-visible{outline:2px solid var(--claret);outline-offset:2px}
.mh .bl-tile[aria-pressed="true"]{border-color:var(--claret);background:#FFF9F4;box-shadow:inset 0 0 0 1px var(--claret),0 18px 34px -26px rgba(86,20,23,.55)}
.mh .bl-tile-ico{display:grid;place-items:center;width:38px;height:38px;margin-bottom:.25rem;border-radius:50%;border:1px solid rgba(184,149,92,.45);color:var(--brass)}
.mh .bl-tile-ico .ico{width:22px;height:22px;stroke-width:1.2}
.mh .bl-tile[aria-pressed="true"] .bl-tile-ico{border-color:var(--claret);color:var(--claret)}
.mh .bl-tile-name{font-family:var(--font-serif);font-size:1.32rem;font-weight:600;line-height:1.1;color:var(--ink)}
.mh .bl-tile-n{font-family:var(--font-display);font-size:.6rem;font-weight:700;letter-spacing:.18em;text-transform:uppercase;color:var(--claret)}
.mh .bl-tile-desc{margin-top:.2rem;font-family:var(--font-serif);font-style:italic;font-size:1rem;line-height:1.35;color:var(--text-2)}
.mh .bl-tile-sub{font-family:var(--font-serif);font-style:italic;font-size:1.02rem;line-height:1.3;color:var(--text-2)}
.mh .bl-tile-glasses{display:flex;gap:1px;margin-bottom:.35rem;color:var(--brass)}
.mh .bl-tile-glasses .ico{width:19px;height:19px;stroke-width:1.3}
.mh .bl-tile-band .bl-tile-name{font-size:1.5rem}
.mh .bl-tile-band[aria-pressed="true"] .bl-tile-glasses{color:var(--claret)}

/* the letters */
.mh .bl-az{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.3rem;margin:clamp(2rem, 1.6rem + 1.4vw, 2.8rem) 0 clamp(1.6rem, 1.2rem + 1.2vw, 2.2rem)}
.mh .bl-az-k{margin-right:.6rem;font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--text-2)}
.mh .bl-az a,.mh .bl-az span:not(.bl-az-k){
  display:inline-grid;place-items:center;width:36px;height:36px;border-radius:50%;
  font-family:var(--font-display);font-size:.8rem;font-weight:700;color:var(--ink);text-decoration:none;
  border:1px solid var(--line-strong);background:#FFFDF8;transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.mh .bl-az a:hover{border-color:var(--claret);color:var(--claret)}
.mh .bl-az a[aria-current="true"]{background:var(--claret);border-color:var(--claret);color:var(--white)}
.mh .bl-az span:not(.bl-az-k){color:var(--muted);opacity:.4;background:transparent;border-color:transparent}

/* the one page of results: a sheet of the bill of fare */
.mh .bl-results{
  position:relative;padding:clamp(1.8rem, 1.2rem + 2vw, 3rem) clamp(1.2rem, .4rem + 3.4vw, 3.6rem) clamp(2rem, 1.4rem + 2vw, 3rem);
  background:#FBF7EE;background-image:radial-gradient(120% 85% at 50% 30%,rgba(255,255,255,.6),rgba(255,255,255,0) 62%),var(--paper-laid);
  border-radius:var(--r-sm);box-shadow:0 1px 0 rgba(255,255,255,.75) inset,0 0 0 1px rgba(216,192,152,.32),0 36px 70px -40px rgba(17,17,18,.6);
  scroll-margin-top:calc(var(--header-h) + 76px);
}
.mh .bl-results::before{content:"";position:absolute;inset:12px;border:1px solid rgba(184,149,92,.4);pointer-events:none;border-radius:2px}
.mh .bl-results-head{position:relative;display:flex;flex-wrap:wrap;align-items:baseline;gap:.6rem 1.4rem;margin-bottom:1.1rem;padding-bottom:1rem;border-bottom:3px double var(--claret)}
.mh .bl-results-title{flex:1 1 auto;margin:0;font-family:var(--font-serif);font-size:clamp(1.8rem, 1.4rem + 1.2vw, 2.5rem);font-weight:600;line-height:1.05;color:var(--ink);text-transform:none}
.mh .bl-count{margin:0;white-space:nowrap;font-family:var(--font-display);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--muted)}
.mh .bl-count b{margin-right:.25rem;font-family:var(--font-serif);font-size:1.4rem;letter-spacing:0;color:var(--claret)}
.mh .bl-all{
  min-height:38px;padding:.4rem 1rem;border:1px solid rgba(138,30,35,.45);border-radius:var(--pill);background:transparent;cursor:pointer;
  font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--claret);white-space:nowrap;
  transition:background-color .2s var(--ease),color .2s var(--ease),border-color .2s var(--ease);
}
.mh .bl-all:hover,.mh .bl-all[aria-pressed="true"]{background:var(--claret);border-color:var(--claret);color:var(--white)}
.mh .bl-list{list-style:none;margin:0;padding:0;columns:2 300px;column-gap:clamp(2rem, 1rem + 3vw, 4rem)}
.mh .bl-list li{display:flex;align-items:baseline;gap:.55rem;break-inside:avoid;padding:.55rem 0;border-bottom:1px solid var(--line)}
.mh .bl-list li[hidden]{display:none}
.mh .bl-name{font-family:var(--font-serif);font-size:1.22rem;font-weight:600;line-height:1.28;color:var(--ink)}
.mh .bl-lead{flex:1;min-width:1rem;height:1px;background:radial-gradient(circle,var(--line-strong) 1px,transparent 1.3px) 0 0 / 6px 2px repeat-x;transform:translateY(-.3em)}
.mh .bl-price{font-family:var(--font-serif);font-size:1.22rem;font-weight:600;color:var(--claret);white-space:nowrap}
.mh .bl-flag{
  display:inline-block;margin-left:.45rem;padding:.08rem .4rem;border-radius:var(--pill);vertical-align:.18em;
  font-family:var(--font-display);font-size:.52rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  background:rgba(184,149,92,.2);color:var(--brass);
}
.mh .bl-flag-new{background:var(--claret);color:var(--white)}
.mh .bl-flag-rare{background:transparent;border:1px solid var(--brass);color:var(--brass)}
.mh .bl-empty{padding:2.6rem 1rem 1rem;text-align:center;font-family:var(--font-serif);font-style:italic;font-size:1.3rem;color:var(--text-2)}
.mh .bl-pager{display:flex;justify-content:center;margin-top:1.8rem}
.mh .bl-page{
  display:inline-flex;align-items:center;justify-content:center;min-height:50px;padding:.8rem 1.6rem;cursor:pointer;
  border:1px solid var(--ink);border-radius:var(--r-sm);background:var(--ink);color:var(--gold-hi);
  font-family:var(--font-display);font-size:.74rem;font-weight:700;letter-spacing:.17em;text-transform:uppercase;
  transition:background-color .2s var(--ease),transform .2s var(--ease);
}
.mh .bl-page:hover{background:var(--walnut);transform:translateY(-2px)}
.mh .bl-page[hidden]{display:none}
@media (max-width:1024px){
  .mh .bl-browse{grid-template-columns:minmax(0,1fr)}
  .mh .bl-bands .bl-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}
}
@media (max-width:767px){
  .mh .bl-tiles,.mh .bl-bands .bl-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}
  .mh .bl-tile-desc{display:none}
  .mh .bl-az a,.mh .bl-az span:not(.bl-az-k){width:32px;height:32px}
  .mh .bl-az-k{flex-basis:100%;margin:0 0 .3rem;text-align:center}
  .mh .bl-results::before{inset:8px}
}

/* the dock: a slim solid band joined to the header's foot, so the list passes
   cleanly under one edge. Hidden (and inert) until main.js docks it. */
.mh .bl-dock{
  position:fixed;left:0;right:0;top:calc(var(--wp-admin--admin-bar--height, 0px) + var(--header-h));z-index:150;
  background:rgba(17,17,18,.97);border-bottom:1px solid var(--line-dark-strong);box-shadow:0 16px 30px -20px rgba(0,0,0,.9);
  -webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);
  transform:translateY(-110%);visibility:hidden;transition:transform .32s var(--ease),visibility 0s linear .32s;
}
.mh .bl-dock.is-on{transform:none;visibility:visible;transition:transform .32s var(--ease)}
@media (max-width:600px){ .mh.admin-bar .bl-dock{top:var(--header-h)} }
.mh .bl-dock-in{display:flex;align-items:center;gap:1rem;max-width:var(--container);margin:0 auto;padding:.5rem var(--gutter)}
.mh .bl-dock-search{flex:0 1 300px;min-width:0}
.mh .bl .bl-dock-search input[type="search"]{min-height:40px;padding-block:.45rem;font-size:.95rem}
.mh .bl-dock-az{flex:1;display:flex;justify-content:center;gap:.1rem;min-width:0}
.mh .bl-dock-az a,.mh .bl-dock-az span{
  display:inline-grid;place-items:center;width:25px;height:30px;border-radius:var(--r-sm);
  font-family:var(--font-display);font-size:.72rem;font-weight:700;color:var(--gold-hi);text-decoration:none;
}
.mh .bl-dock-az a:hover,.mh .bl-dock-az a[aria-current="true"]{background:var(--gold);color:var(--ink)}
.mh .bl-dock-az span{opacity:.3;color:var(--on-dark-3)}
.mh .bl-dock-az a.is-empty{opacity:.3;pointer-events:none}
.mh .bl-dock-count{margin:0;white-space:nowrap;font-size:.82rem;color:var(--on-dark-2)}
.mh .bl-dock-count b{font-family:var(--font-serif);font-size:1.25rem;font-weight:600;color:var(--gold);margin-right:.15rem}
.mh .bl-dock-filters{
  display:inline-flex;align-items:center;gap:.35rem;min-height:38px;padding:.35rem .85rem;border:1px solid var(--line-dark-strong);border-radius:var(--pill);
  background:transparent;color:var(--on-dark-2);cursor:pointer;
  font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
}
.mh .bl-dock-filters .ico{width:12px;height:12px;transform:rotate(180deg)}
.mh .bl-dock-filters:hover{border-color:var(--gold);color:var(--white)}
@media (max-width:1280px){ .mh .bl-dock-az{display:none} .mh .bl-dock-search{flex:1 1 auto} }
@media (max-width:560px){ .mh .bl-dock-in{gap:.6rem} .mh .bl-dock-filters{padding-inline:.6rem} }

/* the home page's "find a bottle" */
.mh .bl-find{display:flex;gap:.6rem;max-width:560px}
.mh .bl-find .bl-search{flex:1}
@media (max-width:560px){ .mh .bl-find{flex-direction:column} }

/* ------------------------------------------------------------------ hours */

.mh .hours-card{color:inherit}
.mh .hours-status{margin:0 0 1rem;font-family:var(--font-serif);font-size:1.25rem;font-weight:600}
.mh .hours{width:100%;border-collapse:collapse}
.mh .hours th,.mh .hours td{padding:.62rem 0;border-bottom:1px solid var(--line);vertical-align:top;text-align:left}
.mh .hours th{width:46%;padding-right:1rem;font-family:var(--font-display);font-size:.74rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--text-2)}
.mh .hours td{font-family:var(--font-serif);font-size:1.15rem;font-weight:500;color:var(--text)}
.mh .hours td span{display:block}
.mh .hours tr.is-today th,.mh .hours tr.is-today td{color:var(--claret)}
.mh .hours tr.is-today th::after{content:"Today";display:inline-block;margin-left:.5rem;padding:.06rem .4rem;border-radius:var(--pill);background:var(--claret);color:var(--white);font-size:.55rem;letter-spacing:.14em;vertical-align:.2em}
.mh .hours-bar{display:flex;align-items:flex-start;gap:.6rem;margin:1rem 0 0;font-size:.95rem;color:var(--text-2)}
.mh .hours-bar .ico{width:18px;height:18px;margin-top:.15rem;color:var(--brass)}
.mh .hours-bar b{color:var(--text);font-weight:600}
.mh .hours-note{margin:.6rem 0 0;font-size:.88rem;font-style:italic;color:var(--muted)}
.mh .hours-special{margin-top:1.2rem;padding:1rem 1.1rem;border:1px dashed rgba(184,149,92,.6);border-radius:var(--r-sm)}
.mh .hours-special-k{margin:0 0 .4rem;font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.mh .hours-special ul{list-style:none;margin:0;padding:0;display:grid;gap:.3rem;font-size:.92rem}
.mh .hours-special b{font-weight:600}

/* dark grounds */
.mh .sec-ink .hours th,.mh .sec-walnut .hours th,.mh .hours-footer .hours th{color:var(--on-dark-2)}
.mh .sec-ink .hours td,.mh .sec-walnut .hours td,.mh .hours-footer .hours td{color:var(--on-dark)}
.mh .sec-ink .hours th,.mh .sec-ink .hours td,.mh .sec-walnut .hours th,.mh .sec-walnut .hours td,
.mh .hours-footer .hours th,.mh .hours-footer .hours td{border-bottom-color:var(--line-dark)}
.mh .sec-ink .hours tr.is-today th,.mh .sec-ink .hours tr.is-today td,
.mh .hours-footer .hours tr.is-today th,.mh .hours-footer .hours tr.is-today td{color:var(--gold-hi)}
.mh .sec-ink .hours tr.is-today th::after,.mh .hours-footer .hours tr.is-today th::after{background:var(--gold);color:var(--ink)}
.mh .sec-ink .hours-bar,.mh .hours-footer .hours-bar{color:var(--on-dark-2)}
.mh .sec-ink .hours-bar b,.mh .hours-footer .hours-bar b{color:var(--white)}
.mh .sec-ink .hours-bar .ico,.mh .hours-footer .hours-bar .ico{color:var(--gold)}
.mh .sec-ink .hours-status{color:var(--white)}
.mh .sec-ink .hours-special{border-color:var(--line-dark-strong);color:var(--on-dark-2)}
.mh .sec-ink .hours-special-k{color:var(--gold)}
.mh .hours-footer .hours th{width:40%;font-size:.68rem}
.mh .hours-footer .hours td{font-size:1.02rem}
.mh .hours-footer .hours th,.mh .hours-footer .hours td{padding:.42rem 0}

/* --------------------------------------------------------------- contact */

.mh .contact{list-style:none;margin:0;padding:0;display:grid;gap:1.2rem}
.mh .contact-item{display:flex;gap:1rem;align-items:flex-start}
.mh .contact-ico{display:inline-grid;place-items:center;width:46px;height:46px;flex:none;border-radius:50%;border:1px solid rgba(184,149,92,.55);color:var(--brass)}
.mh .contact-ico .ico{width:19px;height:19px}
.mh .contact-k{margin:0 0 .1rem;font-family:var(--font-display);font-size:.66rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.mh .contact-v{margin:0;font-family:var(--font-serif);font-size:1.3rem;font-weight:600;line-height:1.3}
.mh .contact-v a{color:var(--ink);text-decoration:none}
.mh .contact-v a:hover{color:var(--claret)}
.mh .sec-ink .contact-ico,.mh .sec-walnut .contact-ico{border-color:var(--line-dark-strong);color:var(--gold)}
.mh .sec-ink .contact-k,.mh .sec-walnut .contact-k{color:var(--gold)}
.mh .sec-ink .contact-v a,.mh .sec-walnut .contact-v a{color:var(--white)}
.mh .sec-ink .contact-v a:hover,.mh .sec-walnut .contact-v a:hover{color:var(--gold-hi)}
.mh .contact-cards{grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem}
.mh .contact-cards .contact-item{flex-direction:column;gap:.9rem;padding:1.8rem 1.6rem;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);box-shadow:var(--shadow-1)}
.mh .contact-cards .link-arrow{margin-top:.6rem}
@media (max-width:1024px){ .mh .contact-cards{grid-template-columns:1fr} }

/* ------------------------------------------------------------------- map */

.mh .map-frame{position:relative;height:100%;min-height:380px;border-radius:var(--r-sm);overflow:hidden;background:var(--walnut);box-shadow:var(--shadow-gold)}
.mh .map-frame iframe{display:block;width:100%;height:100%;min-height:380px;border:0;filter:grayscale(.35) contrast(1.02)}
.mh .map-cta{position:absolute;left:1rem;bottom:1rem}

/* ---------------------------------------------------------------- events */

/* one event or five, the row stays centred under the heading */
.mh .events{display:flex;flex-wrap:wrap;justify-content:center;gap:1.4rem}
.mh .event{flex:1 1 300px;max-width:390px;min-width:0;display:flex;flex-direction:column;background:var(--paper);border:1px solid var(--line);border-radius:var(--r-sm);overflow:hidden;box-shadow:var(--shadow-1)}
.mh .event-img{display:block;width:100%;aspect-ratio:3 / 2;object-fit:cover}
.mh .event-body{position:relative;display:flex;flex-direction:column;gap:.45rem;padding:1.5rem 1.5rem 1.6rem;flex:1}
.mh .event-date{position:absolute;right:1.2rem;top:-1.6rem;display:grid;place-items:center;width:60px;height:66px;margin:0;border-radius:var(--r-sm);background:var(--ink);color:var(--gold);box-shadow:var(--shadow-1)}
.mh .event:not(.has-img) .event-date{position:static;margin-bottom:.4rem}
.mh .event-m{font-family:var(--font-display);font-size:.62rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;line-height:1;margin-top:.55rem}
.mh .event-d{font-family:var(--font-serif);font-size:1.9rem;font-weight:600;line-height:1}
.mh .event-k{margin:0;font-family:var(--font-display);font-size:.64rem;font-weight:700;letter-spacing:.2em;text-transform:uppercase;color:var(--brass)}
.mh .event-title{text-transform:none;margin:0;font-family:var(--font-serif);font-size:1.6rem;font-weight:600;line-height:1.12;color:var(--ink)}
.mh .event-when{display:flex;align-items:flex-start;gap:.45rem;margin:0;font-size:.9rem;color:var(--text-2)}
.mh .event-when .ico{flex:none;margin-top:.22em;color:var(--brass)}
.mh .event-desc{margin:0;font-size:.98rem;color:var(--text-2)}
.mh .event .link-arrow{margin-top:auto;padding-top:.4rem}

/* ------------------------------------------------------------ gift cards */

.mh .gift{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:center;gap:clamp(2rem, 1rem + 4vw, 5rem)}
.mh .gift-visual{position:relative;max-width:460px;width:86%;margin-inline:auto;aspect-ratio:1.586;perspective:1200px}
.mh .gift-card{
  position:absolute;inset:0;z-index:2;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.2rem;
  padding:1.6rem;border-radius:14px;overflow:hidden;
  background:radial-gradient(120% 90% at 20% 10%,#7A2228 0%,var(--oxblood) 45%,#2C0A0C 100%);
  box-shadow:0 40px 70px -30px rgba(17,17,18,.85),inset 0 0 0 1px rgba(236,221,188,.35),inset 0 0 0 7px rgba(86,20,23,.0),inset 0 0 0 8px rgba(236,221,188,.18);
  transform:rotate(-4deg);transition:transform .5s var(--ease);
}
.mh .gift-card::after{content:"";position:absolute;inset:0;background:linear-gradient(115deg,transparent 35%,rgba(255,240,210,.22) 48%,transparent 60%);transform:translateX(-60%);transition:transform 1.2s var(--ease)}
.mh .gift-visual:hover .gift-card{transform:rotate(-1.5deg) translateY(-6px)}
.mh .gift-visual:hover .gift-card::after{transform:translateX(60%)}
.mh .gift-card-back{z-index:1;transform:rotate(5deg) translate(6%,6%);background:linear-gradient(140deg,#2B2D30,var(--ink));box-shadow:0 30px 60px -30px rgba(0,0,0,.8),inset 0 0 0 1px rgba(216,192,152,.25)}
.mh .gift-card-orn{width:44%;aspect-ratio:640 / 210;background:var(--gold);-webkit-mask:var(--filigree) center / contain no-repeat;mask:var(--filigree) center / contain no-repeat;margin-bottom:.4rem}
.mh .gift-card-name{font-family:var(--font-display);font-size:clamp(1.15rem, .8rem + 1.4vw, 1.75rem);font-weight:500;letter-spacing:.06em;color:var(--white);white-space:nowrap}
.mh .gift-card-sub{font-family:var(--font-display);font-size:clamp(.5rem, .4rem + .35vw, .68rem);letter-spacing:.32em;text-transform:uppercase;color:var(--gold)}
.mh .gift-card-foot{position:absolute;left:1.4rem;right:1.4rem;bottom:1.1rem;display:flex;justify-content:space-between;align-items:center;font-family:var(--font-script);font-size:1.5rem;color:var(--gold-hi)}
.mh .gift-card-chip{width:38px;height:28px;border-radius:5px;background:linear-gradient(135deg,var(--gold-hi),var(--gold-lo));box-shadow:inset 0 0 0 1px rgba(17,17,18,.25)}
.mh .gift-body{min-width:0}
.mh .gift-title{text-transform:none;margin:0 0 .6rem;font-family:var(--font-serif);font-size:clamp(2rem, 1.6rem + 1.4vw, 2.8rem);font-weight:600;line-height:1.05;color:var(--ink)}
.mh .gift-lede{margin:0 0 1.5rem;font-family:var(--font-serif);font-style:italic;font-size:1.25rem;line-height:1.45;color:var(--text-2)}
.mh .gift-k{margin:0 0 .8rem;font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.mh .gift-amounts{display:flex;flex-wrap:wrap;gap:.55rem;list-style:none;margin:0 0 1.6rem;padding:0}
.mh .gift-amounts a{
  display:inline-flex;align-items:center;justify-content:center;min-width:76px;height:54px;padding:0 1rem;border:1px solid rgba(184,149,92,.6);border-radius:var(--r-sm);
  font-family:var(--font-serif);font-size:1.45rem;font-weight:600;color:var(--ink);text-decoration:none;background:var(--paper);
  transition:background-color .2s var(--ease),border-color .2s var(--ease),transform .2s var(--ease);
}
.mh .gift-amounts a:hover{background:var(--gold);border-color:var(--gold);transform:translateY(-2px)}
.mh .gift-amounts .cur{align-self:flex-start;margin:.55em 1px 0 0;font-size:.62em}
.mh .gift-range{margin:0 0 1.4rem;font-family:var(--font-serif);font-size:1.6rem;font-weight:600;color:var(--claret)}
.mh .gift-note{margin:1.2rem 0 0;font-size:.95rem;color:var(--text-2)}
.mh .gift-note a{color:var(--claret);font-weight:600}
@media (max-width:767px){ .mh .gift{grid-template-columns:1fr} }

/* --------------------------------------------------------- reservations */

.mh .reserve{display:grid;gap:1.2rem}
.mh .reserve-opt{padding:1.6rem 1.7rem;border-radius:var(--r-sm);background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow-1)}
.mh .reserve-phone{text-align:left}
.mh .reserve-online{background:var(--ink);border-color:var(--ink);color:var(--on-dark)}
.mh .reserve-k{display:flex;align-items:center;gap:.55rem;margin:0 0 .7rem;font-family:var(--font-display);font-size:.68rem;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:var(--brass)}
.mh .reserve-online .reserve-k{color:var(--gold)}
.mh .reserve-tel{display:inline-block;font-family:var(--font-serif);font-size:clamp(2rem, 1.5rem + 1.6vw, 2.8rem);font-weight:600;line-height:1.05;color:var(--ink);text-decoration:none}
.mh .reserve-tel:hover{color:var(--claret)}
.mh .reserve-s{margin:.5rem 0 0;font-size:.95rem;color:var(--text-2)}
.mh .reserve-note{margin:0;font-family:var(--font-serif);font-style:italic;font-size:1.2rem;line-height:1.45;color:var(--text-2)}
.mh .reserve-off{padding:2rem;text-align:center}
.mh .reserve-off p{margin:0 0 .5rem;font-family:var(--font-serif);font-style:italic;font-size:1.3rem;color:var(--text-2)}

/* ------------------------------------------------------------- open status */

.mh .open-status.is-open .open-status-t{color:inherit}
.mh .topbar .open-status{color:var(--on-dark)}

/* a form's place while PlugMatrix Forms is not active */
.mh .form-fallback{padding:.4rem 0 0}
.mh .form-fallback-admin{margin:0 0 1.1rem;padding:.75rem .95rem;border-left:3px solid var(--claret);background:var(--cream);font-size:.88rem;color:var(--text-2)}
.mh .form-fallback-text{margin:0 0 1.4rem;font-family:var(--font-serif);font-size:1.3rem;font-style:italic;line-height:1.45;color:var(--text)}
.mh .form-fallback-actions{display:flex;flex-wrap:wrap;gap:.7rem;margin:0}
