.lm-locations{--lm-loc-accent:#FFD102;--lm-loc-text:#000;--lm-loc-section-bg:#fff;--lm-loc-surface:#fff;--lm-loc-muted:#f4f4f4;--lm-loc-border:#d8d8d8;--lm-loc-radius:14px;--lm-loc-button-radius:10px;--lm-loc-max:1280px;--lm-loc-map:560px;--lm-loc-map-mobile:360px;--lm-loc-list:38%;--lm-loc-gap:16px;--lm-loc-pad-top:28px;--lm-loc-pad-bottom:46px;--lm-loc-control-height:50px;--lm-loc-title-size:46px;--lm-loc-title-size-mobile:32px;--lm-loc-body-size:16px;--lm-loc-card-title-size:18px;max-width:var(--lm-loc-max);margin:0 auto;padding:var(--lm-loc-pad-top) 18px var(--lm-loc-pad-bottom);color:var(--lm-loc-text);background:var(--lm-loc-section-bg);font-family:"Open Sans",Arial,sans-serif;box-sizing:border-box}
.lm-locations *{box-sizing:border-box}.lm-locations button,.lm-locations input,.lm-locations select{font:inherit}.lm-locations [hidden]{display:none!important}
.lm-locations__intro{max-width:800px;margin:0 0 24px}.lm-locations--intro-center .lm-locations__intro{text-align:center;margin-left:auto;margin-right:auto}.lm-locations__eyebrow{display:inline-flex;background:var(--lm-loc-accent);color:#000;border-radius:999px;padding:7px 12px;font:700 12px/1 "Poppins",Arial,sans-serif;letter-spacing:.04em;text-transform:uppercase;margin-bottom:10px}.lm-locations__intro h2{font:600 var(--lm-loc-title-size)/1.08 "Poppins",Arial,sans-serif;margin:0 0 10px;color:var(--lm-loc-text)}.lm-locations__intro p{font-size:var(--lm-loc-body-size);line-height:1.65;margin:0;color:#444}
.lm-locations__toolbar{display:grid;grid-template-columns:minmax(280px,1fr) repeat(3,minmax(150px,auto));gap:10px;align-items:stretch;margin-bottom:10px}.lm-locations__search-wrap{display:flex;align-items:center;background:var(--lm-loc-surface);border:1px solid var(--lm-loc-border);border-radius:var(--lm-loc-radius);overflow:hidden;min-width:0;min-height:var(--lm-loc-control-height)}.lm-locations__search-icon{font-size:23px;padding:0 0 0 14px;line-height:1}.lm-locations__search{width:100%;min-width:0;border:0!important;box-shadow:none!important;outline:none!important;padding:13px 12px;background:transparent!important;color:var(--lm-loc-text)!important}.lm-locations__state,.lm-locations__city{border:1px solid var(--lm-loc-border)!important;border-radius:var(--lm-loc-radius)!important;background:var(--lm-loc-surface)!important;padding:0 12px!important;color:var(--lm-loc-text)!important;min-height:var(--lm-loc-control-height)}.lm-locations__button{border:0;border-radius:var(--lm-loc-button-radius);padding:12px 16px;cursor:pointer;font:700 14px/1.2 "Poppins",Arial,sans-serif;transition:transform .15s ease,box-shadow .15s ease;min-height:var(--lm-loc-control-height)}.lm-locations__button:hover{transform:translateY(-1px)}.lm-locations__button--primary{background:var(--lm-loc-accent);color:#000;align-self:stretch;margin:4px;min-height:calc(var(--lm-loc-control-height) - 8px)}.lm-locations__button--ghost{background:#000;color:var(--lm-loc-accent)}.lm-locations__status{min-height:24px;font-size:13px;color:#555;margin-bottom:8px}
.lm-locations__layout{display:grid;grid-template-columns:minmax(0,calc(100% - var(--lm-loc-list) - var(--lm-loc-gap))) minmax(310px,var(--lm-loc-list));gap:var(--lm-loc-gap);align-items:start}.lm-locations--map-right .lm-locations__map-wrap{grid-column:2}.lm-locations--map-right .lm-locations__results{grid-column:1;grid-row:1}.lm-locations__map-wrap{min-width:0}.lm-locations__map{height:var(--lm-loc-map);border-radius:var(--lm-loc-radius);overflow:hidden;border:1px solid var(--lm-loc-border);background:#e9e9e9;z-index:1}.lm-locations__map-note{font-size:11px;color:#777;margin-top:7px}.lm-locations__results{background:var(--lm-loc-muted);border-radius:var(--lm-loc-radius);padding:12px;height:var(--lm-loc-map);display:flex;flex-direction:column;overflow:hidden}.lm-locations__results-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 4px 10px;font-family:"Poppins",Arial,sans-serif}.lm-locations__clear{border:0;background:transparent;text-decoration:underline;cursor:pointer;color:var(--lm-loc-text);font-size:12px}.lm-locations__cards{overflow:auto;padding-right:3px;scrollbar-width:thin}.lm-location-card{background:var(--lm-loc-surface);border:1px solid var(--lm-loc-border);border-radius:calc(var(--lm-loc-radius) - 2px);padding:16px;margin-bottom:10px;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.lm-location-card:hover,.lm-location-card.is-active{border-color:#000;box-shadow:0 6px 18px rgba(0,0,0,.08);transform:translateY(-1px)}.lm-locations--shadow-off .lm-location-card:hover,.lm-locations--shadow-off .lm-location-card.is-active{box-shadow:none}.lm-location-card__top{display:flex;justify-content:space-between;gap:12px;align-items:flex-start}.lm-location-card__type{font:700 10px/1 "Poppins",Arial,sans-serif;text-transform:uppercase;background:var(--lm-loc-accent);border-radius:999px;padding:6px 8px;color:#000;white-space:nowrap}.lm-location-card h3{font:600 var(--lm-loc-card-title-size)/1.25 "Poppins",Arial,sans-serif;margin:0 0 7px;color:var(--lm-loc-text)}.lm-location-card__address{font-size:13px;line-height:1.55;color:#3f3f3f;margin:0 0 9px}.lm-location-card__meta{font-size:12px;line-height:1.5;color:#555;margin:5px 0}.lm-location-card__distance{font:700 12px/1.2 "Poppins",Arial,sans-serif;margin:4px 0 9px}.lm-location-card__services{display:flex;flex-wrap:wrap;gap:5px;margin:9px 0}.lm-location-card__service{font-size:10px;padding:4px 7px;background:var(--lm-loc-muted);border-radius:999px}.lm-location-card__actions{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px}.lm-location-card__action{display:inline-flex;align-items:center;justify-content:center;text-decoration:none!important;border-radius:var(--lm-loc-button-radius);padding:8px 10px;font:700 11px/1 "Poppins",Arial,sans-serif;border:1px solid #000;color:#000!important;background:#fff}.lm-location-card__action--primary{background:#000!important;color:var(--lm-loc-accent)!important}.lm-location-card__action--yellow{background:var(--lm-loc-accent)!important;color:#000!important;border-color:var(--lm-loc-accent)}.lm-locations__empty{padding:30px 18px;text-align:center;color:#555}.lm-locations__marker{width:34px;height:34px;border-radius:50% 50% 50% 0;background:var(--lm-loc-accent,#FFD102);border:2px solid #000;transform:rotate(-45deg);display:flex;align-items:center;justify-content:center;box-shadow:0 3px 7px rgba(0,0,0,.22)}.lm-locations__marker svg{width:18px;height:18px;transform:rotate(45deg);fill:none;stroke:#000;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.lm-locations__marker-image{width:20px;height:20px;object-fit:contain;display:block;transform:rotate(45deg)}.lm-locations__user-marker{width:18px;height:18px;border-radius:50%;background:#000;border:4px solid #fff;box-shadow:0 0 0 2px #000}.lm-locations .leaflet-popup-content-wrapper{border-radius:12px}.lm-locations .leaflet-popup-content{font-family:"Open Sans",Arial,sans-serif}.lm-locations .leaflet-control-attribution{font-size:9px}
@media (max-width:980px){.lm-locations__toolbar{grid-template-columns:1fr 1fr}.lm-locations__search-wrap{grid-column:1/-1}.lm-locations__layout{grid-template-columns:1fr}.lm-locations--map-right .lm-locations__map-wrap,.lm-locations--map-right .lm-locations__results{grid-column:auto;grid-row:auto}.lm-locations__map{height:var(--lm-loc-map-mobile)}.lm-locations__results{height:auto;max-height:none}.lm-locations__cards{overflow:visible}.lm-locations__map-note{margin-bottom:5px}}
@media (max-width:767px){.lm-locations{padding-left:12px;padding-right:12px}.lm-locations__intro h2{font-size:var(--lm-loc-title-size-mobile)}.lm-locations__toolbar{grid-template-columns:1fr}.lm-locations__search-wrap{display:grid;grid-template-columns:auto 1fr}.lm-locations__search-icon{grid-row:1}.lm-locations__search{grid-row:1}.lm-locations__do-search{grid-column:1/-1;margin:0 4px 4px;min-height:42px}.lm-locations__state,.lm-locations__city,.lm-locations__button--ghost{min-height:48px;width:100%}.lm-location-card__top{display:block}.lm-location-card__type{display:inline-flex;margin-bottom:7px}.lm-location-card__actions{display:grid;grid-template-columns:1fr 1fr}.lm-location-card__action{min-height:40px}.lm-location-card__action--primary{grid-column:1/-1}}

/* Barra de busca isolada do tema — v1.1.8
 * Usa flex no lugar do grid para evitar regras globais do tema/Gutenberg
 * sobre elementos de busca e para manter a mesma composição da simulação. */
.lm-locations{
  width:100%!important;
  min-width:0!important;
  isolation:isolate;
}
.lm-locations .lm-locations__toolbar{
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:stretch!important;
  justify-content:stretch!important;
  gap:10px!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  height:auto!important;
  min-height:0!important;
  margin:0 0 10px!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
  position:relative!important;
}
.lm-locations .lm-locations__toolbar>*{
  box-sizing:border-box!important;
  float:none!important;
  margin:0!important;
  min-width:0!important;
  max-width:none!important;
  align-self:stretch!important;
}
.lm-locations .lm-locations__search-wrap{
  display:flex!important;
  flex:1 1 460px!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  width:auto!important;
  max-width:none!important;
  min-width:260px!important;
  height:var(--lm-loc-control-height)!important;
  min-height:var(--lm-loc-control-height)!important;
  max-height:var(--lm-loc-control-height)!important;
  padding:0!important;
  overflow:hidden!important;
}
.lm-locations .lm-locations__search-icon{
  display:flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  padding:0 0 0 14px!important;
  margin:0!important;
}
.lm-locations input.lm-locations__search{
  display:block!important;
  flex:1 1 auto!important;
  width:0!important;
  max-width:none!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  line-height:1.35!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
.lm-locations .lm-locations__search-wrap .lm-locations__button--primary{
  display:inline-flex!important;
  flex:0 0 auto!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  min-width:88px!important;
  max-width:130px!important;
  height:calc(var(--lm-loc-control-height) - 8px)!important;
  min-height:calc(var(--lm-loc-control-height) - 8px)!important;
  max-height:calc(var(--lm-loc-control-height) - 8px)!important;
  margin:4px!important;
  padding:0 16px!important;
  align-self:center!important;
  white-space:nowrap!important;
}
.lm-locations select.lm-locations__state,
.lm-locations select.lm-locations__city{
  display:block!important;
  flex:0 0 160px!important;
  width:160px!important;
  max-width:160px!important;
  min-width:150px!important;
  height:var(--lm-loc-control-height)!important;
  min-height:var(--lm-loc-control-height)!important;
  max-height:var(--lm-loc-control-height)!important;
  margin:0!important;
  padding:0 38px 0 12px!important;
  line-height:1.25!important;
  box-sizing:border-box!important;
}
.lm-locations button.lm-locations__button--ghost{
  display:inline-flex!important;
  flex:0 0 185px!important;
  align-items:center!important;
  justify-content:center!important;
  width:185px!important;
  max-width:185px!important;
  min-width:175px!important;
  height:var(--lm-loc-control-height)!important;
  min-height:var(--lm-loc-control-height)!important;
  max-height:var(--lm-loc-control-height)!important;
  margin:0!important;
  padding:8px 14px!important;
  line-height:1.2!important;
  white-space:normal!important;
  box-sizing:border-box!important;
}
.lm-locations .lm-locations__layout,
.lm-locations .lm-locations__map-wrap,
.lm-locations .lm-locations__results,
.lm-locations .lm-locations__cards{
  min-width:0!important;
}
.lm-locations .lm-location-card.is-active{
  outline:2px solid var(--lm-loc-accent);
  outline-offset:-2px;
}

@media (max-width:1024px){
  .lm-locations .lm-locations__toolbar{
    flex-wrap:wrap!important;
  }
  .lm-locations .lm-locations__search-wrap{
    flex:1 1 100%!important;
    width:100%!important;
    min-width:0!important;
  }
  .lm-locations select.lm-locations__state,
  .lm-locations select.lm-locations__city{
    flex:1 1 calc(50% - 5px)!important;
    width:auto!important;
    max-width:none!important;
  }
  .lm-locations button.lm-locations__button--ghost{
    flex:1 1 100%!important;
    width:100%!important;
    max-width:none!important;
  }
}
@media (max-width:767px){
  .lm-locations{padding-left:12px;padding-right:12px}
  .lm-locations__intro h2{font-size:var(--lm-loc-title-size-mobile)}
  .lm-locations .lm-locations__toolbar{
    flex-direction:column!important;
    flex-wrap:nowrap!important;
  }
  .lm-locations .lm-locations__search-wrap,
  .lm-locations select.lm-locations__state,
  .lm-locations select.lm-locations__city,
  .lm-locations button.lm-locations__button--ghost{
    flex:0 0 auto!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  .lm-locations .lm-locations__search-wrap{
    height:var(--lm-loc-control-height)!important;
    min-height:var(--lm-loc-control-height)!important;
    max-height:var(--lm-loc-control-height)!important;
  }
  .lm-location-card__top{display:block}
  .lm-location-card__type{display:inline-flex;margin-bottom:7px}
  .lm-location-card__actions{display:grid;grid-template-columns:1fr 1fr}
  .lm-location-card__action{min-height:40px}
  .lm-location-card__action--primary{grid-column:1/-1}
}


/* Layout público determinístico — v1.1.9
 * O JavaScript aplica os mesmos valores como estilos inline !important para impedir
 * que regras globais do tema/Gutenberg alterem os controles do shortcode. */
.lm-locations[data-lm-layout="desktop"] .lm-locations__toolbar{display:flex!important;flex-flow:row nowrap!important;align-items:stretch!important}
.lm-locations[data-lm-layout="tablet"] .lm-locations__toolbar{display:flex!important;flex-flow:row wrap!important;align-items:stretch!important}
.lm-locations[data-lm-layout="mobile"] .lm-locations__toolbar{display:flex!important;flex-flow:column nowrap!important;align-items:stretch!important}

/* Isolamento final dos controles — v1.2.0.
 * No site público este CSS é carregado dentro de Shadow DOM, impedindo que
 * estilos do tema/Gutenberg alcancem a interface do shortcode. */
.lm-locations button.lm-locations__clear{
  all:unset!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-sizing:border-box!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:2px 0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--lm-loc-text)!important;
  font:600 12px/1.25 "Open Sans",Arial,sans-serif!important;
  text-decoration:underline!important;
  text-transform:none!important;
  letter-spacing:normal!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}
.lm-locations button.lm-locations__clear:hover,
.lm-locations button.lm-locations__clear:focus,
.lm-locations button.lm-locations__clear:active{
  background:transparent!important;
  color:var(--lm-loc-text)!important;
  box-shadow:none!important;
  transform:none!important;
}

/* v1.2.8 — acabamento visual estável do filtro único Estado/Cidade.
 * Mantém a composição visual da v1.2.0 e evita crescimento independente do botão Buscar. */
.lm-locations .lm-locations__toolbar{
  display:flex!important;
  flex-flow:row nowrap!important;
  align-items:stretch!important;
  justify-content:flex-start!important;
  gap:var(--lm-loc-toolbar-gap,10px)!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  margin:0 0 10px!important;
  padding:0!important;
}
.lm-locations .lm-locations__search-wrap{
  display:flex!important;
  flex:1 1 var(--lm-loc-search-width,620px)!important;
  width:auto!important;
  min-width:320px!important;
  max-width:var(--lm-loc-search-width,620px)!important;
  height:var(--lm-loc-control-height)!important;
  min-height:var(--lm-loc-control-height)!important;
  max-height:var(--lm-loc-control-height)!important;
  padding:4px!important;
  align-items:stretch!important;
  border:1px solid var(--lm-loc-border)!important;
  border-radius:var(--lm-loc-radius)!important;
  background:var(--lm-loc-surface)!important;
  overflow:hidden!important;
}
.lm-locations .lm-locations__search-wrap input.lm-locations__search{
  display:block!important;
  flex:1 1 auto!important;
  width:0!important;
  min-width:0!important;
  max-width:none!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 12px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  outline:none!important;
  font-size:var(--lm-loc-search-font-size,15px)!important;
  font-weight:var(--lm-loc-search-font-weight,400)!important;
  line-height:1.35!important;
}
.lm-locations .lm-locations__search-wrap button.lm-locations__do-search{
  display:inline-flex!important;
  flex:0 0 var(--lm-loc-search-button-width,88px)!important;
  width:var(--lm-loc-search-button-width,88px)!important;
  min-width:var(--lm-loc-search-button-width,88px)!important;
  max-width:var(--lm-loc-search-button-width,88px)!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0!important;
  padding:0 12px!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:var(--lm-loc-button-radius)!important;
  background:var(--lm-loc-accent)!important;
  color:#000!important;
  box-shadow:none!important;
  font-size:var(--lm-loc-search-button-font-size,14px)!important;
  font-weight:var(--lm-loc-search-button-font-weight,700)!important;
  line-height:1.2!important;
  white-space:nowrap!important;
  transform:none!important;
}
.lm-locations select.lm-locations__region{
  display:block!important;
  flex:0 0 var(--lm-loc-filter-width,190px)!important;
  width:var(--lm-loc-filter-width,190px)!important;
  min-width:var(--lm-loc-filter-width,190px)!important;
  max-width:var(--lm-loc-filter-width,190px)!important;
  height:var(--lm-loc-control-height)!important;
  min-height:var(--lm-loc-control-height)!important;
  max-height:var(--lm-loc-control-height)!important;
  margin:0!important;
  padding:0 38px 0 12px!important;
  border:1px solid var(--lm-loc-border)!important;
  border-radius:var(--lm-loc-radius)!important;
  background:var(--lm-loc-surface)!important;
  color:var(--lm-loc-text)!important;
  box-shadow:none!important;
  font-size:var(--lm-loc-filter-font-size,16px)!important;
  font-weight:var(--lm-loc-filter-font-weight,400)!important;
  line-height:1.25!important;
}
.lm-locations button.lm-locations__geolocate{
  display:inline-flex!important;
  flex:0 0 185px!important;
  width:185px!important;
  min-width:175px!important;
  max-width:195px!important;
  height:var(--lm-loc-control-height)!important;
  min-height:var(--lm-loc-control-height)!important;
  max-height:var(--lm-loc-control-height)!important;
  margin:0!important;
  padding:8px 14px!important;
  align-items:center!important;
  justify-content:center!important;
  background:#000!important;
  color:var(--lm-loc-accent)!important;
  border:0!important;
  border-radius:var(--lm-loc-button-radius)!important;
  box-shadow:none!important;
  transform:none!important;
}
@media (max-width:1024px){
  .lm-locations .lm-locations__toolbar{flex-wrap:wrap!important}
  .lm-locations .lm-locations__search-wrap{flex:0 0 100%!important;width:100%!important;min-width:0!important;max-width:100%!important}
  .lm-locations select.lm-locations__region,
  .lm-locations button.lm-locations__geolocate{flex:1 1 220px!important;width:auto!important;min-width:180px!important;max-width:none!important}
}
@media (max-width:767px){
  .lm-locations .lm-locations__toolbar{flex-flow:column nowrap!important}
  .lm-locations .lm-locations__search-wrap,
  .lm-locations select.lm-locations__region,
  .lm-locations button.lm-locations__geolocate{flex:0 0 auto!important;width:100%!important;min-width:0!important;max-width:100%!important}
}

/* v1.2.9 — altura determinística do botão Buscar.
 * Alguns temas do WordPress impedem o stretch vertical de button em flex containers.
 * Por isso a altura interna é explícita e acompanha --lm-loc-control-height. */
.lm-locations .lm-locations__search-wrap button.lm-locations__do-search{
  display:inline-flex!important;
  align-self:stretch!important;
  box-sizing:border-box!important;
  height:calc(var(--lm-loc-control-height,52px) - 8px)!important;
  min-height:calc(var(--lm-loc-control-height,52px) - 8px)!important;
  max-height:calc(var(--lm-loc-control-height,52px) - 8px)!important;
  padding-top:0!important;
  padding-bottom:0!important;
  margin-top:0!important;
  margin-bottom:0!important;
  line-height:1!important;
  -webkit-appearance:none!important;
  appearance:none!important;
}
.lm-locations .lm-locations__search-wrap input.lm-locations__search{
  align-self:stretch!important;
  height:calc(var(--lm-loc-control-height,52px) - 8px)!important;
  min-height:calc(var(--lm-loc-control-height,52px) - 8px)!important;
  max-height:calc(var(--lm-loc-control-height,52px) - 8px)!important;
}
