/*
Theme Name: ShelterSync
Author: Moondog Development, LLC
Version: 1.0.515
Description: Baseline theme for ShelterSync Software by Moondog Development, LLC
Text Domain: sheltersync
*/

/* ==========================================================================
1. Modern CSS Reset & Box Sizing
========================================================================== */

*,
*::before,
*::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
}

html {
	-webkit-text-size-adjust: 100%;
	tab-size: 4;
	scroll-behavior: smooth;
}

body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img,
picture,
video,
canvas,
svg {
	display: block;
	max-width: 100%;
}

input,
button,
textarea,
select {
	font: inherit;
	color: inherit;
}

ul[role='list'],
ol[role='list'] {
	list-style: none;
}

/* ==========================================================================
2. Root CSS Variables (Synced with theme.json)
========================================================================== */

:root {
	/* Fallback variables pointing to theme.json palette tokens */
	--color-primary: var(--wp--preset--color--purple, #7c3aed);
	--color-accent: var(--wp--preset--color--accent, #cab0fa);
	--color-dark: var(--wp--preset--color--dark, #3f3f46);
	--color-text: var(--wp--preset--color--text, #0f172a);
	--color-background: var(--wp--preset--color--body, #ffffff);
	--color-background-pill-cards: #ffffff;
	--scroll-margin-top: 120px;

	/* Primary Font Stack linked to theme.json preset */
	/*--font-main: var(--wp--preset--font-family--inter, Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif);*/
}
@media (min-width: 782px){
	h1 {
		font-size: 3em;
	}
}
/* ==========================================================================
3. Gutenberg Site Layout & Flow Overrides
========================================================================== */

/* Eliminate default Gutenberg margin-block-start gap between top-level layout parts */
:where(.wp-site-blocks) > * {
	margin-block-start: 0;
	margin-block-end: 0;
}
/* Strip default block flow margins between page sections inside entry-content */
.entry-content > * {
	margin-block-start: 0 !important;
	margin-block-end: 0 !important;
}

/* Ensure full-height layout shell for sticky footers */
.wp-site-blocks {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
}

.wp-site-blocks > main {
	flex-grow: 1;
}

/* ==========================================================================
4. Accessibility & Focus States
========================================================================== */

:focus-visible {
	outline: 2px solid var(--wp--preset--color--purple, #7c3aed);
	outline-offset: 3px;
}

.skip-link {
	background-color: var(--wp--preset--color--body, #ffffff);
	color: var(--wp--preset--color--purple, #7c3aed);
	left: 50%;
	padding: 8px 16px;
	position: absolute;
	transform: translateY(-100%);
	transition: transform 0.3s ease;
	z-index: 99999;
}

.skip-link:focus {
	transform: translateY(0);
}

/* ==========================================================================
5. Site Header & Navigation
========================================================================== */

.site-header {
	background-color: var(--wp--preset--color--header, #eeeef0);
	position: sticky;
	top: 0;
	z-index: 1000;
}
body.admin-bar .site-header {
	top: 32px;
}
/* Force hover styles to override Gutenberg color classes */
.wp-block-button .wp-block-button__link:hover, .wp-block-button a.wp-block-button__link:hover {
	background-color: var(--color-accent);
}
.wp-block-button__link.has-background:hover {
	background-color: var(--color-accent) !important;
}
.wp-block-button a.wp-block-button__link.has-accent-background-color:hover, .wp-block-button .wp-block-button__link.has-accent-background-color:hover {
	background: var(--wp--preset--color--active) !important;
}
.site-header .wp-block-navigation a {
	color: var(--wp--preset--color--body-text, #3f3f46);
	text-decoration: none;
	transition: color 0.2s ease;
}
/* Navigation: Active & Hover Colors */
.wp-block-navigation .current-menu-item > .wp-block-navigation-item__content,
.wp-block-navigation .current_page_item > .wp-block-navigation-item__content,
.wp-block-navigation .current-menu-ancestor > .wp-block-navigation-item__content,
.wp-block-navigation .wp-block-navigation-item__content:hover {
	color: var(--wp--preset--color--purple, #7c3aed) !important;
}
.site-header .wp-block-navigation .wp-block-navigation-item.current-menu-item.free-demo-button a {
	background: #fff !important;
}
.site-header .wp-block-navigation .wp-block-navigation-item.free-demo-button a {
	background-color: var(--wp--preset--color--purple, #7c3aed);
	color: var(--wp--preset--color--body, #ffffff);
	padding: var(--wp--custom--padding--small, 0.5rem 1.25rem);
	border-radius: var(--wp--custom--border-radius--medium, 8px);
	font-weight: 700;
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	transition: all 0.2s ease;
}
.site-header .wp-block-navigation .wp-block-navigation-item.free-demo-button a:hover {
	background-color: var(--wp--preset--color--accent);
	color: var(--wp--preset--color--body-text) !important;
}

/* ==========================================================================
6. Section Style
========================================================================== */
.site-credit > .wrap,
.site-footer > .wrap,
.site-header > .wrap {
	padding-block: var(--wp--preset--spacing--50);
	max-width: var(--wp--style--global--wide-size);
	width: 100%;
	margin-inline: auto;
}
.site-credit > .wrap,
.site-footer > .wrap,
.page-section > .wrap {
	padding-inline: var(--wp--preset--spacing--60);
}
.site-header > .wrap > .wp-block-group {
	padding-inline: var(--wp--preset--spacing--60);
}
.wp-block-group.children-w-full > * {
	width: 100%;
	max-width: 100%;
	flex-shrink: 0;
	box-sizing: border-box;
}
.page-section:has(+ .is-bottom-section-curved) {
	z-index: 1;
}
.is-bottom-section-curved {
	border-bottom-left-radius: var(--wp--custom--border-radius--section, 28px);
	border-bottom-right-radius: var(--wp--custom--border-radius--section, 28px);
	box-shadow: 0px 10px 20px 10px rgba(0,0,0,.1);
}
.wp-block-group.is-layout-grid ul.triangle-list  {
	list-style: none;
	padding-left: .5rem;
}
.wp-block-group.is-layout-grid ul.triangle-list li {
	position: relative;
	padding-bottom: .5rem;
}
.wp-block-group.is-layout-grid ul.triangle-list li::before {
	content: "►";
	color: var(--wp--preset--color--purple);
	font-size: 1.1rem;
	margin-right: 5px;
}
/* Contains and places items above the overlay */
.section-inner-hero[style*="background-image"],
.section-inner-hero[style*="background-image"] > * {
	position: relative;
}
.section-inner-hero[style*="background-image"]::before {
	content: '';
	display: block;
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.3);
	backdrop-filter: blur(2px);
}
/* Override display:none inside Gutenberg editor canvas */
.editor-styles-wrapper .contact-tabbed-content > .wp-block-group.contact-tab-card.show-on-editor,
.editor-styles-wrapper .contact-tabbed-content > .wp-block-group.contact-tab-panel.show-on-editor,
.is-root-container .show-on-editor {
	display: flex !important;
	opacity: 1 !important;
	visibility: visible !important;
	animation: none !important; /* Prevents keyframe animations from playing inside editor */
}
/* ==========================================================================
Section Features: Fixed Alternating Layout (Card 1 = Text | Image)
========================================================================== */

/* 1. Base Card Wrapper */
.section-features .wp-block-group.is-layout-grid {
	border: 2px solid #e2e8f0;
	border-radius: var(--wp--custom--border-radius--large, 28px);
	overflow: hidden;
	box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.08);
	margin: 0;
	padding: 0;
}

/* 2. Text Column: Left-Aligned Content */
.section-features .wp-block-group.is-layout-grid > .wp-block-group:not(:has(.wp-block-image)) {
	background-color: var(--color-background-pill-cards, #fff);
}

/* 3. Image Column (Gray Background) & Height Match Fix */
.section-features .wp-block-group.is-layout-grid > .wp-block-group:has(.wp-block-image) {
	background-color: var(--wp--preset--color--card);
	display: flex;
	flex-direction: column;
	align-items: stretch;
	justify-content: center;
	height: 100%;
	margin: 0;
}

/* Force figure wrapper to fill available height */
.section-features .wp-block-group.is-layout-grid .wp-block-image,
.section-features .wp-block-group.is-layout-grid .wp-block-image figure {
	height: 100%;
	width: 100%;
	margin: 0;
	display: flex;
	justify-content: center;
}

/* Crop/fill image to fit full card height without distortion */
.section-features .wp-block-group.is-layout-grid .wp-block-image img {
	width: 100%;
	height: 100%;
	max-width: 100%;
	object-fit: cover;
	display: block;
}

/* ==========================================================================
Section Features: Timeline & Central Dashed Line
========================================================================== */

/* 1. Base container relative positioning & central dashed line */
.section-features-grids {
	position: relative;
	counter-reset: feature-step; /* Initialize step counter */
}

.section-features-grids::before {
	content: "";
	position: absolute;
	top: 2rem;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	border-left: 2px dashed #d1d5db;
	z-index: 1;
}

/* 2. Position numbered badges over the dashed line */
.section-features-grids > .wp-block-group > .is-layout-grid {
	position: relative;
	counter-increment: feature-step; /* Increment step number */
}
/* Border radius for feature grid images */
.section-features-grids > .wp-block-group > .is-layout-grid .wp-block-image,
.section-features-grids > .wp-block-group > .is-layout-grid .wp-block-image img {
	border-radius: var(--wp--custom--border-radius--medium, 8px);
	overflow: hidden;
	width: 100%;
	margin-inline: auto;
}
.section-features-grids > .wp-block-group > .is-layout-grid::before {
	content: counter(feature-step);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 2.25rem;
	height: 2.25rem;
	background-color: var(--wp--preset--color--purple, #7c3aed);
	color: #ffffff;
	font-weight: 700;
	font-size: 1rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 2;
	box-shadow: 0 0 0 4px #ffffff; /* White cutout mask around circle */
}

.section-features-grids .wp-block-group.is-layout-grid > :first-of-type {
	padding: var(--wp--custom--padding--small);
}

.section-features-grids .is-grid-item-image > .wp-block-group {
	border-radius: 16px;
	background-size: cover;
	overflow: hidden;
	position: relative;

}
.section-features-grids .is-grid-item-image > .wp-block-group > * {
	position: relative;
}
.section-features-grids .is-grid-item-image > .wp-block-group:before {
	content: '';
	display: block;
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,.3);
	backdrop-filter: blur(6px);
}

/* ==========================================================================
   Section CTA: Hero Card & 3-Column Feature Row
   ========================================================================== */

/* 1. Main Hero Grid (Top CTA Card) */
.section-cta-inner .wp-block-group.is-layout-grid.section-cta--banner,
.section-cta .wp-block-group.is-layout-grid.section-cta--banner {
    background-color: #1a202c;
    border-radius: var(--wp--custom--border-radius--large, 28px);
    overflow: hidden;
    box-shadow: 0 20px 40px -15px rgba(0, 0, 0, 0.3);
    position: relative;
    z-index: 1;

    /* Scaled down to 55% width so people & dog fit without zooming */
    background-size: 55% auto !important;
    background-position: right center !important;
    background-repeat: no-repeat !important;
}

/* Gradient Overlay - Extended dark stop past the 45% mark to cover the image edge */
.section-cta-inner .wp-block-group.is-layout-grid.section-cta--banner::before,
.section-cta .wp-block-group.is-layout-grid.section-cta--banner::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    z-index: 1;
    /* Keeps solid #1a202c past the left boundary of the scaled image (45%), then fades over the photo */
    background: linear-gradient(
        to right,
        #1a202c 0%,
        #1a202c 50%,
        rgba(26, 32, 44, 0.85) 62%,
        rgba(26, 32, 44, 0.3) 78%,
        transparent 92%
    );
}

/* Ensure child content (text & buttons) stays above the gradient overlay */
.section-cta-inner .wp-block-group.is-layout-grid.section-cta--banner > *,
.section-cta .wp-block-group.is-layout-grid.section-cta--banner > * {
    position: relative;
    z-index: 2;
}

/* Clear unused pseudo-element */
.section-cta-inner .wp-block-group.is-layout-grid.section-cta--banner::after,
.section-cta .wp-block-group.is-layout-grid.section-cta--banner::after {
    display: none;
}

/* 2. Bottom 3-Column Grid Container */
.section-cta .wp-block-group.is-layout-grid.section-cta--column {
    background-color: var(--wp--preset--color--credit);
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 2rem;
    max-width: 99%;
    margin-top: calc(var(--wp--preset--spacing--60) * -1);
    border-bottom-right-radius: var(--wp--custom--border-radius--large, 28px);
    border-bottom-left-radius: var(--wp--custom--border-radius--large, 28px);
}

@media (min-width: 768px) {
    .section-cta .wp-block-group.is-layout-grid.section-cta--column {
        grid-template-columns: repeat(3, 1fr);
    }
}

/* Individual Feature Item Columns */
.section-cta .wp-block-group.is-layout-grid.section-cta--column .wp-block-group {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
    padding: 0 !important;
}

/* Headings with Purple Arrow Bullet */
.section-cta .wp-block-group.is-layout-grid.section-cta--column h3,
.section-cta .wp-block-group.is-layout-grid.section-cta--column h4 {
    color: var(--wp--preset--color--text, #0f172a);
    font-size: 1.25rem;
    margin-bottom: 0.5rem;
    position: relative;
    padding-left: 1.5rem;
    display: flex;
    align-items: center;
}

.section-cta .wp-block-group.is-layout-grid.section-cta--column h3::before,
.section-cta .wp-block-group.is-layout-grid.section-cta--column h4::before {
    content: "►";
    position: absolute;
    left: 0;
    color: var(--wp--preset--color--purple, #7c3aed);
    font-size: 0.85rem;
}

.section-cta .wp-block-group.is-layout-grid.section-cta--column p {
    color: var(--wp--preset--color--text-light, #475569);
    font-size: 0.95rem;
    line-height: 1.5;
    margin: 0;
}
/* ==========================================================================
Section CTA Inner (Full-Width Cover Image with Dark Tint Overlay)
========================================================================== */

.section-cta-inner > .wrap > .wp-block-group {
    border-radius: var(--wp--custom--border-radius--large);
    position: relative;
    overflow: hidden;
    background-color: #1a202c;
    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;
    z-index: 1;
}

/* Semi-transparent dark overlay for contrast over editor-assigned background images */
.section-cta-inner > .wrap > .wp-block-group::before {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(26, 32, 44, 0.75); /* or linear-gradient(rgba(26, 32, 44, 0.75), rgba(26, 32, 44, 0.75)) */
    pointer-events: none;
    z-index: 1;
}

/* Ensure inner heading, text, and buttons sit above the background overlay */
.section-cta-inner > .wrap > .wp-block-group > * {
    position: relative;
    z-index: 2;
}

/* Page Contact */
/* WPForms Global Theme Integration */
.wpforms-container-full,
.wpforms-container {
	/* Dynamic Palette Binding */
	--wpforms-button-background-color: var(--wp--preset--color--purple, #8b5cf6);
	--wpforms-button-background-color-alt: var(--wp--preset--color--purple, #7c3aed);
	--wpforms-button-text-color: #ffffff;
	--wpforms-button-border-color: transparent;
}

/* Tighten Default Field Spacing */
.wpforms-container .wpforms-field {
	padding: 0 !important;
}
div.wpforms-container-full .wpforms-field-label, .wp-core-ui div.wpforms-container-full .wpforms-field-label {
	margin: 0 0 8px !important;
}
/* Side-by-Side (50/50) Layout for Name & Email */
.wpforms-container .wpforms-field-container {
	display: flex;
	flex-wrap: wrap;
	gap: var(--wp--preset--spacing--30, 1rem);
}

/* Default non-flex fields (e.g. textarea, full-width text) take 100% width */
.wpforms-container .wpforms-field {
	flex: 1 1 100%;
}
.wpforms-field.wpforms-field-textarea {
	margin-top: 8px;

}
/* Force Name and Email into 50% columns */
.wpforms-container .wpforms-field-name,
.wpforms-container .wpforms-field-email {
	flex: 1 1 calc(50% - (var(--wp--preset--spacing--30, 1rem) / 2));
}

/* Responsive Fallback: Stack columns on smaller viewports */
@media (max-width: 600px) {
	.wpforms-container .wpforms-field-name,
	.wpforms-container .wpforms-field-email {
		flex: 1 1 100%;
	}
}
.wp-block-group.is-layout-grid ul.card-list {
	padding-left: 0 !important;
}

.wp-block-group.is-layout-grid ul.card-list li {
	padding: var(--wp--preset--spacing--40);
	margin-bottom: .5rem;
	border-radius: var(--wp--custom--border-radius--medium);
	background: var(--color-background);
}

.contact-tabbed-content {
	gap: 0;
}

.contact-tabbed-content > .wp-block-group.contact-tab-list {
	background: var(--wp--preset--color--faq);
	border-top-left-radius: var(--wp--custom--border-radius--medium);
	border-top-right-radius: var(--wp--custom--border-radius--medium);
	max-width: 98%;
	margin-inline: auto;
}

.contact-tabbed-content > .wp-block-group.contact-tab-list ul {
	list-style: none;
	display: flex;
}

.contact-tabbed-content > .wp-block-group.contact-tab-list ul > li {
	width: 100%;
	text-align: center;
	line-height: 1;
	display: flex;
	justify-content: center;
}

.contact-tabbed-content > .wp-block-group.contact-tab-list ul > li a {
	color: var(--wp--preset--color--body-text);
	display: flex;
	justify-content: center;
	flex-direction: column;
	padding: var(--wp--preset--spacing--20);
}

.contact-tabbed-content > .wp-block-group.contact-tab-list ul > li.active a {
	position: relative;
}

.contact-tabbed-content > .wp-block-group.contact-tab-list ul > li.active a:after {
	content: '';
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	border-bottom: 3px solid var(--color-primary);
}

.contact-tabbed-content > .wp-block-group.contact-tab-list ul > li a:hover,
.contact-tabbed-content > .wp-block-group.contact-tab-list ul > li.active a {
	color: var(--wp--preset--color--purple);
}

/* Button Click Press Effect */
.free-demo-trigger,
.existing-customer-trigger,
.question-trigger {
	transition: transform 0.15s cubic-bezier(0.2, 0, 0, 1) !important;
}

.btn-press {
	transform: scale(0.96) !important;
}

/* Base Card Shell Containers */
.contact-tabbed-content > .wp-block-group.contact-tab-card,
.contact-tabbed-content > .wp-block-group.contact-tab-panel {
	display: none !important;
	position: relative;
	width: 100%;
}

.contact-tabbed-content > .wp-block-group.contact-tab-card.active,
.contact-tabbed-content > .wp-block-group.contact-tab-panel.active {
	display: flex !important;
}

.contact-tabbed-content > .wp-block-group.contact-tab-card {
	background: var(--color-background);
	border-radius: var(--wp--custom--border-radius--medium);
	padding: var(--wp--preset--spacing--60);
	overflow: hidden;
}

/* ==========================================
AOS-Style Slide Right Keyframes & Classes
========================================== */
@keyframes aosSlideInRight {
	0% {
		opacity: 0;
		transform: translate3d(45px, 0, 0);
	}
	100% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
}

@keyframes aosSlideOutLeft {
	0% {
		opacity: 1;
		transform: translate3d(0, 0, 0);
	}
	100% {
		opacity: 0;
		transform: translate3d(-35px, 0, 0);
	}
}

/* Re-click Heading Bounce */
@keyframes headerBounce {
	0% { transform: translateY(0); }
	30% { transform: translateY(-6px); }
	60% { transform: translateY(2px); }
	100% { transform: translateY(0); }
}

/* Target Inner Groups with High Specificity */
.contact-tabbed-content .contact-tab-card.active > .wp-block-group,
.contact-tabbed-content .contact-tab-panel.active > * {
	animation: aosSlideInRight 0.45s cubic-bezier(0.25, 1, 0.5, 1) forwards !important;
	will-change: transform, opacity;
}

.contact-tabbed-content .contact-tab-card.is-exiting > .wp-block-group,
.contact-tabbed-content .contact-tab-panel.is-exiting > * {
	animation: aosSlideOutLeft 0.2s cubic-bezier(0.5, 0, 0.75, 0) forwards !important;
}

/* Target ONLY the left card heading on re-click */
.contact-tabbed-content .contact-tab-card.is-reacting h2,
.contact-tabbed-content .contact-tab-card.is-reacting h3 {
	animation: headerBounce 0.4s cubic-bezier(0.25, 1, 0.5, 1) !important;
	will-change: transform;
}
.contact-tab-card > .wp-block-group > .wpforms-container {
	margin: 0 !important;
}
/* Faq Page */
.faq-list ul {
	display: flex;
	justify-content: center;
	list-style: none;
	gap: 4px;
}
.faq-list ul > li {
	line-height: 1;
	display: block;
}
.faq-list ul > li > a {
	display: inline-flex;
	gap: 4px;
	background: var(--wp--preset--color--active);
	padding: var(--wp--preset--spacing--40);
	border-radius: var(--wp--custom--border-radius--medium);
	color: var(--color-text);
}
.faq-list ul > li > a:hover {
	background: var(--wp--preset--color--purple);
	color: var(--color-background);
}
/* 1. Base setup for direct links, button links, and nav link content anchors */
a.has-svg-icon,
.wp-block-button.has-svg-icon > a,
.wp-block-navigation-item.has-svg-icon > .wp-block-navigation-item__content {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	text-decoration: none;
}

/* Base pseudo-element styling */
a.has-svg-icon::before,
.wp-block-button.has-svg-icon > a::after,
.wp-block-navigation-item.has-svg-icon > .wp-block-navigation-item__content::after {
	content: "";
	display: inline-block;
	width: 16px;
	height: 16px;
	background-color: currentColor;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: contain;
	mask-size: contain;
	flex-shrink: 0;
}

/* 2. Target SVG mask sources */
.has-svg-icon.is-icon-settings::before,
.wp-block-button.is-icon-settings > a::after,
.wp-block-navigation-item.is-icon-settings > .wp-block-navigation-item__content::after {
	-webkit-mask-image: url('assets/svg/settings.svg');
	mask-image: url('assets/svg/settings.svg');
}

.has-svg-icon.is-svg-link::before,
.wp-block-button.is-svg-link > a::after,
.wp-block-navigation-item.is-svg-link > .wp-block-navigation-item__content::after {
	-webkit-mask-image: url('assets/svg/link.svg');
	mask-image: url('assets/svg/link.svg');
}

.has-svg-icon.is-svg-paw::before,
.wp-block-button.is-svg-paw > a::after,
.wp-block-navigation-item.is-svg-paw > .wp-block-navigation-item__content::after {
	-webkit-mask-image: url('assets/svg/paw-print.svg');
	mask-image: url('assets/svg/paw-print.svg');
}

.has-svg-icon.is-svg-heart::before,
.wp-block-button.is-svg-heart > a::after,
.wp-block-navigation-item.is-svg-heart > .wp-block-navigation-item__content::after {
	-webkit-mask-image: url('assets/svg/heart.svg');
	mask-image: url('assets/svg/heart.svg');
}

.has-svg-icon.is-svg-triangle::before,
.wp-block-button.is-svg-triangle > a::after,
.wp-block-navigation-item.is-svg-triangle > .wp-block-navigation-item__content::after {
	-webkit-mask-image: url('assets/svg/triangle.svg');
	mask-image: url('assets/svg/triangle.svg');
	transform: rotate(90deg);
}
/* ==========================================
1. Continuous Dashed Timeline Anchor
========================================== */
.group-faq-container {
	position: relative;
	padding-left: 2.5rem;
	max-width: var(--wp--style--global--content-size) !important;
	margin: 0 auto !important;
}

.group-faq-container::before {
	content: "";
	position: absolute;
	top: 1.25rem;
	bottom: 1.25rem;
	left: 1.25rem;
	border-left: 2px dashed #d1d5db;
	z-index: 1;
}

.group-faq {
	position: relative;
	z-index: 2;
	margin-bottom: 3rem;
	scroll-margin-top: var(--scroll-margin-top, 120px);
}

/* ==========================================
2. H2 Badges & SVG Mask Mappings
========================================== */
.group-faq > h2.wp-block-heading {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-left: -2.5rem;
	margin-bottom: 1.5rem;
}

.group-faq > h2.wp-block-heading::before {
	content: "";
	display: flex;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	position: relative;
	z-index: 9999;

	background-color: var(--color-background);
	box-shadow: 0 0 0 5px #ffffff;
	flex-shrink: 0;

	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-position: center;
	mask-position: center;
	-webkit-mask-size: 20px 20px;
}
.group-faq > h2.wp-block-heading::after{
	content: "";
	display: inline-block;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	position: absolute;
	z-index: -1;
	background-color: var(--color-primary);
}

/* Section SVG Mask Rules */
.group-faq-setup > h2.wp-block-heading::before {
	-webkit-mask-image: url('assets/svg/settings.svg');
	mask-image: url('assets/svg/settings.svg');
}

.group-faq-integrate > h2.wp-block-heading::before {
	-webkit-mask-image: url('assets/svg/link.svg');
	mask-image: url('assets/svg/link.svg');
}

.group-faq-profiles > h2.wp-block-heading::before {
	-webkit-mask-image: url('assets/svg/paw-print.svg');
	mask-image: url('assets/svg/paw-print.svg');
}

.group-faq-donations > h2.wp-block-heading::before {
	-webkit-mask-image: url('assets/svg/heart.svg');
	mask-image: url('assets/svg/heart.svg');
}

/* ==========================================
3. Accordion / Details Block Styling
========================================== */
.group-faq .wp-block-details {
	border-radius: 12px;
	padding: 0;
	margin-bottom: 0.75rem;
	background-color: transparent;
	transition: background-color 0.2s ease;
	background: var(--wp--preset--color--header);
	transition: all 0.2s ease;
	overflow: hidden;
}
.group-faq details[open] {
	background-color: var(--wp--preset--color--active);
}

/* Summary element reset & flex layout */
.group-faq details > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 0.875rem;
	font-weight: 700;
	padding: 1.25rem 1.5rem;
}

.group-faq details > summary::-webkit-details-marker {
	display: none;
}

/* Custom +/- indicators */
.group-faq details > summary::before {
	content: "+";
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background-color: var(--wp--preset--color--hero, #e0e7ff);
	color: var(--wp--preset--color--card);
	font-size: 1.1rem;
	font-weight: 700;
	flex-shrink: 0;
	transition: all 0.2s ease;
}
.group-faq details[open] > summary::before, .group-faq details:hover > summary::before {
	background: var(--color-primary);
	color: var(--color-background);
}
.group-faq details[open] > summary::before {
	content: "–";
}

/* Base Open paragraph styling (Standard / No-JS fallback: ALWAYS VISIBLE) */
.group-faq details[open] > .wp-block-group,
.group-faq details[open] > .wp-block-paragraph {
	margin-top: 0;
	margin-left: 2.625rem;
	padding-right: 2.625rem;
	padding-bottom: 1.25rem;
	font-size: 1rem;
	gap: 1rem;
	opacity: 1;
	transform: translateY(0);
}
.group-faq details[open] > .wp-block-group ul.wp-block-list {
	margin-left: 20px;
}

/* Progressive Enhancement: Only animate if JS is loaded and active */
.js-accordion details > .wp-block-group, .js-accordion details > .wp-block-paragraph {
	opacity: 0;
	transform: translateY(-6px);
	transition: opacity 0.2s ease, transform 0.2s ease;
}
.js-accordion details.is-opening > .wp-block-group,
.js-accordion details.is-opening > .wp-block-paragraph {
	opacity: 1;
	transform: translateY(0);
}
/* Thanks Page */
/* Card Container Styling */
.is-grid--what-next > .wp-block-group {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: var(--wp--preset--spacing--50, 2rem);
	background-color: var(--color-background);
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: var(--wp--custom--border-radius--medium);
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.04);
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}

/* Hover Micro-interaction */
.is-grid--what-next > .wp-block-group:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.08);
}
/* ==========================================================================
Footer
========================================================================== */
.wp-block-social-links .wp-block-social-link.wp-social-link > a {
	background: var(--wp--preset--color--social);
	border-radius: var(--wp--custom--border-radius--medium);
	padding: var(--wp--custom--border-radius--medium);
}
.wp-block-social-links .wp-block-social-link.wp-social-link > a:hover{
	background: var(--wp--preset--color--accent);
}
/* Booking */
.gcal-embed-iframe {
	width: 100%;
	height: 100%;
	min-height: max(1000px, 120vh);
	border: 0;
}
/* Navigation Block */
.wp-block-navigation {
	position:relative
}
.wp-block-navigation ul {
	margin-bottom:0;
	margin-left:0;
	margin-top:0;
	padding-left:0
}
.wp-block-navigation ul,
.wp-block-navigation ul li {
	list-style:none
}
.wp-block-navigation .wp-block-navigation-item {
	align-items:center;
	background-color:inherit;
	display:flex;
	position:relative
}
.wp-block-navigation .wp-block-navigation-item .wp-block-navigation__submenu-container:empty {
	display:none
}
.wp-block-navigation .wp-block-navigation-item__content {
	display:block;
	z-index:1
}
.wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color:inherit
}
.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content,
.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:active,
.wp-block-navigation.has-text-decoration-underline .wp-block-navigation-item__content:focus {
	text-decoration:underline
}
.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content,
.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:active,
.wp-block-navigation.has-text-decoration-line-through .wp-block-navigation-item__content:focus {
	text-decoration:line-through
}
.wp-block-navigation :where(a),
.wp-block-navigation :where(a:active),
.wp-block-navigation :where(a:focus) {
	text-decoration:none
}
.wp-block-navigation .wp-block-navigation__submenu-icon {
	align-self:center;
	background-color:inherit;
	border:none;
	color:currentColor;
	display:inline-block;
	font-size:inherit;
	height:.6em;
	line-height:0;
	margin-left:.25em;
	padding:0;
	width:.6em
}
.wp-block-navigation .wp-block-navigation__submenu-icon svg {
	stroke:currentColor;
	display:inline-block;
	height:inherit;
	margin-top:.075em;
	width:inherit
}
.wp-block-navigation {
	--navigation-layout-justification-setting:flex-start;
	--navigation-layout-direction:row;
	--navigation-layout-wrap:wrap;
	--navigation-layout-justify:flex-start;
	--navigation-layout-align:center
}
.wp-block-navigation.is-vertical {
	--navigation-layout-direction:column;
	--navigation-layout-justify:initial;
	--navigation-layout-align:flex-start
}
.wp-block-navigation.no-wrap {
	--navigation-layout-wrap:nowrap
}
.wp-block-navigation.items-justified-center {
	--navigation-layout-justification-setting:center;
	--navigation-layout-justify:center
}
.wp-block-navigation.items-justified-center.is-vertical {
	--navigation-layout-align:center
}
.wp-block-navigation.items-justified-right {
	--navigation-layout-justification-setting:flex-end;
	--navigation-layout-justify:flex-end
}
.wp-block-navigation.items-justified-right.is-vertical {
	--navigation-layout-align:flex-end
}
.wp-block-navigation.items-justified-space-between {
	--navigation-layout-justification-setting:space-between;
	--navigation-layout-justify:space-between
}
:where(.wp-block-navigation) ul li {
	padding:0
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	align-items:normal;
	background-color:inherit;
	color:inherit;
	display:flex;
	flex-direction:column;
	opacity:0;
	position:absolute;
	z-index:2
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	height:0;
	overflow:hidden;
	visibility:hidden;
	width:0
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content {
	display:flex;
	flex-grow:1;
	padding:.5em 1em
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content .wp-block-navigation__submenu-icon {
	margin-left:auto;
	margin-right:0
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	margin:0
}
.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
	left:-1px;
	top:100%
}

.wp-block-navigation .has-child .wp-block-navigation-submenu__toggle[aria-expanded=true]~.wp-block-navigation__submenu-container,
.wp-block-navigation .has-child:not(.open-on-click):not(.open-on-hover-click):focus-within>.wp-block-navigation__submenu-container {
	height:auto;
	min-width:200px;
	opacity:1;
	overflow:visible;
	visibility:visible;
	width:auto
}
.wp-block-navigation .has-child.open-always {
	align-items:var(--navigation-layout-align,initial);
	flex-direction:var(--navigation-layout-direction,initial);
	flex-wrap:var(--navigation-layout-wrap,wrap);
	gap:var(--wp--style--block-gap,2em)
}
.wp-block-navigation .has-child.open-always,
.wp-block-navigation .has-child.open-always .wp-block-navigation-item {
	justify-content:var(--navigation-layout-justify,initial)
}
.wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child.open-always.wp-block-navigation-submenu {
	gap:var(--wp--style--block-gap,2em)
}
.wp-block-navigation .has-child.open-always .wp-block-navigation-item,
.wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container,
.wp-block-navigation .has-child.open-always.wp-block-navigation-submenu {
	padding-bottom:0;
	padding-top:0
}
.wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container {
	padding-left:var(--wp--style--block-gap,2em);
	padding-right:var(--wp--style--block-gap,2em)
}
.wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding:0
}
.wp-block-navigation .has-child.open-always .wp-block-navigation__submenu-container>.wp-block-navigation-item>.wp-block-navigation-item__content,
.wp-block-navigation .has-child.open-always>.wp-block-navigation-item__content {
	flex-grow:0
}
.wp-block-navigation .has-child.open-always>.wp-block-navigation__submenu-container {
	background-color:transparent;
	border:none;
	color:inherit;
	flex-basis:100%;
	height:auto;
	opacity:1;
	overflow:visible;
	position:static;
	visibility:visible;
	width:auto
}
.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container {
	left:0;
	top:100%
}

.wp-block-navigation-submenu {
	display:flex;
	position:relative
}
.wp-block-navigation-submenu .wp-block-navigation__submenu-icon svg {
	stroke:currentColor
}
button.wp-block-navigation-item__content {
	background-color:transparent;
	border:none;
	color:currentColor;
	font-family:inherit;
	font-size:inherit;
	font-style:inherit;
	font-weight:inherit;
	letter-spacing:inherit;
	line-height:inherit;
	text-align:left;
	text-transform:inherit
}
.wp-block-navigation-submenu__toggle {
	cursor:pointer
}
.wp-block-navigation-submenu__toggle[aria-expanded=true]+.wp-block-navigation__submenu-icon>svg,
.wp-block-navigation-submenu__toggle[aria-expanded=true]>svg {
	transform:rotate(180deg)
}
.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle {
	padding-left:0;
	padding-right:.85em
}
.wp-block-navigation-item.open-on-click .wp-block-navigation-submenu__toggle+.wp-block-navigation__submenu-icon {
	margin-left:-.6em;
	pointer-events:none
}
.wp-block-navigation-item.open-on-click button.wp-block-navigation-item__content:not(.wp-block-navigation-submenu__toggle) {
	padding:0
}
.wp-block-navigation .wp-block-page-list,
.wp-block-navigation__container,
.wp-block-navigation__responsive-close,
.wp-block-navigation__responsive-container,
.wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-dialog {
	gap:inherit
}
:where(.wp-block-navigation.has-background .wp-block-navigation-item a:not(.wp-element-button)),
:where(.wp-block-navigation.has-background .wp-block-navigation-submenu a:not(.wp-element-button)) {
	padding:.5em 1em
}
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item a:not(.wp-element-button)),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu a:not(.wp-element-button)),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-submenu button.wp-block-navigation-item__content),
:where(.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-pages-list__item button.wp-block-navigation-item__content) {
	padding:.5em 1em
}
.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container {
	left:auto;
	right:0
}
.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
	left:-1px;
	right:-1px
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__submenu-container {
	background-color:#fff;
	border:1px solid rgba(0,0,0,.15)
}
.wp-block-navigation.has-background .wp-block-navigation__submenu-container {
	background-color:inherit
}
.wp-block-navigation:not(.has-text-color) .wp-block-navigation__submenu-container {
	color:#000
}
.wp-block-navigation__container {
	align-items:var(--navigation-layout-align,initial);
	display:flex;
	flex-direction:var(--navigation-layout-direction,initial);
	flex-wrap:var(--navigation-layout-wrap,wrap);
	justify-content:var(--navigation-layout-justify,initial);
	list-style:none;
	margin:0;
	padding-left:0
}
.wp-block-navigation__container .is-responsive {
	display:none
}
.wp-block-navigation__container:only-child,
.wp-block-page-list:only-child {
	flex-grow:1
}
@keyframes overlay-menu__fade-in-animation {
	0% {
		opacity:0;
		transform:translateY(.5em)
	}
	to {
		opacity:1;
		transform:translateY(0)
	}
}
.wp-block-navigation__responsive-container {
	bottom:0;
	display:none;
	left:0;
	position:fixed;
	right:0;
	top:0
}
.wp-block-navigation__responsive-container :where(.wp-block-navigation-item a) {
	color:inherit
}
.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content {
	align-items:var(--navigation-layout-align,initial);
	display:flex;
	flex-direction:var(--navigation-layout-direction,initial);
	flex-wrap:var(--navigation-layout-wrap,wrap);
	justify-content:var(--navigation-layout-justify,initial)
}
.wp-block-navigation__responsive-container:not(.is-menu-open.is-menu-open) {
	background-color:inherit!important;
	color:inherit!important
}
.wp-block-navigation__responsive-container.is-menu-open {
	background-color:inherit;
	display:flex;
	flex-direction:column
}

.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
	padding:clamp(1rem,var(--wp--style--root--padding-top),20rem) clamp(1rem,var(--wp--style--root--padding-right),20rem) clamp(1rem,var(--wp--style--root--padding-bottom),20rem) clamp(1rem,var(--wp--style--root--padding-left),20rem)
}
.wp-block-navigation__responsive-container.is-menu-open {
	overflow:auto;
	z-index:100000
}
.wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) .wp-block-navigation__responsive-container-content {
	padding-top:calc(2rem + 24px)
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content {
	align-items:var(--navigation-layout-justification-setting,inherit);
	display:flex;
	flex-direction:column;
	flex-wrap:nowrap;
	overflow:visible
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content,
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-page-list {
	justify-content:flex-start
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-icon {
	display:none
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .has-child .wp-block-navigation__submenu-container {
	border:none;
	height:auto;
	min-width:200px;
	opacity:1;
	overflow:initial;
	padding-left:2rem;
	padding-right:2rem;
	position:static;
	visibility:visible;
	width:auto
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
	gap:inherit
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__submenu-container {
	padding-top:var(--wp--style--block-gap,2em)
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
	padding:0
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-container-content .wp-block-page-list {
	align-items:var(--navigation-layout-justification-setting,initial);
	display:flex;
	flex-direction:column
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation-item,
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation-item .wp-block-navigation__submenu-container,
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__container,
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-page-list {
	background:transparent!important;
	color:inherit!important
}
.wp-block-navigation__responsive-container.is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
	left:auto;
	right:auto
}
.wp-block-navigation__responsive-container.disable-default-overlay .wp-block-navigation__overlay-container {
	display:none;
	width:100%
}
.wp-block-navigation__responsive-container.disable-default-overlay .wp-block-navigation__responsive-close {
	max-width:none
}
.wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open .wp-block-navigation__responsive-container-content>:not(.wp-block-navigation__overlay-container) {
	display:none
}
.wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__overlay-container {
	display:block
}
.wp-block-navigation__responsive-container.disable-default-overlay.is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__overlay-container .wp-block-navigation__submenu-container {
	left:0;
	right:auto
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
	background-color:#fff
}
.wp-block-navigation:not(.has-text-color) .wp-block-navigation__responsive-container.is-menu-open:not(.disable-default-overlay) {
	color:#000
}
.wp-block-navigation__toggle_button_label {
	font-size:1rem;
	font-weight:700
}
.wp-block-navigation__responsive-container-close,
.wp-block-navigation__responsive-container-open {
	background:transparent;
	border:none;
	color:currentColor;
	cursor:pointer;
	margin:0;
	padding:0;
	text-transform:inherit;
	vertical-align:middle
}
.wp-block-navigation__responsive-container-close svg,
.wp-block-navigation__responsive-container-open svg {
	fill:currentColor;
	display:block;
	height:24px;
	pointer-events:none;
	width:24px
}
.wp-block-navigation__responsive-container-open {
	display:flex
}
.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open.wp-block-navigation__responsive-container-open {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit
}

.wp-block-navigation__responsive-container-close {
	position:absolute;
	right:0;
	top:0;
	z-index:2
}
.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close.wp-block-navigation__responsive-container-close {
	font-family:inherit;
	font-size:inherit;
	font-weight:inherit
}
.disable-default-overlay .wp-block-navigation__responsive-container-close {
	right:clamp(1rem,var(--wp--style--root--padding-left),20rem);
	top:clamp(1rem,var(--wp--style--root--padding-left),20rem)
}
.wp-block-navigation__responsive-close {
	width:100%
}
.has-modal-open .wp-block-navigation__responsive-close {
	margin-left:auto;
	margin-right:auto;
	max-width:var(--wp--style--global--wide-size,100%)
}
.wp-block-navigation__responsive-close:focus {
	outline:none
}
.is-menu-open .wp-block-navigation__responsive-close,
.is-menu-open .wp-block-navigation__responsive-container-content,
.is-menu-open .wp-block-navigation__responsive-dialog {
	box-sizing:border-box
}
.wp-block-navigation__responsive-dialog {
	position:relative
}
.has-modal-open .admin-bar .is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-dialog {
	margin-top:46px
}
html.has-modal-open {
	overflow:hidden
}
@media (min-width:782px) {
	.wp-block-navigation.has-background .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		left:100%;
		top:0
	}
	.wp-block-navigation.items-justified-right .wp-block-navigation__container .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
	.wp-block-navigation.items-justified-right .wp-block-page-list>.has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
	.wp-block-navigation.items-justified-space-between .wp-block-page-list>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container,
	.wp-block-navigation.items-justified-space-between>.wp-block-navigation__container>.has-child:last-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		left:auto;
		right:100%
	}
	.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container {
		left:100%;
		top:-1px
	}
	.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-container:before {
		background:transparent;
		content:"";
		display:block;
		height:100%;
		position:absolute;
		right:100%;
		width:.5em
	}
	.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon {
		margin-right:.25em
	}
	.wp-block-navigation .has-child .wp-block-navigation__submenu-container .wp-block-navigation__submenu-icon svg {
		transform:rotate(-90deg)
	}
	.has-modal-open .admin-bar .is-menu-open:where(:not(.disable-default-overlay)) .wp-block-navigation__responsive-dialog {
		margin-top:32px
	}
}
@media (min-width:1025px) {
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display:none
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		background-color:inherit;
		display:block;
		position:relative;
		width:100%;
		z-index:auto
	}
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) .wp-block-navigation__responsive-container-close {
		display:none
	}
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container.wp-block-navigation__submenu-container {
		left:0
	}
}
@media (hover:hover) {
	.wp-block-navigation .has-child:not(.open-on-click):hover>.wp-block-navigation__submenu-container {
		height:auto;
		min-width:200px;
		opacity:1;
		overflow:visible;
		visibility:visible;
		width:auto
	}
}
@media not (prefers-reduced-motion) {
	.wp-block-navigation .has-child .wp-block-navigation__submenu-container {
		transition:opacity .1s linear
	}
	.wp-block-navigation__responsive-container.is-menu-open {
		animation:overlay-menu__fade-in-animation .1s ease-out;
		animation-fill-mode:forwards
	}
}


/* ==========================================================================
Media Queries
========================================================================== */
@media (max-width: 1200px) {
    .site-logo.is-svg.wp-block-site-logo {
        max-width: 280px;
    }
}
@media (min-width: 1025px){
    .site-header .wp-block-navigation-item.is-hide-in-desktop,
    .site-header .wp-block-buttons.header-cta-mobile {
        display: none;
    }
}
@media (max-width: 1024px){
	.section-features-grids::before {
		left: 1.25rem;
		transform: none;
	}

	.section-features-grids > .wp-block-group > .is-layout-grid::before {
		left: 1.25rem;
		transform: translate(-50%, -50%);
	}
    /* 1. Modal Overlay Wrapper Padding & Flex Alignment */
	.wp-block-navigation__responsive-container.is-menu-open {
		padding: 2rem 1.5rem !important;
	}

	.wp-block-navigation__responsive-container-content {
		display: flex !important;
		flex-direction: column !important;
		justify-content: center !important;
		align-items: center !important;
		width: 100% !important;
		height: 100% !important;
	}

	/* 2. Inner Unordered List Setup */
	.wp-block-navigation__container.is-responsive {
		display: flex !important;
		flex-direction: column !important;
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
		gap: 1.5rem !important; /* Adjust spacing between menu items */
	}

	/* 3. Navigation Links & Text Bolding/Centering */
	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		width: 100% !important;
		text-align: center !important;
		justify-content: center !important;
	}

	.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		/* display: inline-block !important; */
		text-align: center !important;
		font-size: 1.25rem;
	}
}
@media (min-width: 1025px) {

	.site-footer .wp-block-navigation__container {
		display: grid;
		grid-template-rows: repeat(3, auto);
		grid-auto-flow: column;
		gap: 0.75rem 3rem;
	}
	.is-alternating-grids .wp-block-group.is-layout-grid,
	.section-features .wp-block-group.is-layout-grid {
		display: grid;
		grid-template-columns: 1fr 1fr;
		align-items: center;
	}

	/* Odd Cards (1, 3): Flipped DOM order -> Text Left | Image Right */
	.is-alternating-grids .wp-block-group.is-layout-grid:nth-of-type(odd),
	.section-features .wp-block-group.is-layout-grid:nth-of-type(odd) {
		direction: rtl;
	}

	/* Even Cards (2): Normal DOM order -> Image Left | Text Right */
	.is-alternating-grids .wp-block-group.is-layout-grid:nth-of-type(even),
	.section-features .wp-block-group.is-layout-grid:nth-of-type(even) {
		direction: ltr;
	}

	/* Preserve internal text reading order */
	.is-alternating-grids .wp-block-group.is-layout-grid > *,
	.section-features .wp-block-group.is-layout-grid > * {
		direction: ltr;
	}

	/* Hero Grid 2-Column Split */
	.section-cta .wp-block-group.is-layout-grid.section-cta--banner {
		display: grid;
		grid-template-columns: 1.1fr 0.9fr;
		align-items: stretch;
	}

	/* Bottom 3-Column Row Split */
	.section-cta .wp-block-group.is-layout-grid.section-cta--column {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media screen and (max-width: 782px) {
	body.admin-bar .site-header {
		top: 46px;
	}
}
@media (max-width: 1024px) {
    .site-logo.is-svg.wp-block-site-logo {
        max-width: 280px;
    }
    .wp-block-site-logo img[src*=".svg"] {

    }
	.section-features .wp-block-group.is-layout-grid .wp-block-image img[src*=".svg"] {
		height: 200px !important;
	}

	/* 1. Force Native Grids & Flex Rows to Stack Vertically */
	.wp-block-group.is-layout-grid.has-mobile-stack {
		grid-template-columns: 1fr !important;
	}

	.wp-block-group.is-layout-flex.has-mobile-stack {
		flex-direction: column !important;
		flex-wrap: wrap !important;
	}

	/* 2. Reverse Stacking for Flex and Grid Layouts */
	/* Flexbox containers */
	.wp-block-group.is-layout-flex.has-mobile-reverse {
		flex-direction: column-reverse !important;
	}

	/* Grid containers (converts grid to flex column-reverse on mobile stack) */
	.wp-block-group.is-layout-grid.has-mobile-reverse {
		display: flex !important;
		flex-direction: column-reverse !important;
	}

	/* Legacy / Utility support for hardcoded feature classes if needed */
	.is-alternating-grids .wp-block-group.is-layout-grid,
	.section-features .wp-block-group.is-layout-grid {
		display: flex;
		flex-direction: column-reverse;
	}

	/* 3. Mobile Text & Layout Alignment */
	.wp-block-group.has-mobile-center {
		text-align: center !important;
	}

	/* Center block-level children (headings, paragraphs, images) */
	.wp-block-group.has-mobile-center > * {
		text-align: center !important;
		margin-left: auto !important;
		margin-right: auto !important;
	}

	/* Center inner flex containers (button groups, sub-stacks, rows) */
	.wp-block-group.has-mobile-center.is-layout-flex,
	.wp-block-group.has-mobile-center .is-layout-flex,
	.wp-block-group.has-mobile-center .wp-block-buttons {
		justify-content: center !important;
		align-items: center !important;
	}

	.site-footer .wp-block-navigation,
	.site-footer .wp-block-navigation__container {
		align-items: center !important;
		justify-content: center !important;
		width: 100% !important;
	}

	/* Center individual navigation items and their links */
	.site-footer .wp-block-navigation-item {
		width: 100% !important;
		justify-content: center !important;
		text-align: center !important;
	}
    .site-footer .is-hide-mobile-footer {display: none;}

	.section-features .wp-block-group.is-layout-grid > .wp-block-group:has(.wp-block-image) > .wp-block-group,
	.section-features .wp-block-group.is-layout-grid > .wp-block-group:not(:has(.wp-block-image)) {
		padding: var(--wp--preset--spacing--50) !important;
	}


}
@media (max-width: 659px) {
	.gcal-embed-iframe {
		min-height: max(1542px, 181vh);
	}
    .site-logo.is-svg.wp-block-site-logo {
        max-width: 200px;
    }

}
@media (max-width: 550px) {
    .site-header > .wrap > .wp-block-group {
        padding-inline: var(--wp--preset--spacing--30);
    }
    .site-logo.is-svg.wp-block-site-logo {
        max-width: 175px;
    }
    .section-faq > .wrap {
        padding-left: 10px !important;
    }
    .section-faq > .wrap .faq-list {
        padding-left: 20px;
    }
    .faq-list ul > li {
        font-size: 1rem;
    }



}
/* Base sticky behavior for the FAQ container */
@media (min-width: 501px) {
    .faq-list {
        position: sticky;
        /* Dynamically offsets below header + WP admin bar if present */
        top: var(--header-height, 80px);
        z-index: 990; /* Render just beneath site-header (z-index: 1000) */
        background-color: var(--wp--preset--color--body, #ffffff); /* Prevents content below from showing through */
        padding-top: 10px;
        padding-bottom: 10px;
    }

    body.admin-bar .faq-list {
        top: calc(var(--header-height, 80px) + 32px);
    }

    /* Target anchors for smooth scrolling so header doesn't cover section titles */
    .group-faq-container [id] {
        scroll-margin-top: calc(var(--header-height, 80px) + 60px);
    }
}
@media (max-width: 500px) {
    .site-footer {
        padding-bottom: 65px;
    }
    .faq-list ul::before {
        content: 'Pick a FAQ topic:';
    }
	.faq-list {
        position: static;
    }
    .faq-list ul {
        display: flex;
        justify-content: center;
        list-style: none;
        gap: 4px;
        flex-direction: column;
        margin-bottom: 20px;
    }
    .faq-list ul > li {
        display: block;
        width: 100%;
    }
    .faq-list ul > li > a {
        width: 100%;
        display: flex;
        align-items: center;
    }
    .group-faq details[open] > .wp-block-group, .group-faq details[open] > .wp-block-paragraph {
        margin-left: 1.35rem;
        padding-right: 1.35rem;
        padding-bottom: 1.25rem;
        font-size: 1rem;
    }
    .group-faq details > summary {
        flex-direction: row-reverse;
        padding: 1rem 1.25rem;
        line-height: 1.25;
        font-size: 1.2rem;
    }
    .wp-block-buttons.is-dual-buttons,
    .group-faq details .wp-block-buttons {
        gap: 5px;
        width: 100%;
        flex-direction: column;
        justify-content: center;
    }
    .wp-block-buttons.is-dual-buttons .wp-block-button,
    .group-faq details .wp-block-buttons .wp-block-button {
        width: 100%;
        display: flex;
        justify-content: center;
    }
    .wp-block-buttons.is-dual-buttons .wp-block-button .wp-block-button__link,
    .group-faq details .wp-block-buttons .wp-block-button .wp-block-button__link {
        justify-content: center;
        text-align: center;
    }
    .section-cta-inner .section-cta--banner > .wp-block-group:first-child, .section-cta .section-cta--banner > .wp-block-group:first-child {
	    padding: var(--wp--preset--spacing--50) !important;
    }
    .wp-block-buttons.header-cta-mobile.is-layout-flex.wp-block-buttons-is-layout-flex {
        position: fixed;
        bottom: calc(12px + env(safe-area-inset-bottom, 0px));
        left: 50%;
        transform: translateX(-50%);
        width: calc(100% - 24px);
        max-width: 480px;
        z-index: 99999;
        padding: var(--wp--preset--spacing--30);
        background: var(--color-background);
        border-radius: var(--wp--custom--border-radius--medium, 8px);
        box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
    }

    .wp-block-buttons.header-cta-mobile.is-layout-flex.wp-block-buttons-is-layout-flex > .wp-block-button > .wp-block-button__link,
    .wp-block-buttons.header-cta-mobile.is-layout-flex.wp-block-buttons-is-layout-flex > .wp-block-button {
        width: 100%;
        justify-content: center;
        text-align: center;
    }

	.section-features .wp-block-group.is-layout-grid .wp-block-image img[src*=".svg"] {
		height: 150px !important;
	}
}
