/*
Theme Name: AHP Block Theme
Theme URI: 
Author: Yoko Co
Author URI: 
Description: A modern, custom theme from the team at Yoko Co.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 5.7
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: yoko-ahp-main
Tags: 

/*************************************************************/

/*************************************************************/
/*************** Gutenberg and FSE quirk fixes ***************/
/*************************************************************/

/* Fixes default gaps between blocks when stacking groups or rows at the highest level */

:where(.wp-site-blocks) > * {margin-block-start: 0; margin-block-end: 0;}


/*************************************************************/
/************ Utility classes for responsive fixes ***********/
/*************************************************************/

/* Handles responsive left-right padding by default by target top level groups. Can be undone by using .esc-pad class on a top level group */

@media screen and (max-width: 1240px) {
.wp-site-blocks > .wp-block-group:not(.esc-pad), 
.wp-site-blocks > .wp-block-template-part > .wp-block-group:not(.esc-pad), 
.wp-block-template-part > .wp-block-template-part > .wp-block-group:not(.esc-pad), 
.wp-block-template-part > .wp-block-template-part > .wp-block-template-part > .wp-block-group:not(.esc-pad), .wp-site-blocks > .entry-content > .wp-block-group:not(.esc-pad) 
{
    padding-left: 20px; 
    padding-right: 20px;
}
}
 
/* utility classes for responsive layouts on medium devices */

@media screen and (max-width: 1024px) {
    body .is-layout-flex.md-reverse {flex-direction: row-reverse; justify-content: flex-end;} 
    body .is-layout-flex.md-stack {flex-direction: column;}  
    body .is-layout-flex.md-stack.md-reverse {flex-direction: column-reverse; justify-content: flex-end;} 
    body .is-layout-flex.md-stack  > :is(*, div) {display: block; width: 100%; margin-left: 0; margin-right: 0;} 
    body .wp-block-columns.is-layout-flex.md-reverse {flex-direction: column-reverse; justify-content: flex-end;}
}

/* utility classes for responsive layouts on small devices */
@media screen and (max-width: 781px) {
    body .is-layout-flex.mobile-reverse, body .is-layout-flex.sm-reverse {flex-direction: row-reverse; justify-content: flex-end;} 
    body .is-layout-flex.mobile-stack, body .is-layout-flex.sm-stack {flex-direction: column;} 
    body .is-layout-flex.mobile-stack.mobile-reverse, body .is-layout-flex.sm-stack.sm-reverse {flex-direction: column-reverse; justify-content: flex-end;} 
    body .is-layout-flex.mobile-stack  > :is(*, div), body .is-layout-flex.sm-stack  > :is(*, div) {display: block; width: 100%; margin-left: 0; margin-right: 0;} 
    body .wp-block-columns.is-layout-flex.mobile-reverse, body .wp-block-columns.is-layout-flex.sm-reverse {flex-direction: column-reverse; justify-content: flex-end;}
}


/****************************************************/
/******************* Hover effects ******************/
/****************************************************/

/* Buttons */

:root :where(.wp-block-button .wp-block-button__link) {
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
:root :where(.wp-block-button .wp-block-button__link):hover {
	border-color: var(--wp--preset--color--accent-extra);
	background-color: var(--wp--preset--color--accent-extra);
	color: var(--wp--preset--color--core);
}
:root :where(.wp-block-button.is-style-outline .wp-block-button__link):hover {
	border-color: var(--wp--preset--color--brand);
	background-color: var(--wp--preset--color--brand);
}
:root :where(.wp-block-button.is-style-reverse-outline .wp-block-button__link):hover {
	border-color: var(--wp--preset--color--core);
	background-color: var(--wp--preset--color--core);
	color: var(--wp--preset--color--core-heading);
}

/* Loginout Block */

.wp-block-loginout a {
	color: inherit;
	text-decoration: inherit;
	border-bottom: 2px solid transparent;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
.wp-block-loginout a:hover {
	border-color: var(--wp--preset--color--accent);
}

.wp-block-loginout.is-style-alt a {
	border: none;
	position: relative;
}
.wp-block-loginout.is-style-alt a::after {
	content: '';
	display: block;
	width: 0;
	border-bottom: 2px solid var(--wp--preset--color--accent);
	position: absolute;
	left: calc(24px + var(--wp--preset--spacing--20));
	bottom: -5px;
	transition: width 0.3s ease;
}
body.logged-in .wp-block-loginout.is-style-alt a::after {
	left: 0px;
}
.wp-block-loginout.is-style-alt a:hover::after {
	width: calc(100% - (24px + var(--wp--preset--spacing--20)));
}

/* Card Style */

.is-style-card,
.is-style-simple-card,
.is-style-simple-card .is-style-card-title a,
.is-style-card .is-style-card-title a,
.is-style-card #card-icon,
.is-style-simple-card #card-icon,
.is-style-card #card-icon .icon-container,
.is-style-simple-card #card-icon .icon-container {
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
.is-style-simple-card.is-linked:hover .is-style-card-title a,
.is-style-card.is-linked:hover .is-style-card-title a {
	text-decoration-color: var(--wp--preset--color--accent);
}
.is-style-simple-card.is-linked:hover #card-icon,
.is-style-card.is-linked:hover #card-icon {
	padding-right: 0px;
}
.is-style-simple-card.is-linked:hover #card-icon .icon-container.has-accent-color,
.is-style-card.is-linked:hover #card-icon .icon-container.has-accent-color {
	color: var(--wp--preset--color--core-tint) !important;
}

/* List Block - Alt Style */

.wp-block-list.is-style-alt > li a {
	-webkit-transition: all 0.2s;
	transition: all 0.2s;
}
.wp-block-list.is-style-alt > li a:hover {
	background-image: url('/wp-content/uploads/2026/04/icon-arrow-right-accent.svg');
	text-decoration-color: var(--wp--preset--color--accent);
}

/* Pagination */

.wp-block-query-pagination :is(.page-numbers, .wp-block-query-pagination-next, .wp-block-query-pagination-previous),
:root .facetwp-facet-pagination .facetwp-page {
	-webkit-transition: all 0.2s;
	transition: all 0.2s
}
.wp-block-query-pagination :is(.page-numbers, .wp-block-query-pagination-next, .wp-block-query-pagination-previous):hover,
:root .facetwp-facet-pagination .facetwp-page:hover {
	background: var(--wp--preset--color--contrast);
	color: var(--wp--preset--color--contrast-heading);
}


/****************************************************/
/********************** FOOTER **********************/
/****************************************************/

@media screen and (min-width: 993px) {
	footer .wp-block-paragraph a {
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
	}
	footer .wp-block-paragraph a {
		border: none;
		color: inherit;
		text-decoration: none;
		position: relative;
	}
	footer .wp-block-paragraph a::after {
		content: '';
		display: block;
		width: 0;
		border-bottom: 2px solid var(--wp--preset--color--accent);
		position: absolute;
		left: 0px;
		bottom: 0px;
		transition: width 0.3s ease;
	}
	footer .wp-block-paragraph a:hover::after {
		width: 100%;
	}
}

/****************************************************/
/******************** Navigation ********************/
/****************************************************/

:root .wp-block-navigation .wp-block-navigation__submenu-icon {
	margin-bottom: 3px;
	color: var(--wp--preset--color--brand);
}
:root .wp-block-navigation.has-contrast-heading-color .wp-block-navigation__submenu-icon {
	color: var(--wp--preset--color--accent);
}
:root .wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-submenu__toggle {
	padding-right: 1em;
}

@media screen and (min-width: 993px) {
	.wp-block-navigation .wp-block-navigation-item__content {
		-webkit-transition: all 0.3s;
		transition: all 0.3s;
	}
	:root .wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content {
		border: none;
	}
	:root .wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content::after {
		content: '';
		display: block;
		width: 0;
		border-bottom: 2px solid var(--wp--preset--color--accent);
		position: absolute;
		left: 0px;
		bottom: 0px;
		transition: width 0.3s ease;
	}
	:root .wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content:hover::after,
	:root .wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-expanded="true"]::after {
		width: 100%;
	}
}

/****************************************************/
/****************** Sub Navigation ******************/
/****************************************************/

:root .wp-block-navigation .wp-block-navigation__submenu-container {
	border: 0px;
	border-radius: 0px var(--wp--preset--border-radius--small) var(--wp--preset--border-radius--small) var(--wp--preset--border-radius--small);
	background-color: transparent;
}

:root .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content {
	border-radius: inherit;
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
}
:root .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(:first-child) > .wp-block-navigation-item__content {
	border-top: 1px solid var(--wp--preset--color--contrast-border);
}
:root .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item > .wp-block-navigation-item__content:hover {
	background-color: var(--wp--preset--color--contrast-tint);
}

@media screen and (min-width: 993px) {
	:root .wp-block-navigation .wp-block-navigation__submenu-container {
		min-width: 270px !important;
	}

	:root .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:first-child {
		border-radius: 0px var(--wp--preset--border-radius--small) 0px 0px;
	}
	:root .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:last-child {
		border-radius: 0px 0px var(--wp--preset--border-radius--small) var(--wp--preset--border-radius--small);
	}
	:root .wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:only-child {
		border-radius: 0px var(--wp--preset--border-radius--small) var(--wp--preset--border-radius--small) var(--wp--preset--border-radius--small);
	}
}

/****************************************************/
/***************** Main Navigation *****************/
/****************************************************/

.main-nav.wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content {
	padding-top: var(--wp--preset--spacing--30);
	padding-bottom: var(--wp--preset--spacing--30);
}
.main-nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.parent-item) > .wp-block-navigation-item__content {
	align-items: center;
	gap: 10px;
}
.main-nav.wp-block-navigation .wp-block-navigation__submenu-container > .wp-block-navigation-item:not(.parent-item) > .wp-block-navigation-item__content::before {
	content: '';
	display: inline-block;
	min-width: 12px;
	width: 12px;
	height: 12px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='15' height='14' viewBox='0 0 15 14' fill='none'%3E%3Cpath d='M0 0.625C0 0.279822 0.279822 0 0.625 0C0.970178 0 1.25 0.279822 1.25 0.625V8.5H12.4495L9.53857 5.58984C9.2945 5.34577 9.2945 4.94932 9.53857 4.70524C9.78265 4.46116 10.1791 4.46116 10.4232 4.70524L14.4002 8.68311C14.6443 8.92718 14.6443 9.32282 14.4002 9.56689L10.4232 13.5448C10.1791 13.7888 9.78265 13.7888 9.53857 13.5448C9.2945 13.3007 9.2945 12.9042 9.53857 12.6602L12.4495 9.75H0V0.625Z' fill='white'/%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
}
@media screen and (max-width: 992px) {
	.main-nav.wp-block-navigation .wp-block-navigation-item {
		width: 100%;
		flex-wrap: wrap;
	}

	.main-nav.wp-block-navigation .wp-block-navigation__submenu-container {
		position: relative;
		top: 0;
		flex-basis: 100%;
	}
	.main-nav.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		left: 0px;
		top: 0px;
		margin: 0px var(--wp--preset--spacing--40);
	}

	.main-nav.wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content {
		flex-basis: 100%;
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.2636 9.8637C6.61508 9.51223 7.18492 9.51223 7.5364 9.8637L12 14.3273L16.4636 9.8637C16.8151 9.51223 17.3849 9.51223 17.7364 9.8637C18.0879 10.2152 18.0879 10.785 17.7364 11.1365L12.6364 16.2365C12.4676 16.4053 12.2387 16.5001 12 16.5001C11.7613 16.5001 11.5324 16.4053 11.3636 16.2365L6.2636 11.1365C5.91213 10.785 5.91213 10.2152 6.2636 9.8637Z' fill='%23993366'/%3E%3C/svg%3E");
		background-repeat: no-repeat;
		background-position: center right 20px;
		background-size: 24px;
	}
	.main-nav.wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content[aria-expanded="false"] {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.2636 14.1363C6.61508 14.4878 7.18492 14.4878 7.5364 14.1363L12 9.67269L16.4636 14.1363C16.8151 14.4878 17.3849 14.4878 17.7364 14.1363C18.0879 13.7848 18.0879 13.215 17.7364 12.8635L12.6364 7.76351C12.4676 7.59472 12.2387 7.4999 12 7.4999C11.7613 7.4999 11.5324 7.59472 11.3636 7.76351L6.2636 12.8635C5.91213 13.215 5.91213 13.7848 6.2636 14.1363Z' fill='%23993366'/%3E%3C/svg%3E");
	}
	.main-nav.wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation__submenu-icon {
		display: none;
	}

	.main-nav.wp-block-navigation .wp-block-navigation__submenu-icon {
		width: 14px;
		height: 14px;
		margin-left: 0px;
	}

	.main-nav.wp-block-navigation > .wp-block-navigation-item > .wp-block-navigation-item__content {
		padding-top: 20px;
		padding-left: 20px;
		padding-bottom: 20px;
	}
	.main-nav.wp-block-navigation .wp-block-navigation-submenu__toggle {
		padding-right: 20px;
	}
	.main-nav.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item {
		border-top: 1px solid var(--wp--preset--color--core-border);
	}
	.main-nav.wp-block-navigation .wp-block-navigation__container > .wp-block-navigation-item:last-child {
		border-bottom: 1px solid var(--wp--preset--color--core-border);
	}
}

/****************************************************/
/********* Mobile Navigation Functionality **********/
/****************************************************/

@media screen and (max-width: 992px) {
	header .mobile-nav summary {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M3.75 6.75H20.25M3.75 12H20.25M3.75 17.25H20.25' stroke='%23993366' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
		background-position: center;
		background-repeat: no-repeat;
		background-size: 27px;
		list-style-type: none;
		width: 27px;
		height: 27px;
		font-size: 0px;
	}
	header .mobile-nav[open] summary {
		background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='27' height='27' viewBox='0 0 27 27' fill='none'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M6.15338 6.15338C6.48288 5.82387 7.01712 5.82387 7.34662 6.15338L13.5 12.3068L19.6534 6.15338C19.9829 5.82387 20.5171 5.82387 20.8466 6.15338C21.1761 6.48288 21.1761 7.01712 20.8466 7.34662L14.6932 13.5L20.8466 19.6534C21.1761 19.9829 21.1761 20.5171 20.8466 20.8466C20.5171 21.1761 19.9829 21.1761 19.6534 20.8466L13.5 14.6932L7.34662 20.8466C7.01712 21.1761 6.48288 21.1761 6.15338 20.8466C5.82387 20.5171 5.82387 19.9829 6.15338 19.6534L12.3068 13.5L6.15338 7.34662C5.82387 7.01712 5.82387 6.48288 6.15338 6.15338Z' fill='%23993366'/%3E%3C/svg%3E");
	}
	header .mobile-nav summary::before {
		display: none;
	}
	header .mobile-nav-col {
		position: absolute;
		left: 0;
		width: 100%;
	}
	header .mobile-nav-col:has(.wp-block-navigation-submenu__toggle[aria-expanded="true"]) {
		overflow: scroll;
		height: 80vh;
	}
}

/****************************************************/
/******************* Large Events *******************/
/****************************************************/

.large-event-label:is(a),
.large-event-navigation__list .large-event-navigation__link {
	border: none;
	position: relative;
}
.large-event-label:is(a)::after,
.large-event-navigation__list .large-event-navigation__link::after {
	content: '';
	display: block;
	width: 0;
	border-bottom: 2px solid var(--wp--preset--color--accent);
	position: absolute;
	left: calc(24px + var(--wp--preset--spacing--20));
	transition: width 0.3s ease;
}
.large-event-label:is(a)::after {
	bottom: -5px;
}
.large-event-navigation__list .large-event-navigation__link::after {
	bottom: 0px;
}
.large-event-label:is(a)::after,
.large-event-navigation__list .large-event-navigation__link::after {
	left: 0px;
}
.large-event-label:is(a):hover::after,
.large-event-navigation__list .large-event-navigation__link:hover::after {
	width: 100%;
}

:is(.large-event-register-link, .large-event-register-group-link) {
	border: 2px solid var(--wp--preset--color--brand);
	border-radius: 100px;
	background-color: var(--wp--preset--color--brand);
	padding-top: var(--wp--preset--spacing--20);
	padding-right: var(--wp--preset--spacing--30);
	padding-bottom: var(--wp--preset--spacing--20);
	padding-left: var(--wp--preset--spacing--30);

	font-family: var(--wp--preset--font-family--secondary);
	font-size: var(--wp--preset--font-size--body-default);
	font-weight: 500;
	line-height: 1.09;
	color: var(--wp--preset--color--core);
	text-decoration: none;

	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
:is(.large-event-register-link, .large-event-register-group-link):hover {
	border-color: var(--wp--preset--color--accent-extra);
	background-color: var(--wp--preset--color--accent-extra);
	color: var(--wp--preset--color--core);
}

/****************************************************/
/**************** Misc adjustments ******************/
/****************************************************/
 
/* Fixes default gaps when using prefixes on MFBPro */

.wp-block-mfb-meta-field-block.is-display-inline-block .prefix {
    margin-inline-end: var(--mfb--gap, 0);
}

.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet {
	background: rgba(9, 9, 9, 0.20);
	opacity: 1;
}
.has-background .wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet {
	background: var(--wp--preset--color--core-tint);
}
.wp-block-cb-carousel-v2 .cb-pagination .cb-pagination-bullet.swiper-pagination-bullet-active {
	background: var(--wp--preset--color--accent);
}
.wp-block-cb-carousel-v2 .cb-button-next:after,
.wp-block-cb-carousel-v2 .cb-button-prev:after {
	color: var(--wp--preset--color--brand);
}
.wp-block-cb-carousel-v2 .cb-button-next {
	right: calc(-1 * (var(--wp--preset--spacing--40) + 22px));
}
.wp-block-cb-carousel-v2 .cb-button-prev {
	left: calc(-1 * (var(--wp--preset--spacing--40) + 22px));
}
@media screen and (max-width: 992px) {
	.wp-block-cb-carousel-v2 .cb-button-next,
	.wp-block-cb-carousel-v2 .cb-button-prev {
		display: none;
	}
}

.wp-block-separator {
	border-top: 0px;
	height: 1px;
}


/****************************************************/
/******************* CUSTOM LINK ********************/
/****************************************************/

a.button {
	display: inline-block;
	border: 2px solid var(--wp--preset--color--brand);
	background-color: var(--wp--preset--color--brand);
	border-radius: 100px;
	color: var(--wp--preset--color--core);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	font-weight: 500;
	letter-spacing: 0;
	text-decoration: none;
	line-height: 1.09;
	margin-right: var(--wp--preset--spacing--30);
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
}
a.button:hover {
	border-color: var(--wp--preset--color--accent-extra);
	background-color: var(--wp--preset--color--accent-extra);
	color: var(--wp--preset--color--core);
}
a.button.outline-button {
	background-color: transparent;
	color: var(--wp--preset--color--brand);
}
a.button.outline-button:hover {
	border-color: var(--wp--preset--color--brand);
	background-color: var(--wp--preset--color--brand);
	color: var(--wp--preset--color--core);
}