.main-content .breadcrumb { display:flex; flex-wrap:wrap; align-items:center; gap:8px; color:#172033; }
.main-content .breadcrumb a { color:#1d4ed8; text-decoration:underline; }
.main-content .breadcrumb a:hover,.main-content .breadcrumb a:focus-visible { color:#1e3a8a; }
.main-content .breadcrumb-sep { color:#586579; }
.main-content .breadcrumb-current { color:#172033; }
.directory-locations { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; margin:20px 0; }
.directory-location { display:flex; flex-direction:column; gap:8px; padding:20px; border:1px solid #d8dee8; border-radius:8px; text-decoration:none; background:#fff; color:#172033; }
.directory-location:hover,.directory-location:focus-visible { border-color:#2563eb; background:#f1f6ff; }
.directory-location span { font-size:.9em; color:#586579; }
.directory-note,.directory-empty { padding:16px 0; }
.directory-regions { display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; }
.directory-specialties { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px 20px; list-style:none; margin:0; padding:0; }
.directory-specialties > li { min-width:0; }
.mega-menu :is(.directory-specialties,.directory-regions,.mega-menu-columns) { gap:10px; padding:8px; }
.site-header .mega-menu :is(a,.directory-region-trigger) {
    display:flex; align-items:center; gap:12px; min-height:62px; box-sizing:border-box;
    padding:16px; border:0; background:#f8fafc; color:#1d4ed8;
    font-size:15px; line-height:1.45; font-weight:600; text-decoration:none;
    transition:background .15s, box-shadow .15s;
}
[data-menu="services"] .directory-specialties a::before {
    content:""; display:block; flex:0 0 30px; width:30px; height:30px;
    background:currentColor;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 4v7a7 7 0 0 0 14 0V4M4 4h4m10 0h4M13 18v4a6 6 0 0 0 12 0v-3'/%3E%3Ccircle cx='25' cy='16' r='3'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}
[data-menu="services"] .directory-specialties a[href$="/source-specialty-619e423d0a7f38cfb013037f"]::before { mask-image:url("/public/icons/specialties/family.svg"); }
[data-menu="services"] .directory-specialties a[href$="/source-specialty-49bcf711c5c050d0e1ea1f4d"]::before { mask-image:url("/public/icons/specialties/pediatrics.svg"); }
[data-menu="services"] .directory-specialties a[href$="/nszu-specialty-12f0dcfaa71fcb28124be519"]::before { mask-image:url("/public/icons/specialties/internal.svg"); }
[data-menu="services"] .directory-specialties a[href$="/nszu-specialty-9df5d84546a82a81051f4870"]::before { mask-image:url("/public/icons/specialties/therapy.svg"); }
[data-menu="services"] .directory-specialties a[href$="/lic-specialty-8805b3138351551a4e646f84"]::before { mask-image:url("/public/icons/specialties/dentistry.svg"); }
[data-menu="services"] .directory-specialties a[href$="/lic-specialty-89684680adc62c4e4a4ebf7a"]::before { mask-image:url("/public/icons/specialties/dental-treatment.svg"); }
[data-menu="services"] .directory-specialties a[href$="/lic-specialty-7160b8afce384e64cc3616e5"]::before { mask-image:url("/public/icons/specialties/prosthodontics.svg"); }
[data-menu="services"] .directory-specialties a[href$="/lic-specialty-d820567f5868397c4db33618"]::before { mask-image:url("/public/icons/specialties/child-dentistry.svg"); }
[data-menu="services"] .directory-specialties a[href$="/lic-specialty-dcc473bcf9fe7894c6b2e452"]::before { mask-image:url("/public/icons/specialties/orthodontics.svg"); }
[data-menu="services"] .directory-specialties a[href$="/lic-specialty-f34ecb241770d1c1580831b9"]::before { mask-image:url("/public/icons/specialties/dental-surgery.svg"); }
.site-header .mega-menu :is(a,.directory-region-trigger):hover,
.site-header .mega-menu :is(a,.directory-region-trigger):focus-visible {
    background:#eaf2ff; color:#1e3a8a; box-shadow:inset 1px 0 #2563eb;
}
.site-header .mega-menu :is(a,.directory-region-trigger):focus-visible { outline:2px solid #2563eb; outline-offset:2px; }
.mega-menu .directory-regions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); }
.mega-menu .directory-region { width:auto; max-width:100%; min-width:0; border:0; }
.mega-menu .directory-region-trigger { white-space:normal; text-align:left; }
.mega-menu .directory-region-trigger::before {
    content:""; flex:0 0 30px; width:30px; height:30px; background:currentColor;
    mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 32 32'%3E%3Cg fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Cpath d='M16 29S6 19 6 12a10 10 0 0 1 20 0c0 7-10 17-10 17Z'/%3E%3Ccircle cx='16' cy='12' r='4'/%3E%3C/g%3E%3C/svg%3E") center/contain no-repeat;
}
@media(max-width:768px) { .mega-menu .directory-regions { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .mega-menu .directory-regions { grid-template-columns:minmax(0,1fr); } }
@media(max-width:768px) { .directory-specialties { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:480px) { .directory-specialties { grid-template-columns:minmax(0,1fr); } }
.directory-specialties a { display:block; padding:6px 0; color:#1d4ed8; overflow-wrap:anywhere; }
.site-header .mega-menu .directory-specialties a,
.site-header .mega-menu .directory-region-cities a { color:#1d4ed8; }
.site-header .mega-menu .directory-specialties a:hover,
.site-header .mega-menu .directory-specialties a:focus-visible,
.site-header .mega-menu .directory-region-cities a:hover,
.site-header .mega-menu .directory-region-cities a:focus-visible { color:#1e3a8a; }
.mega-menu .directory-regions { margin:0; }
@media(max-width:600px) {
    .site-header > .navbar:not(.navbar-3col) { width:100%; max-width:100%; min-width:0; flex-wrap:wrap; box-sizing:border-box; }
    .navbar:not(.navbar-3col) .navbar-links { display:flex; flex-wrap:wrap; align-items:center; gap:12px; min-width:0; max-width:100%; }
    .navbar:not(.navbar-3col) .navbar-auth { white-space:normal; }
}
.directory-region { flex:0 0 var(--directory-region-width, max-content); width:var(--directory-region-width, max-content); max-width:100%; border:1px solid #d8dee8; border-radius:8px; background:#fff; scroll-margin-top:100px; box-sizing:border-box; }
.directory-region h2 { margin:0; font-size:1.1rem; color:#172033; }
.directory-region-trigger { display:block; width:100%; padding:14px 18px; border:0; border-radius:8px; background:transparent; color:inherit; font:inherit; font-weight:600; text-align:left; white-space:nowrap; cursor:pointer; }
.directory-region-trigger:hover { background:#f1f6ff; }
.directory-region-trigger:focus-visible,.directory-region-close:focus-visible { outline:3px solid #2563eb; outline-offset:3px; }
.directory-region-dialog { position:fixed; inset:0; width:var(--directory-dialog-width, 28rem); max-width:100vw; height:100vh; height:100dvh; max-height:100vh; max-height:100dvh; margin:0 auto; padding:0; border:0; background:#fff; color:#172033; box-sizing:border-box; overflow:hidden; }
.directory-region-dialog[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto; }
.directory-region-dialog::backdrop { background:#777; }
body.directory-region-modal-open { overflow:hidden; }
.directory-region-actions { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:12px 20px; background:#fff; }
.directory-region-actions-top { border-bottom:1px solid #d8dee8; padding-top:max(12px,env(safe-area-inset-top)); }
.directory-region-actions-bottom { justify-content:flex-end; border-top:1px solid #d8dee8; padding-bottom:max(12px,env(safe-area-inset-bottom)); }
.directory-region-dialog-title { min-width:0; font-weight:600; overflow-wrap:anywhere; }
.directory-region-close { flex:none; padding:8px 16px; border:1px solid #d8dee8; border-radius:6px; background:#f1f6ff; color:#172033; cursor:pointer; font:inherit; }
.directory-region-close:hover { border-color:#2563eb; }
.directory-region-dialog .directory-region-cities { min-height:0; overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable; padding:12px 20px; }
.directory-region-cities { display:flex; flex-direction:column; gap:8px; }
.directory-region-cities .directory-location { display:block; padding:6px 0; overflow-wrap:anywhere; border:0; border-radius:0; color:#1d4ed8; }
.directory-region-cities .directory-location span { display:none; }
.directory-region-cities .directory-location strong { font-weight:400; }
.directory-region-cities .directory-location:hover { background:transparent; text-decoration:underline; }
@media(max-width:480px) { .directory-locations { grid-template-columns:1fr; } }

/* Distinct regional motifs for the areas mega menu. */
.mega-menu #menu-region-vinnytska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/vinnytska-oblast.svg"); }
.mega-menu #menu-region-volynska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/volynska-oblast.svg"); }
.mega-menu #menu-region-dnipropetrovska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/dnipropetrovska-oblast.svg"); }
.mega-menu #menu-region-donetska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/donetska-oblast.svg"); }
.mega-menu #menu-region-zhytomyrska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/zhytomyrska-oblast.svg"); }
.mega-menu #menu-region-zakarpatska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/zakarpatska-oblast.svg"); }
.mega-menu #menu-region-zaporizka-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/zaporizka-oblast.svg"); }
.mega-menu #menu-region-ivano-frankivska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/ivano-frankivska-oblast.svg"); }
.mega-menu #menu-region-kyiv .directory-region-trigger::before { mask-image:url("/public/icons/regions/kyiv.svg"); }
.mega-menu #menu-region-kyivska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/kyivska-oblast.svg"); }
.mega-menu #menu-region-kirovohradska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/kirovohradska-oblast.svg"); }
.mega-menu #menu-region-luhanska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/luhanska-oblast.svg"); }
.mega-menu #menu-region-lvivska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/lvivska-oblast.svg"); }
.mega-menu #menu-region-mykolaivska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/mykolaivska-oblast.svg"); }
.mega-menu #menu-region-odeska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/odeska-oblast.svg"); }
.mega-menu #menu-region-poltavska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/poltavska-oblast.svg"); }
.mega-menu #menu-region-rivnenska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/rivnenska-oblast.svg"); }
.mega-menu #menu-region-sumska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/sumska-oblast.svg"); }
.mega-menu #menu-region-ternopilska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/ternopilska-oblast.svg"); }
.mega-menu #menu-region-kharkivska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/kharkivska-oblast.svg"); }
.mega-menu #menu-region-khersonska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/khersonska-oblast.svg"); }
.mega-menu #menu-region-khmelnytska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/khmelnytska-oblast.svg"); }
.mega-menu #menu-region-cherkaska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/cherkaska-oblast.svg"); }
.mega-menu #menu-region-chernivetska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/chernivetska-oblast.svg"); }
.mega-menu #menu-region-chernihivska-oblast .directory-region-trigger::before { mask-image:url("/public/icons/regions/chernihivska-oblast.svg"); }
