/* ==========================================================================
   FAQ page (94, /faq/) — topic groups with a sticky "Browse by topic" menu,
   live search and a "Still have a question?" card. Loaded by
   cg_faq_page_assets(); behaviour in faq.js; search box from [cg_faq_search].

   Each topic (.cgfaq-group, id faq-<topic>) = icon + title + intro + an
   Elementor Accordion (.cgfaq-acc). Accordion colours / icons / padding
   live in the widget settings (same look as the home page FAQ); this file
   only adds spacing, rounded corners and fonts to it.
   ========================================================================== */

body.page-id-94 {
	--fq-ink: #0C1825;
	--fq-body: #5A6678;
	--fq-muted: #8793A3;
	--fq-line: #E1E5EB;
	--fq-mist: #F4F6F9;
	--fq-accent: #1B3FA0;
	--fq-accent-2: #3563E0;
	--fq-ice: #9DB8FF;
	--fq-tint: #EAF0FD;
	--fq-head: "Space Grotesk", Inter, sans-serif;
	--fq-mono: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
}
body.page-id-94 .elementor-element-fqp0body { background: var(--fq-mist); }

/* ── Layout: sticky sidebar + questions ──────────────────────────────── */
.elementor-element.elementor-element-fqp0aside {
	flex: 0 0 280px;
	position: sticky;
	top: 110px;
	align-self: flex-start;
}
.elementor-element.elementor-element-fqp0main { flex: 1 1 auto; min-width: 0; }
.cgfaq-group { scroll-margin-top: 110px; }
.cgfaq-group[hidden] { display: none !important; }

/* ── Sidebar: topic menu ─────────────────────────────────────────────── */
.elementor-element.elementor-element-fqp0navbox {
	padding: 20px 14px 14px !important;
	border: 1px solid var(--fq-line);
	border-radius: 16px;
	background: #fff;
}
.cgfaq-aside-label { padding: 0 8px; }
.cgfaq-aside-label .elementor-heading-title {
	font: 500 11.5px/1.3 var(--fq-mono) !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: var(--fq-muted) !important;
}
.cgfaq-nav .elementor-icon-list-items { display: flex; flex-direction: column; gap: 2px; }
.cgfaq-nav .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.cgfaq-nav .elementor-icon-list-item::after { display: none !important; }
.cgfaq-nav .elementor-icon-list-item > a {
	display: flex !important;
	align-items: center;
	gap: 12px;
	width: 100%;
	padding: 10px 10px;
	border-radius: 10px;
	text-decoration: none !important;
	transition: background-color .2s ease;
}
.cgfaq-nav .elementor-icon-list-icon {
	display: grid !important;
	place-items: center;
	flex: none;
	width: 34px;
	height: 34px;
	border-radius: 9px;
	background: var(--fq-mist);
	transition: background-color .2s ease;
}
.cgfaq-nav .elementor-icon-list-icon svg { width: 15px !important; height: 15px !important; fill: var(--fq-body) !important; transition: fill .2s ease; }
body:not(#cg-type):not(#cgfq) .cgfaq-nav .elementor-icon-list-text {
	flex: 1 1 auto;
	padding: 0 !important;
	font: 500 15px/1.3 Inter, sans-serif !important;
	color: var(--fq-ink) !important;
}
.cgfaq-nav__n {
	flex: none;
	min-width: 26px;
	padding: 3px 8px;
	border-radius: 999px;
	background: var(--fq-mist);
	font: 600 12px/1.3 Inter, sans-serif;
	text-align: center;
	color: var(--fq-body);
}
.cgfaq-nav .elementor-icon-list-item > a:hover { background: var(--fq-mist); }
.cgfaq-nav .elementor-icon-list-item.is-active > a { background: var(--fq-tint); }
.cgfaq-nav .elementor-icon-list-item.is-active .elementor-icon-list-icon { background: var(--fq-accent); }
.cgfaq-nav .elementor-icon-list-item.is-active .elementor-icon-list-icon svg { fill: #fff !important; }
body:not(#cg-type):not(#cgfq) .cgfaq-nav .elementor-icon-list-item.is-active .elementor-icon-list-text { color: var(--fq-accent) !important; font-weight: 600 !important; }
.cgfaq-nav .elementor-icon-list-item.is-active .cgfaq-nav__n { background: #fff; color: var(--fq-accent); }
.cgfaq-nav .elementor-icon-list-item.is-empty { opacity: .45; }

/* ── Sidebar: help card ──────────────────────────────────────────────── */
.elementor-element.elementor-element-fqp0help {
	position: relative;
	overflow: hidden;
	background-image:
		radial-gradient(260px 200px at 100% 0%, rgba(59, 99, 214, .45), rgba(59, 99, 214, 0) 70%),
		linear-gradient(rgba(157, 184, 255, .06) 1px, transparent 1px),
		linear-gradient(90deg, rgba(157, 184, 255, .06) 1px, transparent 1px) !important;
	background-size: auto, 28px 28px, 28px 28px !important;
}
.cgfaq-help-eyebrow .elementor-heading-title {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font: 500 11.5px/1.3 var(--fq-mono) !important;
	letter-spacing: .18em !important;
	text-transform: uppercase !important;
	color: var(--fq-ice) !important;
}
.cgfaq-help-eyebrow .elementor-heading-title::before { content: ""; width: 20px; height: 1px; background: currentColor; }
body:not(#cg-type):not(#cgfq) .cgfaq-help-title .elementor-heading-title { font: 600 22px/1.25 var(--fq-head) !important; color: #fff !important; }
body:not(#cg-type):not(#cgfq) .cgfaq-help-text p { margin: 0; font: 400 14.5px/1.6 Inter, sans-serif !important; color: rgba(214, 224, 245, .8) !important; }
.cgfaq-help-text a { color: #fff !important; font-weight: 600; text-decoration: none; }
.cgfaq-help-btn { margin-top: 6px; }
.cgfaq-help-btn .elementor-button {
	width: 100%;
	padding: 14px 18px !important;
	border-radius: 10px !important;
	background: var(--fq-accent) !important;
	color: #fff !important;
	transition: background-color .25s ease;
}
.cgfaq-help-btn .elementor-button:hover { background: var(--fq-accent-2) !important; }
.cgfaq-help-btn .elementor-button-content-wrapper { align-items: center; gap: 8px; }
.cgfaq-help-btn .elementor-button-icon svg { width: 12px; height: 12px; fill: currentColor !important; }

/* ── Search ──────────────────────────────────────────────────────────── */
.cgfaq-search { position: relative; }
.cgfaq-search__icon {
	position: absolute;
	left: 20px;
	top: 50%;
	width: 20px;
	height: 20px;
	margin-top: -10px;
	fill: none;
	stroke: var(--fq-muted);
	stroke-width: 2;
	stroke-linecap: round;
	pointer-events: none;
}
.cgfaq-search:focus-within .cgfaq-search__icon { stroke: var(--fq-accent); }
body .cgfaq-search input.cgfaq-search__input {
	box-sizing: border-box;
	display: block;
	width: 100%;
	height: 60px;
	margin: 0;
	padding: 0 56px 0 54px;
	border: 1px solid var(--fq-line);
	border-radius: 14px;
	background: #fff;
	box-shadow: 0 18px 40px -30px rgba(7, 17, 31, .35);
	font: 400 16px/1.4 Inter, sans-serif;
	color: var(--fq-ink);
	outline: 0;
	-webkit-appearance: none;
	        appearance: none;
	transition: border-color .2s ease, box-shadow .2s ease;
}
body .cgfaq-search input.cgfaq-search__input::placeholder { color: var(--fq-muted); opacity: 1; }
body .cgfaq-search input.cgfaq-search__input::-webkit-search-cancel-button { display: none; -webkit-appearance: none; }
body .cgfaq-search input.cgfaq-search__input:focus { border-color: var(--fq-accent); box-shadow: 0 0 0 4px rgba(27, 63, 160, .12); }
body .cgfaq-search button.cgfaq-search__clear {
	position: absolute;
	right: 12px;
	top: 50%;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	margin: -18px 0 0;
	padding: 0;
	border: 0;
	border-radius: 10px;
	background: transparent;
	color: var(--fq-body);
	cursor: pointer;
}
body .cgfaq-search button.cgfaq-search__clear[hidden] { display: none; }
body .cgfaq-search button.cgfaq-search__clear:hover { background: var(--fq-tint); color: var(--fq-accent); }
.cgfaq-search__clear svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2.2; stroke-linecap: round; }
.cgfaq-status { margin: 12px 4px 0 !important; font: 500 13px/1.3 Inter, sans-serif; color: var(--fq-muted); }
.cgfaq-status:empty { display: none; }
.cgfaq-empty { margin-top: 20px; padding: 44px 24px; border: 1px dashed #CBD3DE; border-radius: 16px; background: #fff; text-align: center; }
.cgfaq-empty[hidden] { display: none; }
.cgfaq-empty .cgfaq-empty__title { margin: 0 0 6px; font: 600 19px/1.3 var(--fq-head); color: var(--fq-ink); }
.cgfaq-empty .cgfaq-empty__text { margin: 0; font-size: 15px; color: var(--fq-body); }
.cgfaq-empty a { color: var(--fq-accent); }
.cgfaq-acc mark { padding: 0 2px; border-radius: 3px; background: #FFE9A8; color: inherit; }
.cgfaq-acc .elementor-accordion-item.cgfaq-hide { display: none !important; }

/* ── Topic heading ───────────────────────────────────────────────────── */
.cgfaq-group-icon .elementor-icon { box-shadow: inset 0 0 0 1px rgba(27, 63, 160, .12); }
body:not(#cg-type):not(#cgfq) .cgfaq-group-title .elementor-heading-title {
	font: 600 clamp(24px, 1.2rem + .8vw, 30px)/1.2 var(--fq-head) !important;
	letter-spacing: -.02em !important;
	color: var(--fq-ink) !important;
}
.cgfaq-group-desc .elementor-heading-title { font: 400 15px/1.5 Inter, sans-serif !important; color: var(--fq-body) !important; }

/* ── Accordion: spacing, rounded corners, fonts only ─────────────────── */
.cgfaq-acc .elementor-accordion { display: flex; flex-direction: column; gap: 10px; }
.cgfaq-acc .elementor-accordion-item {
	overflow: hidden;
	border-radius: 14px;
	background: #fff;
	transition: box-shadow .25s ease;
}
.cgfaq-acc .elementor-accordion-item + .elementor-accordion-item { border-top-style: solid !important; border-top-width: 1px !important; }
.cgfaq-acc .elementor-accordion-item:hover { box-shadow: 0 14px 30px -24px rgba(7, 17, 31, .4); }
.cgfaq-acc .elementor-tab-content { border-top: 0 !important; }
body:not(#cg-type):not(#cgfq) .cgfaq-acc .elementor-tab-title,
body:not(#cg-type):not(#cgfq) .cgfaq-acc .elementor-tab-title a { font: 600 17px/1.45 var(--fq-head) !important; letter-spacing: -.005em !important; }
body:not(#cg-type):not(#cgfq) .cgfaq-acc .elementor-tab-content,
body:not(#cg-type):not(#cgfq) .cgfaq-acc .elementor-tab-content p { font: 400 16px/1.75 Inter, sans-serif !important; }
.cgfaq-acc .elementor-tab-content p:last-child { margin-bottom: 0; }
.cgfaq-acc .elementor-tab-content a { color: var(--fq-accent); text-decoration: underline; text-underline-offset: 3px; }

/* ── Tablet / phone: menu becomes a sideways chip row, help card hides ─ */
@media (max-width: 1024px) {
	.elementor-element.elementor-element-fqp0aside { position: static; flex-basis: auto; width: 100%; }
	.elementor-element.elementor-element-fqp0help { display: none !important; }
	.elementor-element.elementor-element-fqp0navbox { padding: 0 !important; border: 0; background: transparent; }
	.cgfaq-aside-label { display: none; }
	.cgfaq-nav .elementor-icon-list-items {
		flex-direction: row;
		gap: 8px;
		overflow-x: auto;
		margin: 0 -20px;
		padding: 2px 20px 6px;
		scrollbar-width: none;
	}
	.cgfaq-nav .elementor-icon-list-items::-webkit-scrollbar { display: none; }
	.cgfaq-nav .elementor-icon-list-item { flex: none; }
	.cgfaq-nav .elementor-icon-list-item > a { padding: 6px 12px 6px 6px; border: 1px solid var(--fq-line); border-radius: 999px; background: #fff; white-space: nowrap; }
	.cgfaq-nav .elementor-icon-list-icon { width: 28px; height: 28px; border-radius: 50%; }
	body:not(#cg-type):not(#cgfq) .cgfaq-nav .elementor-icon-list-text { font-size: 14px !important; }
}
@media (max-width: 767px) {
	body .cgfaq-search input.cgfaq-search__input { height: 54px; }
	.cgfaq-group-icon .elementor-icon { padding: 11px !important; }
}

/* Hero phone link readable on navy */
.elementor-element-fqp0hero .cgh-hero__text a { color: #9DB8FF !important; text-decoration-color: rgba(157, 184, 255, .5); }
.elementor-element-fqp0hero .cgh-hero__text a:hover { color: #fff !important; }
