.fn-sl-locator{display:flex;flex-direction:column;gap:16px;--fn-sl-map-width:40%;--fn-sl-gap:20px;--fn-sl-height:auto;--fn-sl-tablet-map-height:auto;--fn-sl-mobile-map-height:auto;min-width:0;max-width:100%}

/* Apply same width/centering rules to grid widget wrapper */
.elementor-widget-fn-store-grid{
  display:block;
  width:100% !important;
  max-width: var(--container-widget-max-width, var(--content-width, var(--container-max-width, 100%))) !important;
  margin-left:auto;
  margin-right:auto;
  flex: var(--container-widget-flex-grow, 0) 1 auto;
  align-self: var(--container-widget-align-self, auto);
  min-width:0;
}
.fn-sl-search__form{display:flex;flex-wrap:wrap;gap:8px}
.fn-sl-search__input{flex:1 1 260px;padding:8px 10px;border:1px solid #ccd0d4;border-radius:4px}
.fn-sl-search__submit{padding:8px 16px;background:#0073aa;color:#fff;border:none;border-radius:4px;cursor:pointer}
.fn-sl-places-dropdown{background:#fff;border:1px solid #ccd0d4;border-radius:6px;box-shadow:0 6px 18px rgba(0,0,0,.08);max-height:260px;overflow:auto}
.fn-sl-place-item{padding:8px 10px;cursor:pointer}
.fn-sl-place-item:hover{background:#f0f3f7}
.fn-sl-slot--before{margin-bottom:12px}
.fn-sl-slot--after{margin:12px 0}
.fn-sl-body{display:flex;gap:var(--fn-sl-gap);flex-wrap:nowrap;align-items:stretch;min-width:0}
.fn-sl-map{flex:0 0 var(--fn-sl-map-width);min-width:260px;min-height:260px;height:var(--fn-sl-height);background:#f0f3f7;border:1px solid #ccd0d4;border-radius:6px;position:relative;overflow:hidden}
.fn-sl-map > div{position:absolute!important;inset:0}
.fn-sl-map .gm-style{font-family:inherit}
.fn-sl-map .gm-style-iw{color:#111}
.fn-sl-map .gm-style-iw-c{padding:10px 12px}
.fn-sl-map .gm-style-iw-d{overflow:hidden}
.fn-sl-map-popover{margin:0;padding:0}
.fn-sl-map-popover__title{margin:0 0 4px;font-weight:600}
.fn-sl-map-popover__address,.fn-sl-map-popover__phone{margin:0 0 2px}
.fn-sl-map-popover__link a{color:#0073aa;text-decoration:none}
.fn-sl-results{flex:1 1 0;display:flex;flex-direction:column;gap:12px;min-width:280px;height:var(--fn-sl-height);min-width:0}
.fn-sl-results__inner,.fn-sl-results__list,.fn-sl-card,.fn-sl-card--template{min-width:0}
.fn-sl-card img,.fn-sl-card iframe,.fn-sl-card video{max-width:100%;height:auto}
.fn-sl-results__inner{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;overflow:auto}
.fn-sl-results__list{flex:1 1 auto;display:flex;flex-direction:column;gap:12px;overflow:auto;padding-right:4px}
.fn-sl-layout-results-left .fn-sl-map{order:2}
.fn-sl-layout-results-left .fn-sl-results{order:1}
.fn-sl-locator--no-map .fn-sl-body{flex-direction:column}
.fn-sl-locator--no-map .fn-sl-results{flex:1 1 100%}
.fn-sl-layout-search-inline .fn-sl-search{margin-bottom:12px}
.fn-sl-card{border:1px solid #ccd0d4;border-radius:6px;padding:12px;background:#fff}
.fn-sl-card--template.fn-sl-card{border:none;padding:0;background:none}
.fn-sl-card__title{margin:0 0 4px;font-size:18px}
.fn-sl-card__address{margin:0;color:#555}
.fn-sl-search__status{font-size:14px;color:#555}
.fn-sl-search__status.is-error{color:#d63638}
.fn-sl-results__empty{margin:0;color:#646970;font-style:italic}
.fn-sl-pagination__button{padding:6px 12px;margin:0 6px;border:1px solid #ccd0d4;background:#fff;border-radius:4px;cursor:pointer}
.fn-sl-pagination__button:disabled{opacity:.6;cursor:not-allowed}
.fn-sl-pagination__label{font-size:14px;color:#555}
[data-role="post-search"].is-hidden{display:none}

/* Grid widget */
.fn-sl-grid{width:100%;min-width:0}
.fn-sl-grid__list{display:grid;grid-template-columns:repeat(var(--fn-sl-grid-columns,3),minmax(0,1fr));gap:var(--fn-sl-grid-gap,16px)}
.fn-sl-grid__item{min-width:0}

/* Respect Elementor Advanced > Width on the widget wrapper */
.elementor-widget-fn-store-locator{
  display: block;
  /* Fill available line but constrain by a meaningful max-width source */
  width: 100% !important;
  max-width: var(--container-widget-max-width, var(--content-width, var(--container-max-width, 100%))) !important;
  margin-left: auto;
  margin-right: auto;
  /* Let max-width govern width inside flex parents */
  flex: var(--container-widget-flex-grow, 0) 1 auto;
  align-self: var(--container-widget-align-self, auto);
  min-width: 0;
}

/* Compact mode: force vertical layout based on container width */
.fn-sl-compact .fn-sl-body{flex-direction:column}
.fn-sl-compact .fn-sl-map{order:1;height:var(--fn-sl-mobile-map-height);max-width:100%}
.fn-sl-compact .fn-sl-results{order:2;height:auto;max-width:100%}
.fn-sl-compact .fn-sl-results__inner{height:auto;overflow:visible}
.fn-sl-compact .fn-sl-results__list{overflow:visible}

@media (max-width: 1024px){
  .fn-sl-map{height:var(--fn-sl-tablet-map-height)}
  .fn-sl-results{height:var(--fn-sl-tablet-map-height)}
  .fn-sl-grid__list{grid-template-columns:repeat(var(--fn-sl-grid-columns-tablet,2),minmax(0,1fr))}
}

@media (max-width: 768px){
  .fn-sl-body{flex-direction:column}
  .fn-sl-map{order:1;height:var(--fn-sl-mobile-map-height);max-width:100%}
  .fn-sl-results{order:2;height:auto;max-width:100%}
  .fn-sl-results__inner{height:auto;overflow:visible}
  .fn-sl-results__list{overflow:visible}
  .fn-sl-grid__list{grid-template-columns:repeat(var(--fn-sl-grid-columns-mobile,1),minmax(0,1fr))}
}
