/*
Theme Name: Georgia SAF
Theme URI: 
Description: A child theme of Twenty Twenty-Five for Georgia Save Aviation Fuel
Author: Ascent Media
Author URI: 
Template: twentytwentyfive
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: georgiasaf
*/

/* Import parent theme styles */
@import url("../twentytwentyfive/style.css");

/* Custom styles */

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

:where(.wp-site-blocks *:focus) {
	outline-width: 0 !important; 
	outline-style: none !important;
}

/* Smooth scrolling */
html {
	scroll-behavior: smooth;
}

/* ==========================================================================
   Transparent Header with Content Underneath
   ========================================================================== */

/* Make header fixed/absolute and transparent */
header.wp-block-template-part {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	width: 100%;
}

/* Make the header background transparent */
header.wp-block-template-part > .wp-block-group {
	background-color: transparent !important;
	background: transparent !important;
}

/* Push main content to start from top (under header) */
main.wp-block-group {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

/* Ensure the first section (hero) starts from the very top */
main.wp-block-group > .wp-block-group:first-child,
main.wp-block-group > .alignfull:first-child {
	margin-top: 0 !important;
}

/* Make sure cover blocks and hero sections extend to full viewport */
main.wp-block-group .wp-block-cover:first-child,
.entry-content > .wp-block-cover:first-child {
	margin-top: 0 !important;
}

/* Optional: Add a subtle gradient to header for better text readability */
header.wp-block-template-part::after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 150px;
	background: linear-gradient(to bottom, rgba(0, 0, 0, 0.3) 0%, transparent 100%);
	pointer-events: none;
	z-index: -1;
}

/* Mobile adjustments */
@media (max-width: 781px) {
	header.wp-block-template-part {
		position: absolute; /* Keep absolute on mobile too */
	}
	
	/* Adjust gradient height on mobile */
	header.wp-block-template-part::after {
		height: 120px;
	}
}

/* ==========================================================================
   Active Navigation States
   ========================================================================== */

/* Bold the current page in navigation (exclude home/front page) */
header.wp-block-template-part .wp-block-navigation-item.current-menu-item:not(:first-child) > .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation-item.current_page_item:not(:first-child) > .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation-item.current-menu-ancestor:not(:first-child) > .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation-item.current-menu-parent:not(:first-child) > .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation-item.current_page_parent:not(:first-child) > .wp-block-navigation-item__content,
header.wp-block-template-part .wp-block-navigation-item.current_page_ancestor:not(:first-child) > .wp-block-navigation-item__content {
	font-weight: 700;
}

/* ==========================================================================
   Mobile Menu Popover Style
   ========================================================================== */

/* Override the full-screen mobile menu to be a popover */
@media (max-width: 600px) {
	/* Hide hamburger when menu is open */
	header.wp-block-template-part .wp-block-navigation:has(.is-menu-open) .wp-block-navigation__responsive-container-open {
		opacity: 0;
		pointer-events: none;
	}
	
	/* Container positioning - cover the hamburger */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open.has-background,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open.has-base-background-color {
		position: absolute;
		top: -10px;
		right: -10px;
		left: auto;
		bottom: auto;
		width: auto;
		min-width: 200px;
		max-width: 240px;
		height: auto;
		max-height: calc(100vh - 100px);
		overflow-y: auto;
		overflow-x: hidden;
		padding: 0;
		/* Glass effect */
		background: rgba(255, 255, 255, 0.8) !important;
		background-color: rgba(255, 255, 255, 0.8) !important;
		-webkit-backdrop-filter: blur(2px) saturate(180%) !important;
		backdrop-filter: blur(2px) saturate(180%) !important;
		border: 1px solid rgba(255, 255, 255, 0.5) !important;
		border-radius: 14px !important;
		box-shadow: 0 8px 32px rgba(0, 0, 0, 0.15), 0 2px 8px rgba(0, 0, 0, 0.1) !important;
		animation: menuSlideIn 0.35s cubic-bezier(0.16, 1, 0.3, 1);
		transform-origin: top right;
	}
	
	/* Menu slide in animation */
	@keyframes menuSlideIn {
		from {
			opacity: 0;
			transform: scale(0.9) translateY(-10px);
		}
		to {
			opacity: 1;
			transform: scale(1) translateY(0);
		}
	}
	
	/* Remove the full-screen overlay behavior */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close {
		margin: 0;
		max-width: none;
	}
	
	/* Style the inner dialog */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
		padding: 0.75rem;
		padding-top: 2.75rem;
		background: transparent !important;
	}
	
	/* Content container */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		padding-top: 0;
		gap: 2px;
		align-items: stretch !important;
		justify-content: flex-start !important;
		background: transparent !important;
	}
	
	/* Navigation list */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
		align-items: stretch !important;
		justify-content: flex-start !important;
		background: transparent !important;
		width: 100%;
	}
	
	/* Style navigation items */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
		margin: 0;
		width: 100%;
		background: transparent !important;
		background-color: transparent !important;
		display: block !important;
		animation: menuItemSlideIn 0.4s cubic-bezier(0.16, 1, 0.3, 1) backwards;
	}
	
	/* Staggered animation for menu items */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(1) {
		animation-delay: 0.05s;
	}
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(2) {
		animation-delay: 0.1s;
	}
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(3) {
		animation-delay: 0.15s;
	}
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(4) {
		animation-delay: 0.2s;
	}
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item:nth-child(5) {
		animation-delay: 0.25s;
	}
	
	@keyframes menuItemSlideIn {
		from {
			opacity: 0;
			transform: translateX(10px);
		}
		to {
			opacity: 1;
			transform: translateX(0);
		}
	}
	
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
		padding: 0.75rem 1rem;
		color: var(--wp--preset--color--custom-black, #111827) !important;
		border-radius: 10px;
		transition: background-color 0.2s ease, transform 0.2s ease;
		display: block !important;
		font-weight: 500;
		font-size: 1.05rem;
		text-align: left;
		position: relative;
		background: transparent;
		width: auto !important;
		margin: 0 !important;
		text-decoration: none !important;
	}
	
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover {
		background-color: rgba(0, 0, 0, 0.06) !important;
		text-decoration: none !important;
		transform: translateX(2px);
	}
	
	/* Active item */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current_page_item .wp-block-navigation-item__content,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-parent .wp-block-navigation-item__content,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current_page_parent .wp-block-navigation-item__content {
		background: rgba(0, 0, 0, 0.06) !important;
		color: var(--wp--preset--color--custom-black, #111827) !important;
		font-weight: 600;
		text-decoration: none !important;
	}
	
	/* Active indicator dot */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-item .wp-block-navigation-item__content::after,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current_page_item .wp-block-navigation-item__content::after,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current-menu-parent .wp-block-navigation-item__content::after,
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item.current_page_parent .wp-block-navigation-item__content::after {
		content: '';
		position: absolute;
		right: 1rem;
		top: 50%;
		transform: translateY(-50%);
		width: 8px;
		height: 8px;
		background: var(--wp--preset--color--custom-green, #47cb89);
		border-radius: 50%;
		animation: dotPulse 2s ease-in-out infinite;
	}
	
	@keyframes dotPulse {
		0%, 100% {
			transform: translateY(-50%) scale(1);
			opacity: 1;
		}
		50% {
			transform: translateY(-50%) scale(1.2);
			opacity: 0.8;
		}
	}
	
	/* Style the close button */
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
		position: absolute;
		top: 0.625rem;
		right: 0.625rem;
		color: rgba(0, 0, 0, 0.4) !important;
		background: transparent !important;
		border-radius: 50%;
		width: 28px;
		height: 28px;
		display: flex;
		align-items: center;
		justify-content: center;
		transition: all 0.2s ease;
		z-index: 10;
		animation: closeButtonFadeIn 0.3s ease 0.1s backwards;
	}
	
	@keyframes closeButtonFadeIn {
		from {
			opacity: 0;
			transform: rotate(-90deg);
		}
		to {
			opacity: 1;
			transform: rotate(0deg);
		}
	}
	
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover {
		background: rgba(0, 0, 0, 0.08) !important;
		color: rgba(0, 0, 0, 0.6) !important;
		transform: rotate(90deg);
	}
	
	header.wp-block-template-part .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close svg {
		width: 14px;
		height: 14px;
		fill: currentColor;
		color: inherit;
	}
	
	/* Prevent body scroll lock since it's not full screen anymore */
	html.has-modal-open {
		overflow: auto;
	}
	
	/* Remove the default WordPress admin bar offset */
	.has-modal-open .admin-bar .is-menu-open .wp-block-navigation__responsive-dialog {
		margin-top: 0;
	}
}

/* ==========================================================================
   Footer Mobile Centering
   ========================================================================== */

@media (max-width: 781px) {
	/* Center all footer content on mobile */
	footer.wp-block-template-part .wp-block-columns {
		flex-direction: column;
		align-items: center;
	}
	
	footer.wp-block-template-part .wp-block-column {
		width: 100%;
		text-align: center;
	}
	
	/* Center the logo */
	footer.wp-block-template-part .wp-block-image {
		display: flex;
		justify-content: center;
	}
	
	/* Center the tagline */
	footer.wp-block-template-part .wp-block-site-tagline {
		text-align: center;
	}
	
	/* Center the Quick Links heading */
	footer.wp-block-template-part h3.wp-block-heading {
		text-align: center !important;
	}
	
	/* Center the navigation links */
	footer.wp-block-template-part .wp-block-navigation {
		justify-content: center !important;
		align-items: center !important;
	}
	
	footer.wp-block-template-part .wp-block-navigation__container {
		align-items: center !important;
	}
	
	footer.wp-block-template-part .wp-block-navigation-item__content {
		text-align: center;
	}
	
	/* Center the group containing nav */
	footer.wp-block-template-part .wp-block-group.is-content-justification-right {
		justify-content: center !important;
	}
	
	/* Add spacing between footer columns on mobile */
	footer.wp-block-template-part .wp-block-column:first-child {
		margin-bottom: var(--wp--preset--spacing--50);
	}
}

/* ==========================================================================
   Development Strategy Custom Bullet Points
   ========================================================================== */

/* Target the bullet list in the Development Strategy gradient box */
.wp-block-group[style*="linear-gradient"] .wp-block-list {
	list-style: none;
	padding-left: 0;
}

.wp-block-group[style*="linear-gradient"] .wp-block-list li {
	position: relative;
	padding-left: 2.5em;
	margin-bottom: 0.75em;
}

.wp-block-group[style*="linear-gradient"] .wp-block-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.15em;
	width: 1.5em;
	height: 1.5em;
	background-color: var(--wp--preset--color--custom-green, #47cb89);
	border-radius: 50%;
}

.wp-block-group[style*="linear-gradient"] .wp-block-list li::after {
	content: '';
	position: absolute;
	left: 0.45em;
	top: 0.5em;
	width: 0.5em;
	height: 0.85em;
	border: solid var(--wp--preset--color--custom-blue, #03467f);
	border-width: 0 3px 3px 0;
	transform: rotate(45deg);
}

/* Mobile adjustments for bullet points */
@media (max-width: 600px) {
	.wp-block-group[style*="linear-gradient"] .wp-block-list li {
		padding-left: 2.25em;
	}
	
	.wp-block-group[style*="linear-gradient"] .wp-block-list li::before {
		width: 1.35em;
		height: 1.35em;
		top: 0.2em;
	}
	
	.wp-block-group[style*="linear-gradient"] .wp-block-list li::after {
		left: 0.4em;
		top: 0.5em;
		width: 0.4em;
		height: 0.75em;
		border-width: 0 2.5px 2.5px 0;
	}
}

