/*
Theme Name: Gray Private Wealth
Theme URI: https://grayprivatewealth.com
Author: Wilnau Design
Description: Hybrid WordPress theme for Gray Private Wealth (Justin K T3).
Version: 1.2.5
Requires at least: 6.1
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: grayprivatewealth
GitHub Theme URI: wilnau-design/grayprivatewealth
GitHub Branch: main
*/

/* Layout containers shared by PHP templates and block content */
*,
*::before,
*::after {
	box-sizing: border-box;
}

* {
	scroll-behavior: smooth;
}

html {
	overflow-x: clip;
}

body {
	margin: 0;
	max-width: 100%;
	overflow-x: clip;
}

.alignfull {
	width: 100%;
	max-width: 100%;
}

.alignwide {
	width: calc(100% - 2 * var(--wp--preset--spacing--site-gutter));
	max-width: var(--wp--style--global--wide-size);
	margin-inline: auto;
}

.site-main {
	max-width: 100%;
	min-width: 0;
}

.site-footer {
	margin-block-start: 0;
}

.site-main > :first-child {
	margin-block-start: 0;
}

.skip-link.screen-reader-text {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.skip-link.screen-reader-text:focus {
	left: 6px;
	top: 7px;
	width: auto;
	height: auto;
	z-index: 100000;
}

/* Component library page */
.component-library {
	padding-block: var(--wp--preset--spacing--section-main);
}

.component-library-hero {
	padding-bottom: var(--wp--preset--spacing--section-small);
}

.component-library-title {
	margin: 0 0 var(--wp--preset--spacing--4);
}

.component-library-lede {
	max-width: 42rem;
	color: var(--wp--preset--color--contrast-medium);
}

.component-library-group {
	padding-block: var(--wp--preset--spacing--8);
	border-top: 1px solid var(--wp--preset--color--theme-border-fade);
}

.component-library-group-title {
	margin: 0 0 var(--wp--preset--spacing--6);
}

.component-library-group--full {
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
	padding-inline: var(--wp--preset--spacing--site-gutter);
}

.component-library-group--full .component-library-preview:has(.testimonials-section),
.component-library-group--full .component-library-preview:has(.cta-section) {
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
}

/* Layout library page */
.layout-library {
	padding-block: var(--wp--preset--spacing--section-main);
}

.layout-library-group {
	padding-block: var(--wp--preset--spacing--8);
	border-top: 1px solid var(--wp--preset--color--theme-border-fade);
}

.layout-library-preview:has(.alignfull) {
	padding: 0;
	border: 0;
	background: transparent;
	overflow: visible;
	width: 100vw;
	max-width: 100vw;
	margin-left: calc(50% - 50vw);
}

.component-library-group-grid {
	display: grid;
	gap: var(--wp--preset--spacing--6);
	min-width: 0;
}

.component-library-preview {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	min-width: 0;
	padding: var(--wp--preset--spacing--5);
	overflow-x: auto;
	background: var(--wp--preset--color--base-lighter);
	border: 1px solid var(--wp--preset--color--theme-border-fade);
	border-radius: var(--wp--preset--border-radius--main);
}

.component-library-dark-surface {
	display: inline-flex;
	padding: var(--wp--preset--spacing--5);
	border-radius: var(--wp--preset--border-radius--large);
	background: var(--wp--preset--color--theme-footer-bg);
}

.component-library-state {
	margin: 0;
	color: var(--wp--preset--color--contrast-subtle);
	font-size: var(--wp--preset--font-size--small);
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.component-library-fullwidth {
	padding-block: var(--wp--preset--spacing--8);
	border-top: 1px solid var(--wp--preset--color--theme-border-fade);
}

.component-library-fullwidth-inner {
	padding-inline: var(--wp--preset--spacing--site-gutter);
}

.component-library-fullwidth-title {
	max-width: var(--wp--style--global--wide-size);
	margin: 0 auto var(--wp--preset--spacing--6);
	padding-inline: var(--wp--preset--spacing--site-gutter);
}

.component-library-fullwidth-showcase {
	display: grid;
	gap: var(--wp--preset--spacing--4);
	margin-block-end: var(--wp--preset--spacing--6);
}

.component-library-fullwidth--nav .site-header-nav {
	width: 100%;
}

.component-library-fullwidth--footer {
	width: 100%;
	max-width: 100%;
	padding-block: 0;
	border-top: 0;
}

.component-library-fullwidth-title--footer {
	padding-block-start: var(--wp--preset--spacing--8);
}

.component-library-fullwidth--footer .site-footer-component {
	border-radius: 0;
}

.site-header-inner--full {
	width: calc(100% - 2 * var(--wp--preset--spacing--site-gutter));
	margin-inline: auto;
}


.component-library-dropdown-showcase {
	position: relative;
	min-height: 12rem;
	padding-block-start: var(--wp--preset--spacing--4);
	overflow: visible;
}

.component-library-preview:has(.component-library-dropdown-showcase) {
	overflow: visible;
}

.component-library-preview .nav-dropdown--static:not(.is-hover):hover .nav-dropdown-panel {
	opacity: 0;
	visibility: hidden;
	pointer-events: none;
	transform: translateY(-0.25rem);
}

.component-library-preview .nav-dropdown--static:not(.is-hover):hover .nav-dropdown-toggle .icon-arrow-down {
	transform: none;
}


/* Scroll animation */
.animate-on-scroll {
	opacity: 0;
	transform: translateY(1.875rem);
	transition: opacity 0.6s ease, transform 0.6s ease;
}

.animate-on-scroll.is-visible {
	opacity: 1;
	transform: translateY(0);
}

@media (max-width: 1024px) {
	.animate-on-scroll {
		opacity: 1;
		transform: none;
		transition: none;
	}
}

/* Editor visibility */
.editor-styles-wrapper .animate-on-scroll {
	opacity: 1 !important;
	transform: none !important;
	transition: none !important;
}

@media (min-width: 768px) {
	.component-library-fullwidth-inner,
	.component-library-fullwidth-title {
		padding-inline: var(--wp--preset--spacing--site-margin);
	}

	.component-library-group-grid--two {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.component-library-group-grid--three {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

}

@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}

	.animate-on-scroll {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* General */
.layout-hero--banner {
	padding-block-start: 0 !important;
}
.site-main > .layout-article-hero:first-child {
	margin-block-start: 0;
}

@media (min-width: 1025px) {
	.site-main > .layout-article-hero:first-child {
		margin-block-start: calc(-1 * var(--layout-article-hero-offset));
	}
}
/* Services page */
@media (min-width: 1025px) {
	.page-id-13 .layout-hero-headline {
		max-width: 42rem;
	}
}
/* Search template */
.layout-section-intro--search .layout-section-intro-inner {
	gap: var(--wp--preset--spacing--4);
}

/* About page */
@media (min-width: 1025px) {
	.page-id-12 .layout-hero--split .layout-hero-content {
		max-width: 42.5rem;
	}
	.page-id-12 .layout-hero-media {
		left: calc(50% + 2rem) !important;
	}
}
.page-id-12 .layout-hero-subheadline {
	order: 1;
}
.page-id-12 .layout-hero-cta {
	order: 2;
}

.page-id-97 .layout-hero-subheadline {
	font-size: var(--wp--preset--font-size--body-small);
}

/* Contact page */
.page-id-16 :is(.layout-section-header, .layout-contact-company) {
	margin-bottom: var(--wp--preset--spacing--8);
}