/*
Theme Name: Energy Perception
Theme URI: https://amyleeenergyperception.com
Author: Built for Amy Lee Fitzpatrick
Description: Block theme for Amy Lee, Energy Perception. Bone paper, Ink type, Oxblood structure. Brand fonts are self-hosted. Includes the "Sky today" sidebar block (moon phase, signs, retrogrades, worked out in the visitor's browser) and an inline Cal.com booking block.
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: energy-perception
*/

/* ---------- Ground ---------- */

/* Paper grain. Stand-in noise until her own scan arrives: replace with
   url(assets/images/paper-grain.jpg) and keep the opacity at 6-10%. */
body {
	position: relative;
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-variant-ligatures: common-ligatures;
}
body::before {
	content: "";
	position: fixed;
	inset: 0;
	pointer-events: none;
	z-index: 0;
	opacity: 0.07;
	mix-blend-mode: multiply;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='260' height='260'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='3' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='260' height='260' filter='url(%23n)'/%3E%3C/svg%3E");
}
.wp-site-blocks { position: relative; z-index: 1; }

::selection { background: #C4B1CE; color: #1C1917; }

/* Fraunces: optical size on, WONK at display sizes, a little SOFT */
h1, h2, h3, h4, .wp-block-post-title, .ep-wordmark {
	font-optical-sizing: auto;
	font-variation-settings: "SOFT" 55, "WONK" 0;
}
h1, .wp-block-post-title, .ep-wordmark { font-variation-settings: "SOFT" 55, "WONK" 1; }
h3 { font-variation-settings: "SOFT" 30, "WONK" 0; }

p, li, dd { hanging-punctuation: first; }
.wp-block-post-content > p, .entry-content > p { max-width: 63ch; }

a { text-underline-offset: 0.18em; text-decoration-thickness: 1px; }
:where(a, button, summary, input):focus-visible { outline: 2px solid #6E2A34; outline-offset: 3px; }

/* ---------- Header lockup ---------- */
.ep-header { border-bottom: 1px solid #6E2A34; }
.ep-lockup { text-decoration: none; color: inherit; display: inline-flex; align-items: center; gap: 0.75rem; }
.ep-lockup img { width: 46px; height: 46px; flex: none; }
.ep-lockup__name {
	display: block;
	font-family: var(--wp--preset--font-family--garamond);
	font-weight: 600;
	font-size: 0.93rem; /* 0.58 x the 1.6rem wordmark */
	letter-spacing: 0.3em;
	line-height: 1;
	color: #1C1917;
	margin: 0 0 0.3rem;
}
.ep-lockup__wordmark {
	display: block;
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 500;
	font-size: 1.6rem;
	line-height: 1;
	color: #6E2A34;
	font-variation-settings: "SOFT" 55, "WONK" 1;
}
.ep-header .wp-block-navigation .current-menu-item > a { text-decoration: underline; text-decoration-color: #6E2A34; }
.ep-nav-book > a {
	background: #6E2A34;
	color: #F3EEE5 !important;
	padding: 0.45em 1em;
	border-radius: 2px;
}
.ep-nav-book > a:hover { background: #322234; text-decoration: none !important; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.6rem; }
.wp-block-navigation__responsive-container.is-menu-open .ep-nav-book > a { font-family: var(--wp--preset--font-family--garamond); font-size: 1.1rem; }

/* ---------- Hero (front page) ---------- */
.ep-hero { text-align: center; }
.ep-hero .ep-symbol img { width: min(300px, 70vw); height: auto; }
.ep-hero .ep-name {
	font-weight: 600;
	letter-spacing: 0.3em;
	/* AMY LEE at ~55% of the wordmark's cap height, as she asked */
	font-size: calc(var(--wp--preset--font-size--xx-large) * 0.58);
	line-height: 1;
	margin-bottom: 0.35rem;
	text-indent: 0.3em; /* balances the trailing letterspace so it centres */
}
.ep-hero h1 { color: #6E2A34; margin: 0; }
.ep-tagline { margin-top: 0.4rem; }
.ep-lede { max-width: 34em; margin-left: auto !important; margin-right: auto !important; }

.ep-phase-strip { margin: var(--wp--preset--spacing--40) auto !important; text-align: center; }
.ep-phase-strip img { width: 224px; height: 20px; display: inline-block; }

/* ---------- Content details ---------- */
.has-fell-font-family { font-style: italic; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent;
	color: #6E2A34;
	border: 1px solid #6E2A34;
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: #6E2A34; color: #F3EEE5; }

.ep-price strong { color: #6E2A34; font-weight: 600; }
.ep-service + .ep-service { margin-top: var(--wp--preset--spacing--40); }
.ep-service h3 { margin-top: 0; }

.is-style-ep-steps { counter-reset: ep-step; list-style: none; padding-left: 0; }
.is-style-ep-steps > li { counter-increment: ep-step; position: relative; padding-left: 2.6rem; margin-bottom: 0.9rem; }
.is-style-ep-steps > li::before {
	content: counter(ep-step);
	position: absolute; left: 0; top: 0.05em;
	font-family: var(--wp--preset--font-family--fraunces);
	font-weight: 600;
	font-size: 1.35rem;
	line-height: 1.2;
	color: #6E2A34;
}

/* Bordered agreement box: above every booking button */
.is-style-ep-agreement {
	border: 1px solid #6E2A34;
	padding: clamp(1.1rem, 3vw, 1.75rem) !important;
	font-size: var(--wp--preset--font-size--note);
	line-height: 1.55;
}
.is-style-ep-agreement > :first-child { margin-top: 0; }

/* Lavender panel (signup). Text on lavender is Ink only. */
.is-style-ep-lavender { background: #C4B1CE; color: #1C1917; }
.is-style-ep-lavender a:where(:not(.wp-element-button)) { color: #6E2A34; }

/* Plum panel. Text is Bone, links Lavender. */
.is-style-ep-plum { background: #322234; color: #F3EEE5; }
.is-style-ep-plum :where(h1, h2, h3, h4) { color: #F3EEE5; }
.is-style-ep-plum a:where(:not(.wp-element-button)) { color: #C4B1CE; }

/* FAQ */
.wp-block-details summary {
	font-family: var(--wp--preset--font-family--fraunces);
	font-size: var(--wp--preset--font-size--large);
	font-weight: 500;
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	gap: 1rem;
	align-items: baseline;
}
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details summary::after {
	content: "+";
	color: #6E2A34;
	font-weight: 400;
	flex: none;
}
.wp-block-details[open] summary::after { content: "\2013"; }
.wp-block-details > :not(summary) { margin-top: 0.6rem; }
.ep-faq { border-top: 1px solid #6E2A34; }

/* Anchored disclaimer: give the jump target room under the header */
#before-you-book { scroll-margin-top: 2rem; }

/* Portrait */
.ep-portrait img { border-radius: 2px; }

/* ---------- Layout: content + sidebar ---------- */
.ep-main-columns { gap: clamp(2rem, 5vw, 4.5rem) !important; }
@media (min-width: 782px) and (min-height: 760px) {
	.ep-sidebar-column { position: sticky; top: 1.5rem; align-self: flex-start !important; }
}

/* ---------- Footer ---------- */
.ep-footer a:where(:not(.wp-element-button)) { color: #C4B1CE; }
.ep-footer .ep-footer__name { letter-spacing: 0.3em; font-weight: 600; font-size: 0.93rem; line-height: 1; margin-bottom: 0.3rem; }
.ep-footer .ep-footer__wordmark { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.6rem; line-height: 1.1; margin: 0; font-variation-settings: "SOFT" 55, "WONK" 1; }
.ep-footer .wp-block-navigation a { color: #F3EEE5 !important; }
.ep-footer__terms { color: #C4B1CE; }

@media (prefers-reduced-motion: reduce) {
	* { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}

.ep-lede-left { max-width: 34em; line-height: 1.5; }
