/* ==========================================================================
   Smart Shield — header (floating sticky bar) and footer
   ========================================================================== */

/* The <header> template-part wrapper is what sticks */
.wp-site-blocks > header.wp-block-template-part {
	position: sticky;
	top: 0;
	z-index: 100;
}
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }

.ss-header {
	padding: 12px clamp(12px, 2.5vw, 28px) 0;
	margin: 0 !important;
}
.ss-header-bar {
	max-width: 1280px;
	margin-inline: auto !important;
	background: rgba(255, 255, 255, .92);
	backdrop-filter: blur(14px);
	-webkit-backdrop-filter: blur(14px);
	border: 1px solid rgba(220, 230, 243, .9);
	border-radius: 999px;
	padding: 8px 10px 8px 22px;
	gap: 20px !important;
	box-shadow: 0 8px 30px rgba(11, 31, 58, .08);
	transition: box-shadow .3s, background .3s;
}
.is-scrolled .ss-header-bar { box-shadow: 0 14px 40px rgba(11, 31, 58, .16); background: rgba(255, 255, 255, .97); }

/* Logo — shown large, as requested */
.ss-logo { flex: none; margin: 0 !important; }
.ss-logo img { width: 230px; height: auto; display: block; }

/* Navigation */
.ss-nav { flex: 1 1 auto; }
.ss-nav .wp-block-navigation__container { gap: clamp(14px, 1.8vw, 30px); }
.ss-nav .wp-block-navigation-item__content {
	color: var(--ss-navy);
	font-weight: 600;
	font-size: .97rem;
	text-decoration: none;
	padding-block: 6px;
	position: relative;
}
.ss-nav .wp-block-navigation-item__content::after {
	content: "";
	position: absolute; left: 0; right: 0; bottom: 0;
	height: 2px; border-radius: 2px;
	background: var(--ss-grad);
	transform: scaleX(0);
	transition: transform .25s var(--ss-ease);
}
.ss-nav .wp-block-navigation-item__content:hover { color: var(--ss-blue); }
.ss-nav .wp-block-navigation-item__content:hover::after { transform: scaleX(1); }

/* Mobile/tablet: switch to the menu button below 1100px (WordPress default is 600px) */
.ss-nav .wp-block-navigation__responsive-container-open {
	width: 46px; height: 46px;
	border-radius: 50%;
	background: var(--ss-navy);
	color: #fff;
	align-items: center;
	justify-content: center;
}
.ss-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 28px; }
.ss-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.4rem; padding-block: 10px; }

@media (max-width: 1100px) {
	.ss-nav { flex: 0 0 auto; order: 3; }
	.ss-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex; }
	.ss-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.ss-header-actions { margin-left: auto !important; }
}

/* Header buttons */
.ss-header-actions { flex: none; gap: 8px !important; }
.ss-header-actions .wp-block-button__link { padding: .8em 1.3em; font-size: .95rem; min-height: 46px; }

@media (max-width: 900px) {
	/* Talk to Us stays on every page: shrinks to a round microphone button */
	.ss-header-actions .ss-talk .wp-block-button__link { font-size: 0; gap: 0; width: 46px; padding: 0; justify-content: center; }
	.ss-header-actions .ss-talk .wp-block-button__link::before { width: 20px; height: 20px; }
}
@media (max-width: 600px) {
	.ss-header { padding: 8px 10px 0; }
	.ss-header-bar { border-radius: 20px; padding: 6px 6px 6px 14px; gap: 10px !important; }
	.ss-logo img { width: 168px; }
	.ss-header-actions .wp-block-button__link { padding: .7em 1em; font-size: .88rem; }
}
@media (max-width: 400px) {
	.ss-logo img { width: 148px; }
	.ss-header-actions .ss-btn-quote { display: none; } /* Quote is in the bottom contact bar */
}

/* ---------- Footer ---------- */
.wp-site-blocks > footer.wp-block-template-part { margin-top: 0; }
.ss-footer {
	background: var(--ss-grad-night);
	color: #b8c6d9;
	border-radius: 40px 40px 0 0;
	padding-top: clamp(56px, 7vw, 88px) !important;
	padding-bottom: 32px !important;
	margin: 0 !important;
	position: relative;
	overflow: hidden;
}
.ss-footer::before {
	content: "";
	position: absolute; right: -200px; top: -260px;
	width: 560px; height: 560px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(18, 194, 233, .18), transparent 65%);
	pointer-events: none;
}
.ss-footer h3 {
	color: #fff;
	font-size: .85rem !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	margin-top: 0;
}
.ss-footer p, .ss-footer li { font-size: .97rem; line-height: 1.7; }
.ss-footer a { color: #fff; text-decoration: none; }
.ss-footer a:hover { color: var(--ss-cyan); }
.ss-footer-logo img {
	background: #fff;
	border-radius: 18px;
	padding: 12px 16px;
	box-sizing: content-box;
}
.ss-footer-links { list-style: none; padding-left: 0 !important; margin: 0; }
.ss-footer-links li { margin-bottom: .55em; }
.ss-footer-cols { gap: clamp(28px, 4vw, 56px) !important; }
@media (min-width: 782px) {
	.ss-footer-cols > .wp-block-column:nth-child(3) { flex-grow: 1.6; } /* contact column: fits the email address */
}
.ss-footer-bottom {
	border-top: 1px solid rgba(255, 255, 255, .12);
	margin-top: 48px !important;
	padding-top: 22px;
	font-size: .88rem;
}
.ss-footer-bottom p { margin: 0; font-size: .88rem; }

@media (max-width: 781px) {
	.ss-footer { border-radius: 28px 28px 0 0; padding-bottom: 96px !important; } /* room for mobile contact bar */
}

/* Tablet: footer in two rows (brand on top, three link columns below) */
@media (min-width: 782px) and (max-width: 1024px) {
	.ss-footer-cols { flex-wrap: wrap !important; }
	.ss-footer-cols > .wp-block-column:first-child { flex-basis: 100% !important; }
	.ss-footer-cols > .wp-block-column:not(:first-child) { flex-basis: calc(33.333% - 40px) !important; flex-grow: 1 !important; }
}
