.hmz-branch-detail-page{background:#f5f8fc;padding:34px 0 64px;min-height:60vh}.hmz-branch-detail-shell{width:min(1120px,calc(100% - 32px));margin:0 auto}.hmz-branch-detail-breadcrumb{margin:0 0 14px}.hmz-branch-detail-breadcrumb a{color:#334155;text-decoration:none;font-weight:700;font-size:.9rem}.hmz-branch-detail-hero,.hmz-branch-detail-card,.hmz-branch-detail-meta article{background:#fff;border:1px solid #e6edf6;box-shadow:0 14px 35px rgba(15,23,42,.055)}.hmz-branch-detail-hero{border-radius:20px;padding:27px 30px;display:flex;align-items:center;gap:18px}.hmz-branch-detail-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:#eff6ff;color:var(--hmz-primary,#2563eb);font-size:1.35rem;flex:0 0 58px}.hmz-branch-detail-title span{font-size:.72rem;font-weight:900;letter-spacing:.13em;color:var(--hmz-primary,#2563eb)}.hmz-branch-detail-title h1{margin:5px 0 3px;color:#10213b;font-size:clamp(1.65rem,3vw,2.35rem);font-weight:800;line-height:1.2}.hmz-branch-detail-title p{margin:0;color:#64748b;font-weight:700}.hmz-branch-detail-meta{display:grid;grid-template-columns:1.4fr .8fr .9fr;gap:12px;margin:14px 0}.hmz-branch-detail-meta article{border-radius:15px;padding:16px 18px}.hmz-branch-detail-meta strong{display:block;color:#1e293b;font-size:.87rem;margin-bottom:7px}.hmz-branch-detail-meta strong i{color:var(--hmz-primary,#2563eb);width:20px}.hmz-branch-detail-meta small{display:block;color:#526176;font-size:.86rem;line-height:1.55}.hmz-branch-detail-card{border-radius:20px;padding:28px 30px}.hmz-branch-detail-card h1,.hmz-branch-detail-card h2{color:#15243b;font-weight:800}.hmz-branch-detail-card h2{font-size:1.35rem;margin:0 0 20px}.hmz-branch-detail-copy{color:#405069;font-size:.96rem;line-height:1.8}.hmz-branch-detail-copy p{margin:0 0 18px}.hmz-branch-copy-heading{font-size:1.05rem;font-weight:800;color:#20324d;margin:25px 0 10px}.hmz-branch-copy-heading:first-child{margin-top:0}.hmz-branch-copy-list{padding-left:1.25rem;margin:0 0 20px}.hmz-branch-copy-list li{margin:5px 0}.hmz-branch-detail-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:26px;padding-top:20px;border-top:1px solid #edf2f7}.hmz-branch-detail-actions .btn{border-radius:10px;font-weight:700}.hmz-sub-branch-card__actions button{cursor:pointer}@media(max-width:767.98px){.hmz-branch-detail-page{padding-top:22px}.hmz-branch-detail-shell{width:min(100% - 20px,1120px)}.hmz-branch-detail-hero{padding:21px;align-items:flex-start}.hmz-branch-detail-meta{grid-template-columns:1fr}.hmz-branch-detail-card{padding:22px 20px}.hmz-branch-detail-actions .btn{flex:1 1 auto}}

/* V1.2 - branch location map */
.hmz-branch-map-card{margin-top:14px;background:#fff;border:1px solid #e6edf6;border-radius:20px;box-shadow:0 14px 35px rgba(15,23,42,.055);overflow:hidden}.hmz-branch-map-head{display:flex;align-items:flex-start;justify-content:space-between;gap:22px;padding:24px 28px 20px}.hmz-branch-map-kicker{display:inline-flex;align-items:center;gap:7px;color:var(--hmz-primary,#2563eb);font-size:.72rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.hmz-branch-map-head h2{margin:6px 0 6px;color:#15243b;font-size:1.35rem;font-weight:800}.hmz-branch-map-head p{margin:0;color:#64748b;font-size:.9rem;line-height:1.55;max-width:760px}.hmz-branch-map-direction{flex:0 0 auto;border-radius:10px;font-weight:700;white-space:nowrap}.hmz-branch-map-frame{position:relative;height:390px;background:#eef3f8;border-top:1px solid #edf2f7}.hmz-branch-map-frame iframe{display:block;width:100%;height:100%;border:0}.hmz-branch-map-frame:after{content:"";position:absolute;inset:0;pointer-events:none;box-shadow:inset 0 1px 0 rgba(15,23,42,.03)}@media(max-width:767.98px){.hmz-branch-map-head{padding:20px;display:block}.hmz-branch-map-direction{display:inline-flex;margin-top:14px}.hmz-branch-map-frame{height:320px}}


/* =========================================================
   V1.3 — Branch details deduplicated contact / visit section
   ========================================================= */
.hmz-branch-connect-card{
    margin-top:18px;
    overflow:hidden;
    border:1px solid #dce8f5;
    border-radius:20px;
    background:#fff;
    box-shadow:0 16px 38px rgba(15,23,42,.06);
}

.hmz-branch-connect-head{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:22px;
    padding:22px 26px 18px;
    background:
        radial-gradient(circle at 95% 8%,rgba(59,130,246,.10),transparent 30%),
        linear-gradient(135deg,#f8fbff 0%,#fff 66%);
    border-bottom:1px solid #e7eef7;
}

.hmz-branch-connect-kicker{
    display:inline-flex;
    align-items:center;
    gap:7px;
    margin-bottom:5px;
    color:#2563eb;
    font-size:11px;
    line-height:1.2;
    font-weight:900;
    letter-spacing:.11em;
    text-transform:uppercase;
}

.hmz-branch-connect-head h2{
    margin:0;
    color:#102a46;
    font-size:clamp(22px,2.5vw,30px);
    line-height:1.16;
    font-weight:900;
    letter-spacing:-.02em;
}

.hmz-branch-connect-head p{
    margin:6px 0 0;
    color:#64748b;
    font-size:13px;
    line-height:1.6;
}

.hmz-branch-phone-count{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    gap:8px;
    min-height:38px;
    padding:0 13px;
    border:1px solid #dbeafe;
    border-radius:11px;
    background:#fff;
    color:#1e5fa8;
    font-size:12px;
    font-weight:850;
    box-shadow:0 6px 16px rgba(37,99,235,.06);
}

.hmz-branch-phone-list{
    display:grid;
    gap:10px;
    padding:14px 18px 6px;
}

.hmz-branch-phone-item{
    display:grid;
    grid-template-columns:38px minmax(0,1fr) auto;
    align-items:center;
    gap:13px;
    min-width:0;
    padding:12px 12px;
    border:1px solid #e4ebf4;
    border-radius:14px;
    background:#fbfdff;
    transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}

.hmz-branch-phone-item:hover{
    transform:translateY(-1px);
    border-color:#bfdbfe;
    box-shadow:0 10px 22px rgba(15,23,42,.055);
}

.hmz-branch-phone-item.is-primary{
    border-color:#ccebd9;
    background:linear-gradient(90deg,#f3fff8 0%,#fff 68%);
}

.hmz-branch-phone-index{
    width:32px;
    height:32px;
    display:grid;
    place-items:center;
    border-radius:10px;
    background:#edf5ff;
    color:#1769bd;
    font-size:13px;
    font-weight:900;
}

.hmz-branch-phone-item.is-primary .hmz-branch-phone-index{
    background:#e5f8ec;
    color:#16814c;
}

.hmz-branch-phone-copy{
    min-width:0;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
}

.hmz-branch-phone-copy small{
    display:flex;
    align-items:center;
    flex-wrap:wrap;
    gap:7px;
    color:#64748b;
    font-size:10px;
    line-height:1.3;
    font-weight:800;
}

.hmz-branch-phone-copy small em{
    padding:2px 6px;
    border-radius:999px;
    background:#dcfce7;
    color:#15803d;
    font-size:8px;
    line-height:1.25;
    font-style:normal;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.04em;
}

.hmz-branch-phone-copy strong{
    max-width:100%;
    margin-top:2px;
    color:#173451;
    font-size:18px;
    line-height:1.25;
    font-weight:900;
    letter-spacing:.01em;
    overflow-wrap:anywhere;
}

.hmz-branch-phone-copy>span{
    margin-top:2px;
    color:#7b8da0;
    font-size:9px;
    line-height:1.35;
}

.hmz-branch-phone-copy>span i{
    margin-right:4px;
    font-size:8px;
}

.hmz-branch-call-btn{
    min-height:36px;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    padding:8px 14px;
    border-radius:10px;
    background:#2176ed;
    color:#fff!important;
    text-decoration:none!important;
    white-space:nowrap;
    font-size:11px;
    font-weight:850;
    box-shadow:0 7px 16px rgba(33,118,237,.18);
}

.hmz-branch-contact-empty{
    margin:14px 18px 6px;
    padding:13px 14px;
    border:1px dashed #cbd5e1;
    border-radius:12px;
    color:#64748b;
    background:#f8fafc;
    font-size:12px;
}

.hmz-branch-visit-grid{
    display:grid;
    grid-template-columns:minmax(180px,.8fr) minmax(220px,1fr) minmax(280px,1.5fr);
    gap:10px;
    padding:12px 18px 14px;
}

.hmz-branch-visit-item{
    position:relative;
    min-width:0;
    display:flex;
    align-items:flex-start;
    gap:10px;
    min-height:68px;
    padding:11px 12px;
    border:1px solid #e4ebf4;
    border-radius:13px;
    background:#f9fbfe;
    color:inherit;
    text-decoration:none!important;
}

.hmz-branch-visit-item--link{
    transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}

.hmz-branch-visit-item--link:hover{
    transform:translateY(-1px);
    border-color:#bbf7d0;
    box-shadow:0 9px 20px rgba(22,163,74,.07);
}

.hmz-branch-visit-icon{
    flex:0 0 auto;
    width:30px;
    height:30px;
    display:grid;
    place-items:center;
    border-radius:9px;
    background:#eaf4ff;
    color:#1971c9;
    font-size:13px;
}

.hmz-branch-visit-icon.whatsapp{
    background:#e9fbef;
    color:#18a957;
}

.hmz-branch-visit-item div{
    min-width:0;
}

.hmz-branch-visit-item small{
    display:block;
    margin-bottom:3px;
    color:#7c8da0;
    font-size:8px;
    line-height:1.25;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.06em;
}

.hmz-branch-visit-item strong{
    display:block;
    color:#263d55;
    font-size:10px;
    line-height:1.45;
    font-weight:800;
    overflow-wrap:anywhere;
}

.hmz-branch-visit-arrow{
    position:absolute;
    top:10px;
    right:10px;
    color:#94a3b8;
    font-size:9px;
}

.hmz-branch-connect-foot{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    padding:10px 18px;
    border-top:1px solid #e8eef6;
    background:#f8fbff;
    color:#738397;
    font-size:9px;
    line-height:1.45;
}

.hmz-branch-connect-foot span i{
    margin-right:5px;
    color:#3b82f6;
}

.hmz-branch-connect-foot a{
    display:inline-flex;
    align-items:center;
    gap:6px;
    color:#1769bd;
    text-decoration:none;
    white-space:nowrap;
    font-weight:850;
}

@media(max-width:900px){
    .hmz-branch-visit-grid{
        grid-template-columns:1fr 1fr;
    }
    .hmz-branch-visit-item--address{
        grid-column:1/-1;
    }
}

@media(max-width:640px){
    .hmz-branch-connect-head{
        display:block;
        padding:19px 18px 16px;
    }
    .hmz-branch-phone-count{
        margin-top:12px;
    }
    .hmz-branch-phone-list{
        padding:12px 12px 4px;
    }
    .hmz-branch-phone-item{
        grid-template-columns:34px minmax(0,1fr);
        padding:11px;
    }
    .hmz-branch-call-btn{
        grid-column:1/-1;
        width:100%;
    }
    .hmz-branch-visit-grid{
        grid-template-columns:1fr;
        padding:10px 12px 12px;
    }
    .hmz-branch-visit-item--address{
        grid-column:auto;
    }
    .hmz-branch-connect-foot{
        align-items:flex-start;
        flex-direction:column;
        padding:10px 12px;
    }
}
