/* Presentación compartida. Los datos del directorio viven en WordPress y ACF. */
.ipx-directory{--ipx-ink:#152c30;--ipx-teal:#006b73;--ipx-line:#d9e5e0;color:var(--ipx-ink);font:400 17px/1.65 'Source Sans 3',Arial,sans-serif;margin:24px auto 38px;max-width:1380px;scroll-margin-top:125px}
.ipx-directory *{box-sizing:border-box}.ipx-directory [hidden]{display:none!important}
.ipx-directory h2,.ipx-directory h3{font-family:'Source Serif 4',Georgia,serif;line-height:1.2;color:var(--ipx-ink)}
.ipx-directory h2{font-size:clamp(25px,2.5vw,34px);margin:0 0 15px}.ipx-intro{max-width:850px;margin:0 0 20px}
.ipx-filters{display:flex;align-items:flex-end;flex-wrap:wrap;gap:13px;background:#f4f7f5;border:1px solid var(--ipx-line);border-radius:14px;padding:20px;margin:24px 0 15px}
.ipx-filters label{display:grid;gap:6px;flex:1 1 185px;font-size:14px;font-weight:700;color:var(--ipx-ink)}
.ipx-filters input,.ipx-filters select{font:400 16px/1.3 'Source Sans 3',Arial,sans-serif!important;color:#233f41!important;background:white!important;border:1px solid #aebfb8!important;border-radius:8px;padding:11px!important;min-height:46px;width:100%;max-width:100%}
.ipx-filters button,.ipx-map-open{min-height:46px;border:0;border-radius:8px;padding:11px 18px;background:#006b73;color:#fff;font:700 16px/1.3 'Source Sans 3',Arial,sans-serif;cursor:pointer}
.ipx-filters button:hover,.ipx-map-open:hover{background:#004b51}.ipx-reset{padding:10px 4px;color:var(--ipx-teal)!important;font-size:15px;text-decoration:underline!important}
.ipx-total{font-size:14px;font-weight:700;color:#526867;margin:12px 0 20px}
.ipx-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.ipx-card{overflow:hidden;border:1px solid var(--ipx-line);border-radius:14px;background:#fff;min-width:0;display:flex;flex-direction:column}
.ipx-card .ipx-photo,.ipx-card picture{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}.ipx-card picture img{display:block;width:100%;height:100%;object-fit:cover}
.ipx-card-copy{padding:21px;display:flex;flex-direction:column;flex:1}.ipx-card-copy h3{font-size:24px;margin:9px 0 12px!important;padding:0!important}.ipx-card h3 a{color:var(--ipx-ink)!important;text-decoration:none!important}.ipx-card h3 a:hover{color:var(--ipx-teal)!important;text-decoration:underline!important}
.ipx-kind{font:700 12px/1.4 'Source Sans 3',Arial,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--ipx-teal)}
.ipx-card-copy p{font-size:15px;line-height:1.6;margin:0 0 15px!important}.ipx-town{color:#4c6362}.ipx-view{color:var(--ipx-teal)!important;font-size:15px;font-weight:750;text-decoration:none!important;padding-top:12px;margin-top:auto}
.ipx-empty{border:1px solid var(--ipx-line);border-radius:12px;padding:24px;background:#fafbf9}
.ipx-map-wrap{padding:20px;border:1px solid var(--ipx-line);border-radius:14px;margin:20px 0;background:#f8faf9}.ipx-map-wrap>p,.ipx-map-note{font-size:14px;line-height:1.5;margin:0 0 12px}.ipx-map-disclosure{margin:10px 0!important;color:#556c69}.ipx-map{height:400px;border-radius:10px;z-index:0}.ipx-map-status{margin:12px 0 0!important}.ipx-map .leaflet-control-attribution a{color:#005d64!important;text-decoration:underline!important}.ipx-map-note{padding:14px 0;color:#526867}
.ipx-pagination ul{display:flex!important;flex-wrap:wrap;list-style:none!important;padding:0!important;gap:8px;margin:25px 0}.ipx-pagination li{list-style:none!important;margin:0!important}.ipx-pagination .page-numbers{display:inline-flex;justify-content:center;align-items:center;min-width:44px;min-height:44px;padding:8px 13px;border:1px solid var(--ipx-line);border-radius:8px;color:var(--ipx-teal);font-weight:700;text-decoration:none}.ipx-pagination .current{background:var(--ipx-teal);color:white}
.ipx-directory :is(a,button,input,select):focus-visible{outline:3px solid #006b73;outline-offset:3px}
@media(max-width:1000px){.ipx-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.ipx-grid{grid-template-columns:1fr;gap:16px}.ipx-filters{padding:16px}.ipx-filters label{flex-basis:100%}.ipx-filters button{flex:1}.ipx-map-wrap{padding:13px}.ipx-map{height:300px}.ipx-card-copy{padding:18px}.ipx-map .leaflet-control-attribution{font-size:10px}}

/* La página histórica de servicios deja de usar la barra lateral de Divi. */
body.page-id-17894:has(.ipx-directory) #main-content>.container{width:calc(100% - 36px);max-width:1380px}
body.page-id-17894:has(.ipx-directory) #left-area{width:100%!important;float:none!important;padding-right:0!important}
body.page-id-17894:has(.ipx-directory) #sidebar,body.page-id-17894:has(.ipx-directory) #main-content>.container:before{display:none!important}
