/* Minification failed. Returning unminified contents.
(7,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(8,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(9,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(10,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(11,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(12,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(13,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(14,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(18,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-text'
(27,35): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(35,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-heading'
(41,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-muted'
(54,22): run-time error CSS1039: Token not allowed after unary operator: '-pp-surface'
(55,28): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(56,33): run-time error CSS1039: Token not allowed after unary operator: '-pp-accent'
(64,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-heading'
(92,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-heading'
(93,35): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(100,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-heading'
(123,28): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(141,35): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(145,22): run-time error CSS1039: Token not allowed after unary operator: '-pp-surface'
(147,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-heading'
(148,35): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(154,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-heading'
(167,22): run-time error CSS1039: Token not allowed after unary operator: '-pp-surface'
(168,28): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(174,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-accent'
(181,17): run-time error CSS1039: Token not allowed after unary operator: '-pp-accent-dark'
(185,29): run-time error CSS1039: Token not allowed after unary operator: '-pp-accent'
(193,22): run-time error CSS1039: Token not allowed after unary operator: '-pp-placeholder-bg'
(275,28): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(424,28): run-time error CSS1039: Token not allowed after unary operator: '-pp-border'
(517,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(518,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(519,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(520,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(521,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(522,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(523,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(524,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(527,17): run-time error CSS1039: Token not allowed after unary operator: '-cp-text'
(552,39): run-time error CSS1039: Token not allowed after unary operator: '-cp-card-border'
(587,25): run-time error CSS1039: Token not allowed after unary operator: '-cp-heading'
(593,21): run-time error CSS1039: Token not allowed after unary operator: '-cp-muted'
(613,21): run-time error CSS1039: Token not allowed after unary operator: '-cp-heading'
(651,25): run-time error CSS1039: Token not allowed after unary operator: '-cp-heading'
(677,21): run-time error CSS1039: Token not allowed after unary operator: '-cp-accent'
(684,25): run-time error CSS1039: Token not allowed after unary operator: '-cp-accent-dark'
(688,37): run-time error CSS1039: Token not allowed after unary operator: '-cp-accent'
(696,26): run-time error CSS1039: Token not allowed after unary operator: '-cp-placeholder-bg'
(857,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(858,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(859,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(860,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(861,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(862,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(863,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(864,5): run-time error CSS1062: Expected semicolon or closing curly-brace, found '-'
(868,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-text'
(877,35): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
(885,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-heading'
(891,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-muted'
(904,22): run-time error CSS1039: Token not allowed after unary operator: '-tc-surface'
(905,28): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
(906,33): run-time error CSS1039: Token not allowed after unary operator: '-tc-accent'
(914,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-heading'
(942,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-heading'
(943,35): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
(950,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-heading'
(973,28): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
(991,35): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
(995,22): run-time error CSS1039: Token not allowed after unary operator: '-tc-surface'
(997,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-heading'
(998,35): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
(1004,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-heading'
(1017,22): run-time error CSS1039: Token not allowed after unary operator: '-tc-surface'
(1018,28): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
(1024,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-accent'
(1031,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-accent-dark'
(1035,29): run-time error CSS1039: Token not allowed after unary operator: '-tc-accent'
(1043,22): run-time error CSS1039: Token not allowed after unary operator: '-tc-placeholder-bg'
(1116,17): run-time error CSS1039: Token not allowed after unary operator: '-tc-heading'
(1166,28): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
(1315,28): run-time error CSS1039: Token not allowed after unary operator: '-tc-border'
 */
/* ==========================================================
   PrivacyPolicy.css  -  styles for Views/Home/PrivacyPolicy.cshtml
   Scoped under .privacy-policy-page so it cannot affect other pages.
   ========================================================== */

.privacy-policy-page {
    --pp-text: #1f2937;
    --pp-muted: #6b7280;
    --pp-heading: #111827;
    --pp-accent: #2563eb;
    --pp-accent-dark: #1d4ed8;
    --pp-border: #e5e7eb;
    --pp-surface: #f8fafc;
    --pp-placeholder-bg: #fff3a3;

    padding-top: 2rem;
    padding-bottom: 3rem;
    color: var(--pp-text);
    font-size: 0.9375rem;
    line-height: 1.65;
}

/* ---------- Header ---------- */
.privacy-policy-page .pp-header {
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--pp-border);
}

.privacy-policy-page .pp-header h1 {
    margin: 0 0 0.25rem;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--pp-heading);
}

.privacy-policy-page .pp-updated {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    color: var(--pp-muted);
}

.privacy-policy-page .pp-intro {
    margin: 0;
    max-width: none;
    font-size: 1.05rem;
}

/* ---------- Table of contents ---------- */
.privacy-policy-page .pp-toc {
    margin-bottom: 2.5rem;
    padding: 1rem 1.25rem;
    background: var(--pp-surface);
    border: 1px solid var(--pp-border);
    border-left: 4px solid var(--pp-accent);
    border-radius: 6px;
}

.privacy-policy-page .pp-toc-title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--pp-heading);
}

.privacy-policy-page .pp-toc ul {
    margin: 0;
    padding-left: 1.1rem;
    columns: 2;
    column-gap: 2rem;
}

.privacy-policy-page .pp-toc li {
    margin: 0 0 0.3rem;
    break-inside: avoid;
}

/* ---------- Sections ---------- */
.privacy-policy-page .pp-section {
    margin-bottom: 2.5rem;
    /* keeps the heading clear of a fixed/sticky site header when jumping via the TOC */
    scroll-margin-top: 90px;
}

.privacy-policy-page .pp-section h2 {
    margin: 0 0 0.85rem;
    padding-bottom: 0.4rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--pp-heading);
    border-bottom: 1px solid var(--pp-border);
}

.privacy-policy-page .pp-section h3 {
    margin: 1.5rem 0 0.5rem;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--pp-heading);
}

.privacy-policy-page p {
    max-width: none;
    margin: 0 0 1rem;
}

/* ---------- Lists ---------- */
.privacy-policy-page .pp-section ul {
    max-width: none;
    margin: 0 0 1rem;
    padding-left: 1.35rem;
}

.privacy-policy-page .pp-section li {
    margin-bottom: 0.6rem;
}

/* ---------- Data table ---------- */
.privacy-policy-page .pp-table-wrap {
    margin: 1.25rem 0 1.5rem;
    overflow-x: auto; /* table scrolls inside its own box on phones, page never scrolls sideways */
    border: 1px solid var(--pp-border);
    border-radius: 6px;
}

.privacy-policy-page .pp-table {
    width: 100%;
    min-width: 640px;
    margin: 0;
    border-collapse: collapse;
    font-size: 0.95rem;
    line-height: 1.55;
}

.privacy-policy-page .pp-table th,
.privacy-policy-page .pp-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--pp-border);
}

.privacy-policy-page .pp-table thead th {
    background: var(--pp-surface);
    font-weight: 600;
    color: var(--pp-heading);
    border-bottom: 2px solid var(--pp-border);
}

.privacy-policy-page .pp-table tbody th {
    width: 20%;
    font-weight: 600;
    color: var(--pp-heading);
}

.privacy-policy-page .pp-table tbody tr:last-child th,
.privacy-policy-page .pp-table tbody tr:last-child td {
    border-bottom: 0;
}

/* ---------- Contact address ---------- */
.privacy-policy-page .pp-address {
    margin: 0 0 1rem;
    padding: 1rem 1.25rem;
    font-style: normal;
    background: var(--pp-surface);
    border: 1px solid var(--pp-border);
    border-radius: 6px;
}

/* ---------- Links ---------- */
.privacy-policy-page a {
    color: var(--pp-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
}

.privacy-policy-page a:hover {
    color: var(--pp-accent-dark);
}

.privacy-policy-page a:focus-visible {
    outline: 2px solid var(--pp-accent);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ---------- Placeholders (remove once filled in) ---------- */
.privacy-policy-page .pp-placeholder {
    padding: 0 0.25rem;
    background: var(--pp-placeholder-bg);
    color: inherit;
    border-radius: 3px;
}

/* ---------- Smooth scrolling (respects user setting) ---------- */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

/* ---------- Tablet / phone ---------- */
@media (max-width: 767.98px) {
    .privacy-policy-page {
        padding-top: 1.25rem;
    }

    .privacy-policy-page .pp-header h1 {
        font-size: 1.75rem;
    }

    .privacy-policy-page .pp-toc ul {
        columns: 1;
    }

    .privacy-policy-page .pp-section h2 {
        font-size: 1.3rem;
    }
}

/* ---------- Print ---------- */
@media print {
    .privacy-policy-page .pp-toc {
        display: none;
    }

    .privacy-policy-page .pp-table-wrap {
        overflow: visible;
    }

    .privacy-policy-page .pp-table {
        min-width: 0;
    }

    .privacy-policy-page .pp-table tr {
        break-inside: avoid;
    }

    .privacy-policy-page a {
        color: inherit;
        text-decoration: none;
    }

    .privacy-policy-page .pp-placeholder {
        background: none;
    }
}

/* ---------- Wide screens: 3-column "On this page" list ---------- */
@media (min-width: 1200px) {
    .privacy-policy-page .pp-toc ul {
        columns: 3;
    }
}

/* ==========================================================
   Card layout: grey page background, white content blocks
   ========================================================== */

/* grey band behind the whole page body, edge to edge (including the padding above and below the cards) */
.privacy-policy-page {
    background: #f4f5f7;
    box-shadow: 0 0 0 100vmax #f4f5f7;
    clip-path: inset(0 -100vmax);
}

/* title block, "On this page" block, and every section become white cards */
.privacy-policy-page .pp-header,
.privacy-policy-page .pp-section {
    padding: 1.25rem 1.5rem;
    background: #ffffff;
    border: 1px solid var(--pp-border);
    border-radius: 6px;
}

.privacy-policy-page .pp-header {
    margin-bottom: 1.25rem;
}

.privacy-policy-page .pp-toc {
    margin-bottom: 1.25rem;
    background: #ffffff;
}

.privacy-policy-page .pp-section {
    margin-bottom: 1.25rem;
}

@media (max-width: 767.98px) {
    .privacy-policy-page .pp-header,
    .privacy-policy-page .pp-section {
        padding: 1rem;
    }
}

@media print {
    .privacy-policy-page {
        background: none;
        box-shadow: none;
        clip-path: none;
    }

    .privacy-policy-page .pp-header,
    .privacy-policy-page .pp-section {
        padding: 0;
        border: 0;
    }
}

/* ==========================================================
   Scroll up / scroll down buttons (this page only)
   ========================================================== */

.pp-scroll-btns {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1045; /* above the cookie bar (1040), below Bootstrap modals (1050) */
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.pp-scroll-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: #111827;
    color: #ffffff;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: background-color 0.15s ease;
}

.pp-scroll-btn.is-hidden {
    display: none;
}

.pp-scroll-btn:hover {
    background: #2563eb;
}

.pp-scroll-btn:focus-visible {
    outline: 3px solid #93c5fd;
    outline-offset: 2px;
}

.pp-scroll-btn svg {
    width: 20px;
    height: 20px;
    pointer-events: none;
}

/* lift the buttons above the cookie bar while it is showing */
.has-cookie-banner .pp-scroll-btns {
    bottom: 96px;
}

@media (max-width: 767.98px) {
    .pp-scroll-btns {
        right: 14px;
        bottom: 14px;
    }

    .pp-scroll-btn {
        width: 40px;
        height: 40px;
    }

    .has-cookie-banner .pp-scroll-btns {
        bottom: 170px;
    }
}

@media print {
    .pp-scroll-btns {
        display: none !important;
    }
}

/* ==========================================================
   Page width: matches the front page content width.
   Change 1380px to make the legal pages wider or narrower.
   ========================================================== */
.privacy-policy-page.container {
    max-width: 1380px;
}

/* ==========================================================
   Grey page, white boxes (like the reference design)
   ========================================================== */

/* grey on the whole page, including the left and right sides.
   This file only loads on the legal pages, so the rest of the site is not affected. */
body {
    background-color: #f4f5f7;
}

/* "On this page": three separate white boxes side by side */
.privacy-policy-page .pp-toc {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.25rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.privacy-policy-page .pp-toc .pp-toc-col {
    columns: auto;
    margin: 0;
    padding: 1rem 1.25rem 1rem 2.25rem;
    background: #ffffff;
    border: 1px solid var(--pp-border);
    border-radius: 6px;
    list-style: disc;
}

.privacy-policy-page .pp-toc .pp-toc-col li {
    margin: 0 0 0.45rem;
}

.privacy-policy-page .pp-toc .pp-toc-col li:last-child {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    .privacy-policy-page .pp-toc {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
}

@media print {
    body {
        background-color: #ffffff;
    }

    .privacy-policy-page .pp-toc {
        display: none;
    }
}

/* ==========================================================
   Card look: soft shadow, blue uppercase section titles
   ========================================================== */
.privacy-policy-page .pp-header,
.privacy-policy-page .pp-section,
.privacy-policy-page .pp-toc .pp-toc-col {
    border: 0;
    border-bottom: 1px solid #dde1e6;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(16, 24, 40, 0.10);
}

.privacy-policy-page .pp-section {
    padding: 1.1rem 1.5rem 1.25rem;
}

.privacy-policy-page .pp-section h2 {
    margin: 0 0 0.6rem;
    padding-bottom: 0;
    border-bottom: 0;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #0a4fd6;
}

.privacy-policy-page .pp-section h3 {
    margin-top: 1.1rem;
    font-size: 1rem;
    color: #111827;
}

.privacy-policy-page {
    color: #374151;
}

@media print {
    .privacy-policy-page .pp-header,
    .privacy-policy-page .pp-section {
        box-shadow: none;
    }
}

/* scroll buttons are links: keep them white-on-dark whatever the site link styles are */
.pp-scroll-btn,
.pp-scroll-btn:hover,
.pp-scroll-btn:focus,
.pp-scroll-btn:visited {
    color: #ffffff;
    text-decoration: none;
}

/* ==============================================================
   CookiePolicy.css  -  styles for Views/Home/CookiePolicy.cshtml   
============================================================== */

/* ---------- Page ---------- */
body {
    background-color: #f4f5f7;
}

.cookie-policy-page {
    --cp-text: #374151;
    --cp-muted: #6b7280;
    --cp-heading: #111827;
    --cp-accent: #2563eb;
    --cp-accent-dark: #1d4ed8;
    --cp-border: #e5e7eb;
    --cp-card-border: #dde1e6;
    --cp-placeholder-bg: #fff3a3;
    padding-top: 2rem;
    padding-bottom: 3rem;
    color: var(--cp-text);
    font-size: 0.9375rem;
    line-height: 1.65;
    /* grey band behind the page body, edge to edge */
    background: #f4f5f7;
    box-shadow: 0 0 0 100vmax #f4f5f7;
    clip-path: inset(0 -100vmax);
}

    /* page width: matches the front page content width */
    .cookie-policy-page.container {
        max-width: 1380px;
    }

    .cookie-policy-page p {
        max-width: none;
        margin: 0 0 1rem;
    }

    /* ---------- Cards: header + sections + TOC boxes ---------- */
    .cookie-policy-page .cp-header,
    .cookie-policy-page .cp-section,
    .cookie-policy-page .cp-toc .cp-toc-col {
        background: #ffffff;
        border: 0;
        border-bottom: 1px solid var(--cp-card-border);
        border-radius: 3px;
        box-shadow: 0 1px 4px rgba(16, 24, 40, 0.10);
    }

    .cookie-policy-page .cp-header,
    .cookie-policy-page .cp-section {
        margin-bottom: 1.25rem;
        padding: 1.25rem 1.5rem;
    }

    /* ---------- Header ---------- */
    .cookie-policy-page .cp-header {
        /* neutralize global <header> styles from the site layout */
        display: block;
        position: static;
        float: none;
        width: auto;
        height: auto;
        min-height: 0;
        overflow: visible;
    }

        .cookie-policy-page .cp-header h1,
        .cookie-policy-page .cp-header p {
            float: none;
            width: auto;
            max-width: none;
        }

        .cookie-policy-page .cp-header h1 {
            margin: 0 0 0.25rem;
            font-size: 2.25rem;
            font-weight: 700;
            line-height: 1.2;
            color: var(--cp-heading);
        }

    .cookie-policy-page .cp-updated {
        margin: 0 0 1rem;
        font-size: 0.9rem;
        color: var(--cp-muted);
    }

    .cookie-policy-page .cp-intro {
        margin: 0;
        font-size: 1.05rem;
    }

    /* ---------- Table of contents: three white boxes ---------- */
    .cookie-policy-page .cp-toc {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        gap: 1.25rem;
        margin-bottom: 1.25rem;
    }

    .cookie-policy-page .cp-toc-title {
        margin: 0 0 0.5rem;
        font-size: 1rem;
        font-weight: 600;
        color: var(--cp-heading);
    }

    .cookie-policy-page .cp-toc .cp-toc-col {
        margin: 0;
        padding: 1rem 1.25rem 1rem 2.25rem;
        list-style: disc;
    }

        .cookie-policy-page .cp-toc .cp-toc-col li {
            margin: 0 0 0.45rem;
        }

            .cookie-policy-page .cp-toc .cp-toc-col li:last-child {
                margin-bottom: 0;
            }

    /* ---------- Sections ---------- */
    .cookie-policy-page .cp-section {
        padding: 1.1rem 1.5rem 1.25rem;
        /* keeps the heading clear of a fixed/sticky site header when jumping via the TOC */
        scroll-margin-top: 90px;
    }

        .cookie-policy-page .cp-section h2 {
            margin: 0 0 0.6rem;
            font-size: 1.15rem;
            font-weight: 700;
            line-height: 1.3;
            letter-spacing: 0.01em;
            text-transform: uppercase;
            color: #0a4fd6;
        }

        .cookie-policy-page .cp-section h3 {
            margin: 1.1rem 0 0.5rem;
            font-size: 1rem;
            font-weight: 600;
            color: var(--cp-heading);
        }

        /* ---------- Lists ---------- */
        .cookie-policy-page .cp-section ul {
            max-width: none;
            margin: 0 0 1rem;
            padding-left: 1.35rem;
        }

        .cookie-policy-page .cp-section li {
            margin-bottom: 0.6rem;
        }

        .cookie-policy-page .cp-section ul ul {
            margin-top: 0.5rem;
            margin-bottom: 0;
        }

    /* short single-line items sit closer together */
    .cookie-policy-page .cp-list-compact li {
        margin-bottom: 0.25rem;
    }

    /* ---------- Links ---------- */
    .cookie-policy-page a {
        color: var(--cp-accent);
        text-decoration: underline;
        text-underline-offset: 2px;
        overflow-wrap: anywhere; /* long opt-out URLs must not overflow on phones */
    }

        .cookie-policy-page a:hover {
            color: var(--cp-accent-dark);
        }

        .cookie-policy-page a:focus-visible {
            outline: 2px solid var(--cp-accent);
            outline-offset: 2px;
            border-radius: 2px;
        }

    /* ---------- Placeholders (remove once filled in) ---------- */
    .cookie-policy-page .cp-placeholder {
        padding: 0 0.25rem;
        background: var(--cp-placeholder-bg);
        color: inherit;
        border-radius: 3px;
    }

/* ---------- Smooth scrolling (respects user setting) ---------- */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

/* ==========================================================
   Scroll up / scroll down buttons (this page only)
   ========================================================== */
.cp-scroll-btns {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1045; /* above the cookie bar (1040), below Bootstrap modals (1050) */
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.cp-scroll-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: #111827;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: background-color 0.15s ease;
}

    /* buttons are links: keep them white-on-dark whatever the site link styles are */
    .cp-scroll-btn,
    .cp-scroll-btn:hover,
    .cp-scroll-btn:focus,
    .cp-scroll-btn:visited {
        color: #ffffff;
        text-decoration: none;
    }

        .cp-scroll-btn:hover {
            background: #2563eb;
        }

        .cp-scroll-btn:focus-visible {
            outline: 3px solid #93c5fd;
            outline-offset: 2px;
        }

        .cp-scroll-btn.is-hidden {
            display: none;
        }

        .cp-scroll-btn svg {
            width: 20px;
            height: 20px;
            pointer-events: none;
        }

/* lift the buttons above the cookie bar while it is showing */
.has-cookie-banner .cp-scroll-btns {
    bottom: 96px;
}

/* ==========================================================
   Responsive
   ========================================================== */

/* tablet: TOC boxes stack */
@media (max-width: 991.98px) {
    .cookie-policy-page .cp-toc {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
}

/* phone */
@media (max-width: 767.98px) {
    .cookie-policy-page {
        padding-top: 1.25rem;
    }

        .cookie-policy-page .cp-header,
        .cookie-policy-page .cp-section {
            padding: 1rem;
        }

            .cookie-policy-page .cp-header h1 {
                font-size: 1.75rem;
            }

    .cp-scroll-btns {
        right: 14px;
        bottom: 14px;
    }

    .cp-scroll-btn {
        width: 40px;
        height: 40px;
    }

    .has-cookie-banner .cp-scroll-btns {
        bottom: 170px;
    }
}

/* ==========================================================
   Print
   ========================================================== */
@media print {
    body {
        background-color: #ffffff;
    }

    .cookie-policy-page {
        background: none;
        box-shadow: none;
        clip-path: none;
    }

        .cookie-policy-page .cp-header,
        .cookie-policy-page .cp-section {
            padding: 0;
            border: 0;
            box-shadow: none;
        }

        .cookie-policy-page .cp-section {
            break-inside: avoid-page;
        }

        .cookie-policy-page .cp-toc,
        .cp-scroll-btns {
            display: none !important;
        }

        .cookie-policy-page a {
            color: inherit;
            text-decoration: none;
        }

        .cookie-policy-page .cp-placeholder {
            background: none;
        }
}

/* ==========================================================
   TermsAndConditions.css  -  styles for Views/Home/TermsAndConditions.cshtml
   Scoped under .terms-page so it cannot affect other pages.
   ========================================================== */

.terms-page {
    --tc-text: #1f2937;
    --tc-muted: #6b7280;
    --tc-heading: #111827;
    --tc-accent: #2563eb;
    --tc-accent-dark: #1d4ed8;
    --tc-border: #e5e7eb;
    --tc-surface: #f8fafc;
    --tc-placeholder-bg: #fff3a3;

    padding-top: 2rem;
    padding-bottom: 3rem;
    color: var(--tc-text);
    font-size: 0.9375rem;
    line-height: 1.65;
}

/* ---------- Header ---------- */
.terms-page .tc-header {
    margin-bottom: 1.75rem;
    padding-bottom: 1.25rem;
    border-bottom: 1px solid var(--tc-border);
}

.terms-page .tc-header h1 {
    margin: 0 0 0.25rem;
    font-size: 2.25rem;
    font-weight: 700;
    line-height: 1.2;
    color: var(--tc-heading);
}

.terms-page .tc-updated {
    margin: 0 0 1rem;
    font-size: 0.9rem;
    color: var(--tc-muted);
}

.terms-page .tc-intro {
    margin: 0;
    max-width: none;
    font-size: 1.05rem;
}

/* ---------- Table of contents ---------- */
.terms-page .tc-toc {
    margin-bottom: 2.5rem;
    padding: 1rem 1.25rem;
    background: var(--tc-surface);
    border: 1px solid var(--tc-border);
    border-left: 4px solid var(--tc-accent);
    border-radius: 6px;
}

.terms-page .tc-toc-title {
    margin: 0 0 0.5rem;
    font-size: 1rem;
    font-weight: 600;
    color: var(--tc-heading);
}

.terms-page .tc-toc ul {
    margin: 0;
    padding-left: 1.1rem;
    columns: 2;
    column-gap: 2rem;
}

.terms-page .tc-toc li {
    margin: 0 0 0.3rem;
    break-inside: avoid;
}

/* ---------- Sections ---------- */
.terms-page .tc-section {
    margin-bottom: 2.5rem;
    /* keeps the heading clear of a fixed/sticky site header when jumping via the TOC */
    scroll-margin-top: 90px;
}

.terms-page .tc-section h2 {
    margin: 0 0 0.85rem;
    padding-bottom: 0.4rem;
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1.3;
    color: var(--tc-heading);
    border-bottom: 1px solid var(--tc-border);
}

.terms-page .tc-section h3 {
    margin: 1.5rem 0 0.5rem;
    font-size: 1.15rem;
    font-weight: 600;
    color: var(--tc-heading);
}

.terms-page p {
    max-width: none;
    margin: 0 0 1rem;
}

/* ---------- Lists ---------- */
.terms-page .tc-section ul {
    max-width: none;
    margin: 0 0 1rem;
    padding-left: 1.35rem;
}

.terms-page .tc-section li {
    margin-bottom: 0.6rem;
}

/* ---------- Data table ---------- */
.terms-page .tc-table-wrap {
    margin: 1.25rem 0 1.5rem;
    overflow-x: auto; /* table scrolls inside its own box on phones, page never scrolls sideways */
    border: 1px solid var(--tc-border);
    border-radius: 6px;
}

.terms-page .tc-table {
    width: 100%;
    min-width: 640px;
    margin: 0;
    border-collapse: collapse;
    font-size: 0.95rem;
    line-height: 1.55;
}

.terms-page .tc-table th,
.terms-page .tc-table td {
    padding: 0.75rem 1rem;
    text-align: left;
    vertical-align: top;
    border-bottom: 1px solid var(--tc-border);
}

.terms-page .tc-table thead th {
    background: var(--tc-surface);
    font-weight: 600;
    color: var(--tc-heading);
    border-bottom: 2px solid var(--tc-border);
}

.terms-page .tc-table tbody th {
    width: 20%;
    font-weight: 600;
    color: var(--tc-heading);
}

.terms-page .tc-table tbody tr:last-child th,
.terms-page .tc-table tbody tr:last-child td {
    border-bottom: 0;
}

/* ---------- Contact address ---------- */
.terms-page .tc-address {
    margin: 0 0 1rem;
    padding: 1rem 1.25rem;
    font-style: normal;
    background: var(--tc-surface);
    border: 1px solid var(--tc-border);
    border-radius: 6px;
}

/* ---------- Links ---------- */
.terms-page a {
    color: var(--tc-accent);
    text-decoration: underline;
    text-underline-offset: 2px;
    overflow-wrap: anywhere;
}

.terms-page a:hover {
    color: var(--tc-accent-dark);
}

.terms-page a:focus-visible {
    outline: 2px solid var(--tc-accent);
    outline-offset: 2px;
    border-radius: 2px;
}

/* ---------- Placeholders (remove once filled in) ---------- */
.terms-page .tc-placeholder {
    padding: 0 0.25rem;
    background: var(--tc-placeholder-bg);
    color: inherit;
    border-radius: 3px;
}

/* ---------- Smooth scrolling (respects user setting) ---------- */
@media (prefers-reduced-motion: no-preference) {
    html {
        scroll-behavior: smooth;
    }
}

/* ---------- Tablet / phone ---------- */
@media (max-width: 767.98px) {
    .terms-page {
        padding-top: 1.25rem;
    }

    .terms-page .tc-header h1 {
        font-size: 1.75rem;
    }

    .terms-page .tc-toc ul {
        columns: 1;
    }

    .terms-page .tc-section h2 {
        font-size: 1.3rem;
    }
}

/* ---------- Print ---------- */
@media print {
    .terms-page .tc-toc {
        display: none;
    }

    .terms-page .tc-table-wrap {
        overflow: visible;
    }

    .terms-page .tc-table {
        min-width: 0;
    }

    .terms-page .tc-table tr {
        break-inside: avoid;
    }

    .terms-page a {
        color: inherit;
        text-decoration: none;
    }

    .terms-page .tc-placeholder {
        background: none;
    }
}

/* ---------- Key points callout ---------- */
.terms-page .tc-callout {
    margin-bottom: 1.5rem;
    padding: 1rem 1.25rem;
    background: #fffbeb;
    border: 1px solid #fde68a;
    border-left: 4px solid #d97706;
    border-radius: 6px;
}

.terms-page .tc-callout-title {
    margin: 0 0 0.5rem;
    font-size: 1.05rem;
    font-weight: 600;
    color: var(--tc-heading);
}

.terms-page .tc-callout ul {
    margin: 0;
    padding-left: 1.25rem;
}

.terms-page .tc-callout li {
    margin-bottom: 0.4rem;
}

.terms-page .tc-callout li:last-child {
    margin-bottom: 0;
}

/* cancellation table: two equal-ish columns, first column not bold-header styled */
.terms-page .tc-table {
    min-width: 480px;
}

@media print {
    .terms-page .tc-callout {
        break-inside: avoid;
    }
}

/* ---------- Wide screens: 3-column "On this page" list ---------- */
@media (min-width: 1200px) {
    .terms-page .tc-toc ul {
        columns: 3;
    }
}

/* ==========================================================
   Card layout: grey page background, white content blocks
   ========================================================== */

/* grey band behind the whole page body, edge to edge (including the padding above and below the cards) */
.terms-page {
    background: #f4f5f7;
    box-shadow: 0 0 0 100vmax #f4f5f7;
    clip-path: inset(0 -100vmax);
}

/* title block, "On this page" block, and every section become white cards */
.terms-page .tc-header,
.terms-page .tc-section {
    padding: 1.25rem 1.5rem;
    background: #ffffff;
    border: 1px solid var(--tc-border);
    border-radius: 6px;
}

.terms-page .tc-header {
    margin-bottom: 1.25rem;
}

.terms-page .tc-toc {
    margin-bottom: 1.25rem;
    background: #ffffff;
}

.terms-page .tc-section {
    margin-bottom: 1.25rem;
}

@media (max-width: 767.98px) {
    .terms-page .tc-header,
    .terms-page .tc-section {
        padding: 1rem;
    }
}

@media print {
    .terms-page {
        background: none;
        box-shadow: none;
        clip-path: none;
    }

    .terms-page .tc-header,
    .terms-page .tc-section {
        padding: 0;
        border: 0;
    }
}

/* ==========================================================
   Scroll up / scroll down buttons (this page only)
   ========================================================== */

.tc-scroll-btns {
    position: fixed;
    right: 24px;
    bottom: 24px;
    z-index: 1045; /* above the cookie bar (1040), below Bootstrap modals (1050) */
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.tc-scroll-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    padding: 0;
    border: 0;
    border-radius: 4px;
    background: #111827;
    color: #ffffff;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
    transition: background-color 0.15s ease;
}

.tc-scroll-btn.is-hidden {
    display: none;
}

.tc-scroll-btn:hover {
    background: #2563eb;
}

.tc-scroll-btn:focus-visible {
    outline: 3px solid #93c5fd;
    outline-offset: 2px;
}

.tc-scroll-btn svg {
    width: 20px;
    height: 20px;
    pointer-events: none;
}

/* lift the buttons above the cookie bar while it is showing */
.has-cookie-banner .tc-scroll-btns {
    bottom: 96px;
}

@media (max-width: 767.98px) {
    .tc-scroll-btns {
        right: 14px;
        bottom: 14px;
    }

    .tc-scroll-btn {
        width: 40px;
        height: 40px;
    }

    .has-cookie-banner .tc-scroll-btns {
        bottom: 170px;
    }
}

@media print {
    .tc-scroll-btns {
        display: none !important;
    }
}

/* ==========================================================
   Page width: matches the front page content width.
   Change 1380px to make the legal pages wider or narrower.
   ========================================================== */
.terms-page.container {
    max-width: 1380px;
}

/* ==========================================================
   Grey page, white boxes (like the reference design)
   ========================================================== */

/* grey on the whole page, including the left and right sides.
   This file only loads on the legal pages, so the rest of the site is not affected. */
body {
    background-color: #f4f5f7;
}

/* "On this page": three separate white boxes side by side */
.terms-page .tc-toc {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1.25rem;
    margin-bottom: 1.25rem;
    padding: 0;
    background: transparent;
    border: 0;
    border-radius: 0;
}

.terms-page .tc-toc .tc-toc-col {
    columns: auto;
    margin: 0;
    padding: 1rem 1.25rem 1rem 2.25rem;
    background: #ffffff;
    border: 1px solid var(--tc-border);
    border-radius: 6px;
    list-style: disc;
}

.terms-page .tc-toc .tc-toc-col li {
    margin: 0 0 0.45rem;
}

.terms-page .tc-toc .tc-toc-col li:last-child {
    margin-bottom: 0;
}

@media (max-width: 991.98px) {
    .terms-page .tc-toc {
        grid-template-columns: 1fr;
        gap: 0.75rem;
    }
}

@media print {
    body {
        background-color: #ffffff;
    }

    .terms-page .tc-toc {
        display: none;
    }
}

/* ==========================================================
   Card look: soft shadow, blue uppercase section titles
   ========================================================== */
.terms-page .tc-header,
.terms-page .tc-section,
.terms-page .tc-toc .tc-toc-col {
    border: 0;
    border-bottom: 1px solid #dde1e6;
    border-radius: 3px;
    box-shadow: 0 1px 4px rgba(16, 24, 40, 0.10);
}

.terms-page .tc-section {
    padding: 1.1rem 1.5rem 1.25rem;
}

.terms-page .tc-section h2 {
    margin: 0 0 0.6rem;
    padding-bottom: 0;
    border-bottom: 0;
    font-size: 1.15rem;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: uppercase;
    color: #0a4fd6;
}

.terms-page .tc-section h3 {
    margin-top: 1.1rem;
    font-size: 1rem;
    color: #111827;
}

.terms-page {
    color: #374151;
}

@media print {
    .terms-page .tc-header,
    .terms-page .tc-section {
        box-shadow: none;
    }
}

/* scroll buttons are links: keep them white-on-dark whatever the site link styles are */
.tc-scroll-btn,
.tc-scroll-btn:hover,
.tc-scroll-btn:focus,
.tc-scroll-btn:visited {
    color: #ffffff;
    text-decoration: none;
}

