.elementor-25155 .elementor-element.elementor-element-118a624{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--overlay-opacity:0.5;--padding-top:10%;--padding-bottom:10%;--padding-left:5%;--padding-right:5%;}.elementor-25155 .elementor-element.elementor-element-118a624::before, .elementor-25155 .elementor-element.elementor-element-118a624 > .elementor-background-video-container::before, .elementor-25155 .elementor-element.elementor-element-118a624 > .e-con-inner > .elementor-background-video-container::before, .elementor-25155 .elementor-element.elementor-element-118a624 > .elementor-background-slideshow::before, .elementor-25155 .elementor-element.elementor-element-118a624 > .e-con-inner > .elementor-background-slideshow::before, .elementor-25155 .elementor-element.elementor-element-118a624 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-c7034c9 );--background-overlay:'';}.elementor-25155 .elementor-element.elementor-element-118a624:not(.elementor-motion-effects-element-type-background), .elementor-25155 .elementor-element.elementor-element-118a624 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:center center;background-repeat:no-repeat;background-size:cover;}.elementor-widget-heading .elementor-heading-title{color:var( --e-global-color-primary );}.elementor-25155 .elementor-element.elementor-element-43fdfc7{text-align:center;}.elementor-25155 .elementor-element.elementor-element-43fdfc7 .elementor-heading-title{color:var( --e-global-color-5ff4a88 );}.elementor-25155 .elementor-element.elementor-element-a7ea3b8{text-align:center;}.elementor-25155 .elementor-element.elementor-element-a7ea3b8 .elementor-heading-title{color:var( --e-global-color-5ff4a88 );}.elementor-25155 .elementor-element.elementor-element-10ab4e6{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--padding-top:50px;--padding-bottom:50px;--padding-left:0px;--padding-right:0px;}.elementor-25155 .elementor-element.elementor-element-10ab4e6:not(.elementor-motion-effects-element-type-background), .elementor-25155 .elementor-element.elementor-element-10ab4e6 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5ff4a88 );}body.elementor-page-25155:not(.elementor-motion-effects-element-type-background), body.elementor-page-25155 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-color:var( --e-global-color-5ff4a88 );}:root{--page-title-display:none;}@media(max-width:767px){.elementor-25155 .elementor-element.elementor-element-10ab4e6{--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}}@media(min-width:768px){.elementor-25155 .elementor-element.elementor-element-10ab4e6{--width:92%;}}/* Start custom CSS *//* =========  Globals  ========= */
:root{
  --site-header-height: 80px;       /* desktop sticky header height */
  --accent-red: #e11b1b;
  --rule-gray: #e8e8e8;
  --ink-900: #141414;
  --ink-800: #1f1f1f;
  --ink-700: #333;
  --ink-600: #4a4a4a;
  --paper: #fff;
  --radius: 14px;

  /* Mobile */
  --tabbar-h: 56px;
  --mobile-header-offset: 0px;      /* set to your fixed mobile header height if needed */
}

/* =========  Two-column grid (desktop)  ========= */
.hm-layout{
  display: grid;
  grid-template-columns: 40% 60%;
  gap: 16px;
  align-items: start;
}
.hm-col.hm-right{
  position: sticky;
  top: var(--site-header-height);
}

/* Map sizing: desktop */
#heatmap{
  width: 100%;
  height: 90vh;
  min-height: 560px;
}

/* =========  Intro card (optional)  ========= */
.hm-intro{
  border: 3px solid var(--accent-red);
  border-radius: 16px;
  padding: 24px;
  background: var(--paper);
  margin: 0 0 20px;
}
.hm-intro-media{
  width: 220px; height: 220px; border-radius: 50%;
  overflow: hidden; margin: 0 0 16px;
  border: 3px solid var(--accent-red);
}
.hm-intro-media img{ width: 100%; height: 100%; object-fit: cover; object-position: center top; display: block; }
.hm-intro-kicker{ font-size: 24px; letter-spacing: .06em; text-transform: uppercase; color: #b42323; font-weight: 700; margin-bottom: 10px; }
.hm-intro-title{ font-size: 32px; line-height: 1.1; margin: 0 0 10px; font-weight: 800; color: var(--ink-900); }
.hm-intro-sub{ font-size: 24px; line-height: 1.45; margin: 0 0 10px; font-weight: 500; color: var(--ink-700); }
.hm-intro-copy{ font-size: 18px; line-height: 1.5; color: var(--ink-600); margin: 0; }


/* Author byline under circular image */
.hm-author-byline{
  margin: 8px 0 12px;
  font-size: 16px;
  line-height: 1.35;
  color: var(--ink-700);
}
.hm-author-byline .name{
  font-weight: 800;
  color: var(--ink-900);
  margin-right: 6px;
}
.hm-author-byline .title{
  font-weight: 600;
}
.hm-author-byline .links a{
  text-decoration: none;
  font-weight: 700;
  color: var(--ink-900);
  margin: 0 6px;
}
.hm-author-byline .links a:hover{ text-decoration: underline; }


/* =========  Listings (left column)  ========= */
.venue{
  position: relative;
  padding: 16px 14px;
  border-radius: var(--radius);
  background: transparent;
  transition: background-color .25s ease, box-shadow .25s ease, transform .25s ease;
}

/* Rhythm + separators */
.venue + .venue{ margin-top: 28px; }
.venue + .venue::before{
  content:"";
  position: absolute; top: -14px; left: 0; right: 0; height: 1px;
  background: var(--rule-gray);
}
/* Small red accent before subsequent titles */
.venue + .venue .venue-title::before{
  content:"";
  display: block; width: 64px;
  border-top: 3px solid var(--accent-red);
  margin: 12px 0 10px;
}

/* Header row: bar name only (image removed) */
.menu-card-head{ display: block; margin-bottom: 6px; }
.menu-card-titles{ min-width: 0; }
.venue-title{
  cursor: pointer;
  font-weight: 800;
  font-size: 22px;
  line-height: 1.2;
  color: var(--ink-900);
  margin: 0;
  word-wrap: break-word;
}

/* Address */
.address-only{ list-style:none; padding:0; margin: 10px 0 14px; }
.meta-row{
  display:grid; grid-template-columns: 22px 1fr; gap:10px; align-items:start;
  color: var(--ink-700); font-size:14px; line-height:1.45;
}
.meta-row .icon{ opacity:.9; transform: translateY(1px); }

/* Subtitle + martini name */
.section-subtitle{
  font-size: 12px; text-transform: uppercase; letter-spacing: .08em;
  font-weight: 800; color: var(--accent-red); margin: 0 0 6px;
}
.menu-card-martini-name{
  font-size: 18px; font-weight: 800; color: var(--ink-800); margin: 0 0 10px;
}

/* Spirit callout */
.spirit-callout{ display:flex; align-items:center; gap:10px; margin: 0 0 10px; }
.spirit-label{
  font-size: 12px; text-transform: uppercase; letter-spacing: .06em;
  color: var(--ink-700); font-weight: 700;
}
.spirit-pill{
  display:inline-block; padding: 6px 10px; border-radius: 999px;
  background: #f6f6f6; border: 1px solid #ececec;
  font-weight: 700; font-size: 13px; color: var(--ink-900);
}

/* Notes / ingredients */
.martini-notes{ margin: 0 0 10px; font-size: 14px; line-height: 1.5; color: var(--ink-700); }

/* Price row */
.price-row{ margin: 0 0 8px; font-weight: 800; color: var(--ink-900); }
.price-row .hh{ color: var(--ink-700); font-weight: 700; margin-left: 6px; }

/* Links */
.menu-card-links{ display: flex; gap: 16px; flex-wrap: wrap; margin-top: 6px; }
.btn-link{
  font-weight: 700; font-size: 13.5px; color: var(--ink-900);
  text-decoration: none; position: relative; padding-bottom: 2px;
}
.btn-link::after{
  content:""; position:absolute; left:0; right:0; bottom:0; height:2px;
  background: var(--ink-900); transform: scaleX(0); transform-origin:left; transition: transform .2s ease;
}
.btn-link:hover::after{ transform: scaleX(1); }

/* Card photo: full-width unless that would exceed 350px tall; no cropping; LEFT-aligned; no border/radius on figure */
.menu-card-photo{
  width: 100%;
  margin-top: 10px;           /* 10px space below the links */
  background: transparent;
  box-shadow: none;           /* no shadow */
  border: 0;
  border-radius: 0;
  display: block;             /* left-align default */
}
.menu-card-photo .menu-card-img{
  max-width: 100%;            /* grow to full card width when possible */
  max-height: 350px;          /* never exceed 350px tall */
  width: auto;                /* whichever limit hits first wins */
  height: auto;               /* preserve aspect ratio; no cropping */
  display: block;             /* left aligned */
  border-radius: 12px;        /* radius applied to the image itself */
}

/* Active state (shown on map) */
.venue.is-active{
  background: var(--paper);
  box-shadow:
    inset 3px 0 0 var(--accent-red),
    0 12px 28px rgba(0,0,0,.07);
  transform: translateZ(0);
}

/* Emphasis for "open in maps" links */
.nav-link {
  text-decoration: underline;
  text-underline-offset: 2px;
  font-weight: 600;
}
.nav-link:hover { opacity: .85; }

/* =========  Map bubble (InfoWindow)  ========= */
/* Hide .iw-only in left column… */
.venues-list .iw-only{ display:none; }
/* …but show it inside Google’s InfoWindow */
.gm-style .gm-style-iw .iw-only{ display:block; }

/* Tighten InfoWindow header & close button */
.gm-style .gm-style-iw .iw-title{
  margin: 0 0 6px; font-size: 16px; font-weight: 800; color: var(--ink-900);
}
.gm-style .gm-style-iw .section-subtitle{ margin-top: 6px; }
.gm-style-iw-c{ padding: 6px 12px 10px !important; border-radius: 10px; }
.gm-style .gm-style-iw-d{ padding: 0 !important; overflow: visible !important; }
.gm-ui-hover-effect{ top: 4px !important; right: 4px !important; width: 24px !important; height: 24px !important; }

/* Hide list-only elements inside the popup (e.g., big photo block) */
.gm-style .gm-style-iw .list-only{ display: none !important; }

/* =========  Mobile / tablet  ========= */
@media (max-width: 900px){
  .hm-layout{ grid-template-columns: 1fr; }

  /* Bottom pill tab bar */
  .hm-mobile-tabs{
    position: fixed; left: 0; right: 0; bottom: 12px;
    display: flex; justify-content: center; gap: 8px;
    z-index: 30; padding-bottom: env(safe-area-inset-bottom);
  }
  .hm-mobile-tabs[hidden]{ display:none; }
  .hm-mobile-tabs .tab-btn{
    appearance: none; border: 1px solid #ddd; background: #fff; color: #111;
    padding: 10px 16px; border-radius: 999px; font-weight: 800; font-size: 14px;
  }
  .hm-mobile-tabs .tab-btn.is-active{ background: #111; color: #fff; border-color: #111; }

  /* Default mobile = MAP (list hidden) */
  body.mobile-mode-map .hm-col.hm-left{ display: none; }
  body.mobile-mode-map .hm-col.hm-right{ position: static; }
  body.mobile-mode-map #heatmap{
    position: fixed; left:0; right:0;
    top: var(--mobile-header-offset);
    width: 100vw;
    height: calc(100vh - var(--mobile-header-offset) - var(--tabbar-h) - 12px - env(safe-area-inset-bottom));
    min-height: 320px;
    z-index: 20;
  }

  /* Listings mode */
  body.mobile-mode-list .hm-col.hm-left{ display: block; }
  body.mobile-mode-list #heatmap{ display: none; }

  /* Mobile refinements */
  .venue-title{ font-size: 20px; }
  .venue{ padding: 14px 12px; }
  .venue + .venue{ margin-top: 22px; }
  .venue + .venue::before{ top: -12px; }
  .hm-intro{ margin-bottom: 24px; }
}/* End custom CSS */