.catalog-branches { display: grid; gap: 12px; max-width: 860px; margin-inline: auto; }
.activity-group { border: 1px solid #e2e3ee; border-radius: 14px; background: #fff; }
.activity-group > summary { cursor: pointer; padding: 14px 16px; font-weight: 750; color: #212948; }
.activity-group[open] > summary { color: #81276b; }
.branch-options { gap: 8px; }
.catalog-parent { min-height: 54px; background: #fff; font-weight: 750; }
html[dir="rtl"] .branch-button > [aria-hidden="true"] { transform: scaleX(-1); }
.branch-button { display: flex; align-items: center; justify-content: space-between; gap: 12px; width: 100%; min-height: 46px; padding: 10px 14px; border: 1px solid #ecebf4; border-radius: 10px; background: #f8f8fc; color: #252d47; text-align: start; }
.branch-button:hover { background: #f0ecfa; }
.branch-options .branch-button { animation: branch-enter .22s ease-out both; animation-delay: calc(var(--branch-index) * 26ms); }
@keyframes branch-enter { from { opacity: 0; transform: translateY(-5px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .branch-options .branch-button { animation: none; } }

.activity-picker { min-width: 0; margin: 18px 0; padding: 14px; border: 1px solid #dfdfee; border-radius: 14px; }
.activity-picker legend { font-weight: 750; }
.activity-picker p { color: #575f76; margin: 0 0 12px; font-size: .9rem; }
.activity-picker .activity-group { margin-block: 7px; }
.activity-picker .activity-option { display: flex; align-items: flex-start; gap: 9px; margin: 0; padding: 9px 14px; cursor: pointer; }
.activity-picker .activity-option input[type="checkbox"] { appearance: auto; width: 18px; height: 18px; flex: 0 0 auto; margin: 2px 0 0; padding: 0; accent-color: #963582; }

.directory-results { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 270px), 1fr)); gap: 14px; }
.directory-results .empty { grid-column: 1 / -1; }
.directory-card { display: grid; gap: 10px; align-content: start; min-width: 0; border: 1px solid #e4e5ef; border-radius: 18px; background: #fff; box-shadow: 0 9px 26px #2524500a; }
.directory-card-link { display: flex; flex-wrap: wrap; align-items: center; gap: 13px; width: 100%; padding: 16px; border: 0; border-radius: inherit; background: none; color: inherit; text-align: start; }
.directory-card-link:hover { background: #f8f6fc; }
.directory-card .companyLogo, .directory-profile .companyLogo { display: grid; place-items: center; flex: none; width: 72px; height: 72px; padding: 7px; margin: 0; border: 1px solid #e8e7f1; border-radius: 14px; background: #fff; overflow: hidden; }
.directory-card .companyLogo img, .directory-profile .companyLogo img { display: block; width: 100%; height: 100%; object-fit: contain; }
.directory-identity { display: grid; gap: 5px; flex: 1 1 130px; min-width: 0; overflow-wrap: anywhere; }
.directory-identity strong { color: #19223d; }
.directory-identity small { color: #555e75; }
.member-label { display: inline-flex; align-items: center; justify-self: start; padding: 4px 8px; border-radius: 99px; background: #f2e9fa; color: #683369; font-size: .72rem; font-weight: 750; line-height: 1.35; }
.directory-card .directory-save { justify-self: end; margin: 0 14px 12px; padding: 5px 10px; color: #81276b; }
.directory-profile { display: grid; gap: 14px; max-width: 860px; overflow-wrap: anywhere; }
.directory-profile-header, .directory-panel { padding: clamp(16px, 3vw, 24px); border: 1px solid #e4e5ef; border-radius: 18px; background: #fff; }
.directory-profile-header { display: flex; flex-wrap: wrap; align-items: center; gap: 16px; }
.directory-profile-header .companyLogo { width: 86px; height: 86px; }
.directory-profile h2, .directory-profile h3, .directory-profile p { margin: 0; }
.directory-profile .profile-description { flex-basis: 100%; color: #4b556d; line-height: 1.7; }
#profile.screen { padding-top: 0; }
.directory-hero { position: relative; height: clamp(210px, 28vw, 350px); overflow: hidden; background: linear-gradient(120deg, #343951, #80758e); }
.directory-cover { display: block; width: 100%; height: 100%; object-fit: cover; }
.directory-hero-back { position: absolute; top: max(68px, calc(env(safe-area-inset-top) + 58px)); inset-inline-end: 18px; background: #ffffffed; box-shadow: 0 2px 12px #10152c20; }
.provider-media-preview { display: block; width: 100%; max-width: 350px; max-height: 170px; object-fit: contain; margin-top: 10px; border-radius: 10px; background: #f4f4fa; }
.provider-media-preview[hidden] { display: none; }
.directory-panel { display: grid; gap: 12px; }
.directory-tags { display: flex; flex-wrap: wrap; gap: 7px; margin: 0; padding: 0; list-style: none; }
.directory-tags li { border-radius: 8px; background: #f3f3fa; color: #333b56; padding: 6px 9px; }
.directory-entries, .directory-contact { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; }
.directory-entries li + li { border-top: 1px solid #ebedf4; padding-top: 10px; }
.directory-entries p { margin-top: 4px; color: #555e75; line-height: 1.6; }
.directory-contact { grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr)); }
.directory-contact dt { color: #525c74; font-size: .8rem; }
.directory-contact dd { margin: 3px 0 0; }
.directory-profile a { color: #6b2d79; }
.directory-profile a.cta { color: white; text-decoration: none; }

.directory-hero--panoramic { height: auto; aspect-ratio: 3 / 1; }
.directory-hero--panoramic .directory-cover { object-fit: contain; }

.directory-save{display:inline-grid;place-items:center;min-width:44px;min-height:44px;border:1px solid #eadbec;border-radius:50%;background:white;color:#a02e72;cursor:pointer}
.directory-save .svgico{width:20px;height:20px}
.directory-save[aria-pressed=true] .svgico{fill:currentColor}
.directory-profile-header .directory-save{margin-inline-start:auto;align-self:flex-start;flex:none}
.providerDisplayName{display:flex;align-items:center;gap:.38em;flex-wrap:wrap}
.providerVerified{display:inline-grid;place-items:center;width:.86em;height:.86em;flex:none;border-radius:.23em;background:#176cdd;color:white;font-weight:900;line-height:1}

:root{--brand-frame:linear-gradient(120deg,#48aaff,#8460ec 51%,#f35aa9)}
#listings .screenTop small,.member-label,.directory-save,.app .topback{
 border:1px solid transparent;
 background:linear-gradient(var(--frame-fill,#fff),var(--frame-fill,#fff)) padding-box,var(--brand-frame) border-box;
}
#listings .screenTop small{border-radius:999px}
.member-label{--frame-fill:#f2e9fa}
.app .topback{--frame-fill:#f7f8fc}
.providerVerified{width:1em;height:1em;border-radius:.24em;background:#3088ee}
.providerVerified svg{display:block;width:70%;height:70%}
#b2meRequestVerification[hidden],#b2meVerificationDialog [hidden]{display:none!important}
#b2meVerificationDialog::backdrop{background:#12173088}
#b2meVerificationDialog input[type=file]{max-width:100%}
#b2meVerificationDialog .btn{margin:4px 0}

/* Proportions use the same square coordinate space in every placement. */
.b2meLogo{
 position:relative;
 display:inline-block;
 container-type:inline-size;
 flex:none;
 direction:ltr;
 vertical-align:middle;
 inline-size:var(--logo-size,61px);
 aspect-ratio:1;
 border-radius:23%;
 background:var(--brand-frame);
}
.b2meLogo::before{
 content:"";
 position:absolute;
 inset:1%;
 border-radius:inherit;
 background:linear-gradient(145deg,#151b38,#24183e);
}
.b2meLogo > .b2meLogoMark{
 position:absolute;
 display:block;
 inset:14% 17% auto;
 width:66%;
 height:68%;
 max-width:none;
 max-height:none;
 margin:0;
 border-radius:0;
 object-fit:contain;
 filter:drop-shadow(.55cqi .8cqi 1cqi #140f29);
}
.b2meLogo > .b2meLogoHub{
 position:absolute;
 right:16%;
 bottom:11%;
 color:#ff79d4;
 font:italic 600 17cqi/1 "Segoe Print","Bradley Hand",cursive;
 letter-spacing:-.055em;
 text-transform:none;
 text-shadow:0 .5cqi .9cqi #4a1559,0 0 2cqi #130d30;
}
