/* EU CE State Page — eu-csp.css v1.1.0
   Full-width fix: neutralize GeneratePress .wp-block-group__inner-container
   (caps at 1200px + 40px padding — same fix as membership/landing pages).
   Font sizes match homepage v3.css scale. */

/* ============================================================
   FULL-WIDTH FIX — GeneratePress inner container override
   (root cause: GP wraps blocks in .wp-block-group__inner-container
    and caps it at 1200px with 40px padding, killing full-bleed)
   ============================================================ */
body.eu-csp-state-page .entry-content .wp-block-group__inner-container {
	max-width: none !important;
	padding: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}
body.eu-csp-state-page .site-main,
body.eu-csp-state-page .content-area,
body.eu-csp-state-page #primary,
body.eu-csp-state-page article,
body.eu-csp-state-page .entry-content,
body.eu-csp-state-page .inside-article {
	max-width: 100% !important;
	padding: 0 !important;
	margin: 0 !important;
	width: 100% !important;
}
/* Suppress GP page title */
body.eu-csp-state-page .entry-header,
body.eu-csp-state-page .page-header {
	display: none !important;
}

/* ============================================================
   Base — match site v3 font scale
   ============================================================ */
.eu-csp-page {
	font-family:"Lexend Deca",system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 1.075rem; /* matches --v3-body */
	line-height: 1.62;
	color: #141A24; /* --v3-text */
	width: 100%;
}
.eu-csp-error,
.eu-csp-empty {
	padding: 3rem 2rem;
	text-align: center;
	color: #59657A;
	font-size: 1.1rem;
}

/* ============================================================
   Hero — max-width centered like homepage page-hero
   ============================================================ */
.eu-csp-hero {
	background: linear-gradient(135deg, #0f1e3d 0%, #1a2f5e 100%);
	padding: clamp(1.5rem, 3vw, 2.25rem) clamp(1rem, 4vw, 2rem);
	position: relative;
	overflow: hidden;
	width: 100%;
	text-align: center;
}
.eu-csp-hero-inner {
	max-width: 860px;
	margin-inline: auto;
}
.eu-csp-hero::after {
	content: '';
	position: absolute;
	bottom: -40px;
	right: -40px;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: rgba(59, 130, 246, .07);
	pointer-events: none;
}
.eu-csp-hero-badge {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: rgba(34, 197, 94, .15);
	border: 1px solid rgba(34, 197, 94, .35);
	border-radius: 999px;
	padding: 5px 16px;
	font-size: 0.875rem;
	color: #4ade80;
	margin-bottom: .85rem;
	letter-spacing: .04em;
	font-weight: 600;
}
.eu-csp-hero h1.eu-csp-hero-title,
.eu-csp-hero-title {
	font-size: clamp(2.1rem, 4.5vw, 3.25rem) !important; /* --v3-h1 */
	font-weight: 800 !important;
	color: #fff !important;
	margin: 0 0 .6rem !important;
	line-height: 1.1 !important;
	letter-spacing: -0.02em !important;
}
.eu-csp-hero-sub {
	font-size: clamp(1rem, 2vw, 1.2rem); /* --v3-lead */
	color: rgba(255, 255, 255, .6);
	margin: 0 auto 1.75rem;
	line-height: 1.62;
	max-width: 600px;
}
/* Hours required pill under hero title */
.eu-csp-hero-req {
	display: inline-block;
	background: rgba(255,255,255,.12);
	border: 1px solid rgba(255,255,255,.2);
	border-radius: 999px;
	padding: 6px 20px;
	font-size: 1rem;
	color: rgba(255,255,255,.85);
	font-weight: 600;
	margin-top: .25rem;
}

/* ============================================================
   State rules banner (amber)
   ============================================================ */
.eu-csp-rules-banner {
	background: #fff;
	border-left: 4px solid #f59e0b;
	border-radius: 0 12px 12px 0;
	margin: 1.5rem clamp(1rem,4vw,2rem) 0;
	padding: 1.1rem 1.25rem 1.25rem;
	box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.eu-csp-rules-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1rem;
	font-weight: 700;
	color: #92400e;
	margin-bottom: .75rem;
}
.eu-csp-rules-icon { color: #f59e0b; font-size: 1.1rem; }
.eu-csp-rules-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .6rem;
}
.eu-csp-rule-item {
	background: #eef2ff;
	border-radius: 8px;
	padding: .75rem .9rem;
	border: 1px solid #c7d2fe;
}
.eu-csp-rule-label {
	font-size: 0.7rem;
	color: #4338ca;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-bottom: 5px;
	font-weight: 700;
}
.eu-csp-rule-val {
	font-size: 1rem;
	font-weight: 600;
	color: #1e1b4b;
	line-height: 1.5;
}
.eu-csp-rule-val a {
	color: #4338ca;
	text-decoration: underline;
	font-weight: 700;
}
.eu-csp-rule-val a:hover { color: #3730a3; }

/* ============================================================
   License cycles banner (purple)
   ============================================================ */
.eu-csp-cycles-banner {
	background: #fff;
	border-left: 4px solid #818cf8;
	border-radius: 0 12px 12px 0;
	margin: .75rem clamp(1rem,4vw,2rem) 0;
	padding: .9rem 1.25rem;
	box-shadow: 0 1px 4px rgba(0,0,0,.06);
}
.eu-csp-cycles-title {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 1rem;
	font-weight: 700;
	color: #312e81;
	margin-bottom: .55rem;
}
.eu-csp-cycles-icon { color: #818cf8; font-size: 1.1rem; }
.eu-csp-cycles-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.eu-csp-cycle-chip {
	background: #eef2ff;
	border: 1px solid #c7d2fe;
	border-radius: 8px;
	padding: 5px 14px;
	font-size: 0.95rem;
	color: #312e81;
}
.eu-csp-cycle-chip strong { color: #1e1b4b; }

/* ============================================================
   Body / sections
   ============================================================ */
.eu-csp-body {
	padding: 1.75rem clamp(1rem,4vw,2rem) 5rem;
}
.eu-csp-section { margin-bottom: 2rem; }
.eu-csp-group-label {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: .85rem;
}
.eu-csp-pill {
	font-size: 0.7rem;
	font-weight: 800;
	letter-spacing: .1em;
	padding: 3px 11px;
	border-radius: 999px;
}
.eu-csp-pill-live  { background:rgba(239,68,68,.12);  color:#b91c1c; border:1px solid rgba(239,68,68,.3); }
.eu-csp-pill-pkg   { background:rgba(59,130,246,.1);  color:#1d4ed8; border:1px solid rgba(59,130,246,.3); }
.eu-csp-pill-self  { background:rgba(22,163,74,.12);  color:#15803d; border:1px solid rgba(22,163,74,.3); }
.eu-csp-pill-multi { background:rgba(168,85,247,.1);  color:#6d28d9; border:1px solid rgba(168,85,247,.3); }
.eu-csp-glabel {
	font-size: 1rem;
	font-weight: 700;
	color: #475569;
}

/* ============================================================
   3-column course card grid — centered
   ============================================================ */
.eu-csp-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: .85rem;
	margin-bottom: .75rem;
}
.eu-csp-hidden { display: none !important; }

/* ============================================================
   Course cards
   ============================================================ */
.eu-csp-card {
	background: #fff;
	border: 1px solid #E5E9F2;
	border-radius:10px; /* --v3-radius */
	overflow: hidden;
	cursor: pointer;
	transition: border-color .15s, transform .12s, box-shadow .15s;
	display: flex;
	flex-direction: column;
	text-align: left;
}
.eu-csp-card:hover {
	border-color: #94a3b8;
	transform: translateY(-2px);
	box-shadow: 0 4px 16px rgba(11,14,20,.08);
}
.eu-csp-card-top {
	padding: 1rem 1.1rem .75rem;
	flex: 1;
}
.eu-csp-live-pip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 0.8rem;
	color: #b91c1c;
	margin-bottom: .45rem;
	font-weight: 700;
}
.eu-csp-live-pip::before {
	content: '';
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #ef4444;
	animation: eu-csp-blink 1.5s infinite;
	flex-shrink: 0;
}
@keyframes eu-csp-blink {
	0%, 100% { opacity: 1; }
	50%       { opacity: .2; }
}
.eu-csp-card-name {
	font-size: 1rem;
	font-weight: 700;
	color: #141A24;
	line-height: 1.35;
	margin-bottom: .45rem;
}
.eu-csp-card-states {
	font-size: 0.875rem;
	color: #59657A;
	margin-bottom: .4rem;
	display: flex;
	align-items: center;
	gap: 5px;
}
.eu-csp-pin-icon {
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #94a3b8;
	display: inline-block;
	flex-shrink: 0;
}
.eu-csp-more-info {
	font-size: 0.875rem;
	color: #1363DF;
	text-decoration: underline;
	cursor: pointer;
	background: none;
	border: none;
	padding: 0;
	display: inline-block;
	font-family: inherit;
}
.eu-csp-more-info:hover { color: #1E72F5; }
.eu-csp-card-bot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .65rem 1.1rem;
	background: #f8fafc;
	border-top: 1px solid #E5E9F2;
	gap: .5rem;
}
.eu-csp-card-hrs {
	font-size: 1rem;
	font-weight: 800;
	color: #141A24;
}
.eu-csp-card-price {
	font-size: 1.2rem;
	font-weight: 800;
	color: #141A24;
	flex: 1;
	text-align: right;
}
.eu-csp-add-btn {
	font-size: 0.875rem;
	font-weight: 700;
	padding: 6px 16px;
	background: #1363DF;
	color: #fff !important;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none !important;
	white-space: nowrap;
	display: inline-block;
	transition: background .15s;
}
.eu-csp-add-btn:hover { background: #1E72F5; }

/* ============================================================
   Package cards
   ============================================================ */
.eu-csp-pkg-card {
	background: #fff;
	border: 1px solid rgba(59, 130, 246, .35);
	border-radius:10px;
	overflow: hidden;
	margin-bottom: .75rem;
}
.eu-csp-pkg-card--multi { border-color: rgba(168, 85, 247, .35); }
.eu-csp-pkg-top {
	padding: 1.1rem 1.35rem;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.25rem;
}
.eu-csp-pkg-card--multi .eu-csp-pkg-top { border-left: 4px solid #a855f7; }
.eu-csp-pkg-name {
	font-size: 1.1rem;
	font-weight: 800;
	color: #141A24;
	margin-bottom: 5px;
}
.eu-csp-pkg-inline {
	font-size: 0.95rem;
	color: #59657A;
	line-height: 1.5;
}
.eu-csp-pkg-right { text-align: right; flex-shrink: 0; }
.eu-csp-pkg-price {
	font-size: 1.75rem;
	font-weight: 800;
	color: #141A24;
}
.eu-csp-pkg-save {
	font-size: 0.875rem;
	color: #16a34a;
	font-weight: 700;
	margin-top: 2px;
}
.eu-csp-pkg-bot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .75rem 1.35rem;
	background: #f8fafc;
	border-top: 1px solid #E5E9F2;
}
.eu-csp-pkg-detail {
	font-size: 0.95rem;
	color: #1363DF;
	text-decoration: underline;
	cursor: pointer;
	background: none;
	border: none;
	padding: 0;
	font-family: inherit;
}
.eu-csp-pkg-cart {
	font-size: 1rem;
	font-weight: 700;
	padding: 8px 24px;
	background: #1363DF;
	color: #fff !important;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	text-decoration: none !important;
	display: inline-block;
	transition: background .15s;
}
.eu-csp-pkg-cart:hover { background: #1E72F5; }

/* ============================================================
   Multi-state section
   ============================================================ */
.eu-csp-multi-header {
	background: #faf5ff;
	border: 1px solid rgba(168, 85, 247, .22);
	border-radius:10px;
	padding: 1rem 1.35rem;
	margin-bottom: .75rem;
}
.eu-csp-multi-title {
	font-size: 1.05rem;
	font-weight: 800;
	color: #4c1d95;
	margin-bottom: 5px;
	display: flex;
	align-items: center;
	gap: 8px;
}
.eu-csp-multi-icon { color: #a855f7; font-size: 1.2rem; }
.eu-csp-multi-sub {
	font-size: 0.95rem;
	color: #6d28d9;
	line-height: 1.55;
}
.eu-csp-state-badges {
	display: flex;
	flex-wrap: wrap;
	gap: 5px;
	margin-top: .5rem;
}
.eu-csp-state-badge {
	font-size: 0.8rem;
	padding: 3px 10px;
	border-radius: 999px;
	background: rgba(168, 85, 247, .1);
	color: #6d28d9;
	border: 1px solid rgba(168, 85, 247, .25);
	font-weight: 700;
}

/* ============================================================
   Show more button
   ============================================================ */
.eu-csp-more-btn {
	width: 100%;
	padding: .75rem;
	border: 1px solid #E5E9F2;
	border-radius:10px;
	background: transparent;
	color: #59657A;
	font-size: 1rem;
	cursor: pointer;
	margin-bottom: 1rem;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 6px;
	font-family: inherit;
	font-weight: 600;
	transition: background .12s;
}
.eu-csp-more-btn:hover {
	background: #1363DF;
	border-color: #1363DF;
	color: #fff;
}

/* ============================================================
   Modal
   ============================================================ */
.eu-csp-modal-overlay {
	position: fixed;
	inset: 0;
	background: rgba(11, 14, 20, .55);
	display: flex;
	align-items: flex-start;
	justify-content: center;
	z-index: 99999;
	padding: 2rem 1rem;
	overflow-y: auto;
}
.eu-csp-modal {
	background: #fff;
	border: 1px solid #E5E9F2;
	border-radius:10px;
	width: 100%;
	max-width: 480px;
	box-shadow: 0 2px 6px rgba(11,14,20,.06), 0 14px 40px rgba(11,14,20,.14);
}
.eu-csp-modal-head {
	padding: 1.1rem 1.35rem;
	border-bottom: 1px solid #E5E9F2;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: .5rem;
}
.eu-csp-modal-title {
	font-size: 1.1rem;
	font-weight: 800;
	color: #141A24;
	line-height: 1.35;
}
.eu-csp-modal-close {
	background: none;
	border: none;
	cursor: pointer;
	color: #59657A;
	line-height: 1;
	padding: 2px;
	font-size: 1.2rem;
	flex-shrink: 0;
}
.eu-csp-modal-close:hover { color: #141A24; }
.eu-csp-modal-body { padding: 1.1rem 1.35rem; }
.eu-csp-modal-meta-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 8px;
	margin-bottom: 1rem;
}
.eu-csp-meta-cell {
	background: #f8fafc;
	border: 1px solid #E5E9F2;
	border-radius: 10px;
	padding: .6rem .8rem;
}
.eu-csp-meta-label {
	font-size: 0.7rem;
	color: #59657A;
	text-transform: uppercase;
	letter-spacing: .08em;
	margin-bottom: 4px;
	font-weight: 700;
}
.eu-csp-meta-val {
	font-size: 1rem;
	font-weight: 700;
	color: #141A24;
}
.eu-csp-modal-section { margin-bottom: 1rem; }
.eu-csp-modal-sec-label {
	font-size: 0.7rem;
	text-transform: uppercase;
	letter-spacing: .08em;
	color: #59657A;
	margin-bottom: .35rem;
	font-weight: 700;
}
.eu-csp-modal-desc {
	font-size: 1rem;
	color: #141A24;
	line-height: 1.65;
}
.eu-csp-faq-flag {
	background: #fffbeb;
	border: 1px solid #fde68a;
	border-radius: 8px;
	padding: .6rem .85rem;
	font-size: 0.95rem;
	color: #92400e;
	display: flex;
	align-items: center;
	gap: .5rem;
}
.eu-csp-modal-foot {
	padding: .9rem 1.35rem;
	border-top: 1px solid #E5E9F2;
	display: flex;
	gap: .65rem;
}
.eu-csp-modal-cart {
	flex: 1;
	padding: 11px;
	background: #1363DF;
	color: #fff !important;
	border: none;
	border-radius: 999px;
	font-size: 1rem;
	font-weight: 700;
	cursor: pointer;
	text-align: center;
	text-decoration: none !important;
	display: block;
	font-family: inherit;
	transition: background .15s;
}
.eu-csp-modal-cart:hover { background: #1E72F5; }
.eu-csp-modal-dismiss {
	padding: 11px 18px;
	background: transparent;
	border: 1px solid #E5E9F2;
	border-radius: 999px;
	font-size: 0.95rem;
	color: #59657A;
	cursor: pointer;
	font-family: inherit;
	font-weight: 600;
}
.eu-csp-modal-dismiss:hover { background: #f8fafc; }

.eu-csp-desc-sources { display: none !important; }

/* Package course list in modal description */
.eu-csp-modal-course-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: .6rem;
}
.eu-csp-modal-course-list li {
	font-size: 0.95rem;
	color: #141A24;
	line-height: 1.55;
	padding: .5rem .65rem;
	background: #f8fafc;
	border-radius: 7px;
	border: 1px solid #E5E9F2;
}
.eu-csp-modal-course-list li strong {
	color: #0f172a;
}

/* ============================================================
   Mobile
   ============================================================ */
@media (max-width: 768px) {
	.eu-csp-grid { grid-template-columns: 1fr; }
	.eu-csp-rules-grid { grid-template-columns: 1fr; }
	.eu-csp-pkg-top { flex-direction: column; }
	.eu-csp-pkg-right { text-align: left; }
}
@media (min-width: 480px) and (max-width: 768px) {
	.eu-csp-grid { grid-template-columns: repeat(2, 1fr); }
}

/* ============================================================
   Modal FAQ accordion (State Rules & FAQ section)
   ============================================================ */
.eu-csp-faq-loading {
	font-size: .9rem;
	color: #64748b;
	padding: .5rem 0;
	font-style: italic;
}
.eu-csp-faq-accordion {
	border: 1px solid #E5E9F2;
	border-radius: 10px;
	overflow: hidden;
	margin-bottom: .75rem;
}
.eu-csp-faq-item {
	border-bottom: 1px solid #E5E9F2;
}
.eu-csp-faq-item:last-child { border-bottom: none; }
.eu-csp-faq-q {
	width: 100%;
	text-align: left;
	background: #fff;
	border: none;
	padding: .75rem .9rem;
	font-size: .9rem;
	font-weight: 600;
	color: #141A24 !important;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: .5rem;
	font-family: inherit;
	line-height: 1.4;
	transition: background .12s;
}
.eu-csp-faq-q:hover { background: #f8fafc; color: #141A24 !important; }
.eu-csp-faq-q[aria-expanded="true"] { background: #f0f9ff; color: #141A24 !important; }
.eu-csp-faq-chevron {
	width: 18px;
	height: 18px;
	flex-shrink: 0;
	border-radius: 50%;
	background: #E5E9F2;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	transition: transform .2s;
	position: relative;
}
.eu-csp-faq-chevron::after {
	content: '';
	width: 5px;
	height: 5px;
	border-right: 2px solid #59657A;
	border-bottom: 2px solid #59657A;
	transform: rotate(45deg) translateY(-2px);
	display: block;
}
.eu-csp-faq-q[aria-expanded="true"] .eu-csp-faq-chevron {
	transform: rotate(180deg);
	background: #dbeafe;
}
.eu-csp-faq-q[aria-expanded="true"] .eu-csp-faq-chevron::after {
	border-color: #1363DF;
}
.eu-csp-faq-a {
	padding: 0 .9rem .75rem;
	font-size: .875rem;
	color: #1e293b;
	line-height: 1.65;
	background: #fff;
}
.eu-csp-faq-a[hidden] { display: none; }
.eu-csp-faq-a a { color: #1363DF; text-decoration: underline; }
.eu-csp-faq-full-link {
	display: inline-block;
	font-size: .85rem;
	color: #1363DF;
	text-decoration: underline;
	font-weight: 600;
}

/* State Rules & FAQ toggle button in modal */
.eu-csp-faq-toggle {
	width: 100%;
	text-align: left;
	background: #f8fafc;
	border: 1px solid #E5E9F2;
	border-radius: 8px;
	padding: .65rem .9rem;
	font-size: .875rem;
	font-weight: 700;
	color: #141A24;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-family: inherit;
	margin-bottom: 0;
	transition: background .12s;
	letter-spacing: .04em;
	text-transform: uppercase;
}
.eu-csp-faq-toggle:hover { background: #f0f9ff; border-color: #1363DF; color: #0f4c9e !important; }
.eu-csp-faq-toggle[aria-expanded="true"] { background: #f0f9ff; border-color: #1363DF; color: #0f4c9e !important; border-bottom-left-radius: 0; border-bottom-right-radius: 0; border-bottom: none; }
#eu-csp-m-faq:not([hidden]) { border: 1px solid #1363DF; border-top: none; border-radius: 0 0 8px 8px; padding: .5rem 0 0; }

/* ============================================================
   Empty state — no courses available
   ============================================================ */
.eu-csp-empty-wrap {
	max-width: 640px;
	margin: 2.5rem auto;
	padding: 0 1rem;
	display: flex;
	flex-direction: column;
	gap: 1.25rem;
}
.eu-csp-empty {
	background: #f8fafc;
	border: 1px solid #E5E9F2;
	border-radius: 10px;
	padding: 1rem 1.25rem;
	font-size: 1rem;
	color: #475569;
	margin: 0;
	text-align: center;
}

/* CE Tracker callout — matches FAQ page style */
.eu-csp-tracker-callout {
	background: linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);
	border: 1px solid #86efac;
	border-left: 4px solid #16a34a;
	border-radius:10px;
	padding: 1.1rem 1.35rem;
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	flex-wrap: wrap;
}
.eu-csp-tracker-icon { font-size: 1.75rem; flex-shrink: 0; line-height: 1; margin-top: .1rem; }
.eu-csp-tracker-body { flex: 1; min-width: 200px; }
.eu-csp-tracker-title {
	font-size: 1rem;
	font-weight: 800;
	color: #14532d;
	margin: 0 0 .3rem;
}
.eu-csp-tracker-desc {
	font-size: .95rem;
	color: #15803d;
	line-height: 1.55;
	margin: 0 0 .65rem;
}
.eu-csp-tracker-btn {
	display: inline-block;
	background: #16a34a;
	color: #fff !important;
	text-decoration: none !important;
	padding: 7px 18px;
	border-radius: 999px;
	font-size: .9rem;
	font-weight: 700;
	transition: background .12s;
}
.eu-csp-tracker-btn:hover { background: #15803d; }
.eu-csp-tracker-note {
	font-size: .8rem;
	color: #166534;
	margin: .4rem 0 0;
}

/* FAQ link block */
.eu-csp-faq-link-block {
	background: #fff;
	border: 1px solid #E5E9F2;
	border-left: 4px solid #2563eb;
	border-radius:10px;
	padding: 1rem 1.25rem;
	display: flex;
	align-items: flex-start;
	gap: .85rem;
}
.eu-csp-faq-link-icon {
	font-size: 1.4rem;
	flex-shrink: 0;
	line-height: 1;
	margin-top: .1rem;
}
.eu-csp-faq-link-block strong {
	display: block;
	font-size: 1rem;
	font-weight: 700;
	color: #0f172a;
	margin-bottom: .25rem;
}
.eu-csp-faq-link-block p {
	font-size: .9rem;
	color: #475569;
	margin: 0 0 .6rem;
	line-height: 1.5;
}
.eu-csp-faq-link-btn {
	display: inline-block;
	background: #eff6ff;
	color: #2563eb !important;
	text-decoration: none !important;
	border: 1px solid #bfdbfe;
	padding: 6px 16px;
	border-radius: 999px;
	font-size: .875rem;
	font-weight: 700;
	transition: background .12s;
}
.eu-csp-faq-link-btn:hover { background: #dbeafe; }

/* v1.7.5 -- add-to-cart in-flight state */
.eu-csp-adding{opacity:.7;pointer-events:none;cursor:default;}
