/*
 * Reusable Streamova shell for ordinary WordPress pages.
 * Posts and editorial templates are deliberately outside this stylesheet.
 */

html[data-oh-theme="dark"] body.page:not(.home).streamova-site,
body.page:not(.home).streamova-site {
	--sr-home-page: #ecedee;
	--sr-home-surface: #f4f5f5;
	--sr-home-card: #fff;
	--sr-home-ink: #2e3034;
	--sr-home-copy: #55575c;
	--sr-home-soft: #8a8c91;
	--sr-home-dark: #171719;
	--sr-home-accent: var(--streamova-accent);
	background: var(--sr-home-page) !important;
	color: var(--sr-home-ink);
}

html[data-oh-theme="dark"] body.page:not(.home) .oh-main,
body.page:not(.home) .oh-main {
	background: var(--sr-home-page) !important;
}

body.page:not(.home) .sv-header {
	height: 0 !important;
	background: transparent !important;
	border-radius: 0 !important;
}

body.page:not(.home) .sv-navigation {
	width: min(940px, calc(100% - 24px));
	min-height: 62px;
}

body.page:not(.home) .sv-navigation nav { margin-left: auto; }
body.page:not(.home) .sv-navigation nav a { padding-inline: 11px; font-size: 13px; }
body.page:not(.home) .sv-navigation .sr-home-nav { gap: 1px; }
body.page:not(.home) .sv-menu-toggle { padding: 0 !important; }

body.page:not(.home) .sv-premium-page__hero {
	min-height: min(420px, 68vh);
	display: flex;
	align-items: flex-end;
}

body.page:not(.home) .sv-premium-page__hero > .sv-container {
	max-width: 1120px;
	margin-inline: auto;
}

body.page:not(.home).wp-child-theme-onehundred .oh-main .sv-premium-page__hero h1 {
	max-width: 920px;
	color: #f7f7f6 !important;
	text-wrap: balance;
}

body.page:not(.home) .sv-premium-page__intro {
	max-width: 720px;
	font-size: 18px;
	line-height: 1.65;
}

body.page:not(.home) .sv-premium-page__content {
	margin-inline: auto;
}

body.page:not(.home) .sv-premium-page__content > .sv-prose {
	width: 100%;
	max-width: 980px;
	font-family: var(--sv-font);
}

body.page:not(.home) .sv-premium-page__content :is(.alignwide, .alignfull) {
	width: 100% !important;
	max-width: 100% !important;
	margin-right: 0 !important;
	margin-left: 0 !important;
}

/* The imported content often contains the old page-title block. The premium
 * hero replaces it visually while the stored block remains untouched. */
body.page:not(.home) .sv-premium-page__content > .sv-prose > .oh-page__header {
	display: none;
}

body.page:not(.home) .sv-premium-page--legal .sv-premium-page__content > .sv-prose {
	max-width: 900px;
}

body.page:not(.home) .sv-premium-page--legal .sv-premium-page__content .oh-page-section {
	margin: 0 !important;
	padding: 32px 0 !important;
	border: 0 !important;
	border-top: 1px solid rgba(35, 36, 39, .09) !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.page:not(.home) .sv-premium-page--legal .sv-premium-page__content .oh-page-section :is(h2, h3) {
	margin-top: 0;
}

body.page:not(.home) .sv-premium-page--legal .sv-premium-page__content .oh-page-section > :last-child {
	margin-bottom: 0;
}

html[data-oh-theme="dark"] body.page:not(.home).wp-child-theme-onehundred .oh-main .sv-premium-page__content,
body.page:not(.home).wp-child-theme-onehundred .oh-main .sv-premium-page__content {
	color: var(--sr-home-copy) !important;
}

html[data-oh-theme="dark"] body.page:not(.home).wp-child-theme-onehundred .oh-main .sv-premium-page__content :is(h2, h3, h4, h5, h6, strong),
body.page:not(.home).wp-child-theme-onehundred .oh-main .sv-premium-page__content :is(h2, h3, h4, h5, h6, strong) {
	color: var(--sr-home-ink) !important;
}

body.page:not(.home) .sv-premium-page__content :is(p, li) {
	color: var(--sr-home-copy);
}

body.page:not(.home) .sv-premium-page__content a {
	color: var(--sr-home-ink);
	text-decoration-color: rgba(138, 101, 0, .55);
	text-underline-offset: 4px;
}

body.page:not(.home) .sv-premium-page__content a:hover {
	color: var(--streamova-accent);
	text-decoration-color: currentColor;
}

body.page:not(.home) .sv-premium-page__content :is(ul, ol) {
	padding-left: 1.35em;
}

body.page:not(.home) .sv-premium-page__content li::marker { color: var(--sr-home-accent); }

/* Support hubs use the approved light card language without introducing a
 * second page system. These classes are content-owned and reusable by normal
 * WordPress pages. */
body.page:not(.home) .sv-resource-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 18px;
	width: 100%;
	max-width: none;
	margin: 34px 0 48px;
}

body.page:not(.home) .sv-resource-card {
	display: flex;
	min-width: 0;
	min-height: 174px;
	flex-direction: column;
	align-items: flex-start;
	gap: 12px;
	padding: 26px;
	border: 1px solid rgba(35, 36, 39, .08);
	border-radius: 22px;
	background: #fff;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 36px -30px rgba(35,36,39,.5);
	color: var(--sr-home-copy) !important;
	text-decoration: none !important;
}

body.page:not(.home) .sv-resource-card strong {
	font-size: 20px;
	line-height: 1.25;
	letter-spacing: -.025em;
}

body.page:not(.home) .sv-resource-card span {
	display: block;
	font-size: 15px;
	line-height: 1.65;
}

body.page:not(.home) .sv-resource-card > a {
	margin-top: auto;
	font-size: 13px;
	font-weight: 700;
}

body.page:not(.home) a.sv-resource-card:hover {
	border-color: rgba(212,175,55,.45);
	color: var(--sr-home-copy) !important;
	transform: translateY(-2px);
}

body.page:not(.home) .sv-faq-directory {
	margin-top: 36px;
}

body.page:not(.home) .sv-faq-directory h2 {
	margin-top: 50px;
}

body.page:not(.home) .sv-faq-directory details {
	margin: 12px 0;
	padding: 0 22px;
	border: 1px solid rgba(35,36,39,.08);
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 14px 30px -28px rgba(35,36,39,.55);
}

body.page:not(.home) .sv-faq-directory summary {
	position: relative;
	padding: 19px 36px 19px 0;
	cursor: pointer;
	color: var(--sr-home-ink);
	font-weight: 650;
	list-style: none;
}

body.page:not(.home) .sv-faq-directory summary::-webkit-details-marker { display: none; }
body.page:not(.home) .sv-faq-directory summary::after {
	content: "+";
	position: absolute;
	top: 50%;
	right: 0;
	color: var(--sr-home-accent);
	font-size: 22px;
	transform: translateY(-50%);
}
body.page:not(.home) .sv-faq-directory details[open] summary::after { content: "−"; }
body.page:not(.home) .sv-faq-directory details p { margin: 0; padding: 0 0 20px; }

body.page:not(.home) .sv-premium-page__articles {
	max-width: 1180px;
	margin: 64px auto 0;
}

body.page:not(.home) .sv-premium-page__articles > h2 {
	margin-bottom: 28px;
	font-size: clamp(28px, 3vw, 42px);
}

body.page:not(.home) .sv-premium-page__articles a {
	color: inherit;
	text-decoration: none;
	text-decoration-thickness: auto;
}

body.page:not(.home) .sv-premium-page__articles .sv-text-link:hover {
	color: var(--sr-home-accent);
}

body.page:not(.home) .sv-premium-page__content .wp-block-table,
body.page:not(.home) .sv-premium-page__content .sv-table-scroll {
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

body.page:not(.home) .sv-premium-page__content table {
	background: #fff;
	border-radius: 16px;
	box-shadow: 0 16px 32px -28px rgba(35, 36, 39, .5);
}

body.page:not(.home) .sv-premium-page__content :is(input:not([type="checkbox"]):not([type="radio"]), textarea, select) {
	width: 100%;
	max-width: 100%;
	padding: 13px 15px;
	border: 1px solid rgba(35, 36, 39, .14);
	border-radius: 13px;
	background: #fff;
	color: var(--sr-home-ink);
}

body.page:not(.home) .sv-premium-page__content :is(button, input[type="submit"], .wp-block-button__link) {
	min-height: 48px;
	padding: 12px 24px;
	border: 0;
	border-radius: 999px;
	background: var(--sr-home-dark) !important;
	color: #fff !important;
	font-weight: 600;
}

body.page:not(.home) .sr-home-footer {
	margin-top: 64px;
}

body.page:not(.home).wp-child-theme-onehundred .sr-home-footer h2 {
	color: var(--sr-home-ink) !important;
}

@media (max-width: 1023px) {
	body.page:not(.home) .sv-navigation nav a { font-size: 14px; }
	body.page:not(.home) .sv-premium-page__hero { min-height: 370px; }
	body.page:not(.home) .sv-premium-page__content .wp-block-columns {
		display: grid !important;
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
		gap: 24px !important;
	}
	body.page:not(.home) .sv-premium-page__content .wp-block-column {
		min-width: 0 !important;
	}
}

@media (max-width: 767px) {
	body.page:not(.home) .sv-site-shell { padding: 8px; }
	body.page:not(.home).rr-has-then-now .sv-site-shell { padding: 0 8px 8px; }
	body.page:not(.home) .sv-navigation { top: 28px; }
	body.page:not(.home) .sv-premium-page__hero { min-height: 340px; }
	body.page:not(.home) .sv-premium-page__intro { font-size: 16px; }
	body.page:not(.home) .sv-premium-page__content .wp-block-columns {
		grid-template-columns: minmax(0, 1fr) !important;
	}
	body.page:not(.home) .sv-resource-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	body.page:not(.home) .sv-resource-card { min-height: 0; padding: 22px; }
	body.page:not(.home) .sr-home-footer { margin-top: 40px; }
}

@media (max-width: 639px) {
	body.page:not(.home) .sv-premium-page__hero { min-height: 310px; }
	body.page:not(.home) .sv-premium-page__content { padding-top: 48px; }
}

@media (prefers-reduced-motion: reduce) {
	body.page:not(.home) .sv-premium-page *,
	body.page:not(.home) .sr-home-footer * {
		scroll-behavior: auto !important;
		animation: none !important;
		transition: none !important;
	}
}
