/*
 * HelpSafe Law
 * Search
 */


/* ============================================================
   1. SEARCH PAGE
   ============================================================ */

.law-search-page {
    padding-top:
        70px;

    padding-bottom:
        90px;
}


/* ============================================================
   2. SEARCH HEADER
   ============================================================ */

.law-search-page__header {
    max-width:
        820px;

    margin-bottom:
        45px;
}

.law-search-page__header h1 {
    margin-bottom:
        16px;
}

.law-search-page__header p {
    color:
        var(--law-text-muted);

    font-size:
        17px;
}


/* ============================================================
   3. SEARCH FORM
   ============================================================ */

.law-search--page {
    margin-bottom:
        36px;
}


/* ============================================================
   4. SEARCH RESULT
   ============================================================ */

.law-search-results {
    display:
        flex;

    flex-direction:
        column;

    gap:
        14px;
}

.law-search-result {
    padding:
        24px;

    background:
        var(--law-white);

    border:
        1px solid var(--law-border);

    border-radius:
        var(--law-radius);

    transition:
        border-color var(--law-transition),
        box-shadow var(--law-transition),
        transform var(--law-transition);
}

.law-search-result:hover {
    border-color:
        rgba(24, 149, 137, 0.30);

    box-shadow:
        var(--law-shadow-small);

    transform:
        translateY(-2px);
}

.law-search-result__type {
    margin-bottom:
        8px;

    color:
        var(--law-primary);

    font-family:
        var(--law-font-heading);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;
}

.law-search-result h2 {
    margin-bottom:
        8px;

    font-size:
        22px;
}

.law-search-result h2 a:hover {
    color:
        var(--law-primary);
}

.law-search-result__excerpt {
    color:
        var(--law-text-muted);

    font-size:
        14px;
}


/* ============================================================
   5. SEARCH EMPTY
   ============================================================ */

.law-search-empty {
    padding:
        50px 30px;

    text-align:
        center;

    background:
        var(--law-surface);

    border-radius:
        var(--law-radius);
}

.law-search-empty h2 {
    margin-bottom:
        10px;

    font-size:
        25px;
}

.law-search-empty p {
    color:
        var(--law-text-muted);
}


/* ============================================================
   6. SEARCH MOBILE
   ============================================================ */

@media (max-width: 500px) {

    .law-search-page {
        padding-top:
            50px;

        padding-bottom:
            60px;
    }

    .law-search-result {
        padding:
            20px;
    }
}


/* ============================================================
   7. SEARCH RESULTS PAGE
   ============================================================ */

.hs-results-page {
    padding-top:
        10px;

    padding-bottom:
        80px;
}

.hs-results-content {
    max-width:
        980px;

    margin:
        0 auto;
}


/* ============================================================
   8. RESULTS HEADER
   ============================================================ */

.hs-results-header {
    margin-bottom:
        34px;
}

.hs-results-header__label {
    margin-bottom:
        8px;

    color:
        var(--law-primary);

    font-family:
        var(--law-font-heading);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.08em;

    text-transform:
        uppercase;
}

.hs-results-header h1 {
    margin:
        0 0 14px;
}

.hs-results-query {
    margin:
        0;

    color:
        var(--law-text-muted);

    font-size:
        16px;

    line-height:
        1.65;
}

.hs-results-query strong {
    color:
        var(--law-text);

    font-weight:
        700;
}


/* ============================================================
   9. RESULTS SECTION
   ============================================================ */

.hs-results-section {
    margin-top:
        28px;
}

.hs-results-section__heading {
    margin-bottom:
        14px;
}

.hs-results-section__heading h2 {
    margin:
        0;

    font-size:
        25px;

    line-height:
        1.3;
}

.hs-results-section__heading p {
    max-width:
        760px;

    margin:
        7px 0 0;

    color:
        var(--law-text-muted);

    font-size:
        15px;

    line-height:
        1.6;
}


/* ============================================================
   10. SITUATION
   ============================================================ */

.hs-results-situation {
    padding:
        24px 26px;

    background:
        var(--law-white);

    border:
        1px solid var(--law-border);

    border-left:
        4px solid var(--law-primary);

    border-radius:
        var(--law-radius);

    box-shadow:
        var(--law-shadow-small);
}

.hs-results-situation__title {
    margin:
        0 0 8px;

    font-family:
        var(--law-font-heading);

    font-size:
        21px;

    line-height:
        1.35;
}

.hs-results-situation__text {
    margin:
        0;

    color:
        var(--law-text-muted);

    font-size:
        15px;

    line-height:
        1.65;
}


/* ============================================================
   11. PRACTICAL ROUTE
   ============================================================ */

.hs-results-route {
    margin-top:
        36px;
}

.hs-results-route__intro {
    margin-bottom:
        18px;
}

.hs-results-route__intro h2 {
    margin:
        0 0 8px;

    font-size:
        27px;

    line-height:
        1.3;
}

.hs-results-route__intro p {
    max-width:
        760px;

    margin:
        0;

    color:
        var(--law-text-muted);

    font-size:
        15px;

    line-height:
        1.65;
}


/* ============================================================
   12. ROUTE CARD
   ============================================================ */

.hs-route-card {
    overflow:
        hidden;

    background:
        var(--law-white);

    border:
        1px solid var(--law-border);

    border-radius:
        var(--law-radius);

    box-shadow:
        var(--law-shadow-small);
}

.hs-route-card__header {
    padding:
        22px 24px;

    background:
        var(--law-surface);

    border-bottom:
        1px solid var(--law-border);
}

.hs-route-card__title {
    margin:
        0 0 7px;

    font-size:
        21px;

    line-height:
        1.4;
}

.hs-route-card__description {
    margin:
        0;

    color:
        var(--law-text-muted);

    font-size:
        14px;

    line-height:
        1.6;
}


/* ============================================================
   13. ROUTE STEPS
   ============================================================ */

.hs-route-steps {
    margin:
        0;

    padding:
        0;

    list-style:
        none;
}

.hs-route-step {
    margin:
        0;

    padding:
        0;

    border-bottom:
        1px solid var(--law-border);
}

.hs-route-step:last-child {
    border-bottom:
        0;
}


/* ============================================================
   14. ROUTE STEP TOGGLE
   ============================================================ */

.hs-route-step__toggle {
    display:
        flex;

    align-items:
        center;

    width:
        100%;

    min-height:
        72px;

    padding:
        17px 20px;

    color:
        inherit;

    text-align:
        left;

    background:
        transparent;

    border:
        0;

    cursor:
        pointer;

    font:
        inherit;

    transition:
        background-color var(--law-transition);
}

.hs-route-step__toggle:hover {
    background:
        var(--law-surface);
}

.hs-route-step__toggle:focus-visible {
    outline:
        3px solid rgba(24, 149, 137, 0.25);

    outline-offset:
        -3px;
}


/* ============================================================
   15. STEP NUMBER
   ============================================================ */

.hs-route-step__number {
    display:
        flex;

    align-items:
        center;

    justify-content:
        center;

    flex:
        0 0 34px;

    width:
        34px;

    height:
        34px;

    margin-right:
        14px;

    color:
        var(--law-primary);

    background:
        rgba(24, 149, 137, 0.09);

    border-radius:
        50%;

    font-family:
        var(--law-font-heading);

    font-size:
        13px;

    font-weight:
        800;
}


/* ============================================================
   16. STEP SUMMARY
   ============================================================ */

.hs-route-step__summary {
    flex:
        1;

    min-width:
        0;
}

.hs-route-step__title {
    display:
        block;

    margin-bottom:
        3px;

    font-family:
        var(--law-font-heading);

    font-size:
        15px;

    font-weight:
        800;

    line-height:
        1.45;
}

.hs-route-step__hint {
    display:
        block;

    color:
        var(--law-text-muted);

    font-size:
        12px;

    line-height:
        1.4;
}


/* ============================================================
   17. STEP ARROW
   ============================================================ */

.hs-route-step__arrow {
    flex:
        0 0 auto;

    margin-left:
        16px;

    color:
        var(--law-primary);

    font-size:
        16px;

    line-height:
        1;

    transition:
        transform var(--law-transition);
}

.hs-route-step.is-open
.hs-route-step__arrow {
    transform:
        rotate(90deg);
}


/* ============================================================
   18. STEP DETAILS
   ============================================================ */

.hs-route-step__details {
    padding:
        0 24px 24px 68px;
}

.hs-route-step__details[hidden] {
    display:
        none;
}


/* ============================================================
   19. DETAIL BLOCK
   ============================================================ */

.hs-route-detail {
    margin-top:
        14px;

    padding:
        15px 17px;

    background:
        var(--law-surface);

    border:
        1px solid var(--law-border);

    border-radius:
        10px;
}

.hs-route-detail:first-child {
    margin-top:
        0;
}

.hs-route-detail__label {
    margin-bottom:
        5px;

    color:
        var(--law-primary);

    font-family:
        var(--law-font-heading);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.06em;

    text-transform:
        uppercase;
}

.hs-route-detail__text {
    margin:
        0;

    color:
        var(--law-text);

    font-size:
        14px;

    line-height:
        1.65;
}


/* ============================================================
   20. ROUTE BRANCHES
   ============================================================ */

.hs-route-branches {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        12px;

    margin-top:
        14px;
}

.hs-route-branch {
    padding:
        14px 15px;

    background:
        var(--law-white);

    border:
        1px solid var(--law-border);

    border-radius:
        10px;
}

.hs-route-branch__label {
    margin-bottom:
        6px;

    font-family:
        var(--law-font-heading);

    font-size:
        11px;

    font-weight:
        800;

    letter-spacing:
        0.05em;

    text-transform:
        uppercase;
}

.hs-route-branch__text {
    margin:
        0;

    color:
        var(--law-text-muted);

    font-size:
        13px;

    line-height:
        1.55;
}


/* ============================================================
   21. LEGAL ARTICLES
   ============================================================ */

.hs-results-articles {
    display:
        flex;

    flex-direction:
        column;

    gap:
        12px;
}

.hs-results-article {
    padding:
        18px 20px;

    background:
        var(--law-white);

    border:
        1px solid var(--law-border);

    border-radius:
        var(--law-radius);
}

.hs-results-article__act {
    margin-bottom:
        5px;

    color:
        var(--law-primary);

    font-family:
        var(--law-font-heading);

    font-size:
        12px;

    font-weight:
        800;

    line-height:
        1.45;
}

.hs-results-article__title {
    margin:
        0 0 7px;

    font-size:
        17px;

    line-height:
        1.45;
}

.hs-results-article__text {
    margin:
        0;

    color:
        var(--law-text-muted);

    font-size:
        14px;

    line-height:
        1.6;
}


/* ============================================================
   22. SIMPLE LISTS
   ============================================================ */

.hs-results-list {
    margin:
        0;

    padding:
        0;

    list-style:
        none;
}

.hs-results-list li {
    margin:
        0;

    padding:
        13px 16px;

    background:
        var(--law-white);

    border:
        1px solid var(--law-border);

    border-radius:
        10px;
}

.hs-results-list li + li {
    margin-top:
        8px;
}

.hs-results-list strong {
    display:
        block;

    margin-bottom:
        3px;

    font-family:
        var(--law-font-heading);

    font-size:
        14px;
}

.hs-results-list span {
    display:
        block;

    color:
        var(--law-text-muted);

    font-size:
        13px;

    line-height:
        1.5;
}


/* ============================================================
   23. CARDS
   ============================================================ */

.hs-results-cards {
    display:
        grid;

    grid-template-columns:
        repeat(2, minmax(0, 1fr));

    gap:
        16px;
}

.hs-results-card {
    padding:
        21px 22px;

    background:
        var(--law-white);

    border:
        1px solid var(--law-border);

    border-radius:
        var(--law-radius);
}

.hs-results-card h3 {
    margin:
        0 0 10px;

    font-size:
        18px;

    line-height:
        1.4;
}

.hs-results-card p {
    margin:
        0;

    color:
        var(--law-text-muted);

    font-size:
        14px;

    line-height:
        1.65;
}


/* ============================================================
   24. MISSING DATA
   ============================================================ */

.hs-results-missing {
    margin-top:
        28px;

    padding:
        17px 20px;

    background:
        var(--law-surface);

    border:
        1px solid var(--law-border);

    border-radius:
        var(--law-radius);
}

.hs-results-missing h2 {
    margin:
        0 0 8px;

    font-size:
        17px;
}

.hs-results-missing ul {
    margin:
        0;

    padding-left:
        20px;
}

.hs-results-missing li {
    color:
        var(--law-text-muted);

    font-size:
        13px;

    line-height:
        1.6;
}


/* ============================================================
   25. DISCLAIMER
   ============================================================ */

.hs-results-disclaimer {
    margin-top:
        34px;

    padding:
        18px 20px;

    color:
        var(--law-text-muted);

    background:
        var(--law-surface);

    border:
        1px solid var(--law-border);

    border-radius:
        var(--law-radius);

    font-size:
        13px;

    line-height:
        1.65;
}


/* ============================================================
   26. NEW SEARCH
   ============================================================ */

.hs-results-new-search {
    margin-top:
        34px;

    text-align:
        center;
}

.hs-results-new-search a {
    display:
        inline-flex;

    align-items:
        center;

    justify-content:
        center;

    min-height:
        46px;

    padding:
        0 22px;

    color:
        var(--law-white);

    background:
        var(--law-primary);

    border-radius:
        10px;

    font-family:
        var(--law-font-heading);

    font-size:
        14px;

    font-weight:
        800;

    text-decoration:
        none;

    transition:
        background-color var(--law-transition),
        transform var(--law-transition),
        box-shadow var(--law-transition);
}

.hs-results-new-search a:hover {
    transform:
        translateY(-1px);

    box-shadow:
        var(--law-shadow-small);
}


/* ============================================================
   27. EMPTY RESULT
   ============================================================ */

.hs-results-empty {
    padding:
        42px 28px;

    text-align:
        center;

    background:
        var(--law-surface);

    border:
        1px solid var(--law-border);

    border-radius:
        var(--law-radius);
}

.hs-results-empty h2 {
    margin:
        0 0 10px;

    font-size:
        23px;
}

.hs-results-empty p {
    max-width:
        620px;

    margin:
        0 auto;

    color:
        var(--law-text-muted);

    font-size:
        15px;

    line-height:
        1.65;
}


/* ============================================================
   28. RESULTS MOBILE
   ============================================================ */

@media (max-width: 760px) {

    .hs-results-page {
        padding-top:
            42px;

        padding-bottom:
            60px;
    }

    .hs-results-content {
        width:
            100%;
    }

    .hs-results-header {
        margin-bottom:
            26px;
    }

    .hs-results-header h1 {
        font-size:
            28px;
    }

    .hs-results-section {
        margin-top:
            24px;
    }

    .hs-results-section__heading h2,
    .hs-results-route__intro h2 {
        font-size:
            23px;
    }

    .hs-results-situation {
        padding:
            20px;
    }

    .hs-results-cards {
        grid-template-columns:
            1fr;
    }

    .hs-route-card__header {
        padding:
            19px 18px;
    }

    .hs-route-step__toggle {
        min-height:
            64px;

        padding:
            16px 14px;
    }

    .hs-route-step__number {
        flex-basis:
            30px;

        width:
            30px;

        height:
            30px;

        margin-right:
            11px;
    }

    .hs-route-step__title {
        font-size:
            14px;
    }

    .hs-route-step__hint {
        font-size:
            12px;
    }

    .hs-route-step__arrow {
        margin-left:
            10px;
    }

    .hs-route-step__details {
        padding:
            0 14px 20px 55px;
    }

    .hs-route-branches {
        grid-template-columns:
            1fr;
    }

    .hs-results-article {
        padding:
            17px;
    }

    .hs-results-list li {
        padding:
            12px 14px;
    }
}


/* ============================================================
   29. RESULTS SMALL MOBILE
   ============================================================ */

@media (max-width: 500px) {

    .hs-results-page {
        padding-top:
            32px;

        padding-bottom:
            50px;
    }

    .hs-results-header h1 {
        font-size:
            25px;
    }

    .hs-results-query {
        font-size:
            14px;
    }

    .hs-results-situation {
        padding:
            17px;
    }

    .hs-results-situation__title {
        font-size:
            18px;
    }

    .hs-route-card__title {
        font-size:
            18px;
    }

    .hs-route-step__details {
        padding-left:
            14px;

        padding-right:
            14px;
    }
}

/*  patch  */

/* ============================================================
30. UNIVERSAL SEARCH RESULTS (NEW TEMPLATE)
============================================================ */
.hsl-search-results {
padding-top: 70px;
padding-bottom: 90px;
}
.hsl-search-results__inner {
max-width: 1220px;
margin: 0 auto;
padding: 0 20px;
}
/* Header */
.hsl-search-results__header {
margin-bottom: 34px;
}
.hsl-search-results__header h1 {
margin: 0 0 12px;
font-size: 32px;
line-height: 1.25;
}
.hsl-search-results__query {
margin: 0;
padding: 14px 18px;
color: var(--law-text);
background: var(--law-surface);
border: 1px solid var(--law-border);
border-radius: var(--law-radius);
font-size: 15px;
line-height: 1.6;
word-break: break-word;
}
/* Section */
.hsl-search-results__section {
margin-top: 32px;
}
.hsl-search-results__section h2 {
margin: 0 0 14px;
font-size: 24px;
line-height: 1.3;
}
.hsl-search-results__section p {
margin: 0 0 12px;
color: var(--law-text);
font-size: 15px;
line-height: 1.65;
}
/* Empty state */
.hsl-search-results__empty {
padding: 42px 28px;
text-align: center;
background: var(--law-surface);
border: 1px solid var(--law-border);
border-radius: var(--law-radius);
}
.hsl-search-results__empty h2 {
margin: 0 0 12px;
font-size: 23px;
}
.hsl-search-results__empty p {
max-width: 620px;
margin: 0 auto 10px;
color: var(--law-text-muted);
font-size: 15px;
line-height: 1.65;
}
/* Form (empty query) */
.hsl-search-results__form {
margin-top: 20px;
}
.hsl-search-results__form label {
display: block;
margin-bottom: 8px;
font-family: var(--law-font-heading);
font-size: 14px;
font-weight: 700;
}
.hsl-search-results__form textarea {
display: block;
width: 100%;
min-height: 120px;
padding: 14px 16px;
color: var(--law-text);
background: var(--law-white);
border: 1px solid var(--law-border);
border-radius: var(--law-radius);
font: inherit;
font-size: 15px;
line-height: 1.55;
resize: vertical;
transition: border-color var(--law-transition),
box-shadow var(--law-transition);
}
.hsl-search-results__form textarea:focus {
outline: none;
border-color: var(--law-primary);
box-shadow: 0 0 0 3px rgba(24, 149, 137, 0.15);
}
.hsl-search-results__form button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 46px;
margin-top: 14px;
padding: 0 24px;
color: var(--law-white);
background: var(--law-primary);
border: 0;
border-radius: 10px;
font-family: var(--law-font-heading);
font-size: 14px;
font-weight: 800;
cursor: pointer;
transition: background-color var(--law-transition),
transform var(--law-transition),
box-shadow var(--law-transition);
}
.hsl-search-results__form button:hover {
transform: translateY(-1px);
box-shadow: var(--law-shadow-small);
}
/* Disclaimer */
.hsl-search-results__disclaimer {
margin-top: 40px;
padding: 18px 20px;
color: var(--law-text-muted);
background: var(--law-surface);
border: 1px solid var(--law-border);
border-radius: var(--law-radius);
font-size: 13px;
line-height: 1.65;
}
.hsl-search-results__disclaimer p {
margin: 0;
}
/* Back link */
.hsl-search-results__back {
margin-top: 28px;
text-align: center;
}
.hsl-search-results__back a {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 46px;
padding: 0 22px;
color: var(--law-white);
background: var(--law-primary);
border-radius: 10px;
font-family: var(--law-font-heading);
font-size: 14px;
font-weight: 800;
text-decoration: none;
transition: background-color var(--law-transition),
transform var(--law-transition),
box-shadow var(--law-transition);
}
.hsl-search-results__back a:hover {
transform: translateY(-1px);
box-shadow: var(--law-shadow-small);
}
/* ============================================================
31. SEARCH ENTITY (UNIVERSAL RESULT)
============================================================ */
.hsl-search-entity {
padding: 26px 28px;
background: var(--law-white);
border: 1px solid var(--law-border);
border-left: 4px solid var(--law-primary);
border-radius: var(--law-radius);
box-shadow: var(--law-shadow-small);
}
.hsl-search-entity__type {
margin-bottom: 10px;
color: var(--law-primary);
font-family: var(--law-font-heading);
font-size: 11px;
font-weight: 800;
letter-spacing: 0.08em;
text-transform: uppercase;
}
.hsl-search-entity h2 {
margin: 0 0 16px;
font-size: 24px;
line-height: 1.3;
}
.hsl-search-entity__meta {
margin: 0 0 18px;
padding: 0;
}
.hsl-search-entity__meta-item {
display: flex;
flex-wrap: wrap;
gap: 6px 14px;
padding: 8px 0;
border-bottom: 1px solid var(--law-border);
}
.hsl-search-entity__meta-item:last-child {
border-bottom: 0;
}
.hsl-search-entity__meta-item dt {
flex: 0 0 auto;
min-width: 180px;
color: var(--law-text-muted);
font-size: 13px;
font-weight: 600;
}
.hsl-search-entity__meta-item dd {
flex: 1;
margin: 0;
color: var(--law-text);
font-size: 14px;
line-height: 1.55;
}
.hsl-search-entity__description {
margin-top: 14px;
color: var(--law-text);
font-size: 15px;
line-height: 1.7;
}
.hsl-search-entity__description p {
margin: 0 0 10px;
}
.hsl-search-entity__section {
margin-top: 20px;
padding-top: 18px;
border-top: 1px solid var(--law-border);
}
.hsl-search-entity__section h3 {
margin: 0 0 8px;
font-size: 17px;
line-height: 1.4;
}
.hsl-search-entity__section p {
margin: 0;
color: var(--law-text);
font-size: 14px;
line-height: 1.65;
}
.hsl-search-entity__found {
margin-top: 18px;
padding: 12px 14px;
color: var(--law-text-muted);
background: var(--law-surface);
border-radius: 8px;
font-size: 13px;
line-height: 1.55;
}
.hsl-search-entity__found strong {
color: var(--law-text);
}
/* ============================================================
32. SEARCH ROUTE (NEW)
============================================================ */
.hsl-search-route {
margin-top: 18px;
padding: 22px 24px;
background: var(--law-white);
border: 1px solid var(--law-border);
border-radius: var(--law-radius);
box-shadow: var(--law-shadow-small);
}
.hsl-search-route h2 {
margin: 0 0 14px;
font-size: 22px;
}
.hsl-search-route h3 {
margin: 0 0 10px;
font-size: 19px;
line-height: 1.35;
}
.hsl-search-route > div {
margin-bottom: 14px;
color: var(--law-text);
font-size: 15px;
line-height: 1.65;
}
.hsl-search-route__steps {
display: flex;
flex-direction: column;
gap: 12px;
margin-top: 14px;
}
.hsl-search-route__step {
display: flex;
gap: 16px;
padding: 18px 20px;
background: var(--law-surface);
border: 1px solid var(--law-border);
border-radius: 10px;
}
.hsl-search-route__step-number {
display: flex;
align-items: center;
justify-content: center;
flex: 0 0 36px;
width: 36px;
height: 36px;
color: var(--law-primary);
background: rgba(24, 149, 137, 0.10);
border-radius: 50%;
font-family: var(--law-font-heading);
font-size: 14px;
font-weight: 800;
}
.hsl-search-route__step-content {
flex: 1;
min-width: 0;
}
.hsl-search-route__step-content h3,
.hsl-search-route__step-content h4 {
margin: 0 0 8px;
font-size: 16px;
line-height: 1.4;
}
.hsl-search-route__step-content > div {
margin-bottom: 10px;
color: var(--law-text);
font-size: 14px;
line-height: 1.65;
}
.hsl-search-route__step-content p {
margin: 0 0 6px;
color: var(--law-text);
font-size: 14px;
line-height: 1.6;
}
.hsl-search-route__step-content p:last-child {
margin-bottom: 0;
}
.hsl-search-route__step-content strong {
color: var(--law-primary);
font-weight: 700;
}
/* ============================================================
33. SEARCH ARTICLES / AUTHORITIES / ACTIONS / EVIDENCE / LIABILITY
============================================================ */
.hsl-search-articles,
.hsl-search-authorities,
.hsl-search-actions,
.hsl-search-evidence,
.hsl-search-liability {
display: flex;
flex-direction: column;
gap: 12px;
}
.hsl-search-article,
.hsl-search-authority,
.hsl-search-action,
.hsl-search-evidence__item,
.hsl-search-liability__item {
padding: 18px 20px;
background: var(--law-white);
border: 1px solid var(--law-border);
border-radius: var(--law-radius);
transition: border-color var(--law-transition),
box-shadow var(--law-transition);
}
.hsl-search-article:hover,
.hsl-search-authority:hover,
.hsl-search-action:hover,
.hsl-search-evidence__item:hover,
.hsl-search-liability__item:hover {
border-color: rgba(24, 149, 137, 0.30);
box-shadow: var(--law-shadow-small);
}
.hsl-search-article h3,
.hsl-search-authority h3,
.hsl-search-action h3,
.hsl-search-evidence__item h3,
.hsl-search-liability__item h3 {
margin: 0 0 8px;
font-size: 17px;
line-height: 1.4;
}
.hsl-search-article p,
.hsl-search-authority p,
.hsl-search-action p,
.hsl-search-evidence__item p,
.hsl-search-liability__item p {
margin: 0 0 8px;
color: var(--law-text);
font-size: 14px;
line-height: 1.6;
}
.hsl-search-article p:last-child,
.hsl-search-authority p:last-child,
.hsl-search-action p:last-child,
.hsl-search-evidence__item p:last-child,
.hsl-search-liability__item p:last-child {
margin-bottom: 0;
}
.hsl-search-article p strong,
.hsl-search-authority p strong,
.hsl-search-action p strong,
.hsl-search-evidence__item p strong,
.hsl-search-liability__item p strong {
color: var(--law-primary);
}
.hsl-search-article > div,
.hsl-search-authority > div,
.hsl-search-action > div,
.hsl-search-evidence__item > div,
.hsl-search-liability__item > div {
margin-bottom: 10px;
color: var(--law-text);
font-size: 14px;
line-height: 1.65;
}
/* Missing list */
.hsl-search-missing ul {
margin: 0;
padding-left: 20px;
}
.hsl-search-missing li {
color: var(--law-text-muted);
font-size: 14px;
line-height: 1.65;
margin-bottom: 6px;
}
/* ============================================================
34. SEARCH RESULTS — MOBILE
============================================================ */
@media (max-width: 760px) {
.hsl-search-results {
padding-top: 50px;
padding-bottom: 60px;
}
.hsl-search-results__header h1 {
font-size: 26px;
}
.hsl-search-results__section h2,
.hsl-search-route h2 {
font-size: 21px;
}
.hsl-search-entity {
padding: 20px;
}
.hsl-search-entity h2 {
font-size: 20px;
}
.hsl-search-entity__meta-item {
flex-direction: column;
gap: 2px;
}
.hsl-search-entity__meta-item dt {
min-width: 0;
font-size: 12px;
}
.hsl-search-route {
padding: 18px;
}
.hsl-search-route__step {
flex-direction: column;
gap: 10px;
padding: 16px;
}
.hsl-search-route__step-number {
flex: 0 0 32px;
width: 32px;
height: 32px;
font-size: 13px;
}
.hsl-search-article,
.hsl-search-authority,
.hsl-search-action,
.hsl-search-evidence__item,
.hsl-search-liability__item {
padding: 16px;
}
}
@media (max-width: 500px) {
.hsl-search-results {
padding-top: 36px;
padding-bottom: 50px;
}
.hsl-search-results__header h1 {
font-size: 23px;
}
.hsl-search-results__query {
font-size: 14px;
padding: 12px 14px;
}
.hsl-search-entity {
padding: 17px;
}
.hsl-search-entity h2 {
font-size: 18px;
}
}

/* SVG */
/* ============================================================
35. SEARCH ICONS (SVG MASKS)
============================================================ */
/* Базовая настройка для всех иконок в заголовках */
h2[class*="hsl-icon-"],
h3[class*="hsl-icon-"],
h4[class*="hsl-icon-"] {
    display: flex;
    align-items: center;
    line-height: 1.3;
}
.hsl-icon-question::before,
.hsl-icon-law::before,
.hsl-icon-route::before,
.hsl-icon-doc::before,
.hsl-icon-building::before,
.hsl-icon-action::before,
.hsl-icon-evidence::before,
.hsl-icon-shield::before,
.hsl-icon-alert::before {
    content: "";
    display: inline-flex;
    width: 24px;
    height: 24px;
    background-color: var(--law-primary);
    flex-shrink: 0;
    -webkit-mask-size: contain;
    mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    mask-repeat: no-repeat;
    -webkit-mask-position: center;
    mask-position: center;
    vertical-align: middle;
    margin-right: 10px;
}

/* Делаем заголовки флекс-контейнерами для ровного выравнивания иконки и текста */
.hsl-search-results__section h2,
.hsl-search-entity__section h3,
.hsl-search-article h3 {
    display: flex;
    align-items: center;
    line-height: 1.3;
}

/* --- Конкретные иконки (URL-encoded SVG) --- */

/* 1. Правовой вопрос (Знак вопроса) */
.hsl-icon-question::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 17h-2v-2h2v2zm2.07-7.75l-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25z'/%3E%3C/svg%3E");
}

/* 2. Что говорит законодательство (Весы правосудия) */
.hsl-icon-law::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L2 7v2h20V7L12 2zm0 2.5L17.5 7h-11L12 4.5zM4 9v9h2v-9H4zm14 0v9h2V9h-2zM6 20v2h12v-2H6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2L2 7v2h20V7L12 2zm0 2.5L17.5 7h-11L12 4.5zM4 9v9h2v-9H4zm14 0v9h2V9h-2zM6 20v2h12v-2H6z'/%3E%3C/svg%3E");
}

/* 3. Что делать / Маршрут (Карта/Путь) */
.hsl-icon-route::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM15 19l-6-2.11V5l6 2.11V19z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20.5 3l-.16.03L15 5.1 9 3 3.36 4.9c-.21.07-.36.25-.36.48V20.5c0 .28.22.5.5.5l.16-.03L9 18.9l6 2.1 5.64-1.9c.21-.07.36-.25.36-.48V3.5c0-.28-.22-.5-.5-.5zM15 19l-6-2.11V5l6 2.11V19z'/%3E%3C/svg%3E");
}

/* 4. Правовые нормы / Статья (Документ) */
.hsl-icon-doc::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M18 2H6c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h12c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2zM6 4h5v8l-2.5-1.5L6 12V4z'/%3E%3C/svg%3E");
}

/* 5. Куда обращаться (Здание/Орган) */
.hsl-icon-building::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 7V3H2v18h20V7H12zM6 19H4v-2h2v2zm0-4H4v-2h2v2zm0-4H4V9h2v2zm0-4H4V5h2v2zm4 12H8v-2h2v2zm0-4H8v-2h2v2zm0-4H8V9h2v2zm0-4H8V5h2v2zm10 12h-8v-2h2v-2h-2v-2h2v-2h-2V9h8v10zm-2-8h-2v2h2v-2zm0 4h-2v2h2v-2z'/%3E%3C/svg%3E");
}

/* 6. Возможные действия (Чек-лист) */
.hsl-icon-action::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M19 3H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2zm-9 14l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z'/%3E%3C/svg%3E");
}

/* 7. Доказательства (Папка) */
.hsl-icon-evidence::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M20 6h-8l-2-2H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2zm0 12H4V8h16v10z'/%3E%3C/svg%3E");
}

/* 8. Ответственность (Щит/Защита) */
.hsl-icon-shield::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 1L3 5v6c0 5.55 3.84 10.74 9 12 5.16-1.26 9-6.45 9-12V5l-9-4zm0 10.99h7c-.53 4.12-3.28 7.79-7 8.94V12H5V6.3l7-3.11v8.8z'/%3E%3C/svg%3E");
}

/* 9. Что ещё необходимо (Внимание/Инфо) */
.hsl-icon-alert::before {
    -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E");
    mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm1 15h-2v-2h2v2zm0-4h-2V7h2v6z'/%3E%3C/svg%3E");
}

/* Адаптив для мобильных: чуть уменьшаем иконки */
@media (max-width: 500px) {
    .hsl-icon-question::before,
    .hsl-icon-law::before,
    .hsl-icon-route::before,
    .hsl-icon-doc::before,
    .hsl-icon-building::before,
    .hsl-icon-action::before,
    .hsl-icon-evidence::before,
    .hsl-icon-shield::before,
    .hsl-icon-alert::before {
        width: 20px;
        height: 20px;
        margin-right: 8px;
    }
}
/* ============================================================
 * FULL TEXT TOGGLE (DETAILS/SUMMARY)
 * Для класса hs-results-article__fulltext
 * ============================================================ */
.hs-results-article__fulltext {
    margin-top: 16px;
    padding-top: 16px;
    border-top: 1px solid var(--law-border, #e2e8f0);
}

/* Стилизация самого "заголовка" (ссылки) */
.hs-results-article__fulltext summary {
    cursor: pointer;
    color: var(--law-primary, #189589);
    font-family: var(--law-font-heading, inherit);
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: color 0.2s ease;
    list-style: none;
    display: inline-flex;
    align-items: center;
}

/* Убираем стандартный маркер для Webkit-браузеров */
.hs-results-article__fulltext summary::-webkit-details-marker {
    display: none;
}

/* Эффект при наведении */
.hs-results-article__fulltext summary:hover {
    color: var(--law-primary-dark, #147a70);
    text-decoration: underline;
}

/* Добавляем свою анимированную стрелочку */
.hs-results-article__fulltext summary::after {
    content: '▼';
    font-size: 10px;
    margin-left: 8px;
    transition: transform 0.2s ease;
    display: inline-block;
}

/* Поворот стрелочки при открытии */
.hs-results-article__fulltext[open] summary::after {
    transform: rotate(180deg);
}

/* Стилизация раскрывающегося блока с текстом */
.hs-results-article__fulltext-content {
    margin-top: 14px;
    padding: 16px;
    background: var(--law-surface, #f8fafc);
    border: 1px solid var(--law-border, #e2e8f0);
    border-radius: var(--law-radius, 8px);
    font-size: 14px;
    line-height: 1.65;
    color: var(--law-text, #334155);
    animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
    from { opacity: 0; transform: translateY(-5px); }
    to { opacity: 1; transform: translateY(0); }
}

/* HelpSafe Law — metadata of graph relationships */
.hsl-relation-meta { margin: 10px 0 12px; }
.hsl-relation-badge {
  display: inline-flex; align-items: center; max-width: 100%;
  padding: 5px 10px; border: 1px solid rgba(24,149,137,.25);
  border-radius: 999px; background: rgba(24,149,137,.08);
  color: #176e66; font-size: 12px; font-weight: 700; line-height: 1.45;
}
.hsl-relation-comment {
  margin: 10px 0 14px; padding: 11px 14px;
  border-left: 3px solid #81c784; border-radius: 0 8px 8px 0;
  background: rgba(129,199,132,.10); color: inherit;
  font-size: .94em; line-height: 1.6;
}
.hsl-relation-comment p { margin: 0 0 8px; }
.hsl-relation-comment p:last-child { margin-bottom: 0; }
