/* The Nurse Sabbatical: theme styles that theme.json can't express. */

/* ---------- Scroll motion: sections fade up as they come into view ---------- */
@keyframes tns-rise {
	from { opacity: 0; transform: translateY(48px); }
	to { opacity: 1; transform: none; }
}
.tns-reveal,
.is-style-tns-reveal {
	animation: tns-rise 1s cubic-bezier(.2, .7, .2, 1) both;
}
@supports (animation-timeline: view()) {
	.tns-reveal,
	.is-style-tns-reveal {
		animation-timeline: view();
		animation-range: entry 0% cover 28%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.tns-reveal,
	.is-style-tns-reveal { animation: none; }
}
/* Never animate inside the editor, so everything is visible while you edit. */
.editor-styles-wrapper .tns-reveal,
.editor-styles-wrapper .is-style-tns-reveal { animation: none !important; opacity: 1 !important; transform: none !important; }

/* ---------- Small text styles ---------- */
.is-style-tns-eyebrow {
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: var(--wp--preset--color--teal);
	margin-bottom: 0.75rem !important;
}
.tns-num {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 0.9375rem;
	color: var(--wp--preset--color--teal);
	margin-bottom: 0.5rem !important;
}
.tns-textlink a {
	color: var(--wp--preset--color--ink);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 6px;
	text-decoration-color: var(--wp--preset--color--teal);
}
.tns-textlink a:hover { color: var(--wp--preset--color--teal); }
h1 em, h2 em { color: var(--wp--preset--color--teal); }

/* ---------- Covers (photo bands, page heroes) ---------- */
.wp-block-cover:not(.is-light) h1 em,
.wp-block-cover:not(.is-light) h2 em,
.wp-block-cover:not(.is-light) .is-style-tns-eyebrow { color: var(--wp--preset--color--teal-light); }
.wp-block-cover.is-light .is-style-tns-eyebrow { color: var(--wp--preset--color--teal); }
.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link {
	color: #fff;
	border: 1px solid rgba(255, 255, 255, .8);
	background: transparent;
}
.tns-band-quote {
	font-family: var(--wp--preset--font-family--heading);
	font-style: italic;
	font-size: clamp(2rem, 4.4vw, 3.6rem);
	line-height: 1.16;
	max-width: 900px;
	margin-inline: auto;
}
.wp-block-cover.tns-page-hero,
.wp-block-cover.tns-hero {
	padding-left: max(clamp(20px, 5vw, 72px), calc((100vw - 1200px) / 2));
	padding-right: max(clamp(20px, 5vw, 72px), calc((100vw - 1200px) / 2));
}
.tns-page-hero .wp-block-cover__inner-container,
.tns-hero .wp-block-cover__inner-container {
	width: 100%;
}
.tns-page-hero__text { max-width: 760px; }
.tns-page-hero { padding-bottom: 4.5rem !important; }

/* ---------- Home video hero: words on solid dark, video on the right ---------- */
.tns-hero { background: var(--wp--preset--color--night); }
body .wp-block-cover.tns-hero video.wp-block-cover__video-background,
.editor-styles-wrapper .wp-block-cover.tns-hero video.wp-block-cover__video-background {
	left: auto !important;
	right: 0 !important;
	width: 66% !important;
	height: 100% !important;
	object-fit: cover !important;
	object-position: 55% 20% !important;
}
.tns-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(90deg, #121A1A 0%, #121A1A 34%, rgba(18, 26, 26, .7) 44%, rgba(18, 26, 26, .15) 60%, rgba(18, 26, 26, 0) 72%);
}
.tns-hero .wp-block-cover__inner-container { position: relative; z-index: 2; }
.tns-hero__text { max-width: 620px; }
.tns-hero h1 { color: #fff; }
.tns-hero h1 em { color: var(--wp--preset--color--teal-light); }
@media (max-width: 820px) {
	body .wp-block-cover.tns-hero video.wp-block-cover__video-background,
	.editor-styles-wrapper .wp-block-cover.tns-hero video.wp-block-cover__video-background { width: 100% !important; }
	.tns-hero::before { background: rgba(18, 26, 26, .6); }
}

/* ---------- Cards and grids ---------- */
.tns-card { height: 100%; }
.tns-card h3 a, .tns-posts .wp-block-post-title a {
	color: var(--wp--preset--color--ink);
	text-decoration: none;
}
.tns-card h3 a:hover, .tns-posts .wp-block-post-title a:hover { color: var(--wp--preset--color--teal); }
.tns-posts .wp-block-post-template { gap: 3.5rem 2rem; }
.tns-posts .wp-block-post-featured-image { margin-bottom: 1.25rem; }
.tns-posts .wp-block-post-title { font-size: 1.5rem; line-height: 1.22; margin-top: 0.5rem; }
.tns-meta {
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--teal);
}
.tns-meta a { color: inherit; text-decoration: none; }
.tns-meta .wp-block-post-date::before { content: "· "; }
.tns-gallery { gap: 1.25rem; align-items: end; }
.tns-gallery .wp-block-image { margin: 0; }
.tns-offset { padding-top: 3rem; }
.tns-play { position: relative; }
.tns-play::after {
	content: "";
	position: absolute;
	left: 50%;
	top: 50%;
	width: 84px;
	height: 84px;
	transform: translate(-50%, -50%);
	border-radius: 50%;
	pointer-events: none;
	background: var(--wp--preset--color--teal) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M8 5v14l11-7z'/%3E%3C/svg%3E") 54% 50% / 30px no-repeat;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .25);
}
.tns-vidtitle { font-family: var(--wp--preset--font-family--heading); font-size: 1.25rem; line-height: 1.3; margin-top: 0.75rem; }
.tns-playlist { margin-bottom: var(--wp--preset--spacing--60) !important; padding-top: 2rem; border-top: 1px solid var(--wp--preset--color--line); }

/* ---------- Featured in, beliefs, topics ---------- */
.tns-featured { gap: 1.25rem 3.5rem; margin-top: 1.5rem; }
.tns-featured p {
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.5rem;
	margin: 0;
	color: var(--wp--preset--color--ink);
}
.tns-beliefs { gap: 2.5rem 3rem; }
.tns-belief {
	border-top: 1px solid #9FC2BB;
	padding-top: 1.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.625rem;
	line-height: 1.25;
	margin: 0;
}
.tns-topics p {
	padding-left: 1.25rem;
	border-left: 2px solid #A9C9C3;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.3125rem;
	line-height: 1.3;
}

/* ---------- Then & now captions ---------- */
.tns-thennow figcaption {
	text-align: left;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.375rem;
	line-height: 1.3;
	color: var(--wp--preset--color--ink);
	margin-top: 1rem;
}
.tns-thennow figcaption strong {
	display: block;
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.75rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--wp--preset--color--teal);
	margin-bottom: 0.25rem;
}

/* ---------- Placeholders for forms (delete once real form is added) ---------- */
.tns-placeholder {
	border: 2px dashed var(--wp--preset--color--teal);
	padding: 1.25rem 1.5rem;
	background: rgba(255, 255, 255, .6);
	color: var(--wp--preset--color--ink-soft);
}
.tns-newsletter__title { font-size: clamp(2rem, 3.4vw, 2.75rem) !important; }
.tns-email a { font-family: var(--wp--preset--font-family--heading); font-size: 1.5rem; color: var(--wp--preset--color--ink); }

/* ---------- Blog filters: search + category pills ---------- */
.tns-search { flex: 1 1 280px; max-width: 420px; }
.tns-search .wp-block-search__input { min-height: 48px; border-color: var(--wp--preset--color--line); background: var(--wp--preset--color--base); }
.tns-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; list-style: none; padding: 0; margin: 0; }
.tns-pills li { margin: 0; }
.tns-pills a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 0 1.1rem;
	border: 1px solid #C9BCAB;
	color: var(--wp--preset--color--ink);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
}
.tns-pills a:hover,
.tns-pills .current-cat a {
	background: var(--wp--preset--color--teal);
	border-color: var(--wp--preset--color--teal);
	color: #fff;
}
.wp-block-query-pagination a,
.wp-block-query-pagination .page-numbers { text-decoration: none; padding: 0.5rem 0.9rem; }
.wp-block-query-pagination .page-numbers.current { background: var(--wp--preset--color--ink); color: var(--wp--preset--color--base); }

/* ---------- Header and footer ---------- */
.tns-header .wp-block-site-title a,
.tns-footer .wp-block-site-title a { color: var(--wp--preset--color--ink); text-decoration: none; }
.tns-header .wp-block-navigation a { color: var(--wp--preset--color--ink); }
.tns-header .wp-block-navigation a:hover,
.tns-header .wp-block-navigation .current-menu-item > a { color: var(--wp--preset--color--teal); }
.tns-footer-links { gap: 0.75rem 2rem; }
.tns-footer-links p { margin: 0; }
.tns-footer-links a, .tns-footer a { color: var(--wp--preset--color--ink); text-decoration: none; }
.tns-footer a:hover { color: var(--wp--preset--color--teal); }

/* ---------- Single post reading ---------- */
.tns-prose { font-size: 1.125rem; }
.tns-prose > * + * { margin-top: 1.4em; }
.tns-prose h2 { font-size: 2rem; margin-top: 2.2em; }
.tns-prose h3 { font-size: 1.5rem; margin-top: 1.8em; }

/* Columns stack nicely on phones */
@media (max-width: 781px) {
	.tns-offset { padding-top: 0; }
}

/* ---------- v1.0.2: centered section headers + edge-to-edge card photos ---------- */
.wp-block-heading.has-text-align-center,
.wp-block-group:has(> .is-style-tns-eyebrow.has-text-align-center) > .wp-block-heading {
	text-align: center !important;
	margin-left: auto !important;
	margin-right: auto !important;
}
.tns-card { overflow: hidden; }
.tns-card > .wp-block-image,
.editor-styles-wrapper .tns-card > .wp-block-image {
	margin: 0 !important;
	width: 100% !important;
	max-width: none !important;
}
.tns-card > .wp-block-image img,
.editor-styles-wrapper .tns-card > .wp-block-image img {
	display: block;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 3 / 2;
	object-fit: cover;
}
.tns-card > .wp-block-group { margin-top: 0 !important; }
.tns-card .tns-num { margin-top: 0 !important; }

/* ---------- v1.0.3: page-top photo banners scroll normally so faces stay in frame ---------- */
.wp-block-cover.tns-page-hero .wp-block-cover__image-background.has-parallax,
.wp-block-cover.tns-page-hero.has-parallax {
	background-attachment: scroll !important;
}
