﻿/**
 * Header bubble nav â€” inspired by bbso.ro
 */

:root {
	--noul-header-bubble-width: 75vw;
	--noul-header-bubble-max-width: 75vw;
	--noul-layout-gutter: calc((100vw - var(--noul-header-bubble-width)) / 2);
	--noul-header-bubble-padding-x: 1.25rem;
	--noul-content-align-start: calc(var(--noul-layout-gutter) + var(--noul-header-bubble-padding-x));
	--noul-card-top-spacing: 3.5rem;
	--noul-navy: #13262c;
	--noul-navy-dark: #040f11;
	--noul-navy-mid: #2c525d;
	--noul-gold: #386874;
	--noul-gold-light: #4a8494;
	--noul-gold-bright: #5a9aaa;
	--noul-gold-muted: #24454e;
	--noul-cream: #ffffff;
	--noul-shadow-rgb: 4, 15, 17;
	--noul-accent-rgb: 56, 104, 116;
	--noul-cream-rgb: 255, 255, 255;
	--noul-header-bubble-bg: rgba(4, 15, 17, 0.58);
	--noul-header-bubble-border: transparent;
	--noul-header-bubble-radius: 9999px;
	--noul-header-sticky-top: 20px;
	--noul-header-float-gap: 28px;
	--noul-page-bg: var(--noul-navy-dark);
	--noul-page-gradient: linear-gradient(
		to top,
		#040f11 0%,
		#061417 15%,
		#13262c 30%,
		#1f3d45 45%,
		#24454e 58%,
		#2c525d 72%,
		#305a66 85%,
		#386874 100%
	);
	--noul-gold-text: #ffffff;
	--noul-gold-heading: #ffffff;
	--noul-gold-link: #ffffff;
	--noul-gold-link-hover: rgba(255, 255, 255, 0.85);
	--noul-font-family: 'Montserrat', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

html {
	--ast-body-font-family: var(--noul-font-family);
	--ast-heading-font-family: var(--noul-font-family);
}

body {
	--ast-global-color-0: var(--noul-gold-link);
	--ast-global-color-1: var(--noul-gold-link-hover);
	--ast-global-color-2: var(--noul-gold-heading);
	--ast-global-color-3: var(--noul-gold-text);
	--ast-body-font-family: var(--noul-font-family);
	--ast-heading-font-family: var(--noul-font-family);
	font-family: var(--noul-font-family) !important;
}

/* Montserrat everywhere â€” inherit from body, keep icon fonts intact */
body :where(
	h1, h2, h3, h4, h5, h6,
	p, a, span, li, label, small, strong, em,
	input, textarea, select, button,
	td, th, blockquote, figcaption,
	.entry-content,
	.entry-title,
	.site-title,
	.site-description,
	.menu-link,
	.ast-footer-copyright,
	.wp-block-button__link,
	.noul-welcome-card,
	.noul-welcome-card *
) {
	font-family: inherit !important;
}

/* Page background — teal gradient from culori.jpeg */
html,
body {
	background: var(--noul-page-gradient) !important;
	background-attachment: fixed !important;
	background-color: var(--noul-page-bg) !important;
	min-height: 100%;
}

#page,
.site,
#content,
.site-content,
.ast-separate-container,
.ast-separate-container .ast-article-single,
.ast-separate-container .ast-article-post,
.ast-separate-container .comment-respond,
.ast-separate-container .ast-comment-list li,
.ast-plain-container,
.ast-page-builder-template .site-content > .ast-container,
.error404,
.search-no-results {
	background-color: transparent !important;
}

.entry-content,
.entry-header,
.ast-single-entry-banner,
.ast-archive-description {
	background-color: transparent !important;
}

body,
body .entry-content,
body .entry-title,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body li,
body .entry-content :where(h1, h2, h3, h4, h5, h6),
body .wp-block-heading,
body .site-description,
body .ast-archive-description * {
	color: var(--noul-gold-text) !important;
}

body h1,
body h2,
body h3,
body .entry-title,
body .entry-content :where(h1, h2, h3),
body .wp-block-heading {
	color: var(--noul-gold-heading) !important;
}

#content a:not(.menu-link),
.entry-content a:not(.menu-link),
.site-content a:not(.menu-link),
body a:not(.menu-link):not(.wp-block-button__link):not(.site-title):not(.custom-logo-link) {
	color: var(--noul-gold-link) !important;
}

#content a:not(.menu-link):hover,
.entry-content a:not(.menu-link):hover,
.site-content a:not(.menu-link):hover,
body a:not(.menu-link):not(.wp-block-button__link):not(.site-title):not(.custom-logo-link):hover,
#content a:not(.menu-link):focus-visible,
.entry-content a:not(.menu-link):focus-visible {
	color: var(--noul-gold-link-hover) !important;
}

body .wp-block-button__link {
	background-color: var(--noul-gold) !important;
	color: #ffffff !important;
}

body .wp-block-button__link:hover {
	background-color: var(--noul-gold-bright) !important;
	color: #ffffff !important;
}

body .menu-link,
body .ast-site-identity .site-title a:not(.noul-logo-link):not(.custom-logo-link) {
	color: #ffffff !important;
}

/* Header logo â€” transparent PNG, blends into bubble */
#masthead .ast-site-identity,
#masthead .ast-site-identity .site-title,
#masthead .site-branding,
#masthead .site-branding .site-logo-img,
#masthead .ast-builder-layout-element[data-section="title_tagline"] {
	line-height: 0;
	margin: 0;
	padding: 0 !important;
	border: none !important;
	background: transparent !important;
}

#masthead .ast-site-title-wrap {
	padding: 0 !important;
	border: none !important;
}

#masthead .noul-logo-link,
#masthead .custom-logo-link {
	display: inline-flex;
	align-items: center;
	padding: 0;
	background: transparent !important;
	line-height: 0;
	border: none !important;
	box-shadow: none !important;
}

#masthead .site-title,
#masthead .site-header-primary-section-left,
#masthead .site-header-primary-section-left .site-header-focus-item,
#masthead .site-header-primary-section-left .ast-builder-layout-element,
#masthead .site-header-section-left {
	border: none !important;
	border-right: none !important;
	box-shadow: none !important;
}

#masthead .site-header-primary-section-left::before,
#masthead .site-header-primary-section-left::after,
#masthead [data-section="title_tagline"]::before,
#masthead [data-section="title_tagline"]::after,
#masthead .ast-site-title-wrap::before,
#masthead .ast-site-title-wrap::after {
	content: none !important;
	display: none !important;
}

#masthead .noul-site-logo,
#masthead .custom-logo {
	display: block;
	height: 56px;
	width: auto;
	max-width: 56px;
	object-fit: contain;
	background: transparent !important;
}

#masthead .site-title a:not(.noul-logo-link):not(.custom-logo-link) {
	font-size: 0 !important;
	width: 0;
	height: 0;
	overflow: hidden;
	position: absolute;
}

/* Sticky wrapper â€” floating pill, detached from top edge */
#masthead {
	position: sticky;
	top: var(--noul-header-sticky-top);
	z-index: 999;
	background: transparent !important;
	border: none !important;
	box-shadow: none !important;
	padding-top: var(--noul-header-float-gap);
}

body.admin-bar #masthead {
	top: calc(32px + var(--noul-header-sticky-top));
}

#ast-desktop-header,
#ast-mobile-header,
#masthead .ast-main-header-wrap,
#masthead .main-header-bar-wrap {
	background: transparent !important;
	background-color: transparent !important;
	padding-top: 0 !important;
}

#masthead .main-header-bar,
#masthead .ast-primary-header-bar,
#masthead .ast-main-header-wrap,
#masthead .site-primary-header-wrap,
#masthead .ast-mobile-header-wrap,
#masthead .ast-primary-header-bar,
#masthead .site-primary-header-wrap:not(.ast-container) {
	border: none !important;
	border-bottom: none !important;
	box-shadow: none !important;
	background: transparent !important;
	background-color: transparent !important;
}

#masthead .site-primary-header-wrap {
	min-height: 0 !important;
}

#masthead .ast-primary-header-bar.main-header-bar,
#masthead .ast-primary-header-bar.site-primary-header-wrap,
#masthead .site-header-focus-item.ast-primary-header-bar {
	background: transparent !important;
	background-color: transparent !important;
}

/* Bubble container â€” desktop */
#masthead .site-primary-header-wrap.ast-container {
	width: var(--noul-header-bubble-width) !important;
	max-width: var(--noul-header-bubble-max-width) !important;
	margin-left: var(--noul-layout-gutter) !important;
	margin-right: auto !important;
	padding: 0.35rem var(--noul-header-bubble-padding-x) !important;
	background: var(--noul-header-bubble-bg) !important;
	backdrop-filter: blur(16px) saturate(120%);
	-webkit-backdrop-filter: blur(16px) saturate(120%);
	border: none !important;
	border-radius: var(--noul-header-bubble-radius);
	box-shadow: 0 8px 32px rgba(var(--noul-shadow-rgb), 0.18);
	transition:
		background 0.35s ease,
		box-shadow 0.35s ease,
		border-color 0.35s ease,
		transform 0.35s ease;
	transform: scale(1);
	transform-origin: center top;
}

#masthead .site-primary-header-wrap.ast-container:hover {
	transform: scale(1.02);
}

/* Keep bubble transparent on scroll â€” override Astra sticky styles */
#masthead.is-scrolled .site-primary-header-wrap.ast-container,
#masthead.ast-sticky-shrunk .site-primary-header-wrap.ast-container,
#masthead.ast-primary-sticky-enabled .site-primary-header-wrap.ast-container,
.ast-primary-sticky-header-active #masthead .site-primary-header-wrap.ast-container {
	background: var(--noul-header-bubble-bg) !important;
	border: none !important;
	box-shadow: 0 8px 32px rgba(var(--noul-shadow-rgb), 0.18) !important;
}

.ast-plain-container,
.ast-page-builder-template,
.ast-plain-container .site-content,
.ast-page-builder-template .site-content {
	background-color: transparent !important;
}

#masthead.is-scrolled,
#masthead.ast-sticky-shrunk,
.ast-primary-sticky-header-active #masthead {
	background: transparent !important;
}

#masthead.is-scrolled .main-header-bar,
#masthead.is-scrolled .ast-primary-header-bar,
#masthead.is-scrolled .ast-main-header-wrap,
#masthead.is-scrolled .site-primary-header-wrap,
.ast-primary-sticky-header-active #masthead .main-header-bar,
.ast-primary-sticky-header-active #masthead .ast-primary-header-bar {
	background: transparent !important;
	box-shadow: none !important;
}

#masthead .ast-primary-header-bar,
#masthead .main-header-bar,
#masthead .ast-main-header-wrap .main-header-bar-wrap,
.ast-primary-header-bar.main-header-bar {
	border: none !important;
	border-bottom: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

#masthead .ast-header-divider-element,
#masthead .ast-builder-layout-element.ast-header-divider-element {
	display: none !important;
}

/* Layout inside bubble */
#masthead .site-header-primary-section-left,
#masthead .site-header-primary-section-right {
	background: transparent !important;
}

#masthead .ast-builder-grid-row {
	align-items: center;
}

#masthead .main-header-menu > .menu-item {
	line-height: 1.2 !important;
}

/* Hide home + sample from fallback menus */
.main-header-menu .menu-item-home,
.main-header-menu .page_item.page-item-home,
.main-header-menu .page-item-2 {
	display: none !important;
}

.main-header-menu > .menu-item > .menu-link {
	transition: color 0.25s ease, opacity 0.25s ease;
}

.main-header-menu > .menu-item > .menu-link:hover,
.main-header-menu > .menu-item > .menu-link:focus-visible {
	opacity: 0.75;
}

.ast-site-identity .site-title a {
	text-decoration: none;
	transition: opacity 0.25s ease;
}

.ast-site-identity .site-title a:hover,
.ast-site-identity .site-title a:focus-visible {
	opacity: 0.75;
}

.ast-footer-copyright a[href*="wpastra.com"],
.ast-footer-copyright a[href*="astra"] {
	display: none !important;
}

.ast-footer-copyright p {
	margin: 0;
}

/* Footer â€” transparent over page gradient */
.site-footer,
.site-footer .site-footer-wrap,
.site-below-footer-wrap,
.site-below-footer-wrap[data-section="section-below-footer-builder"],
.ast-small-footer,
.ast-small-footer-wrap,
.ast-footer-overlay,
.ast-footer-copyright,
.ast-footer-copyright.site-footer-focus-item {
	background-color: transparent !important;
	border-top: none !important;
	box-shadow: none !important;
}

.site-footer,
.site-below-footer-wrap,
.ast-footer-copyright,
.ast-footer-copyright * {
	color: rgba(255, 255, 255, 0.75) !important;
}

/* Hide duplicate page title above content — headings in content stay */
body.page .entry-header,
body.page .ast-single-entry-banner {
	display: none !important;
}

