.espinal-locator{max-width:1180px;margin:0 auto;background:linear-gradient(180deg,#1e1a18,#181513);color:#f3e9d8;padding:28px;border-radius:18px;border:1px solid #3a3029;box-shadow:0 14px 40px rgba(0,0,0,.28)}
.espinal-locator__hero h2{margin:0 0 6px;font-size:clamp(1.45rem,2.3vw,2rem);color:#fbf2df}
.espinal-locator__hero p{margin:0 0 18px;max-width:880px;color:#d7c8af;line-height:1.45}
.espinal-locator__controls{display:grid;grid-template-columns:minmax(240px,2fr) repeat(5,minmax(120px,1fr));gap:10px}
.espinal-locator input,.espinal-locator select,.espinal-locator button{width:100%;border:1px solid #4f4035;border-radius:10px;padding:11px 12px;background:#2b2420;color:#f6eedf}
.espinal-locator button{background:linear-gradient(180deg,var(--espinal-accent),#9a7739);color:#1d1815;font-weight:700;cursor:pointer}
.espinal-locator button:disabled{cursor:wait;opacity:.72}
.espinal-use-location.is-loading{background:#6f5a32;color:#fff7e7}
.espinal-clear-filters{background:#3a2f28!important;color:#f2e8d6!important;border-color:#5a493d!important}
.espinal-clear-filters:hover{background:#4a3b31!important}
.espinal-status-line{margin:12px 0 10px;color:#d8c8ab;font-size:.94rem}
.espinal-status-line.is-error{color:#ffb4a8;font-weight:600}
.espinal-map-toggle{display:none;margin:0 0 10px}
.espinal-locator-main{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:20px;align-items:start}
.espinal-map-wrap{background:#241d19;border:1px solid #40342c;border-radius:14px;padding:14px;display:flex;flex-direction:column;overflow:visible;position:relative}
.espinal-map-state-display,.espinal-map-selection{margin:0 0 12px;font-size:clamp(.92rem,1.35vw,1.05rem);font-weight:600;color:#f4ead6;letter-spacing:.02em;line-height:1.35}
.espinal-map-tooltip{position:fixed;z-index:9999;max-width:280px;padding:8px 12px;border-radius:10px;background:#1a1614;color:#fbf2df;font-size:.88rem;font-weight:600;line-height:1.35;pointer-events:none;box-shadow:0 8px 24px rgba(0,0,0,.45);border:1px solid var(--espinal-accent,#c8a75d);visibility:hidden;opacity:0;transition:opacity .12s ease}
.espinal-map-tooltip.is-visible{visibility:visible;opacity:1}
.espinal-state-count{margin:10px 0 0;color:#cfb987;font-size:.9rem}
.espinal-results{background:#231d19;border:1px solid #3f332b;border-radius:14px;padding:12px;max-height:650px;overflow:auto;display:grid;grid-template-columns:1fr;gap:10px;box-sizing:border-box}
.espinal-results.has-results{max-height:none;align-content:start;scrollbar-gutter:stable}
.espinal-results-summary{display:none}
.espinal-card{background:#2b2420;border:1px solid #4d3f35;border-radius:12px;padding:11px 12px;box-shadow:0 5px 14px rgba(0,0,0,.18);transition:.18s transform,.18s border-color}
.espinal-card:hover{transform:translateY(-1px);border-color:var(--espinal-accent)}
.espinal-card h3{margin:0 0 4px;font-size:1.02rem;color:#f8efdc}
.espinal-address{margin:0;color:#d9cdb8;font-size:.92rem;line-height:1.35}
.espinal-distance{margin:6px 0 0;color:#c9b27f;font-size:.86rem}
.espinal-badges{display:flex;gap:6px;flex-wrap:wrap;margin:8px 0}
.espinal-badge{font-size:10px;padding:2px 7px;border-radius:99px;background:#423428;color:#f9e8bc}
.espinal-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:8px}
.espinal-actions a{display:inline-block;text-decoration:none;background:#3a2f28;color:#f4ecdd;border-radius:8px;padding:6px 9px;font-size:.86rem}
.espinal-actions a:hover{background:#4b3a2f}
.espinal-empty{padding:22px;color:#d2c3a8;display:grid;gap:7px;line-height:1.45}
.espinal-empty strong{color:#f4ead6;font-size:1rem}
.espinal-empty span{color:#bfae94;font-size:.9rem}
.espinal-us-map{display:block;width:100%;height:auto;max-width:100%;max-height:560px;margin:0 auto;object-fit:contain}
.espinal-us-map [data-state],.espinal-us-map .state path{fill:#3a3029;stroke:#8b7564;stroke-width:1.15;cursor:pointer;transition:fill .14s ease,stroke .14s ease}
.espinal-us-map [data-state]:hover,.espinal-us-map .state path:hover,.espinal-us-map [data-state].is-selected,.espinal-us-map .state path.is-selected{fill:var(--espinal-accent);stroke:#e6cf98}
.espinal-us-map .espinal-state-label-layer,.espinal-us-map .espinal-state-label,.espinal-us-map .espinal-state-callout{pointer-events:none}
.espinal-us-map .espinal-state-callout-line{fill:none;stroke:#d9c28e;stroke-width:1;vector-effect:non-scaling-stroke;pointer-events:none}
.espinal-us-map .espinal-state-label{fill:#fffaf0;font-weight:800;font-size:14px;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;paint-order:stroke fill;stroke:#1b1613;stroke-width:2.3px;stroke-linejoin:round;user-select:none}
.espinal-us-map .espinal-state-label--callout{font-size:12px}
.espinal-northeast{margin-top:10px;padding:12px;border:1px solid #4b3d33;border-radius:12px;background:#1d1815}
.espinal-northeast__title{margin:0 0 9px;color:#d9c28e;font-size:.82rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.espinal-northeast__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.espinal-locator .espinal-compact-state{display:flex;align-items:center;gap:8px;min-height:38px;padding:7px 9px;text-align:left;background:#302722;color:#eadfce;border-color:#514238;font-size:.78rem;font-weight:650;line-height:1.15}
.espinal-locator .espinal-compact-state:hover,.espinal-locator .espinal-compact-state:focus-visible,.espinal-locator .espinal-compact-state.is-selected{background:var(--espinal-accent);border-color:#ead39e;color:#1b1613;outline:none}
.espinal-compact-state__code{display:inline-grid;place-items:center;flex:0 0 29px;min-height:24px;border-radius:6px;background:rgba(255,255,255,.09);font-size:.72rem;font-weight:900}
.espinal-compact-state.is-selected .espinal-compact-state__code,.espinal-compact-state:hover .espinal-compact-state__code,.espinal-compact-state:focus-visible .espinal-compact-state__code{background:rgba(27,22,19,.16)}
@media (max-width:1050px){
  .espinal-locator__controls{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media (max-width:760px){
  .espinal-locator{padding:18px}
  .espinal-locator__controls{grid-template-columns:1fr 1fr}
  .espinal-locator-main{grid-template-columns:1fr}
  .espinal-results{order:2;height:auto!important}
  .espinal-results.has-results{max-height:min(62vh,560px);overflow-y:auto;overscroll-behavior:contain}
  .espinal-map-wrap{order:1;min-height:0}
  .espinal-map-toggle{display:block}
  .espinal-locator-main .espinal-map-wrap[hidden]{display:none}
  .espinal-results-summary{display:flex;position:sticky;top:-12px;z-index:3;align-items:center;justify-content:space-between;gap:10px;margin:-12px -12px 2px;padding:10px 12px;background:#1d1815;border-bottom:1px solid #4b3d33;color:#f4ead6}
  .espinal-results-summary strong{font-size:.88rem}
  .espinal-results-summary span{color:#c7b798;font-size:.76rem;text-align:right}
}
@media (max-width:640px){
  .espinal-locator__controls{grid-template-columns:1fr}
  .espinal-northeast__grid{grid-template-columns:1fr}
}
