/* ==========================================================================
   Biblical Tarot — "Sacred & Rich" design layer
   Midnight + wine backgrounds, gilded accents, manuscript typography.
   Loaded after WordPress global styles (see functions.php).
   ========================================================================== */

/* ---------- Tokens ---------- */
body.bt-sacred {
	--bt-night: #1b2040;
	--bt-night-2: #252b52;
	--bt-night-3: #303863;
	--bt-abyss: #141833;
	--bt-wine: #5a1c33;
	--bt-wine-2: #7d2944;
	--bt-gold: #d6b36c;
	--bt-gold-2: #f0dca8;
	--bt-gold-3: #a8864a;
	--bt-ivory: #f7f1e4;
	--bt-muted: #ddd3c0;
	--bt-line: rgba(214, 179, 108, 0.34);
	--bt-gilt: linear-gradient(180deg, #f8ebc4 0%, #e4c681 45%, #c29a55 100%);
	--bt-display: "Cormorant Garamond", "Iowan Old Style", "Times New Roman", serif;
	--bt-caps: "Cinzel", "Trajan Pro", "Times New Roman", serif;
	--bt-body: "EB Garamond", "Iowan Old Style", Georgia, serif;
	--bt-ornament: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 240 16'%3E%3Cg fill='none' stroke='%23c9a45c' stroke-width='1'%3E%3Cpath d='M0 8h92M148 8h92'/%3E%3Ccircle cx='101' cy='8' r='2.2'/%3E%3Ccircle cx='139' cy='8' r='2.2'/%3E%3Cpath d='M120 1l7 7-7 7-7-7z' fill='%23c9a45c'/%3E%3C/g%3E%3C/svg%3E");

	/* Remap the theme's own palette so every block inherits the new look */
	--wp--preset--color--base: var(--bt-night);
	--wp--preset--color--base-2: var(--bt-night-2);
	--wp--preset--color--contrast: var(--bt-ivory);
	--wp--preset--color--contrast-2: var(--bt-muted);
	--wp--preset--color--contrast-3: var(--bt-gold-3);
	--wp--preset--color--accent: var(--bt-gold);
	--wp--preset--color--accent-2: var(--bt-gold-2);
	--wp--preset--color--accent-3: var(--bt-wine-2);
	--wp--preset--color--accent-4: var(--bt-gold-3);
	--wp--preset--color--accent-5: var(--bt-night-3);
	--wp--preset--color--white: var(--bt-night);
	--wp--preset--color--black: var(--bt-ivory);
	--wp--preset--font-family--body: var(--bt-body);
	--wp--preset--font-family--heading: var(--bt-display);
	--wp--preset--font-size--xx-large: clamp(2.3rem, 4.6vw, 3.7rem);
	--wp--preset--font-size--x-large: clamp(1.9rem, 3.4vw, 2.6rem);

	background-color: var(--bt-night);
	background-image:
		radial-gradient(1200px 640px at 50% -8%, rgba(125, 41, 68, 0.5), transparent 62%),
		radial-gradient(900px 520px at 100% 45%, rgba(214, 179, 108, 0.08), transparent 60%),
		radial-gradient(900px 640px at 0% 85%, rgba(125, 41, 68, 0.3), transparent 60%);
	background-attachment: fixed;
	color: var(--bt-ivory);
	font-family: var(--bt-body);
	font-size: 1.16rem;
	line-height: 1.72;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}

/* Faint field of stars behind everything */
body.bt-sacred::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.45;
	background-image:
		radial-gradient(1px 1px at 12% 18%, rgba(232, 210, 154, 0.9), transparent 60%),
		radial-gradient(1px 1px at 68% 9%, rgba(241, 233, 216, 0.7), transparent 60%),
		radial-gradient(1.5px 1.5px at 84% 32%, rgba(232, 210, 154, 0.8), transparent 60%),
		radial-gradient(1px 1px at 33% 62%, rgba(241, 233, 216, 0.6), transparent 60%),
		radial-gradient(1px 1px at 91% 76%, rgba(232, 210, 154, 0.7), transparent 60%),
		radial-gradient(1.5px 1.5px at 7% 88%, rgba(241, 233, 216, 0.6), transparent 60%),
		radial-gradient(1px 1px at 52% 44%, rgba(232, 210, 154, 0.5), transparent 60%);
	background-size: 520px 520px;
}
body.bt-sacred .wp-site-blocks { position: relative; z-index: 1; }

body.bt-sacred ::selection { background: var(--bt-wine-2); color: var(--bt-ivory); }

/* ---------- Typography ---------- */
body.bt-sacred h1,
body.bt-sacred h2,
body.bt-sacred h3,
body.bt-sacred h4,
body.bt-sacred h5,
body.bt-sacred h6 {
	font-family: var(--bt-display);
	color: var(--bt-ivory);
	font-weight: 500;
	line-height: 1.12;
	letter-spacing: 0.005em;
	text-wrap: balance;
}
body.bt-sacred h1 { font-size: clamp(2.7rem, 6.2vw, 5.1rem); font-weight: 400; }
body.bt-sacred h2 { font-size: clamp(2.1rem, 4.2vw, 3.4rem); }
body.bt-sacred h3 { font-size: clamp(1.45rem, 2.4vw, 1.9rem); color: var(--bt-gold-2); }
body.bt-sacred h4 { font-size: 1.4rem; color: var(--bt-gold-2); }

/* Gilded headings inside page content */
body.bt-sacred .wp-block-post-content h1,
body.bt-sacred .wp-block-post-content h2,
body.bt-sacred h1.wp-block-post-title {
	background: var(--bt-gilt);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent !important;
	-webkit-text-fill-color: transparent;
}

body.bt-sacred p { text-wrap: pretty; }

body.bt-sacred a {
	color: var(--bt-gold-2);
	text-decoration-color: var(--bt-line);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.22em;
	transition: color 0.25s ease, text-decoration-color 0.25s ease;
}
body.bt-sacred a:hover { color: var(--bt-gold); text-decoration-color: var(--bt-gold); }

body.bt-sacred :focus-visible {
	outline: 2px solid var(--bt-gold);
	outline-offset: 3px;
	border-radius: 2px;
}

body.bt-sacred blockquote,
body.bt-sacred .wp-block-quote {
	border-left: 1px solid var(--bt-gold);
	padding-left: 1.4rem;
	font-family: var(--bt-display);
	font-style: italic;
	font-size: 1.35rem;
	color: var(--bt-gold-2);
}

body.bt-sacred hr.wp-block-separator {
	border: 0 !important;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--bt-gold), transparent) !important;
	opacity: 0.55;
}

/* ---------- Header ---------- */
body.bt-sacred header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 50;
	border-bottom: 1px solid var(--bt-line);
	box-shadow: 0 12px 34px -12px rgba(0, 0, 0, 0.45);
}
/* Glass effect lives on a pseudo-element so the mobile menu overlay
   (position: fixed) can still cover the whole screen */
body.bt-sacred header.wp-block-template-part::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	background: rgba(22, 26, 54, 0.84);
	-webkit-backdrop-filter: blur(14px) saturate(140%);
	backdrop-filter: blur(14px) saturate(140%);
}
body.admin-bar.bt-sacred header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar.bt-sacred header.wp-block-template-part { top: 0; }
}
body.bt-sacred header.wp-block-template-part > p:empty { display: none; }
body.bt-sacred header.wp-block-template-part > .wp-block-group {
	background: transparent !important;
	margin-top: 0 !important;
	margin-bottom: 0 !important;
	padding-top: 0.85rem !important;
	padding-bottom: 0.85rem !important;
}

body.bt-sacred header .wp-block-site-logo img {
	width: 64px;
	height: auto;
	filter: drop-shadow(0 0 14px rgba(201, 164, 92, 0.35));
	transition: transform 0.6s ease;
}
body.bt-sacred header .wp-block-site-logo a:hover img { transform: rotate(-6deg) scale(1.04); }

body.bt-sacred .wp-block-site-title,
body.bt-sacred .wp-block-site-title a {
	font-family: var(--bt-caps) !important;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--bt-gold-2);
}
body.bt-sacred header .wp-block-site-title { font-size: clamp(1.05rem, 1.6vw, 1.35rem) !important; }

body.bt-sacred header .wp-block-navigation,
body.bt-sacred header .wp-block-navigation__container {
	background: transparent !important;
}
body.bt-sacred header .wp-block-navigation {
	font-family: var(--bt-caps);
	font-size: 0.76rem;
	font-weight: 500;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
body.bt-sacred header .wp-block-navigation__container { gap: 1.5rem; }
body.bt-sacred header .wp-block-navigation-item__content {
	position: relative;
	padding: 0.4rem 0;
	color: var(--bt-ivory) !important;
	text-decoration: none;
	white-space: nowrap;
}
body.bt-sacred header .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: var(--bt-gold);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.35s ease;
}
body.bt-sacred header .wp-block-navigation-item__content:hover,
body.bt-sacred header .current-menu-item > .wp-block-navigation-item__content,
body.bt-sacred header .wp-block-navigation-item__content[aria-current="page"] {
	color: var(--bt-gold-2) !important;
}
body.bt-sacred header .wp-block-navigation-item__content:hover::after,
body.bt-sacred header .wp-block-navigation-item__content[aria-current="page"]::after {
	transform: scaleX(1);
}

/* Hamburger + mobile overlay */
body.bt-sacred .wp-block-navigation__responsive-container-open,
body.bt-sacred .wp-block-navigation__responsive-container-close {
	color: var(--bt-gold-2);
}
body.bt-sacred .wp-block-navigation__responsive-container.is-menu-open {
	background:
		radial-gradient(700px 500px at 50% 0%, rgba(110, 31, 56, 0.6), transparent 65%),
		var(--bt-abyss) !important;
	color: var(--bt-ivory) !important;
}
body.bt-sacred .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
	gap: 1.4rem;
	font-size: 1rem;
}

/* Keep the long menu tidy on mid-size screens */
@media (max-width: 1280px) {
	body.bt-sacred header .wp-block-navigation { letter-spacing: 0.09em; font-size: 0.72rem; }
	body.bt-sacred header .wp-block-navigation__container { gap: 1.1rem; }
}
@media (min-width: 600px) and (max-width: 1100px) {
	/* Use the hamburger menu instead of wrapping the long menu onto two rows */
	body.bt-sacred header .wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex !important;
	}
	body.bt-sacred header .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none !important;
	}
}
body.bt-sacred .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
	font-family: var(--bt-caps);
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bt-ivory) !important;
}

/* ---------- Home: hero ---------- */
body.bt-sacred #intro {
	position: relative;
	overflow: hidden;
	isolation: isolate;
	background:
		radial-gradient(ellipse 70% 90% at 50% 0%, rgba(125, 41, 68, 0.55), transparent 70%),
		linear-gradient(180deg, rgba(20, 24, 51, 0.1), rgba(20, 24, 51, 0.7)) !important;
	padding-top: clamp(4.5rem, 11vw, 8.5rem) !important;
	padding-bottom: clamp(4.5rem, 11vw, 8.5rem) !important;
	border-bottom: 1px solid var(--bt-line);
}
/* Concentric halo rings */
body.bt-sacred #intro::before,
body.bt-sacred #intro::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	border-radius: 50%;
	pointer-events: none;
	z-index: -1;
	transform: translate(-50%, -50%);
}
body.bt-sacred #intro::before {
	width: min(980px, 140vw);
	aspect-ratio: 1;
	border: 1px solid rgba(201, 164, 92, 0.14);
	box-shadow: inset 0 0 140px rgba(201, 164, 92, 0.06);
	animation: bt-turn 120s linear infinite;
}
body.bt-sacred #intro::after {
	width: min(680px, 100vw);
	aspect-ratio: 1;
	border: 1px dashed rgba(201, 164, 92, 0.18);
	animation: bt-turn 180s linear infinite reverse;
}

body.bt-sacred #intro > .wp-block-group::before,
body.bt-sacred #intro > .wp-block-group::after {
	content: "";
	display: block;
	width: 240px;
	max-width: 70%;
	height: 16px;
	margin: 0 auto;
	background: var(--bt-ornament) center / contain no-repeat;
	opacity: 0;
	animation: bt-rise 1.2s ease forwards;
}
body.bt-sacred #intro > .wp-block-group::before { margin-bottom: 2.2rem; }
body.bt-sacred #intro > .wp-block-group::after { margin-top: 2.6rem; animation-delay: 0.6s; }

body.bt-sacred #intro h1 {
	max-width: 16ch;
	margin-left: auto;
	margin-right: auto;
	opacity: 0;
	animation: bt-rise 1.1s 0.15s ease forwards;
}
body.bt-sacred #intro p {
	max-width: 46ch;
	margin: 1.6rem auto 0;
	font-family: var(--bt-display);
	font-style: italic;
	font-size: clamp(1.25rem, 2vw, 1.55rem);
	line-height: 1.5;
	color: var(--bt-muted);
	opacity: 0;
	animation: bt-rise 1.1s 0.35s ease forwards;
}

/* ---------- Home: product sections ---------- */
body.bt-sacred .wp-block-post-content [style*="rgb(243,244,245)"] {
	background: transparent !important;
}
body.bt-sacred #biblical-tarot-deck,
body.bt-sacred #shadows-of-the-soul {
	position: relative;
	padding-top: clamp(4rem, 8vw, 6.5rem) !important;
	padding-bottom: clamp(4rem, 8vw, 6.5rem) !important;
}
body.bt-sacred #biblical-tarot-deck {
	background:
		radial-gradient(ellipse 60% 70% at 78% 50%, rgba(214, 179, 108, 0.1), transparent 70%),
		linear-gradient(180deg, rgba(90, 28, 51, 0) 0%, rgba(90, 28, 51, 0.5) 50%, rgba(90, 28, 51, 0) 100%) !important;
}
body.bt-sacred #shadows-of-the-soul {
	background:
		radial-gradient(ellipse 60% 70% at 22% 50%, rgba(125, 41, 68, 0.3), transparent 70%),
		linear-gradient(180deg, rgba(20, 24, 51, 0) 0%, rgba(20, 24, 51, 0.6) 50%, rgba(20, 24, 51, 0) 100%) !important;
}
/* Ornament dividing the two decks */
body.bt-sacred #shadows-of-the-soul::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 240px;
	max-width: 60%;
	height: 16px;
	transform: translate(-50%, -50%);
	background: var(--bt-ornament) center / contain no-repeat;
}

body.bt-sacred #biblical-tarot-deck h2,
body.bt-sacred #shadows-of-the-soul h2 { margin-bottom: 0.4rem; }

body.bt-sacred #biblical-tarot-deck h3 {
	font-family: var(--bt-caps);
	font-size: 0.82rem;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: var(--bt-gold);
	margin-top: 1rem;
}
body.bt-sacred #biblical-tarot-deck p,
body.bt-sacred #shadows-of-the-soul p {
	color: var(--bt-muted);
	font-size: 1.2rem;
	line-height: 1.75;
	max-width: 38ch;
	margin-left: auto;
	margin-right: auto;
}

/* Product images framed like gilded cards (homepage) */
body.bt-sacred.home .wp-block-post-content .wp-block-image img {
	border-radius: 10px;
	box-shadow:
		0 0 0 1px rgba(232, 210, 154, 0.55),
		0 0 0 9px var(--bt-night),
		0 0 0 10px rgba(201, 164, 92, 0.35),
		0 40px 70px -24px rgba(0, 0, 0, 0.8),
		0 0 90px rgba(201, 164, 92, 0.12);
	transition: transform 0.7s cubic-bezier(0.2, 0.7, 0.2, 1), box-shadow 0.7s ease;
}
body.bt-sacred #biblical-tarot-deck .wp-block-image img:hover {
	transform: translateY(-8px) rotate(0.8deg);
}
body.bt-sacred #shadows-of-the-soul .wp-block-image img:hover {
	transform: translateY(-8px) rotate(-0.8deg);
}
body.bt-sacred.home .wp-block-post-content .wp-block-image img:hover {
	box-shadow:
		0 0 0 1px rgba(232, 210, 154, 0.8),
		0 0 0 9px var(--bt-night),
		0 0 0 10px rgba(201, 164, 92, 0.6),
		0 50px 80px -24px rgba(0, 0, 0, 0.85),
		0 0 120px rgba(201, 164, 92, 0.22);
}

@media (max-width: 781px) {
	body.bt-sacred .wp-block-post-content .wp-block-image img[style*="width:500px"] {
		width: 100% !important;
		max-width: 400px;
		height: auto !important;
	}
	body.bt-sacred #biblical-tarot-deck .wp-block-columns,
	body.bt-sacred #shadows-of-the-soul .wp-block-columns { gap: 3rem; }
}

/* ---------- Inner pages ---------- */
/* "Base" text was light-on-dark in the old design: keep it light */
body.bt-sacred .has-base-color,
body.bt-sacred .has-base-2-color { color: var(--bt-ivory) !important; }

/* Headings laid over photos: solid ivory text on a soft dark scrim */
body.bt-sacred .wp-block-post-content [style*="background-image"] {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	box-shadow: 0 0 0 1px var(--bt-line), 0 30px 60px -25px rgba(0, 0, 0, 0.7);
}
body.bt-sacred .wp-block-post-content [style*="background-image"]::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: -1;
	border-radius: inherit;
	background: linear-gradient(90deg, rgba(20, 24, 51, 0.82) 0%, rgba(20, 24, 51, 0.55) 40%, rgba(20, 24, 51, 0) 72%);
	pointer-events: none;
}
body.bt-sacred .wp-block-post-content [style*="background-image"] h1,
body.bt-sacred .wp-block-post-content [style*="background-image"] h2,
body.bt-sacred .wp-block-post-content .wp-block-cover h1,
body.bt-sacred .wp-block-post-content .wp-block-cover h2 {
	background: none !important;
	color: #fffaf0 !important;
	-webkit-text-fill-color: #fffaf0;
	font-weight: 500;
	text-shadow: 0 2px 18px rgba(0, 0, 0, 0.55), 0 1px 2px rgba(0, 0, 0, 0.5);
}
@media (max-width: 781px) {
	body.bt-sacred .wp-block-post-content [style*="background-image"]::before {
		background: linear-gradient(180deg, rgba(20, 24, 51, 0.15) 0%, rgba(20, 24, 51, 0.8) 100%);
	}
}

/* Light panels from the old design (e.g. the three highlights) become dark cards */
body.bt-sacred .wp-block-post-content [style*="background-color:#f"],
body.bt-sacred .wp-block-post-content [style*="background-color:#e"] {
	background-color: rgba(37, 43, 82, 0.72) !important;
	border-color: var(--bt-line) !important;
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, 0.6);
}
body.bt-sacred .wp-block-post-content [style*="background-color:#f"] p,
body.bt-sacred .wp-block-post-content [style*="background-color:#e"] p {
	color: var(--bt-muted);
}
body.bt-sacred .wp-block-post-content [style*="background-color:#f"] h4,
body.bt-sacred .wp-block-post-content [style*="background-color:#e"] h4 {
	color: var(--bt-gold-2) !important;
	font-size: 1.35rem;
	margin-top: 1rem;
}
/* Round, glowing medallions behind the highlight icons */
body.bt-sacred .wp-block-post-content [style*="background-color:#f"] .wp-block-image.aligncenter img,
body.bt-sacred .wp-block-post-content [style*="background-color:#e"] .wp-block-image.aligncenter img {
	width: 104px;
	height: 104px;
	object-fit: contain;
	padding: 14px;
	border-radius: 50%;
	background: #f7f1e4;
	box-shadow: 0 0 0 1px var(--bt-gold), 0 0 0 6px rgba(214, 179, 108, 0.15), 0 0 40px rgba(214, 179, 108, 0.25);
}

/* Long h3 lead-ins read as elegant italic standfirsts */
body.bt-sacred:not(.home) .wp-block-post-content h3 {
	font-family: var(--bt-display);
	font-style: italic;
	font-weight: 400;
	font-size: clamp(1.25rem, 1.8vw, 1.5rem);
	line-height: 1.5;
	color: var(--bt-gold-2);
}

/* Content panels and cards */
body.bt-sacred .wp-block-post-content .has-base-background-color {
	background-color: rgba(37, 43, 82, 0.6) !important;
}
body.bt-sacred .wp-block-post-content .has-base-2-background-color {
	background-color: rgba(48, 56, 99, 0.5) !important;
	box-shadow: inset 0 0 0 1px var(--bt-line);
}
body.bt-sacred .wp-block-post-content [style*="border-color:#A4A4A4"],
body.bt-sacred .wp-block-post-content .has-contrast-3-border-color {
	border-color: var(--bt-line) !important;
}

/* Photos on inner pages: soft glow, no heavy frame */
body.bt-sacred:not(.home) .wp-block-post-content .wp-block-image.has-custom-border img,
body.bt-sacred:not(.home) .wp-block-post-content .wp-block-image.size-large img,
body.bt-sacred:not(.home) .wp-block-post-content .wp-block-image.size-full img[width="491"] {
	box-shadow: 0 0 0 1px var(--bt-line), 0 30px 60px -25px rgba(0, 0, 0, 0.8), 0 0 70px rgba(201, 164, 92, 0.08);
}

/* ---------- Buttons ---------- */
body.bt-sacred .wp-block-button__link,
body.bt-sacred .wp-element-button,
body.bt-sacred input[type="submit"],
body.bt-sacred .wpforms-container button[type="submit"] {
	position: relative;
	overflow: hidden;
	background: var(--bt-gilt) !important;
	color: #1d1408 !important;
	font-family: var(--bt-caps) !important;
	font-size: 0.78rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.2em !important;
	text-transform: uppercase;
	text-decoration: none;
	border: 0 !important;
	border-radius: 2px !important;
	padding: 1.1em 2.3em !important;
	box-shadow:
		inset 0 0 0 1px rgba(255, 244, 214, 0.6),
		0 0 0 4px var(--bt-night),
		0 0 0 5px rgba(201, 164, 92, 0.5),
		0 14px 30px -10px rgba(201, 164, 92, 0.45);
	transition: transform 0.3s ease, box-shadow 0.3s ease, filter 0.3s ease;
}
body.bt-sacred .wp-block-button__link::after {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: -60%;
	width: 40%;
	background: linear-gradient(100deg, transparent, rgba(255, 255, 255, 0.55), transparent);
	transform: skewX(-20deg);
	transition: left 0.7s ease;
}
body.bt-sacred .wp-block-button__link:hover::after { left: 130%; }
body.bt-sacred .wp-block-button__link:hover,
body.bt-sacred .wp-element-button:hover,
body.bt-sacred input[type="submit"]:hover {
	transform: translateY(-2px);
	filter: brightness(1.06);
	box-shadow:
		inset 0 0 0 1px rgba(255, 244, 214, 0.8),
		0 0 0 4px var(--bt-night),
		0 0 0 5px rgba(232, 210, 154, 0.8),
		0 20px 40px -12px rgba(201, 164, 92, 0.6);
}
body.bt-sacred .is-style-outline .wp-block-button__link {
	background: transparent !important;
	color: var(--bt-gold-2) !important;
	box-shadow: inset 0 0 0 1px var(--bt-gold);
}

/* ---------- Forms (WPForms and core) ---------- */
body.bt-sacred input[type="text"],
body.bt-sacred input[type="email"],
body.bt-sacred input[type="url"],
body.bt-sacred input[type="tel"],
body.bt-sacred input[type="search"],
body.bt-sacred input[type="number"],
body.bt-sacred textarea,
body.bt-sacred select {
	background: rgba(241, 233, 216, 0.04) !important;
	border: 1px solid var(--bt-line) !important;
	border-radius: 4px !important;
	color: var(--bt-ivory) !important;
	font-family: var(--bt-body);
	font-size: 1.05rem;
}
body.bt-sacred input:focus,
body.bt-sacred textarea:focus,
body.bt-sacred select:focus {
	border-color: var(--bt-gold) !important;
	box-shadow: 0 0 0 3px rgba(201, 164, 92, 0.18) !important;
	outline: none;
}
body.bt-sacred ::placeholder { color: rgba(195, 184, 164, 0.6); }
body.bt-sacred .wpforms-container label,
body.bt-sacred .wpforms-field-label { color: var(--bt-ivory) !important; }

/* ---------- Tables, details, cards on inner pages ---------- */
body.bt-sacred table th,
body.bt-sacred table td { border-color: var(--bt-line) !important; }
body.bt-sacred table th {
	font-family: var(--bt-caps);
	font-size: 0.8rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--bt-gold-2);
}
body.bt-sacred .wp-block-details {
	border-bottom: 1px solid var(--bt-line);
	padding: 1rem 0;
}
body.bt-sacred .wp-block-details summary {
	font-family: var(--bt-display);
	font-size: 1.35rem;
	color: var(--bt-gold-2);
	cursor: pointer;
}
body.bt-sacred .wp-block-post-template .wp-block-post-title a { text-decoration: none; }
body.bt-sacred .wp-block-post-date,
body.bt-sacred .wp-block-post-terms { color: var(--bt-muted); font-size: 0.95rem; }

/* ---------- Footer ---------- */
body.bt-sacred footer.wp-block-template-part {
	position: relative;
	margin-top: 0;
	background: linear-gradient(180deg, rgba(20, 24, 51, 0.2), rgba(16, 19, 42, 0.92));
	border-top: 1px solid var(--bt-line);
}
body.bt-sacred footer.wp-block-template-part::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	width: 240px;
	max-width: 60%;
	height: 16px;
	transform: translate(-50%, -50%);
	background: var(--bt-ornament) center / contain no-repeat;
}
body.bt-sacred footer hr.wp-block-separator { display: none; }
body.bt-sacred footer .wp-block-site-logo img {
	width: 72px;
	height: auto;
	filter: drop-shadow(0 0 12px rgba(201, 164, 92, 0.3));
}
body.bt-sacred footer h2 {
	font-family: var(--bt-caps) !important;
	font-size: 0.78rem !important;
	font-weight: 500 !important;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--bt-gold);
}
body.bt-sacred footer a {
	color: var(--bt-muted);
	text-decoration: none;
}
body.bt-sacred footer a:hover { color: var(--bt-gold-2); }
body.bt-sacred footer a[href^="mailto:"] {
	display: inline-block;
	margin-top: 0.6rem;
	padding: 0.55em 1.3em;
	border: 1px solid var(--bt-line);
	border-radius: 2px;
	font-family: var(--bt-caps);
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: var(--bt-gold-2);
	transition: border-color 0.3s ease, background 0.3s ease;
}
body.bt-sacred footer a[href^="mailto:"]:hover {
	border-color: var(--bt-gold);
	background: rgba(201, 164, 92, 0.08);
}
body.bt-sacred footer .has-small-font-size { font-size: 0.95rem !important; }
body.bt-sacred footer .wp-block-group.alignwide p { color: rgba(221, 211, 192, 0.8) !important; letter-spacing: 0.04em; }

/* ---------- Guard: WordPress class names that utility CSS frameworks misread ---------- */
body.bt-sacred .wp-block-image.size-full,
body.bt-sacred .wp-block-image.size-large,
body.bt-sacred .wp-block-image.size-thumbnail {
	width: auto;
	height: auto;
}

/* ---------- Motion ---------- */
@keyframes bt-rise {
	from { opacity: 0; transform: translateY(18px); }
	to { opacity: 1; transform: none; }
}
@keyframes bt-turn {
	to { transform: translate(-50%, -50%) rotate(360deg); }
}
@media (prefers-reduced-motion: reduce) {
	body.bt-sacred *,
	body.bt-sacred *::before,
	body.bt-sacred *::after {
		animation: none !important;
		transition: none !important;
	}
	body.bt-sacred #intro h1,
	body.bt-sacred #intro p,
	body.bt-sacred #intro > .wp-block-group::before,
	body.bt-sacred #intro > .wp-block-group::after { opacity: 1; }
}
