/**
 * Section titles:
 * - Homepage (.index-title / Category): centered, underline = text width
 * - Inner pages (._title etc.): left-aligned
 */
:root {
    --section-title-accent: #002fa7;
    --section-title-primary: #4066b8;
}

._title,
.index-about .ia-title,
.details-summary .section-label {
    display: block;
    width: fit-content;
    max-width: 100%;
    text-align: left !important;
    position: relative;
    box-sizing: border-box;
}

.index-title-wrap {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    width: 100% !important;
}

.index-title,
.index-category .ic-title,
.index-case .index-title,
.index-news .index-title,
.index-equipment .index-title,
.index-inspection .index-title,
.index-previous .index-title {
    display: block !important;
    width: fit-content !important;
    max-width: 100%;
    margin: 0 auto !important;
    text-align: center !important;
    position: relative;
    box-sizing: border-box;
}

._title.t_c,
._title.text-center {
    text-align: left !important;
}

._title,
.index-title {
    color: #1f2430;
    font-weight: 700;
    letter-spacing: 0.3px;
}

._title::after,
.index-title::after,
.index-category .ic-title::after,
.index-about .ia-title::after,
#Aboutus ._title::after,
#newsList ._title::after {
    content: "";
    display: block;
    width: 100%; /* match title text length */
    height: 3px;
    margin: 14px 0 0 !important;
    border-radius: 2px;
    background: linear-gradient(90deg, var(--section-title-accent), var(--section-title-primary));
}

.index-title {
    font-size: 38px;
    font-weight: 700;
    line-height: 1.35;
}

.index-category .ic-head {
    text-align: center !important;
}

@media (max-width: 991.98px) {
    .index-title {
        font-size: 28px;
    }

    ._title::after,
    .index-title::after,
    .index-category .ic-title::after,
    .index-about .ia-title::after,
    #Aboutus ._title::after,
    #newsList ._title::after {
        margin-top: 12px !important;
    }
}
