/* Catalogue lawyer choice: a compact, scoped native dialog. */
html.hrnt-lcg-open,
body.hrnt-lcg-open {
    overflow: hidden;
    overscroll-behavior: none;
}

dialog.hrnt-lcg {
    position: fixed;
    inset: 0;
    width: calc(100% - var(--space-page-x) * 2);
    max-width: calc(var(--h-big) * 8);
    height: min(calc(var(--h-big) * 14), calc(100vh - var(--space-page-x) * 2));
    height: min(calc(var(--h-big) * 14), calc(100dvh - var(--space-page-x) * 2));
    max-height: calc(100vh - var(--space-page-x) * 2);
    max-height: calc(100dvh - var(--space-page-x) * 2);
    margin: auto;
    padding: 0;
    overflow: visible;
    border: 0;
    outline: 0;
    box-shadow: none;
    background: transparent;
    color: var(--color-body);
    font-family: var(--font-family);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    text-align: left;
    isolation: isolate;
}

dialog#hrnt-lawyer-choice.hrnt-lcg:focus,
dialog#hrnt-lawyer-choice.hrnt-lcg:focus-visible {
    outline: 0;
    box-shadow: none;
}
dialog.hrnt-lcg[open] { display: block; }
dialog.hrnt-lcg:not([open]),
.hrnt-lcg [hidden] { display: none !important; }
dialog.hrnt-lcg::backdrop {
    background: color-mix(in srgb, var(--color-heading) 56%, transparent);
}

.hrnt-lcg *,
.hrnt-lcg *::before,
.hrnt-lcg *::after { box-sizing: border-box; }

.hrnt-lcg .hrnt-lcg__panel {
    position: relative;
    display: flex;
    flex-direction: column;
    height: 100%;
    max-height: calc(100vh - var(--space-page-x) * 2);
    max-height: calc(100dvh - var(--space-page-x) * 2);
    min-width: 0;
    overflow: hidden;
    border: 0;
    border-radius: var(--radius-md);
    background: var(--color-white);
    box-shadow: var(--shadow-modal);
}

/* Paid placement overlays the full-bleed surface without changing geometry. */
dialog.hrnt-lcg[data-promoted="true"] .hrnt-lcg__panel::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 4;
    border: 2px solid var(--color-success);
    border-radius: inherit;
    pointer-events: none;
}

.hrnt-lcg .hrnt-lcg__scroll {
    flex: 1 1 0;
    min-height: 0;
    min-width: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior: contain;
}
.hrnt-lcg :is(.hrnt-lcg__scroll, .hrnt-lcg__image-status) {
    scrollbar-width: none;
    -ms-overflow-style: none;
    scrollbar-gutter: auto;
}
.hrnt-lcg :is(.hrnt-lcg__scroll, .hrnt-lcg__image-status)::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
}

.hrnt-lcg :is(button, a) { -webkit-tap-highlight-color: transparent; }
.hrnt-lcg :is(button, a):focus-visible {
    outline: thin solid var(--color-primary);
    outline-offset: calc(var(--text-xs) / 6);
    box-shadow: var(--shadow-primary);
}

.hrnt-lcg :is(.hrnt-lcg__close, .hrnt-lcg__prev, .hrnt-lcg__next, .hrnt-lcg__rating, .hrnt-lcg__badge, .hrnt-lcg__phone, .hrnt-lcg__messenger, .hrnt-lcg__profile, .hrnt-lcg__more, .hrnt-lcg__image-retry) {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 0;
    margin: 0;
    appearance: none;
    border: thin solid var(--color-gray-border);
    border-radius: var(--radius);
    background: var(--color-white);
    color: var(--color-primary);
    font-family: inherit;
    font-size: var(--text-base);
    font-weight: var(--weight-regular);
    line-height: var(--leading-snug);
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    touch-action: manipulation;
    transition: background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition), filter var(--transition), background-position var(--transition);
}

.hrnt-lcg svg {
    display: block;
    flex: 0 0 auto;
    width: var(--text-xl);
    height: var(--text-xl);
    color: inherit;
    pointer-events: none;
}

.hrnt-lcg .hrnt-lcg__photo-area {
    position: relative;
    min-width: 0;
    height: min(calc(var(--h-big) * 8), 52vh);
    height: min(calc(var(--h-big) * 8), 52dvh);
    min-height: calc(var(--h-big) * 2);
    background: var(--color-bg-tint-blue);
    touch-action: pan-y;
}

.hrnt-lcg .hrnt-lcg__image {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 0;
    max-height: none;
    margin: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    object-fit: cover;
    object-position: center top;
    user-select: none;
    -webkit-user-select: none;
    -webkit-user-drag: none;
}

.hrnt-lcg .hrnt-lcg__image-status {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    justify-content: safe center;
    gap: calc(var(--text-xs) * 2 / 3);
    padding: var(--text-xs);
    overflow-x: hidden;
    overflow-y: auto;
    background: var(--color-bg-tint-blue);
    color: var(--color-muted);
    font-size: var(--text-base);
    line-height: var(--leading-relaxed);
    text-align: center;
    pointer-events: auto;
}
.hrnt-lcg .hrnt-lcg__image-status > [data-lcg-image-message] {
    display: block;
    flex: 0 0 auto;
    margin: 0;
    color: inherit;
    font: inherit;
}
.hrnt-lcg .hrnt-lcg__image-retry {
    flex: 0 0 auto;
    width: auto;
    max-width: 100%;
    min-height: var(--h-touch);
    padding: calc(var(--text-xs) * 2 / 3) var(--text-xs);
    font-size: var(--text-sm);
    white-space: normal;
    pointer-events: auto;
}

.hrnt-lcg .hrnt-lcg__close {
    position: absolute;
    z-index: 4;
    top: calc(var(--text-xs) * 2 / 3);
    right: calc(var(--text-xs) * 2 / 3);
    width: var(--h-touch);
    height: var(--h-touch);
    padding: calc(var(--text-xs) / 2);
    border-radius: var(--radius-xs);
}

.hrnt-lcg .hrnt-lcg__rating {
    position: absolute;
    z-index: 2;
    top: 0;
    left: var(--space-after-h4);
    width: var(--but-card-height);
    height: calc(var(--h-big) + var(--text-xs) / 2);
    align-items: flex-start;
    padding: var(--text-xs) 0 0;
    border: 0;
    border-radius: 0;
    background: var(--color-caption);
    color: var(--color-white);
    font-size: var(--text-md);
    font-weight: var(--weight-bold);
    line-height: 1;
    clip-path: polygon(0 -1px, 100% -1px, 100% 100%, 50% 85%, 0 100%);
}
.hrnt-lcg .hrnt-lcg__rating[data-level="high"] { background: var(--color-success); }
.hrnt-lcg .hrnt-lcg__rating[data-level="mid"] { background: var(--color-warning); }
.hrnt-lcg button.hrnt-lcg__rating:focus-visible {
    box-shadow: inset 0 0 0 calc(var(--text-xs) / 6) var(--color-white), inset 0 0 0 calc(var(--text-xs) / 3) var(--color-primary);
}

.hrnt-lcg .hrnt-lcg__nav {
    position: absolute;
    z-index: 3;
    inset: auto calc(var(--text-xs) * 2 / 3) calc(var(--text-xs) * 2 / 3);
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: var(--text-xs);
    margin: 0;
    padding: 0;
    pointer-events: none;
}
.hrnt-lcg :is(.hrnt-lcg__prev, .hrnt-lcg__next) {
    flex: 0 0 var(--h-touch);
    width: var(--h-touch);
    height: var(--h-touch);
    padding: calc(var(--text-xs) / 2);
    border-radius: var(--radius-round);
    box-shadow: var(--shadow-sm);
    pointer-events: auto;
}

/* A finite hint moves only the arrow glyph; the touch target stays fixed. */
.hrnt-lcg .hrnt-lcg__next.is-lcg-nudge:not(:disabled) > svg {
    animation: hrnt-lcg-next-nudge calc(var(--motion-duration-ui) * 7) var(--motion-ease-out) 1;
}
@keyframes hrnt-lcg-next-nudge {
    0%, 8%, 44%, 56%, 94%, 100% { transform: translateX(0); }
    26%, 76% { transform: translateX(calc(var(--text-xs) / 3)); }
}

.hrnt-lcg :is(.hrnt-lcg__prev, .hrnt-lcg__next):disabled {
    visibility: hidden;
    pointer-events: none;
}

.hrnt-lcg .hrnt-lcg__content {
    min-width: 0;
    padding: var(--space-after-h4);
}
.hrnt-lcg .hrnt-lcg__name {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    gap: calc(var(--text-xs) / 3);
    min-width: 0;
    min-height: calc(var(--text-xl) * var(--leading-heading));
    margin: 0;
    padding: 0;
    color: var(--color-heading);
    font-family: inherit;
    font-size: var(--text-xl);
    font-weight: var(--weight-bold);
    line-height: var(--leading-heading);
    white-space: nowrap;
    overflow-wrap: normal;
}
.hrnt-lcg .hrnt-lcg__name[data-name-size="smaller"] { font-size: var(--text-lg); }
.hrnt-lcg .hrnt-lcg__name[data-name-size="smallest"] { font-size: var(--text-md); }
.hrnt-lcg .hrnt-lcg__name > [data-lcg-name] {
    display: block;
    flex: 0 1 auto;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    overflow-wrap: normal;
    text-overflow: ellipsis;
}
.hrnt-lcg .hrnt-lcg__badge {
    display: inline-flex;
    position: relative;
    flex: 0 0 var(--text-xl);
    width: var(--text-xl);
    height: var(--text-xl);
    margin-top: 0;
    margin-left: 0;
    padding: 0;
    border: 0;
    border-radius: var(--radius);
    background: transparent;
    color: var(--color-success);
}
.hrnt-lcg .hrnt-lcg__badge[data-kind="promotion"] { background: var(--color-bg-success-light); }
.hrnt-lcg .hrnt-lcg__badge[data-kind="verified"] { background: transparent; }
.hrnt-lcg .hrnt-lcg__badge :is(svg, .harant-icon) {
    width: var(--text-lg);
    height: var(--text-lg);
    color: inherit;
    font-size: var(--text-lg);
    line-height: 1;
}
.hrnt-lcg .hrnt-lcg__badge[data-kind="promotion"] > .harant-icon::before { content: "\e915"; }
.hrnt-lcg .hrnt-lcg__badge[data-kind="verified"] > .harant-icon::before { content: "\e91a"; }
.hrnt-lcg button.hrnt-lcg__badge:focus-visible { box-shadow: var(--shadow-primary); }
.hrnt-lcg button.hrnt-lcg__badge[data-kind="promotion"]:focus-visible {
    box-shadow: var(--shadow-primary), inset 0 0 0 calc(var(--text-xs) / 12) var(--color-success);
}
.hrnt-lcg .hrnt-lcg__location {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    gap: calc(var(--text-xs) / 3);
    margin-top: calc(var(--text-xs) / 3);
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
}
.hrnt-lcg .hrnt-lcg__role { color: var(--color-primary); }
.hrnt-lcg .hrnt-lcg__role:not(:empty) + .hrnt-lcg__city:not(:empty)::before {
    content: "·";
    margin-right: calc(var(--text-xs) / 3);
}
.hrnt-lcg .hrnt-lcg__summary {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(calc(var(--h-big) * 1.5), 1fr));
    gap: 0;
    margin-top: var(--text-xs);
}
.hrnt-lcg .hrnt-lcg__metric {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    min-width: 0;
    margin: 0;
    padding: calc(var(--text-xs) / 3);
    border: 0;
    border-radius: var(--radius);
    background: var(--color-white);
    color: var(--color-heading);
    font-family: inherit;
    font-size: var(--text-base);
    line-height: var(--leading-snug);
    text-align: center;
    text-decoration: none;
    transition: background-color var(--transition), color var(--transition), box-shadow var(--transition);
}
.hrnt-lcg .hrnt-lcg__metric:not([hidden]) ~ .hrnt-lcg__metric:not([hidden]) {
    border-inline-start: thin solid var(--border-default);
}
.hrnt-lcg a.hrnt-lcg__metric { cursor: pointer; }
.hrnt-lcg .hrnt-lcg__experience { cursor: help; }
.hrnt-lcg .hrnt-lcg__value {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: calc(var(--text-xs) / 2);
    color: inherit;
    font-size: var(--text-xl);
    font-weight: var(--weight-bold);
    line-height: var(--leading-tight);
    font-variant-numeric: tabular-nums;
}
.hrnt-lcg .hrnt-lcg__label {
    margin-top: calc(var(--text-xs) / 3);
    color: var(--color-muted);
    font-size: var(--text-xs);
    line-height: var(--leading-heading);
    overflow-wrap: anywhere;
}
.hrnt-lcg .hrnt-lcg__star {
    display: inline-block;
    flex: 0 0 var(--text-md);
    width: var(--text-md);
    height: var(--text-md);
    background: url("../../img/star.svg") center / contain no-repeat;
}

.hrnt-lcg .hrnt-lcg__footer {
    display: grid;
    position: relative;
    flex: 0 0 auto;
    width: auto;
    height: auto;
    min-height: 0;
    margin: 0;
    padding: 0 var(--space-after-h4) var(--text-xs);
    gap: calc(var(--text-xs) * 2 / 3);
    border: 0;
    background: var(--color-white);
    color: var(--color-body);
}
.hrnt-lcg :is(.hrnt-lcg__phone, .hrnt-lcg__messenger, .hrnt-lcg__profile, .hrnt-lcg__more, .hrnt-lcg__image-retry) {
    width: 100%;
    min-height: var(--h-touch);
    height: auto;
    padding: calc(var(--text-xs) * 2 / 3) calc(var(--text-xs) / 2);
    gap: calc(var(--text-xs) / 2);
    white-space: normal;
    overflow-wrap: anywhere;
}
.hrnt-lcg :is(.hrnt-lcg__phone, .hrnt-lcg__messenger, .hrnt-lcg__profile, .hrnt-lcg__more, .hrnt-lcg__image-retry) > span {
    min-width: 0;
    color: inherit;
    font: inherit;
    line-height: inherit;
}
.hrnt-lcg .hrnt-lcg__messenger .harant-icon {
    color: inherit;
    font-size: var(--text-lg);
    line-height: 1;
}
.hrnt-lcg .hrnt-lcg__phone {
    border-color: var(--color-primary);
    background: var(--color-primary);
    color: var(--color-white);
    font-size: var(--text-base);
    font-weight: var(--weight-bold);
}
.hrnt-lcg .hrnt-lcg__phone:disabled,
.hrnt-lcg .hrnt-lcg__more:disabled {
    border-color: var(--color-gray-border);
    background: var(--color-gray-disabled);
    color: var(--color-muted);
    cursor: wait;
}
.hrnt-lcg .hrnt-lcg__secondary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: calc(var(--text-xs) * 2 / 3);
}
.hrnt-lcg .hrnt-lcg__secondary[data-count="1"],
.hrnt-lcg .hrnt-lcg__secondary:has(> [hidden]) { grid-template-columns: minmax(0, 1fr); }
.hrnt-lcg :is(.hrnt-lcg__messenger, .hrnt-lcg__profile) { font-size: var(--text-sm); }
.hrnt-lcg :is(.hrnt-lcg__messenger, .hrnt-lcg__profile) svg {
    width: var(--text-md);
    height: var(--text-md);
}
.hrnt-lcg .hrnt-lcg__messenger[data-channel="telegram"] .harant-icon,
.hrnt-lcg .hrnt-lcg__messenger[data-channel="telegram"] svg { color: var(--color-messenger-telegram); }
.hrnt-lcg .hrnt-lcg__messenger[data-channel="max"] {
    border-color: transparent;
    background: var(--gradient-messenger-max);
    background-size: 200% 100%;
    background-position: 0% 50%;
    color: var(--color-white);
}
.hrnt-lcg .hrnt-lcg__status {
    margin: 0;
    padding: 0;
    color: var(--color-muted);
    font-size: var(--text-sm);
    line-height: var(--leading-relaxed);
    overflow-wrap: anywhere;
}
.hrnt-lcg .hrnt-lcg__status[data-kind="error"] { color: var(--color-danger); }
.hrnt-lcg .hrnt-lcg__counter {
    margin: calc(var(--text-xs) / 3) 0 0;
    padding-top: calc(var(--text-xs) * 2 / 3);
    border-top: thin solid var(--border-default);
    color: var(--color-caption);
    font-size: var(--text-xs);
    font-variant-numeric: tabular-nums;
    line-height: var(--leading-relaxed);
    text-align: center;
}
.hrnt-lcg .hrnt-lcg__tooltip {
    position: fixed;
    z-index: 5;
    max-width: min(calc(var(--h-big) * 6), calc(100vw - var(--space-page-x) * 2));
    margin: 0;
    padding: var(--text-xs);
    border: thin solid color-mix(in srgb, var(--color-white) 20%, transparent);
    border-radius: var(--radius-sm);
    background: var(--color-heading);
    color: var(--color-white);
    font-family: inherit;
    font-size: var(--text-sm);
    font-weight: var(--weight-regular);
    line-height: var(--leading-relaxed);
    box-shadow: var(--shadow-dropdown);
    text-align: center;
    overflow-wrap: anywhere;
    pointer-events: none;
}

.hrnt-lcg a.hrnt-lcg__metric:focus-visible {
    background: var(--color-bg-tint-blue);
    color: var(--color-primary);
}
.hrnt-lcg a.hrnt-lcg__metric:focus-visible .hrnt-lcg__label { color: var(--color-primary); }
.hrnt-lcg a.hrnt-lcg__metric:focus-visible .hrnt-lcg__value {
    text-decoration: underline;
    text-underline-offset: calc(var(--text-xs) / 4);
}

@media (hover: hover) and (pointer: fine) {
    .hrnt-lcg .hrnt-lcg__close {
        opacity: 0;
        pointer-events: none;
        transition: opacity var(--transition), background-color var(--transition), border-color var(--transition), color var(--transition), box-shadow var(--transition);
    }
    .hrnt-lcg .hrnt-lcg__panel:hover .hrnt-lcg__close,
    .hrnt-lcg .hrnt-lcg__close:focus-visible {
        opacity: 1;
        pointer-events: auto;
    }
    .hrnt-lcg .hrnt-lcg__panel:has(:focus-visible) .hrnt-lcg__close {
        opacity: 1;
        pointer-events: auto;
    }
    .hrnt-lcg .hrnt-lcg__rating:hover { filter: brightness(.92); }
    .hrnt-lcg .hrnt-lcg__badge[data-kind="promotion"]:hover { box-shadow: inset 0 0 0 calc(var(--text-xs) / 12) var(--color-success); }
    .hrnt-lcg .hrnt-lcg__badge[data-kind="verified"]:hover { color: var(--color-success-hover); }
    .hrnt-lcg a.hrnt-lcg__metric:hover {
        background: var(--color-bg-tint-blue);
        color: var(--color-primary);
    }
    .hrnt-lcg a.hrnt-lcg__metric:hover .hrnt-lcg__label { color: var(--color-primary); }
    .hrnt-lcg a.hrnt-lcg__metric:hover .hrnt-lcg__value {
        text-decoration: underline;
        text-underline-offset: calc(var(--text-xs) / 4);
    }
    .hrnt-lcg :is(.hrnt-lcg__close, .hrnt-lcg__prev, .hrnt-lcg__next, .hrnt-lcg__messenger, .hrnt-lcg__profile, .hrnt-lcg__more, .hrnt-lcg__image-retry):not(:disabled):hover {
        border-color: var(--color-primary);
        background: var(--color-bg-tint-blue);
        color: var(--color-primary-hover);
    }
    .hrnt-lcg .hrnt-lcg__messenger[data-channel="telegram"]:hover {
        border-color: var(--color-messenger-telegram);
        background: color-mix(in srgb, var(--color-messenger-telegram) 7%, var(--color-white));
        color: var(--color-primary);
    }
    .hrnt-lcg .hrnt-lcg__messenger[data-channel="max"]:hover {
        border-color: transparent;
        background: var(--gradient-messenger-max);
        background-size: 200% 100%;
        background-position: 100% 50%;
        color: var(--color-white);
    }
    .hrnt-lcg .hrnt-lcg__phone:not(:disabled):hover {
        border-color: var(--color-primary-hover);
        background: var(--color-primary-hover);
    }
}

.hrnt-lcg .hrnt-lcg__phone:not(:disabled):active {
    border-color: var(--color-primary-active);
    background: var(--color-primary-active);
}
.hrnt-lcg .hrnt-lcg__rating:active { filter: brightness(.86); }
.hrnt-lcg :is(.hrnt-lcg__close, .hrnt-lcg__prev, .hrnt-lcg__next, .hrnt-lcg__profile, .hrnt-lcg__more, .hrnt-lcg__image-retry):not(:disabled):active {
    box-shadow: inset 0 0 0 calc(var(--text-xs) / 12) var(--color-primary);
}
.hrnt-lcg .hrnt-lcg__messenger:active { filter: brightness(.92); }
.hrnt-lcg .hrnt-lcg__badge[data-kind="promotion"]:active { box-shadow: inset 0 0 0 calc(var(--text-xs) / 12) var(--color-success); }
.hrnt-lcg .hrnt-lcg__badge[data-kind="verified"]:active { color: var(--color-success-active); }

@media (max-width: 479px) {
    dialog.hrnt-lcg {
        height: min(calc(var(--h-big) * 12), calc(100vh - var(--space-page-x) * 2));
        height: min(calc(var(--h-big) * 12), calc(100dvh - var(--space-page-x) * 2));
    }
    .hrnt-lcg .hrnt-lcg__photo-area {
        height: min(calc(100vw - var(--space-page-x) * 2), calc(var(--h-big) * 8), 52vh);
        height: min(calc(100vw - var(--space-page-x) * 2), calc(var(--h-big) * 8), 52dvh);
    }
    .hrnt-lcg .hrnt-lcg__content { padding: var(--text-xs); }
    .hrnt-lcg .hrnt-lcg__footer { padding-inline: var(--text-xs); }
}
@media (pointer: coarse) {
    .hrnt-lcg .hrnt-lcg__badge::before {
        content: "";
        position: absolute;
        inset: calc(var(--text-xs) * -1);
    }
}
@media (prefers-reduced-motion: reduce) {
    .hrnt-lcg .hrnt-lcg__next.is-lcg-nudge > svg { animation: none !important; transform: none; }
    .hrnt-lcg :is(button, a) { transition: none !important; }
    .hrnt-lcg .hrnt-lcg__messenger[data-channel="max"]:hover { background-position: 0% 50%; }
}
