/* Compact, site-wide community profile summary. The complete profile is a page. */
.meet-profile-overlay{
	position:fixed;
	inset:0;
	z-index:20000;
	display:none;
	align-items:center;
	justify-content:center;
	padding:clamp(.75rem, 3vw, 2rem);
	background:rgba(15, 23, 42, .66);
	backdrop-filter:blur(3px);
	overscroll-behavior:contain;
}
.meet-profile-overlay.is-open{ display:flex; }
.meet-profile-shell{
	position:relative;
	display:flex;
	flex-direction:column;
	width:min(100%, 44rem);
	max-height:min(90dvh, 48rem);
	background:var(--bs-body-bg, #fff);
	border-radius:1.25rem;
	box-shadow:0 1.5rem 5rem rgba(0,0,0,.32);
	overflow:hidden;
}
.meet-profile-content{
	display:flex;
	flex-direction:column;
	min-height:0;
	max-height:min(90dvh, 48rem);
	overflow:hidden;
}
body.meet-overlay-open{ overscroll-behavior:none; }

.meet-profile-summary{
	position:relative;
	display:flex;
	flex-direction:column;
	min-height:0;
	max-height:inherit;
	gap:1.25rem;
	padding:clamp(1.25rem, 4vw, 2rem);
}
.meet-profile-summary__body{
	display:flex;
	flex-direction:column;
	gap:inherit;
	min-height:0;
	/* Keep the avatar shadow inside the scrollable area without shifting content. */
	padding:1rem;
	margin:-1rem;
	overflow-y:auto;
	overscroll-behavior:contain;
	-webkit-overflow-scrolling:touch;
}
.meet-profile-summary__body > *{ flex-shrink:0; }
.meet-profile-summary--loading{
	display:grid;
	place-items:center;
	min-height:15rem;
}
.meet-profile-summary--error{ display:block; overflow-y:auto; text-align:center; }
.meet-profile-summary__error-icon{
	display:inline-grid;
	place-items:center;
	width:4rem;
	height:4rem;
	margin:0 auto 1rem;
	border-radius:50%;
	background:rgba(var(--bs-danger-rgb), .12);
	color:var(--bs-danger);
	font-size:1.6rem;
}
.meet-profile-summary__close{
	position:absolute;
	top:.85rem;
	right:.85rem;
	z-index:2;
	display:inline-grid;
	place-items:center;
	width:2.5rem;
	height:2.5rem;
	padding:0;
	border:1px solid var(--bs-border-color, rgba(0,0,0,.12));
	border-radius:50%;
	background:var(--bs-body-bg, #fff);
	color:var(--bs-body-color, #212529);
}
.meet-profile-summary__close:hover{ background:var(--bs-tertiary-bg, #f1f3f5); }
.meet-profile-summary__header{
	display:flex;
	align-items:center;
	gap:1rem;
	padding-right:2.5rem;
}
.meet-profile-summary__avatar-link{ flex:0 0 auto; }
.meet-profile-summary__avatar{
	display:block;
	width:clamp(5.5rem, 16vw, 7rem);
	aspect-ratio:1;
	object-fit:cover;
	border-radius:50%;
	border:.25rem solid var(--bs-body-bg, #fff);
	box-shadow:0 .25rem .5rem rgba(0,0,0,.18);
}
.meet-profile-summary__identity{ min-width:0; }
.meet-profile-summary__name{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:.35rem;
	font-size:clamp(1.35rem, 4vw, 1.8rem);
	font-weight:800;
	line-height:1.1;
	overflow-wrap:anywhere;
}
.meet-profile-summary__name > a{ min-width:0; color:inherit; text-decoration:none; overflow-wrap:anywhere; }
.meet-profile-summary__tagline{ line-height:1.35; overflow-wrap:anywhere; }
.meet-profile-summary__meta{
	display:flex;
	flex-wrap:wrap;
	gap:.45rem 1rem;
	margin-top:.65rem;
	color:var(--bs-secondary-color, #6c757d);
}
.meet-profile-summary__meta span{ display:inline-flex; align-items:center; gap:.4rem; min-width:0; overflow-wrap:anywhere; }
.meet-profile-summary__meta span > i{ flex-shrink:0; }
.meet-profile-summary__bio{ font-size:1rem; line-height:1.6; overflow-wrap:anywhere; }
.meet-profile-summary__interests{ display:flex; flex-wrap:wrap; gap:.45rem; }
.meet-profile-summary__interests .badge{ max-width:100%; font-weight:600; overflow-wrap:anywhere; white-space:normal; }
.meet-profile-summary__actions{
	display:flex;
	flex-shrink:0;
	flex-wrap:wrap;
	align-items:center;
	gap:.75rem;
	padding-top:1.15rem;
	border-top:1px solid var(--bs-border-color, rgba(0,0,0,.12));
}
.meet-profile-summary__actions .btn[aria-label]{ flex:0 0 auto; }
.meet-profile-summary__actions .dropdown{ flex:0 0 auto; }

@media (max-width:575.98px){
	.meet-profile-overlay{ align-items:flex-end; padding:.5rem; }
	.meet-profile-shell{
		width:100%;
		max-height:calc(100dvh - 1rem);
		border-radius:1.25rem 1.25rem .75rem .75rem;
	}
	.meet-profile-content{ max-height:calc(100dvh - 1rem); }
	.meet-profile-summary{ gap:1rem; padding:1.25rem; }
	.meet-profile-summary__header{ align-items:flex-start; gap:.85rem; padding-right:2rem; }
	.meet-profile-summary__avatar{ width:5rem; }
	.meet-profile-summary__actions,
	.meet-profile-summary__actions > div{ width:100%; }
	.meet-profile-summary__actions .btn:not([aria-label]){ flex:1 1 auto; }
}

#wndGenericDialog.ksw-profile-qr-modal .modal-dialog{ max-width:28rem; }
#wndGenericDialog.ksw-profile-qr-modal .modal-title{ flex:1 1 auto; min-width:0; margin-right:.25rem; }
#wndGenericDialog.ksw-profile-qr-modal .modal-body{ padding:.75rem; }
#wndGenericDialog.ksw-profile-qr-modal .ksw-profile-qr-image{
	width:min(360px, calc(100vw - 3rem), calc(100dvh - 9rem));
	max-width:100%;
	height:auto;
}
@media (max-width:575.98px){
	#wndGenericDialog.ksw-profile-qr-modal .modal-dialog{ min-height:calc(100dvh - 1rem); margin:.5rem; }
	#wndGenericDialog.ksw-profile-qr-modal .modal-content{ max-height:calc(100dvh - 1rem); }
	#wndGenericDialog.ksw-profile-qr-modal .modal-header{ padding:.55rem .75rem; }
	#wndGenericDialog.ksw-profile-qr-modal .modal-body{ overflow:hidden; padding:.55rem .75rem .75rem; }
	#wndGenericDialog.ksw-profile-qr-modal .ksw-profile-qr-image{ width:min(360px, calc(100vw - 2.5rem), calc(100dvh - 8.5rem)); }
}
