.branch-directions {
    margin-block: 1.25rem;
    padding: clamp(.875rem, 2vw, 1.125rem);
    border: 1px solid var(--line);
    border-radius: .9rem;
    background: var(--linen);
}
.branch-directions h2 {
    margin: 0;
    font-size: clamp(1.125rem, 2.5vw, 1.45rem);
    line-height: 1.3;
}
.branch-directions p { margin: .375rem 0 0; }
.branch-directions-notes { overflow-wrap: anywhere; }
.branch-directions-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: .5rem .75rem;
    margin-top: .75rem;
}
.branch-directions-actions .button {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    min-height: 44px;
}
.branch-map-notice {
    display: block;
    margin-top: .375rem;
    color: var(--muted);
}
.branch-directions-map:has(iframe) { flex-basis: 100%; }
.branch-directions-map iframe {
    display: block;
    width: 100%;
    height: clamp(13rem, 38vw, 17rem);
    border-radius: .5rem;
}
.branch-follow-status:empty { display: none; }
.branch-contact form { margin-block: .5rem; }
.branch-dialog [hidden], .branch-lightbox [hidden] { display: none; }
.branch-dialog { max-height: 90dvh; }
.branch-lightbox {
    width: min(94vw, 65rem);
    max-height: 94dvh;
    overflow: auto;
    padding: 3rem 1rem 1rem;
    border: 0;
    border-radius: .8rem;
    color: var(--ink);
    background: var(--paper);
}
.branch-lightbox::backdrop { background: rgb(20 16 13 / 85%); }
.branch-lightbox .dialog-close { position: absolute; right: .75rem; top: .5rem; }
.branch-lightbox figure { margin: 0; text-align: center; }
.branch-lightbox img { display: block; width: 100%; max-height: 70dvh; object-fit: contain; }
.branch-lightbox figcaption { padding-top: .5rem; }
.branch-lightbox-nav { display: flex; justify-content: center; align-items: center; gap: 1rem; margin-top: .5rem; }
.branch-lightbox-nav button { min-width: 44px; min-height: 44px; cursor: pointer; }
.branch-visually-hidden { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
