/* ==========================================================================
   Fixrn Static Pages — comprehensive layout + Kadence override stylesheet
   Loaded ONLY on: template-about.php, template-contact.php,
   template-privacy-policy.php, template-terms-of-service.php
   (see inc/enqueue.php — conditional enqueue keeps this off every other
   page so it can safely be this opinionated.)
   ========================================================================== */

/* --- Hard override: kill Kadence's default title bar / entry header no
   matter what filter/version is running (belt-and-suspenders alongside
   the kadence_title_bar_type filter in inc/hide-title.php). --- */
body.fixrn-hide-title .entry-header,
body.fixrn-hide-title .page-header,
body.fixrn-hide-title .entry-title,
body.fixrn-hide-title .kadence-title-bar,
body.fixrn-hide-title .site-title-bar {
	display: none !important;
}

/* --- Hard override: neutralize Kadence's default content max-width /
   padding on these templates so our own container controls layout. --- */
.fixrn-static-page,
.fixrn-static-page.entry,
.fixrn-static-page .entry-content {
	max-width: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

.fixrn-static-container {
	max-width: 960px;
	margin: 0 auto;
	padding: 0 24px;
}

/* ==========================================================================
   Hero
   ========================================================================== */

.fixrn-static-hero {
	position: relative;
	background-size: cover;
	background-position: center;
	background-color: #1E293B; /* shows while the image loads / if it fails */
	padding: 96px 24px;
	text-align: center;
	color: #fff;
}

.fixrn-static-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(15, 23, 42, 0.75) 0%, rgba(15, 23, 42, 0.55) 100%);
}

.fixrn-static-hero__inner {
	position: relative;
	max-width: 720px;
	margin: 0 auto;
}

.fixrn-static-hero__eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 13px;
	font-weight: 600;
	color: #5EEAD4; /* teal accent */
	margin-bottom: 12px;
}

.fixrn-static-hero__title {
	font-size: clamp(28px, 4vw, 44px);
	line-height: 1.15;
	font-weight: 700;
	margin: 0 0 16px;
	color: #fff !important; /* override Kadence heading color defaults */
}

.fixrn-static-hero__subtitle {
	font-size: 18px;
	line-height: 1.5;
	color: #E2E8F0;
	margin: 0;
}

@media (max-width: 600px) {
	.fixrn-static-hero { padding: 64px 20px; }
}

/* ==========================================================================
   Generic static-page section rhythm
   ========================================================================== */

.fixrn-static-section {
	padding: 48px 0;
	border-bottom: 1px solid #E2E8F0;
}

.fixrn-static-section:last-child {
	border-bottom: none;
}

.fixrn-static-section h2 {
	font-size: 26px;
	margin-bottom: 16px;
}

.fixrn-static-section p {
	font-size: 16px;
	line-height: 1.7;
	color: #334155;
	margin-bottom: 16px;
}

/* ==========================================================================
   About — 3-step "How It Works"
   ========================================================================== */

.fixrn-steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: 24px;
}

.fixrn-step {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 28px 20px;
	text-align: center;
}

.fixrn-step__number {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: #0D9488;
	color: #fff;
	font-weight: 700;
	margin-bottom: 12px;
}

.fixrn-step h3 {
	font-size: 18px;
	margin: 0 0 8px;
}

.fixrn-step p {
	font-size: 14px;
	color: #64748B;
	margin: 0;
}

@media (max-width: 780px) {
	.fixrn-steps { grid-template-columns: 1fr; }
}

/* ==========================================================================
   Contact page — form + sidebar layout
   ========================================================================== */

.fixrn-contact-grid {
	display: grid;
	grid-template-columns: 1.6fr 1fr;
	gap: 48px;
	padding: 56px 24px;
}

@media (max-width: 780px) {
	.fixrn-contact-grid { grid-template-columns: 1fr; padding: 40px 20px; }
}

.fixrn-contact-form-col h2 {
	font-size: 24px;
	margin-bottom: 20px;
}

.fixrn-contact-form .fixrn-form-row {
	margin-bottom: 18px;
}

.fixrn-contact-form label {
	display: block;
	font-weight: 600;
	font-size: 14px;
	margin-bottom: 6px;
	color: #1E293B;
}

.fixrn-contact-form input[type="text"],
.fixrn-contact-form input[type="email"],
.fixrn-contact-form textarea {
	width: 100%;
	padding: 12px 14px;
	border: 1px solid #CBD5E1;
	border-radius: 8px;
	font-size: 15px;
	font-family: inherit;
	box-sizing: border-box;
}

.fixrn-contact-form input:focus,
.fixrn-contact-form textarea:focus {
	outline: none;
	border-color: #0D9488;
	box-shadow: 0 0 0 3px rgba(13, 148, 136, 0.15);
}

.fixrn-hp-field {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.fixrn-form-submit {
	background: #0D9488;
	color: #fff;
	border: none;
	border-radius: 8px;
	padding: 14px 28px;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.fixrn-form-submit:hover {
	background: #0F766E;
}

.fixrn-form-notice {
	padding: 14px 16px;
	border-radius: 8px;
	margin-bottom: 20px;
	font-size: 14px;
}

.fixrn-form-notice--success {
	background: #ECFDF5;
	color: #065F46;
	border: 1px solid #A7F3D0;
}

.fixrn-form-notice--error {
	background: #FEF2F2;
	color: #991B1B;
	border: 1px solid #FECACA;
}

.fixrn-contact-card {
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 20px;
	margin-bottom: 20px;
}

.fixrn-contact-card h3 {
	font-size: 15px;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #64748B;
	margin: 0 0 8px;
}

.fixrn-contact-card p {
	margin: 0 0 6px;
	font-size: 15px;
	color: #1E293B;
}

.fixrn-contact-note {
	font-size: 13px !important;
	color: #94A3B8 !important;
}

/* ==========================================================================
   Legal docs — Privacy Policy / Terms of Service
   ========================================================================== */

.fixrn-legal-container {
	display: grid;
	grid-template-columns: 240px 1fr;
	gap: 48px;
	padding: 56px 24px;
	align-items: start;
}

@media (max-width: 860px) {
	.fixrn-legal-container { grid-template-columns: 1fr; padding: 40px 20px; }
}

.fixrn-legal-toc {
	position: sticky;
	top: 24px;
	background: #F8FAFC;
	border: 1px solid #E2E8F0;
	border-radius: 12px;
	padding: 20px;
}

.fixrn-legal-toc ol {
	margin: 0;
	padding-left: 20px;
	font-size: 14px;
}

.fixrn-legal-toc li {
	margin-bottom: 10px;
}

.fixrn-legal-toc a {
	color: #0D9488;
	text-decoration: none;
}

.fixrn-legal-toc a:hover {
	text-decoration: underline;
}

.fixrn-legal-body section {
	margin-bottom: 40px;
	scroll-margin-top: 24px;
}

.fixrn-legal-body h2 {
	font-size: 22px;
	margin-bottom: 12px;
	color: #1E293B;
}

.fixrn-legal-body p,
.fixrn-legal-body li {
	font-size: 15px;
	line-height: 1.7;
	color: #334155;
}

.fixrn-legal-body ul {
	padding-left: 20px;
	margin-bottom: 16px;
}
