.catalog-results-layout{display:grid;gap:24px;align-items:start}
.catalog-results-layout.has-map{grid-template-columns:minmax(0,1.4fr) minmax(340px,1fr)}
.catalog-page .catalog-results-layout.has-map .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 18px}
.catalog-map{padding:0;position:sticky;top:100px;min-width:0;scroll-margin-top:100px;border:1px solid #d7e7df;border-radius:18px;background:#fff;overflow:hidden;color:#163d3a}
.catalog-map[hidden],.catalog-map [hidden],.catalog-views[hidden],.catalog-map-selection[hidden],.catalog-card[hidden]{display:none!important}
.catalog-map-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:18px 16px 8px}
.catalog-map-heading h2{margin:0;font-family:Manrope,Inter,sans-serif;font-size:18px;line-height:1.35;color:#163d3a}
.catalog-map button,.catalog-map-selection button,.catalog-views button{min-height:44px;border:1px solid #d7e7df;border-radius:10px;padding:9px 12px;background:#fff;color:#007f78;font:600 12px Inter,sans-serif;cursor:pointer}
.catalog-map button:hover,.catalog-map-selection button:hover{background:#edf8f3}
.catalog-map button:focus-visible,.catalog-map-zones summary:focus-visible,.catalog-views button:focus-visible,.catalog-map-selection button:focus-visible{outline:3px solid #007f78;outline-offset:3px}
.catalog-map-heading button{flex-shrink:0;font-size:11px;padding:6px 8px}
.catalog-map-note{margin:0;padding:0 16px 16px;color:#59706a;font:400 12px/1.55 Inter,sans-serif}
.catalog-map-surface{position:relative;background:#eaf1ed}
.catalog-map-canvas{width:100%;height:clamp(340px,50vh,550px)}
.catalog-map-load{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:28px;text-align:center;background:#edf4ef;color:#42615a}
.catalog-map-load p{max-width:280px;font-size:14px;line-height:1.6}
.catalog-map .catalog-map-marker{display:flex;align-items:center;justify-content:center;min-width:56px;height:44px;box-sizing:border-box;border:2px solid #fff;border-radius:24px;background:#007f78;color:#fff;padding:0 12px;font:700 15px Inter,sans-serif;box-shadow:0 3px 9px #163d3a45;cursor:pointer}
.catalog-map-empty{margin:0;padding:18px 16px;color:#59706a;font-size:14px;line-height:1.6}
.catalog-map-zones{padding:0 16px}
.catalog-map-zones summary{min-height:48px;padding:15px 0;cursor:pointer;font:600 12px/1.5 Inter,sans-serif;color:#007f78}
.catalog-map-zones [data-map-zones]{display:grid;gap:8px;padding:0 0 16px}
.catalog-map-zones button{display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;font-weight:400;line-height:1.5}
.catalog-map-zones strong{font-weight:700;flex-shrink:0}
.catalog-views{display:none}
.catalog-map-selection{display:flex;justify-content:space-between;gap:16px;align-items:center;margin:0 0 20px;padding:10px 14px;background:#edf8f3;border-radius:12px;color:#163d3a}
.catalog-map-selection p{margin:0;font-size:13px;line-height:1.5}
.catalog-map-selection button{flex-shrink:0}
#productGrid,#catalogViews,#catalogMapSelection{scroll-margin-top:100px}
@media(min-width:900px) and (max-width:1099px){.catalog-page .catalog-results-layout.has-map .catalog-grid{grid-template-columns:1fr}.catalog-results-layout.has-map{grid-template-columns:minmax(0,1fr) minmax(340px,1fr)}}
@media(max-width:899px){
 .catalog-results-layout.has-map{grid-template-columns:1fr}
 .catalog-page .catalog-results-layout.has-map .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .catalog-views{display:flex;width:max-content;max-width:100%;gap:4px;padding:4px;margin-bottom:20px;border:1px solid #d7e7df;border-radius:14px;background:#f7f3e8}
 .catalog-views button{min-width:96px;border:0;background:transparent;font-size:14px}
 .catalog-views button[aria-pressed="true"]{background:#007f78;color:#fff}
 .catalog-results-layout.has-map:not(.is-map-view)>.catalog-map,.catalog-results-layout.has-map.is-map-view>.catalog-grid{display:none}
 .catalog-map{padding:0;position:relative;top:auto}
 .catalog-map-canvas{height:clamp(320px,55svh,500px)}
 .catalog-map-selection{align-items:flex-start;gap:8px}
 .catalog-page:has(.catalog-results-layout.is-map-view)>:is(.catalog-whatsapp-fab,.cart-fab){position:relative;inset:auto;display:inline-flex;vertical-align:middle;align-items:center;justify-content:center;margin:0 0 20px 20px}
}
@media(max-width:700px){.catalog-page .catalog-results-layout.has-map .catalog-grid{grid-template-columns:1fr}.catalog-map-heading{align-items:flex-start}.catalog-map-heading h2{font-size:17px}.catalog-map-selection{flex-wrap:wrap}}
