/* Baptisten Bildernachweis – Frontend Credits. Hover-only; no modal/dialog code. Strictly scoped to this plugin. */
.px-image-credit-wrap{
	position:relative;
	display:inline-block;
	max-width:100%;
	container-type:inline-size;
	vertical-align:middle;
	color:var(--image-credit-text,#fff);
}
.px-image-credit-wrap>img,
.px-image-credit-wrap>a>img,
.px-image-credit-wrap>picture img{
	display:block;
	max-width:100%;
	height:auto;
}
.px-image-credit-wrap[data-bbn-host="existing"]{
	display:block;
	line-height:inherit;
}
.px-image-credit-wrap[data-bbn-host="existing"] img{
	max-width:100%;
	height:auto;
}
.px-image-credit-wrap[data-bbn-position="caption"]{
	display:block;
}
.px-image-credit-wrap[data-bbn-position="caption"] .px-image-credit{
	position:static;
	display:flex;
	margin-top:5px;
	width:max-content;
	max-width:100%;
	color:var(--image-credit-text,#fff);
}
.px-image-credit{
	position:absolute;
	z-index:6;
	display:none;
	align-items:center;
	gap:.32em;
	max-width:min(84cqw,calc(100% - 14px));
	padding:var(--image-credit-py,2px) var(--image-credit-px,6px);
	border:1px solid var(--image-credit-border,rgba(255,255,255,.16));
	border-radius:var(--image-credit-radius,999px);
	background:var(--image-credit-bg,rgba(5,28,35,.58));
	color:var(--image-credit-text,#fff);
	box-shadow:var(--image-credit-shadow,0 4px 10px rgba(0,0,0,.10));
	backdrop-filter:var(--image-credit-blur,blur(7px));
	-webkit-backdrop-filter:var(--image-credit-blur,blur(7px));
	font-size:clamp(6.5px,var(--image-credit-fs,8px),10px);
	font-weight:650;
	line-height:1.1;
	letter-spacing:.005em;
	text-shadow:0 1px 2px rgba(0,0,0,.28);
	pointer-events:auto;
	opacity:.58;
	transition:opacity .14s ease,background-color .14s ease,transform .14s ease;
}
.px-image-credit-wrap:hover .px-image-credit,
.px-image-credit:focus-within{
	opacity:.88;
}
.px-image-credit-text{
	display:inline-block;
	min-width:0;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}
.px-image-credit:hover .px-image-credit-text,
.px-image-credit:focus-within .px-image-credit-text{
	max-width:min(72cqw,calc(100% - 10px));
	white-space:normal;
}

.px-image-credit[data-missing="1"]{
	--image-credit-bg:rgba(142,36,36,.72);
	--image-credit-accent:#d63638;
}
.px-image-credit-wrap[data-bbn-position="bottom-right"] .px-image-credit{right:7px;bottom:7px}
.px-image-credit-wrap[data-bbn-position="bottom-left"] .px-image-credit{left:7px;bottom:7px}
.px-image-credit-wrap[data-bbn-position="top-right"] .px-image-credit{right:7px;top:7px}
.px-image-credit-wrap[data-bbn-position="top-left"] .px-image-credit{left:7px;top:7px}
.px-image-credit-wrap[data-bbn-position="icon"] .px-image-credit-text{
	position:absolute!important;
	width:1px;
	height:1px;
	overflow:hidden;
	clip:rect(1px,1px,1px,1px);
	white-space:nowrap;
}
@container (min-width: 128px){.px-image-credit{display:inline-flex}}
@container (max-width: 219px){
	.px-image-credit{padding:3px 5px;font-size:clamp(7px,var(--image-credit-fs-mobile,8px),9px)}
	.px-image-credit-text{max-width:2.8em}
}
@container (min-width: 220px){.px-image-credit-text{max-width:20cqw}}
@container (min-width: 360px){.px-image-credit-text{max-width:48cqw}}
@media(max-width:900px){.px-image-credit{font-size:clamp(7px,var(--image-credit-fs-tablet,8px),10px)}}
@media(max-width:600px){
	.px-image-credit{font-size:clamp(7px,var(--image-credit-fs-mobile,8px),9.5px);max-width:min(86cqw,calc(100% - 10px));padding:3px 5px}
	.px-image-credit-wrap[data-bbn-position="bottom-right"] .px-image-credit{right:5px;bottom:5px}
	.px-image-credit-wrap[data-bbn-position="bottom-left"] .px-image-credit{left:5px;bottom:5px}
}
.px-image-credit-wrap.bbn-width-too-small .px-image-credit{display:none!important}
.bbn-page-image-credits{margin:24px auto;padding:14px 16px;max-width:min(1100px,calc(100% - 32px));border:1px solid rgba(23,35,31,.10);border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 12px 34px rgba(18,38,34,.06);font-size:13px}.bbn-page-image-credits summary{cursor:pointer;font-weight:900;color:var(--baptisten-primary,#005a7a)}.bbn-page-image-credits h2{margin:0 0 10px;font-size:1.1rem}.bbn-page-image-credits ul{margin:10px 0 0;padding-left:1.1em}.bbn-page-image-credits li{margin:.35em 0}.bbn-page-image-credits a{margin-left:.5em}
@media(prefers-reduced-motion:reduce){.px-image-credit{transition:none}}


/* 1.0.27: keep hover-only credits above local image overlays without touching site modals. */
:is(.ghv-listing-detail-modal,.ghv-map-modal,.bgh-modal,.bep-highlight-card,.bep-hero-slide-card,.elementor-widget-image,.wp-block-image) .px-image-credit{
	z-index:80;
}
:is(.bep-hl-media,.bep-hero-slide-media,.bep-hero-slide-bg,.ghv-listing-modal-media,.ghv-member-hero).px-image-credit-wrap{
	display:block;
	width:100%;
	height:100%;
}
.bep-hl-background.px-image-credit-wrap,
.bep-highlight-card.px-image-credit-wrap,
.bep-hero-slide-card.px-image-credit-wrap{
	display:block;
}
.ghv-listing-detail-modal .px-image-credit,
.ghv-map-modal .px-image-credit{
	opacity:.72;
	z-index:120;
}
.ghv-listing-detail-modal .px-image-credit:hover,
.ghv-map-modal .px-image-credit:hover{
	opacity:.94;
}

/* 1.0.29: purely visual chip, no hover-tooltip behaviour. */
.px-image-credit{
	pointer-events:none;
	opacity:.52;
	max-width:min(54cqw,calc(100% - 14px));
	padding:3px 6px;
	font-size:clamp(7px,var(--image-credit-fs-desktop,8px),9.5px);
	line-height:1.15;
}
.px-image-credit-wrap:hover .px-image-credit,
.px-image-credit:hover{
	opacity:.66;
	transform:none;
}
.px-image-credit:hover .px-image-credit-text,
.px-image-credit-text{
	max-width:min(44cqw,24em);
	white-space:nowrap;
	overflow:hidden;
	text-overflow:ellipsis;
}
@container (min-width: 360px){.px-image-credit-text{max-width:min(44cqw,28em)}}
@media(max-width:600px){.px-image-credit{opacity:.48;padding:2px 5px;font-size:7.5px}.px-image-credit-text{max-width:min(48cqw,18em)}}


/* 1.0.30: do not let credit wrappers change complex card, archive or slider layouts. */
:is(.bep-archive-media,.bep-thumb,.bep-hl-media,.bep-hero-slide-media,.bep-hero-slide-bg,.bgh-card-media,.bgh-directory-card-media,.ghv-member-hero,.ghv-listing-modal-media).px-image-credit-wrap{
	display:block!important;
	width:100%!important;
	max-width:none!important;
	line-height:0!important;
	vertical-align:top!important;
}
:is(.bep-archive-media,.bep-thumb,.bep-hl-media,.bep-hero-slide-media,.bgh-card-media,.bgh-directory-card-media).px-image-credit-wrap > img,
:is(.bep-archive-media,.bep-thumb,.bep-hl-media,.bep-hero-slide-media,.bgh-card-media,.bgh-directory-card-media).px-image-credit-wrap > picture,
:is(.bep-archive-media,.bep-thumb,.bep-hl-media,.bep-hero-slide-media,.bgh-card-media,.bgh-directory-card-media).px-image-credit-wrap > picture img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	object-fit:cover!important;
}
.bep-archive-card > .px-image-credit-wrap,
.bep-archive-card-link > .px-image-credit-wrap,
.bep-archive-media > .px-image-credit-wrap{
	display:block!important;
	width:100%!important;
	max-width:none!important;
	line-height:0!important;
}
.bep-archive-card > .px-image-credit-wrap > .bep-archive-card-link{
	display:flex!important;
	flex-direction:column!important;
	width:100%!important;
	min-width:0!important;
	min-height:100%!important;
}
.bep-archive-media > .px-image-credit-wrap{
	height:100%!important;
}
.bep-archive-media > .px-image-credit-wrap > img,
.bep-archive-media > .px-image-credit-wrap > picture,
.bep-archive-media > .px-image-credit-wrap > picture img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	object-fit:cover!important;
}


/* 1.0.31: safer hosts for theme widgets and no credits on decorative/value/icon widgets. */
.batisten-elementor-post-image.px-image-credit-wrap,
.elementor-post__thumbnail.px-image-credit-wrap{
	display:block!important;
	width:100%!important;
	max-width:none!important;
	line-height:0!important;
}
.batisten-elementor-post-image.px-image-credit-wrap > img,
.batisten-elementor-post-image.px-image-credit-wrap > picture,
.batisten-elementor-post-image.px-image-credit-wrap > picture img,
.elementor-post__thumbnail.px-image-credit-wrap > img,
.elementor-post__thumbnail.px-image-credit-wrap > picture,
.elementor-post__thumbnail.px-image-credit-wrap > picture img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	object-fit:inherit;
	object-position:inherit;
}
.batisten-elementor-post-image.px-image-credit-wrap > img,
.batisten-elementor-post-image.px-image-credit-wrap > .wp-post-image{
	object-fit:var(--bt-el-image-fit,cover)!important;
	object-position:var(--bt-el-image-position,center center)!important;
}
.baptisten-widget-values .px-image-credit,
.baptisten-widget-value-image .px-image-credit,
.baptisten-widget-icon .px-image-credit,
.bt-site-logo-widget .px-image-credit,
.custom-logo-link .px-image-credit{
	display:none!important;
}

/* 1.0.32: Event archive cards may host the credit chip on the card itself. Preserve card layout. */
.bep-archive-page .bep-archive-card-upcoming.bbn-event-archive-card-credit.px-image-credit-wrap{
	display:block!important;
	width:auto!important;
	max-width:none!important;
	vertical-align:initial!important;
	line-height:inherit!important;
}
.bep-archive-page .bep-archive-card-upcoming.bbn-event-archive-card-credit > .px-image-credit{
	display:inline-flex;
}

/* 1.0.33: Related/detail event cards and isolated optional detail modal. */
.bep-related-card-media.px-image-credit-wrap,
.bep-related-card-media .px-image-credit-wrap{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	line-height:0!important;
	vertical-align:top!important;
}
.bep-related-card-media.px-image-credit-wrap > img,
.bep-related-card-media.px-image-credit-wrap > picture,
.bep-related-card-media.px-image-credit-wrap > picture img,
.bep-related-card-media .px-image-credit-wrap > img,
.bep-related-card-media .px-image-credit-wrap > picture,
.bep-related-card-media .px-image-credit-wrap > picture img{
	display:block!important;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	object-fit:cover!important;
}
.bep-related-card-media.px-image-credit-wrap > .px-image-credit{
	right:8px;
	bottom:8px;
	z-index:8;
}
.bbn-credit-modal-root[hidden]{display:none!important;}
.bbn-credit-modal-root{
	position:fixed;
	inset:0;
	z-index:2147482000;
	display:grid;
	place-items:center;
	padding:clamp(14px,3vw,34px);
	pointer-events:none;
	isolation:isolate;
}
.bbn-credit-modal-root.is-open{pointer-events:auto;}
.bbn-credit-modal-backdrop{
	position:absolute;
	inset:0;
	background:rgba(3,23,31,.56);
	backdrop-filter:blur(8px);
	-webkit-backdrop-filter:blur(8px);
}
.bbn-credit-modal-panel{
	position:relative;
	z-index:1;
	width:min(680px,calc(100vw - 28px));
	max-height:min(760px,calc(100dvh - 28px));
	overflow:auto;
	scrollbar-width:none;
	border:1px solid color-mix(in srgb,var(--image-credit-accent,#005a7a) 22%,rgba(255,255,255,.45));
	border-radius:32px;
	background:linear-gradient(145deg,rgba(255,255,255,.97),rgba(247,252,253,.94));
	box-shadow:0 30px 90px rgba(0,0,0,.32);
	color:#17231f;
	outline:none;
	transform:translateY(6px) scale(.985);
	opacity:0;
	transition:opacity .18s ease,transform .18s ease;
}
.bbn-credit-modal-panel::-webkit-scrollbar{display:none;}
.bbn-credit-modal-root.is-open .bbn-credit-modal-panel{opacity:1;transform:none;}
.bbn-credit-modal-close{
	position:sticky;
	top:14px;
	float:right;
	z-index:4;
	width:42px;
	height:42px;
	margin:14px 14px -56px 0;
	border:0;
	border-radius:999px;
	background:var(--image-credit-accent,#005a7a);
	color:#fff;
	font-size:25px;
	font-weight:900;
	line-height:1;
	cursor:pointer;
	box-shadow:0 14px 34px color-mix(in srgb,var(--image-credit-accent,#005a7a) 30%,transparent);
}
.bbn-credit-modal-close:focus-visible{outline:3px solid #fff;outline-offset:2px;}
.bbn-credit-modal-visual{
	height:clamp(120px,26vw,210px);
	border-radius:32px 32px 0 0;
	background:linear-gradient(135deg,var(--image-credit-accent,#005a7a),#c8006e);
	background-size:cover;
	background-position:center;
	position:relative;
	overflow:hidden;
}
.bbn-credit-modal-visual:after{
	content:"";
	position:absolute;
	inset:auto 0 0;
	height:58%;
	background:linear-gradient(180deg,transparent,rgba(255,255,255,.86));
}
.bbn-credit-modal-content{padding:clamp(18px,3vw,30px);}
.bbn-credit-modal-kicker{
	display:inline-flex;
	margin:0 0 8px;
	padding:6px 10px;
	border-radius:999px;
	background:color-mix(in srgb,var(--image-credit-accent,#005a7a) 10%,#fff);
	color:var(--image-credit-accent,#005a7a);
	font-size:12px;
	font-weight:900;
	text-transform:uppercase;
	letter-spacing:.08em;
}
.bbn-credit-modal-content h2{
	margin:0 56px 16px 0;
	font-family:var(--bt-font,Bitter,Georgia,serif);
	font-size:clamp(24px,3vw,38px);
	line-height:1.05;
	color:var(--image-credit-accent,#005a7a);
}
.bbn-credit-modal-list{
	display:grid;
	gap:10px;
	margin:0;
}
.bbn-credit-modal-row{
	display:grid;
	grid-template-columns:minmax(120px,34%) minmax(0,1fr);
	gap:10px;
	padding:11px 12px;
	border:1px solid rgba(0,90,122,.10);
	border-radius:16px;
	background:rgba(255,255,255,.72);
}
.bbn-credit-modal-row dt{font-weight:900;color:#526b77;font-size:12px;}
.bbn-credit-modal-row dd{margin:0;font-weight:700;line-height:1.35;overflow-wrap:anywhere;}
.bbn-credit-modal-row a{color:var(--image-credit-accent,#005a7a);text-decoration:underline;text-underline-offset:2px;}
@media(max-width:620px){
	.bbn-credit-modal-root{padding:0;place-items:stretch;}
	.bbn-credit-modal-panel{width:100%;max-height:100dvh;border-radius:28px 28px 0 0;align-self:end;}
	.bbn-credit-modal-visual{height:132px;border-radius:28px 28px 0 0;}
	.bbn-credit-modal-row{grid-template-columns:1fr;gap:4px;}
	.bbn-credit-modal-close{top:10px;margin:10px 10px -52px 0;width:40px;height:40px;}
}
@media(prefers-reduced-motion:reduce){.bbn-credit-modal-panel{transition:none;}}


/* 1.0.34: Event detail hero safety. Credits must not hide or resize hero images. */
.bep-detail-v3 .bep-hero-media.px-image-credit-wrap,
.bep-detail-v2 .bep-hero-media.px-image-credit-wrap,
.bep-hero-media.bbn-event-hero-credit{
	display:block!important;
	position:relative!important;
	width:100%!important;
	max-width:none!important;
	line-height:0!important;
	overflow:visible!important;
}
.bep-detail-v3 .bep-hero-media.px-image-credit-wrap > img,
.bep-detail-v2 .bep-hero-media.px-image-credit-wrap > img,
.bep-hero-media.bbn-event-hero-credit > img,
.bep-detail-v3 .bep-hero-media.px-image-credit-wrap > picture,
.bep-detail-v2 .bep-hero-media.px-image-credit-wrap > picture,
.bep-hero-media.bbn-event-hero-credit > picture,
.bep-detail-v3 .bep-hero-media.px-image-credit-wrap > picture img,
.bep-detail-v2 .bep-hero-media.px-image-credit-wrap > picture img,
.bep-hero-media.bbn-event-hero-credit > picture img{
	display:block!important;
	width:100%!important;
	height:auto!important;
	max-width:none!important;
	visibility:visible!important;
	opacity:1!important;
	object-fit:cover!important;
}
.bep-detail-v3 .bep-hero-media.px-image-credit-wrap > img,
.bep-detail-v2 .bep-hero-media.px-image-credit-wrap > img,
.bep-hero-media.bbn-event-hero-credit > img{
	aspect-ratio:16/10!important;
}
.bep-detail-v3 .bep-hero-media.px-image-credit-wrap > .px-image-credit,
.bep-detail-v2 .bep-hero-media.px-image-credit-wrap > .px-image-credit,
.bep-hero-media.bbn-event-hero-credit > .px-image-credit{
	right:10px!important;
	bottom:10px!important;
	z-index:12!important;
}
@media(max-width:900px){
	.bep-detail-v3 .bep-hero-media.px-image-credit-wrap > img,
	.bep-detail-v2 .bep-hero-media.px-image-credit-wrap > img,
	.bep-hero-media.bbn-event-hero-credit > img{aspect-ratio:16/11!important;}
}
