.ade-dir{--ade-blue:#0b4164;--ade-sky:#eaf5f8;--ade-yellow:#f2c84b;--ade-text:#18323f;font-family:inherit;color:var(--ade-text)}
.ade-head{background:linear-gradient(135deg,#f8fcfd,#eaf5f8);padding:32px;border-radius:22px;margin-bottom:22px}
.ade-kicker{letter-spacing:.16em;font-weight:800;color:var(--ade-blue);font-size:12px;margin:0 0 6px}.ade-head h2{font-size:clamp(28px,4vw,44px);line-height:1.05;margin:0 0 10px;color:var(--ade-blue)}
.ade-intro{margin:0 0 20px}.ade-searchrow{display:flex;gap:10px;flex-wrap:wrap}.ade-searchrow input{flex:1 1 360px;min-height:50px;border:1px solid #c5d7df;border-radius:12px;padding:0 16px;font-size:16px;background:#fff}
.ade-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:12px;background:var(--ade-blue);color:#fff!important;text-decoration:none!important;padding:13px 18px;font-weight:700;cursor:pointer}.ade-btn-secondary{background:#fff;color:var(--ade-blue)!important;border:1px solid #b8ced8}.ade-btn-small{padding:9px 12px;border-radius:10px;font-size:13px}
.ade-status{margin-top:14px;color:#5b707b}.ade-layout{display:grid;grid-template-columns:minmax(300px,42%) 1fr;gap:20px;align-items:start}.ade-list{max-height:680px;overflow:auto;padding-right:4px}
.ade-card{background:#fff;border:1px solid #dce8ed;border-radius:16px;padding:18px;margin-bottom:12px;box-shadow:0 6px 20px rgba(20,55,72,.05);cursor:pointer;transition:.18s}.ade-card:hover{border-color:#a8c5d1;transform:translateY(-1px)}
.ade-card h3{margin:0;color:var(--ade-blue);font-size:17px;line-height:1.25}.ade-card-top>div{display:flex;justify-content:space-between;gap:12px}.ade-distance{white-space:nowrap;font-size:12px;font-weight:800;background:var(--ade-sky);padding:5px 8px;border-radius:999px}
.ade-address{font-size:14px;line-height:1.5;margin:10px 0 14px}.ade-actions{display:flex;align-items:center;gap:12px;justify-content:space-between}.ade-phone{font-weight:700;color:var(--ade-blue);text-decoration:none}.ade-mapwrap{position:sticky;top:20px}.ade-map{height:680px;border-radius:18px;overflow:hidden;border:1px solid #dce8ed}.ade-empty{padding:30px;background:#f7fafb;border-radius:14px}.ade-mobile-only{display:none}
@media(max-width:899px){.ade-head{padding:22px}.ade-layout{display:block}.ade-list{max-height:none}.ade-mapwrap{display:none;position:relative;top:auto;margin-top:16px}.ade-mapwrap.is-open{display:block}.ade-map{height:62vh;min-height:420px}.ade-mobile-only{display:inline-flex}}

/* Marcador ADEPESCA: pin de localización con pez */
.ade-fish-marker{background:transparent!important;border:0!important}
.ade-fish-pin{width:38px;height:48px;filter:drop-shadow(0 4px 5px rgba(11,65,100,.28));transition:transform .16s ease,filter .16s ease;transform-origin:50% 100%}
.ade-fish-marker:hover .ade-fish-pin{transform:translateY(-2px) scale(1.08);filter:drop-shadow(0 5px 7px rgba(11,65,100,.34))}
.ade-fish-pin svg{display:block;width:100%;height:100%;overflow:visible}
.ade-fish-pin .ade-pin-shape{fill:#0b4164}
.ade-fish-pin .ade-pin-ring{fill:#0f628d}
.ade-fish-pin .ade-fish{fill:#fff}
.leaflet-marker-icon.ade-fish-marker{margin:0!important}


/* v0.1.6: mini ficha ADEPESCA en el mapa */
.ade-map .leaflet-popup-content-wrapper{
  border-radius:18px;
  padding:0;
  overflow:hidden;
  border:1px solid rgba(11,65,100,.10);
  box-shadow:0 14px 38px rgba(12,50,68,.20);
}
.ade-map .leaflet-popup-content{margin:0;width:292px!important;max-width:76vw}
.ade-map .leaflet-popup-tip{box-shadow:3px 3px 10px rgba(12,50,68,.10)}
.ade-map .leaflet-popup-close-button{
  top:9px!important;right:10px!important;width:28px!important;height:28px!important;
  display:flex!important;align-items:center;justify-content:center;
  border-radius:50%;background:#f2f7f9;color:#496b7c!important;
  font-size:20px!important;font-weight:400!important;line-height:1!important;
}
.ade-map .leaflet-popup-close-button:hover{background:#e7f1f5;color:#0b4164!important}
.ade-popup{font-family:inherit;color:#18323f;background:#fff;padding:19px 18px 16px}
.ade-popup-kicker{font-size:10px;line-height:1;letter-spacing:.15em;font-weight:800;color:#6d8b99;margin:0 34px 8px 0}
.ade-popup-name{font-size:17px;line-height:1.22;font-weight:700;color:#0b4164;margin:0 30px 11px 0}
.ade-popup-address{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.42;color:#405d6b;padding-bottom:12px;border-bottom:1px solid #edf3f5}
.ade-popup-address strong{font-weight:700;color:#294b5b}
.ade-popup-icon{display:inline-flex;flex:0 0 16px;width:16px;justify-content:center;color:#0b628d;font-size:14px;line-height:1.35}
.ade-popup-contact{padding:10px 0 0}
.ade-popup-phone{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:700;color:#0b4164!important;text-decoration:none!important}
.ade-popup-phone:hover{text-decoration:underline!important}
.ade-popup-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:13px}
.ade-popup-route,.ade-popup-list{
  min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;
  border-radius:10px;padding:8px 10px;font:700 12px/1.1 inherit;text-decoration:none!important;cursor:pointer;
  transition:transform .15s ease,background .15s ease,border-color .15s ease;
}
.ade-popup-route{border:1px solid #0b4164;background:#0b4164;color:#fff!important}
.ade-popup-route:hover{background:#07364f;transform:translateY(-1px)}
.ade-popup-list{border:1px solid #bfd2db;background:#fff;color:#0b4164}
.ade-popup-list:hover{background:#f3f8fa;border-color:#9dbbc8;transform:translateY(-1px)}
.ade-card.is-highlighted{outline:3px solid rgba(6,77,115,.22);box-shadow:0 0 0 5px rgba(6,77,115,.08)}
@media(max-width:520px){
  .ade-map .leaflet-popup-content{width:260px!important;max-width:74vw}
  .ade-popup{padding:17px 15px 14px}
  .ade-popup-actions{grid-template-columns:1fr}
}

/* v0.1.7 — popup encapsulado para evitar que Flatsome/tema pise el diseño */
#ade-dir .leaflet-popup.ade-popup-shell .leaflet-popup-content-wrapper{
  background:#fff!important;
  border:1px solid #d7e5eb!important;
  border-radius:18px!important;
  padding:0!important;
  overflow:hidden!important;
  box-shadow:0 16px 42px rgba(7,63,97,.22)!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .leaflet-popup-content{
  margin:0!important;
  width:304px!important;
  max-width:min(304px,78vw)!important;
  font-family:inherit!important;
  line-height:1.35!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .ade-popup{
  display:block!important;
  box-sizing:border-box!important;
  padding:18px 18px 16px!important;
  color:#18323f!important;
  background:#fff!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .ade-popup-kicker{
  display:block!important;
  margin:0 34px 7px 0!important;
  padding:0!important;
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.16em!important;
  font-weight:800!important;
  color:#6e8d9b!important;
  text-transform:uppercase!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .ade-popup-name{
  display:block!important;
  margin:0 30px 10px 0!important;
  padding:0!important;
  font-size:16px!important;
  line-height:1.24!important;
  font-weight:700!important;
  color:#0b4164!important;
  text-transform:none!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .ade-popup-address{
  display:grid!important;
  grid-template-columns:18px 1fr!important;
  gap:8px!important;
  align-items:start!important;
  margin:0!important;
  padding:0 0 12px!important;
  border:0!important;
  border-bottom:1px solid #edf3f5!important;
  font-size:13px!important;
  line-height:1.42!important;
  color:#486571!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .ade-popup-address strong{
  color:#294b5b!important;
  font-weight:700!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .ade-popup-icon{
  display:inline-flex!important;
  width:18px!important;
  min-width:18px!important;
  justify-content:center!important;
  color:#0b628d!important;
  line-height:1.35!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .ade-popup-contact{
  display:block!important;
  margin:0!important;
  padding:10px 0 0!important;
}
#ade-dir .leaflet-popup.ade-popup-shell a.ade-popup-phone{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  margin:0!important;
  padding:0!important;
  color:#0b628d!important;
  background:transparent!important;
  border:0!important;
  font-size:13px!important;
  line-height:1.2!important;
  font-weight:700!important;
  text-decoration:none!important;
  text-transform:none!important;
  box-shadow:none!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .ade-popup-actions{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:8px!important;
  margin:13px 0 0!important;
  padding:0!important;
}
#ade-dir .leaflet-popup.ade-popup-shell a.ade-popup-route,
#ade-dir .leaflet-popup.ade-popup-shell button.ade-popup-list{
  box-sizing:border-box!important;
  min-height:40px!important;
  width:100%!important;
  margin:0!important;
  padding:9px 10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  border-radius:10px!important;
  font-family:inherit!important;
  font-size:11px!important;
  line-height:1.1!important;
  font-weight:700!important;
  letter-spacing:0!important;
  text-transform:none!important;
  text-decoration:none!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
#ade-dir .leaflet-popup.ade-popup-shell a.ade-popup-route{
  background:#0b4164!important;
  border:1px solid #0b4164!important;
  color:#fff!important;
}
#ade-dir .leaflet-popup.ade-popup-shell button.ade-popup-list{
  background:#f5fafc!important;
  border:1px solid #bfd3dc!important;
  color:#0b4164!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .leaflet-popup-close-button{
  top:9px!important;
  right:9px!important;
  width:28px!important;
  height:28px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  border:0!important;
  border-radius:999px!important;
  background:#f1f7f9!important;
  color:#5c7a88!important;
  font:400 19px/1 Arial,sans-serif!important;
  text-decoration:none!important;
  box-shadow:none!important;
  z-index:2!important;
}
#ade-dir .leaflet-popup.ade-popup-shell .leaflet-popup-tip{
  background:#fff!important;
  box-shadow:3px 3px 10px rgba(12,50,68,.10)!important;
}
@media(max-width:520px){
  #ade-dir .leaflet-popup.ade-popup-shell .leaflet-popup-content{width:270px!important;max-width:76vw!important}
  #ade-dir .leaflet-popup.ade-popup-shell .ade-popup-actions{grid-template-columns:1fr!important}
}
