/* Shared lightbox shell. Existing Elementor width, color and animation settings are preserved. */
html:is(.kcm-team-detail-open,.kcm-group-detail-open,.kcm-custom-lightbox-open),
body:is(.kcm-team-detail-open,.kcm-group-detail-open,.kcm-custom-lightbox-open) { overflow: hidden !important; }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal)[hidden] { display: none !important; }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal) { position: fixed; inset: 0; z-index: 999999; display: flex; align-items: center; justify-content: center; padding: clamp(12px,3vw,36px); box-sizing: border-box; color: var(--kcm-ui-text); }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal) .screen-reader-text { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; }
:is(.kcm-team-detail-modal__backdrop, .kcm-group-detail-modal__backdrop, .kcm-custom-lightbox-modal__backdrop) { position: absolute; inset: 0; background: rgb(0 0 0 / 68%); backdrop-filter: blur(2px); opacity: 0; transition: opacity .2s ease; }
:is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { position: relative; z-index: 1; width: min(var(--kcm-detail-width,960px),100%); max-height: min(var(--kcm-detail-desktop-height,92vh),calc(100vh - clamp(24px,6vw,72px))); overflow: auto; overscroll-behavior: contain; background: var(--kcm-ui-surface); border-radius: var(--kcm-radius-lg); box-shadow: var(--kcm-dialog-shadow); opacity: 0; transform: scale(.96); transition: opacity .2s ease,transform .2s ease; outline: none; min-width: 0; }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal).is-open :is(.kcm-team-detail-modal__backdrop, .kcm-group-detail-modal__backdrop, .kcm-custom-lightbox-modal__backdrop) { opacity: 1; }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal).is-open :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { opacity: 1; transform: none; }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal)[data-animation="fade"] :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { transform: none; }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal)[data-animation="slide"] :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { transform: translateY(28px); }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal)[data-animation="slide"].is-open :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { transform: none; }
html body :is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal) button:is(.kcm-team-detail-modal__close, .kcm-group-detail-modal__close, .kcm-custom-lightbox-modal__close) { position: sticky; top: 12px; z-index: 20; float: right; display: grid; place-items: center; width: 44px; height: 44px; margin: 12px 12px -56px 0; padding: 0 !important; border: 0 !important; border-radius: 999px !important; background: var(--kcm-detail-close-background,#fff) !important; box-shadow: 0 2px 18px rgb(0 0 0 / 16%); font: 400 30px/1 Arial,sans-serif !important; cursor: pointer; color: var(--kcm-detail-close-color,#1d2327) !important; text-decoration: none !important; appearance: none; }
html body :is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal) button:is(.kcm-team-detail-modal__close, .kcm-group-detail-modal__close, .kcm-custom-lightbox-modal__close):is(:hover,:focus,:active) { background: var(--kcm-detail-close-hover-background,#f0f0f1) !important; color: var(--kcm-detail-close-hover-color,#1d2327) !important; text-decoration: none !important; }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal) :is(a,button,input,select,textarea,summary,[tabindex]):focus-visible { outline: 3px solid var(--kcm-focus); outline-offset: 3px; scroll-margin-block: 72px; }
:is(.kcm-team-detail-modal__content, .kcm-group-detail-modal__content, .kcm-custom-lightbox-modal__content) { min-height: 180px; clear: both; }
.kcm-custom-lightbox-modal__content { min-height: 120px; }
:is(.kcm-team-detail-modal__status, .kcm-group-detail-modal__status, .kcm-custom-lightbox-modal__status) { display: flex; min-height: 220px; align-items: center; justify-content: center; gap: var(--kcm-space-3); padding: clamp(24px,5vw,40px); text-align: center; color: var(--kcm-ui-muted); }
:is(.kcm-team-detail-modal__spinner, .kcm-group-detail-modal__spinner, .kcm-custom-lightbox-modal__spinner) { width: 28px; height: 28px; flex-shrink: 0; border: 3px solid rgb(0 0 0 / 18%); border-top-color: currentColor; border-radius: 50%; animation: kcm-detail-spin .8s linear infinite; }
:is(.kcm-team-detail-modal__error, .kcm-group-detail-modal__error, .kcm-custom-lightbox-modal__error) { padding: clamp(32px,6vw,70px) clamp(22px,4vw,30px); text-align: center; color: var(--kcm-danger); overflow-wrap: anywhere; }
:is(.kcm-team-detail-modal__error, .kcm-group-detail-modal__error, .kcm-custom-lightbox-modal__error) p { margin: 0 0 var(--kcm-space-4); }
:is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal) .kcm-dialog-retry { font: inherit; color: var(--kcm-ui-text); background: var(--kcm-ui-surface); border: 1px solid var(--kcm-control-border); border-radius: var(--kcm-radius-sm); padding: 8px 16px; min-height: var(--kcm-control-size); cursor: pointer; }
@keyframes kcm-detail-spin { to { transform: rotate(360deg); } }
:is(.kcm-team-detail-fallback, .kcm-group-detail-fallback) { display: grid; grid-template-columns: 1fr; min-height: 420px; color: var(--kcm-ui-text); line-height: 1.6; }
:is(.kcm-team-detail-fallback, .kcm-group-detail-fallback).has-photo { grid-template-columns: minmax(220px,38%) minmax(0,1fr); }
:is(.kcm-team-detail-fallback__photo, .kcm-group-detail-fallback__photo) { background: var(--kcm-ui-background); min-height: 320px; }
:is(.kcm-team-detail-fallback__photo, .kcm-group-detail-fallback__photo) img { display: block; width: 100%; height: 100%; object-fit: cover; }
:is(.kcm-team-detail-fallback__body, .kcm-group-detail-fallback__body) { padding: clamp(28px,5vw,64px); min-width: 0; overflow-wrap: anywhere; }
:is(.kcm-team-detail-fallback__header, .kcm-group-detail-fallback__header) h2 { margin: 0 0 var(--kcm-space-2); font-size: clamp(30px,5vw,52px); line-height: 1.15; color: inherit; }
:is(.kcm-team-detail-fallback__function, .kcm-group-detail-fallback__function) { font-size: 1.15em; font-weight: 600; margin: 0 0 6px; }
:is(.kcm-team-detail-fallback__assignment, .kcm-group-detail-fallback__assignment) { color: var(--kcm-ui-muted); margin: 0 0 var(--kcm-space-5); }
:is(.kcm-team-detail-fallback__intro, .kcm-group-detail-fallback__intro) { font-size: 1.15em; font-weight: 600; line-height: 1.6; }
:is(.kcm-team-detail-fallback__body, .kcm-group-detail-fallback__body) section { margin-top: var(--kcm-space-5); }
:is(.kcm-team-detail-fallback__body, .kcm-group-detail-fallback__body) section h3 { margin-bottom: var(--kcm-space-2); }
:is(.kcm-team-detail-fallback, .kcm-group-detail-fallback) blockquote { margin: var(--kcm-space-6) 0 0; padding: var(--kcm-space-4) var(--kcm-space-5); border-left: 4px solid currentColor; font-size: 1.15em; font-style: italic; }
:is(.kcm-team-detail-fallback__contact, .kcm-group-detail-fallback__contact) { display: flex; flex-wrap: wrap; gap: 12px 24px; margin-top: var(--kcm-space-6); }
:is(.kcm-team-detail-fallback__contact, .kcm-group-detail-fallback__contact) a { color: #00666c; text-decoration: underline; min-height: 24px; overflow-wrap: anywhere; }
.kcm-group-detail-fallback__full-name { font-size: 1.05em; font-weight: 600; margin: 0 0 6px; }
.kcm-group-detail-fallback__description { font-size: 1.05em; line-height: 1.65; }
.kcm-group-detail-fallback__facts { display: grid; gap: var(--kcm-space-2); margin-top: var(--kcm-space-5); }
.kcm-group-detail-fallback__facts p { margin: 0; }
@media (max-width: 1024px) {
    :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { width: min(var(--kcm-detail-tablet-width,92vw),calc(100vw - 24px)); max-height: min(var(--kcm-detail-tablet-height,92vh),calc(100vh - 24px)); }
}
@media (max-width: 767px) {
    :is(.kcm-team-detail-modal, .kcm-group-detail-modal, .kcm-custom-lightbox-modal) { padding: 12px; }
    :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { width: min(var(--kcm-detail-mobile-width,94vw),calc(100vw - 24px)); max-height: min(var(--kcm-detail-mobile-height,94vh),calc(100vh - 24px)); }
    :is(.kcm-team-detail-fallback, .kcm-group-detail-fallback).has-photo { grid-template-columns: 1fr; }
    :is(.kcm-team-detail-fallback__photo, .kcm-group-detail-fallback__photo) { max-height: 55vh; }
    :is(.kcm-team-detail-fallback__body, .kcm-group-detail-fallback__body) { padding: 28px 22px 40px; }
}
@supports (height: 100dvh) {
    :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { max-height: min(var(--kcm-detail-desktop-height,92vh),calc(100dvh - clamp(24px,6vw,72px))); }
    @media (max-width: 1024px) { :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { max-height: min(var(--kcm-detail-tablet-height,92vh),calc(100dvh - 24px)); } }
    @media (max-width: 767px) { :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { max-height: min(var(--kcm-detail-mobile-height,94vh),calc(100dvh - 24px)); } }
}
@media (prefers-reduced-motion: reduce) {
    :is(.kcm-team-detail-modal__backdrop, .kcm-group-detail-modal__backdrop, .kcm-custom-lightbox-modal__backdrop), :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { transition: none; transform: none !important; }
    :is(.kcm-team-detail-modal__spinner, .kcm-group-detail-modal__spinner, .kcm-custom-lightbox-modal__spinner) { animation: none; }
}
@media (forced-colors: active) { :is(.kcm-team-detail-modal__dialog, .kcm-group-detail-modal__dialog, .kcm-custom-lightbox-modal__dialog) { border: 1px solid CanvasText; } }
