/* ==========================================================================
   GIAC — Page themes + page options (Page sidebar > GIAC Layout)
   Replaces the per-page Orbit Fox "Header/Footer scripts" and the
   "[HTML] Pricing Widget" blocks that were pasted on each page.
   ========================================================================== */

/* ---------- Editorial pages ("GIAC base typography") ----------
   Loaded after the theme stylesheet on purpose: these zero-specificity
   resets must beat Neve's element defaults but lose to any real class. */

/* zero-specificity on purpose: any real style (gm-cta, buttons, logos) still wins */
:where(body.giac-base-type) img {
	display: block;
	max-width: 100%;
}

:where(body.giac-base-type) a {
	color: inherit;
	text-decoration: none;
}

:where(body.giac-base-type) button {
	font: inherit;
}

/* ---------- Page background ---------- */

body.giac-bg-stone { background: #f4f2f0 !important; }
body.giac-bg-white { background: #fff !important; }

/* ---------- Header modes ---------- */

body.giac-header-fixed #header-grid,
body.giac-header-logo #header-grid {
	position: fixed !important;
	z-index: 1000;
}

/* Logo only (landing pages like Join): no menu, no burger */
body.giac-header-logo #header-grid .builder-item--nav-icon,
body.giac-header-logo #header-grid .item--inner.builder-item--nav-icon {
	display: none !important;
}

@media (min-width: 960px) {
	body.giac-header-logo #header-grid .hfg-slot {
		justify-content: end !important;
	}

	body.giac-header-logo #header-grid .hfg-slot.right {
		display: none !important;
	}
}

/* ==========================================================================
   Membership pricing cards — shared tweaks on any themed page
   ========================================================================== */

body:is(.giac-theme-club, .giac-theme-tennis, .giac-theme-pickleball) .gm-switch { gap: 4px !important; }
body:is(.giac-theme-club, .giac-theme-tennis, .giac-theme-pickleball) .gm-switch__btn:hover { color: #fff !important; }
body:is(.giac-theme-club, .giac-theme-tennis, .giac-theme-pickleball) .gm-card__tagline { font-family: "Avenir Light" !important; }
body:is(.giac-theme-club, .giac-theme-tennis, .giac-theme-pickleball) .gm-features { font-family: "Avenir" !important; }
body:is(.giac-theme-club, .giac-theme-tennis, .giac-theme-pickleball) .gm-card__note { font-style: italic !important; }

/* Tennis + Pickleball small print */
body:is(.giac-theme-tennis, .giac-theme-pickleball) .gm-card__note {
	margin: 1px 0 0 !important;
	color: #423b34 !important;
	font-family: "Arial" !important;
	font-size: 12px !important;
}

/* ==========================================================================
   Club (maroon)
   ========================================================================== */

body.giac-theme-club .gm-price__amount { color: #561618 !important; }

/* ==========================================================================
   Tennis (navy / olive / lime)
   ========================================================================== */

body.giac-theme-tennis {
	--giac-accent: #0b3863;
}

body.giac-theme-tennis .giac-mem {
	--gm-line: #e5e8cb !important;
	--gm-check: #d1dc45 !important;
	--gm-gold: #949b41 !important;
}

body.giac-theme-tennis :is(.gm-price__amount, .gm-title, .gm-card__name, .gm-switch__btn) { color: #0b3863 !important; }
body.giac-theme-tennis .gm-eyebrow { color: #646925 !important; }
body.giac-theme-tennis .gm-cta { border-color: #0b3863 !important; color: #0b3863 !important; }
body.giac-theme-tennis :is(.gm-switch__btn:hover, .gm-switch__btn[aria-selected="true"], .gm-cta:hover) {
	background: #0b3863 !important;
	color: #fff !important;
}
body.giac-theme-tennis .gm-cta:hover { border-color: #0b3863 !important; }

/* nav: current page */
body.giac-theme-tennis .nav-ul li.nv-active > .wrap .caret,
body.giac-theme-tennis .nav-ul li.nv-active > .wrap > a {
	color: #949b41 !important;
	font-weight: 600;
}

@media (max-width: 960px) {
	body.giac-theme-tennis #header-grid #header-menu-sidebar :is(.current-menu-item, .current_page_item) > .wrap > a,
	body.giac-theme-tennis #header-grid #header-menu-sidebar a[aria-current="page"] {
		color: #949b41 !important;
		font-weight: 600;
	}
}

body.giac-theme-tennis .scroll-to-top { color: #d1dc45 !important; background: #0b3863 !important; }

/* footer tint */
body.giac-theme-tennis img.wp-image-281 {
	filter: brightness(0) saturate(100%) invert(18%) sepia(28%) saturate(2407%) hue-rotate(174deg) brightness(91%) contrast(96%) !important;
}

body.giac-theme-tennis .wp-block-social-links .wp-social-link .wp-block-social-link-anchor,
body.giac-theme-tennis .wp-block-social-links .wp-social-link .wp-block-social-link-anchor svg {
	fill: #0b3863 !important;
}

body.giac-theme-tennis :is(#wp-block-themeisle-blocks-advanced-heading-617a137b, #wp-block-themeisle-blocks-advanced-heading-883e32e9, #wp-block-themeisle-blocks-advanced-heading-70ee0544, #wp-block-themeisle-blocks-advanced-heading-a989b04e) {
	color: #96a201 !important;
}

body.giac-theme-tennis #wp-block-themeisle-blocks-advanced-heading-bc7102b6 { color: #0b3863 !important; }

/* ==========================================================================
   Pickleball (blue / gold)
   ========================================================================== */

body.giac-theme-pickleball .giac-mem {
	--gm-line: #f3e4d1 !important;
	--gm-check: #eda84d !important;
	--gm-gold: #bd8945 !important;
}

body.giac-theme-pickleball :is(.gm-price__amount, .gm-title, .gm-card__name, .gm-switch__btn) { color: #5773a2 !important; }
body.giac-theme-pickleball .gm-eyebrow { color: var(--nv-secondary-accent) !important; }
body.giac-theme-pickleball .gm-cta { border-color: #5773a2 !important; color: #5773a2 !important; }
body.giac-theme-pickleball :is(.gm-switch__btn:hover, .gm-switch__btn[aria-selected="true"], .gm-cta:hover) {
	background: #5773a2 !important;
	color: #fff !important;
}
body.giac-theme-pickleball .gm-cta:hover { border-color: #5773a2 !important; }

body.giac-theme-pickleball .nav-ul li.nv-active > .wrap .caret,
body.giac-theme-pickleball .nav-ul li.nv-active > .wrap > a {
	color: #5773a2 !important;
	font-weight: 600;
}

@media (max-width: 960px) {
	body.giac-theme-pickleball #header-grid #header-menu-sidebar :is(.current-menu-item, .current_page_item) > .wrap > a,
	body.giac-theme-pickleball #header-grid #header-menu-sidebar a[aria-current="page"] {
		color: #5773a2 !important;
		font-weight: 600;
	}
}

body.giac-theme-pickleball .scroll-to-top { color: #eda84d !important; background: #0b3863 !important; }

body.giac-theme-pickleball img.wp-image-281 {
	filter: brightness(0) saturate(100%) invert(54%) sepia(74%) saturate(148%) hue-rotate(179deg) brightness(75%) contrast(162%) !important;
}

body.giac-theme-pickleball .wp-block-social-links .wp-social-link .wp-block-social-link-anchor,
body.giac-theme-pickleball .wp-block-social-links .wp-social-link .wp-block-social-link-anchor svg {
	fill: #6794e0 !important;
}

body.giac-theme-pickleball #wp-block-themeisle-blocks-advanced-heading-bc7102b6 { color: #a15926 !important; }

/* ==========================================================================
   Scroll-cue arrow tint follows the hero scheme
   ========================================================================== */

.gch--club .giac-scroll-cue__arrow svg { stroke: rgb(90 15 19 / 34%) !important; }
.gch--tennis .giac-scroll-cue__arrow svg,
.gch--pickleball .giac-scroll-cue__arrow svg { stroke: rgb(15 33 90 / 34%) !important; }

/* ==========================================================================
   Page not found (404)
   ========================================================================== */

body.error404 .nv-content-none-wrap {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: clamp(56px, 12vw, 120px) 20px clamp(64px, 12vw, 120px);
	text-align: center;
}

body.error404 .nv-content-none-wrap > p {
	max-width: 640px;
	margin: 0 auto;
	color: var(--giac-maroon);
	font-family: "Velour", Georgia, serif;
	font-size: clamp(30px, 6vw, 46px);
	font-weight: 400;
	line-height: 1.12;
	letter-spacing: 0.01em;
	text-align: center;
}

body.error404 .nv-content-none-wrap .nv-seach-form-wrap {
	width: 100%;
	margin: 0;
}

/* Circled icon buttons (same look as the burger-menu icons) */
.giac-404-links {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 14px;
	margin-top: 32px;
}

.giac-icon-btn {
	box-shadow: var(--giac-shadow-xs);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	width: 46px;
	height: 46px;
	border: 1px solid #d3bda1;
	border-radius: 50%;
	background: #f5f0e8;
	color: #6c2528;
	text-decoration: none;
	transition: background-color 0.2s ease, border-color 0.2s ease, color 0.2s ease, transform 0.2s ease;
}

.giac-icon-btn svg {
	display: block;
	width: 20px;
	height: 20px;
}

.giac-icon-btn:active {
	transform: scale(0.94);
}

.giac-icon-btn:focus-visible {
	outline: 2px solid #a57c37;
	outline-offset: 3px;
}

@media (hover: hover) {
	.giac-icon-btn:hover {
		background: #ece2d4;
		border-color: #b89769;
		color: #551b20;
	}
}

/* ==========================================================================
   Smooth layered shadows on cards
   ========================================================================== */

.giac-mem .gm-card {
	box-shadow: var(--giac-shadow-md);
	transition: box-shadow 0.3s var(--giac-ease), transform 0.3s var(--giac-ease);
}

@media (hover: hover) {
	.giac-mem .gm-card:hover {
		box-shadow: var(--giac-shadow-lg);
	}
}

.is-style-giac-card-lifted:hover {
	box-shadow: var(--giac-shadow-lg) !important;
}

/* Scroll-reveal: once revealed, drop the filter/transform entirely.
   A leftover "blur(0px)" makes Safari clip the shadows of everything inside
   (price cards, membership cards) at the section's edge. */
body .giac-blur-reveal.is-visible { filter: none; transform: none; }
