/* ==========================================================
   POLITIKA PRIVATNOSTI
   css/pages/privacy-policy.css
========================================================== */


/* ==========================================================
   PAGE CONTAINERS
========================================================== */

.legal-hero__container,
.legal-page__container {
    width: min(calc(100% - 80px), 1200px);
    margin-inline: auto;
}


/* ==========================================================
   01 — HERO
========================================================== */

.legal-hero {
    background: var(--color-background, #f6f3ee);
    border-bottom: 1px solid var(--color-divider, #eceae6);
}

.legal-hero__container {
    padding-top: 88px;
    padding-bottom: 72px;
}

.legal-hero__eyebrow {
    margin: 0 0 16px;

    font-family: var(--font-body, "Lato", sans-serif);
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: var(--color-primary, #355c47);
}

.legal-hero__title {
    max-width: 760px;
    margin: 0;

    font-family: var(--font-display, "Playfair Display", serif);
    font-size: clamp(42px, 4.4vw, 60px);
    font-weight: 500;
    line-height: 1.12;

    color: var(--color-text-dark, #2a2a2a);
}

.legal-hero__intro {
    max-width: 720px;
    margin: 24px 0 0;

    font-size: 17px;
    line-height: 1.75;

    color: var(--color-text-medium, #555555);
}

.legal-hero__updated {
    margin: 28px 0 0;

    font-size: 14px;
    line-height: 1.5;

    color: var(--color-olive-gray, #6b6f63);
}

.legal-hero__updated strong {
    color: var(--color-text-dark, #2a2a2a);
}


/* ==========================================================
   02 — MAIN LEGAL LAYOUT
========================================================== */

.legal-page {
    background: #ffffff;
}

.legal-page__container {
    display: grid;
    grid-template-columns: 250px minmax(0, 760px);
    justify-content: space-between;
    gap: 80px;

    padding-top: 80px;
    padding-bottom: 112px;
}


/* ==========================================================
   03 — SIDEBAR / TABLE OF CONTENTS
========================================================== */

.legal-page__sidebar {
    min-width: 0;
}

.legal-nav {
    position: sticky;
    top: 112px;

    padding: 24px;

    background: var(--color-background, #f6f3ee);
    border: 1px solid var(--color-border, #e2e2e2);
    border-radius: var(--radius-md, 16px);
}

.legal-nav__label {
    margin: 0 0 16px;

    font-family: var(--font-body, "Lato", sans-serif);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;
    text-transform: uppercase;

    color: var(--color-primary, #355c47);
}

.legal-nav__list {
    margin: 0;
    padding: 0;

    list-style: none;
}

.legal-nav__list li + li {
    margin-top: 8px;
}

.legal-nav__list a {
    display: block;

    padding: 7px 0;

    font-size: 14px;
    line-height: 1.4;
    text-decoration: none;

    color: var(--color-text-medium, #555555);

    transition:
        color 160ms ease,
        transform 160ms ease;
}

.legal-nav__list a:hover {
    color: var(--color-primary, #355c47);
    transform: translateX(3px);
}

.legal-nav__list a:focus-visible {
    outline: 2px solid var(--color-primary, #355c47);
    outline-offset: 4px;
    border-radius: 2px;
}


/* ==========================================================
   04 — CONTENT COLUMN
========================================================== */

.legal-page__content {
    width: 100%;
    min-width: 0;
}

.legal-section {
    position: relative;

    padding-bottom: 56px;
    scroll-margin-top: 120px;
}

.legal-section + .legal-section {
    padding-top: 56px;
    border-top: 1px solid var(--color-divider, #eceae6);
}

.legal-section__number {
    display: block;
    margin-bottom: 12px;

    font-family: var(--font-body, "Lato", sans-serif);
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.08em;

    color: var(--color-sage, #a8b79e);
}

.legal-section__title {
    max-width: 700px;
    margin: 0 0 24px;

    font-family: var(--font-display, "Playfair Display", serif);
    font-size: clamp(28px, 2.6vw, 36px);
    font-weight: 500;
    line-height: 1.25;

    color: var(--color-text-dark, #2a2a2a);
}

.legal-section h3 {
    margin: 36px 0 12px;

    font-family: var(--font-body, "Lato", sans-serif);
    font-size: 18px;
    font-weight: 700;
    line-height: 1.45;

    color: var(--color-text-dark, #2a2a2a);
}

.legal-section p,
.legal-section li {
    font-size: 16px;
    line-height: 1.75;

    color: var(--color-text-medium, #555555);
}

.legal-section p {
    margin: 0;
}

.legal-section p + p {
    margin-top: 18px;
}

.legal-section ul,
.legal-section ol {
    margin: 18px 0 0;
    padding-left: 24px;
}

.legal-section li + li {
    margin-top: 8px;
}

.legal-section strong {
    font-weight: 700;
    color: var(--color-text-dark, #2a2a2a);
}

.legal-section a {
    color: var(--color-primary, #355c47);
    text-underline-offset: 3px;
}

.legal-section a:hover {
    text-decoration-thickness: 2px;
}


/* ==========================================================
   05 — CONTACT / IDENTITY BLOCK
========================================================== */

.legal-contact {
    display: grid;
    gap: 6px;

    margin: 24px 0;
    padding: 24px 28px;

    font-style: normal;

    background: var(--color-background, #f6f3ee);
    border-left: 3px solid var(--color-sage, #a8b79e);
    border-radius: 0 var(--radius-md, 16px) var(--radius-md, 16px) 0;
}

.legal-contact strong {
    margin-bottom: 2px;
}

.legal-contact span,
.legal-contact a {
    font-size: 15px;
    line-height: 1.6;
}


/* ==========================================================
   06 — IMPORTANT NOTE
========================================================== */

.legal-note {
    margin-top: 28px;
    padding: 24px 28px;

    background: var(--color-beige, #e9e1d3);
    border-radius: var(--radius-md, 16px);
}

.legal-note p {
    margin: 0;
    color: var(--color-text-dark, #2a2a2a);
}


/* ==========================================================
   07 — TABLE
========================================================== */

.legal-table-wrapper {
    width: 100%;
    margin-top: 28px;

    overflow-x: auto;
    -webkit-overflow-scrolling: touch;

    border: 1px solid var(--color-border, #e2e2e2);
    border-radius: var(--radius-md, 16px);
}

.legal-table {
    width: 100%;
    min-width: 680px;

    border-collapse: collapse;
    border-spacing: 0;

    background: #ffffff;
}

.legal-table th,
.legal-table td {
    padding: 18px 20px;
    vertical-align: top;
    text-align: left;

    border-bottom: 1px solid var(--color-divider, #eceae6);
}

.legal-table th {
    font-size: 13px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.04em;
    text-transform: uppercase;

    color: var(--color-primary, #355c47);
    background: var(--color-background, #f6f3ee);
}

.legal-table td {
    font-size: 15px;
    line-height: 1.6;

    color: var(--color-text-medium, #555555);
}

.legal-table tbody tr:last-child td {
    border-bottom: 0;
}


/* ==========================================================
   08 — TABLET
========================================================== */

@media (max-width: 1024px) {

    .legal-hero__container,
    .legal-page__container {
        width: min(calc(100% - 64px), 960px);
    }

    .legal-hero__container {
        padding-top: 72px;
        padding-bottom: 64px;
    }

    .legal-page__container {
        grid-template-columns: 1fr;
        gap: 48px;

        padding-top: 64px;
        padding-bottom: 96px;
    }

    .legal-page__sidebar {
        width: 100%;
    }

    .legal-nav {
        position: static;

        padding: 24px 28px;
    }

    .legal-nav__list {
        display: grid;
        grid-template-columns: repeat(2, minmax(0, 1fr));
        column-gap: 32px;
        row-gap: 4px;
    }

    .legal-nav__list li + li {
        margin-top: 0;
    }

    .legal-page__content {
        max-width: 760px;
    }

    .legal-section {
        scroll-margin-top: 96px;
    }
}


/* ==========================================================
   09 — MOBILE
========================================================== */

@media (max-width: 640px) {

    .legal-hero__container,
    .legal-page__container {
        width: calc(100% - 48px);
    }

    .legal-hero__container {
        padding-top: 56px;
        padding-bottom: 48px;
    }

    .legal-hero__title {
        font-size: 38px;
    }

    .legal-hero__intro {
        margin-top: 20px;
        font-size: 16px;
    }

    .legal-hero__updated {
        margin-top: 24px;
    }

    .legal-page__container {
        gap: 40px;

        padding-top: 48px;
        padding-bottom: 72px;
    }

    .legal-nav {
        padding: 20px;
        border-radius: var(--radius-md, 16px);
    }

    .legal-nav__list {
        grid-template-columns: 1fr;
    }

    .legal-nav__list a {
        padding: 6px 0;
    }

    .legal-section {
        padding-bottom: 40px;
    }

    .legal-section + .legal-section {
        padding-top: 40px;
    }

    .legal-section__title {
        margin-bottom: 20px;
        font-size: 28px;
    }

    .legal-section h3 {
        margin-top: 28px;
        font-size: 17px;
    }

    .legal-section p,
    .legal-section li {
        font-size: 16px;
        line-height: 1.7;
    }

    .legal-section ul,
    .legal-section ol {
        padding-left: 20px;
    }

    .legal-contact,
    .legal-note {
        padding: 20px;
    }

    .legal-table-wrapper {
        margin-top: 24px;
        border-radius: var(--radius-md, 16px);
    }

    .legal-table th,
    .legal-table td {
        padding: 16px;
    }
}


/* ==========================================================
   10 — VERY SMALL SCREENS
========================================================== */

@media (max-width: 380px) {

    .legal-hero__container,
    .legal-page__container {
        width: calc(100% - 32px);
    }

    .legal-hero__title {
        font-size: 34px;
    }

    .legal-nav,
    .legal-contact,
    .legal-note {
        padding-left: 18px;
        padding-right: 18px;
    }
}
