.store_locator_map_infowindow {
	width:380px;
	overflow:hidden !important;
	padding: 0px !important;
	margin: 0px !important;
	color: black !important;
	font-family: arial,sans-serif !important;	
	line-height: normal !important;
}

/*
Current Location Display
*/
.store_locator_current_location {
	background:#eae9e9;
	padding:5px;
	margin-bottom:10px;
}

/*
Sidebar Customization
*/
.store_locator_sidebar {
	border-bottom:1px solid #dcdcdc;
	margin-bottom: 5px;
}
.store_locator_sidebar_entry {
	padding:5px;
	margin-bottom:10px;
	overflow:hidden;
}
.store_locator_sidebar_entry:hover {
	background: #eee;
	cursor: pointer;
}
.store_locator_sidebar_entry_distance {
	color: red;
}

/*
Pagination Display
*/
.store_locator_pagination {
	width:100%;
	padding:5px;
	/*border-top:1px solid #dcdcdc;*/
}

#topMenu li{list-style:none}
#topMenu{display:block;}
#topMenu ul{overflow:hidden;background:#eae9e9; padding:0px; margin:0px; margin-bottom:10px;}
#topMenu ul li{float:left}
#topMenu ul li a{display:block;padding:11px 10px;text-decoration:none;color:#000;font-size:1.2em;font-weight:bold;line-height:1}
#topMenu ul li a:hover{background:#9e1b34; color:#fff;}
#topMenu ul a.current{background:#9e1b34; color:#fff;}

/* ================= Premium Theme Additions (v2) ================= */
:root {
	--sl-primary:#9e1b34;
	--sl-primary-rgb:158,27,52;
	--sl-bg:#f5f6f8;
	--sl-surface:#ffffff;
	--sl-border:#e3e5e8;
	--sl-radius-sm:4px;
	--sl-radius-md:10px;
	--sl-radius-lg:18px;
	--sl-shadow-xs:0 1px 2px rgba(0,0,0,.04),0 0 0 1px rgba(0,0,0,.04);
	--sl-shadow-sm:0 2px 4px -2px rgba(0,0,0,.08),0 4px 8px -2px rgba(0,0,0,.06);
	--sl-shadow-md:0 4px 12px -3px rgba(0,0,0,.14),0 6px 20px -4px rgba(0,0,0,.12);
	--sl-gradient:linear-gradient(135deg,#9e1b34,#c43e58 55%,#e16479);
	--sl-text:#1f2328;
	--sl-text-soft:#5a5f66;
	--sl-focus:0 0 0 3px rgba(158,27,52,.35);
}

body.sl-body {background:var(--sl-bg); color:var(--sl-text); -webkit-font-smoothing:antialiased;}

.sl-hero-wrapper {padding:34px 0 4px; background:transparent; color:var(--sl-text); position:relative;}
.sl-hero-wrapper:before {display:none;}
.sl-title {font-weight:700; letter-spacing:-.5px; font-size:clamp(1.9rem,2.5vw,2.4rem); margin:0 0 2px; background:linear-gradient(90deg,#2a2e33,#4f555c); -webkit-background-clip:text; background-clip:text; color:#2a2e33;}
.sl-subtitle {margin:0 0 10px; font-size:1rem; font-weight:500; color:#5a6168;}

.sl-search-card {background:#ffffff; border:1px solid #e0e3e7; box-shadow:0 4px 18px -3px rgba(0,0,0,.12),0 8px 28px -4px rgba(0,0,0,.08); padding:24px 26px 20px; border-radius:20px; position:relative; overflow:hidden;}
.sl-search-card:before {display:none;}
/* helper removido */

.sl-search .form-control {height:46px; border-radius:var(--sl-radius-md); border:1px solid var(--sl-border); box-shadow:var(--sl-shadow-xs); transition:.25s; font-size:.95rem;}
.sl-search .form-control:focus {border-color:var(--sl-primary); outline:0; box-shadow:var(--sl-focus);}
.sl-search select.form-control {padding-left:10px; background:#fff; font-weight:500;}
.sl-search #address {padding-left:14px;}

.sl-search .btn.btn-primary {background:var(--sl-primary); border-color:var(--sl-primary); font-weight:600; letter-spacing:.5px; text-transform:uppercase; font-size:.75rem; padding:14px 18px; border-radius:var(--sl-radius-md); display:flex; align-items:center; gap:6px; box-shadow:0 4px 12px -1px rgba(var(--sl-primary-rgb),.55),0 2px 4px rgba(var(--sl-primary-rgb),.35); transition:all .35s cubic-bezier(.4,0,.2,1);}
.sl-search .btn.btn-primary:hover {transform:translateY(-2px); box-shadow:0 6px 18px -2px rgba(var(--sl-primary-rgb),.65),0 4px 10px -1px rgba(var(--sl-primary-rgb),.45); background:#b52b49; border-color:#b52b49;}
.sl-search .btn.btn-primary:active {transform:translateY(0); box-shadow:var(--sl-shadow-sm);}

/* Nova barra de busca flex */
.sl-search-flex {display:flex; gap:18px; align-items:flex-end; flex-wrap:nowrap;}
.sl-search-flex .sl-field {display:flex; flex-direction:column; min-width:0;}
.sl-search-flex .sl-label {font-size:.65rem; font-weight:600; letter-spacing:.6px; text-transform:uppercase; margin:0 0 6px; color:var(--sl-text-soft);} 
.sl-field-address {flex:1.8;}
.sl-field-category {flex:1;}
.sl-field-distance {flex:.8;}
.sl-field-actions {flex:0 0 auto; display:flex;}
.sl-actions-wrap {display:flex; gap:10px;}
.sl-btn-geolocate {background:#fff; border:1px solid var(--sl-border); border-radius:var(--sl-radius-md); width:46px; height:46px; display:flex; align-items:center; justify-content:center; color:var(--sl-primary); box-shadow:var(--sl-shadow-xs); transition:.3s;}
.sl-btn-geolocate:hover {background:#f6f7f9; transform:translateY(-2px);}
.sl-btn-geolocate:active {transform:translateY(0);} 
.sl-btn-geolocate.sl-loading-state {position:relative; color:transparent !important;}
.sl-btn-geolocate.sl-loading-state:after {content:""; position:absolute; width:20px; height:20px; border:3px solid #d4d7db; border-top-color:var(--sl-primary); border-radius:50%; animation:slSpin .8s linear infinite;}
@keyframes slSpin {to {transform:rotate(360deg);} }

@media (max-width:1100px) { .sl-search-flex {flex-wrap:wrap;} .sl-field-address {flex:100%;} }
@media (max-width:640px) { .sl-search-flex {flex-direction:column; align-items:stretch;} .sl-field, .sl-actions-wrap {width:100%;} .sl-actions-wrap {justify-content:space-between;} .sl-btn-search {flex:1;} .sl-btn-geolocate {width:52px;} }

/* Layout */
.sl-results-wrapper {padding:35px 0 70px;}
.sl-results-layout {display:flex; gap:28px; align-items:flex-start;}
.sl-map-panel {flex:2; min-width:0;}
.sl-sidebar-panel {flex:1.15; min-width:320px; position:relative;}

.sl-map {width:100%; height:520px; background:#e5e5e5; border-radius:var(--sl-radius-lg); overflow:hidden; border:1px solid var(--sl-border); box-shadow:var(--sl-shadow-sm);}
/* Garantir visibilidade em mobile */
.sl-map {min-height:320px;}

/* Sidebar entries */
.store_locator_sidebar {background:var(--sl-surface); border-radius: 0 0 var(--sl-radius-lg) var(--sl-radius-lg); box-shadow:var(--sl-shadow-sm);}
.store_locator_sidebar::-webkit-scrollbar {width:10px;}
.store_locator_sidebar::-webkit-scrollbar-track {background:linear-gradient(180deg,#fafafa,#f0f0f0); border-radius:40px;}
.store_locator_sidebar::-webkit-scrollbar-thumb {background:linear-gradient(180deg,#c5445d,#9e1b34); border-radius:40px; box-shadow:0 2px 6px rgba(0,0,0,.25) inset;}

.store_locator_sidebar_entry {background:linear-gradient(135deg,#ffffff,#f8f9fb); margin:0 6px 12px; padding:14px 16px 13px 14px; border-radius:var(--sl-radius-md); border:1px solid #eceef0; box-shadow:0 1px 2px rgba(0,0,0,.06),0 1px 3px rgba(0,0,0,.08); position:relative; isolation:isolate; transition:.32s cubic-bezier(.34,.07,.17,.98); display:flex; align-items:flex-start; gap:12px;}
.store_locator_sidebar_entry:before {content:""; position:absolute; inset:0; border-radius:inherit; background:linear-gradient(120deg,rgba(var(--sl-primary-rgb),.12),rgba(var(--sl-primary-rgb),0)); opacity:0; transition:.4s;}
.store_locator_sidebar_entry:hover {transform:translateY(-3px); box-shadow:0 6px 16px -2px rgba(0,0,0,.25),0 3px 6px -2px rgba(0,0,0,.26),0 8px 20px -4px rgba(var(--sl-primary-rgb),.4); cursor:pointer; border-color:#d2d5d9;}
.store_locator_sidebar_entry:hover:before {opacity:1;}
.store_locator_sidebar_entry.sl-active {border-color:var(--sl-primary); box-shadow:0 0 0 2px rgba(var(--sl-primary-rgb),.35),0 6px 18px -3px rgba(var(--sl-primary-rgb),.55); position:relative;}
.store_locator_sidebar_entry.sl-active:before {opacity:1; background:linear-gradient(90deg,rgba(var(--sl-primary-rgb),.22),rgba(var(--sl-primary-rgb),.05));}

.store_locator_sidebar_entry b {font-size:14px; font-weight:600; letter-spacing:.2px; color:var(--sl-primary); text-shadow:0 1px 0 rgba(255,255,255,.35),0 2px 4px rgba(158,27,52,.35);}
.store_locator_sidebar_entry img {border-radius:6px; max-width:54px; max-height:54px; box-shadow:0 2px 6px rgba(0,0,0,.18); border:2px solid #fff;}

.store_locator_sidebar_entry_distance {color:#b52b49; font-weight:600; background:linear-gradient(145deg,#ffd4dd,#ffb7c7); padding:4px 12px 5px; border-radius:40px; font-size:.7rem; letter-spacing:.5px; display:inline-flex; align-items:center; gap:5px; box-shadow:0 2px 4px rgba(0,0,0,.1),0 1px 9px rgba(var(--sl-primary-rgb),.35); position:relative; overflow:visible;}
.store_locator_sidebar_entry_distance:before {content:"Km"; font-size:.62rem; text-transform:uppercase; margin-right:-2px; letter-spacing:.5px; background:#9e1b34; color:#fff; padding:2px 6px 3px; border-radius:40px; box-shadow:0 0 2px rgba(0,0,0,.06),0 2px 4px rgba(158,27,52,.45);}

/* Pagination */
.sl-pagination-bar {margin-top:18px; display:flex; align-items:center; justify-content:space-between; gap:12px;}
.store_locator_pagination {font-size:.85rem; font-weight:500; color:var(--sl-text-soft); padding:0 4px;}
.store_locator_pagination a {color:var(--sl-primary); font-weight:600; text-decoration:none; position:relative;}
.store_locator_pagination a:after {content:""; position:absolute; left:0; bottom:-2px; height:2px; width:100%; background:var(--sl-primary); transform:scaleX(.2); transform-origin:left; transition:.35s;}
.store_locator_pagination a:hover:after {transform:scaleX(1);} 

.sl-loading img {height:18px; filter:hue-rotate(-10deg) saturate(160%);}

/* Geolocate button */
.sl-btn-geolocate.sl-loading-state {position:relative;}
.sl-btn-geolocate.sl-loading-state:after {content:""; position:absolute; inset:0; border-radius:inherit; background:repeating-linear-gradient(45deg,rgba(158,27,52,.15) 0 10px,rgba(255,255,255,.4) 10px 20px); animation:slShimmer 1s linear infinite; mix-blend-mode:overlay;}
@keyframes slShimmer {0% {background-position:0 0;} 100% {background-position:100px 0;}}

/* Tables (display_type 2) */
table.table {background:var(--sl-surface); border-radius: 0 0 var(--sl-radius-lg) var(--sl-radius-lg); overflow:hidden; border:1px solid var(--sl-border); box-shadow:var(--sl-shadow-sm);} 
table.table thead {background:linear-gradient(90deg,#f0f2f4,#e9ecef);}
table.table>thead>tr>th {border-bottom:none; font-weight:600; color:var(--sl-text-soft); font-size:.75rem; letter-spacing:.5px; text-transform:uppercase;}
table.table>tbody>tr {transition:.35s cubic-bezier(.37,.05,.18,.98);}
table.table>tbody>tr:hover {background:linear-gradient(90deg,#fff,#f6f7f9);}
table.table>tbody>tr td {vertical-align:middle; font-size:.9rem;}
table.table>tbody>tr td:first-child {font-weight:600; color:var(--sl-primary);}
/* Grid para colunas sem thead */
.sl-sticky-table tbody tr {display:grid; grid-template-columns:1.2fr 1.4fr .75fr;}
.sl-sticky-table tbody tr td {border-top:1px solid #eceef0 !important;}
.sl-sticky-table tbody tr:first-child td {border-top:0 !important;}

/* Cabeçalho externo da sidebar */
.sl-sidebar-head {display:grid; grid-template-columns:1.2fr 1.4fr .75fr; gap:0; font-size:.62rem; font-weight:700; letter-spacing:.9px; text-transform:uppercase; padding:10px 14px 9px; background:linear-gradient(90deg,#f1f3f5,#e9ecef); border:1px solid var(--sl-border); border-radius:14px 14px 0 0; color:#434a52; box-shadow:0 2px 4px -2px rgba(0,0,0,.12),0 1px 0 rgba(255,255,255,.6) inset;}
.sl-sidebar-head > div {white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}
.sl-h-name {padding-right:6px;}
.sl-h-address {padding-right:6px;}
.sl-h-phone {text-align:left;}
.sl-sticky-wrapper {max-height:480px; overflow:auto; border:1px solid var(--sl-border); border-top:0; border-radius:0 0 14px 14px;}
.sl-sticky-wrapper table {margin-bottom:0;}

/* Ajuste quando usando display_type 2: envolver tabela em wrapper via JS se necessário */
.sl-sticky-table tbody {background:#fff;}

/* Scrollbar refinado especificamente dentro da tabela */
.store_locator_sidebar .sl-sticky-table::-webkit-scrollbar {width:10px;}
.store_locator_sidebar .sl-sticky-table::-webkit-scrollbar-thumb {background:#c6cacf; border-radius:40px;}

/* Map Info Window */
.store_locator_map_infowindow {font-family: 'Montserrat',Helvetica,Arial,sans-serif !important; border-radius:var(--sl-radius-md);}
.store_locator_map_infowindow b {color:var(--sl-primary);} 

/* Premium InfoWindow */
.sl-infobox {min-width:240px; max-width:320px; font-size:.78rem; line-height:1.35; padding:0; background:#fff; border-radius:18px; box-shadow:0 8px 30px -6px rgba(0,0,0,.25),0 2px 10px -2px rgba(0,0,0,.18); border:1px solid #e2e4e8; overflow:hidden;}
.sl-infobox-header {padding:14px 18px 6px; font-weight:600; letter-spacing:.3px; background:linear-gradient(90deg,#ffffff,#f5f6f8); border-bottom:1px solid #eceef1;}
.sl-infobox-header {position:relative; padding-right:54px;} /* espaço para o X */
.sl-infobox-title {font-size:.9rem; color:#1f2328; text-decoration:none; font-weight:600;}
.sl-infobox-title:hover {color:var(--sl-primary);}
.sl-infobox-body {padding:10px 18px 14px;}
.sl-infobox-line {margin-bottom:6px; color:#41464d; word-break:break-word;}
.sl-infobox-line:last-child {margin-bottom:0;}
.sl-label {font-weight:600; color:#2a2f34; margin-right:4px;}
.sl-link {color:var(--sl-primary); text-decoration:none;}
.sl-link:hover {text-decoration:underline;}
.sl-infobox-actions {margin-top:10px; display:flex; gap:12px; flex-wrap:wrap;}
.sl-action {font-size:.65rem; font-weight:600; letter-spacing:.7px; text-transform:uppercase; background:#f1f3f5; padding:6px 10px 6px; border-radius:40px; text-decoration:none; color:#465058; transition:.3s;}
.sl-action:hover {background:var(--sl-primary); color:#fff; box-shadow:0 4px 12px -2px rgba(var(--sl-primary-rgb),.55);} 
.sl-action.sl-accent {background:linear-gradient(120deg,#9e1b34,#b92c4b); color:#fff;}
.sl-action.sl-accent:hover {background:linear-gradient(120deg,#b92c4b,#9e1b34);} 

/* ===== Google Maps InfoWindow container overrides (remove caixa externa) ===== */
.gm-style .gm-style-iw-c {padding:0 !important; background:transparent !important; box-shadow:none !important; border:none !important; overflow:visible !important; border-radius:0 !important;}
.gm-style .gm-style-iw-d {overflow:visible !important;}
/* Remove a “pontinha” padrão para usarmos sombra somente da caixa interna */
.gm-style .gm-style-iw-tc::after {display:none !important;}
.gm-style .gm-style-iw-tc {filter:drop-shadow(0 6px 18px rgba(0,0,0,.25));}

/* Botão de fechar custom */
/* Botão fechar (apenas filho direto da caixa) */
.gm-style .gm-style-iw-c > .gm-ui-hover-effect {top:14px !important; right:14px !important; background:linear-gradient(145deg,#ffffff 0%,#f6f8fb 55%,#eef1f6 100%) !important; border-radius:50% !important; width:38px !important; height:38px !important; display:flex !important; align-items:center; justify-content:center; box-shadow:0 2px 4px rgba(15,23,42,.15),0 6px 18px -4px rgba(15,23,42,.25),inset 0 0 0 1px rgba(255,255,255,.6),0 0 0 1px rgba(0,0,0,.05) !important; transition:.35s cubic-bezier(.4,0,.2,1); opacity:1; z-index:2000 !important; transform:none !important; border:1px solid rgba(0,0,0,.07) !important; backdrop-filter:saturate(190%) blur(6px); -webkit-backdrop-filter:saturate(190%) blur(6px); position:relative;}
.gm-style .gm-style-iw-c > .gm-ui-hover-effect img,
.gm-style .gm-style-iw-c > .gm-ui-hover-effect span {display:none !important;}
.gm-style .gm-style-iw-c > .gm-ui-hover-effect::before,
.gm-style .gm-style-iw-c > .gm-ui-hover-effect::after {content:""; position:absolute; width:18px; height:2.2px; background:linear-gradient(90deg,#223148,#3c4c63); border-radius:2px; left:50%; top:50%; transform-origin:center;}
.gm-style .gm-style-iw-c > .gm-ui-hover-effect::before {transform:translate(-50%,-50%) rotate(45deg);}
.gm-style .gm-style-iw-c > .gm-ui-hover-effect::after {transform:translate(-50%,-50%) rotate(-45deg);}
.gm-style .gm-style-iw-c > .gm-ui-hover-effect:hover {background:linear-gradient(150deg,#ffffff 0%,#f0f4f9 70%,#e4e9ef 100%) !important; box-shadow:0 4px 8px -2px rgba(15,23,42,.20),0 10px 22px -6px rgba(15,23,42,.28),inset 0 0 0 1px rgba(255,255,255,.7),0 0 0 1px rgba(0,0,0,.06) !important; transform:translateY(-2px);}
.gm-style .gm-style-iw-c > .gm-ui-hover-effect:active {transform:translateY(0) scale(.92) !important; box-shadow:0 2px 5px -1px rgba(15,23,42,.3),0 4px 10px -3px rgba(15,23,42,.35) !important;}
.gm-style .gm-style-iw-c > .gm-ui-hover-effect:focus {outline:2px solid var(--sl-primary); outline-offset:2px;}
/* Oculta quaisquer outros botões de fechar redundantes gerados pelo Maps */
.gm-style .gm-style-iw-c > .gm-ui-hover-effect ~ .gm-ui-hover-effect {display:none !important;}
.gm-ui-hover-effect:hover {background:transparent !important; opacity:1;}
.gm-style .gm-style-iw-c {padding-top:0 !important;} /* garante que o header encoste no topo */

/* Ajustar deslocamento vertical da infobox para não “flutuar” demais após remover tail */
.gm-style .gm-style-iw-c + div {display:none !important;} /* Oculta container extra em algumas versões */

/* Pequena animação de entrada */
.gm-style .gm-style-iw-c .sl-infobox {animation:slIwFade .35s cubic-bezier(.4,0,.2,1);}
@keyframes slIwFade {from {opacity:0; transform:translateY(6px) scale(.97);} to {opacity:1; transform:translateY(0) scale(1);} }

/* Utilities */
.sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); border:0;}

/* Responsive */
@media (max-width:1199px) {.sl-results-layout {flex-direction:column;} .sl-sidebar-panel {width:100%; min-width:0;} .sl-map {height:480px;} .store_locator_sidebar {max-height:400px;}}
@media (min-width:768px) and (max-width:1199px){
	.sl-results-layout {flex-direction:column;}
	.sl-map-panel {width:100%; margin-bottom:26px;}
	.sl-map {height:500px; min-height:500px;}
}
@media (max-width:767px) {.sl-hero-wrapper {padding:38px 0 20px;} .sl-search-card {padding:18px 18px 14px;} .sl-results-wrapper {padding:24px 0 60px;} .sl-map {height:420px; min-height:420px;} .store_locator_sidebar_entry {padding:12px 14px; gap:10px;} .sl-title {font-size:2.05rem;} .sl-subtitle {font-size:.9rem;} .sl-search .btn.btn-primary {width:100%; justify-content:center;}}
@media (max-width:767px) { .sl-results-layout {display:block;} .sl-map-panel {width:100%; margin-bottom:22px;} }
@media (max-width:767px) { .sl-sidebar-head {display:none;} .sl-sticky-wrapper {max-height:320px;} .sl-sticky-table tbody tr {grid-template-columns:1fr;} .sl-sticky-table tbody tr td {display:block; padding:6px 14px 4px !important;} .sl-sticky-table tbody tr td + td {padding-top:0 !important;} }
@media (max-width:480px) { .sl-title {font-size:1.85rem;} .sl-search .form-control {height:44px;} }

/* Print (basic) */
@media print { .sl-hero-wrapper, .sl-search-card {box-shadow:none; background:#fff;} .sl-results-layout {display:block;} .sl-sidebar-panel, .sl-map-panel {width:100%;} }

/* Accessibility focus states */
a:focus, button:focus, .store_locator_sidebar_entry:focus {outline:none; box-shadow:var(--sl-focus);} 
.sl-marker-selected b {color:#b52b49 !important;}

/* High contrast adjustment */
@media (prefers-contrast: more) { .store_locator_sidebar_entry {border:2px solid #9e1b34;} .store_locator_sidebar_entry:hover {border-color:#000;} }

/* Motion reduction */
@media (prefers-reduced-motion: reduce) { * {transition:none !important; animation:none !important;} }
