/**
 * Pandora: Fire & Ash — site-wide skin (v1.5)
 *
 * Applied to every front-end page (except the landing page, which has its
 * own layout) when "Site-wide theme" is enabled. Requires chrome.css.
 *
 * Design intent: carry the volcanic atmosphere everywhere — dark ember
 * background, Cinzel display headings, warm link accents — while staying
 * DELIBERATELY light on interactive elements. Game plugins (Sudoku grids,
 * word-search boards, memory cards) ship their own UI; aggressive resets
 * would break them, so inputs/tables/canvases are left almost untouched.
 */

/* ---------------------------------------------------------------- base */
body.fa-site {
	background:
		radial-gradient(120% 60% at 50% -10%, rgba(63, 224, 200, 0.05), transparent 55%),
		radial-gradient(130% 70% at 50% 115%, rgba(255, 87, 20, 0.10), transparent 55%),
		var(--fa-void, #0b0a09);
	color: var(--fa-bone, #efe6d8);
	font-family: var(--fa-body, "Inter", system-ui, sans-serif);
	min-height: 100vh;
}

/* Room for the fixed chrome nav (and the admin bar when logged in). */
body.fa-site {
	padding-top: 64px;
}

body.fa-site.admin-bar .fa-nav {
	top: 32px;
}

@media (max-width: 782px) {
	body.fa-site.admin-bar .fa-nav {
		top: 46px;
	}
}

/* ---------------------------------------------------------------- type */
body.fa-site h1,
body.fa-site h2,
body.fa-site h3,
body.fa-site h4,
body.fa-site .wp-block-post-title,
body.fa-site .wp-block-query-title {
	font-family: var(--fa-display, "Cinzel", Georgia, serif);
	color: var(--fa-bone, #efe6d8);
	letter-spacing: 0.02em;
	line-height: 1.12;
}

body.fa-site .wp-block-post-title {
	text-transform: uppercase;
}

body.fa-site p,
body.fa-site li {
	color: var(--fa-bone, #efe6d8);
}

body.fa-site ::selection {
	background: var(--fa-ember, #ff5714);
	color: #1a0a02;
}

/* -------------------------------------------------------------- links */
/* Content links only — nav/menu/footer are styled by chrome.css, and we
   leave links inside game plugin wrappers alone (see hands-off zone). */
body.fa-site .entry-content a:not(.wp-block-button__link),
body.fa-site .wp-block-post-content a:not(.wp-block-button__link) {
	color: var(--fa-ember-glow, #ff9d3c);
	text-decoration-color: rgba(255, 157, 60, 0.4);
	text-underline-offset: 3px;
	transition: color 0.2s ease;
}

body.fa-site .entry-content a:not(.wp-block-button__link):hover,
body.fa-site .wp-block-post-content a:not(.wp-block-button__link):hover {
	color: var(--fa-ember, #ff5714);
}

/* ------------------------------------------------------------- blocks */
body.fa-site .wp-block-button__link {
	background: linear-gradient(120deg, var(--fa-ember, #ff5714), var(--fa-ember-glow, #ff9d3c));
	color: #1a0a02;
	border-radius: 3px;
	font-weight: 700;
}

body.fa-site .wp-block-separator {
	border-color: var(--fa-line, rgba(239, 230, 216, 0.12));
}

body.fa-site .wp-block-quote {
	border-left: 3px solid var(--fa-ember, #ff5714);
	color: var(--fa-bone-dim, #a99f92);
}

body.fa-site .wp-block-code,
body.fa-site pre {
	background: var(--fa-smoke, #17110d);
	border: 1px solid var(--fa-line, rgba(239, 230, 216, 0.12));
	border-radius: 4px;
	color: var(--fa-bone, #efe6d8);
}

/* Post/archive cards get the smoke-panel treatment. */
body.fa-site .wp-block-post-template .wp-block-post,
body.fa-site .wp-block-latest-posts__list li {
	background: linear-gradient(160deg, var(--fa-smoke, #17110d), transparent 80%);
	border: 1px solid var(--fa-line, rgba(239, 230, 216, 0.12));
	border-radius: 4px;
	padding: 1.1rem 1.25rem;
}

/* ---------------------------------------------- game-plugin hands-off */
/* Inside common game/embed wrappers, inherit nothing aggressive: reset our
   color meddling and let the plugin's own styles win. Extend the selector
   list via the 'pandora_fire_ash_handsoff_selectors' PHP filter if a game
   renders oddly. */
body.fa-site .fa-handsoff,
body.fa-site .fa-handsoff * {
	font-family: revert;
	color: revert;
	background: revert;
}

body.fa-site iframe,
body.fa-site canvas {
	color-scheme: light; /* embedded games often assume a light context */
}

/* --------------------------------------- hiding theme chrome (classic) */
/* Block themes: header/footer template parts are REPLACED server-side via
   the render_block filter, so nothing needs hiding. Classic themes can't be
   intercepted that way; the plugin injects our chrome and adds this class
   to hide the theme's own header/footer by their conventional hooks. */
body.fa-hide-theme-chrome #masthead,
body.fa-hide-theme-chrome #colophon,
body.fa-hide-theme-chrome .site-header,
body.fa-hide-theme-chrome .site-footer {
	display: none;
}
