/*
 * Privacy Policy template — loaded only on pages using the "Privacy Policy"
 * template (and in the editor). Everything is scoped to .pp-page, the
 * group that wraps the page's blocks, so no other page is affected.
 */

body.page-template-privacy-policy-page { margin: 0; background: #0A0714; }
html:has(body.page-template-privacy-policy-page) { scroll-behavior: smooth; background: #0A0714; }
.editor-styles-wrapper:has(.pp-page) { background: #0A0714; }

.pp-page, .pp-page *, .pp-page *::before, .pp-page *::after { box-sizing: border-box; }
.pp-page {
	--ink: #F2EEFC; --body: #C9C1E4; --dim: #9F96C2; --faint: #6F6791; --violet: #A78BFA; --cyan: #22D3EE;
	--line: rgba(255, 255, 255, .12); --card: rgba(255, 255, 255, .06);
	--f-d: "Outfit", system-ui, sans-serif; --f-b: "Inter", system-ui, sans-serif; --f-m: "IBM Plex Mono", monospace;
	margin: 0; min-height: 100vh;
	font-family: var(--f-b); color: var(--body); -webkit-font-smoothing: antialiased; line-height: 1.75; font-size: 16px; letter-spacing: normal;
	background: radial-gradient(1000px 600px at 0% -10%, rgba(139, 92, 246, .28), transparent 60%),
		radial-gradient(800px 500px at 100% 100%, rgba(34, 211, 238, .12), transparent 60%),
		linear-gradient(160deg, #1A1233, #0D0A1A 60%, #0A0714);
	background-attachment: fixed;
}
.pp-page a { color: var(--violet); text-decoration: underline; text-underline-offset: 3px; }
.pp-page a:hover { color: #C4B5FD; }

/* top bar */
.pp-page .top { display: flex; align-items: center; gap: 12px; padding: 20px 32px; }
.pp-page .top .brand { display: flex; align-items: center; gap: 12px; margin: 0; font-family: var(--f-d); font-size: 15px; color: #fff; font-weight: 600; }
.pp-page .top .brand::before { content: ""; flex: 0 0 auto; width: 30px; height: 30px; border-radius: 9px; background: linear-gradient(140deg, var(--violet), var(--cyan)); }
.pp-page .top .brand strong { color: #fff; font-weight: 600; }
.pp-page .top .back { display: flex; margin: 0 0 0 auto; }
.pp-page .top .back a { font-family: var(--f-m); font-size: 10px; letter-spacing: .12em; text-transform: uppercase; text-decoration: none;
	color: var(--dim); border: 1px solid var(--line); border-radius: 20px; padding: 7px 14px; }
.pp-page .top .back a:hover { color: #fff; border-color: var(--violet); }

/* layout + contents rail */
.pp-page .wrap { max-width: 1040px; margin: 0 auto; padding: 30px 32px 90px; display: grid; grid-template-columns: 210px minmax(0, 1fr); gap: 56px; }
.pp-page .toc { position: sticky; top: 28px; align-self: start; max-height: calc(100vh - 56px); overflow: auto; margin: 0; }
.pp-page .toc h6 { font-family: var(--f-m); font-size: 9.5px; letter-spacing: .2em; text-transform: uppercase; color: var(--faint); margin: 0 0 12px; font-weight: 400; line-height: 1.75; }
.pp-page .toc p { margin: 0; }
.pp-page .toc a { display: block; font-size: 13px; line-height: 1.4; color: var(--dim); text-decoration: none; padding: 6px 0 6px 12px;
	border-left: 2px solid var(--line); transition: all .15s; }
.pp-page .toc a:hover { color: #fff; }
.pp-page .toc a.on { color: #fff; border-left-color: var(--violet); }

/* text */
.pp-page main { min-width: 0; margin: 0; }
.pp-page .kick { font-family: var(--f-m); font-size: 11px; letter-spacing: .26em; text-transform: uppercase; color: var(--violet); margin: 0 0 12px; }
.pp-page h1 { font-family: var(--f-d); font-size: 46px; line-height: 1.08; color: #fff; margin: 0 0 12px; font-weight: 700; letter-spacing: -.02em; }
.pp-page .upd { font-family: var(--f-m); font-size: 11px; letter-spacing: .08em; color: var(--dim); margin: 0 0 30px; }
.pp-page .lede { font-size: 17px; color: var(--ink); margin: 0 0 28px; }
.pp-page .sum { background: var(--card); border: 1px solid var(--line); border-radius: 16px; padding: 22px 26px; margin: 0 0 44px; }
.pp-page .sum h2 { font-size: 12px !important; font-family: var(--f-m) !important; letter-spacing: .2em; text-transform: uppercase; color: var(--violet) !important;
	margin: 0 0 12px !important; font-weight: 600 !important; line-height: 1.75; }
.pp-page .sum ul { margin: 0; padding-left: 20px; }
.pp-page .sum li { margin: 7px 0; }
.pp-page .sum li strong { color: #fff; font-weight: 500; }

.pp-page section { margin: 0 0 42px; scroll-margin-top: 24px; }
.pp-page h2 { font-family: var(--f-d); font-size: 25px; line-height: 1.75; color: #fff; margin: 0 0 14px; font-weight: 600; letter-spacing: -.01em; }
.pp-page h3 { font-family: var(--f-d); font-size: 16.5px; line-height: 1.75; color: #fff; margin: 24px 0 6px; font-weight: 600; letter-spacing: normal; }
.pp-page p { margin: 0 0 14px; }
.pp-page ul { padding-left: 22px; margin: 0 0 14px; }
.pp-page li { margin: 6px 0; }
.pp-page strong { color: #fff; font-weight: 500; }

/* tables (reset core's table-block borders and padding) */
.pp-page .wp-block-table { margin: 8px 0 16px; overflow: visible; }
.pp-page .wp-block-table table { width: 100%; border-collapse: collapse; margin: 0; font-size: 14.5px; }
.pp-page .wp-block-table thead { border: 0; }
.pp-page .wp-block-table th { text-align: left; font-family: var(--f-m); font-size: 10px; letter-spacing: .14em; text-transform: uppercase; color: var(--dim);
	font-weight: 400; padding: 9px 12px; border: 0; border-bottom: 1px solid var(--line); }
.pp-page .wp-block-table td { padding: 11px 12px; border: 0; border-bottom: 1px solid var(--line); vertical-align: top; }
.pp-page .wp-block-table td:first-child { color: #fff; white-space: nowrap; }

/* fields still to be filled in before publishing (use the Highlight tool) */
.pp-page mark { border-radius: 4px; padding: 1px 6px; font-style: normal; }

.pp-page footer { border-top: 1px solid var(--line); padding-top: 20px; margin: 48px 0 0; font-size: 13px; color: var(--faint); }
.pp-page footer p { margin: 0; }

@media (max-width: 860px) {
	.pp-page .wrap { grid-template-columns: 1fr; gap: 0; padding: 16px 20px 70px; }
	.pp-page .toc { display: none; }
	.pp-page .top { padding: 16px 20px; }
	.pp-page h1 { font-size: 34px; }
	.pp-page h2 { font-size: 22px; }
	.pp-page .sum { padding: 18px 18px; }
	.pp-page .wp-block-table td:first-child { white-space: normal; }
	.pp-page .wp-block-table :is(table, thead, tbody, tr, td, th) { display: block; }
	.pp-page .wp-block-table thead { display: none; }
	.pp-page .wp-block-table tr { padding: 10px 0; border-bottom: 1px solid var(--line); }
	.pp-page .wp-block-table td { border: none; padding: 2px 0; }
}
@media print {
	body.page-template-privacy-policy-page, .pp-page { background: #fff; color: #000; font-size: 11pt; }
	.pp-page .top, .pp-page .toc { display: none; }
	.pp-page .wrap { display: block; padding: 0; }
	.pp-page :is(h1, h2, h3, strong), .pp-page .wp-block-table td:first-child, .pp-page .sum li strong { color: #000; }
	.pp-page a { color: #000; }
	.pp-page mark { background: none !important; color: #000 !important; }
}
