#mapa.av-plaza-explorer {
    align-items: stretch;
    background: #001133;
}

.av-plaza-map-panel {
    position: relative;
    display: block;
    min-height: 0;
    padding: 0 12px;
    background: #1e3267 !important;
}

.av-plaza-map-panel > img:first-child {
    width: 70% !important;
    margin-bottom: 0;
}

.av-plaza-map-panel center { width: 100%; }

.av-plaza-map-panel #img_mapa_xl {
    display: block;
    width: 80% !important;
    height: auto;
    margin: 0 auto;
}

.av-plaza-directory-panel {
    display: flex;
    padding: 0;
    background: #e9e8ef !important;
}

.boxcentros.av-plaza-directory {
    display: flex;
    flex: 1;
    flex-direction: column;
    width: 100%;
    height: auto;
    min-height: 0;
    max-height: none;
    padding: 18px 14px 14px;
    overflow: visible;
}

.av-plaza-directory__header {
    flex: 0 0 auto;
    padding: 0 4px 16px;
}

.av-plaza-directory__eyebrow {
    display: block;
    margin-bottom: 4px;
    color: #62708b;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.av-plaza-directory__title {
    margin: 0;
    color: #001133;
    font-size: 21px;
    font-weight: 700;
}

.av-plaza-directory__description {
    margin: 5px 0 0;
    color: #44516b;
    font-size: 12px;
    line-height: 1.45;
}

.av-plaza-list {
    display: grid;
    flex: 1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 5px;
    min-height: 0;
    padding: 2px 0 8px;
    overflow: visible;
}

.av-plaza-item {
    display: flex;
    align-items: center;
    gap: 7px;
    width: 100%;
    min-height: 36px;
    margin: 0;
    padding: 5px 7px;
    border: 1px solid rgba(0, 32, 96, .10);
    border-radius: 4px;
    background: #fff;
    color: #001133;
    font: inherit;
    font-size: 11px;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.av-plaza-item__number {
    display: inline-flex;
    flex: 0 0 24px;
    align-items: center;
    justify-content: center;
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background: #002060;
    color: #fff;
    font-size: 11px;
    font-weight: 700;
}

.av-plaza-item:hover,
.av-plaza-item:focus-visible,
.av-plaza-item.selected_option {
    border-color: #92d800;
    outline: none;
    background: #92d800;
    color: #001133;
    font-weight: 700;
    box-shadow: 0 5px 13px rgba(0, 17, 51, .12);
    transform: translateX(2px);
}

.av-plaza-item:hover .av-plaza-item__number,
.av-plaza-item:focus-visible .av-plaza-item__number,
.av-plaza-item.selected_option .av-plaza-item__number {
    background: #001133;
}

.av-plaza-directory .botoncentros {
    flex: 0 0 auto;
    width: 100%;
    min-height: 44px;
    margin: 12px 0 0;
    border: 2px solid #002060 !important;
    border-radius: 3px;
    background: #002060;
    color: #fff;
    font-size: 12px;
    font-weight: 700;
    transition: background-color .18s ease, color .18s ease;
}

.av-plaza-directory .botoncentros:hover,
.av-plaza-directory .botoncentros:focus-visible {
    outline: none;
    background: #92d800;
    color: #001133;
}

.av-plaza-modal .modal-dialog { max-width: 1080px; }

.av-plaza-modal .modal-content {
    overflow: hidden;
    border: 0;
    border-top: 5px solid #92d800;
    border-radius: 6px;
    box-shadow: 0 20px 55px rgba(0, 17, 51, .28);
}

.av-plaza-modal .modal-header {
    align-items: center;
    padding: 17px 22px;
    border-bottom: 1px solid rgba(0, 32, 96, .12);
    background: #fff;
}

.av-plaza-modal .modal-title,
.av-plaza-modal .modal-title h6 { margin: 0; }

.av-plaza-modal .modal-title b {
    color: #001133 !important;
    font-size: 18px;
    letter-spacing: .02em;
}

.av-plaza-modal .modal-title .guion {
    margin-right: 7px;
    color: #9ccb25;
}

.av-plaza-modal .btn-close {
    flex: 0 0 auto;
    border-radius: 50%;
    box-shadow: 0 0 0 8px rgba(235, 235, 235, .80);
}

.av-plaza-modal .btn-close:focus { box-shadow: 0 0 0 4px rgba(146, 216, 0, .35); }

.av-plaza-modal .modal-body {
    max-height: calc(100vh - 130px);
    padding: 22px;
    overflow-y: auto;
    background: #f4f5f6;
}

.av-plaza-modal .modal-body > .container-fluid { padding: 0; }
.av-plaza-modal .modal-body > .container-fluid > .row { align-items: flex-start; row-gap: 20px; }

.av-plaza-modal .modal-body img.img-responsive {
    display: block;
    width: 100% !important;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 7px 18px rgba(0, 17, 51, .12);
}

.av-plaza-modal iframe {
    display: block;
    width: 100%;
    height: 240px;
    margin-top: 12px;
    border: 0;
    border-radius: 5px;
    background: #e8eaf0;
}

.av-plaza-modal .av-plaza-location {
    margin-top: 16px;
    color: #001133;
}

.av-plaza-modal .av-plaza-location p {
    margin: 4px 0 0;
    color: #26344d;
    line-height: 1.45;
}

.av-plaza-modal .av-plaza-notice {
    margin: 0 0 12px;
    padding: 9px 12px;
    border-left: 4px solid #92d800;
    background: rgba(146, 216, 0, .14);
    color: #001133;
    font-weight: 700;
    letter-spacing: .04em;
}

.av-plaza-modal .av-plaza-table-wrap {
    overflow-x: auto;
    border-radius: 5px;
    background: #fff;
    box-shadow: 0 6px 16px rgba(0, 17, 51, .08);
}

.av-plaza-modal table.table {
    min-width: 440px;
    margin: 0;
    border-collapse: separate;
    border-spacing: 0;
    background: #fff;
}

.av-plaza-modal table.table thead th {
    padding: 12px 14px;
    border: 0;
    background: #001133 !important;
    color: #fff !important;
    font-size: 14px;
}

.av-plaza-modal table.table tbody th,
.av-plaza-modal table.table tbody td {
    padding: 9px 12px;
    border-color: rgba(0, 32, 96, .08);
    color: #26344d;
    font-size: 12px;
}

.av-plaza-modal table.table tbody tr:nth-child(even) { background: rgba(235, 235, 235, .58); }
.av-plaza-modal table.table tbody tr:hover { background: rgba(146, 216, 0, .14); }
.av-plaza-modal table.table tbody th { color: #001133; font-weight: 700; }

.av-plaza-modal .Enlace {
    min-width: 190px;
    margin-top: 16px;
    padding: 11px 18px;
    border: 2px solid #002060;
    border-radius: 3px;
    background: #002060;
    color: #fff;
    font-weight: 700;
    text-decoration: none;
}

.av-plaza-modal .Enlace:hover,
.av-plaza-modal .Enlace:focus {
    border-color: #92d800;
    background: #92d800;
    color: #001133;
}

@media (max-width: 991.98px) {
    .boxcentros.av-plaza-directory { min-height: 0; max-height: none; padding: 22px 16px 18px; }
    .av-plaza-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; }
    .av-plaza-item:hover, .av-plaza-item:focus-visible, .av-plaza-item.selected_option { transform: none; }
}

@media (max-width: 575.98px) {
    .av-plaza-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; }
    .av-plaza-directory__title { font-size: 19px; }
    .av-plaza-modal .modal-dialog { margin: 8px; }
    .av-plaza-modal .modal-header { padding: 15px 16px; }
    .av-plaza-modal .modal-title b { font-size: 15px; }
    .av-plaza-modal .modal-body { max-height: calc(100vh - 92px); padding: 14px; }
    .av-plaza-modal iframe { height: 220px; }
    .av-plaza-modal .Enlace { display: block; width: 100%; }
}

@media (max-width: 399.98px) {
    .av-plaza-list { grid-template-columns: 1fr; }
}

@media (prefers-reduced-motion: reduce) {
    .av-plaza-item, .av-plaza-directory .botoncentros { transition: none; }
    .av-plaza-item:hover, .av-plaza-item:focus-visible, .av-plaza-item.selected_option { transform: none; }
}
