/*
Theme Name: UCSP Midnight
Theme URI: https://urantiachurch.org
Author: FER Studios
Author URI: https://fer-studios.com
Description: Dark, quiet block theme for the Urantia Corps for Spiritual Progress: night field, gold hairlines, Cormorant Garamond and Lora. Edit everything in Appearance → Editor, as with any block theme.
Requires at least: 6.6
Tested up to: 7.1
Requires PHP: 7.4
Version: 1.0.0
License: GPLv2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ucsp
*/

/* ---------- atmosphere: starfield behind everything ---------- */
body { position: relative; overflow-x: hidden; -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; }
body::before {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background-image:
		radial-gradient(1px 1px at 12% 18%, rgba(255,255,255,.85) 50%, transparent 51%),
		radial-gradient(1px 1px at 78% 9%, rgba(255,255,255,.7) 50%, transparent 51%),
		radial-gradient(1.4px 1.4px at 41% 62%, rgba(255,255,255,.55) 50%, transparent 51%),
		radial-gradient(1px 1px at 88% 71%, rgba(255,255,255,.6) 50%, transparent 51%),
		radial-gradient(1px 1px at 24% 87%, rgba(255,255,255,.45) 50%, transparent 51%),
		radial-gradient(1.6px 1.6px at 63% 34%, rgba(255,255,255,.35) 50%, transparent 51%);
	background-size: 340px 340px, 470px 470px, 610px 610px, 530px 530px, 700px 700px, 430px 430px;
	opacity: .34;
}
body::after {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background:
		radial-gradient(58% 42% at 50% 0%, rgba(223,194,40,.08), transparent 70%),
		radial-gradient(42% 38% at 88% 30%, rgba(86,104,168,.09), transparent 72%),
		radial-gradient(50% 45% at 6% 78%, rgba(120,84,150,.07), transparent 74%);
}
.wp-site-blocks { position: relative; z-index: 1; }
::selection { background: rgba(223,194,40,.26); color: #fdf8e3; }
:focus-visible { outline: 2px solid #dfc228; outline-offset: 3px; }

/* ---------- type helpers (block "Additional CSS class" names) ---------- */
.is-style-eyebrow, .eyebrow {
	font-family: var(--wp--preset--font-family--label) !important; font-size: .6875rem !important;
	font-weight: 500; letter-spacing: .28em; text-transform: uppercase; color: var(--wp--preset--color--gold);
	line-height: 1.6;
}
.lede { color: #cdc8ba; line-height: 1.72; }
.gold { color: var(--wp--preset--color--gold); }
.wp-block-heading em, h1 em, h2 em { font-style: normal; color: var(--wp--preset--color--gold); }

/* reading measure inside posts and pages */
.entry-content a { text-decoration-color: rgba(223,194,40,.4); text-underline-offset: 4px; transition: text-decoration-color .3s; }
.entry-content a:hover { text-decoration-color: #dfc228; }
.entry-content strong { color: var(--wp--preset--color--parchment); font-weight: 600; }
.entry-content li { margin-bottom: .45em; }
.entry-content img { height: auto; }
.entry-content .wp-block-image img { border: 1px solid rgba(223,194,40,.18); }
.entry-content table td, .entry-content table th { border-color: rgba(223,194,40,.16); }

/* ---------- ornaments ---------- */
.hairline { height: 1px; border: 0; background: linear-gradient(90deg, transparent, rgba(223,194,40,.42), transparent); }
.rule-diamond { display: flex; align-items: center; gap: 1rem; margin-top: 3rem !important; }
.rule-diamond::before { content: ""; width: 4rem; height: 1px; background: rgba(223,194,40,.6); }
.rule-diamond::after { content: ""; width: 6px; height: 6px; transform: rotate(45deg); border: 1px solid rgba(223,194,40,.6); }
.glow-top { background: radial-gradient(60% 100% at 50% 0%, rgba(223,194,40,.12), transparent 72%); }
.band { background: rgba(11,14,20,.4); border-top: 1px solid rgba(255,255,255,.08); border-bottom: 1px solid rgba(255,255,255,.08); }

/* ---------- buttons ---------- */
.wp-element-button, .wp-block-button__link { transition: all .4s var(--wp--custom--ease); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { box-shadow: 0 8px 34px -10px rgba(223,194,40,.55); transform: translateY(-1px); }
.wp-block-button.is-style-outline .wp-block-button__link {
	background: transparent !important; color: var(--wp--preset--color--parchment) !important; border: 1px solid rgba(244,241,232,.24) !important;
}
.wp-block-button.is-style-outline .wp-block-button__link:hover { border-color: rgba(223,194,40,.75) !important; color: var(--wp--preset--color--gold-bright) !important; background: rgba(223,194,40,.05) !important; }
.btn-quiet a, a.btn-quiet {
	font-family: var(--wp--preset--font-family--label); font-size: .72rem; font-weight: 500; letter-spacing: .19em;
	text-transform: uppercase; color: var(--wp--preset--color--gold); text-decoration: none;
}
.btn-quiet a:hover, a.btn-quiet:hover { color: var(--wp--preset--color--gold-bright); }

/* ---------- panels ---------- */
.panel {
	background: linear-gradient(165deg, rgba(255,255,255,.035), rgba(255,255,255,.008) 55%, transparent);
	border: 1px solid rgba(223,194,40,.14); transition: border-color .45s, transform .45s;
}
.panel:hover { border-color: rgba(223,194,40,.38); }
.quote-mark { position: relative; }
.quote-mark::before { content: "\201C"; position: absolute; top: -.6rem; left: 1.6rem; font-family: var(--wp--preset--font-family--display); font-size: 5rem; line-height: 1; color: rgba(223,194,40,.25); }

/* ---------- header ---------- */
.site-header { position: sticky; top: 0; z-index: 50; background: rgba(7,8,11,.82); backdrop-filter: blur(18px) saturate(140%); -webkit-backdrop-filter: blur(18px) saturate(140%); border-bottom: 1px solid rgba(223,194,40,.14); }
.admin-bar .site-header { top: 32px; }
@media (max-width: 782px) { .admin-bar .site-header { top: 46px; } }
.site-brand .wp-block-site-tagline { font-family: var(--wp--preset--font-family--label); font-size: .5rem; letter-spacing: .32em; text-transform: uppercase; color: var(--wp--preset--color--ash); margin-top: .3rem; line-height: 1; }
.site-brand .emblem img { transition: transform .7s; }
.site-brand:hover .emblem img { transform: rotate(180deg); }
.site-header .wp-block-navigation-item__content { position: relative; padding: .35rem 0; }
.site-header .wp-block-navigation-item__content::after { content: ""; position: absolute; left: 0; bottom: -2px; height: 1px; width: 0; background: #dfc228; transition: width .35s; }
.site-header .wp-block-navigation-item__content:hover::after,
.site-header .current-menu-item > .wp-block-navigation-item__content::after { width: 100%; }
.site-header .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--parchment); }
.site-header .header-donate .wp-block-button__link { padding: .8rem 1.4rem; }
.wp-block-navigation__responsive-container.is-menu-open { background: rgba(7,8,11,.97) !important; padding: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--display); font-size: 1.9rem; letter-spacing: 0; text-transform: none; color: var(--wp--preset--color--parchment); }
.wp-block-navigation__responsive-container-open svg, .wp-block-navigation__responsive-container-close svg { fill: var(--wp--preset--color--parchment); }
@media (max-width: 599px) { .site-header .header-donate { display: none; } }

/* nav: hamburger below 1100px (her menu has seven long labels); Donate lives in the gold button */
.site-header .wp-block-navigation { font-size: .7rem; letter-spacing: .11em; }
.site-header .wp-block-navigation__container { flex-wrap: nowrap; }
.site-header .wp-block-navigation-item__content { white-space: nowrap; }
.site-header .wp-block-button__link { white-space: nowrap; }
@media (min-width: 600px) { .site-header .wp-block-navigation__container > .wp-block-navigation-item:has(> a[href*="/donate/"]) { display: none; } }
@media (max-width: 1099px) {
	.site-header .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.site-header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
}
body.paged .home-hero, body.paged .home-hero + .hairline, body.paged #welcome { display: none; }
.site-brand { flex-shrink: 0; }

/* ---------- news rows ---------- */
.news-list .wp-block-post { border-bottom: 1px solid rgba(255,255,255,.1); padding: 1.75rem 0; margin: 0 !important; }
.news-list .wp-block-post-template { border-top: 1px solid rgba(255,255,255,.1); }
.news-list .wp-block-post-title { font-size: 1.45rem; line-height: 1.3; margin: .5rem 0 0; }
.news-list .wp-block-post-excerpt { color: var(--wp--preset--color--ash); font-size: .95rem; margin-top: .6rem; }
.news-list .wp-block-post-excerpt__more-text { margin-top: .5rem; }
.news-list .wp-block-post-excerpt__more-link { font-family: var(--wp--preset--font-family--label); font-size: .68rem; letter-spacing: .19em; text-transform: uppercase; text-decoration: none; }
.news-list .wp-block-post-featured-image img { border: 1px solid rgba(223,194,40,.18); }

/* ---------- footer ---------- */
.site-footer { border-top: 1px solid rgba(223,194,40,.15); background: rgba(11,14,20,.6); }
.site-footer h2 { font-family: var(--wp--preset--font-family--label); font-size: .6rem; letter-spacing: .28em; text-transform: uppercase; color: var(--wp--preset--color--gold); font-weight: 500; }
.site-footer .wp-block-navigation { font-family: var(--wp--preset--font-family--body); text-transform: none; letter-spacing: 0; font-size: .95rem; }
.site-footer .wp-block-navigation a { color: var(--wp--preset--color--ash); }
.site-footer .wp-block-navigation a:hover { color: var(--wp--preset--color--gold-bright); }
.site-footer .fine { font-family: var(--wp--preset--font-family--label); font-size: .6rem; letter-spacing: .22em; text-transform: uppercase; color: var(--wp--preset--color--ash-dim); }

/* ---------- embeds ---------- */
.wp-block-embed iframe { border: 1px solid rgba(223,194,40,.18); }

@media (prefers-reduced-motion: reduce) { * { transition-duration: .01ms !important; animation-duration: .01ms !important; } }

/* outline buttons: same size as solid */
.wp-block-button.is-style-outline .wp-block-button__link { padding: 1rem 1.9rem !important; }
.news-list .wp-block-columns { margin: 0; }
@media (max-width: 781px) { .news-list .wp-block-column:first-child { flex-basis: auto !important; } .news-list .wp-block-post-featured-image { max-width: 260px; } }

.narrow { max-width: 36rem; }
.wp-block-separator.short-rule { width: 3.5rem; margin-left: 0 !important; border: 0; height: 1px; background: rgba(223,194,40,.5); }
