/**
 * JWM CPT top banner — in-flow positioning and sticky-header offset helpers.
 */

.jwm-banner-bar,
#jwm-topbar-wrapper.jwm-banner-bar {
	position: relative !important;
	top: 0 !important;
	width: 100% !important;
	z-index: 99999 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.jwm-banner-bar .jwm-topbar,
.jwm-banners-rotator {
	position: relative !important;
	top: 0 !important;
	width: 100% !important;
	z-index: 99999 !important;
	margin: 0 !important;
	box-sizing: border-box !important;
}

.jwm-banner-bar.is-dismissed {
	display: none !important;
	min-height: 0 !important;
	height: 0 !important;
	overflow: hidden;
	margin: 0 !important;
	padding: 0 !important;
}

.jwm-banner-bar .jwm-topbar.is-hidden {
	display: none;
}

.jwm-banner-bar .jwm-topbar-promo,
.jwm-banner-bar .jwm-topbar-promo-static,
.jwm-banner-bar a.jwm-topbar-promo.jwm-topbar-promo-link {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
}

.jwm-banner-bar a.jwm-topbar-promo.jwm-topbar-promo-link {
	display: flex;
	align-items: center;
	gap: 10px;
	text-decoration: none;
	color: var(--jwm-topbar-color, #ffffff);
	cursor: pointer;
}

.jwm-banner-bar .jwm-topbar-text,
.jwm-banner-bar .jwm-banner-text {
	flex: 1 1 auto !important;
	min-width: 0 !important;
	max-width: 100% !important;
	white-space: nowrap !important;
	overflow: hidden !important;
	text-overflow: ellipsis !important;
	text-align: right;
}

.jwm-banner-bar #jwm-banner-cta,
.jwm-banner-bar .jwm-topbar-btn,
.jwm-banner-bar .jwm-topbar-meta,
.jwm-banner-bar .jwm-topbar-close,
.jwm-banner-bar .jwm-banner-timer-host,
.jwm-banner-bar .jwm-topbar-timer,
.jwm-banner-bar .jwm-banner-socials {
	flex-shrink: 0;
}

.jwm-banner-bar,
.jwm-topbar-wrapper.jwm-banner-bar {
	--jwm-social-icon-color: #ffffff;
	--jwm-social-icon-hover-color: var(--jwm-social-icon-color);
	--jwm-social-bg-color: rgba(255, 255, 255, 0.15);
}

.jwm-banner-bar .jwm-social-icon-btn,
.jwm-topbar-wrapper .jwm-social-icon-btn {
	color: var(--jwm-social-icon-color);
	background-color: var(--jwm-social-bg-color);
}

.jwm-banner-bar .jwm-social-icon-btn svg,
.jwm-banner-bar .jwm-social-icon-btn svg path,
.jwm-topbar-wrapper .jwm-social-icon-btn svg,
.jwm-topbar-wrapper .jwm-social-icon-btn svg path {
	fill: var(--jwm-social-icon-color);
}

.jwm-banner-bar .jwm-social-icon-btn .jwm-social-icon-img,
.jwm-topbar-wrapper .jwm-social-icon-btn .jwm-social-icon-img {
	display: block;
	width: 17px;
	height: 17px;
	max-width: 17px;
	max-height: 17px;
	object-fit: contain;
}

.jwm-banner-bar .jwm-social-icon-btn:hover svg,
.jwm-banner-bar .jwm-social-icon-btn:hover svg path,
.jwm-banner-bar .jwm-social-icon-btn:focus-visible svg,
.jwm-banner-bar .jwm-social-icon-btn:focus-visible svg path,
.jwm-topbar-wrapper .jwm-social-icon-btn:hover svg,
.jwm-topbar-wrapper .jwm-social-icon-btn:hover svg path,
.jwm-topbar-wrapper .jwm-social-icon-btn:focus-visible svg,
.jwm-topbar-wrapper .jwm-social-icon-btn:focus-visible svg path {
	fill: var(--jwm-social-icon-hover-color, var(--jwm-social-icon-color));
}

/* Beat theme link color (e.g. html[data-theme="dark"] a { color: !important }) without relying on currentColor. */
html[data-theme="dark"] .jwm-topbar-wrapper.jwm-banner-bar .jwm-social-icon-btn svg,
html[data-theme="dark"] .jwm-topbar-wrapper.jwm-banner-bar .jwm-social-icon-btn svg path,
html[data-theme="dark"] .jwm-topbar-wrapper.jwm-banner-bar .jwm-social-icon-btn .jwm-social-icon-svg,
html[data-theme="dark"] .jwm-topbar-wrapper.jwm-banner-bar .jwm-social-icon-btn .jwm-social-icon-svg path {
	fill: var(--jwm-social-icon-color);
}

html[data-theme="dark"] .jwm-topbar-wrapper.jwm-banner-bar .jwm-social-icon-btn:hover svg,
html[data-theme="dark"] .jwm-topbar-wrapper.jwm-banner-bar .jwm-social-icon-btn:hover svg path,
html[data-theme="dark"] .jwm-topbar-wrapper.jwm-banner-bar .jwm-social-icon-btn:focus-visible svg,
html[data-theme="dark"] .jwm-topbar-wrapper.jwm-banner-bar .jwm-social-icon-btn:focus-visible svg path {
	fill: var(--jwm-social-icon-hover-color, var(--jwm-social-icon-color));
}

html.jwm-banner-at-top.jwm-has-banner .elementor-sticky--active,
html.jwm-banner-at-top.jwm-has-banner header.elementor-sticky.elementor-sticky--active,
html.jwm-banner-at-top.jwm-has-banner header.fixed-top,
html.jwm-banner-at-top.jwm-has-banner #site-header.is-sticky,
html.jwm-banner-at-top.jwm-has-banner header[data-elementor-sticky],
html.jwm-banner-at-top.jwm-has-banner .site-header,
html.jwm-banner-at-top.jwm-has-banner .sticky-header,
html.jwm-banner-at-top.jwm-has-banner .header-sticky,
html.jwm-banner-at-top.jwm-has-banner #masthead {
	top: var(--jwm-banner-height, 0px) !important;
	transition: top 0.2s ease;
}
