/* Scoped to the shortcode wrapper to prevent theme bleed */
.wsl-ef-root{--bg:#f3f4f6;--card:#fff;--ink:#111827;--muted:#6b7280;--line:#e5e7eb;--blue:#2563eb;}
.wsl-ef-root{color:var(--ink);}
.wsl-ef-root .wsl-ef-wrap{max-width:1200px;margin:20px auto;padding:16px;background:transparent;position:relative;overflow:visible;}
.wsl-ef-root.wsl-ef-full .wsl-ef-wrap{max-width:100%;margin:0;padding:20px 24px;}
.wsl-ef-event-outer-rail{position:absolute;left:calc(100% + 60px);top:275px;width:280px;min-width:280px;max-width:280px;margin:0;z-index:5;}
.wsl-ef-event-outer-rail-card{background:#fff;border:1px solid #dbe7f3;border-radius:12px;box-shadow:0 4px 18px rgba(15,23,42,.05);padding:13px;}
.wsl-ef-event-outer-rail-card h2{font-size:17px;line-height:1.2;margin:0 0 12px;color:#253b58;}
.wsl-ef-event-outer-rail-card .wsl-ef-event-outer-sidebar-ad{display:block;width:100%;max-width:100%;margin:0 auto!important;border-radius:7px;}
.wsl-app-existing-feed .wsl-ef-event-outer-rail{display:none!important;}
.wsl-ef-discount-outer-rail{position:absolute;left:calc(100% + 60px);top:275px;width:280px;min-width:280px;max-width:280px;margin:0;z-index:5;}
.wsl-ef-discount-outer-rail-card{background:#fff;border:1px solid #dbe7f3;border-radius:12px;box-shadow:0 4px 18px rgba(15,23,42,.05);padding:13px;}
.wsl-ef-discount-outer-rail-card h2{font-size:17px;line-height:1.2;margin:0 0 12px;color:#253b58;}
.wsl-ef-discount-outer-rail-card .wsl-ef-discount-outer-sidebar-ad{display:block;width:100%;max-width:100%;margin:0 auto!important;border-radius:7px;}
.wsl-ef-discount-medium-ad-wrap{display:flex;align-items:center;justify-content:center;width:100%;padding:0;margin:0;overflow:hidden;border-radius:12px;}
.wsl-ef-discount-medium-ad-wrap .wsl-ef-discount-medium-ad{display:block;width:100%;max-width:320px!important;margin:0 auto!important;border-radius:10px;}
.wsl-app-existing-feed .wsl-ef-discount-outer-rail,.wsl-app-existing-feed .wsl-df-feed-web-only{display:none!important;}
@media(max-width:1760px){.wsl-ef-event-outer-rail,.wsl-ef-discount-outer-rail{position:static;width:280px;min-width:0;max-width:100%;margin:16px auto 0;padding:0;}}

/* Prevent grid children from forcing overflow */
.wsl-ef-root .wsl-ef-grid > *{min-width:0;}

.wsl-ef-hero{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;margin-bottom:16px;box-shadow:0 2px 6px rgba(0,0,0,0.05);} 
.wsl-ef-hero h1{margin:0 0 6px 0;font-size:22px;}
.wsl-ef-hero p{margin:0;color:var(--muted);font-size:13px;}
.wsl-ef-kpi{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}

.wsl-ef-pill{display:inline-block;padding:4px 10px;border-radius:999px;border:1px solid var(--line);background:#f9fafb;font-size:12px;color:var(--ink);} 

.wsl-ef-grid{display:grid;grid-template-columns:3fr 7fr;gap:16px;align-items:start;}
@media(max-width:980px){.wsl-ef-grid{grid-template-columns:1fr;}}

.wsl-ef-card{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;box-shadow:0 2px 6px rgba(0,0,0,0.05);} 
.wsl-ef-card h3{margin:0 0 10px 0;font-size:14px;}
.wsl-ef-hint{color:var(--muted);font-size:12px;margin:0;}

.wsl-ef-gap{height:12px;}
.wsl-ef-gap-sm{height:10px;}

.wsl-ef-ad{border:1px dashed var(--line);border-radius:12px;padding:12px;background:#fbfbfd;}
.wsl-ef-ad strong{display:block;margin-bottom:6px;}

.wsl-ef-status{display:flex;gap:10px;align-items:center;margin:0 0 10px 0;color:var(--muted);font-size:12px;flex-wrap:wrap;}
.wsl-ef-dot{width:8px;height:8px;border-radius:99px;background:var(--blue);display:inline-block;}

/* Filters: force horizontal; if tight, scroll horizontally */
.wsl-ef-filters{display:flex;gap:8px;flex-wrap:nowrap;align-items:center;margin:0 0 10px 0;overflow-x:auto;overflow-y:hidden;}
.wsl-ef-filters *{flex:0 0 auto;}
.wsl-ef-filters input{padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px;outline:none;min-width:160px;width:160px;}
.wsl-ef-filters input.small{min-width:140px;width:140px;}
.wsl-ef-filters input:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px rgba(191,219,254,0.6);} 

.wsl-ef-btn{border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:8px 12px;font-size:13px;cursor:pointer;line-height:1;}
.wsl-ef-btn.is-primary{border-color:#2563eb;background:#eff6ff;color:#1d4ed8;font-weight:700;}

/* Sheet */
.wsl-ef-sheet-wrap{border:1px solid var(--line);border-radius:12px;overflow:auto;background:#fff;max-height:60vh;}
@media(max-width:980px){.wsl-ef-sheet-wrap{max-height:55vh;}}

/* IMPORTANT: remove forced min-width so columns can fit in 70% column */
.wsl-ef-sheet{width:100%;border-collapse:separate;border-spacing:0 10px;min-width:0;table-layout:fixed;}
.wsl-ef-sheet th,.wsl-ef-sheet td{border-bottom:1px solid var(--line);border-right:1px solid var(--line);padding:10px;font-size:13px;vertical-align:top;overflow-wrap:anywhere;word-break:break-word;}
.wsl-ef-sheet th:last-child,.wsl-ef-sheet td:last-child{border-right:none;}
.wsl-ef-sheet thead th{position:sticky;top:0;background:#f9fafb;font-weight:700;z-index:2;text-align:left;white-space:nowrap;}

/* Description row */
.wsl-ef-desc td{background:#fbfbfd;font-size:13px;}
.wsl-ef-desc .label{font-weight:700;margin-right:8px;}

/* Event border colors around group (top + desc) */
.wsl-ef-blue td:first-child{border-left:4px solid #2563eb;}
.wsl-ef-blue td:last-child{border-right:4px solid #2563eb;}
.wsl-ef-blue:not(.wsl-ef-desc) td{border-top:4px solid #2563eb;}
.wsl-ef-desc.wsl-ef-blue td{border-bottom:4px solid #2563eb;}

.wsl-ef-green td:first-child{border-left:4px solid #16a34a;}
.wsl-ef-green td:last-child{border-right:4px solid #16a34a;}
.wsl-ef-green:not(.wsl-ef-desc) td{border-top:4px solid #16a34a;}
.wsl-ef-desc.wsl-ef-green td{border-bottom:4px solid #16a34a;}

.wsl-ef-paid td:first-child{border-left:4px solid #f97316;}
.wsl-ef-paid td:last-child{border-right:4px solid #f97316;}
.wsl-ef-paid:not(.wsl-ef-desc) td{border-top:4px solid #f97316;}
.wsl-ef-desc.wsl-ef-paid td{border-bottom:4px solid #f97316;}

/* Map */
.wsl-ef-map-search{display:flex;gap:8px;align-items:center;}
.wsl-ef-map-search input{width:100%;padding:8px 10px;border:1px solid var(--line);border-radius:10px;font-size:13px;outline:none;}
.wsl-ef-map-search input:focus{border-color:#bfdbfe;box-shadow:0 0 0 3px rgba(191,219,254,0.6);} 
.wsl-ef-mini-map{margin-top:10px;height:340px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#f8fafc,#ffffff);position:relative;overflow:hidden;contain:layout paint size;isolation:isolate;min-width:0;max-width:100%;}
.wsl-ef-map-controls{display:flex;gap:10px;align-items:center;flex-wrap:wrap;}
.wsl-ef-mini-map-stage{position:absolute;inset:0;transform-origin:center center;transition:transform .2s ease;}

.wsl-ef-gridline{position:absolute;left:0;right:0;height:1px;background:rgba(229,231,235,0.9);} 
.wsl-ef-gridline.v{top:0;bottom:0;width:1px;height:auto;left:auto;right:auto;} 
.wsl-ef-pin{position:absolute;width:10px;height:10px;border-radius:999px;background:#2563eb;transform:translate(-50%,-50%);box-shadow:0 1px 2px rgba(0,0,0,0.25);} 
.wsl-ef-pin.paid{background:#f97316;}
.wsl-ef-pin.dim{opacity:0.25;}
.wsl-ef-legend{margin-top:10px;display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
.wsl-ef-legend-item{display:flex;gap:6px;align-items:center;font-size:12px;color:var(--muted);} 
.wsl-ef-legend-dot{width:10px;height:10px;border-radius:999px;display:inline-block;background:#2563eb;} 
.wsl-ef-legend-dot.paid{background:#f97316;} 
.wsl-ef-note{margin-top:8px;color:var(--muted);font-size:12px;} 

/* Calendar radios (paid only) */
.wsl-ef-cal{display:flex;flex-direction:column;gap:4px;}
.wsl-ef-cal-title{font-size:12px;font-weight:700;}
.wsl-ef-cal label{font-size:12px;display:flex;gap:6px;align-items:center;}
.wsl-ef-cal input[type="radio"]{margin:0;}
.wsl-ef-savebtn{display:inline-block;padding:8px 10px;border-radius:10px;border:1px solid #1d4ed8;background:#1d4ed8;color:#fff;font-weight:700;cursor:pointer;font-size:12px;}
.wsl-ef-savebtn:hover{filter:brightness(1.05);} 
.wsl-ef-savebtn.is-saved{background:#16a34a;border-color:#16a34a;}
.wsl-ef-savebtn:disabled{opacity:.6;cursor:not-allowed;}

/* Bottom */
.wsl-ef-bottom{margin-top:20px;background:var(--card);border-radius:16px;padding:18px;box-shadow:0 2px 6px rgba(0,0,0,0.05);border:1px solid var(--line);} 
.wsl-ef-bottom h3{margin:0 0 10px 0;font-size:14px;}
.wsl-ef-bottom-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;}
@media(max-width:980px){.wsl-ef-bottom-grid{grid-template-columns:1fr;}}

/* ===== Filter Width Adjustments ===== */
.wsl-ef-root .wsl-ef-filters{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:flex-end;
}

.wsl-ef-root .wsl-ef-field{
  display:flex;
  flex-direction:column;
  gap:6px;
}

.wsl-ef-root .wsl-ef-field label{
  font-size:12px;
  line-height:1.1;
  white-space:nowrap;
}

/* Character-based widths */
.wsl-ef-root #wsl_zip{  width: 8ch;  }
.wsl-ef-root #wsl_city{ width: 16ch; }
.wsl-ef-root #wsl_county{ width: 16ch; }
.wsl-ef-root #wsl_state{ width: 20ch; }

.wsl-ef-root .wsl-ef-field input{
  max-width:100%;
  min-width:0;
  padding:8px 10px;
  box-sizing:border-box;
}

.wsl-ef-root .wsl-ef-btn{
  padding:8px 10px;
  white-space:nowrap;
}


/* FORCE Clear button blue */
.wsl-ef-root button#wsl_clear {
    background-color: #1e73be !important;
    color: #ffffff !important;
    border: none !important;
}

.wsl-ef-root button#wsl_clear:hover {
    background-color: #155a96 !important;
}

/* FORCE Clear button blue (default state) */
.wsl-ef-root button#wsl_clear,
.wsl-ef-root .wsl-ef-actions button[data-clear]{
  background-color:#1e73be !important;
  color:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  background-image:none !important;
  opacity:1 !important;
  -webkit-appearance:none !important;
  appearance:none !important;
}
.wsl-ef-root button#wsl_clear:hover,
.wsl-ef-root button#wsl_clear:focus,
.wsl-ef-root button#wsl_clear:active,
.wsl-ef-root .wsl-ef-actions button[data-clear]:hover,
.wsl-ef-root .wsl-ef-actions button[data-clear]:focus,
.wsl-ef-root .wsl-ef-actions button[data-clear]:active{
  background-color:#155a96 !important;
  color:#ffffff !important;
}


.wsl-ef-scope{margin:0 0 12px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:#f8fafc;}
.wsl-ef-scope strong{display:block;font-size:14px;margin-bottom:4px;}
.wsl-ef-statusline{margin:0 0 12px 0;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14px;line-height:1.4;color:#111827;}
.wsl-ef-statusline strong{font-weight:700;}
.wsl-ef-statusline span{margin-left:6px;color:#4b5563;}
.wsl-ef-search-overlay{position:fixed;inset:0;background:rgba(15,23,42,.35);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;padding:18px;z-index:99999;}
.wsl-ef-search-card{position:relative;width:min(560px,100%);padding:26px 24px;border-radius:22px;background:rgba(255,255,255,.18);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.32);box-shadow:0 20px 60px rgba(0,0,0,.35);color:#fff;}
.wsl-ef-search-card h3{margin:0 0 12px 0;color:#fff;font-size:28px;}
.wsl-ef-search-card ol{margin:0;padding-left:20px;}
.wsl-ef-search-card li{margin:8px 0;line-height:1.6;font-size:15px;}
.wsl-ef-search-card strong{color:#fff;}
.wsl-ef-search-close{position:absolute;right:14px;top:10px;border:0;background:transparent;color:#fff;font-size:24px;cursor:pointer;line-height:1;}
@media (max-width: 640px){
  .wsl-ef-search-card{padding:22px 18px;border-radius:18px;}
  .wsl-ef-search-card h3{font-size:24px;}
  .wsl-ef-search-card li{font-size:14px;}
}
.wsl-ef-root .wsl-ef-field select{max-width:100%;min-width:0;padding:8px 10px;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;background:#fff;}
.wsl-ef-root #wsl_state{width:18ch;}
.wsl-ef-root #wsl_county{width:22ch;}
.wsl-ef-root #wsl_city{width:24ch;}
.wsl-ef-actions{display:flex;gap:8px;align-items:flex-end;}
.wsl-ef-geo{font-size:12px;color:#6b7280;margin-top:4px;}

.wsl-ef-desc-block{display:flex;flex-direction:column;gap:6px;}
.wsl-ef-desc-line,.wsl-ef-desc-address{display:block;}
.wsl-ef-desc-address{padding-top:2px;color:#374151;}


/* Event Feed heatmap clone */
.wsl-ef-heatmap-surface{
  width:100%;
  min-height:0;
  height:100%;
  max-height:100%;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  position:relative;
}
.wsl-ef-heatmap-surface svg{display:block;width:100%;height:100%;}


.wsl-ef-map-area-action{margin:10px 0 12px;}
.wsl-ef-btn.is-full{width:100%;justify-content:center;}

.wsl-ef-btn.is-busy{opacity:.9; transform:translateY(0);}
.wsl-ef-btn.is-clicked{background:#dc2626 !important;border-color:#b91c1c !important;color:#fff !important;box-shadow:0 0 0 3px rgba(220,38,38,.18);}
.wsl-map-action-flash{outline:3px solid rgba(11,92,255,.35); outline-offset:2px;}
