/* Shared trust-center presentation. Scoped to the two policy pages. */
body.public-app.policy-page { --p-ink:#172f47; --p-muted:#596d81; --p-line:#dfe6ee; --p-surface:#fff; --p-soft:#f5f8fc; --p-blue:#175cd3; display:block; padding:0; margin:0; background:#f5f7fb; color:var(--p-ink); font-family:'Plus Jakarta Sans',system-ui,sans-serif; line-height:1.8; }
[data-bs-theme="dark"] body.public-app.policy-page { --p-ink:#e8f0fb; --p-muted:#aabdd2; --p-line:#2b3e55; --p-surface:#142338; --p-soft:#101e30; --p-blue:#91bdff; background:#0c1726; }
.trust-header { max-width:1180px; margin:0 auto; padding:23px 28px; display:flex; justify-content:space-between; align-items:center; gap:20px; border-bottom:1px solid var(--p-line); }
.trust-brand { display:flex; align-items:center; gap:12px; font-size:.9rem; font-weight:800; color:var(--p-ink); text-decoration:none; }
.trust-brand img { object-fit:contain; border-radius:10px; background:white; border:1px solid var(--p-line); padding:4px; }
.trust-brand small { display:block; color:var(--p-muted); font-weight:500; font-size:.65rem; }
.trust-signin { font-size:.75rem; text-decoration:none; font-weight:650; color:var(--p-blue); }
.trust-intro { max-width:1180px; margin:0 auto; padding:44px 28px 0; }
.trust-eyebrow { display:flex; align-items:center; gap:8px; color:var(--p-blue); font-size:.61rem; font-weight:750; letter-spacing:.1em; }
.trust-eyebrow i { font-size:.95rem; }
.trust-intro h1 { font:800 clamp(2rem,4vw,3rem)/1.2 'Plus Jakarta Sans',system-ui,sans-serif; letter-spacing:-.055em; margin:12px 0 14px; color:var(--p-ink); }
.trust-intro > p { max-width:660px; font-size:.9rem; color:var(--p-muted); margin:0; line-height:1.9; }
.trust-meta { display:flex; flex-wrap:wrap; gap:10px 22px; margin:20px 0 30px; font-size:.7rem; color:var(--p-muted); }
.trust-meta i { margin-right:6px; }
.trust-meta > span + span::before { content:'•'; margin-right:16px; color:#8193a7; }
.trust-tabs { display:flex; gap:28px; border-bottom:1px solid var(--p-line); }
.trust-tabs a { display:flex; align-items:center; gap:8px; font-size:.78rem; font-weight:650; color:var(--p-muted); padding:14px 1px; border-bottom:2px solid transparent; margin-bottom:-1px; text-decoration:none; }
.trust-tabs a[aria-current] { color:var(--p-blue); border-bottom-color:var(--p-blue); }
.policy-page a { text-underline-offset:3px; }
.policy-page a:hover { color:var(--p-blue); text-decoration:underline; }
.policy-layout { max-width:1180px; margin:32px auto 0; padding:0 28px; }
.policy-grid { display:grid; grid-template-columns:244px minmax(0,1fr); align-items:start; gap:30px; }
.policy-contents { position:sticky; top:24px; min-width:0; }
.policy-contents-disclosure { background:var(--p-surface); border:1px solid var(--p-line); border-radius:12px; overflow:hidden; }
.policy-contents-disclosure summary { display:flex; justify-content:space-between; align-items:center; padding:18px; cursor:pointer; font-size:.73rem; font-weight:750; color:var(--p-ink); list-style:none; }
.policy-contents-disclosure summary::-webkit-details-marker { display:none; }
.policy-contents-disclosure summary i { transition:transform .2s; font-size:.7rem; }
.policy-contents-disclosure[open] summary i { transform:rotate(180deg); }
.policy-page .toc-list { list-style:none; margin:0; padding:0 10px 12px; max-height:66vh; overflow:auto; }
.policy-page .toc-list li { margin:3px 0; }
.policy-page .toc-link { display:flex; gap:3px; padding:10px 10px; font-size:.71rem; line-height:1.6; border-radius:7px; font-weight:500; color:var(--p-muted); text-decoration:none; border-left:2px solid transparent; background:transparent; }
.policy-page .toc-link span { min-width:18px; font-size:.65rem; font-weight:500 !important; color:var(--p-muted); }
.policy-page .toc-link:hover, .policy-page .toc-link.active { color:var(--p-blue); background:var(--p-soft); border-left-color:var(--p-blue); }
.policy-sidebar-note { display:grid; gap:6px; padding:22px 10px; font-size:.68rem; color:var(--p-muted); }
.policy-sidebar-note > i { color:var(--p-blue); font-size:1.1rem; }
.policy-sidebar-note a { color:var(--p-blue); font-weight:650; font-size:.67rem; text-decoration:none; }
.policy-article { min-width:0; }
.policy-page .policy-card { background:var(--p-surface); border:1px solid var(--p-line); border-radius:15px; padding:36px 38px; box-shadow:0 6px 24px rgb(18 40 65 / 3%); }
.policy-page .policy-section { scroll-margin-top:28px; border-bottom:1px solid var(--p-line); padding-bottom:32px; margin-bottom:32px; }
.policy-page .policy-section:last-child { border:0; margin:0; padding:0; }
.policy-page .policy-section h2 { font:750 1.22rem/1.5 'Plus Jakarta Sans',system-ui,sans-serif; letter-spacing:-.025em; color:var(--p-ink); display:flex; align-items:baseline; gap:12px; margin:0 0 18px; }
.policy-page .section-num { flex-shrink:0; display:inline-grid; place-items:center; width:27px; height:27px; margin:0; background:var(--p-soft); color:var(--p-blue); font-size:.67rem; font-weight:700; border:1px solid var(--p-line); border-radius:7px; vertical-align:middle; }
.policy-page .policy-section p, .policy-page .policy-section li { font-size:.86rem; line-height:1.95; color:var(--p-ink); }
.policy-page .policy-section p { margin:0 0 17px; }
.policy-page .policy-section p:last-child { margin-bottom:0; }
.policy-page .policy-section ul, .policy-page .policy-section ol { padding-left:22px; margin:14px 0 20px; }
.policy-page .policy-section li { padding-left:3px; margin-bottom:9px; }
.policy-page .policy-section strong { font-weight:700; }
.policy-page .policy-section a { color:var(--p-blue); overflow-wrap:anywhere; }
.policy-page .callout-box { padding:19px 20px; border-radius:9px; background:var(--p-soft); border:1px solid var(--p-line); border-left:3px solid var(--p-blue); margin:22px 0; font-size:.81rem; line-height:1.9; }
.policy-page .callout-box.callout-dpiit { border-left-color:#2f8a68; }
.policy-page .callout-box.callout-warning { border-left-color:#c18a23; }
.policy-page .table-responsive { border:1px solid var(--p-line); border-radius:9px; margin:22px 0; }
.policy-page .table-custom { margin:0; border:0; border-radius:0; font-size:.75rem; --bs-table-bg:var(--p-surface); --bs-table-color:var(--p-ink); --bs-table-border-color:var(--p-line); }
.policy-page .table-custom th { background:var(--p-soft); color:var(--p-ink); padding:13px 15px; font-size:.68rem; line-height:1.7; border-bottom:1px solid var(--p-line); }
.policy-page .table-custom td { color:var(--p-ink); padding:15px; line-height:1.85; vertical-align:top; min-width:140px; }
.policy-page .table-custom code { overflow-wrap:anywhere; }
.policy-page .btn-cookie-action { background:#175cd3; color:#fff; border:1px solid #175cd3; box-shadow:none; border-radius:8px; padding:11px 18px; font-size:.78rem; }
.policy-page .btn-cookie-action:hover { background:#144eaf; color:#fff; }
.trust-footer { max-width:1180px; margin:28px auto 0; padding:24px 28px; border-top:1px solid var(--p-line); display:flex; justify-content:space-between; align-items:center; gap:15px; font-size:.67rem; color:var(--p-muted); }
.trust-footer a { color:var(--p-blue); text-decoration:none; font-weight:650; }
[data-bs-theme="dark"] .policy-page .policy-card .text-dark { color:var(--p-ink) !important; }
[data-bs-theme="dark"] .policy-page .policy-card .bg-light { background:var(--p-soft) !important; }
[data-bs-theme="dark"] .policy-page .policy-card .text-primary { color:var(--p-blue) !important; }
[data-bs-theme="dark"] .policy-page .policy-card .text-success { color:#8cddbb !important; }
@media (max-width:960px) {
 .policy-grid { grid-template-columns:minmax(0,1fr); gap:22px; }
 .policy-contents { position:static; }
 .policy-sidebar-note { display:none; }
 .policy-page .toc-list { max-height:none; display:grid; grid-template-columns:1fr 1fr; gap:0 12px; }
 .policy-page .policy-card { padding:30px; }
}
@media (max-width:540px) {
 .trust-header { padding:18px 18px; gap:10px; }
 .trust-brand { font-size:.73rem; gap:8px; }
 .trust-brand img { width:34px; height:34px; }
 .trust-brand small { font-size:.59rem; }
 .trust-signin { font-size:.65rem; }
 .trust-intro { padding:30px 20px 0; }
 .trust-intro h1 { font-size:2.25rem; }
 .trust-intro > p { font-size:.82rem; }
 .trust-eyebrow { font-size:.56rem; }
 .trust-meta { font-size:.65rem; margin-bottom:18px; }
 .trust-tabs { gap:24px; }
 .trust-tabs a { font-size:.75rem; }
 .policy-layout { padding:0 16px; margin-top:22px; }
 .policy-page .policy-card { padding:25px 21px; border-radius:12px; }
 .policy-page .policy-section h2 { font-size:1.08rem; gap:10px; line-height:1.6; }
 .policy-page .policy-section p, .policy-page .policy-section li { font-size:.83rem; line-height:1.95; }
 .policy-page .toc-list { grid-template-columns:1fr; }
 .policy-page .callout-box { padding:16px; }
 .trust-footer { margin:24px 16px 0; padding:22px 4px; flex-direction:column; text-align:center; }
}
@media print {
 body.public-app.policy-page { background:#fff; color:#111; }
 .trust-header, .trust-tabs, .policy-contents, .trust-footer, .skip-link { display:none; }
 .trust-intro, .policy-layout { max-width:none; padding:0; margin:0; }
 .policy-grid { display:block; }
 .policy-page .policy-card { border:0; padding:20px 0; box-shadow:none; }
 .policy-page .policy-section h2 { break-after:avoid; }
 .policy-page .table-responsive { overflow:visible; }
}
