/* Paxia Site 1.0.0 — moved unchanged from paxia-events 1.5.39 (September 30, 2026).
   Consent-banner and video-placeholder styling for Complianz. Mobile blocks stay last. */

/* 1.5.31/1.5.32 — the webinar video while cookies are declined (Complianz placeholder, variant C).
   The video's thumbnail fills the player; Complianz's accept button becomes a white bar along
   the bottom with a play circle. Only placeholders that hold a video, only in page bodies. */
:root { --pxvid: 2; }
:is(.et-l--post,.et-l--body) .cmplz-blocked-content-container:has(.cmplz-video) { background-color: #0B1929 !important; background-size: cover !important; background-position: center !important; background-repeat: no-repeat !important; }
:is(.et-l--post,.et-l--body) .cmplz-blocked-content-container:has(.cmplz-video)::before { content: ''; position: absolute; inset: 0; background: rgba(11,25,41,.35); z-index: 1; pointer-events: none; }
:is(.et-l--post,.et-l--body) .cmplz-blocked-content-container:has(.cmplz-video) .cmplz-blocked-content-notice::before { content: '\25B6'; position: absolute; left: 16px; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 999px; background: #1B7FE8; color: #FFFFFF; font-size: 15px; line-height: 40px; text-align: center; padding-left: 3px; box-sizing: border-box; pointer-events: none; }
:is(.et-l--post,.et-l--body) .cmplz-blocked-content-container:has(.cmplz-video) .cmplz-blocked-content-notice { z-index: 3 !important; top: auto !important; bottom: 22px !important; left: 22px !important; right: 22px !important; transform: none !important; max-width: none !important; width: auto !important; background: rgba(255,255,255,.96) !important; color: #0B1929 !important; border: 1px solid #D4E3F5 !important; border-radius: 12px !important; padding: 16px 20px 16px 72px !important; font-weight: 700 !important; font-size: 15px !important; line-height: 1.4 !important; text-align: left !important; box-shadow: 0 18px 44px rgba(11,25,41,.30) !important; cursor: pointer; transition: transform .2s ease, box-shadow .2s ease; }
:is(.et-l--post,.et-l--body) .cmplz-blocked-content-container:has(.cmplz-video) .cmplz-blocked-content-notice:hover { transform: translateY(-2px) !important; box-shadow: 0 22px 48px rgba(11,25,41,.40) !important; }
:is(.et-l--post,.et-l--body) .cmplz-blocked-content-container:has(.cmplz-video) .cmplz-blocked-content-notice:focus-visible { outline: 2px solid #1B7FE8 !important; outline-offset: 3px !important; }

/* 1.5.36 — Consent banner, option C (Ryan, September 28, 2026: "yes on C with compact on phone").
   White card with a Sky Blue top line, Paxia heading font, left-aligned text, 14px copy.
   Accept and Deny stay the same size (EU guidance: refusing must be as easy as accepting).
   Phones: see the 1.5.38 block at the end (option D replaced this layout). Marker: --pxcb 2. */
:root { --pxcb: 2; }
.cmplz-cookiebanner.cmplz-cookiebanner { background: #FFFFFF !important; border: 1px solid #D4E3F5 !important; border-top: 3px solid #1B7FE8 !important; border-radius: 14px !important; box-shadow: 0 24px 60px rgba(11,25,41,.18) !important; padding: 22px 24px 18px !important; --cmplz_text_font_size: 14px; --cmplz_link_font_size: 13px; --cmplz_button_font_size: 15px; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-header { display: flex !important; align-items: center !important; gap: 12px !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-logo { display: none !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-title { flex: 1 1 auto !important; margin: 0 !important; text-align: left !important; justify-self: start !important; font-family: var(--et_global_heading_font) !important; font-weight: 800 !important; font-size: 19px !important; color: #0B1929 !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-close { margin-left: auto !important; color: #7A94B0 !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-message { color: #3D5470 !important; font-size: 14px !important; line-height: 1.6 !important; text-align: left !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn { border-radius: 8px !important; font-weight: 700 !important; height: 46px !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-accept { background: #1B7FE8 !important; border: 1px solid #1B7FE8 !important; color: #FFFFFF !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { background: #FFFFFF !important; border: 1px solid #0B1929 !important; color: #0B1929 !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-links.cmplz-documents { justify-content: flex-start !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-links a { color: #1B7FE8 !important; }
/* 1.5.38 — option D (Ryan, September 30, 2026): Accept and Cookie settings as buttons, "Reject optional cookies" as a visible link. */
.cmplz-cookiebanner.cmplz-cookiebanner { grid-template-columns: 1fr 1fr !important; }
.cmplz-cookiebanner.cmplz-cookiebanner > .cmplz-header, .cmplz-cookiebanner.cmplz-cookiebanner > .cmplz-divider, .cmplz-cookiebanner.cmplz-cookiebanner > .cmplz-body, .cmplz-cookiebanner.cmplz-cookiebanner > .cmplz-links.cmplz-information { grid-column: 1 / -1 !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-buttons { display: contents !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-accept { order: 1 !important; grid-column: 1 !important; width: 100% !important; margin: 0 !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-view-preferences, .cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-save-preferences { order: 2 !important; grid-column: 2 !important; width: 100% !important; margin: 0 !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-deny { order: 3 !important; grid-column: 1 !important; justify-self: start !important; align-self: center !important; width: auto !important; height: auto !important; min-height: 0 !important; margin: 0 !important; padding: 2px 0 !important; background: none !important; border: 0 !important; color: #0B1929 !important; font-size: 14px !important; font-weight: 500 !important; text-decoration: underline !important; text-underline-offset: 3px !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-documents { order: 4 !important; grid-column: 2 !important; justify-self: end !important; align-self: center !important; }
.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-manage-options { order: 5 !important; }

/* 1.0.2 — "Stay informed" subscribe popup. Marker --pxsubm 1. */
:root { --pxsubm: 1; }
.pxsubm { position: fixed; inset: 0; z-index: 2000000001; display: flex; align-items: center; justify-content: center; padding: 24px; }
.pxsubm[hidden] { display: none; }
.pxsubm__backdrop { position: absolute; inset: 0; background: rgba(6,14,24,.62); }
.pxsubm__panel { position: relative; width: 100%; max-width: 520px; max-height: calc(100vh - 48px); overflow: auto; background: #FFFFFF; border-top: 3px solid #1B7FE8; border-radius: 18px; box-shadow: 0 30px 80px rgba(6,14,24,.45); padding: 34px 40px 26px; box-sizing: border-box; }
.pxsubm__close { position: absolute; top: 14px; right: 14px; width: 36px; height: 36px; padding: 0; border-radius: 999px; border: 1px solid #D4E3F5; background: #FFFFFF; color: #3D5470; font-size: 20px; line-height: 1; cursor: pointer; display: flex; align-items: center; justify-content: center; transition: background-color .15s, color .15s; }
.pxsubm__close:hover { background: #1B7FE8; border-color: #1B7FE8; color: #FFFFFF; }
.pxsubm__close:focus-visible { outline: 3px solid #F0A500; outline-offset: 2px; }
.pxsubm__k { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; }
.pxsubm__k i { display: inline-block; width: 22px; height: 3px; border-radius: 2px; background: #1B7FE8; }
.pxsubm__k span { font-size: 13px; font-weight: 800; letter-spacing: .18em; text-transform: uppercase; color: #1B7FE8; }
.pxsubm__h { margin: 0 40px 8px 0; font-family: var(--et_global_heading_font); font-size: 24px; line-height: 1.25; font-weight: 800; color: #0B1929; }
.pxsubm__p { margin: 0 0 10px; padding: 0; font-size: 15px; line-height: 1.6; color: #3D5470; }
.pxsubm__form { margin: -30px -40px -22px; min-height: 200px; }
.pxsubm__note { position: relative; z-index: 1; margin: 4px 0 0; padding: 0; font-size: 12.5px; line-height: 1.5; color: #5C7692; }
.pxsubm__form iframe { outline: none; }
.pxsubm__note a { color: #1B7FE8; text-decoration: underline; text-underline-offset: 3px; }

/* 1.0.5 — "Stay informed" card at the end of every article (option A). Marker --pxsubc 1. */
:root { --pxsubc: 1; }
.pxsubc { max-width: 760px; margin: 56px auto 0; background: #F4F8FC; border: 1px solid #D4E3F5; border-top: 3px solid #1B7FE8; border-radius: 14px; padding: 30px 34px; display: flex; align-items: center; gap: 28px; box-sizing: border-box; }
.pxsubc__t { flex: 1; min-width: 0; }
.pxsubc.pxsubc .pxsubc__k { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 0; color: #1B7FE8; font-size: 13px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; line-height: 1.2; }
.pxsubc__k i { display: inline-block; width: 22px; height: 3px; border-radius: 2px; background: #1B7FE8; }
.pxsubc.pxsubc .pxsubc__h { margin: 0; padding: 0; color: #0B1929; font-family: var(--et_global_heading_font); font-size: 22px; font-weight: 800; line-height: 1.3; }
.pxsubc.pxsubc .pxsubc__p { margin: 8px 0 0; padding: 0; color: #3D5470; font-size: 15px; line-height: 1.65; }
.pxsubc.pxsubc a.pxsubc__btn { flex: none; display: inline-flex; align-items: center; justify-content: center; gap: 8px; background: #1B7FE8; color: #FFFFFF !important; text-decoration: none !important; font-size: 15px; font-weight: 700; line-height: 1.2; padding: 15px 30px; border-radius: 8px; white-space: nowrap; transition: transform 0.2s, box-shadow 0.2s, filter 0.2s; }
.pxsubc.pxsubc a.pxsubc__btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(27,127,232,.35); filter: brightness(1.05); }
.pxsubc.pxsubc a.pxsubc__btn:focus-visible { outline: 2px solid #F0A500; outline-offset: 3px; }
/* 1.0.5 — the /blog/ "Get new stories by email" button (Blog page v13). Its look is inline; text modules strip classes, so the hover lives here. */
.pxblog-grid a[href$="#subscribe"] { transition: background-color 0.2s, color 0.2s, transform 0.2s, box-shadow 0.2s, filter 0.2s; }
.pxblog-grid a[href$="#subscribe"]:hover { background-color: #1B7FE8 !important; color: #FFFFFF !important; transform: translateY(-2px); box-shadow: 0 10px 22px rgba(27,127,232,.35); filter: brightness(1.05); }
/* 1.0.6 — the "Latest from Paxia" Subscribe (markup in paxia-events 1.5.41) gets the same lift and glow. Marker --pxsubhover 1. */
:root { --pxsubhover: 1; }
.paxia-strip.paxia-strip a.paxia-strip__subbtn { transition: background-color 0.2s, color 0.2s, transform 0.2s, box-shadow 0.2s, filter 0.2s; }
.paxia-strip.paxia-strip a.paxia-strip__subbtn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(27,127,232,.35); filter: brightness(1.05); text-decoration: none !important; }
.pxblog-grid a[href$="#subscribe"]:focus-visible { outline: 2px solid #F0A500; outline-offset: 3px; }

/* 1.5.31, mobile last: a phone-width player is ~170px tall, so the bar and its circle shrink. */
@media (max-width: 600px) {
	:is(.et-l--post,.et-l--body) .cmplz-blocked-content-container:has(.cmplz-video) .cmplz-blocked-content-notice { bottom: 12px !important; left: 12px !important; right: 12px !important; padding: 11px 14px 11px 56px !important; font-size: 14px !important; }
	:is(.et-l--post,.et-l--body) .cmplz-blocked-content-container:has(.cmplz-video) .cmplz-blocked-content-notice::before { left: 12px; width: 30px; height: 30px; line-height: 30px; font-size: 12px; }
}

/* 1.5.36, mobile last: the compact consent banner on phones. */
@media (max-width: 767px) {
	.cmplz-cookiebanner.cmplz-cookiebanner { border-radius: 14px 14px 0 0 !important; padding: 18px 20px 16px !important; }
	.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-btn.cmplz-deny { grid-column: 1 / -1 !important; }
	.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-documents { grid-column: 1 / -1 !important; justify-self: start !important; }
	.cmplz-cookiebanner.cmplz-cookiebanner .cmplz-documents ul { justify-content: flex-start !important; }
}

/* 1.0.2, mobile last: the subscribe popup becomes a bottom sheet on phones. */
@media (max-width: 560px) {
	.pxsubm { padding: 0; align-items: flex-end; }
	.pxsubm__panel { max-width: none; max-height: 92vh; border-radius: 18px 18px 0 0; padding: 28px 40px 22px; }
	.pxsubm__h { font-size: 21px; }
}

/* 1.0.5, mobile last: the article card stacks and the button goes full width. */
@media (max-width: 600px) {
	.pxsubc { flex-direction: column; align-items: stretch; gap: 20px; padding: 26px 22px; }
	.pxsubc.pxsubc a.pxsubc__btn { width: 100%; }
}
