/* SAFEintegrated Appointments – modern header polish for the Faith Connect / CMSMasters header.
   Scoped to the header template so nothing else on the site is affected. Toggle in Appointments → Settings. */
:root {
	--siis-hdr-gold: #d4a017;
	--siis-hdr-gold-deep: #b8860b;
	--siis-hdr-ink: #0f1115;
	--siis-hdr-glass: rgba(12, 12, 14, .55);
	--siis-hdr-glass-solid: rgba(12, 12, 14, .92);
	--siis-hdr-line: rgba(255, 255, 255, .12);
	--siis-hdr-text: rgba(255, 255, 255, .86);
	--siis-hdr-ease: 220ms cubic-bezier(.2, .7, .3, 1);
}

/* ---------- Bar ---------- */
header.cmsmasters-location-cmsmasters_header {
	transition: transform 320ms cubic-bezier(.2, .7, .3, 1), background-color var(--siis-hdr-ease), box-shadow var(--siis-hdr-ease);
	will-change: transform;
}
header.cmsmasters-location-cmsmasters_header > .elementor-inner > .elementor-section-wrap > .e-con:first-child {
	background: linear-gradient(to bottom, rgba(0, 0, 0, .55), rgba(0, 0, 0, 0)) !important;
	transition: background var(--siis-hdr-ease), padding var(--siis-hdr-ease), box-shadow var(--siis-hdr-ease);
}
/* Compact, frosted, fixed bar once the visitor scrolls */
body.siis-hdr-scrolled header.cmsmasters-location-cmsmasters_header {
	position: fixed !important; top: 0; left: 0; right: 0; z-index: 990;
	animation: siis-hdr-in 260ms cubic-bezier(.2, .8, .3, 1);
}
body.admin-bar.siis-hdr-scrolled header.cmsmasters-location-cmsmasters_header { top: 32px; }
@media (max-width: 782px) { body.admin-bar.siis-hdr-scrolled header.cmsmasters-location-cmsmasters_header { top: 46px; } }
body.siis-hdr-scrolled header.cmsmasters-location-cmsmasters_header > .elementor-inner > .elementor-section-wrap > .e-con:first-child {
	background: var(--siis-hdr-glass-solid) !important;
	-webkit-backdrop-filter: saturate(160%) blur(16px); backdrop-filter: saturate(160%) blur(16px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .28), inset 0 -1px 0 var(--siis-hdr-line);
	padding-top: 8px !important; padding-bottom: 8px !important;
}
body.siis-hdr-scrolled header.cmsmasters-location-cmsmasters_header .elementor-element-3c4c17d3 img { max-height: 56px; width: auto; }
header.cmsmasters-location-cmsmasters_header .elementor-element-3c4c17d3 img { transition: max-height var(--siis-hdr-ease), transform var(--siis-hdr-ease); border-radius: 10px; }
header.cmsmasters-location-cmsmasters_header .elementor-element-3c4c17d3 a:hover img { transform: scale(1.03); }
body.siis-hdr-hidden header.cmsmasters-location-cmsmasters_header { transform: translateY(-110%); }
@keyframes siis-hdr-in { from { transform: translateY(-16px); opacity: 0; } to { transform: none; opacity: 1; } }

/* ---------- Desktop menu ---------- */
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 .elementor-widget-cmsmasters-nav-menu__item-link-top {
	font-size: 15px !important; font-weight: 600 !important; letter-spacing: .1em !important; text-transform: uppercase;
	color: var(--siis-hdr-text) !important; padding: 10px 14px !important; border-radius: 8px;
	position: relative; transition: color var(--siis-hdr-ease), background var(--siis-hdr-ease);
}
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 .elementor-widget-cmsmasters-nav-menu__item-link-top::after {
	content: ""; position: absolute; left: 14px; right: 14px; bottom: 4px; height: 2px; border-radius: 2px;
	background: var(--siis-hdr-gold); transform: scaleX(0); transform-origin: left center; transition: transform var(--siis-hdr-ease);
}
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 li:hover > .elementor-widget-cmsmasters-nav-menu__item-link-top,
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 .elementor-widget-cmsmasters-nav-menu__item-link-top:focus-visible {
	color: #fff !important;
}
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 li:hover > .elementor-widget-cmsmasters-nav-menu__item-link-top::after,
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 li.current-menu-item > .elementor-widget-cmsmasters-nav-menu__item-link-top::after,
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 li.current-menu-ancestor > .elementor-widget-cmsmasters-nav-menu__item-link-top::after,
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 li.current_page_item > .elementor-widget-cmsmasters-nav-menu__item-link-top::after { transform: scaleX(1); }
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 .elementor-widget-cmsmasters-nav-menu__item-link-top:focus-visible { outline: 2px solid var(--siis-hdr-gold); outline-offset: 2px; }
/* The plain "Book an Appointment" list item is redundant on desktop – the pill button carries the action */
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 li.siis-menu-cta { display: none !important; }

/* Dropdown */
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-nav-menu__dropdown-submenu {
	background: var(--siis-hdr-glass-solid) !important; -webkit-backdrop-filter: blur(16px); backdrop-filter: blur(16px);
	border: 1px solid var(--siis-hdr-line) !important; border-radius: 14px !important; padding: 8px !important; min-width: 220px;
	box-shadow: 0 18px 40px rgba(0, 0, 0, .35) !important; margin-top: 6px;
}
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-nav-menu__dropdown-submenu a {
	display: block; padding: 10px 14px !important; border-radius: 8px; font-size: 14px !important; letter-spacing: .06em !important;
	color: var(--siis-hdr-text) !important; transition: background var(--siis-hdr-ease), color var(--siis-hdr-ease), padding-left var(--siis-hdr-ease);
}
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-nav-menu__dropdown-submenu li:hover > a,
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-nav-menu__dropdown-submenu a:focus-visible {
	background: rgba(255, 255, 255, .07) !important; color: var(--siis-hdr-gold) !important; padding-left: 18px !important;
}

/* ---------- Social + search ---------- */
header.cmsmasters-location-cmsmasters_header .elementor-social-icon {
	width: 38px !important; height: 38px !important; border-radius: 50% !important; background: rgba(255, 255, 255, .06) !important;
	border: 1px solid var(--siis-hdr-line); display: inline-flex; align-items: center; justify-content: center; transition: background var(--siis-hdr-ease), transform var(--siis-hdr-ease), border-color var(--siis-hdr-ease);
}
header.cmsmasters-location-cmsmasters_header .elementor-social-icon i, header.cmsmasters-location-cmsmasters_header .elementor-social-icon svg { color: #fff !important; fill: #fff !important; font-size: 15px !important; }
header.cmsmasters-location-cmsmasters_header .elementor-social-icon:hover { background: var(--siis-hdr-gold) !important; border-color: var(--siis-hdr-gold); transform: translateY(-2px); }
header.cmsmasters-location-cmsmasters_header .elementor-social-icon:hover i, header.cmsmasters-location-cmsmasters_header .elementor-social-icon:hover svg { color: var(--siis-hdr-ink) !important; fill: var(--siis-hdr-ink) !important; }
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-search .cmsmasters-search-button,
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-search__button,
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-search__popup-trigger {
	width: 38px; height: 38px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; color: #fff;
	background: rgba(255, 255, 255, .06); border: 1px solid var(--siis-hdr-line); transition: background var(--siis-hdr-ease);
}
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-search__popup-trigger:hover { background: rgba(255, 255, 255, .14); }

/* ---------- CTA pill (replaces WELCOME) ---------- */
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta,
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta:visited {
	display: inline-flex !important; align-items: center; gap: 10px; min-height: 46px; padding: 0 22px 0 18px !important; border-radius: 999px !important;
	background: linear-gradient(135deg, var(--siis-hdr-gold), var(--siis-hdr-gold-deep)) !important; color: var(--siis-hdr-ink) !important;
	font-size: 14px !important; font-weight: 700 !important; letter-spacing: .1em !important; text-transform: uppercase; border: 0 !important;
	box-shadow: 0 8px 22px rgba(212, 160, 23, .32) !important; transition: transform var(--siis-hdr-ease), box-shadow var(--siis-hdr-ease), filter var(--siis-hdr-ease);
}
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta::before, header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta::after { content: none !important; }
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(212, 160, 23, .42) !important; filter: brightness(1.05); }
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta .siis-hdr-cta__icon { display: inline-flex; width: 18px; height: 18px; }
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta .elementor-widget-cmsmasters-button__text { color: inherit !important; }

/* ---------- Hamburger + off-canvas (tablet / mobile) ---------- */
header.cmsmasters-location-cmsmasters_header .elementor-element-3bc3981d .elementor-icon-wrapper > .elementor-icon {
	width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center;
	background: rgba(255, 255, 255, .08) !important; border: 1px solid var(--siis-hdr-line); border-radius: 50% !important; color: #fff !important; transition: background var(--siis-hdr-ease);
}
header.cmsmasters-location-cmsmasters_header .elementor-element-3bc3981d .elementor-icon-wrapper > .elementor-icon:hover { background: var(--siis-hdr-gold) !important; color: var(--siis-hdr-ink) !important; }
.cmsmasters-elementor-popup-133 .elementor-element-3ade3cc1 {
	background: linear-gradient(180deg, #131316 0%, #0d0d10 100%) !important;
}
.cmsmasters-elementor-popup-133 .elementor-element-3a2b7278 .elementor-widget-cmsmasters-nav-menu__item-link-top {
	font-size: 20px !important; letter-spacing: .08em !important; padding: 14px 6px !important; color: var(--siis-hdr-text) !important;
	border-bottom: 1px solid var(--siis-hdr-line);
}
.cmsmasters-elementor-popup-133 .elementor-element-3a2b7278 li.current-menu-item > .elementor-widget-cmsmasters-nav-menu__item-link-top { color: var(--siis-hdr-gold) !important; }
.cmsmasters-elementor-popup-133 .elementor-element-3a2b7278 .sub-menu a { font-size: 16px !important; padding: 10px 6px 10px 18px !important; color: rgba(255, 255, 255, .7) !important; }
.cmsmasters-elementor-popup-133 .elementor-element-3a2b7278 li.siis-menu-cta { margin-top: 18px; }
.cmsmasters-elementor-popup-133 .elementor-element-3a2b7278 li.siis-menu-cta > a {
	display: flex !important; justify-content: center; border: 0 !important; border-radius: 999px !important; min-height: 52px; align-items: center;
	background: linear-gradient(135deg, var(--siis-hdr-gold), var(--siis-hdr-gold-deep)) !important; color: var(--siis-hdr-ink) !important; font-weight: 700 !important;
	box-shadow: 0 8px 22px rgba(212, 160, 23, .32);
}
.cmsmasters-elementor-popup-133 .elementor-element-584a43c7 .elementor-icon {
	width: 44px; height: 44px; border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; background: rgba(255, 255, 255, .08); border: 1px solid var(--siis-hdr-line); color: #fff !important;
}

@media (prefers-reduced-motion: reduce) {
	header.cmsmasters-location-cmsmasters_header, header.cmsmasters-location-cmsmasters_header * { transition: none !important; animation: none !important; }
}

/* ---------- Density & compact-scroll refinements ---------- */
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 .elementor-widget-cmsmasters-nav-menu__item-link-top { font-size: 14px !important; letter-spacing: .08em !important; padding: 10px 11px !important; }
header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 .elementor-widget-cmsmasters-nav-menu__item-link-top::after { left: 11px; right: 11px; }
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta { font-size: 13px !important; padding: 0 18px 0 14px !important; min-height: 44px; height: 44px; line-height: 1 !important; white-space: nowrap; }
header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta .elementor-widget-cmsmasters-button__content-wrapper { line-height: 1 !important; }
header.cmsmasters-location-cmsmasters_header .elementor-social-icon { width: 36px !important; height: 36px !important; }
@media (max-width: 1366px) {
	header.cmsmasters-location-cmsmasters_header .elementor-element-6575e394 .elementor-widget-cmsmasters-nav-menu__item-link-top { font-size: 13px !important; letter-spacing: .06em !important; padding: 10px 8px !important; }
	header.cmsmasters-location-cmsmasters_header .cmsmasters-button-link.siis-hdr-cta { font-size: 12px !important; letter-spacing: .06em !important; }
}
header.cmsmasters-location-cmsmasters_header .elementor-element-7aa89942 > .e-con-inner { transition: padding var(--siis-hdr-ease); }
body.siis-hdr-scrolled header.cmsmasters-location-cmsmasters_header .elementor-element-7aa89942 > .e-con-inner { padding-top: 6px !important; padding-bottom: 6px !important; }
body.siis-hdr-scrolled header.cmsmasters-location-cmsmasters_header .elementor-element-3c4c17d3 img { max-height: 48px !important; }
/* Dropdown spacing */
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-nav-menu__dropdown-submenu { margin-top: 0 !important; padding: 6px !important; }
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-nav-menu__dropdown-submenu li { padding: 0 !important; margin: 0 !important; border: 0 !important; }
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-nav-menu__dropdown-submenu a { padding: 9px 12px !important; font-size: 13px !important; text-transform: uppercase; }
header.cmsmasters-location-cmsmasters_header .elementor-widget-cmsmasters-nav-menu__dropdown-submenu li:hover > a { padding-left: 16px !important; }
/* Desktop: the header pill carries the CTA; the floating button only appears once the bar has slid away */
@media (min-width: 1025px) {
	body.siis-hdr-polish .siis-fab { display: none; }
	body.siis-hdr-polish.siis-hdr-hidden .siis-fab { display: inline-flex; }
}
