/* AssetWatch theme – small layer on top of theme.json. Colours/fonts come from Global Styles variables. */

/* Sticky header */
.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; } }
.aw-header { position: relative; isolation: isolate; background-color: rgba(11, 19, 32, .9) !important; box-shadow: 0 1px 0 rgba(255, 255, 255, .07); }
/* Blur lives on a pseudo-element: backdrop-filter on the header itself would trap the fixed mobile menu inside it. */
.aw-header::before { content: ""; position: absolute; inset: 0; z-index: -1; -webkit-backdrop-filter: saturate(140%) blur(10px); backdrop-filter: saturate(140%) blur(10px); pointer-events: none; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.aw-header__row { gap: 1rem; }
/* Logo sits on a small white plate so the artwork stays legible on dark backgrounds (artwork unchanged). */
.aw-logo img { height: auto; background: #fff; padding: 5px 9px; border-radius: 5px; box-sizing: border-box; box-shadow: 0 2px 10px rgba(0, 0, 0, .35); }
.aw-nav .wp-block-navigation-item__content { padding: .35rem 0; }
.aw-nav .wp-block-navigation__submenu-container { border: 1px solid var(--wp--preset--color--border) !important; border-radius: 6px; padding: .4rem 0; box-shadow: 0 14px 34px rgba(0,0,0,.5); min-width: 280px !important; background: var(--wp--preset--color--dark) !important; color: var(--wp--preset--color--light) !important; }
.aw-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: .45rem 1rem; font-weight: 500; }
.aw-header__cta .wp-block-button__link { padding: .55rem 1rem; font-size: .95rem; white-space: nowrap; }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid var(--wp--preset--color--accent); background: transparent; color: var(--wp--preset--color--light); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--primary); color: #fff; border-color: var(--wp--preset--color--accent); }
.aw-btn-light.is-style-outline > .wp-block-button__link { color: #fff; border-color: rgba(255, 255, 255, .85); }
.aw-btn-light.is-style-outline > .wp-block-button__link:hover { background: #fff; color: var(--wp--preset--color--primary); border-color: #fff; }
.aw-logo { flex-shrink: 0; }
@media (min-width: 601px) and (max-width: 1100px) { .wp-block-buttons > .wp-block-button.aw-btn-phone { display: none; } }
@media (max-width: 600px) {
	.wp-block-buttons > .wp-block-button.aw-btn-quote { display: none; }
	.aw-header__right { gap: .6rem !important; }
	.aw-header__right .aw-nav { order: 2; }
	.aw-logo img { width: 140px !important; }
	.aw-header__cta .wp-block-button__link { padding: .45rem .7rem; font-size: .9rem; }
}
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; background-color: var(--wp--preset--color--base) !important; color: var(--wp--preset--color--light) !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item { font-size: 1.15rem; }

/* Hero */
/* Eyebrow labels: uppercase, accent colour, thin accent line */
.aw-eyebrow { display: flex; align-items: center; gap: .7rem; text-transform: uppercase; letter-spacing: .16em; font-size: .8rem; font-weight: 700; color: var(--wp--preset--color--accent-soft); margin-bottom: -.35rem; }
.aw-eyebrow::before { content: ""; flex: 0 0 32px; height: 2px; background: var(--wp--preset--color--accent); border-radius: 2px; }
.aw-eyebrow.has-text-align-center { justify-content: center; }
.aw-eyebrow.has-text-align-center::after { content: ""; flex: 0 0 32px; height: 2px; background: var(--wp--preset--color--accent); border-radius: 2px; }
.aw-hero .aw-eyebrow { color: #fff; }
.aw-hero-text > * { max-width: 760px; }
.aw-plain-hero h1 { margin-top: 0; }

/* Cards */
.aw-cards { gap: var(--wp--preset--spacing--40) !important; margin-top: var(--wp--preset--spacing--40); }
.aw-card { background: var(--wp--preset--color--surface); background-image: linear-gradient(180deg, rgba(255, 255, 255, .03), rgba(255, 255, 255, 0) 40%); border: 1px solid var(--wp--preset--color--border); border-radius: 8px; padding: var(--wp--preset--spacing--40); }
.aw-card .wp-block-image { margin: calc(-1 * var(--wp--preset--spacing--40)) calc(-1 * var(--wp--preset--spacing--40)) 1rem; }
.aw-card .wp-block-image img { border-radius: 8px 8px 0 0; aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.aw-card h3 { margin-top: .25rem; }
.aw-card h3 a { text-decoration: none; color: var(--wp--preset--color--white); }
.aw-card h3 a:hover { color: var(--wp--preset--color--accent-soft); text-decoration: underline; }
.aw-team .aw-role { color: var(--wp--preset--color--accent-soft); font-weight: 700; font-size: .9rem; text-transform: uppercase; letter-spacing: .05em; margin-top: -.5rem; }
.aw-cards > .wp-block-column:empty { border: 0; background: none; padding: 0; }

/* Trust strip */
.aw-trust h3 { color: var(--wp--preset--color--white); margin-bottom: .25rem; }
.aw-trust .wp-block-column { border-left: 2px solid var(--wp--preset--color--accent); padding-left: 1rem; }
.aw-trust p { margin-top: 0; }

/* Tick lists */
ul.aw-ticks { list-style: none; padding-left: 0 !important; }
ul.aw-ticks li { position: relative; padding-left: 1.75rem; margin: .45rem 0; }
ul.aw-ticks li::before { content: ""; position: absolute; left: 0; top: .45em; width: 1.05rem; height: 1.05rem; border-radius: 50%; background: var(--wp--preset--color--accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath fill='none' stroke='%23fff' stroke-width='2.4' d='M4 8.5l2.6 2.5L12 5.5'/%3E%3C/svg%3E") center / 80% no-repeat; }

/* Services */
.aw-service { scroll-margin-top: 90px; }
.aw-service .wp-block-image img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.aw-more a { font-weight: 700; text-decoration: none; }
.aw-jumpbar { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem 1rem; }
.aw-jump-label { margin: 0; font-weight: 700; }
ul.aw-jump { list-style: none; display: flex; flex-wrap: wrap; gap: .5rem; padding: 0 !important; margin: 0; }
ul.aw-jump a { display: inline-block; padding: .4rem .85rem; border: 1px solid var(--wp--preset--color--border); border-radius: 999px; text-decoration: none; font-size: .92rem; font-weight: 600; color: var(--wp--preset--color--light); background: var(--wp--preset--color--surface); }
ul.aw-jump a:hover { border-color: var(--wp--preset--color--accent); color: #fff; }

/* Accreditation logos */
.aw-logos { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 2.5rem; }
.aw-logos .wp-block-image { margin: 0; }
.aw-logos img { height: 64px; width: auto; background: #fff; padding: 6px; border-radius: 6px; box-sizing: content-box; }

/* CTA band */
.aw-cta h2 { margin-bottom: .5rem; }
@media (max-width: 781px) { .aw-cta .wp-block-buttons { justify-content: flex-start !important; } }

/* Contact */
#quote { scroll-margin-top: 100px; }
.aw-map iframe { width: 100%; height: 420px; border-radius: 8px; display: block; }
.aw-form-card { background: var(--wp--preset--color--surface); }
.wpcf7 label { display: block; font-weight: 600; font-size: .95rem; color: var(--wp--preset--color--light); }
.wpcf7 input[type=text], .wpcf7 input[type=email], .wpcf7 input[type=tel], .wpcf7 textarea { width: 100%; box-sizing: border-box; margin-top: .3rem; padding: .7rem .8rem; border: 1px solid #3A4D69; border-radius: 6px; font: inherit; background: var(--wp--preset--color--base); color: var(--wp--preset--color--light); }
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 2px solid var(--wp--preset--color--accent); outline-offset: 1px; border-color: var(--wp--preset--color--accent); }
.wpcf7 input[type=submit] { background: var(--wp--preset--color--primary); color: #fff; border: 0; border-radius: 6px; padding: .8rem 1.6rem; font: inherit; font-weight: 700; cursor: pointer; }
.wpcf7 input[type=submit]:hover { background: #0A6BB3; }
.aw-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 1rem; }
.aw-form-grid p { margin: 0 0 1rem; }
@media (max-width: 600px) { .aw-form-grid { grid-template-columns: 1fr; } }
.aw-form-note { font-size: .85rem; color: var(--wp--preset--color--muted); }

/* Notices (privacy template) */
.aw-notice { border-left: 4px solid #E0A030; background: rgba(224, 160, 48, .1); color: var(--wp--preset--color--light); padding: 1rem 1.25rem; border-radius: 4px; }

/* Footer */
.aw-footer h2 { margin-bottom: .75rem; }
.aw-footer a { text-decoration: none; }
.aw-footer a:hover { text-decoration: underline; }
ul.aw-footer-links { list-style: none; padding-left: 0 !important; }
ul.aw-footer-links li { margin: .35rem 0; }
.aw-footer-sep { border-color: rgba(255,255,255,.18) !important; opacity: 1; margin: var(--wp--preset--spacing--50) 0 var(--wp--preset--spacing--30); }
.aw-footer p { color: rgba(255,255,255,.85); }

/* Accessibility */
:where(a, button, input, textarea, .wp-block-button__link):focus-visible { outline: 3px solid var(--wp--preset--color--accent-soft); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
html { scroll-behavior: smooth; }

/* Full-width sections sit flush against each other */
.wp-block-post-content > .alignfull { margin-block-start: 0 !important; margin-block-end: 0 !important; }
main.wp-block-group { margin-block-start: 0; }
.wp-site-blocks > footer { margin-block-start: 0 !important; }
.aw-hero, .aw-page-hero { padding-left: var(--wp--style--root--padding-left, 1.5rem) !important; padding-right: var(--wp--style--root--padding-right, 1.5rem) !important; }
.aw-footer .wp-block-separator.aw-footer-sep:not(.is-style-wide):not(.is-style-dots) { width: 100%; max-width: none !important; }

/* Accreditation text badge (swap for the official SIA ACS logo when available) */
.aw-badge { display: inline-flex; align-items: center; min-height: 64px; box-sizing: border-box; margin: 0; padding: .5rem 1rem; border: 2px solid var(--wp--preset--color--primary); border-radius: 8px; color: var(--wp--preset--color--primary); font-weight: 800; font-size: .95rem; line-height: 1.2; background: #fff; text-align: center; }
.aw-logos--footer { gap: 1.25rem !important; margin-top: var(--wp--preset--spacing--40); }
.aw-logos--footer img { height: 48px; width: auto; border-radius: 4px; background: #fff; }
.aw-logos--footer .aw-badge { min-height: 48px; font-size: .85rem; }
.aw-footer .aw-badge, .aw-footer p.aw-badge { color: var(--wp--preset--color--primary) !important; }

/* ---------- Motion (all of it switched off for prefers-reduced-motion) ---------- */
.aw-header { transition: box-shadow .25s ease, padding .25s ease, background-color .25s ease; }
.aw-scrolled .aw-header { box-shadow: 0 1px 0 rgba(47, 143, 216, .35), 0 10px 30px rgba(0, 0, 0, .45); background-color: rgba(11, 19, 32, .97) !important; padding-top: .5rem !important; padding-bottom: .5rem !important; }
.aw-card .wp-block-image { overflow: hidden; border-radius: 8px 8px 0 0; }
.aw-service .wp-block-image { overflow: hidden; border-radius: var(--wp--custom--radius); }

@media (prefers-reduced-motion: no-preference) {
	.wp-element-button, .wp-block-button__link, .wpcf7 input[type=submit], ul.aw-jump a {
		transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease, box-shadow .18s ease;
	}
	.wp-element-button:hover, .wp-block-button__link:hover, .wpcf7 input[type=submit]:hover { transform: translateY(-2px); box-shadow: 0 8px 22px rgba(47, 143, 216, .35); }
	.wp-element-button:active, .wp-block-button__link:active { transform: translateY(0); box-shadow: none; }

	.aw-card { transition: transform .28s ease, box-shadow .28s ease, border-color .28s ease; }
	.aw-card:hover { transform: translateY(-6px); box-shadow: 0 22px 44px rgba(0, 0, 0, .5); border-color: rgba(47, 143, 216, .55); }
	.aw-card .wp-block-image img, .aw-service .wp-block-image img { transition: transform .6s cubic-bezier(.2, .7, .2, 1); }
	.aw-card:hover .wp-block-image img, .aw-service .wp-block-column:hover .wp-block-image img { transform: scale(1.06); }
	.aw-nav .wp-block-navigation-item__content { transition: color .15s ease; }
	.aw-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-soft); }

	/* Hero text entrance – pure CSS, ends fully visible even without JS */
	@keyframes aw-rise { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
	.aw-hero-text > *, .aw-page-hero .aw-hero-text > * { animation: aw-rise .7s cubic-bezier(.2, .7, .2, 1) both; }
	.aw-hero-text > :nth-child(2) { animation-delay: .08s; }
	.aw-hero-text > :nth-child(3) { animation-delay: .16s; }
	.aw-hero-text > :nth-child(4) { animation-delay: .24s; }

	/* Scroll reveal – only active once motion.js adds .aw-motion to <html> */
	.aw-motion .aw-reveal { opacity: 0; transform: translateY(28px); transition: opacity .65s ease, transform .65s cubic-bezier(.2, .7, .2, 1); transition-delay: var(--aw-delay, 0ms); }
	.aw-motion .aw-reveal.is-in { opacity: 1; transform: none; }
}

/* Video header: show the poster image instead of the video for reduced motion */
.aw-hero .wp-block-cover__video-background { background: #0B1320; }
@media (prefers-reduced-motion: reduce) {
	.aw-hero.aw-has-poster { background: var(--aw-poster) center / cover no-repeat; }
	.aw-hero .wp-block-cover__video-background { display: none; }
	html { scroll-behavior: auto; }
}

/* ---------- Moody layer: vignettes, gradients, thin accent lines ---------- */
/* Hero + page banners: vignette and fade into the page background (sits above the overlay, below the text). */
.aw-hero::after, .aw-page-hero::after { content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(90deg, rgba(11, 19, 32, .6) 0%, rgba(11, 19, 32, .25) 45%, rgba(11, 19, 32, 0) 70%), radial-gradient(130% 100% at 60% 40%, rgba(11, 19, 32, 0) 50%, rgba(11, 19, 32, .5) 100%), linear-gradient(180deg, rgba(11, 19, 32, 0) 65%, var(--wp--preset--color--base) 100%); }
.aw-hero > .wp-block-cover__inner-container, .aw-page-hero > .wp-block-cover__inner-container { z-index: 2; }
.aw-hero h1 { font-size: clamp(2.2rem, 5vw, 3.6rem); text-shadow: 0 2px 24px rgba(0, 0, 0, .35); }
.aw-page-hero h1, .aw-title-band h1 { text-shadow: 0 2px 18px rgba(0, 0, 0, .3); }
.aw-page-hero { border-bottom: 1px solid rgba(47, 143, 216, .25); }
.aw-title-band { border-bottom: 1px solid rgba(47, 143, 216, .3); }

/* Alternate (deep navy) sections: faint top sheen + hairlines */
.wp-block-post-content > .alignfull.has-dark-background-color { background-image: radial-gradient(90% 60% at 50% 0%, rgba(47, 143, 216, .07), rgba(47, 143, 216, 0) 70%); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .05), inset 0 -1px 0 rgba(255, 255, 255, .05); }

/* Section headings get a short accent rule when no eyebrow precedes them */
.wp-block-post-content > .alignfull:not(.aw-cta) > h2.wp-block-heading:first-child::after { content: ""; display: block; width: 48px; height: 2px; margin-top: .8rem; background: var(--wp--preset--color--accent); border-radius: 2px; }
.wp-block-post-content > .alignfull:not(.aw-cta) > h2.wp-block-heading.has-text-align-center:first-child::after { margin-left: auto; margin-right: auto; }

/* Photos: cool, cinematic edge */
.aw-service .wp-block-image img, .wp-block-post-content .wp-block-columns .wp-block-image img { box-shadow: 0 20px 50px rgba(0, 0, 0, .45); }
.aw-card .wp-block-image img { box-shadow: none; }
.aw-cards .aw-card .wp-block-image { position: relative; }
.aw-cards .aw-card .wp-block-image::after { content: ""; position: absolute; left: 0; right: 0; bottom: 0; height: 2px; background: linear-gradient(90deg, var(--wp--preset--color--accent), rgba(47, 143, 216, 0)); }

/* CTA band: brand gradient (Global Styles preset) + soft glow */
.aw-cta { position: relative; overflow: hidden; border-top: 1px solid rgba(140, 196, 240, .25); }
.aw-cta::before { content: ""; position: absolute; right: -10%; top: -60%; width: 60%; height: 220%; background: radial-gradient(closest-side, rgba(140, 196, 240, .18), rgba(140, 196, 240, 0)); pointer-events: none; }
.aw-cta > * { position: relative; }
.aw-cta p { color: rgba(255, 255, 255, .9); }

/* Footer */
.aw-footer { border-top: 1px solid rgba(47, 143, 216, .35); background-image: radial-gradient(70% 80% at 0% 0%, rgba(4, 83, 140, .18), rgba(4, 83, 140, 0) 70%); }
.aw-footer h2 { letter-spacing: .02em; }
.aw-footer h2.has-medium-font-size { text-transform: uppercase; font-size: .85rem !important; letter-spacing: .14em; color: var(--wp--preset--color--accent-soft) !important; }
.aw-footer p { color: rgba(242, 241, 245, .82); }

/* Map: slightly toned down to sit in the dark layout */
.aw-map iframe { filter: saturate(.85) brightness(.92); box-shadow: 0 20px 50px rgba(0, 0, 0, .45); }

::selection { background: rgba(47, 143, 216, .45); color: #fff; }

/* Mobile overlay menu: flat submenu */
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container { border: 0 !important; box-shadow: none !important; background: transparent !important; min-width: 0 !important; padding: 0 !important; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { color: var(--wp--preset--color--body); font-size: 1rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { padding-right: 1.25rem; padding-left: 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close { right: 1.25rem; top: 1.25rem; }
