html.ex-gate-locked, html.ex-gate-locked body{overflow:hidden!important;height:100%!important}
.ex-gate-root{position:fixed;inset:0;z-index:999999}.ex-gate-overlay{position:absolute;inset:0;background:rgba(0,0,0,.65)}
.ex-gate-modal{position:relative;max-width:720px;width:92%;margin:7vh auto 0 auto;background:#fff;border-radius:14px;padding:20px 18px;box-shadow:0 20px 60px rgba(0,0,0,.3);font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;max-height:86vh;overflow:auto}
.ex-gate-header h3{margin:0 0 6px 0;font-size:20px}.ex-gate-subtitle{margin:0 0 12px 0;color:#555;font-size:14px}
.ex-gate-form{margin-top:4px}.ex-gate-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}
.ex-gate-field{display:block}.ex-gate-field.span-2{grid-column:span 2}.ex-gate-form .ex-gate-field span{display:block;margin-bottom:6px;font-size:12px;color:#333}
.ex-affix{position:relative}.ex-affix input,.ex-affix textarea{width:100%;padding:9px 11px;border:1px solid #ddd;border-radius:10px;font-size:14px}
.ex-affix.has-prefix input,.ex-affix.has-prefix textarea{padding-left:46px}.ex-affix.has-suffix input,.ex-affix.has-suffix textarea{padding-right:60px}
.ex-prefix,.ex-suffix{position:absolute;top:50%;transform:translateY(-50%);font-size:12px;color:#444;background:#f3f4f6;border:1px solid #e5e7eb;padding:4px 8px;border-radius:8px}
.ex-prefix{left:6px}.ex-suffix{right:6px}
.ex-gate-actions{display:flex;justify-content:flex-end;margin-top:6px}.ex-gate-submit{background:#111827;color:#fff;border:none;border-radius:10px;padding:10px 14px;cursor:pointer;font-weight:600}
.ex-gate-error{color:#b00020;font-size:13px;margin-top:8px}
.ex-gallery-wrap{margin:14px 0;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}
.ex-gallery-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:10px}
.ex-gallery-tabs .ex-tab{border:1px solid #ddd;border-radius:999px;padding:6px 10px;background:#fff;cursor:pointer;font-size:13px}
.ex-gallery-tabs .ex-tab.is-active{background:#111827;color:#fff;border-color:#111827}
.ex-gallery-grid{display:grid;grid-template-columns:repeat(var(--ex-cols, 3), 1fr);gap:12px}
@media (max-width:1024px){.ex-gallery-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.ex-gallery-grid{grid-template-columns:1fr}}
.ex-gallery-item{background:#fff;border:1px solid #eee;border-radius:12px;overflow:hidden;position:relative;cursor:zoom-in}
.ex-no-save-overlay{position:absolute;inset:0;z-index:2;background:transparent}
.ex-gallery-thumb{width:100%;padding-top:68%;background-size:cover;background-position:center}
.ex-gallery-meta{padding:8px 10px}.ex-gallery-title{margin:0;font-size:14px}
.ex-gallery-panel{display:block}.ex-gallery-panel:not(.is-active){display:none}
.ex-lbx{position:fixed;inset:0;z-index:100000}.ex-lbx-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85)}
.ex-lbx-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center}
.ex-lbx-canvas{max-width:92vw;max-height:92vh;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.5);background:#111}
.ex-lbx-close{position:absolute;top:14px;right:14px;background:#111827;color:#fff;border:none;border-radius:999px;width:36px;height:36px;font-size:20px;line-height:36px;text-align:center;cursor:pointer}
/* --- v1.6.1 close button & layering fixes --- */
.ex-lbx{position:fixed;inset:0;z-index:100000;}
.ex-lbx-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.85);z-index:1;}
.ex-lbx-content{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;z-index:2;}
.ex-lbx-canvas{max-width:92vw;max-height:92vh;border-radius:10px;box-shadow:0 20px 80px rgba(0,0,0,.5);background:#111;z-index:2;}
.ex-lbx-close{
  position:absolute !important;
  top:14px !important;
  right:14px !important;
  background:#111827 !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px !important;
  width:40px !important;
  height:40px !important;
  font-size:22px !important;
  line-height:40px !important;
  text-align:center !important;
  cursor:pointer !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.7), 0 6px 20px rgba(0,0,0,.5) !important;
  z-index:3 !important;
}
.ex-lbx-close:hover{transform:scale(1.05);}
.ex-lbx-close:focus{outline:2px solid #fff; outline-offset:2px;}

/* v1.7.1 — Lightbox close button hardening */
.ex-lbx-close{
  position:fixed !important;
  top:14px !important;
  right:14px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:44px !important;
  height:44px !important;
  font-size:24px !important;
  line-height:1 !important;
  background:#111827 !important;
  color:#fff !important;
  border:none !important;
  border-radius:999px !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.9), 0 8px 22px rgba(0,0,0,.55) !important;
  z-index:1000002 !important;
  pointer-events:auto !important;
}
/* Offset for WP admin bar */
body.admin-bar .ex-lbx-close{ top:58px !important; } /* 14px + ~44px bar */
@media (max-width:782px){ body.admin-bar .ex-lbx-close{ top:74px !important; } } /* taller mobile admin bar */

/* v1.8 phone split */
.ex-phone-split{display:flex;gap:8px;align-items:center}
.ex-phone-split .ex-cc-select{min-width:120px;padding:9px 11px;border:1px solid #ddd;border-radius:10px;font-size:14px;background:#fff}
.ex-phone-split input[name="phone"]{flex:1}
