/*
Theme Name: FCSA Main
Theme URI: https://www.fcsa.org.uk/
Template: hello-elementor
Author: FCSA Team
Author URI: https://www.fcsa.org.uk/
Tags: accessibility-ready,flexible-header,custom-colors,custom-menu,custom-logo,featured-images,rtl-language-support,threaded-comments,translation-ready
Version: 3.4.9.20260519.2
Updated: 2026-05-05 15:06:58
*/

/* --- GLOBAL --- */
/* Make page height full height with footer always on the bottom */
html, body {
	min-height: 100%;
}

body {
	margin: 0;
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}

body > main#content,
body > .elementor-location-single,
body > .site-main,
body > #content {
	flex: 1 0 auto;
	width: 100%;
}

body > footer.elementor-location-footer,
body > footer {
	margin-top: auto;
	width: 100%;
}

/* Headers in text editor */
.elementor-widget-text-editor h2 {
	font-weight: var( --e-global-typography-primary-font-weight );
	color: var( --e-global-color-primary );
}

/* Tabs */
body.elementor-default .elementor .elementor-element .e-con-inner .elementor-element.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title {
	appearance: none;
	border: 0;
	background: var( --fcsa-color-secondary, #f7931d );
	color: var( --fcsa-color-text, #171717 );
	padding: 12px 14px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	border-radius: 15px;
	transition: background-color .25s ease-in-out,color .25s ease-in-out,box-shadow .25s ease-in-out,transform .2s ease-in-out;
}

body.elementor-default .elementor .elementor-element .e-con-inner .elementor-element.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title[aria-selected=true] {
	background: var( --fcsa-color-primary, #f15a29 );
	color: var( --fcsa-color-text, #171717 );
}

body.elementor-default .elementor .elementor-element .e-con-inner .elementor-element.elementor-widget-n-tabs .e-n-tabs-heading .e-n-tab-title:hover:not([aria-selected=true]) {
	background: var( --fcsa-color-primary, #f15a29 );
	color: var( --fcsa-color-text, #171717 );
	transform: translateY( -1px );
	box-shadow: 0 2px 8px rgba( 0, 0 , 0, .22 );
}

/* Pagination */
.elementor-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
	margin-top: 20px;
}

.elementor-pagination .elementor-screen-only {
	display: none;
}

.elementor-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 36px;
	min-height: 36px;
	padding: 0 10px;
	line-height: 24px;
	border: 1px solid #d7dbe0;
	background: #ffffff;
	color: #f15a29;
	text-decoration: none;
}

.elementor-pagination .page-numbers.current {
	border-color: #ebebeb;
	background: #ebebeb;
	color: #171717;
}

.elementor-pagination .page-numbers:hover,
.elementor-pagination .page-numbers:focus {
	border-color: #d7dbe0;
	background: #f7f7f7;
	color: #f15a29;
}

/* Footer logos */
.elementor-location-footer .elementor-element.fcsa-footer-logos {
  justify-content: space-between;
  flex-wrap: nowrap;
  column-gap: 0;
  row-gap: 0;
}

.elementor-location-footer .elementor-element.fcsa-footer-logos .elementor-widget-image {
  flex: 1 1 0;
  min-width: 0;
  max-width: 150px;
}

.elementor-location-footer .elementor-element.fcsa-footer-logos .elementor-widget-image img {
  width: 100%;
  height: 56px;
  object-fit: contain;
}

@media (max-width: 1024px) {
  .elementor-location-footer .elementor-element.fcsa-footer-logos {
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 16px;
    row-gap: 14px;
  }

  .elementor-location-footer .elementor-element.fcsa-footer-logos .elementor-widget-image {
    max-width: 128px;
  }

  .elementor-location-footer .elementor-element.fcsa-footer-logos .elementor-widget-image img {
    height: 48px;
  }
}

@media (max-width: 767px) {
  .elementor-location-footer .elementor-element.fcsa-footer-logos {
    justify-content: center;
    flex-wrap: wrap;
    column-gap: 12px;
    row-gap: 12px;
  }

  .elementor-location-footer .elementor-element.fcsa-footer-logos .elementor-widget-image {
    max-width: 110px;
  }

  .elementor-location-footer .elementor-element.fcsa-footer-logos .elementor-widget-image img {
    height: 42px;
  }
}

/* ----------------------------------------------------- */

/* --- SPECIFICS --- */

/* Partner Page Styling */
.fcsa-partner-search-wrap {
	display: flex;
	gap: 10px;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 0 24px;
}

.fcsa-partner-search-wrap input[type="search"] {
	min-width: 260px;
	flex: 1;
	padding: 12px 14px;
	border: 1px solid #cad2dc;
	border-radius: 8px;
}

.fcsa-partner-search-wrap .elementor-button {
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 0;
}

.fcsa-partner-search-clear {
	color: #073b4c;
	font-weight: 600;
	text-decoration: none;
}

.fcsa-partner-search-empty {
	margin: 8px 0 0;
	color: #4a5565;
	font-weight: 600;
	display: none;
}

.fcsa-partner-search-wrap button.elementor-button {
	border: 0;
	box-shadow: none;
}


/* Card alignment in loops */
.elementor-loop-container .elementor.e-loop-item {
	display: flex;
}

.elementor-loop-container .e-loop-item .elementor-element.e-con {
	flex: 1 1 auto;
}

.elementor-loop-container .e-loop-item .elementor-element.elementor-widget-button {
	margin-top: auto;
	margin-block-start: auto;
}

/* Keep partner cards equal-height and pin CTA to bottom after client-side filtering. */
.elementor-loop-container .e-loop-item > .e-con,
.elementor-loop-container .e-loop-item > .e-con > .e-con-inner {
	height: 100%;
}

.elementor-loop-container .e-loop-item > .e-con > .e-con-inner {
	display: flex;
	flex-direction: column;
}

.elementor-loop-container .e-loop-item > .e-con > .e-con-inner > .e-con {
	flex: 1 1 auto;
}

.elementor-loop-container .e-loop-item > .e-con > .e-con-inner > .elementor-widget-button {
	margin-top: auto;
	margin-block-start: auto;
}


.elementor-loop-container .e-loop-item .elementor-widget-theme-post-featured-image {
	min-height: 228px;
	display: flex;
	align-items: center;
}

.elementor-loop-container .e-loop-item .elementor-widget-theme-post-featured-image img {
	width: 100%;
	max-height: 228px;
	object-fit: contain;
}

/* Home Hero Buttons */
@media (min-width: 768px) {
	.home .elementor-element.fcsa-square-cta.elementor-widget-button {
		width: 160px;
		height: 160px;
	}

	.home .elementor-element.fcsa-square-cta .elementor-button {
		text-align: left;
		width: 100%;
		height: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

/* Single event navigation */
.single-event .event-nav-wrap {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: start;
	row-gap: 16px;
	grid-auto-flow: row dense;
	order: 2;
}

.single-event .event-nav-wrap + .elementor-widget-button {
	order: 1;
}

.single-event .event-nav-wrap .elementor-widget-post-navigation,
.single-event .event-nav-wrap .elementor-widget-post-navigation .elementor-post-navigation {
	display: contents;
}

.single-event .event-nav-wrap .elementor-post-navigation__separator-wrapper {
	display: none;
}

.single-event .event-nav-wrap .elementor-post-navigation__prev {
	grid-column: 1;
	justify-self: start;
}

.single-event .event-nav-wrap .elementor-post-navigation__next {
	grid-column: 3;
	justify-self: end;
}

.single-event .event-nav-wrap > .elementor-widget-button {
	grid-column: 2;
	justify-self: center;
	margin: 0;
}

.single-event .event-nav-wrap > .elementor-widget-button .elementor-button {
	white-space: nowrap;
}

@media (max-width: 1024px) {
	.single-event .event-nav-wrap {
		display: flex;
		flex-direction: column;
		gap: 12px;
	}

	.single-event .event-nav-wrap .elementor-widget-post-navigation,
	.single-event .event-nav-wrap .elementor-widget-post-navigation .elementor-post-navigation {
		display: block;
	}

	.single-event .event-nav-wrap .elementor-post-navigation {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	.single-event .event-nav-wrap .elementor-post-navigation__separator-wrapper {
		display: none;
	}

	.single-event .event-nav-wrap > .elementor-widget-button,
	.single-event .event-nav-wrap > .elementor-widget-button .elementor-button {
		width: 100%;
		text-align: center;
	}
}