/* Site-wide visual refresh. Presentation only; functionality remains unchanged. */
:root {
	--site-ink: #15263d;
	--site-ink-deep: #050b16;
	--site-teal: #2563eb;
	--site-teal-dark: #1d4ed8;
	--site-teal-soft: #e5efff;
	--site-coral: #2563eb;
	--site-coral-dark: #050b16;
	--site-sky: #f1f5fa;
	--site-paper: #f8fafc;
	--site-line: #d7e0ec;
	--site-muted: #5f7187;
}

body {
	background: var(--site-paper);
	color: var(--site-ink);
	font-family: "Segoe UI", sans-serif;
}

body,
.iq-widget,
.isb-shell,
.content-hub {
	--iq-primary: var(--site-teal);
	--iq-primary-dark: var(--site-teal-dark);
	--iq-primary-light: #2a9d8f;
	--iq-accent: var(--site-coral);
	--iq-accent-hover: var(--site-coral-dark);
	--iq-bg: var(--site-sky);
	--iq-border: var(--site-line);
	--iq-text: var(--site-ink);
	--iq-text-secondary: var(--site-muted);
	--isb-primary: var(--site-teal);
	--isb-primary-dark: var(--site-teal-dark);
	--isb-primary-light: #2a9d8f;
	--isb-accent: var(--site-coral);
	--isb-accent-hover: var(--site-coral-dark);
	--isb-bg: var(--site-sky);
	--isb-border: var(--site-line);
	--isb-text: var(--site-ink);
	--isb-text-secondary: var(--site-muted);
}

h1, h2, h3, h4,
.iq-logo-text,
.isb-hero h1,
.hub-hero h1 {
	font-family: Georgia, "Times New Roman", serif;
	letter-spacing: 0;
}

.isb-hero {
	background: linear-gradient(135deg, var(--site-ink-deep) 0%, #0b1f3a 58%, #164e9a 100%);
	padding: 88px 0 96px;
}

.isb-hero-grid {
	grid-template-columns: minmax(0, 1.15fr) minmax(360px, .85fr);
	gap: 64px;
	align-items: center;
}

.isb-hero-content {
	max-width: 650px;
}

.isb-hero-video {
	background-position: center 38%;
}

.isb-hero-video video {
	 filter: saturate(.78) contrast(1.08) brightness(.62);
	transform: scale(1.03);
}

.isb-hero-video-overlay {
	background: linear-gradient(105deg, rgba(5, 11, 22, .97) 0%, rgba(8, 31, 67, .88) 48%, rgba(37, 99, 235, .48) 100%);
}

body.home .iq-hero-video {
	background-image: url("../../../../plugins/insurance-site-builder/assets/video/hero-poster.jpg") !important;
	background-size: cover !important;
	background-position: center 38% !important;
	overflow: hidden;
}

body.home .iq-hero-video-el {
	filter: saturate(.7) contrast(1.08) brightness(.52);
	opacity: .34;
	transform: scale(1.03);
}

body.home .iq-hero-video-overlay {
	background: linear-gradient(105deg, rgba(5, 11, 22, .97) 0%, rgba(8, 31, 67, .88) 48%, rgba(37, 99, 235, .48) 100%) !important;
}

body.home .iq-hero-video + .iq-form,
body.home .iq-hero-video ~ .iq-form {
	border-top: 4px solid var(--site-coral) !important;
	box-shadow: 0 18px 40px rgba(16, 42, 53, .18) !important;
}

.isb-hero .isb-eyebrow,
.isb-trust-item svg {
	color: #93c5fd;
}

.isb-hero h1 { font-size: clamp(38px, 5vw, 58px); }

.isb-quote.isb-hero-quote,
.iq-widget,
.iq-company-card,
.iq-result-card,
.isb-card,
.article-card,
.faq-item,
.company-page-card {
	border-color: var(--site-line);
	border-radius: 16px;
	box-shadow: 0 14px 35px rgba(16, 42, 53, .09);
}

.isb-quote.isb-hero-quote {
	border-top: 4px solid var(--site-coral);
	transform: translateY(8px);
}

.iq-submit-btn,
.iq-cta,
.iq-quote-btn,
.header-cta-btn,
.wp-element-button,
.company-page-button {
	background: var(--site-coral) !important;
	border-color: var(--site-coral) !important;
	color: #fff !important;
	border-radius: 10px !important;
	box-shadow: 0 8px 18px rgba(8, 32, 41, .24);
}

.iq-submit-btn:hover,
.iq-cta:hover,
.iq-quote-btn:hover,
.header-cta-btn:hover,
.wp-element-button:hover,
.company-page-button:hover {
	background: var(--site-coral-dark) !important;
	border-color: var(--site-coral-dark) !important;
}

.iq-zip-input,
.iq-input,
.iq-form input,
.iq-form select,
.iq-form textarea {
	border-color: var(--site-line) !important;
	border-radius: 10px !important;
	background: #fff !important;
}

.iq-zip-input:focus,
.iq-form input:focus,
.iq-form select:focus,
.iq-form textarea:focus {
	border-color: var(--site-teal) !important;
	box-shadow: 0 0 0 3px rgba(15, 118, 110, .14) !important;
}

.iq-widget { background: transparent; }

.iq-company-card:hover,
.article-card:hover,
.company-page-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 38px rgba(16, 42, 53, .14);
}

.iq-company-card,
.article-card,
.company-page-card { transition: transform .25s ease, box-shadow .25s ease; }

.hub-hero {
	background: linear-gradient(135deg, var(--site-ink-deep), #0b1f3a);
	border-bottom: 0;
	color: #fff;
}

.hub-hero h1,
.hub-hero p,
.hub-hero .hub-kicker,
.hub-hero .hub-stats strong,
.hub-hero .hub-stats span { color: #fff; }

.hub-kicker,
.article-label,
.article-more,
.hub-result-count { color: var(--site-teal) !important; }

.hub-hero .hub-kicker { color: #93c5fd !important; }

.content-hub { background: var(--site-paper); }
.hub-section-title { border-bottom-color: var(--site-line); }
.faq-item summary i { color: var(--site-coral); }
.faq-item[open] { border-color: var(--site-teal); }

.iq-header {
	--iq-bg: #050b16;
	--iq-text: #d9e6f5;
	--iq-navy: var(--site-ink);
	--iq-navy-dark: var(--site-ink-deep);
	--iq-cta: var(--site-coral);
	--iq-cta-dark: var(--site-coral-dark);
	--iq-gradient-bar: linear-gradient(90deg, var(--site-teal), #60a5fa);
	border-bottom-color: rgba(96, 165, 250, .24);
}

@media (min-width: 901px) {
	.iq-header .iq-top-link,
	.iq-header .iq-logo-text {
		color: #d9e6f5;
	}

	.iq-header .iq-top-link:hover,
	.iq-header .iq-menu-item.current-menu-item > .iq-top-link {
		color: #ffffff;
	}

	.iq-top-link:hover,
	.iq-menu-item.current-menu-item > .iq-top-link { color: var(--site-teal); }
	.iq-top-link::after { background: var(--site-coral); }
	.iq-submenu { border-top-color: var(--site-coral) !important; }
}

.csf-footer {
	--csf-ink: #dbeafe;
	--csf-slate: #a9bad0;
	--csf-accent: #60a5fa;
	background: linear-gradient(135deg, var(--site-ink-deep), #0b1f3a);
}

.csf-socials a:hover { background: var(--site-coral); border-color: var(--site-coral); }

body button,
body input[type="submit"],
body input[type="button"],
body .button,
body .wp-element-button,
body .iq-submit-btn,
body .iq-cta,
body .iq-quote-btn,
body .header-cta-btn,
body .company-page-button,
body .footer-quote-form button {
	background: #2563eb !important;
	border-color: #2563eb !important;
	color: #fff !important;
}

body .iq-widget.iq-widget--form-only .iq-submit-btn,
body .footer-quote-form button,
body .footer-quote-form-widget .iq-widget--v3 .iq-submit-btn {
	background: #2563eb !important;
	border-color: #2563eb !important;
}

body button:hover,
body input[type="submit"]:hover,
body input[type="button"]:hover,
body .button:hover,
body .wp-element-button:hover,
body .iq-submit-btn:hover,
body .iq-cta:hover,
body .iq-quote-btn:hover,
body .header-cta-btn:hover,
body .company-page-button:hover,
body .footer-quote-form button:hover {
	background: #1d4ed8 !important;
	border-color: #1d4ed8 !important;
	color: #fff !important;
}

body .iq-widget.iq-widget--form-only .iq-submit-btn:hover,
body .footer-quote-form button:hover,
body .footer-quote-form-widget .iq-widget--v3 .iq-submit-btn:hover {
	background: #1d4ed8 !important;
	border-color: #1d4ed8 !important;
}

.iq-submit-btn,
.iq-cta,
.iq-quote-btn,
.header-cta-btn,
.wp-element-button,
.company-page-button {
	font-weight: 700;
	letter-spacing: .01em;
}

@media (max-width: 760px) {
	.isb-hero { padding: 64px 0 72px; }
	.isb-hero-grid { grid-template-columns: 1fr; gap: 28px; }
	.isb-hero h1 { font-size: 40px; }
	.iq-header-inner { padding: 0 18px; }
	.isb-quote.isb-hero-quote { transform: none; }
}