/* Hipsy Events styles v1.0.3 */
:root{ --hipsy-accent:#0ea572; }
.hipsy-events-grid{ display:grid; gap:1rem; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); margin:0 auto; max-width:1200px; }
.hipsy-card{ background:#fff; border-radius:16px; overflow:hidden; box-shadow:0 10px 30px rgba(0,0,0,.08); display:flex; flex-direction:column }
.hipsy-card img{ width:100%; height:180px; object-fit:cover }
.hipsy-card-body{ padding:1rem 1.25rem 1.25rem; color:#111; }
.hipsy-card-body h3{ margin:0 0 .5rem; font-size:1.35rem; line-height:1.2; color:#111; }
.hipsy-meta{ margin:0 0 1rem; font-size:.98rem; color:#3b3b3b; }
.hipsy-meta .hipsy-date{ font-weight:700; color:var(--hipsy-accent); }
.hipsy-actions{ display:flex; gap:.75rem; align-items:center; }
.hipsy-buy{ padding:.65rem 1rem; border:0; border-radius:999px; font-weight:700; cursor:pointer; background:var(--hipsy-accent); color:#fff }
.hipsy-buy:hover{ filter:brightness(1.05) }
.hipsy-view{ font-size:.9rem; text-decoration:underline; color:#64748b }
.hipsy-view:hover{ color:#475569 }
/* Modal */
.hipsy-modal[hidden]{ display:none!important }
.hipsy-modal{ position:fixed; inset:0; background:rgba(0,0,0,.6); display:grid; place-items:center; z-index:9999 }
.hipsy-modal-inner{ width:min(1100px,95vw); height:min(90vh,1500px); background:#fff; border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,.25); position:relative; overflow:hidden }
.hipsy-close{ position:absolute; top:8px; right:12px; font-size:28px; line-height:1; border:0; background:transparent; cursor:pointer }
.hipsy-iframe{ width:100%; height:100%; border:0; background:#fff }
@media (max-width:640px){ .hipsy-modal-inner{ height:95vh } }


/* Secondary button */
.hipsy-more{
  padding:.6rem 1rem; border-radius:999px; border:2px solid var(--hipsy-accent);
  color: var(--hipsy-accent); background:transparent; text-decoration:none; font-weight:700
}
.hipsy-more:hover{ filter:brightness(1.05) }


/* Strong scroll lock when modal open */
html.hipsy-locked, body.hipsy-locked { height:100%; overflow:hidden; }
.hipsy-modal{ touch-action:none; } /* prevent scrolling gestures over overlay */


/* Modal tuning for headers and visibility */
.hipsy-modal{ z-index: 2147483000; align-items:flex-start; padding-top:5vh; padding-bottom:5vh; }
.hipsy-modal-inner{ height: min(90vh, 1500px); }
.hipsy-close{
  background: rgba(0,0,0,.6); color:#fff; width:40px; height:40px; border-radius:999px;
  display:grid; place-items:center;
}
.hipsy-close:hover{ filter: brightness(1.1); }


/* v1.0.9 modal improvements */
.hipsy-modal{ position:fixed; inset:0; display:flex; justify-content:center; align-items:flex-start; padding:16px 4vw; }
.hipsy-modal-inner{ margin-top:0; }
.hipsy-close{ position:fixed; top:calc(var(--hipsy-modal-top, 16px) + 8px); right:calc(4vw + 8px); z-index:2147483647; }
.hipsy-modal::before{
  content:""; position:fixed; inset:0; background:rgba(0,0,0,.6);
}
/* ensure overlay gets clicks */
.hipsy-modal > * { position:relative; z-index:1; }


/* v1.0.10 — centered modal (no top offset), max z-index */
.hipsy-modal{ position:fixed; inset:0; display:grid; place-items:center; z-index:2147483647; padding:0; }
.hipsy-modal::before{ content:""; position:fixed; inset:0; background:rgba(0,0,0,.6); }
.hipsy-modal-inner{ width:min(1100px,95vw); height:min(90vh,1500px); background:#fff; border-radius:18px; box-shadow:0 20px 60px rgba(0,0,0,.25); position:relative; overflow:hidden; z-index:2147483647; }
.hipsy-close{ position:absolute; top:10px; right:10px; width:40px; height:40px; border-radius:999px; background:rgba(0,0,0,.6); color:#fff; display:grid; place-items:center; z-index:2147483647; }


/* v1.0.11 — hide sticky headers while modal open, lighten overlay */
html.hipsy-open header,
html.hipsy-open .site-header,
html.hipsy-open #masthead,
html.hipsy-open .elementor-location-header,
html.hipsy-open .header,
html.hipsy-open [data-header="sticky"]{
  transform: translateY(-140%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* Soften/dismiss dark overlay "bars" */
.hipsy-modal::before{ background: rgba(0,0,0,.25); } /* change to 0 for fully transparent if you prefer */


/* v1.0.12 — configurable overlay (default transparent) */
:root { --hipsy-overlay: transparent; } /* set to rgba(0,0,0,.35) if you want dimming */
.hipsy-modal::before{ background: var(--hipsy-overlay) !important; }


/* v1.0.13 — keep reCAPTCHA out of the way while modal open (mobile especially) */
html.hipsy-open .grecaptcha-badge {
  transform: translateY(200%) !important;
  opacity: 0 !important;
  pointer-events: none !important;
}
/* Also catch some plugin wrappers */
html.hipsy-open [class*="recaptcha"] {
  pointer-events: none !important;
}
