/* THE EAGLE • 2026 custom booking date-range calendar.
   Inspired by Tzortzi's two-month layout, not its booking policy.
   Own 1-night inquiry minimum; no unverified closed dates. */
.eagle-contact-page #booking-form .contact-dates{position:relative}
body.eagle-date-is-open .eagle-contact-page #booking-form .contact-dates{
 position:relative;z-index:1010;
}
.eagle-contact-page #booking-form .eagle-calendar-popover{
 position:absolute!important;
 top:calc(100% + 10px)!important;
 left:50%!important;
 right:auto!important;
 bottom:auto!important;
 width:min(690px,calc(100vw - 34px))!important;
 max-width:min(690px,calc(100vw - 34px))!important;
 max-height:min(76svh,735px)!important;
 overflow-y:auto!important;
 overscroll-behavior:contain;
 padding:24px!important;
 box-sizing:border-box!important;
 transform:translateX(-50%)!important;
 margin:0!important;
 border:1px solid var(--cr-line)!important;
 border-top:3px solid var(--cr-gold)!important;
 border-radius:19px!important;
 background:var(--cr-panel)!important;
 color:var(--cr-ink)!important;
 box-shadow:0 24px 65px rgba(15,20,17,.24)!important;
 z-index:1050!important;
 font-family:"DM Sans","Manrope",sans-serif!important;
}
.eagle-contact-page #booking-form .eagle-calendar-popover[hidden]{
 display:none!important;
}
.eagle-contact-page #booking-form .eagle-calendar-header{
 display:flex;
 justify-content:space-between;
 align-items:flex-start;
 gap:12px;
 margin-bottom:17px;
}
.eagle-contact-page #booking-form .eagle-calendar-kicker{
 font-size:.68rem!important;
 font-weight:850!important;
 letter-spacing:.17em!important;
 line-height:1.4!important;
 color:var(--cr-gold)!important;
 margin:0 0 5px!important;
}
.eagle-contact-page #booking-form .eagle-calendar-header h3{
 font-family:"Playfair Display",Georgia,serif!important;
 font-size:clamp(1.35rem,2vw,1.75rem)!important;
 font-weight:700!important;
 line-height:1.3!important;
 color:var(--cr-ink)!important;
 margin:0!important;
}
.eagle-contact-page #booking-form .eagle-calendar-close{
 display:grid;place-items:center;
 flex:0 0 32px;
 width:32px;height:32px;
 padding:0!important;
 background:var(--cr-bg)!important;
 border:1px solid var(--cr-line)!important;
 border-radius:50%!important;
 color:var(--cr-ink)!important;
 font-family:Arial,sans-serif!important;
 font-size:1.35rem!important;
 cursor:pointer;
}
.eagle-contact-page #booking-form .eagle-calendar-selection{
 display:grid;
 grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);
 gap:10px;
 align-items:center;
 padding:12px 15px;
 border:1px solid var(--cr-line);
 border-radius:13px;
 background:var(--cr-bg);
 margin:0 0 13px;
}
.eagle-contact-page #booking-form .eagle-cal-summary{
 display:flex;flex-direction:column;
 min-width:0;gap:3px;
}
.eagle-contact-page #booking-form .eagle-cal-summary small{
 color:var(--cr-muted)!important;
 font-size:.66rem!important;
 letter-spacing:.11em;
 font-weight:800;
}
.eagle-contact-page #booking-form .eagle-cal-summary strong{
 color:var(--cr-ink)!important;
 font-size:.92rem!important;
 font-weight:750;
 line-height:1.35;
}
.eagle-contact-page #booking-form .eagle-cal-separator{
 font-size:1.25rem;
 color:var(--cr-gold);
 align-self:center;
}
.eagle-contact-page #booking-form .eagle-calendar-navigation{
 display:flex;align-items:center;justify-content:space-between;
 gap:9px;
 padding:4px 0 13px;
}
.eagle-contact-page #booking-form .eagle-calendar-period{
 flex:1;
 text-align:center;
 font-size:.95rem;
 font-weight:750;
 color:var(--cr-ink)!important;
 line-height:1.35;
 text-transform:capitalize;
}
.eagle-contact-page #booking-form .eagle-cal-prev,
.eagle-contact-page #booking-form .eagle-cal-next{
 display:grid;place-items:center;
 flex:0 0 37px;
 width:37px;height:37px;
 padding:0!important;
 border:1px solid var(--cr-line)!important;
 border-radius:50%!important;
 background:var(--cr-bg)!important;
 color:var(--cr-gold)!important;
 cursor:pointer;
}
.eagle-contact-page #booking-form .eagle-cal-prev:disabled,
.eagle-contact-page #booking-form .eagle-cal-next:disabled{
 opacity:.34!important;cursor:not-allowed!important;
}
.eagle-contact-page #booking-form .eagle-calendar-months{
 display:grid!important;
 grid-template-columns:repeat(2,minmax(0,1fr))!important;
 gap:19px!important;
}
.eagle-contact-page #booking-form .eagle-cal-month{
 min-width:0;
 padding:0 4px;
}
.eagle-contact-page #booking-form .eagle-cal-month-title{
 font-size:.88rem!important;
 font-weight:850!important;
 color:var(--cr-ink)!important;
 margin:0 0 13px!important;
 text-align:center;
 text-transform:capitalize;
}
.eagle-contact-page #booking-form .eagle-cal-grid{
 display:grid!important;
 grid-template-columns:repeat(7,minmax(0,1fr))!important;
 gap:3px!important;
 width:100%;
}
.eagle-contact-page #booking-form .eagle-cal-weekday{
 text-align:center;
 display:grid;place-items:center;
 height:27px;
 font-size:.7rem;
 font-weight:750;
 color:var(--cr-muted)!important;
}
.eagle-contact-page #booking-form .eagle-cal-empty{
 height:37px;
 display:block;
}
.eagle-contact-page #booking-form .eagle-cal-day{
 display:grid!important;
 place-items:center!important;
 box-sizing:border-box!important;
 width:100%!important;
 height:37px!important;
 min-width:0!important;
 min-height:37px!important;
 line-height:1!important;
 padding:0!important;
 margin:0!important;
 border:1px solid transparent!important;
 background:transparent!important;
 color:var(--cr-ink)!important;
 font-family:"DM Sans",system-ui,sans-serif!important;
 font-size:.83rem!important;
 font-weight:650!important;
 border-radius:8px!important;
 box-shadow:none!important;
 cursor:pointer!important;
 transition:background-color .12s ease,border-color .12s ease!important;
}
.eagle-contact-page #booking-form .eagle-cal-day:not(:disabled):hover,
.eagle-contact-page #booking-form .eagle-cal-day.is-hover-range{
 background:var(--cr-faq)!important;
 border-color:var(--cr-gold)!important;
}
.eagle-contact-page #booking-form .eagle-cal-day.is-today{
 border-color:var(--cr-gold)!important;
}
.eagle-contact-page #booking-form .eagle-cal-day.is-between,
.eagle-contact-page #booking-form .eagle-cal-day.is-hover-range{
 border-radius:0!important;
 background:color-mix(in srgb,var(--cr-gold) 19%,var(--cr-panel))!important;
}
.eagle-contact-page #booking-form .eagle-cal-day.is-start,
.eagle-contact-page #booking-form .eagle-cal-day.is-end{
 color:#191a15!important;
 background:#d9b94e!important;
 border-color:#ba9e3b!important;
 font-weight:850!important;
 border-radius:8px!important;
}
.eagle-contact-page #booking-form .eagle-cal-day.is-disabled{
 color:var(--cr-muted)!important;
 opacity:.33!important;
 cursor:not-allowed!important;
}
.eagle-contact-page #booking-form .eagle-cal-hint{
 display:block!important;
 font-size:.82rem!important;
 line-height:1.5!important;
 color:var(--cr-muted)!important;
 padding:10px 0 0!important;
 min-height:28px!important;
 margin:9px 0 12px!important;
 border-top:1px solid var(--cr-line);
}
.eagle-contact-page #booking-form .eagle-calendar-footer{
 display:flex;
 justify-content:space-between;
 align-items:center;
 gap:14px;
}
.eagle-contact-page #booking-form .eagle-cal-clear{
 border:1px solid var(--cr-line)!important;
 background:var(--cr-bg)!important;
 color:var(--cr-ink)!important;
 border-radius:8px!important;
 min-height:43px!important;
 padding:10px 15px!important;
 font-weight:750!important;
 cursor:pointer;
}
.eagle-contact-page #booking-form .eagle-calendar-footer .date-panel-done{
 width:auto!important;
 flex:1;
 min-height:43px!important;
 margin:0!important;
 background:linear-gradient(110deg,#977a32,#c7aa4b)!important;
 color:#191a14!important;
 border-radius:8px!important;
 border:1px solid transparent!important;
 padding:10px 15px!important;
 font-weight:850!important;
 cursor:pointer;
}
.eagle-contact-page #booking-form .eagle-calendar-footer .date-panel-done:disabled{
 opacity:.43!important;
 cursor:not-allowed!important;
}
.eagle-contact-page #booking-form .eagle-calendar-popover button:focus-visible{
 outline:2px solid var(--cr-gold)!important;outline-offset:2px!important;
}
.eagle-contact-page #booking-form .eagle-calendar-field-values[hidden]{
 display:none!important;
}
@media(max-width:650px){
 body.eagle-date-is-open{overflow:hidden!important;}
 .eagle-contact-page #booking-form .contact-dates{
  z-index:650!important;
 }
 .eagle-contact-page #booking-form .eagle-calendar-popover{
  position:fixed!important;
  inset:auto!important;
  left:50%!important;
  top:calc(50% - 64px)!important;
  transform:translate(-50%,-50%)!important;
  width:calc(100vw - 24px)!important;
  max-width:440px!important;
  max-height:calc(100svh - 30px)!important;
  border-radius:18px!important;
  padding:19px 15px 16px!important;
 }
 .eagle-contact-page #booking-form .eagle-calendar-months{
  grid-template-columns:minmax(0,1fr)!important;
 }
 .eagle-contact-page #booking-form .eagle-cal-day{
  height:clamp(36px,10vw,45px)!important;
  min-height:36px!important;
 }
 .eagle-contact-page #booking-form .eagle-cal-empty{
  height:clamp(36px,10vw,45px)!important;
 }
 .eagle-contact-page #booking-form .eagle-cal-weekday{height:28px;}
 .eagle-contact-page #booking-form .eagle-calendar-selection{
  padding:11px;
 }
}
@media(prefers-reduced-motion:reduce){
 .eagle-contact-page #booking-form .eagle-cal-day{transition:none!important;}
}

/* Keep the popover above fixed mobile booking/WhatsApp controls without
   placing an overlay over the date buttons. */
body.eagle-date-is-open .eagle-contact-page #booking-form {
 position:relative!important;
 z-index:1200!important;
}

/* Avoid covering the mobile calendar's Clear/Done controls with the
   persistent WhatsApp and BOOK NOW floating actions. */
body.eagle-date-is-open .floating-whatsapp,
body.eagle-date-is-open .mobile-actions {
 visibility:hidden!important;
 pointer-events:none!important;
}
