/*
 * Fiberport Paket 02.20 — Yasal metinler listeleme
 * Scope: yalnız .fp-legal-index
 */

.fp-legal-index {
    --leg-navy:#0b2239;
    --leg-blue:#075f96;
    --leg-cyan:#37a7df;
    --leg-ink:#172838;
    --leg-text:#566a7c;
    --leg-muted:#718392;
    --leg-line:#d6e0e7;
    --leg-soft:#f3f7f9;
    --leg-white:#fff;
    color:var(--leg-ink);
    background:#fff;
}

.fp-legal-index *,
.fp-legal-index *::before,
.fp-legal-index *::after {
    box-sizing:border-box;
}

.fp-legal-index-hero {
    padding:30px 0 78px;
    background:#f4f7f9;
    border-bottom:1px solid var(--leg-line);
}

.fp-legal-index-breadcrumbs {
    margin-bottom:48px;
}

.fp-legal-index-breadcrumbs ol {
    color:#6d7f8e;
}

.fp-legal-index-breadcrumbs a {
    color:#526a7c;
}

.fp-legal-index-breadcrumbs a:hover,
.fp-legal-index-breadcrumbs a:focus-visible {
    color:var(--leg-blue);
}

.fp-legal-index-hero-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.43fr);
    gap:clamp(54px,8vw,112px);
    align-items:center;
}

.fp-legal-index-kicker,
.fp-legal-index-eyebrow {
    display:inline-flex;
    gap:9px;
    align-items:center;
    color:var(--leg-blue);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.fp-legal-index-kicker {
    margin-bottom:20px;
}

.fp-legal-index-eyebrow {
    margin-bottom:17px;
}

.fp-legal-index-eyebrow::before {
    width:22px;
    height:2px;
    content:"";
    background:currentColor;
}

.fp-legal-index-hero h1 {
    max-width:830px;
    margin:0;
    color:var(--leg-navy);
    font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
    font-size:clamp(2.55rem,5.2vw,5.05rem);
    font-weight:650;
    letter-spacing:-.04em;
    line-height:1.03;
}

.fp-legal-index-hero-copy > p {
    max-width:720px;
    margin:24px 0 0;
    color:var(--leg-text);
    font-size:clamp(1rem,1.34vw,1.18rem);
    line-height:1.67;
}

.fp-legal-index-summary {
    position:relative;
    min-height:350px;
    overflow:hidden;
    padding:36px;
    color:#fff;
    background:var(--leg-navy);
    border-left:5px solid var(--leg-cyan);
}

.fp-legal-index-summary::before,
.fp-legal-index-summary::after {
    position:absolute;
    content:"";
    border:1px solid rgba(255,255,255,.15);
    border-radius:50%;
}

.fp-legal-index-summary::before {
    width:300px;
    height:300px;
    top:-118px;
    right:-88px;
}

.fp-legal-index-summary::after {
    width:188px;
    height:188px;
    top:-64px;
    right:-22px;
}

.fp-legal-index-summary dl {
    position:relative;
    z-index:1;
    margin:0;
}

.fp-legal-index-summary dl > div {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:22px;
    align-items:end;
    padding:24px 0;
    border-bottom:1px solid rgba(255,255,255,.2);
}

.fp-legal-index-summary dt {
    color:rgba(255,255,255,.72);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.fp-legal-index-summary dd {
    margin:0;
    color:#fff;
    font-size:clamp(2.6rem,4.5vw,4.25rem);
    font-weight:580;
    letter-spacing:-.06em;
    line-height:.88;
}

.fp-legal-index-summary > span {
    position:absolute;
    left:36px;
    bottom:30px;
    z-index:1;
    color:#a9ddf7;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.fp-legal-index-intro,
.fp-legal-index-directory {
    padding:clamp(76px,8vw,116px) 0;
}

.fp-legal-index-intro-grid {
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(330px,.44fr);
    gap:clamp(48px,7vw,98px);
    align-items:end;
}

.fp-legal-index-intro h2,
.fp-legal-index-group > header h2,
.fp-legal-index-version h2 {
    margin:0;
    color:var(--leg-navy);
    font-family:"Segoe UI","Helvetica Neue",Arial,sans-serif;
    font-size:clamp(1.9rem,3.25vw,3.3rem);
    font-weight:650;
    letter-spacing:-.03em;
    line-height:1.1;
}

.fp-legal-index-intro-grid > div:last-child > p {
    margin:0;
    color:var(--leg-text);
    line-height:1.7;
}

.fp-legal-index-jumps {
    display:flex;
    flex-direction:column;
    gap:0;
    margin-top:22px;
    border-top:1px solid var(--leg-line);
}

.fp-legal-index-jumps a {
    padding:11px 0;
    color:var(--leg-blue);
    border-bottom:1px solid var(--leg-line);
    font-size:.76rem;
    font-weight:750;
    text-decoration:none;
}

.fp-legal-index-jumps a:hover,
.fp-legal-index-jumps a:focus-visible {
    color:var(--leg-navy);
}

.fp-legal-index-page-copy {
    max-width:820px;
    margin-top:34px;
    color:var(--leg-text);
    line-height:1.7;
}

.fp-legal-index-directory {
    background:var(--leg-soft);
    border-top:1px solid var(--leg-line);
    border-bottom:1px solid var(--leg-line);
}

.fp-legal-index-group {
    display:grid;
    grid-template-columns:minmax(250px,.34fr) minmax(0,1fr);
    gap:clamp(44px,7vw,92px);
    padding:0 0 76px;
    scroll-margin-top:130px;
}

.fp-legal-index-group + .fp-legal-index-group {
    padding-top:76px;
    border-top:1px solid #c7d4dc;
}

.fp-legal-index-group:last-child {
    padding-bottom:0;
}

.fp-legal-index-group > header {
    position:sticky;
    top:132px;
    align-self:start;
}

.fp-legal-index-group > header > span {
    display:block;
    margin-bottom:20px;
    color:var(--leg-blue);
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.08em;
}

.fp-legal-index-group > header h2 {
    font-size:clamp(1.55rem,2.35vw,2.35rem);
}

.fp-legal-index-group > header p {
    margin:17px 0 0;
    color:var(--leg-text);
    line-height:1.62;
}

.fp-legal-index-group > header small {
    display:inline-flex;
    min-width:32px;
    height:24px;
    align-items:center;
    justify-content:center;
    margin-top:20px;
    color:#fff;
    background:var(--leg-blue);
    border-radius:3px;
    font-size:.66rem;
    font-weight:800;
}

.fp-legal-index-group > ol {
    margin:0;
    padding:0;
    border-top:2px solid var(--leg-navy);
    list-style:none;
}

.fp-legal-index-group > ol > li {
    display:grid;
    grid-template-columns:42px minmax(0,1fr) auto;
    gap:20px;
    align-items:center;
    min-height:150px;
    padding:27px 0;
    border-bottom:1px solid var(--leg-line);
}

.fp-legal-index-number {
    align-self:start;
    padding-top:6px;
    color:var(--leg-blue);
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
}

.fp-legal-index-document > small {
    color:var(--leg-muted);
    font-size:.66rem;
    font-weight:800;
    letter-spacing:.07em;
    text-transform:uppercase;
}

.fp-legal-index-document h3 {
    margin:9px 0 0;
    font-size:clamp(1.08rem,1.5vw,1.34rem);
    line-height:1.32;
}

.fp-legal-index-document h3 a {
    color:var(--leg-navy);
    text-decoration:none;
}

.fp-legal-index-document h3 a:hover,
.fp-legal-index-document h3 a:focus-visible {
    color:var(--leg-blue);
}

.fp-legal-index-document p {
    max-width:720px;
    margin:11px 0 0;
    color:var(--leg-text);
    font-size:.88rem;
    line-height:1.58;
}

.fp-legal-index-action {
    display:inline-flex;
    align-items:center;
    gap:8px;
    color:var(--leg-blue);
    font-size:.76rem;
    font-weight:800;
    text-decoration:none;
    white-space:nowrap;
}

.fp-legal-index-action:hover,
.fp-legal-index-action:focus-visible {
    color:var(--leg-navy);
}

.fp-legal-index-inline-icon {
    width:17px;
    height:17px;
}

.fp-legal-index-empty {
    max-width:760px;
    padding:42px;
    background:#fff;
    border-left:5px solid var(--leg-blue);
}

.fp-legal-index-empty > span {
    color:var(--leg-blue);
    font-size:.72rem;
    font-weight:800;
}

.fp-legal-index-empty h2 {
    margin:18px 0 0;
    color:var(--leg-navy);
}

.fp-legal-index-empty p {
    margin:13px 0 0;
    color:var(--leg-text);
}

.fp-legal-index-version {
    padding:clamp(70px,8vw,106px) 0;
    background:#fff;
}

.fp-legal-index-version-inner {
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:48px;
    align-items:center;
    padding:clamp(38px,5vw,60px);
    color:#fff;
    background:var(--leg-navy);
    border-left:5px solid var(--leg-cyan);
}

.fp-legal-index-version-inner > div > span {
    display:block;
    margin-bottom:12px;
    color:#a9ddf7;
    font-size:.7rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.fp-legal-index-version h2 {
    max-width:840px;
    color:#fff;
}

.fp-legal-index-version p {
    max-width:740px;
    margin:14px 0 0;
    color:rgba(255,255,255,.74);
    line-height:1.62;
}

.fp-legal-index-version a,
.fp-legal-index-version a:visited {
    display:inline-flex;
    min-width:180px;
    min-height:45px;
    align-items:center;
    justify-content:center;
    padding:0 17px;
    color:var(--leg-navy);
    -webkit-text-fill-color:var(--leg-navy);
    background:#fff;
    border:1px solid #fff;
    border-radius:4px;
    font-size:.78rem;
    font-weight:800;
    text-decoration:none;
}

.fp-legal-index-version a:hover,
.fp-legal-index-version a:focus-visible {
    color:#fff;
    -webkit-text-fill-color:#fff;
    background:var(--leg-blue);
    border-color:var(--leg-blue);
}

@media (max-width:1000px) {
    .fp-legal-index-hero-grid,
    .fp-legal-index-intro-grid,
    .fp-legal-index-group {
        grid-template-columns:1fr;
    }

    .fp-legal-index-group > header {
        position:static;
    }

    .fp-legal-index-version-inner {
        grid-template-columns:1fr;
        gap:28px;
    }
}

@media (max-width:760px) {
    .fp-legal-index-hero {
        padding:22px 0 54px;
    }

    .fp-legal-index-breadcrumbs {
        margin-bottom:34px;
    }

    .fp-legal-index-hero h1 {
        font-size:clamp(2.15rem,11vw,3.45rem);
    }

    .fp-legal-index-summary {
        min-height:285px;
        padding:28px;
    }

    .fp-legal-index-summary > span {
        left:28px;
        bottom:24px;
    }

    .fp-legal-index-intro,
    .fp-legal-index-directory {
        padding:58px 0;
    }

    .fp-legal-index-group {
        gap:28px;
        padding-bottom:58px;
    }

    .fp-legal-index-group + .fp-legal-index-group {
        padding-top:58px;
    }

    .fp-legal-index-group > ol > li {
        grid-template-columns:30px minmax(0,1fr);
        gap:12px;
        min-height:0;
        padding:24px 0;
    }

    .fp-legal-index-action {
        grid-column:2;
        justify-self:start;
    }

    .fp-legal-index-version-inner {
        padding:30px 24px;
    }

    .fp-legal-index-version a {
        width:100%;
        min-width:0;
    }
}
