
/* Contact hero focal point - show the venue, not the buildings */
.elementor-element-cafd5b5{background-position:center 60%!important}
@media(max-width:767px){.elementor-element-cafd5b5{background-position:center 80%!important}}

/* TEMP FIX 2026-06-23: hide broken hero video (oversized file). Reveals hero photo. REMOVE this block when a compressed <5MB hero video is installed in Elementor. */
.elementor-element-fbb52cb .elementor-background-video-container{display:none !important;}

/*Calendar Fix*/
@media (min-width: 768px) {
    .elementor-3446 .elementor-element.elementor-element-58e00d8 {
        --width: 100% !important;
    }
}

/* ===== Site-wide fixes (Cowork 2026-07-31) ===== */
/* Fix 1: remove white page edges on all pages (match section green) */
html, body { background-color: #404726 !important; }
/* Fix 2: shrink oversized footer logo site-wide (was 900x600) */
.elementor-element-a1bc469 img { width: 300px !important; height: auto !important; max-width: 100% !important; }


/* ===== GROVE BUTTON SIZING (Cowork 2026-08-07) =====
   Additive. SIZE + SPACING ONLY - no colour, no font-family, no
   border-radius, no background changes. Buttons keep the exact look
   they have now.
   Measured 7 Aug 2026 logged out: 21 of 22 tappable controls on the
   homepage rendered under the 44px minimum touch target (Apple HIG /
   Google Material / WCAG 2.2). Reserve a Cabana, Reserve and Full
   event calendar were rendering 12px tall.
   After this block: 1 of 22 (a phone number inside body copy, correctly
   left inline). Verified no horizontal overflow at 390px or 1280px.
   REVERT: delete this whole block. ===== */
.elementor-button,.elementor-button-link,.elementor-button-wrapper > a,a.elementor-button{
  min-height:46px !important;padding-top:13px !important;padding-bottom:13px !important;
  padding-left:26px !important;padding-right:26px !important;font-size:14px !important;
  line-height:1.25 !important;display:inline-flex !important;align-items:center !important;
  justify-content:center !important;box-sizing:border-box;
}
.elementor-button .elementor-button-content-wrapper,
.elementor-button .elementor-button-text{
  display:inline-flex;align-items:center;justify-content:center;line-height:1.25;
}
a[href*="opentable.com"],a[href^="tel:"]{
  min-height:46px;display:inline-flex;align-items:center;justify-content:center;
  padding-top:12px;padding-bottom:12px;box-sizing:border-box;
}
/* keep links that sit inside body copy inline - don't turn prose into blocks */
p > a[href*="opentable.com"],p > a[href^="tel:"],
.gm-desc a{
  min-height:0;display:inline;padding-top:0;padding-bottom:0;
}
@media (max-width:767px){
  .elementor-button,.elementor-button-link,.elementor-button-wrapper > a,a.elementor-button{
    min-height:50px !important;padding-top:15px !important;padding-bottom:15px !important;
    font-size:15px !important;letter-spacing:.3px !important;
  }
  .elementor-widget-button .elementor-button-wrapper{display:block;}
  .elementor-widget-button .elementor-button{width:100%;}
  a[href*="opentable.com"],a[href^="tel:"]{min-height:50px;}
  .elementor-nav-menu a,.elementor-nav-menu--dropdown a{
    min-height:46px !important;display:flex !important;align-items:center !important;
    padding-top:11px !important;padding-bottom:11px !important;font-size:15px !important;
  }
  .elementor-menu-toggle{
    min-width:46px !important;min-height:46px !important;display:inline-flex !important;
    align-items:center !important;justify-content:center !important;
  }
  .elementor-widget-button + .elementor-widget-button{margin-top:8px;}
}
/* visible keyboard focus - was missing site-wide. Uses the page's own cream. */
.elementor-button:focus-visible,a[href*="opentable.com"]:focus-visible,
a[href^="tel:"]:focus-visible,.elementor-nav-menu a:focus-visible{
  outline:3px solid #f3efe2;outline-offset:2px;
}


/* ===== GROVE CALENDAR TAP TARGETS (Cowork 2026-08-07) =====
   Additive. Sizes/spacing only - no colour, no font-family, no background.

   WHY A SEPARATE BLOCK: the site-wide rule above sizes controls by
   Elementor class or by href (OpenTable / tel:). The calendar is neither.
   It is a custom widget with its own gvc-* classes, and its event booking
   links point at luma.com rather than OpenTable - so 75 .gvc-rsv buttons
   were invisible to an href-based rule and stayed 20px tall.

   Measured logged out, before -> after:
     390px    95 of 150 controls under 44px -> 14. Every gvc-* class cleared.
     1280px   81 controls under 24px -> 10. All 7 .gvc-rsv fixed.
     page     mobile 9,915 -> 11,482px; desktop 9,136 -> 9,985px
     overflow none at either width

   .gvc-ics ("+ Calendar", 86 instances) gets 26px on desktop and the full
   44px on mobile. WCAG 2.2 sets 24x24 CSS px as the AA floor (2.5.8);
   44x44 is AAA (2.5.5) and the touch standard. Sizing 86 secondary buttons
   to 44px on desktop would bloat the page for no accessibility gain.

   REVERT: delete this block. ===== */
.gvc-rsv,.gvc-wknd-rsv{
  min-height:46px;display:inline-flex;align-items:center;justify-content:center;
  padding-top:12px;padding-bottom:12px;font-size:13px;line-height:1.2;box-sizing:border-box;
}
.gvc-ics,.gvc-wknd-ics{
  min-height:26px;display:inline-flex;align-items:center;justify-content:center;
  padding:6px 10px;box-sizing:border-box;
}
.gvc-tab{min-height:44px;box-sizing:border-box;}
@media (max-width:767px){
  .gvc-rsv,.gvc-wknd-rsv{min-height:50px;font-size:14px;}
  .gvc-ics,.gvc-wknd-ics{min-height:44px;font-size:12.5px;padding:10px 12px;}
  .gvc-tab{min-height:46px;font-size:13px;}
}


/* ===== GROVE FOOTER + NAV TAP TARGETS (Cowork 2026-08-07) =====
   Additive. Sizes/spacing only - no colour, no font-family, no background.

   WHY: the footer navigation is marked up as plain links inside a <p>,
   so neither the Elementor rule nor the href rule above reached it. They
   were rendering 15-17px tall on every page - the phone number included,
   which means tap-to-call was a 15px target.

   Measured logged out on the homepage, before -> after:
     390px    15 of 37 controls under 44px -> 1.  Page 7,306 -> 7,427px.
     1280px   11 controls under 24px -> 1.  Page height UNCHANGED (4,809px).
     footer   0 overlapping tap targets at either width. No overflow.

   The one remaining item at both widths is "FAQs" inside the sentence
   "Please see our FAQs for...". That is deliberately left inline - WCAG 2.2
   exempts links inside a sentence (2.5.8 Inline exception), and forcing it
   to 44px would break the paragraph.

   Desktop gets 32px (clears the 24px AA floor for a mouse) and mobile gets
   the full 44px touch target. That is why desktop page height does not move.

   REVERT: delete this block. ===== */
.hfe-skip-link{min-height:44px;display:inline-flex;align-items:center;box-sizing:border-box;}
footer#colophon a{
  display:inline-flex;align-items:center;min-height:32px;line-height:20px;
  padding-top:6px;padding-bottom:6px;box-sizing:border-box;
}
.elementor-nav-menu a{min-height:44px;box-sizing:border-box;}
@media (max-width:767px){
  footer#colophon a{min-height:44px;padding-top:12px;padding-bottom:12px;}
}

/* ===== Contact page polish (2026-08-11) ===== */
/* Card: replace the heavy smeared drop shadow with a hairline
   border + tight ambient shadow (reads cleaner on dark olive) */
.elementor-element-25e0b5a{
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06), 0 8px 24px -18px rgba(0,0,0,.55) !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  border-radius: 14px !important;
  background-color: #3B4224 !important;
  padding: 44px 44px 48px !important;
}
/* Form fields (Contact Form 7) */
.elementor-element-25e0b5a .wpcf7-form-control:not(.wpcf7-submit){
  background-color: #FBFAF5 !important;
  color: #2A2F19 !important;
  border: 1px solid rgba(0,0,0,.10) !important;
  border-radius: 8px !important;
  padding: 14px 16px !important;
  box-shadow: none !important;
  transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease !important;
}
.elementor-element-25e0b5a .wpcf7-form-control:not(.wpcf7-submit)::placeholder{
  color: #7C8062 !important;
  opacity: 1 !important;
}
.elementor-element-25e0b5a .wpcf7-form-control:not(.wpcf7-submit):hover{
  border-color: rgba(0,0,0,.22) !important;
}
.elementor-element-25e0b5a .wpcf7-form-control:not(.wpcf7-submit):focus{
  outline: none !important;
  background-color: #fff !important;
  border-color: #CDBF95 !important;
  box-shadow: 0 0 0 3px rgba(205,191,149,.35) !important;
}
.elementor-element-25e0b5a textarea.wpcf7-form-control{
  resize: vertical !important;
  min-height: 150px !important;
}
.elementor-element-25e0b5a select.wpcf7-form-control{ cursor: pointer !important; }
/* Submit button */
.elementor-element-25e0b5a .wpcf7-submit{
  border: none !important;
  border-radius: 8px !important;
  padding: 15px 34px !important;
  font-weight: 600 !important;
  letter-spacing: .12em !important;
  cursor: pointer !important;
  box-shadow: none !important;
  transition: transform .15s ease, background-color .18s ease, box-shadow .18s ease !important;
}
.elementor-element-25e0b5a .wpcf7-submit:hover{
  background-color: #EFE6CC !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 14px -8px rgba(0,0,0,.5) !important;
}
.elementor-element-25e0b5a .wpcf7-submit:active{ transform: translateY(0) !important; }
/* Reservation buttons: match rounding, add hover state */
.elementor-element-121983d .elementor-button,
.elementor-element-46a67ee .elementor-button,
.elementor-element-a058147 .elementor-button{
  border-radius: 8px !important;
  border-width: 1.5px !important;
  transition: background-color .2s ease, color .2s ease, transform .15s ease !important;
}
.elementor-element-121983d .elementor-button:hover,
.elementor-element-46a67ee .elementor-button:hover,
.elementor-element-a058147 .elementor-button:hover{
  background-color: #fff !important;
  color: #3B4224 !important;
  transform: translateY(-1px) !important;
}
/* Smooth the hard seam where the hero image meets the page background */
.elementor-element-cafd5b5{ position: relative !important; }
.elementor-element-cafd5b5::after{
  content: "" !important;
  position: absolute !important;
  left: 0 !important;
  right: 0 !important;
  bottom: -1px !important;
  height: 90px !important;
  background: linear-gradient(to bottom, rgba(64,71,38,0), #404726 92%) !important;
  pointer-events: none !important;
  z-index: 0 !important;
}
.elementor-element-cafd5b5 > .e-con-inner{
  position: relative !important;
  z-index: 1 !important;
}
/* ===== end Contact page polish ===== */
