/* HF-UHF: scoped styles, no Bootstrap grid dependency. */
.hf-location-grid,.hf-location-detail{--hf-blue:#234884;--hf-border:#dde5ef;--hf-muted:#607086;color:#243348;font-size:16px;line-height:1.6}
.hf-location-grid *,.hf-location-detail *{box-sizing:border-box}
.hf-location-grid{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px;margin:24px 0}
.hf-location-cell{min-width:0;display:flex}
.hf-location-card{width:100%;display:flex;flex-direction:column;background:#fff;border:1px solid var(--hf-border);border-radius:16px;overflow:hidden;box-shadow:0 4px 18px #183b6810;transition:box-shadow .2s,border-color .2s}
.hf-location-card:hover{border-color:#91add0;box-shadow:0 8px 24px #183b6820}
.hf-card-image{aspect-ratio:16/10;background:#eaf0f7;overflow:hidden}
.hf-card-image>*,.hf-card-image a{display:block;width:100%;height:100%;margin:0!important;float:none!important}
.hf-card-image img{display:block!important;width:100%!important;height:100%!important;max-width:100%!important;object-fit:cover;border:0!important;padding:0!important}
.hf-no-image{height:100%;min-height:160px;display:grid;place-items:center;background:linear-gradient(135deg,#e9eff7,#dbe7f5);color:#537198;font-size:24px;font-weight:700;letter-spacing:.15em}
.hf-card-body{padding:18px;display:flex;flex-direction:column;flex:1;min-width:0}
.hf-card-title{margin:0 0 12px!important;font-size:21px!important;line-height:1.3!important;font-weight:700}
.hf-location-grid a,.hf-location-detail a{color:var(--hf-blue);overflow-wrap:anywhere}
.hf-card-title a{text-decoration:none}
.hf-facts{list-style:none!important;margin:0!important;padding:0!important;overflow-wrap:anywhere}
.hf-facts li{margin:0 0 8px!important;padding:0!important;list-style:none!important;font-size:14px;line-height:1.6}
.hf-facts strong,.hf-facts .element-label{color:#52647a}
.hf-card-extra{margin-top:12px;overflow-wrap:anywhere}
.hf-card-link{align-self:flex-end;margin-top:auto;padding:8px 14px;min-width:44px;min-height:44px;text-align:center;font-size:24px;text-decoration:none}
.hf-location-grid a:focus-visible,.hf-location-detail a:focus-visible{outline:3px solid #2778ce;outline-offset:3px}
.hf-detail-title{font-size:clamp(26px,4vw,38px)!important;line-height:1.2!important;margin:0 0 24px!important}
.hf-detail-top{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:28px;background:white;border:1px solid var(--hf-border);padding:24px;border-radius:18px}
.hf-detail-image,.hf-detail-info{min-width:0}
.hf-detail-image img{max-width:100%!important;width:100%!important;height:auto!important;border-radius:12px}
.hf-detail-image .hf-no-image{min-height:300px;border-radius:12px}
.hf-detail-info .hf-facts li{font-size:16px;padding:9px 0!important;border-bottom:1px solid #edf1f6;margin:0!important}
.hf-coordinates{padding:16px;background:#eff4fa;border-radius:10px;margin-top:16px;overflow-wrap:anywhere}
.hf-coordinates a{display:block;padding-top:8px}
.hf-detail-section{background:#fff;border:1px solid var(--hf-border);border-radius:16px;padding:24px;margin-top:24px;overflow-x:auto;overflow-wrap:anywhere}
.hf-detail-section img,.hf-detail-section iframe{max-width:100%}
.hf-detail-section img{height:auto}
@media(max-width:1100px){.hf-location-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}}
@media(max-width:767px){.hf-detail-top{grid-template-columns:minmax(0,1fr);padding:16px;gap:20px}.hf-detail-section{padding:16px}.hf-detail-image .hf-no-image{min-height:200px}}
@media(max-width:600px){.hf-location-grid{grid-template-columns:minmax(0,1fr);gap:18px}.hf-card-image{aspect-ratio:16/9}.hf-card-body{padding:18px}.hf-facts li{font-size:16px}}
@media(prefers-reduced-motion:reduce){.hf-location-card{transition:none}}

/* Equal card heights within each row, including the JBZoo item wrapper. */
.hf-location-grid { align-items: stretch; }
.hf-location-cell { display: flex; align-items: stretch; }
.hf-location-cell > * { width: 100%; flex: 1; min-width: 0; }
.hf-location-card { height: 100%; display: flex; flex-direction: column; }
.hf-card-image { flex-shrink: 0; }
.hf-card-body { flex: 1; display: flex; flex-direction: column; }
.hf-card-link { margin-top: auto; }
/* Automatic default images: show the complete logo. */
.hf-card-image img.hf-image-placeholder {
    object-fit: contain !important;
    object-position: center;
    background: #fff;
    padding: 12px !important;
}

/* v4: uploaded logos and photos share the same field; preserve every image. */
.hf-card-image { background: #fff; }
.hf-card-image img {
    object-fit: contain !important;
    object-position: center;
    background: #fff;
}
/* Pagination independent of Bootstrap 2/3. */
.hf-pagination { display: block !important; width: 100%; margin: 28px 0; clear: both; }
.hf-pagination > ul {
    display: flex !important; flex-wrap: wrap; justify-content: center;
    align-items: center; gap: 8px; list-style: none !important;
    padding: 0 !important; margin: 0 !important; width: 100%;
}
.hf-pagination > ul > li {
    display: block !important; list-style: none !important; float: none !important;
    margin: 0 !important; padding: 0 !important;
}
.hf-pagination > ul > li::before, .hf-pagination > ul > li::after { content: none !important; }
.hf-pagination > ul > li > a, .hf-pagination > ul > li > span {
    display: flex !important; align-items: center; justify-content: center;
    box-sizing: border-box; min-width: 44px; min-height: 44px;
    padding: 8px 14px !important; margin: 0 !important; float: none !important;
    border: 1px solid #dce5ef !important; border-radius: 9px !important;
    background: #fff; color: #234884; font-size: 16px; line-height: 1.4;
    text-decoration: none;
}
.hf-pagination > ul > li.active > span {
    background: #234884; color: #fff; border-color: #234884 !important; font-weight: 700;
}
.hf-pagination a:hover { background: #eaf1f9; }
.hf-pagination a:focus-visible { outline: 3px solid #2778ce; outline-offset: 3px; }

/* v5: larger square media area with equal top and side insets. */
.hf-location-card .hf-card-image {
    width: auto;
    height: auto;
    aspect-ratio: 1 / 1;
    margin: 18px 18px 0;
    padding: 0;
    flex: 0 0 auto;
    background: #fff;
    border-radius: 8px;
}
.hf-location-card .hf-card-image img,
.hf-location-card .hf-card-image img.hf-image-placeholder {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center;
    padding: 0 !important;
    margin: 0 !important;
}

/* v6: program navigation and the existing JBZoo search module 130. */
.hf-program-nav{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:20px 0 24px;padding:0}
.hf-program-nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:8px 20px;box-sizing:border-box;border:1px solid #d9e3ef;border-radius:10px;background:#fff;color:#234884;text-decoration:none;font-size:16px;font-weight:600;line-height:1.4}
.hf-program-nav a:hover{background:#eaf1fa;border-color:#91add0}
.hf-program-nav a[aria-current="page"]{background:#234884;border-color:#234884;color:#fff}
.hf-program-nav a:focus-visible{outline:3px solid #2778ce;outline-offset:3px}
#jbmodule-table-130{box-sizing:border-box;width:100%;padding:22px;background:#fff;border:1px solid #dce5ef;border-radius:16px;margin:0 0 28px;box-shadow:0 4px 18px #183b6810}
#jbmodule-table-130 *{box-sizing:border-box}
#jbmodule-table-130 table.jbfilter-table{display:block!important;width:100%!important;border:0!important;margin:0!important;background:transparent!important}
#jbmodule-table-130 table.jbfilter-table>tbody{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
#jbmodule-table-130 table.jbfilter-table>tbody>tr{display:contents!important}
#jbmodule-table-130 table.jbfilter-table>tbody>tr>td{display:block!important;width:auto!important;min-width:0;padding:0!important;border:0!important;background:transparent!important;vertical-align:top}
#jbmodule-table-130 .jbfilter-row{margin:0!important;padding:0!important;float:none!important;width:100%!important}
#jbmodule-table-130 .jbfilter-label{display:block!important;float:none!important;width:auto!important;padding:0!important;margin:0 0 8px!important;background:transparent!important;border:0!important;color:#43566f!important;font-size:14px!important;font-weight:600;line-height:1.5}
#jbmodule-table-130 .jbfilter-element{float:none!important;width:100%!important;margin:0!important;min-width:0}
#jbmodule-table-130 input[type="text"],#jbmodule-table-130 select{display:block!important;box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0;height:46px!important;padding:10px 12px!important;margin:0!important;border:1px solid #cbd7e5!important;border-radius:8px!important;background:#f8fafc!important;color:#243348!important;font-size:16px!important;line-height:1.4}
#jbmodule-table-130 input[type="text"]:focus,#jbmodule-table-130 select:focus{outline:2px solid #2778ce;outline-offset:2px}
#jbmodule-table-130 .jbfilter-buttons{display:flex!important;justify-content:flex-end;align-items:center;margin-top:18px!important;clear:both}
#jbmodule-table-130 .jbfilter-buttons .clr{display:none}
#jbmodule-table-130 input[type="submit"]{appearance:none;min-height:44px;padding:10px 28px!important;border:1px solid #234884!important;border-radius:9px!important;background:#234884!important;color:#fff!important;font-size:16px!important;font-weight:600;line-height:1.4;cursor:pointer;text-shadow:none;box-shadow:none}
#jbmodule-table-130 input[type="submit"]:hover{background:#19365f!important}
#jbmodule-table-130 input[type="submit"]:focus-visible{outline:3px solid #2778ce;outline-offset:3px}
@media(max-width:1000px){#jbmodule-table-130 table.jbfilter-table>tbody{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.hf-program-nav{gap:8px}.hf-program-nav a{padding:8px 14px;flex:1 0 26%}#jbmodule-table-130{padding:16px}#jbmodule-table-130 table.jbfilter-table>tbody{grid-template-columns:minmax(0,1fr);gap:14px}#jbmodule-table-130 input[type="submit"]{width:100%}}
