/* ==========================================================================
   Privacy Policy page (3) — loaded by cg_privacy_page_assets() in
   functions.php. Hero uses the shared .cgh-hero design (resource-hero.css +
   hero-photo.css).

   Elementor structure (native widgets, order follows Elementor):
     section .cgpp
       container .cgpp-layout (row; column on phones)
         container .cgpp-aside
           container .cgpp-toc  > Heading .cgpp-toc__label, Icon List .cgpp-toc__list
           container .cgpp-help > Heading .cgpp-help__eyebrow, Heading .cgpp-help__title,
                                  Text Editor .cgpp-help__text, Buttons .cgpp-help__btn
         container .cgpp-main
           Text Editor .cgpp-lead
           container .cgpp-sec (CSS ID = anchor) > Heading .cgpp-sec__title, Text Editor .cgpp-sec__text
           container .cgpp-note > Text Editor
   Section numbers (01, 02 …) are drawn by CSS, so adding or reordering
   sections in Elementor renumbers them.
   ========================================================================== */

.elementor-element.cgpp.e-con {
	background-color: #F5F7FA;
	background-image:
		linear-gradient(rgba(27, 63, 160, .035) 1px, transparent 1px),
		linear-gradient(90deg, rgba(27, 63, 160, .035) 1px, transparent 1px);
	background-size: 56px 56px;
}

/* ── Sidebar ────────────────────────────────────────────────────────── */
@media (min-width: 1025px) {
	.elementor-element.cgpp-aside.e-con { position: sticky; top: 110px; align-self: flex-start; }
}
.elementor-element.cgpp-toc.e-con {
	background: #fff;
	border: 1px solid #E1E5EB;
	border-radius: 14px;
}
.cgpp-toc__label .elementor-heading-title { color: #5A6678 !important; }
.cgpp-toc__list .elementor-icon-list-item { margin: 0 !important; padding: 0 !important; }
.cgpp-toc__list .elementor-icon-list-item > a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 12px !important;
	border-radius: 8px;
	transition: background-color .2s ease;
}
.cgpp-toc__list .elementor-icon-list-item > a:hover { background: #EEF3FF; }
.cgpp-toc__list .elementor-icon-list-text {
	color: #33404F !important;
	font-size: 14px !important;
	line-height: 1.4;
	transition: color .2s ease;
}
.cgpp-toc__list .elementor-icon-list-item > a:hover .elementor-icon-list-text { color: #1B3FA0 !important; }
.cgpp-toc__list .elementor-icon-list-icon i { color: #9AA5B5 !important; font-size: 10px !important; transition: color .2s ease, transform .2s ease; }
.cgpp-toc__list .elementor-icon-list-icon svg { fill: #9AA5B5 !important; width: 10px !important; }
.cgpp-toc__list .elementor-icon-list-item > a:hover .elementor-icon-list-icon i { color: #1B3FA0 !important; transform: translateX(2px); }

.elementor-element.cgpp-help.e-con {
	position: relative;
	overflow: hidden;
	border-radius: 14px;
	background-color: #0B1B33;
	background-image:
		radial-gradient(320px 220px 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);
	background-size: auto, 28px 28px, 28px 28px;
}
.cgpp-help__eyebrow .elementor-heading-title { color: #9DB8FF !important; }
.cgpp-help__title .elementor-heading-title { color: #fff !important; }
.elementor-widget.cgpp-help__text { color: #B4C1D4 !important; font-size: 15px; line-height: 1.6; }
.cgpp-help__text p { margin: 0; }
.cgpp-help__btn .elementor-button { width: 100%; justify-content: center; border-radius: 8px; transition: background-color .2s ease, border-color .2s ease, color .2s ease; }
.cgpp-help__btn--ghost .elementor-button { background: transparent !important; border: 1px solid rgba(220, 231, 255, .35) !important; color: #fff !important; }
.cgpp-help__btn--ghost .elementor-button:hover { border-color: #DCE7FF !important; background: rgba(255, 255, 255, .06) !important; }

/* ── Main column ────────────────────────────────────────────────────── */
.elementor-widget.cgpp-lead {
	color: #0C1825 !important;
	font-size: 19px !important;
	line-height: 1.7 !important;
	padding-left: 22px;
	border-left: 3px solid #1B3FA0;
}
.cgpp-lead p { margin: 0; }

.elementor-element.cgpp-main.e-con { counter-reset: cgpp; }
.elementor-element.cgpp-sec.e-con {
	counter-increment: cgpp;
	position: relative;
	background: #fff;
	border: 1px solid #E1E5EB;
	border-radius: 14px;
	scroll-margin-top: 120px;
	transition: border-color .25s ease, box-shadow .25s ease;
}
.elementor-element.cgpp-sec.e-con:hover { border-color: rgba(27, 63, 160, .3); box-shadow: 0 14px 34px -20px rgba(12, 24, 37, .25); }
.elementor-element.cgpp-sec.e-con:target { border-color: #1B3FA0; box-shadow: 0 0 0 3px rgba(53, 99, 224, .15); }

.cgpp-sec__title .elementor-heading-title {
	display: flex;
	align-items: baseline;
	gap: 14px;
	color: #0C1825 !important;
}
.cgpp-sec__title .elementor-heading-title::before {
	content: counter(cgpp, decimal-leading-zero);
	flex: none;
	font-family: "Geist Mono", ui-monospace, SFMono-Regular, Menlo, monospace;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .1em;
	color: #1B3FA0;
	padding: 4px 8px;
	border-radius: 6px;
	background: #EEF3FF;
	transform: translateY(-3px);
}
/* Two ID-level guards so this beats consistency.css's 20px card-heading size. */
body:not(#cgpp-a):not(#cgpp-b) .cgpp-sec__title h2.elementor-heading-title { font-size: 24px !important; line-height: 1.3 !important; }
.elementor-widget.cgpp-sec__text { color: #4A5668 !important; }
.cgpp-sec__text p { margin: 0 0 12px; }
.cgpp-sec__text p:last-child { margin-bottom: 0; }
.cgpp-sec__text a,
.cgpp-note a { color: #1B3FA0; font-weight: 600; text-decoration: none; box-shadow: inset 0 -1px 0 rgba(27, 63, 160, .35); }
.cgpp-sec__text a:hover,
.cgpp-note a:hover { box-shadow: inset 0 -2px 0 #1B3FA0; }

.elementor-element.cgpp-note.e-con {
	border: 1px dashed #C9D2DE;
	border-radius: 14px;
	background: rgba(255, 255, 255, .6);
}
.cgpp-note .elementor-widget-text-editor { color: #5A6678 !important; font-size: 14px; line-height: 1.65; }
.cgpp-note p { margin: 0; }

@media (max-width: 767px) {
	body:not(#cgpp-a):not(#cgpp-b) .cgpp-sec__title h2.elementor-heading-title { font-size: 20px !important; }
	.elementor-widget.cgpp-lead { font-size: 17px !important; padding-left: 16px; }
}
@media (prefers-reduced-motion: reduce) {
	.cgpp-toc__list .elementor-icon-list-icon i,
	.elementor-element.cgpp-sec.e-con { transition: none; }
}
