/*!
 * Captionzy brand layer (loaded sitewide when "Brand styles" is on): fonts, colors, focus, footer block.
 * Fonts: Manrope (headings) and Inter (body), SIL Open Font License 1.1, self-hosted.
 */
@font-face {
	font-family: "Manrope";
	src: url("../fonts/manrope-latin-var.woff2") format("woff2");
	font-weight: 200 800;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-400-latin.woff2") format("woff2");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Inter";
	src: url("../fonts/inter-600-latin.woff2") format("woff2");
	font-weight: 600;
	font-style: normal;
	font-display: swap;
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

:root {
	--cz-ink: #241B36;
	--cz-violet: #7556E8;
	--cz-violet-strong: #5B3FD0;
	--cz-coral: #FF806D;
	--cz-bg: #FAF9FC;
	--cz-surface: #FFFFFF;
	--cz-text: #241B36;
	--cz-muted: #5E5672;
	--cz-border: #E4DFEE;
	--cz-field-border: #8A80A0;
	--cz-tint: #F3F0FD;
	--cz-ok: #0F7B4D;
	--cz-warn: #A15C00;
	--cz-error: #B42318;
	--cz-radius: 14px;
	--cz-radius-s: 10px;
	--cz-shadow: 0 1px 2px rgba(36, 27, 54, .06), 0 6px 20px rgba(36, 27, 54, .06);
	--cz-font-head: "Manrope", "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--cz-font-body: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
}

body {
	font-family: var(--cz-font-body);
	color: var(--cz-text);
	background-color: var(--cz-bg);
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
h1, h2, h3, h4, .site-title, .site-title a {
	font-family: var(--cz-font-head);
	color: var(--cz-ink);
	letter-spacing: -.01em;
}
a { color: var(--cz-violet-strong); }
a:hover { color: var(--cz-ink); }
::selection { background: #E6DEFF; color: var(--cz-ink); }
:focus-visible {
	outline: 3px solid var(--cz-violet);
	outline-offset: 2px;
}

/* Footer block from [captionzy_footer] */
.cz-footer {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 32px;
	padding: 40px clamp(16px, 4vw, 48px) 24px;
	background: var(--cz-ink);
	color: #E9E5F4;
	color-scheme: dark;
	font-family: var(--cz-font-body);
}
.cz-footer a { color: #FFFFFF; text-decoration: none; }
.cz-footer a:hover, .cz-footer a:focus-visible { text-decoration: underline; color: #FFFFFF; }
.cz-footer__logo img { display: block; height: 36px; width: auto; }
.cz-footer__brand p { margin: 12px 0 0; max-width: 34ch; line-height: 1.55; }
.cz-footer__h { font-size: 14px; text-transform: uppercase; letter-spacing: .08em; color: #CFC6EA; margin: 0 0 12px; }
.cz-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.cz-footer__copy { grid-column: 1 / -1; border-top: 1px solid rgba(255, 255, 255, .14); padding-top: 18px; margin: 8px 0 0; font-size: 14px; color: #CFC6EA; }
@media (max-width: 768px) {
	.cz-footer { grid-template-columns: 1fr; gap: 24px; }
}

/* Astra "Scroll to Top" button: Captionzy colors, smaller on tablets, and hidden on phones where it
   covers tool controls and results. Applies only when Brand styles are on and Astra prints the button. */
body #ast-scroll-top { background-color: var(--cz-ink); color: #FFFFFF; border-radius: 12px; }
body #ast-scroll-top:hover, body #ast-scroll-top:focus-visible { background-color: var(--cz-violet-strong); color: #FFFFFF; }
@media (max-width: 921px) {
	body #ast-scroll-top { width: 40px; height: 40px; line-height: 40px; right: 12px; bottom: 12px; }
}
@media (max-width: 767px) {
	body #ast-scroll-top { display: none !important; }
}
