/* Expert card pop-up (expert-card/lightbox.js). Same look as the old Elementor
   lightbox: navy veil, white round close button, card scaled to fit. */
.ggx-lb { position: fixed; inset: 0; z-index: 99999; display: flex; align-items: center; justify-content: center; padding: 30px; background: rgba(9, 26, 47, .85); opacity: 0; visibility: hidden; transition: opacity .25s ease, visibility .25s ease; }
.ggx-lb.is-open { opacity: 1; visibility: visible; }
html.ggx-lb-open, html.ggx-lb-open body { overflow: hidden; }
.ggx-lb__inner { position: relative; overflow: hidden; border-radius: 15px; background: #fff; }
.ggx-lb__inner iframe { display: block; border: 0; background: #fff; }
.ggx-lb__inner.is-desktop iframe { position: absolute; top: 0; left: 0; transform-origin: 0 0; }
/* !important: the Elementor kit blanks every focused button's background
   (".elementor-kit-12 button:focus { background-color: unset !important }"),
   and the close button gets focus when the pop-up opens. */
.ggx-lb .ggx-lb__close { position: absolute; top: 20px; right: 20px; z-index: 2; display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0; padding: 0; border: 0; border-radius: 50%; box-shadow: 0 2px 8px rgba(0, 0, 0, .2); cursor: pointer; outline: none; transition: background-color .2s, color .2s; }
/* Must out-rank .elementor-kit-12 button:focus (0,2,1) — both are !important. */
html body .ggx-lb button.ggx-lb__close, html body .ggx-lb button.ggx-lb__close:focus, html body .ggx-lb button.ggx-lb__close:active { background-color: #fff !important; color: #18355E !important; }
html body .ggx-lb button.ggx-lb__close:hover { background-color: #FF1894 !important; color: #fff !important; }
.ggx-lb .ggx-lb__close:focus-visible { box-shadow: 0 0 0 3px #FF1894; }
.ggx-lb__close svg { width: 20px; height: 20px; stroke: currentColor; stroke-width: 2.5; fill: none; }
.ggx-lb__loading { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font: 700 12px/1 "Helvetica Neue", Helvetica, Arial, sans-serif; letter-spacing: 2px; text-transform: uppercase; color: #fff; }
.ggx-lb__loading::after { content: ""; display: inline-block; width: 14px; height: 14px; margin-left: 10px; border: 2px solid rgba(255, 255, 255, .3); border-top-color: #FF1894; border-radius: 50%; vertical-align: middle; animation: ggx-spin .7s linear infinite; }
@keyframes ggx-spin { to { transform: rotate(360deg); } }
@media (max-width: 1024px) {
	.ggx-lb { padding: 20px; }
	.ggx-lb .ggx-lb__close { top: 10px; right: 10px; width: 32px; height: 32px; }
	.ggx-lb__close svg { width: 14px; height: 14px; }
}
@media (max-width: 767px) {
	.ggx-lb { align-items: stretch; padding: 60px 10px 20px; }
	.ggx-lb__inner { width: 100%; }
	.ggx-lb__inner iframe { width: 100%; height: 100%; }
	.ggx-lb .ggx-lb__close { top: 10px; right: 10px; width: 32px; height: 32px; }
	.ggx-lb__close svg { width: 14px; height: 14px; }
}
