/* -----------------------------------------------------------------------------
 * The same eight Elementor typography variables were pasted into .pf-input,
 * .pf-btn and .pf-btn__clear. They are declared once here and referenced by
 * name, so a theme change is one edit instead of three.
 * -------------------------------------------------------------------------- */

:root {
	--pf-font:            var(--e-global-typography-5126594-font-family), Sans-serif;
	--pf-font-size:       var(--e-global-typography-5126594-font-size);
	--pf-font-weight:     var(--e-global-typography-5126594-font-weight);
	--pf-text-transform:  var(--e-global-typography-5126594-text-transform);
	--pf-line-height:     var(--e-global-typography-5126594-line-height);
	--pf-letter-spacing:  var(--e-global-typography-5126594-letter-spacing);

	--pf-accent:  var(--e-global-color-c73bbf2);
	--pf-surface: var(--e-global-color-e43cc07);
	--pf-border:  var(--e-global-color-370c966);
	--pf-link:    var(--e-global-color-be9f1b4);
	--pf-muted:   var(--e-global-color-d14665a);
	--pf-invert:  var(--e-global-color-5385f10);

	--pf-gap:    12px;
	--pf-radius: 4px;
}

/* Shared control typography ------------------------------------------------ */

.pf-input,
.pf-btn,
.pf-btn__clear {
	font-family:      var(--pf-font);
	font-size:        var(--pf-font-size);
	font-weight:      var(--pf-font-weight);
	text-transform:   var(--pf-text-transform);
	line-height:      var(--pf-line-height);
	letter-spacing:   var(--pf-letter-spacing);
	transition-duration: 100ms;
	cursor: pointer;
}

/* Layout ------------------------------------------------------------------- */

.pf-controls        { display: flex; flex-direction: column; justify-content: space-between; margin-bottom: 32px; }
.pf-controlsTitle   { display: flex; flex-direction: row; justify-content: space-between; align-items: center; }
.pf-controlsTitle > button { display: none; gap: var(--pf-gap); align-items: center; text-transform: uppercase; }

.pf-controlsTitle .elementor-widget-text-editor {
	font-family:    var(--e-global-typography-primary-font-family), Sans-serif;
	font-size:      var(--e-global-typography-primary-font-size);
	font-weight:    500;
	line-height:    var(--e-global-typography-primary-line-height);
	letter-spacing: var(--e-global-typography-a611988-letter-spacing);
	color:          var(--e-global-color-abe8bb1);
}

#pf-form           { display: flex; flex-direction: row; gap: var(--pf-gap); margin: 0; justify-content: space-between; }
.pf-filters-wrap,
.pf-actions        { display: flex; gap: var(--pf-gap); margin: 0; justify-content: flex-end; }
.pf-filters-wrap   { width: 100%; max-width: 100%; }
.pf-actions        { flex: 0 0 auto; }
#pf-filters[hidden] { display: none; }

/* Controls ----------------------------------------------------------------- */

.pf-input {
	width: 100%;
	max-width: 21%;
	color: #000;
	fill: var(--pf-accent);
	border: 2px solid var(--pf-border);
	border-radius: var(--pf-radius);
	padding: 12px 6px;
}
.pf-input[type="search"] { max-width: 100%; }

.pf-btn {
	background-color: var(--pf-surface);
	color: var(--pf-accent);
	fill: var(--pf-accent);
	border: 2px solid var(--pf-accent);
	border-radius: var(--pf-radius);
	padding: 12px 24px;
	text-transform: uppercase;
}
.pf-btn:hover { background-color: var(--pf-accent); color: var(--pf-invert); border-color: var(--pf-accent); }

.pf-btn__search        { background-color: var(--pf-accent); color: #fff; }
.pf-btn__search:hover  { opacity: .8; }

.pf-btn__clear {
	font-family: var(--e-global-typography-accent-font-family), Sans-serif;
	padding: 0 8px;
	background: 0;
	border: 0;
}
.pf-btn__clear:hover { color: var(--pf-accent); }

/* Cards -------------------------------------------------------------------- */

.pf-item  { display: flex; justify-content: space-between; padding: 0 0 32px 0; align-items: flex-end; }
.pf-right { min-width: 80px; margin-left: 16px; text-align: right; }

.pf-title {
	color:       var(--Text, #1E1E1E);
	font-family: var(--e-global-typography-text-font-family), sans-serif;
	font-size:   var(--e-global-typography-text-font-size);
	font-weight: var(--e-global-typography-a611988-font-weight);
	font-style:  normal;
	line-height: 1.2em;
	margin: 5px 0 0 0;
}

.pf-meta {
	color:          var(--pf-muted) !important;
	font-family:    var(--e-global-typography-1c19898-font-family), sans-serif;
	font-size:      var(--e-global-typography-accent-font-size);
	font-weight:    var(--e-global-typography-text-font-weight);
	text-transform: var(--e-global-typography-accent-text-transform);
	letter-spacing: var(--e-global-typography-1c19898-letter-spacing);
	line-height:    var(--e-global-typography-primary-line-height);
}

.pf-read {
	font-family:    var(--e-global-typography-text-font-family), Sans-serif;
	font-size:      var(--e-global-typography-text-font-size);
	font-weight:    var(--e-global-typography-text-font-weight);
	line-height:    var(--e-global-typography-text-line-height);
	letter-spacing: var(--e-global-typography-text-letter-spacing);
	color: var(--pf-link) !important;
	fill:  var(--pf-link);
	white-space: nowrap;
}
.pf-read svg { position: relative; top: 1.5px; width: 8px; height: 16px; margin-left: 6px; }

/* States ------------------------------------------------------------------- */

.pf-empty                        { margin: 0 0 32px 0; }

/* Visually hidden live region for result counts. */
.pf-sr {
	position: absolute !important;
	width: 1px; height: 1px;
	margin: -1px; padding: 0; border: 0;
	overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%);
	white-space: nowrap;
}

/* Keyword-only presets: no dropdowns, so the field takes the row. */
.pf-no-filters .pf-filters-wrap { flex: 1 1 auto; }
.pf-no-filters .pf-input        { max-width: 100%; }
#pf-loadmore-wrap[hidden]        { display: none !important; }
#pf-results[aria-busy="true"]    { opacity: .45; transition: opacity 120ms ease; }
#pf-wrapper.pf-is-loading        { cursor: progress; }

/* Webinars ----------------------------------------------------------------- */

.webinar-cover.past-webinar > :first-child { display: none; }
.webinar-cover.past-webinar::before        { display: none; content: none; }

/* Responsive --------------------------------------------------------------- */

@media screen and (max-width: 820px) {
	.pf-input { max-width: 100%; }
}

@media screen and (max-width: 769px) {
	.pf-controls   { margin-bottom: 16px; }
	.pf-controls img { width: 14px; }
	.pf-item       { padding: 0 0 16px 0; }
	.pf-title      { margin: 0; }
	.pf-btn__load  { width: 100%; margin-top: 16px; }
}

@media screen and (max-width: 560px) {
	.pf-filters-wrap { grid-template-columns: 1fr; }
}
