.dcs-banks-shell{--blue:#073f72;--blue2:#0c5ca8;--gold:#e2b44f;--ink:#162333;--muted:#627084;max-width:1280px;margin:0 auto;padding:24px 16px 60px;color:var(--ink)}
.dcs-banks-hero{position:relative;overflow:hidden;padding:42px;border-radius:28px;background:linear-gradient(135deg,#073f72,#0b6ab5);color:#fff;box-shadow:0 20px 50px rgba(7,63,114,.18)}
.dcs-banks-hero:after{content:"";position:absolute;width:280px;height:280px;border:60px solid rgba(255,255,255,.08);border-radius:50%;right:-80px;top:-120px}.dcs-banks-hero span{font-size:12px;font-weight:800;letter-spacing:.14em}.dcs-banks-hero h1{font-size:clamp(30px,5vw,54px);line-height:1.03;margin:10px 0 14px;color:#fff}.dcs-banks-hero p{max-width:760px;font-size:18px;margin:0}.dcs-banks-stats{display:flex;align-items:baseline;gap:10px;margin-top:24px}.dcs-banks-stats strong{font-size:30px}.dcs-banks-stats small{opacity:.85}
.dcs-banks-filters{display:grid;grid-template-columns:minmax(250px,2fr) repeat(3,minmax(145px,1fr)) auto;gap:12px;padding:18px;margin:-18px 22px 24px;position:relative;z-index:3;background:#fff;border:1px solid #e2e8f0;border-radius:18px;box-shadow:0 12px 35px rgba(15,36,57,.12)}.dcs-banks-filters label span{display:block;font-size:12px;font-weight:700;color:var(--muted);margin:0 0 5px}.dcs-banks-filters input,.dcs-banks-filters select{width:100%;min-height:44px;border:1px solid #ced7e2;border-radius:10px;padding:8px 11px;background:#fff;color:var(--ink)}
.dcs-banks-filter-actions{display:flex;align-self:end;gap:8px}.dcs-banks-filters button{min-height:44px;border:0;border-radius:10px;padding:0 15px;background:#edf3f8;color:var(--blue);font-weight:800;cursor:pointer;white-space:nowrap}.dcs-banks-filters button:hover{background:#e2edf6}.dcs-banks-filters button:disabled{opacity:.55;cursor:wait}.dcs-banks-filters .dcs-banks-near{display:inline-flex;align-items:center;justify-content:center;gap:7px;background:var(--blue);color:#fff}.dcs-banks-near svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8}.dcs-banks-filters .dcs-banks-near:hover,.dcs-banks-filters .dcs-banks-near.is-active{background:var(--blue2)}
.dcs-banks-radius{grid-column:1/2}.dcs-banks-location-status{grid-column:2/-1;align-self:end;min-height:20px;margin:0 2px 5px;color:var(--muted);font-size:13px}.dcs-banks-location-status.is-success{color:#176b3a}.dcs-banks-location-status.is-error{color:#a22323}
.dcs-banks-layout{display:block}.dcs-banks-map-wrap{position:relative;width:100%;height:clamp(480px,58vh,650px);min-height:480px;margin-bottom:28px}.dcs-banks-map{height:100%;border-radius:20px;overflow:hidden;background:#e9eef3;border:1px solid #dbe3eb}.dcs-banks-map .maplibregl-popup-content{border-radius:12px;padding:14px}.dcs-banks-map .maplibregl-popup-content p{margin:6px 0}.dcs-banks-map .maplibregl-popup-content small{color:var(--muted)}
.dcs-banks-results{min-width:0}.dcs-banks-result-head{display:flex;justify-content:space-between;gap:18px;align-items:baseline;margin:0 0 16px;scroll-margin-top:90px}.dcs-banks-result-head strong{font-size:26px;color:var(--blue)}.dcs-banks-page-summary{color:var(--muted);font-size:14px}.dcs-banks-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;align-items:stretch}.dcs-banks-grid>.dcs-banks-loading,.dcs-banks-grid>.dcs-banks-empty{grid-column:1/-1}
.dcs-bank-card{display:flex;flex-direction:column;padding:18px;border:1px solid #dfe6ee;border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(25,49,76,.06)}.dcs-bank-card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.dcs-bank-card-top>span{display:inline-flex;padding:5px 9px;border-radius:999px;background:#e7f1fa;color:var(--blue);font-size:12px;font-weight:800}.dcs-bank-card-top>div{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:6px}.dcs-bank-card-top small{color:#5f6e7f;font-size:11px}.dcs-bank-card-top .dcs-bank-distance{padding:3px 7px;border-radius:999px;background:#eaf7ef;color:#176b3a;font-weight:800}.dcs-bank-card h2{font-size:19px;margin:10px 0 7px}.dcs-bank-card p{margin:0 0 12px;color:#3f4d5d}.dcs-bank-card dl{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:auto 0 14px;padding-top:2px}.dcs-bank-card dl div{background:#f6f8fa;padding:8px;border-radius:8px}.dcs-bank-card dt{font-size:10px;text-transform:uppercase;color:#718096}.dcs-bank-card dd{margin:2px 0 0;font-size:12px;font-weight:700}.dcs-bank-card>a{display:inline-flex;text-decoration:none;font-weight:800;color:var(--blue)}
.dcs-banks-pagination{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:7px;margin-top:24px}.dcs-banks-pagination button{min-width:40px;height:40px;padding:0 12px;border:1px solid #d7e0e9;border-radius:10px;background:#fff;color:var(--blue);font:inherit;font-weight:800;cursor:pointer}.dcs-banks-pagination button:hover:not(:disabled){border-color:#9ab6d1;background:#eef5fb}.dcs-banks-pagination button.is-current{border-color:var(--blue2);background:var(--blue2);color:#fff}.dcs-banks-pagination button:disabled{opacity:.45;cursor:not-allowed}.dcs-banks-page-gap{padding:0 3px;color:var(--muted)}
.dcs-banks-empty,.dcs-banks-loading{padding:30px;text-align:center;color:var(--muted)}.dcs-banks-source{margin-top:24px;color:var(--muted);font-size:13px}
@media(max-width:1100px){.dcs-banks-filters{grid-template-columns:minmax(240px,2fr) repeat(2,minmax(150px,1fr));margin:16px 0 22px}.dcs-banks-filter-actions{grid-column:2/-1}.dcs-banks-radius{grid-column:1/2}.dcs-banks-location-status{grid-column:2/-1}.dcs-banks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.dcs-banks-filters{grid-template-columns:1fr 1fr}.dcs-banks-search{grid-column:1/-1}.dcs-banks-filter-actions{grid-column:1/-1}.dcs-banks-radius{grid-column:1/2}.dcs-banks-location-status{grid-column:2/-1}.dcs-banks-map-wrap{height:460px;min-height:0}.dcs-banks-grid{grid-template-columns:1fr}.dcs-banks-result-head{align-items:flex-start;flex-direction:column;gap:2px}.dcs-banks-pagination button span{display:none}}
@media(max-width:620px){.dcs-banks-shell{padding-left:10px;padding-right:10px}.dcs-banks-hero{padding:28px 22px;border-radius:20px}.dcs-banks-filters{grid-template-columns:1fr}.dcs-banks-search,.dcs-banks-filter-actions,.dcs-banks-radius,.dcs-banks-location-status{grid-column:1}.dcs-banks-filter-actions{display:grid;grid-template-columns:1fr 1fr}.dcs-banks-map-wrap{height:420px}.dcs-bank-card dl{grid-template-columns:1fr 1fr}.dcs-bank-card dl div:last-child{grid-column:1/-1}.dcs-banks-page-summary{font-size:13px}}

/* 0.2.3: filtros, acciones y paginación coherentes en todos los dispositivos. */
.dcs-banks-shell,
.dcs-banks-shell * {
  box-sizing: border-box;
}
.dcs-banks-filters {
  grid-template-columns: minmax(260px,3fr) repeat(3,minmax(160px,2fr)) auto;
  gap: 14px;
  padding: 22px;
}
.dcs-banks-filters > label {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 8px;
  margin: 0;
}
.dcs-banks-filters > label > span {
  min-height: 19px;
  margin: 0;
  color: var(--ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.35;
}
.dcs-banks-filters input[type="search"],
.dcs-banks-filters select {
  width: 100%;
  height: 52px;
  min-height: 52px;
  margin: 0;
  padding: 0 16px;
  border: 1px solid #cbd6e3;
  border-radius: 11px;
  background-color: #fff;
  color: var(--ink);
  font-family: inherit;
  font-size: 15px;
  font-weight: 500;
  line-height: 1.35;
}
.dcs-banks-filters select {
  padding-right: 42px;
}
.dcs-banks-filters select:disabled {
  border-color: #dde4ec;
  background: #f3f6f9;
  color: #7b8796;
  cursor: not-allowed;
  opacity: 1;
}
.dcs-banks-filters input[type="search"]:focus,
.dcs-banks-filters select:focus {
  border-color: var(--blue2);
  outline: 0;
  box-shadow: 0 0 0 3px rgba(12,92,168,.14);
}
.dcs-banks-filter-actions {
  display: flex;
  min-width: max-content;
  align-items: flex-end;
  align-self: auto;
  gap: 9px;
}
.dcs-banks-filters .dcs-banks-filter-actions button {
  min-height: 52px;
  height: 52px;
  margin: 0;
  padding: 0 17px;
  border: 1px solid #d5e0ea;
  border-radius: 11px;
  font-family: inherit;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.2;
}
.dcs-banks-filters .dcs-banks-filter-actions .dcs-banks-near {
  border-color: var(--blue);
}
.dcs-banks-filters .dcs-banks-filter-actions button:focus-visible {
  outline: 3px solid rgba(12,92,168,.22);
  outline-offset: 2px;
}
.dcs-banks-radius {
  grid-column: 1/2;
}
.dcs-banks-location-status {
  margin: 0 2px;
  align-self: center;
  line-height: 1.45;
}
.dcs-banks-pagination {
  margin-top: 28px;
}
.dcs-banks-pagination button {
  min-width: 44px;
  height: 44px;
  margin: 0;
  padding: 0 13px;
  border-radius: 10px;
  line-height: 1;
}
.dcs-bank-card {
  min-width: 0;
}
.dcs-bank-card h2,
.dcs-bank-card p,
.dcs-bank-card dd {
  overflow-wrap: anywhere;
}
.dcs-bank-card > .dcs-bank-directions {
  display: inline-flex;
  width: fit-content;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 8px;
  margin-top: auto;
  padding: 0 14px;
  border: 1px solid #c7d9e9;
  border-radius: 10px;
  background: #eef5fb;
  color: var(--blue);
  font-family: inherit;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.2;
  text-decoration: none;
  transition: border-color .18s ease,background-color .18s ease,color .18s ease,transform .18s ease;
}
.dcs-bank-card > .dcs-bank-directions svg {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.8;
  stroke-linecap: round;
  stroke-linejoin: round;
}
.dcs-bank-card > .dcs-bank-directions:hover {
  border-color: var(--blue);
  background: var(--blue);
  color: #fff;
  transform: translateY(-1px);
}
.dcs-bank-card > .dcs-bank-directions:focus-visible {
  border-color: var(--blue2);
  outline: 3px solid rgba(12,92,168,.2);
  outline-offset: 2px;
}
@media(max-width:1180px) {
  .dcs-banks-filters {
    grid-template-columns: repeat(6,minmax(0,1fr));
    margin: 18px 0 24px;
  }
  .dcs-banks-search {
    grid-column: span 3;
  }
  .dcs-banks-filters > label:not(.dcs-banks-search):not(.dcs-banks-radius) {
    grid-column: span 2;
  }
  .dcs-banks-filter-actions {
    grid-column: span 3;
    min-width: 0;
  }
  .dcs-banks-filter-actions button {
    flex: 1;
  }
  .dcs-banks-radius {
    grid-column: span 3;
  }
  .dcs-banks-location-status {
    grid-column: span 3;
  }
}
@media(max-width:760px) {
  .dcs-banks-filters {
    grid-template-columns: 1fr 1fr;
    padding: 18px;
  }
  .dcs-banks-search,
  .dcs-banks-filters > label:not(.dcs-banks-search):not(.dcs-banks-radius),
  .dcs-banks-filter-actions,
  .dcs-banks-radius,
  .dcs-banks-location-status {
    grid-column: auto;
  }
  .dcs-banks-search,
  .dcs-banks-filter-actions,
  .dcs-banks-location-status {
    grid-column: 1/-1;
  }
}
@media(max-width:540px) {
  .dcs-banks-filters {
    grid-template-columns: 1fr;
    padding: 17px;
  }
  .dcs-banks-search,
  .dcs-banks-filters > label:not(.dcs-banks-search):not(.dcs-banks-radius),
  .dcs-banks-filter-actions,
  .dcs-banks-radius,
  .dcs-banks-location-status {
    grid-column: 1;
  }
  .dcs-banks-filter-actions {
    display: grid;
    grid-template-columns: 1fr;
    min-width: 0;
  }
  .dcs-banks-filter-actions button {
    width: 100%;
  }
  .dcs-banks-pagination {
    gap: 6px;
  }
  .dcs-banks-pagination button {
    min-width: 40px;
    height: 40px;
    padding: 0 10px;
  }
  .dcs-bank-card > .dcs-bank-directions {
    width: 100%;
  }
}
