/* GRID: panel izq / mapa der / franja abajo */
.a7map-wrap{
  --panel-min: 460px;
  --panel-max: 520px;
  display:grid;
  grid-template-columns: minmax(var(--panel-min), var(--panel-max)) 1fr;
  grid-template-rows: auto 1fr auto;  /* header / cats / links (izq) */
  grid-template-areas:
    "header map"
    "cats   map"
    "links  map";
  gap:16px;
  max-width:1200px;
  margin:0 auto;
  padding:24px 10px;
  align-items:start;
}

/* Áreas */
.a7map-header{ grid-area: header; }
.a7map-cats  { grid-area: cats; }
.a7map-links { grid-area: links; }
.a7map-map   { grid-area: map; }

/* Tarjetas izquierdas */
.a7map-header,
.a7map-cats{
  background:#fff;
  border:1px solid #e5e7eb;
  border-radius:16px;
  padding:22px;
  box-shadow:0 2px 10px rgba(0,0,0,.05);
}

.a7map-title{
  color: var(--a7-title-color, #000);
  font-size:2.05rem;
  font-weight:800;
  margin:0 0 6px;
}
.a7map-address{
  color: var(--a7-address-color, #000);
  margin-bottom:6px;
}

/* Filtros 2x2 */
.a7map-cats{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.a7map-cat{
  display:flex;align-items:center;gap:10px;
  padding:12px 14px;width:100%;
  background:#fff;border:2px solid #e5e7eb;border-radius:10px;
  cursor:pointer;
  transition:transform .06s ease, box-shadow .12s ease, background .12s ease, border-color .12s ease;
}
.a7map-cat img{width:28px;height:28px;display:block;}
.a7map-cat span{font-weight:600;}
.a7map-cat:active{transform:scale(.98);}
.a7map-cat.is-active{background:#1dd3c5;border-color:#1dd3c5;box-shadow:0 0 0 3px rgba(29,211,197,.14);}
.a7map-cat.is-active span{color:#063;}

/* Franja oscura + botones */
.a7map-links{
  display:flex;gap:20px;align-items:center;
  background:#3c4756;border-radius:12px;padding:18px 20px;
  border:1px solid #2f3947;
}
.a7map-btn{
  display:flex;align-items:center;gap:10px;
  background:#fff;color:#111;text-decoration:none;
  padding:12px 18px;border-radius:10px;border:1px solid #d1d5db;
  min-width:220px;justify-content:center;
}
.a7map-btn img{width:22px;height:22px;display:block;}

/* Mapa derecha */
.a7map-map{
  width:100%;height:560px;
  border:1px solid #e5e7eb;border-radius:16px;overflow:hidden;
}

/* InfoWindow */
.a7map-iw{min-width:180px}

/* Responsive: apilar en móvil */
@media (max-width: 980px){
  .a7map-wrap{
    grid-template-columns:1fr;
    grid-template-areas:
      "header"
      "map"
      "cats"
      "links";
  }
  .a7map-map{height:420px;}
}
/* GRID por defecto: panel izq / mapa der / franja abajo */
.a7map-wrap{
  --a7-btn-active-bg:#1dd3c5;
  --a7-btn-active-text:#063;
  display:grid;
  grid-template-columns:minmax(460px,520px) 1fr;
  grid-template-rows:auto 1fr auto;
  grid-template-areas:
    "header map"
    "cats   map"
    "links  map";
  gap:16px;
  margin:0 auto;
  padding:24px 10px;
  align-items:start;
}

/* Alternativas de layout si las usas en el shortcode */
.layout-right{
  grid-template-columns:1fr minmax(460px,520px);
  grid-template-areas:"map header" "map cats" "map links";
}
.layout-stacked{
  grid-template-columns:1fr;
  grid-template-areas:"header" "map" "cats" "links";
}

.a7map-header{grid-area:header;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.a7map-cats{grid-area:cats;background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:22px;box-shadow:0 2px 10px rgba(0,0,0,.05)}
.a7map-links{grid-area:links;display:flex;gap:20px;align-items:center;background:#3c4756;border-radius:12px;padding:18px 20px;border:1px solid #2f3947}
.a7map-map{grid-area:map;width:100%;border:1px solid #e5e7eb;border-radius:16px;overflow:hidden}

 

.a7map-cats{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.a7map-cat{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff;border:2px solid #e5e7eb;border-radius:10px;cursor:pointer;transition:transform .06s,box-shadow .12s,background .12s,border-color .12s}
.a7map-cat:active{transform:scale(.98)}
.a7map-cat img{width:28px;height:28px}
.a7map-cat span{font-weight:600}
.a7map-cat.is-active{background:var(--a7-btn-active-bg);border-color:var(--a7-btn-active-bg);box-shadow:0 0 0 3px color-mix(in srgb, var(--a7-btn-active-bg), transparent 80%)}
.a7map-cat.is-active span{color:var(--a7-btn-active-text)}

.a7map-btn{display:flex;align-items:center;gap:10px;background:#fff;color:#111;text-decoration:none;padding:12px 18px;border-radius:10px;border:1px solid #d1d5db;min-width:220px;justify-content:center}
.a7map-btn img{width:22px;height:22px;display:block}

.a7map-iw{min-width:180px}

.a7map-watermark{position:relative;grid-column:1 / -1;margin-top:8px;font-size:12px;opacity:.5;text-align:right}

/* Responsive */
@media (max-width:980px){
  .a7map-wrap{grid-template-columns:1fr;grid-template-areas:"header" "map" "cats" "links"}
}
