/**
 * Page-template specific overrides.
 *
 * These rules were previously inlined as <style> blocks inside individual
 * PHP templates. They have been consolidated here and scoped to the body
 * class WordPress already outputs for each template, so the cascade and
 * specificity behaviour is preserved (and slightly strengthened).
 *
 * @package gymnase
 */

/* -------------------------------------------------------------------------
 * Front page (front-page.php)
 * ---------------------------------------------------------------------- */
body.home .tmp_header {
	border-top: solid #fff;
	border-bottom: solid #fff;
	background-color: transparent !important;
}

body.home .tmp_header a,
body.home .tmp_header a:visited {
	color: #fff;
}

body.home .tmp_header ul li:last-child {
	border-color: #fff;
}

body.home .tmp_header.is-active {
	background-color: #FFFEF3 !important;
}

body.home .tmp_header.is-active ul li:last-child {
	border-color: #0275D4;
}

body.home .tmp_header.is-active .header_hamburger .line {
	background-color: #0275D4;
}

body.home .tmp_header > div:last-child,
body.home .div_main_header > div:last-child {
	border-left: 2px solid #fff;
}

body.home .tmp_header > div:first-child,
body.home .div_main_header > div:first-child {
	border-right: 2px solid #fff;
}

body.home .header_hamburger .line {
	background-color: #0275D4;
}

/* -------------------------------------------------------------------------
 * Single project / post (template-parts/content.php)
 * ---------------------------------------------------------------------- */
body.single #page {
	background-color: #FFFEF3 !important;
}

body.single .div_header_white {
	border-top: solid #0275D4;
	border-bottom: solid #0275D4;
}

body.single .div_header_white ul {
	border-left: 2px solid #0275D4;
}

body.single .div_header_white a,
body.single .div_header_white a:visited {
	color: #0275D4;
}

body.single .div_header_white ul li:last-child {
	border-color: #0275D4;
}

body.single .div_header_white.is-active ul li:last-child {
	border-color: #FFFEF3;
}

body.single .div_header_white.is-active .header_hamburger .line {
	background-color: #FFFEF3;
}

body.single .div_header_white > div:last-child,
body.single .div_main_header > div:last-child {
	border-left: 2px solid #0275D4;
}

body.single .div_header_white > div:first-child,
body.single .div_main_header > div:first-child {
	border-right: 2px solid #0275D4;
}

body.single #sticky_header nav {
	background-color: #FFFEF3 !important;
}

body.single .header_hamburger .line {
	background-color: #0275D4;
}

body.single .btn-11::before,
body.single .btn-11::after {
	background-image: url("../img/Tennis-ball.png");
}

/* Hide the global footer on the standalone GYM gallery post (post ID 59). */
body.single.postid-59 .main_footer {
	display: none;
}

/* -------------------------------------------------------------------------
 * Contact page (gymnase-contact.php)
 * ---------------------------------------------------------------------- */
body.page-template-gymnase-contact #page {
	background-color: #0275D4 !important;
}

body.page-template-gymnase-contact .div_header_white {
	border-top: solid #fff;
	border-bottom: solid #fff;
}

body.page-template-gymnase-contact .div_header_white a,
body.page-template-gymnase-contact .div_header_white a:visited {
	color: #fff;
}

body.page-template-gymnase-contact .div_header_white ul {
	border-left: 2px solid #fff;
}

body.page-template-gymnase-contact .div_header_white ul li:last-child {
	border-color: #fff;
}

body.page-template-gymnase-contact .div_header_white > div:last-child,
body.page-template-gymnase-contact .div_main_header > div:last-child {
	border-left: 2px solid #fff;
}

body.page-template-gymnase-contact .div_header_white > div:first-child,
body.page-template-gymnase-contact .div_main_header > div:first-child {
	border-right: 2px solid #fff;
}

body.page-template-gymnase-contact #sticky_header nav {
	background-color: #0275D4 !important;
}

@media only screen and (max-width: 640px) {
	body.page-template-gymnase-contact #sticky_header.is-active nav {
		background-color: #FFFEF3 !important;
	}

	body.page-template-gymnase-contact .div_header_white ul {
		border-left: none;
	}

	body.page-template-gymnase-contact #menu_language {
		color: #FFFEF3 !important;
	}

	body.page-template-gymnase-contact .div_header_white.is-active #menu_language,
	body.page-template-gymnase-contact .div_header_white.is-active #menu_links_toggle {
		color: #0275D4 !important;
	}
}

/* -------------------------------------------------------------------------
 * Projects page (gymnase-projects.php)
 * ---------------------------------------------------------------------- */
body.page-template-gymnase-projects #page {
	background-color: #FFFEF3 !important;
}

body.page-template-gymnase-projects .div_header_white {
	border-top: solid #0275D4;
	border-bottom: 3px solid #0275D4;
}

body.page-template-gymnase-projects .div_header_white a,
body.page-template-gymnase-projects .div_header_white a:visited {
	color: #0275D4;
}

body.page-template-gymnase-projects .div_header_white ul li:last-child {
	border-color: #0275D4;
}

body.page-template-gymnase-projects .div_header_white.is-active ul li:last-child {
	border-color: #FFFEF3;
}

body.page-template-gymnase-projects .div_header_white > div:last-child,
body.page-template-gymnase-projects .div_main_header > div:last-child {
	border-left: 2px solid #0275D4;
}

body.page-template-gymnase-projects .div_header_white > div:first-child,
body.page-template-gymnase-projects .div_main_header > div:first-child {
	border-right: 2px solid #0275D4;
}

body.page-template-gymnase-projects #sticky_header nav {
	background-color: #FFFEF3 !important;
}

body.page-template-gymnase-projects .header_hamburger .line {
	background-color: #0275D4;
}

/* -------------------------------------------------------------------------
 * Services page (gymnase-services.php)
 * ---------------------------------------------------------------------- */
body.page-template-gymnase-services .serv_accordion .accordion-title:after {
	content: "";
	position: absolute;
	right: 20px;
	background-size: contain;
	transition: transform 0.3s ease, filter 0.3s ease;
	filter: brightness(0) invert(1); /* white arrow */
}

body.page-template-gymnase-services .serv_accordion .accordion-title:hover:after {
	filter: brightness(0) saturate(100%) sepia(100%) hue-rotate(180deg); /* blue-ish tint */
}

body.page-template-gymnase-services .accordion-item.is-open .accordion-title:after {
	transform: translateY(-50%) rotate(90deg);
	filter: brightness(0) saturate(100%) sepia(100%) hue-rotate(180deg);
}

body.page-template-gymnase-services #page {
	background-color: #0275D4 !important;
}

body.page-template-gymnase-services .div_header_white {
	border-top: solid #fff;
	border-bottom: solid #fff;
}

body.page-template-gymnase-services .div_header_white a,
body.page-template-gymnase-services .div_header_white a:visited {
	color: #fff;
}

body.page-template-gymnase-services .div_header_white ul {
	border-left: 2px solid #fff;
}

body.page-template-gymnase-services .div_header_white ul li:last-child {
	border-color: #fff;
}

body.page-template-gymnase-services .div_header_white > div:last-child,
body.page-template-gymnase-services .div_main_header > div:last-child {
	border-left: 2px solid #fff;
}

body.page-template-gymnase-services .div_header_white > div:first-child,
body.page-template-gymnase-services .div_main_header > div:first-child {
	border-right: 2px solid #fff;
}

body.page-template-gymnase-services #sticky_header nav {
	background-color: #0275D4 !important;
}

@media only screen and (max-width: 640px) {
	body.page-template-gymnase-services #sticky_header.is-active nav {
		background-color: #FFFEF3 !important;
	}
}

/* -------------------------------------------------------------------------
 * Workout page (workout-page.php)
 * ---------------------------------------------------------------------- */
body.page-template-workout-page .header_hamburger .line {
	background-color: #0275D4;
}

body.single .project_big_website_link.project_url_marquee {
	display: block;
	width: 100%;
	overflow: hidden;
	white-space: nowrap;
	padding-left: 0;
	padding-right: 0;
}
.project_url_marquee__track {
	display: inline-flex;
	flex-wrap: nowrap;
	width: max-content;
	will-change: transform;
}
.project_url_marquee__group {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}
.project_url_marquee__item,
.project_url_marquee__sep {
	display: inline-block;
	flex: 0 0 auto;
	padding: 0;
	font-style: normal;
	transform: skewX(0deg);
	transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.project_url_marquee:hover .project_url_marquee__item,
.project_url_marquee:hover .project_url_marquee__sep {
	transform: skewX(-11deg);
}
