/* Hallmark · v2.0.0 · built: NovaPrzychodnia · redesign: full · scope: page · theme: brand · brand: NOVA (assets/styles/app.css) · genre: editorial · shape: Long Document · hero: Banner · nav: shared NOVA masthead + section index · footer: shared NOVA footer · imagery: type · signature: direct route to patient rights · copy: verbatim */
/* Hallmark · pre-emit critique: P4 H5 E4 S4 R5 V3 · weakest: variety, repeated prose panels; added a persistent index beside a continuous, narrow reading column. */
/* Hallmark · waive 77 · the document has a 62ch reading column and a separate section index · the privacy document needs readable legal text without oversized sections or filler imagery. */
/* Hallmark · hero-review: in-thread · ship, the title, effective date and rights link are visible on desktop and mobile. */
/* Hallmark · finish-review: in-thread · ship, the earlier layout reached the administrator paragraph sooner on mobile; the index now gives readers a choice of where to start. */

html:has(.privacy-page),
body:has(.privacy-page) {
    overflow-x: clip;
}

.privacy-page {
    font-family: var(--font-sans);
    color: var(--color-text-soft);
}

.privacy-hero {
    border-block-end: 1px solid var(--color-line);
    background: var(--color-surface-muted);
}

.privacy-intro {
    padding-block: clamp(2.5rem, 6vw, 4.5rem);
}

.privacy-intro h1 {
    min-width: 0;
    max-inline-size: 23ch;
    margin: 0;
    color: var(--color-text);
    font-family: var(--font-heading);
    font-size: clamp(2.75rem, 5vw, 4.25rem);
    font-weight: 400;
    letter-spacing: -0.025em;
    line-height: 1.08;
    overflow-wrap: break-word;
    text-wrap: balance;
}

.privacy-lead {
    max-inline-size: 58ch;
    margin-block: 1rem 0;
    font-size: 1.125rem;
    line-height: 1.65;
    text-wrap: pretty;
}

.privacy-effective {
    margin-block: 0.75rem 0;
    font-size: 0.875rem;
}

.privacy-action {
    display: inline-flex;
    align-items: center;
    min-block-size: 44px;
    margin-block-start: 1.25rem;
    padding: 0.625rem 1.125rem;
    border-radius: var(--radius-button);
    background: var(--color-green-deep);
    color: var(--color-surface);
    font-weight: 600;
    text-decoration: none;
}

.privacy-action:is(:hover, :active) {
    background: var(--color-accent-hover);
    color: var(--color-surface);
}

.privacy-page a:focus-visible {
    outline: 3px solid var(--color-green-deep);
    outline-offset: 3px;
    box-shadow: none;
}

body:has(.privacy-page) footer a:focus-visible {
    outline-color: var(--color-surface);
    box-shadow: none;
}

.privacy-layout {
    display: grid;
    gap: clamp(2.25rem, 5vw, 4rem);
    padding-block: clamp(2.25rem, 5vw, 4rem) clamp(3rem, 6vw, 5rem);
}

.privacy-contents {
    min-width: 0;
}

.privacy-contents > p {
    margin-block-end: 0.5rem;
    color: var(--color-text);
    font-weight: 600;
}

.privacy-contents ol {
    margin: 0;
    padding-inline-start: 1.35rem;
    list-style: decimal;
}

.privacy-contents li {
    border-block-end: 1px solid var(--color-line);
    padding-inline-start: 0.25rem;
}

.privacy-contents li::marker {
    color: var(--color-text-muted);
    font-size: 0.875rem;
}

.privacy-contents a {
    display: block;
    min-block-size: 44px;
    padding-block: 0.6rem;
    color: var(--color-text);
    font-size: 0.9375rem;
    line-height: 1.5;
    text-decoration: none;
}

.privacy-contents a:is(:hover, :focus-visible) {
    color: var(--color-green-deep);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.privacy-document {
    min-width: 0;
    max-inline-size: 62ch;
    font-size: 1rem;
    line-height: 1.72;
}

.privacy-document > section + section {
    margin-block-start: clamp(2.25rem, 4vw, 3.5rem);
    padding-block-start: clamp(2rem, 4.4vw, 3.75rem);
    border-block-start: 1px solid var(--color-line);
}

.privacy-document > #twoje-prawa {
    padding-block-start: clamp(2.5rem, 5vw, 4rem);
}

.privacy-document :is(section, h3)[id] {
    scroll-margin-block-start: 1.25rem;
}

.privacy-document :is(h2, h3) {
    min-width: 0;
    color: var(--color-text);
    overflow-wrap: break-word;
    text-wrap: balance;
}

.privacy-document h2 {
    margin-block-end: 0.85rem;
    font-family: var(--font-heading);
    font-size: clamp(1.75rem, 3.2vw, 2.5rem);
    font-weight: 400;
    line-height: 1.18;
}

.privacy-document h3 {
    margin-block: 1.5rem 0.45rem;
    font-size: 1.125rem;
    font-weight: 600;
    line-height: 1.4;
}

.privacy-document p + p {
    margin-block-start: 0.9rem;
}

.privacy-document p {
    text-wrap: pretty;
}

.privacy-document :is(section:target > h2, h3:target) {
    color: var(--color-green-deep);
}

.privacy-document h3:focus-visible {
    outline: 2px solid var(--color-green-deep);
    outline-offset: 3px;
}

.privacy-text-link {
    color: var(--color-green-deep);
    text-decoration: underline;
    text-underline-offset: 0.2em;
}

.privacy-text-link:hover {
    color: var(--color-accent-hover);
}

@media (min-width: 62rem) {
    .privacy-layout {
        grid-template-columns: minmax(12rem, 14rem) minmax(0, 1fr);
        align-items: start;
    }
}

@media (min-width: 62rem) and (min-height: 44rem) {
    .privacy-contents {
        position: sticky;
        inset-block-start: 1.5rem;
    }
}

@media (min-width: 80rem) and (min-height: 44rem) {
    html:not([data-large-text]) .privacy-contents {
        inset-block-start: 7rem;
    }
}
