/* =========================================================
   CashOut Equity Pro — Main Stylesheet
   Modern CSS: variables, flexbox, grid, responsive.
   ========================================================= */

:root {
	--coep-primary: #0057FF;
	--coep-primary-dark: #0044CC;
	--coep-secondary: #0F172A;
	--coep-accent: #22C55E;
	--coep-bg: #F8FAFC;
	--coep-border: #E5E7EB;
	--coep-text: #111827;
	--coep-text-muted: #4B5563;
	--coep-white: #FFFFFF;

	--coep-font-heading: 'Poppins', sans-serif;
	--coep-font-body: 'Inter', sans-serif;

	--coep-radius-sm: 8px;
	--coep-radius-md: 14px;
	--coep-radius-lg: 24px;

	--coep-shadow-sm: 0 2px 8px rgba(15, 23, 42, 0.06);
	--coep-shadow-md: 0 8px 24px rgba(15, 23, 42, 0.10);
	--coep-shadow-lg: 0 16px 48px rgba(15, 23, 42, 0.14);

	--coep-container: 1200px;
	--coep-transition: 0.2s ease;
}

/* ---------- Reset & Base ---------- */
*, *::before, *::after { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
	margin: 0;
	font-family: var(--coep-font-body);
	color: var(--coep-text);
	background: var(--coep-bg);
	line-height: 1.6;
	font-size: 16px;
	-webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }

a { color: var(--coep-primary); text-decoration: none; transition: color var(--coep-transition); }
a:hover { color: var(--coep-primary-dark); }

h1, h2, h3, h4 {
	font-family: var(--coep-font-heading);
	color: var(--coep-secondary);
	line-height: 1.25;
	margin: 0 0 0.6em;
	font-weight: 700;
}

h1 { font-size: clamp(2rem, 4vw + 1rem, 3.25rem); }
h2 { font-size: clamp(1.5rem, 2.5vw + 1rem, 2.25rem); }
h3 { font-size: 1.15rem; }

p { margin: 0 0 1em; color: var(--coep-text-muted); }

ul, ol { margin: 0; padding: 0; list-style: none; }

button { font-family: inherit; cursor: pointer; }

/* Accessibility: visible focus states */
a:focus-visible,
button:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
	outline: 3px solid var(--coep-primary);
	outline-offset: 2px;
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.coep-skip-link {
	position: absolute;
	top: -100px;
	left: 0;
	background: var(--coep-secondary);
	color: var(--coep-white);
	padding: 12px 20px;
	z-index: 10000;
	border-radius: 0 0 var(--coep-radius-sm) 0;
	transition: top var(--coep-transition);
}
.coep-skip-link:focus { top: 0; color: var(--coep-white); }

.coep-container {
	max-width: var(--coep-container);
	margin: 0 auto;
	padding: 0 24px;
}

.coep-section-title {
	text-align: center;
	margin-bottom: 2.5rem;
}

/* ---------- Buttons ---------- */
.coep-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: var(--coep-radius-sm);
	font-weight: 600;
	font-size: 1rem;
	font-family: var(--coep-font-heading);
	border: 2px solid transparent;
	transition: transform var(--coep-transition), box-shadow var(--coep-transition), background var(--coep-transition);
	cursor: pointer;
}
.coep-btn:hover { transform: translateY(-2px); }

.coep-btn-primary {
	background: var(--coep-primary);
	color: var(--coep-white);
	box-shadow: var(--coep-shadow-sm);
}
.coep-btn-primary:hover { background: var(--coep-primary-dark); color: var(--coep-white); box-shadow: var(--coep-shadow-md); }

.coep-btn-secondary {
	background: transparent;
	color: var(--coep-secondary);
	border-color: var(--coep-border);
}
.coep-btn-secondary:hover { border-color: var(--coep-primary); color: var(--coep-primary); }

.coep-btn-lg { padding: 18px 36px; font-size: 1.05rem; }

/* ---------- Header ---------- */
.coep-header {
	background: var(--coep-white);
	border-bottom: 1px solid var(--coep-border);
	position: sticky;
	top: 0;
	z-index: 999;
}

.coep-header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding-top: 14px;
	padding-bottom: 14px;
}

.coep-header-logo img { max-height: 48px; width: auto; }
.coep-logo-text {
	font-family: var(--coep-font-heading);
	font-weight: 800;
	font-size: 1.35rem;
	color: var(--coep-secondary);
}

.coep-primary-nav { flex: 1; display: flex; justify-content: center; }
.coep-menu { display: flex; gap: 28px; }
.coep-menu a { color: var(--coep-secondary); font-weight: 500; }

.coep-header-actions { display: flex; align-items: center; gap: 16px; }

.coep-mobile-toggle {
	display: none;
	background: none;
	border: none;
	padding: 8px;
}
.coep-hamburger,
.coep-hamburger::before,
.coep-hamburger::after {
	display: block;
	width: 24px;
	height: 2px;
	background: var(--coep-secondary);
	position: relative;
	transition: transform var(--coep-transition);
}
.coep-hamburger::before,
.coep-hamburger::after {
	content: "";
	position: absolute;
}
.coep-hamburger::before { top: -7px; }
.coep-hamburger::after { top: 7px; }

/* ---------- Breadcrumbs ---------- */
.coep-breadcrumbs { background: var(--coep-white); border-bottom: 1px solid var(--coep-border); padding: 10px 0; }
.coep-breadcrumbs ol { display: flex; gap: 6px; max-width: var(--coep-container); margin: 0 auto; padding: 0 24px; font-size: 0.85rem; color: var(--coep-text-muted); }
.coep-breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 6px; color: var(--coep-border); }

/* ---------- Hero ---------- */
.coep-hero { padding: 64px 0; overflow: hidden; }

.coep-hero-grid {
	display: grid;
	grid-template-columns: 1.1fr 1fr;
	gap: 48px;
	align-items: center;
}

.coep-hero-headline { margin-bottom: 0.5em; }
.coep-hero-subheadline { font-size: 1.15rem; margin-bottom: 1.5em; }

.coep-hero-benefits { display: flex; flex-direction: column; gap: 10px; margin-bottom: 1.75em; }
.coep-hero-benefits li { display: flex; align-items: center; gap: 10px; font-weight: 500; color: var(--coep-secondary); }
.coep-check {
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px; border-radius: 50%;
	background: var(--coep-accent); color: var(--coep-white); font-size: 0.75rem; flex-shrink: 0;
}

.coep-hero-ctas { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 2em; }

.coep-trust-badges { display: flex; flex-wrap: wrap; gap: 20px; }
.coep-trust-badge { display: flex; align-items: center; gap: 6px; font-size: 0.9rem; color: var(--coep-text-muted); font-weight: 500; }

.coep-hero-image,
.coep-hero-image-placeholder {
	border-radius: var(--coep-radius-lg);
	box-shadow: var(--coep-shadow-lg);
	width: 100%;
}
.coep-hero-image-placeholder {
	aspect-ratio: 4 / 3;
	background: linear-gradient(135deg, var(--coep-primary) 0%, var(--coep-secondary) 100%);
	display: flex; align-items: center; justify-content: center;
	color: var(--coep-white); text-align: center; padding: 24px; font-weight: 600;
}

/* ---------- Benefits ---------- */
.coep-benefits { padding: 64px 0; background: var(--coep-white); }
.coep-benefits-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.coep-benefit-card {
	background: var(--coep-bg);
	border: 1px solid var(--coep-border);
	border-radius: var(--coep-radius-md);
	padding: 32px 24px;
	text-align: center;
	transition: transform var(--coep-transition), box-shadow var(--coep-transition);
}
.coep-benefit-card:hover { transform: translateY(-4px); box-shadow: var(--coep-shadow-md); }
.coep-benefit-icon { font-size: 2rem; display: block; margin-bottom: 12px; }
.coep-benefit-title { margin-bottom: 0.4em; }
.coep-benefit-text { font-size: 0.95rem; margin: 0; }

/* ---------- Process / Timeline ---------- */
.coep-process { padding: 64px 0; }
.coep-process-timeline {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 32px;
	position: relative;
}
.coep-process-timeline::before {
	content: "";
	position: absolute;
	top: 28px;
	left: 16.5%;
	right: 16.5%;
	height: 2px;
	background: var(--coep-border);
	z-index: 0;
}
.coep-process-step {
	position: relative;
	z-index: 1;
	text-align: center;
	background: var(--coep-bg);
	padding: 0 8px;
}
.coep-process-number {
	display: flex; align-items: center; justify-content: center;
	width: 56px; height: 56px; border-radius: 50%;
	background: var(--coep-primary); color: var(--coep-white);
	font-family: var(--coep-font-heading); font-weight: 700; font-size: 1.25rem;
	margin: 0 auto 16px;
	box-shadow: var(--coep-shadow-sm);
}
.coep-process-icon { display: block; font-size: 1.75rem; margin-bottom: 8px; }
.coep-process-title { margin-bottom: 0.4em; }

/* ---------- Lead Form ---------- */
.coep-lead-form-section { padding: 64px 0; background: var(--coep-secondary); }
.coep-lead-form-grid {
	display: grid;
	grid-template-columns: 1fr 1.2fr;
	gap: 48px;
	align-items: start;
}
.coep-lead-form-intro h2 { color: var(--coep-white); text-align: left; }
.coep-lead-form-intro p { color: #CBD5E1; }
.coep-lead-form-points li {
	color: var(--coep-white);
	padding-left: 28px;
	position: relative;
	margin-bottom: 10px;
}
.coep-lead-form-points li::before {
	content: "\2713";
	position: absolute; left: 0; top: 0;
	color: var(--coep-accent); font-weight: 700;
}
.coep-lead-form-card {
	background: var(--coep-white);
	border-radius: var(--coep-radius-lg);
	padding: 32px;
	box-shadow: var(--coep-shadow-lg);
}
.coep-admin-notice { color: #B91C1C; font-weight: 600; }

/* ---------- Trust Section ---------- */
.coep-trust-section { padding: 56px 0; background: var(--coep-white); }
.coep-trust-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	text-align: center;
}
.coep-trust-item { padding: 16px; }
.coep-trust-icon { font-size: 1.75rem; display: block; margin-bottom: 8px; }
.coep-trust-item p { font-size: 0.9rem; }

/* ---------- Testimonials ---------- */
.coep-testimonials { padding: 64px 0; }
.coep-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
.coep-testimonial-card {
	background: var(--coep-white);
	border: 1px solid var(--coep-border);
	border-radius: var(--coep-radius-md);
	padding: 28px;
	margin: 0;
}
.coep-testimonial-card blockquote { margin: 0 0 16px; font-style: italic; color: var(--coep-text); }
.coep-testimonial-card figcaption { display: flex; flex-direction: column; font-size: 0.85rem; }
.coep-testimonial-name { font-weight: 700; color: var(--coep-secondary); }
.coep-testimonial-loc { color: var(--coep-text-muted); }
.coep-testimonials-disclaimer { text-align: center; font-size: 0.8rem; margin-top: 24px; }

/* ---------- FAQ Accordion ---------- */
.coep-faq { padding: 64px 0; background: var(--coep-white); }
.coep-faq-list { max-width: 800px; margin: 0 auto; }
.coep-faq-item { border-bottom: 1px solid var(--coep-border); }
.coep-faq-question-wrap { margin: 0; }
.coep-faq-question {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: none;
	border: none;
	padding: 20px 4px;
	text-align: left;
	font-family: var(--coep-font-heading);
	font-weight: 600;
	font-size: 1rem;
	color: var(--coep-secondary);
}
.coep-faq-icon {
	flex-shrink: 0;
	width: 28px; height: 28px;
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%;
	background: var(--coep-bg);
	transition: transform var(--coep-transition);
	font-size: 1.1rem;
}
.coep-faq-question[aria-expanded="true"] .coep-faq-icon { transform: rotate(45deg); background: var(--coep-primary); color: var(--coep-white); }
.coep-faq-answer { padding: 0 4px 20px; }
.coep-faq-answer p { margin: 0; }

/* ---------- Final CTA ---------- */
.coep-final-cta {
	padding: 72px 0;
	background: linear-gradient(135deg, var(--coep-primary) 0%, var(--coep-primary-dark) 100%);
	text-align: center;
}
.coep-final-cta-inner { max-width: 700px; margin: 0 auto; }
.coep-final-cta-title { color: var(--coep-white); }
.coep-final-cta-text { color: rgba(255,255,255,0.9); font-size: 1.1rem; margin-bottom: 1.5em; }
.coep-final-cta .coep-btn-primary { background: var(--coep-white); color: var(--coep-primary); }
.coep-final-cta .coep-btn-primary:hover { background: var(--coep-bg); }

/* ---------- Footer ---------- */
.coep-footer { background: var(--coep-secondary); color: #CBD5E1; padding-top: 48px; }
.coep-footer-top {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr;
	gap: 32px;
	padding-bottom: 32px;
	border-bottom: 1px solid rgba(255,255,255,0.1);
}
.coep-footer-brand .coep-logo-text,
.coep-footer-brand .custom-logo { filter: brightness(0) invert(1); }
.coep-footer-tagline { color: #94A3B8; margin-top: 12px; }
.coep-footer-menu { display: flex; flex-direction: column; gap: 10px; }
.coep-footer-menu a { color: #CBD5E1; }
.coep-footer-menu a:hover { color: var(--coep-white); }
.footer-widget-title { color: var(--coep-white); }
.coep-footer-bottom { padding: 24px 0; }
.coep-footer-disclaimer { font-size: 0.78rem; color: #94A3B8; max-width: 900px; }
.coep-footer-copyright { font-size: 0.8rem; color: #94A3B8; margin: 0; }

/* ---------- Blog / Page layouts ---------- */
.coep-page-layout { display: grid; grid-template-columns: 1fr 300px; gap: 48px; padding: 48px 0; }
.coep-page-content { min-width: 0; }
.coep-page-title { margin-bottom: 0.3em; }
.coep-post-meta { color: var(--coep-text-muted); font-size: 0.9rem; margin-bottom: 2em; }
.coep-page-thumbnail { margin-bottom: 2em; border-radius: var(--coep-radius-md); overflow: hidden; }
.coep-page-body img { border-radius: var(--coep-radius-sm); }

.coep-post-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 24px; }
.coep-post-card { background: var(--coep-white); border: 1px solid var(--coep-border); border-radius: var(--coep-radius-md); overflow: hidden; }
.coep-post-card-thumb img { aspect-ratio: 4/3; object-fit: cover; }
.coep-post-card-body { padding: 20px; }
.coep-read-more { font-weight: 600; }

.coep-sidebar .widget { margin-bottom: 32px; }
.widget-title { font-size: 1.1rem; }

/* ---------- Legal Pages (Privacy Policy, Terms, Disclaimer) ---------- */
.coep-legal-layout { grid-template-columns: 1fr; max-width: 820px; margin: 0 auto; }
.coep-legal-updated { color: var(--coep-text-muted); font-size: 0.9rem; margin-top: 0.25em; }
.coep-legal-body h2 { margin-top: 1.5em; font-size: 1.2rem; }
.coep-legal-body p { margin-bottom: 1em; }
.coep-legal-list { list-style: disc; padding-left: 1.5em; margin-bottom: 1em; }
.coep-legal-list li { margin-bottom: 0.4em; color: var(--coep-text-muted); }
.coep-legal-disclaimer-note {
	margin-top: 2em;
	padding: 16px 20px;
	background: var(--coep-bg);
	border: 1px solid var(--coep-border);
	border-radius: var(--coep-radius-sm);
	font-size: 0.85rem;
	color: var(--coep-text-muted);
}

/* ---------- Contact Page ---------- */
.coep-contact-details {
	background: var(--coep-white);
	border: 1px solid var(--coep-border);
	border-radius: var(--coep-radius-md);
	padding: 24px 28px;
	margin: 1.5em 0;
}
.coep-contact-details p { margin-bottom: 0.6em; color: var(--coep-text); }
.coep-contact-details strong { color: var(--coep-secondary); margin-right: 6px; }
.coep-contact-form-wrap {
	margin-top: 2em;
	background: var(--coep-white);
	border: 1px solid var(--coep-border);
	border-radius: var(--coep-radius-md);
	padding: 24px;
}

/* ---------- 404 ---------- */
.coep-404-inner { text-align: center; padding: 96px 24px; max-width: 600px; margin: 0 auto; }
.coep-404-search { margin-top: 24px; }

/* ---------- Thank You Page ---------- */
.coep-thank-you-inner { max-width: 640px; margin: 0 auto; padding: 96px 24px; text-align: center; }
.coep-success-icon {
	width: 80px; height: 80px; border-radius: 50%;
	background: var(--coep-accent); color: var(--coep-white);
	display: flex; align-items: center; justify-content: center;
	font-size: 2.25rem; margin: 0 auto 24px;
}
.coep-thank-you-next-steps { text-align: left; background: var(--coep-white); border: 1px solid var(--coep-border); border-radius: var(--coep-radius-md); padding: 24px 32px; margin: 32px 0; }
.coep-thank-you-next-steps ol { list-style: decimal; padding-left: 20px; }
.coep-thank-you-next-steps li { margin-bottom: 8px; color: var(--coep-text); }

/* =========================================================
   RESPONSIVE
   ========================================================= */

/* Laptop */
@media (max-width: 1100px) {
	.coep-benefits-grid { grid-template-columns: repeat(2, 1fr); }
	.coep-testimonials-grid { grid-template-columns: 1fr; }
	.coep-page-layout { grid-template-columns: 1fr; }
	.coep-sidebar { order: 2; }
}

/* Tablet */
@media (max-width: 900px) {
	.coep-primary-nav { display: none; }
	.coep-mobile-toggle { display: block; }

	.coep-hero-grid { grid-template-columns: 1fr; }
	.coep-hero-media { order: -1; }

	.coep-lead-form-grid { grid-template-columns: 1fr; }
	.coep-lead-form-intro h2 { text-align: center; }

	.coep-trust-grid { grid-template-columns: 1fr; }
	.coep-process-timeline { grid-template-columns: 1fr; gap: 40px; }
	.coep-process-timeline::before { display: none; }

	.coep-footer-top { grid-template-columns: 1fr; }
	.coep-post-grid { grid-template-columns: 1fr; }
}

/* Mobile */
@media (max-width: 600px) {
	.coep-container { padding: 0 16px; }
	.coep-benefits-grid { grid-template-columns: 1fr; }
	.coep-hero-ctas { flex-direction: column; }
	.coep-hero-ctas .coep-btn { width: 100%; }
}

/* Small mobile */
@media (max-width: 380px) {
	.coep-header-cta { padding: 10px 16px; font-size: 0.85rem; }
	h1 { font-size: 1.75rem; }
}

/* Mobile nav open state */
.coep-primary-nav.is-open {
	display: flex !important;
	position: absolute;
	top: 100%;
	left: 0;
	right: 0;
	background: var(--coep-white);
	flex-direction: column;
	padding: 16px 24px;
	border-bottom: 1px solid var(--coep-border);
	box-shadow: var(--coep-shadow-md);
}
.coep-primary-nav.is-open .coep-menu { flex-direction: column; gap: 16px; }
