/* Phone On Fire — site styles. "Work order" system (approved 2026-10-24, see design/proposal/).
   Layout: 12-column grid, 1200px max. Each section is a labelled field: label in columns 1–3, body in 4–12.
   One signal color (hi-vis orange), used only as a fill under ink text on things you act on. */

:root {
	--pof-paper: #F6F6F3;
	--pof-surface: #FFFFFF;
	--pof-ink: #15181D;
	--pof-muted: #565C64;
	--pof-rule: #D8DAD5;
	--pof-signal: #FF4D1C;
	--pof-on-signal: #15181D;
	--pof-signal-text: #B33410;
	--pof-band: #15181D;
	--pof-band-text: #EDEEEA;
	--pof-band-muted: #A9AEB4;
	--pof-band-rule: #2E3238;

	--pof-display: "Barlow Condensed", "Arial Narrow", "Roboto Condensed", sans-serif;
	--pof-body: "IBM Plex Sans", system-ui, -apple-system, "Segoe UI", sans-serif;
	--pof-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, monospace;

	--pof-fs-display: clamp(44px, 7vw, 88px);
	--pof-fs-h2: clamp(30px, 4vw, 48px);
	--pof-fs-h3: 22px;
	--pof-fs-body: 17px;
	--pof-fs-small: 14px;
	--pof-fs-label: 12.5px;

	--pof-s1: 8px;
	--pof-s2: 16px;
	--pof-s3: 24px;
	--pof-s4: 32px;
	--pof-s6: 48px;
	--pof-s8: 64px;
	--pof-s12: 96px;
	--pof-radius: 3px;
	--pof-max: 1200px;
}

/* ---------- Base ---------- */

body {
	background: var(--pof-paper);
	color: var(--pof-ink);
	font-family: var(--pof-body);
	font-size: var(--pof-fs-body);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
}

a { color: var(--pof-ink); text-underline-offset: 3px; }
a:hover, a:focus { color: var(--pof-signal-text); }

h1, h2, h3, h4, h5, h6 { color: var(--pof-ink); text-wrap: balance; }
h1, h2 {
	font-family: var(--pof-display);
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0;
	line-height: 1;
}
h3, h4, h5, h6 { font-family: var(--pof-body); font-weight: 600; line-height: 1.3; }

:focus-visible { outline: 2px solid var(--pof-signal); outline-offset: 3px; }

/* GeneratePress containers: plain paper, no boxed article. */
.separate-containers .inside-article,
.separate-containers .comments-area,
.separate-containers .page-header,
.one-container .container,
.separate-containers .paging-navigation,
.inside-page-header { background: transparent; }

.site-content { padding-top: 0; }

body:not(.pof-full) .site-main { margin: var(--pof-s8) 0 var(--pof-s12); }
body:not(.pof-full) .inside-article { padding: 0 max(16px, env(safe-area-inset-left, 0px)); max-width: 860px; margin: 0 auto; }
body.woocommerce-page:not(.pof-full) .inside-article,
body.masteriyo:not(.pof-full) .inside-article { max-width: var(--pof-max); }

.entry-title {
	font-size: var(--pof-fs-h2);
	padding-bottom: var(--pof-s2);
	border-bottom: 2px solid var(--pof-ink);
}
.entry-content > h2 { font-size: 30px; margin-top: var(--pof-s6); }

/* Full-width pages (home and opted-in pages): content runs edge to edge. */
.pof-full .site.grid-container,
.pof-full .site-content .content-area,
.pof-full .grid-container { max-width: none; }
.pof-full .site-content { display: block; padding: 0; }
.pof-full .site-main { margin: 0 !important; }
.pof-full .inside-article { padding: 0 !important; }
.pof-full .entry-content { margin-top: 0; }
.pof-full .entry-content > * { margin-top: 0; margin-bottom: 0; }
.pof-full .entry-header { display: none; }

/* Classic themes wrap group children in an extra element; let our grids see the real children. */
[class*="pof-"] > .wp-block-group__inner-container { display: contents; }

/* ---------- Type roles ---------- */

.pof-display {
	font-family: var(--pof-display);
	font-weight: 700;
	font-size: var(--pof-fs-display);
	line-height: 0.92;
	text-transform: uppercase;
	letter-spacing: -0.01em;
}
.pof-h2 { font-size: var(--pof-fs-h2); line-height: 1; margin: 0; }
.pof-label {
	margin: 0;
	font-family: var(--pof-mono);
	font-weight: 500;
	font-size: var(--pof-fs-label);
	line-height: 1.4;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pof-muted);
}
.pof-lede { margin: 0; font-size: 20px; line-height: 1.5; max-width: 60ch; }
.pof-muted { color: var(--pof-muted); }
.pof-intro { margin: 0; color: var(--pof-muted); max-width: 62ch; }

/* ---------- Header / footer ---------- */

.pof-header { background: var(--pof-paper); border-bottom: 1px solid var(--pof-rule); }
.pof-nav {
	max-width: var(--pof-max);
	margin: 0 auto;
	padding: 14px max(16px, env(safe-area-inset-right, 0px)) 14px max(16px, env(safe-area-inset-left, 0px));
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
}
.pof-brand { display: flex; align-items: center; gap: 10px; text-decoration: none; color: var(--pof-ink); }
.pof-brand:hover { color: var(--pof-ink); }
.pof-brand span { font: 700 24px/1 var(--pof-display); text-transform: uppercase; letter-spacing: 0.01em; }
.pof-nav__links { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 24px; font-size: 15px; }
.pof-nav__links a:not(.pof-btn) { color: var(--pof-ink); text-decoration: none; min-height: 44px; display: inline-flex; align-items: center; }
.pof-nav__links a:not(.pof-btn):hover { text-decoration: underline; color: var(--pof-ink); }

.pof-footer { background: var(--pof-band); color: var(--pof-band-muted); font-size: var(--pof-fs-small); }
.pof-footer__inner {
	max-width: var(--pof-max);
	margin: 0 auto;
	padding: var(--pof-s4) max(16px, env(safe-area-inset-right, 0px)) var(--pof-s4) max(16px, env(safe-area-inset-left, 0px));
	display: flex;
	flex-wrap: wrap;
	gap: var(--pof-s2) var(--pof-s4);
	justify-content: space-between;
}
.pof-footer a { color: var(--pof-band-text); }
.pof-footer a:hover { color: var(--pof-signal); }
.pof-footer__links { display: flex; flex-wrap: wrap; gap: 4px 20px; }
.pof-footer__links a { min-height: 32px; display: inline-flex; align-items: center; }
.pof-footer__legal { margin: 0; flex-basis: 100%; font-size: 12.5px; }

/* ---------- Buttons ---------- */

.pof-btn,
.wp-block-button a.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 48px;
	box-sizing: border-box;
	padding: 12px 22px;
	border-radius: var(--pof-radius);
	border: 2px solid var(--pof-ink);
	background: transparent;
	color: var(--pof-ink);
	font: 600 17px/1.2 var(--pof-body);
	text-decoration: none;
	text-align: center;
	transition: background-color .12s ease, color .12s ease, border-color .12s ease;
}
.pof-btn:hover,
.wp-block-button a.wp-block-button__link:hover, .wp-block-button a.wp-block-button__link:focus { background: var(--pof-ink); color: var(--pof-paper); }
.pof-btn--signal,
.wp-block-button.pof-signal a.wp-block-button__link { background: var(--pof-signal); border-color: var(--pof-signal); color: var(--pof-on-signal); }
.pof-btn--signal:hover,
.wp-block-button.pof-signal a.wp-block-button__link:hover, .wp-block-button.pof-signal a.wp-block-button__link:focus { background: var(--pof-ink); border-color: var(--pof-ink); color: var(--pof-paper); }
.pof-btn--sm { min-height: 44px; padding: 8px 16px; font-size: 15px; }

.pof-band .wp-block-button a.wp-block-button__link { border-color: var(--pof-band-text); color: var(--pof-band-text); }
.pof-band .wp-block-button a.wp-block-button__link:hover, .pof-band .wp-block-button a.wp-block-button__link:focus { background: var(--pof-band-text); color: var(--pof-band); }
.pof-band .wp-block-button.pof-signal a.wp-block-button__link { border-color: var(--pof-signal); background: var(--pof-signal); color: var(--pof-on-signal); }
.pof-band .wp-block-button.pof-signal a.wp-block-button__link:hover, .pof-band .wp-block-button.pof-signal a.wp-block-button__link:focus { border-color: var(--pof-band-text); background: var(--pof-band-text); color: var(--pof-band); }

.wp-block-buttons.pof-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* ---------- Sections ---------- */

.pof-wrap {
	max-width: var(--pof-max);
	margin: 0 auto;
	padding-left: max(16px, env(safe-area-inset-left, 0px));
	padding-right: max(16px, env(safe-area-inset-right, 0px));
}

.pof-field { border-bottom: 1px solid var(--pof-rule); }
.pof-field__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--pof-s3) var(--pof-s4);
	padding-top: var(--pof-s12);
	padding-bottom: var(--pof-s12);
}
.pof-field__grid > *,
.pof-field__grid > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-field__label { grid-column: 1 / span 3; padding-top: 6px; }
.pof-field__body { grid-column: 4 / span 9; min-width: 0; display: grid; gap: var(--pof-s4); align-content: start; }
.pof-field__body > *,
.pof-field__body > .wp-block-group__inner-container > * { margin: 0 !important; min-width: 0; }
@media (max-width: 860px) {
	.pof-field__grid { padding-top: var(--pof-s8); padding-bottom: var(--pof-s8); }
	.pof-field__label, .pof-field__body { grid-column: 1 / -1; }
}

/* ---------- Hero ---------- */

.pof-hero { border-bottom: 1px solid var(--pof-rule); }
.pof-hero__grid {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--pof-s6) var(--pof-s4);
	align-items: center;
	padding-top: var(--pof-s8);
	padding-bottom: var(--pof-s12);
}
.pof-hero__grid > *,
.pof-hero__grid > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-hero__text { grid-column: 1 / span 8; display: grid; gap: var(--pof-s4); min-width: 0; }
.pof-hero__text > *,
.pof-hero__text > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-hero__cover { grid-column: 9 / span 4; justify-self: end; width: min(100%, 340px); }
.pof-hero__cover img { display: block; width: 100%; height: auto; border: 1px solid var(--pof-rule); }
.pof-hero__cover figcaption {
	margin: 10px 0 0;
	text-align: left;
	font: 500 var(--pof-fs-label)/1.4 var(--pof-mono);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pof-muted);
}
.pof-facts {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 20px;
	padding-top: var(--pof-s2);
	border-top: 1px solid var(--pof-rule);
	font: 500 14px/1.4 var(--pof-mono);
}
.pof-facts strong { font-weight: 500; color: var(--pof-signal-text); }
@media (max-width: 860px) {
	.pof-hero__text, .pof-hero__cover { grid-column: 1 / -1; }
	.pof-hero__cover { justify-self: start; width: min(100%, 260px); }
}

/* ---------- Problem ledger ---------- */

.pof-ledger { border-top: 2px solid var(--pof-ink); }
.pof-ledger__row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: var(--pof-s1) var(--pof-s4);
	padding: var(--pof-s3) 0;
	border-bottom: 1px solid var(--pof-rule);
}
.pof-ledger__row > *,
.pof-ledger__row > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-ledger__row h3 { font-size: var(--pof-fs-h3); }
.pof-ledger__row p { color: var(--pof-muted); max-width: 60ch; }
@media (max-width: 640px) { .pof-ledger__row { grid-template-columns: 1fr; } }

/* ---------- Tables (shared) ---------- */

.wp-block-table.pof-table { margin: 0; overflow-x: auto; }
.pof-table table { width: 100%; border-collapse: collapse; border: 0; font-size: 16px; margin: 0; }
.pof-table th, .pof-table td {
	text-align: left;
	vertical-align: top;
	padding: 14px 16px 14px 0;
	border: 0;
	border-bottom: 1px solid var(--pof-rule);
}
.pof-table thead { border: 0; }
.pof-table thead th {
	padding-top: 0;
	border-bottom: 2px solid var(--pof-ink);
	font: 500 var(--pof-fs-label)/1.4 var(--pof-mono);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pof-muted);
}

/* Schedule: week | module | what ships */
.pof-schedule td:first-child { white-space: nowrap; width: 7em; font-family: var(--pof-mono); font-variant-numeric: tabular-nums; }
.pof-schedule td:nth-child(2) { color: var(--pof-muted); }
.pof-schedule td:nth-child(2) strong { display: block; color: var(--pof-ink); font-weight: 600; }
.pof-schedule td:nth-child(3) { color: var(--pof-muted); }
.pof-schedule td:nth-child(3)::before {
	content: "Ships: ";
	font: 500 var(--pof-fs-label)/1 var(--pof-mono);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--pof-signal-text);
}
@media (max-width: 640px) {
	.pof-schedule thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.pof-schedule tr { display: grid; gap: 4px; padding: var(--pof-s2) 0; border-bottom: 1px solid var(--pof-rule); }
	.pof-schedule td { border: 0; padding: 0; width: auto; }
	.pof-schedule td:first-child::before { content: "Week "; }
}

/* ---------- Prompt panel ---------- */

.pof-prompt { background: var(--pof-band); color: var(--pof-band-text); border-radius: var(--pof-radius); overflow: hidden; }
.pof-prompt__bar { display: flex; flex-wrap: wrap; gap: 8px 16px; align-items: baseline; padding: 14px 20px; border-bottom: 1px solid var(--pof-band-rule); }
.pof-prompt__bar .pof-label { color: var(--pof-band-muted); }
.pof-prompt__title { font: 600 var(--pof-fs-h3)/1.25 var(--pof-body); color: var(--pof-band-text); }
.pof-prompt pre {
	margin: 0;
	padding: 20px;
	background: transparent;
	border: 0;
	color: var(--pof-band-text);
	font: 400 14px/1.65 var(--pof-mono);
	white-space: pre-wrap;
	overflow-x: auto;
}
.pof-prompt pre span { color: var(--pof-signal); }

/* ---------- Estimate ---------- */

.pof-plans { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--pof-s3); }
.pof-plans > *,
.pof-plans > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-plan {
	display: flex;
	flex-direction: column;
	gap: 6px;
	padding: var(--pof-s3);
	background: var(--pof-paper);
	border: 1px solid var(--pof-rule);
	border-radius: 0;
}
.pof-plan > *,
.pof-plan > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-plan--course { background: var(--pof-surface); border: 2px solid var(--pof-ink); }
.pof-plan h3 { font: 700 30px/1 var(--pof-display); text-transform: uppercase; }
.pof-price { font: 700 52px/1 var(--pof-display); font-variant-numeric: tabular-nums; margin-top: 4px !important; }
.pof-plan .pof-muted { font-size: var(--pof-fs-small); }
.pof-plan .wp-block-buttons { margin-top: var(--pof-s2) !important; }
.pof-plan .wp-block-button { width: 100%; }
.pof-plan .wp-block-button__link { width: 100%; }
.pof-fine { font-size: var(--pof-fs-small); color: var(--pof-muted); }
@media (max-width: 640px) { .pof-plans { grid-template-columns: 1fr; } }

.pof-estimate table { table-layout: fixed; }
.pof-estimate tr > :first-child { width: 30%; font-weight: 600; color: var(--pof-ink); }
.pof-estimate thead th:last-child { color: var(--pof-ink); }
.pof-estimate td:last-child { padding-right: 0; }
.pof-estimate td em { font-style: normal; color: var(--pof-muted); }
@media (max-width: 640px) {
	.pof-estimate table { table-layout: auto; }
	.pof-estimate thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.pof-estimate tr { display: block; padding: var(--pof-s2) 0; border-bottom: 1px solid var(--pof-rule); }
	.pof-estimate td { display: grid; grid-template-columns: 6.5em minmax(0, 1fr); gap: 8px; border: 0; padding: 2px 0; width: auto !important; }
	.pof-estimate td:first-child { display: block; padding-bottom: 6px; }
	.pof-estimate td:nth-child(2)::before,
	.pof-estimate td:nth-child(3)::before {
		font: 500 var(--pof-fs-label)/1.7 var(--pof-mono);
		letter-spacing: 0.06em;
		text-transform: uppercase;
		color: var(--pof-muted);
	}
	.pof-estimate td:nth-child(2)::before { content: "Ebook"; }
	.pof-estimate td:nth-child(3)::before { content: "Course"; }
}

.pof-dfy {
	display: grid;
	grid-template-columns: repeat(12, minmax(0, 1fr));
	gap: var(--pof-s3) var(--pof-s4);
	padding-top: var(--pof-s6);
	border-top: 1px solid var(--pof-rule);
}
.pof-dfy > *,
.pof-dfy > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-dfy__intro { grid-column: 1 / span 5; display: grid; gap: 12px; align-content: start; }
.pof-dfy__intro > *,
.pof-dfy__intro > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-dfy__intro h3 { font: 700 30px/1 var(--pof-display); text-transform: uppercase; }
.pof-dfy__intro .pof-price { font-size: 40px; }
.pof-dfy__list { grid-column: 6 / span 7; margin: 0; padding: 0; list-style: none; display: grid; gap: 10px; }
.pof-dfy__list li { position: relative; margin: 0; padding-left: 20px; }
.pof-dfy__list li::before { content: ""; position: absolute; left: 0; top: 0.75em; width: 8px; height: 2px; background: var(--pof-ink); }
@media (max-width: 860px) { .pof-dfy__intro, .pof-dfy__list { grid-column: 1 / -1; } }

/* ---------- Author ---------- */

.pof-author { display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: var(--pof-s4); align-items: start; }
.pof-author > *,
.pof-author > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-author__text { display: grid; gap: 12px; }
.pof-author__text > *,
.pof-author__text > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-author__text p { max-width: 62ch; }
.pof-photo-slot {
	width: 140px;
	max-width: 100%;
	aspect-ratio: 4 / 5;
	display: grid;
	place-items: center;
	padding: 8px;
	text-align: center;
	border: 1px dashed var(--pof-muted);
	border-radius: var(--pof-radius);
	font: 500 var(--pof-fs-label)/1.4 var(--pof-mono);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--pof-muted);
}
.pof-photo-slot img { width: 140px; aspect-ratio: 4 / 5; object-fit: cover; }
@media (max-width: 520px) { .pof-author { grid-template-columns: 1fr; } }

/* ---------- FAQ ---------- */

.pof-faq { border-top: 2px solid var(--pof-ink); }
.pof-faq > *,
.pof-faq > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-faq .wp-block-details { border-bottom: 1px solid var(--pof-rule); padding: 0; }
.pof-faq summary {
	cursor: pointer;
	list-style: none;
	min-height: 56px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: var(--pof-s2);
	padding: 14px 0;
	font-weight: 600;
}
.pof-faq summary::-webkit-details-marker { display: none; }
.pof-faq summary::after { content: "+"; font: 400 22px/1 var(--pof-mono); color: var(--pof-signal-text); }
.pof-faq details[open] summary::after { content: "–"; }
.pof-faq details p { margin: 0; padding-bottom: var(--pof-s3); color: var(--pof-muted); max-width: 62ch; }

/* ---------- Closing band ---------- */

.pof-band { background: var(--pof-band); color: var(--pof-band-text); }
.pof-closing__inner { display: grid; gap: var(--pof-s4); justify-items: start; padding-top: var(--pof-s12); padding-bottom: var(--pof-s12); }
.pof-closing__inner > *,
.pof-closing__inner > .wp-block-group__inner-container > * { margin: 0 !important; }
.pof-closing__inner h2 { color: var(--pof-band-text); }
.pof-closing__inner p { color: var(--pof-band-muted); font-size: 20px; }

/* ---------- Placeholders / notes ---------- */

.pof-note, .pof-draft {
	margin: var(--pof-s3) 0;
	padding: var(--pof-s2) 20px;
	border: 1px solid var(--pof-rule);
	border-left: 4px solid var(--pof-signal);
	background: var(--pof-surface);
}
.pof-draft { font: 500 var(--pof-fs-label)/1.5 var(--pof-mono); letter-spacing: 0.04em; text-transform: uppercase; color: var(--pof-signal-text); }

/* ---------- WooCommerce ---------- */

.woocommerce .button,
.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.wc-block-components-button:not(.is-link),
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
	min-height: 48px;
	border-radius: var(--pof-radius) !important;
	background: var(--pof-signal) !important;
	color: var(--pof-on-signal) !important;
	font-family: var(--pof-body);
	font-weight: 600 !important;
	border: 0 !important;
}
.woocommerce .button:hover,
.wc-block-components-button:not(.is-link):hover { background: var(--pof-ink) !important; color: var(--pof-paper) !important; }

.wc-block-components-text-input input,
.wc-block-components-form .wc-block-components-text-input input,
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select {
	font-family: var(--pof-body);
	border: 1px solid #7E838B !important; /* 3:1 against paper for form-control boundaries */
	border-radius: var(--pof-radius) !important;
	background: var(--pof-surface) !important;
	min-height: 48px;
}

.wc-block-components-sidebar,
.woocommerce-checkout-review-order,
.woocommerce-MyAccount-navigation,
.woocommerce-order {
	background: var(--pof-surface);
	border: 1px solid var(--pof-rule);
	padding: var(--pof-s3) !important;
}
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { border-bottom: 1px solid var(--pof-rule); }
.woocommerce-MyAccount-navigation li a { display: flex; align-items: center; min-height: 44px; color: var(--pof-ink); text-decoration: none; font-weight: 600; }
.woocommerce-MyAccount-navigation li.is-active a { color: var(--pof-signal-text); }
.wc-block-components-title,
.wc-block-components-checkout-step__title { font-family: var(--pof-display) !important; text-transform: uppercase; font-weight: 700 !important; }
.wc-block-components-totals-item__value,
.wc-block-components-product-price,
.woocommerce-Price-amount { font-family: var(--pof-mono); font-variant-numeric: tabular-nums; font-weight: 500; color: var(--pof-ink); }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--pof-signal); background: var(--pof-surface); }

/* ---------- Fluent Forms ---------- */

.fluentform .ff-el-form-control {
	border: 1px solid #7E838B;
	border-radius: var(--pof-radius);
	min-height: 48px;
	font-family: var(--pof-body);
	font-size: 16px;
	background: var(--pof-surface);
	color: var(--pof-ink);
}
.fluentform .ff-el-form-control:focus { border-color: var(--pof-ink); box-shadow: 0 0 0 2px var(--pof-signal); }
.fluentform .ff-el-input--label label { font-weight: 600; color: var(--pof-ink); }
.fluentform .ff-btn-submit {
	min-height: 48px;
	padding: 12px 22px;
	border-radius: var(--pof-radius);
	background: var(--pof-signal) !important;
	color: var(--pof-on-signal) !important;
	font-weight: 600;
	font-size: 17px;
	border: 0;
}
.fluentform .ff-btn-submit:hover { background: var(--pof-ink) !important; color: var(--pof-paper) !important; }

/* ---------- Masteriyo ---------- */

.masteriyo-btn-primary,
.masteriyo-btn.masteriyo-btn-primary {
	background: var(--pof-signal) !important;
	border-color: var(--pof-signal) !important;
	color: var(--pof-on-signal) !important;
	border-radius: var(--pof-radius) !important;
	min-height: 44px;
}
.masteriyo-single-course .masteriyo-single-course--title,
.masteriyo-course--content__title { font-family: var(--pof-display); text-transform: uppercase; color: var(--pof-ink); }

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

html { scroll-behavior: smooth; }
