/* ==========================================================================
   All UK Copiers — Main Stylesheet
   ========================================================================== */

/* --------------------------------------------------------------------------
   CSS Custom Properties
   -------------------------------------------------------------------------- */
:root {
	--auk-navy:      #0a2240;
	--auk-blue:      #0066cc;
	--auk-blue-lt:   #e8f2fc;
	--auk-grey-dark: #2d3748;
	/* A11y fix 1b+1c: contrast ~3.7:1 → 5.0:1 on light backgrounds */
	--auk-grey-mid:  #5c6b7a;
	--auk-grey-lt:   #f5f6f7;
	--auk-white:     #ffffff;
	--auk-accent:    #e85d04;
	--auk-border:    #e2e8f0;
	--auk-radius:    6px;
	--auk-shadow-sm: 0 1px 3px rgba(0,0,0,0.08), 0 1px 2px rgba(0,0,0,0.04);
	--auk-shadow-md: 0 4px 6px rgba(0,0,0,0.07), 0 2px 4px rgba(0,0,0,0.05);
	--auk-shadow-lg: 0 10px 15px rgba(0,0,0,0.08), 0 4px 6px rgba(0,0,0,0.04);
	--auk-transition: 200ms ease;
}

/* --------------------------------------------------------------------------
   Base Reset
   -------------------------------------------------------------------------- */
*, *::before, *::after { box-sizing: border-box; }

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

img { max-width: 100%; height: auto; display: block; }

/* WordPress block layout applies contentSize from theme.json as a max-width
   on every direct child of wp-block-post-content. Our raw HTML blocks handle
   their own internal widths via auk-section__inner, so we remove the constraint. */
.wp-block-post-content,
.wp-block-post-content > *,
.wp-block-html {
	max-width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* --------------------------------------------------------------------------
   Site Header
   -------------------------------------------------------------------------- */
/* The block template wraps our header in an outer div.wp-block-template-part —
   sticky must be on that outer element, not the inner one.
   Using :first-child to target header wrapper only (footer wrapper is last-child). */
.wp-site-blocks > .wp-block-template-part:first-child {
	position: sticky;
	top: 0;
	z-index: 200;
}

.auk-header {
	background: #ffffff;
	box-shadow: 0 1px 0 var(--auk-border), 0 2px 8px rgba(0,0,0,0.06);
}

.auk-header__inner {
	max-width: 1440px;
	margin: 0 auto;
	padding: 0 1.5rem;
	display: grid;
	grid-template-columns: auto 1fr auto;
	align-items: center;
	gap: 2rem;
	min-height: 84px;
}

.auk-header__logo img {
	height: 60px;
	width: auto;
}

.auk-header__logo a {
	display: inline-block;
	text-decoration: none;
}

.auk-header__nav {
	display: flex;
	align-items: center;
	justify-content: center;
}

.auk-header__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	gap: 0.25rem;
	flex-wrap: wrap;
}

.auk-header__nav a {
	color: var(--auk-navy);
	text-decoration: none;
	font-size: 0.875rem;
	font-weight: 500;
	padding: 0.5rem 0.75rem;
	border-radius: var(--auk-radius);
	transition: color var(--auk-transition), background var(--auk-transition);
	white-space: nowrap;
}

.auk-header__nav a:hover,
.auk-header__nav .current-menu-item > a,
.auk-header__nav .current-page-ancestor > a {
	color: var(--auk-blue);
	background: var(--auk-blue-lt);
}

/* ── Dropdown navigation ───────────────────────────────────────────────── */

.auk-header__nav li {
	position: relative;
}

/* Down-arrow on items that have a submenu */
.auk-header__nav .has-submenu > a::after {
	content: '';
	display: inline-block;
	width: 0;
	height: 0;
	border-left: 4px solid transparent;
	border-right: 4px solid transparent;
	border-top: 5px solid currentColor;
	margin-left: 5px;
	vertical-align: middle;
	opacity: 0.55;
	transition: opacity 0.15s;
}

.auk-header__nav .has-submenu:hover > a::after {
	opacity: 1;
}

/* Right-arrow on nested submenu trigger */
.auk-header__nav .sub-menu .has-submenu > a::after {
	border-top: 4px solid transparent;
	border-bottom: 4px solid transparent;
	border-left: 5px solid currentColor;
	border-right: none;
	margin-left: auto;
	padding-left: 1rem;
}

/* Dropdown panel */
.auk-header__nav .sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: var(--auk-radius);
	box-shadow: 0 8px 24px rgba(0,0,0,0.12);
	min-width: 220px;
	padding: 0.4rem 0;
	z-index: 9000;
	list-style: none;
	margin: 0;
}

/* Nested submenu — appears to the right */
.auk-header__nav .sub-menu .sub-menu {
	top: -0.4rem;
	left: 100%;
}

/* Sectors submenu — 2 columns for 20 items */
.auk-header__nav .sub-menu--sectors {
	display: none;
	columns: 2;
	column-gap: 0;
	min-width: 480px;
}

/* Locations submenu — single column; cities fly out to the right */
.auk-header__nav .sub-menu--locations {
	display: none;
	min-width: 260px;
}

/* Show on hover */
.auk-header__nav li:hover > .sub-menu {
	display: block;
}

.auk-header__nav li:hover > .sub-menu--sectors,
.auk-header__nav li:hover > .sub-menu--locations {
	display: block;
}

/* City flyout sub-menus need more width for longer place names */
.auk-header__nav .sub-menu--locations .sub-menu {
	min-width: 220px;
}

/* Sub-menu link styles */
.auk-header__nav .sub-menu a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0.45rem 1rem;
	border-radius: 0;
	color: var(--auk-navy);
	font-size: 0.8125rem;
	white-space: nowrap;
	background: transparent;
}

.auk-header__nav .sub-menu a:hover {
	background: var(--auk-blue-lt);
	color: var(--auk-blue);
}

.auk-header__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
	flex-shrink: 0;
}

.auk-header__phone {
	color: var(--auk-navy);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.auk-header__phone:hover { color: var(--auk-blue); }

.auk-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	padding: 0.625rem 1.25rem;
	border-radius: var(--auk-radius);
	font-size: 0.875rem;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--auk-transition), transform var(--auk-transition);
	cursor: pointer;
	border: none;
}

.auk-btn--primary {
	background: var(--auk-blue);
	color: #ffffff;
}

.auk-btn--primary:hover {
	background: #0052a3;
	color: #ffffff;
	transform: translateY(-1px);
}

.auk-btn--outline {
	background: transparent;
	color: #ffffff;
	border: 2px solid rgba(255,255,255,0.4);
}

.auk-btn--outline:hover {
	border-color: #ffffff;
	background: rgba(255,255,255,0.08);
	color: #ffffff;
}

/* A11y fix 1a: contrast ~3.5:1 -> 4.7:1 (white text on darkened orange) */
.auk-btn--accent {
	background: #c44e03;
	color: #ffffff;
}

.auk-btn--accent:hover {
	background: #a33b02;
	color: #ffffff;
	transform: translateY(-1px);
}

/* Two-line header CTA buttons — same height as single-line, narrower width */
.auk-btn--2line {
	line-height: 1.15;
	padding-block: 0.3rem;
	padding-inline: 0.85rem;
	font-size: 0.8rem;
	text-align: center;
	gap: 0.35rem;
}

.auk-btn--lg {
	padding: 0.875rem 2rem;
	font-size: 1rem;
}

.auk-btn--secondary {
	background: rgba(255,255,255,0.12);
	color: #ffffff;
	border: 2px solid rgba(255,255,255,0.5);
}

.auk-btn--secondary:hover {
	background: rgba(255,255,255,0.22);
	border-color: #ffffff;
	color: #ffffff;
	transform: translateY(-1px);
}

/* --------------------------------------------------------------------------
   Homepage white separator section
   -------------------------------------------------------------------------- */
.auk-section--separator {
	padding: 1.5rem 0;
	background: var(--auk-grey-lt);
}

/* --------------------------------------------------------------------------
   Stock status badges (shop loop + single product)
   -------------------------------------------------------------------------- */

/* Product title split: "Toshiba" on line 1, model on line 2 */
.auk-title-brand {
	display: block;
	font-size: 0.8em;
	font-weight: 400;
	opacity: 0.65;
	line-height: 1.3;
}
.auk-title-model {
	display: block;
	line-height: 1.3;
}

/* Equal-height product cards: title area takes up remaining space so buttons align */
.wc-block-product {
	display: flex;
	flex-direction: column;
}
.wc-block-product .wp-block-post-title {
	flex: 1;
}

/* Centring wrapper in the product loop */
.auk-stock-badge-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0.35rem;
	padding: 0.25rem 1rem 0;
}

.auk-stock-badge {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.2rem 0.6rem;
	border-radius: 3px;
}

.auk-stock--in   { background: #dcfce7; color: #15803d; }
.auk-stock--out  { background: #fee2e2; color: #b91c1c; }
.auk-stock--soon { background: #fef9c3; color: #92400e; }

/* Condition badge (New / Refurbished) — same size/style as stock badge */
.auk-cond-badge {
	display: inline-block;
	font-size: 0.7rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	padding: 0.2rem 0.6rem;
	border-radius: 3px;
}

.auk-cond--new   { background: #dbeafe; color: #1d4ed8; }
.auk-cond--refurb { background: #ede9fe; color: #5b21b6; }

/* Stock badge on single product page */
.auk-single-stock {
	margin: 0 0 0.75rem;
}

.auk-single-stock .auk-stock-badge {
	font-size: 0.8125rem;
	padding: 0.3rem 0.75rem;
}

/* --------------------------------------------------------------------------
   Print Management page — service card light variant
   -------------------------------------------------------------------------- */
.auk-service-card--light {
	background: #ffffff;
	color: var(--auk-grey-dark);
	border: 1px solid var(--auk-border);
}

.auk-service-card--light h3 { color: var(--auk-navy); }
.auk-service-card--light p  { color: var(--auk-grey-dark); }

.auk-feature-list {
	margin: 0.75rem 0 0;
	padding-left: 1.25rem;
	font-size: 0.875rem;
	color: var(--auk-grey-dark);
	line-height: 1.7;
}

.auk-feature-list li::marker { color: var(--auk-blue); }

.auk-page-hero { padding: 4rem 1.5rem; }

/* Mobile nav toggle */
.auk-nav-toggle {
	display: none;
	background: none;
	border: 2px solid var(--auk-border);
	border-radius: var(--auk-radius);
	color: var(--auk-navy);
	padding: 0.4rem 0.6rem;
	cursor: pointer;
	font-size: 1.2rem;
	line-height: 1;
}

/* --------------------------------------------------------------------------
   Hero Section
   -------------------------------------------------------------------------- */
.auk-hero {
	/* Full image visible within viewport — no clipping */
	background: #0a2240 url('/wp-content/uploads/auk/homepage-bg.png') center / contain no-repeat;
	padding: 0;
	height: calc(100dvh - 5rem);
	text-align: center;
	position: relative;
	overflow: hidden;
	display: flex;
	align-items: center;
}

.auk-hero__top {
	position: absolute;
	top: 1.5rem;
	left: 0;
	right: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 2;
	padding-inline: 1.5rem;
}
.auk-hero::before {
	content: '';
	position: absolute;
	inset: 0;
	background: rgba(10, 34, 64, 0.25);
	pointer-events: none;
}

.auk-hero__inner {
	max-width: 800px;
	margin: 0 auto;
	padding-inline: 1.5rem;
	position: relative;
	width: 100%;
}

.auk-hero__eyebrow {
	position: absolute;
	top: 2rem;
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	display: inline-block;
	background: #040f1e;
	color: rgba(255,255,255,0.9);
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	padding: 0.35rem 0.9rem;
	border-radius: 100px;
	border: 1px solid rgba(255,255,255,0.18);
	z-index: 2;
}

.auk-hero h1 {
	color: #ffffff;
	font-size: clamp(2.25rem, 5.5vw, 3.75rem);
	font-weight: 700;
	line-height: 1.12;
	letter-spacing: -0.02em;
	margin: 0 0 1.25rem;
}

.auk-hero__sub {
	color: rgba(255,255,255,0.8);
	font-size: clamp(1.125rem, 2.75vw, 1.375rem);
	line-height: 1.6;
	margin: 0 auto 2rem;
	max-width: 600px;
}

.auk-hero__ctas {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

.auk-hero__bottom {
	position: absolute;
	bottom: 2rem;
	left: 0;
	right: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.25rem;
	z-index: 2;
	padding-inline: 1.5rem;
}

.auk-hero__trust {
	display: flex;
	gap: 0;
	justify-content: center;
	flex-wrap: nowrap;
	align-items: center;
	white-space: nowrap;
}

.auk-trust-pill + .auk-trust-pill::before {
	content: '|';
	color: rgba(255,255,255,0.25);
	font-weight: 300;
	margin: 0 1rem;
}

.auk-trust-pill {
	display: flex;
	align-items: center;
	gap: 0.4rem;
	color: rgba(255,255,255,0.75);
	font-size: 1rem;
	font-weight: 500;
}

.auk-trust-pill svg,
.auk-trust-pill .auk-icon {
	width: 14px;
	height: 14px;
	color: #4ade80;
	flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   Category Strip (New / Refurbished)
   -------------------------------------------------------------------------- */
.auk-category-strip {
	background: #ffffff;
	border-bottom: 1px solid var(--auk-border);
}

.auk-category-strip__inner {
	max-width: 1100px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.auk-cat-card {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	padding: 1.75rem 2rem;
	text-decoration: none;
	transition: background var(--auk-transition);
	border-right: 1px solid var(--auk-border);
	position: relative;
}

.auk-cat-card:last-child { border-right: none; }

.auk-cat-card:hover { background: var(--auk-grey-lt); }

.auk-cat-card__img {
	width: 90px;
	height: 90px;
	object-fit: contain;
	flex-shrink: 0;
	filter: drop-shadow(0 2px 6px rgba(0,0,0,0.1));
}

.auk-cat-card__body {}

.auk-cat-card__tag {
	display: inline-block;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--auk-blue);
	margin-bottom: 0.3rem;
}

.auk-cat-card:nth-child(2) .auk-cat-card__tag { color: var(--auk-accent); }

.auk-cat-card__title {
	font-size: 1.125rem;
	font-weight: 700;
	color: var(--auk-navy);
	line-height: 1.2;
	margin: 0 0 0.25rem;
}

.auk-cat-card__from {
	font-size: 0.875rem;
	color: var(--auk-grey-mid);
	margin: 0 0 0.5rem;
}

.auk-cat-card__from strong {
	color: var(--auk-grey-dark);
	font-weight: 600;
}

.auk-cat-card__cta {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--auk-blue);
	display: flex;
	align-items: center;
	gap: 0.25rem;
}

.auk-cat-card:nth-child(2) .auk-cat-card__cta { color: var(--auk-accent); }

/* --------------------------------------------------------------------------
   Section Layout
   -------------------------------------------------------------------------- */
.auk-section {
	padding: 4rem 0;
}

.auk-section--grey { background: var(--auk-grey-lt); }
.auk-section--navy { background: var(--auk-navy); color: #ffffff; }
.auk-section--navy h2,
.auk-section--navy h3 { color: #ffffff; }

.auk-section__inner {
	max-width: 1100px;
	margin: 0 auto;
	padding-inline: 1.5rem;
}

.auk-section__header {
	text-align: center;
	margin-bottom: 3rem;
}

.auk-section__header h2 {
	margin: 0 0 0.75rem;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	line-height: 1.2;
}

.auk-section__header p {
	color: var(--auk-grey-mid);
	font-size: 1.0625rem;
	max-width: 720px;
	margin: 0 auto;
}

.auk-section--navy .auk-section__header p { color: rgba(255,255,255,0.7); }

/* --------------------------------------------------------------------------
   Product Grid
   -------------------------------------------------------------------------- */
.auk-product-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1.5rem;
}

.auk-product-card {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: box-shadow var(--auk-transition), transform var(--auk-transition);
	text-decoration: none;
	color: inherit;
}

.auk-product-card:hover {
	box-shadow: var(--auk-shadow-lg);
	transform: translateY(-2px);
}

.auk-product-card__img-wrap {
	background: var(--auk-grey-lt);
	padding: 1.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	aspect-ratio: 4/3;
}

.auk-product-card__img {
	max-height: 160px;
	width: auto;
	object-fit: contain;
}

.auk-product-card__body {
	padding: 1.25rem;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.auk-product-card__badge {
	display: inline-block;
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.2rem 0.6rem;
	border-radius: 100px;
	margin-bottom: 0.5rem;
}

.auk-badge--new {
	background: #e8f2fc;
	color: var(--auk-blue);
}

.auk-badge--refurbished {
	background: #fef3e8;
	color: var(--auk-accent);
}

.auk-product-card__name {
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--auk-navy);
	margin: 0 0 0.5rem;
	line-height: 1.3;
}

.auk-product-card__specs {
	display: flex;
	gap: 0.75rem;
	flex-wrap: wrap;
	margin-bottom: 0.75rem;
}

.auk-spec-tag {
	font-size: 0.75rem;
	color: var(--auk-grey-mid);
	background: var(--auk-grey-lt);
	padding: 0.15rem 0.5rem;
	border-radius: 4px;
	white-space: nowrap;
}

.auk-product-card__price {
	margin-top: auto;
	padding-top: 0.75rem;
	border-top: 1px solid var(--auk-border);
}

.auk-price-lease {
	font-size: 1rem;
	font-weight: 700;
	color: var(--auk-navy);
}

.auk-price-lease span {
	font-size: 0.75rem;
	font-weight: 400;
	color: var(--auk-grey-mid);
}

.auk-price-buy {
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
	margin-top: 0.15rem;
}

.auk-product-card__footer {
	padding: 0 1.25rem 1.25rem;
}

.auk-product-card__footer .auk-btn {
	width: 100%;
}

/* --------------------------------------------------------------------------
   Services Grid
   -------------------------------------------------------------------------- */
.auk-services-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 1.5rem;
}

/* Contact page layout. These classes replace fixed inline two-column grids so
   the form, map and contact details remain within a narrow phone viewport. */
.auk-contact-layout {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 2.5rem;
	align-items: start;
	max-width: 1100px;
	margin: 0 auto;
}

.auk-contact-layout > * {
	min-width: 0;
}

.auk-contact-details {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.5rem;
	margin-top: 1.5rem;
}

@media (max-width: 900px) {
	.auk-services-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 700px) {
	.auk-contact-layout,
	.auk-contact-details,
	.auk-services-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.auk-service-card {
	background: rgba(255,255,255,0.05);
	border: 1px solid rgba(255,255,255,0.1);
	border-radius: 8px;
	padding: 1.75rem;
	text-decoration: none;
	color: #ffffff;
	transition: background var(--auk-transition), border-color var(--auk-transition);
	display: flex;
	flex-direction: column;
}

.auk-service-card:hover {
	background: rgba(255,255,255,0.1);
	border-color: rgba(255,255,255,0.2);
	color: #ffffff;
}

.auk-service-card__icon {
	width: 36px;
	height: 36px;
	min-width: 36px;
	background: #ffffff;
	border-radius: 6px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.auk-service-card__icon::after {
	content: '✓';
	color: #16a34a;
	font-size: 1.5rem;
	font-weight: 900;
	line-height: 1;
}

.auk-service-card__icon svg { width: 20px; height: 20px; }

/* Icon and title on the same row */
.auk-service-card__header {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-bottom: 0.75rem;
}

.auk-service-card h3 {
	font-size: 1rem;
	font-weight: 600;
	color: #ffffff;
	margin: 0;
}

.auk-service-card p {
	font-size: 0.875rem;
	color: rgba(255,255,255,0.65);
	margin: 0;
	line-height: 1.6;
}

/* --------------------------------------------------------------------------
   Testimonials
   -------------------------------------------------------------------------- */
.auk-testimonials-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}

.auk-testimonial {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	padding: 1.5rem;
	box-shadow: var(--auk-shadow-sm);
}

.auk-testimonial__stars {
	color: #f59e0b;
	font-size: 0.875rem;
	letter-spacing: 0.05em;
	margin-bottom: 0.75rem;
}

.auk-testimonial__text {
	font-size: 0.9375rem;
	color: var(--auk-grey-dark);
	line-height: 1.65;
	margin: 0 0 1rem;
	font-style: italic;
}

.auk-testimonial__author {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--auk-navy);
}

.auk-testimonial__company {
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
}

/* Combined name + company attribution (used by shortcode) */
.auk-testimonial__attribution {
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--auk-navy);
	margin: 0;
}

/* Scroll indicator — subtle cascading chevrons, shown on all pages with scrollable content.
   Starts hidden (opacity 0) so it never flashes before JS runs (10Web "Delay All JS" safe).
   JS adds .is-visible when there is content below the fold, removes it near the bottom. */
.auk-scroll-indicator {
	position: fixed;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 100;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.6s ease;
}
.auk-scroll-indicator.is-visible {
	opacity: 0.28;
}
.auk-scroll-indicator svg {
	display: block;
	animation: auk-scroll-bounce 1.6s ease-in-out infinite;
	color: var(--auk-navy);
}
.auk-scroll-indicator svg:nth-child(2) { animation-delay: 0.2s; }
.auk-scroll-indicator svg:nth-child(3) { animation-delay: 0.4s; }
@keyframes auk-scroll-bounce {
	0%, 100% { transform: translateY(0);   opacity: 0.4; }
	50%       { transform: translateY(5px); opacity: 1;   }
}

/* Preview mode — equal-height tiles with read-more pushed to bottom */
.auk-testimonials-grid--preview {
	align-items: stretch;
}
.auk-testimonial--preview {
	display: flex;
	flex-direction: column;
}
.auk-testimonial--preview .auk-testimonial__text {
	flex: 1;
}
.auk-testimonial__read-more {
	display: inline-block;
	margin-top: 1rem;
	font-size: 0.8125rem;
	font-weight: 600;
	color: var(--auk-blue);
	text-decoration: none;
	transition: color 0.15s;
}
.auk-testimonial__read-more:hover { color: var(--auk-navy); }
.auk-testimonials-grid__footer {
	text-align: center;
	margin-top: 2rem;
}

/* --------------------------------------------------------------------------
   Contact Strip
   -------------------------------------------------------------------------- */
.auk-contact-strip {
	/* Approved lighter AUK blue for the site-wide bottom CTA band. */
	background: var(--auk-blue);
	padding: 3rem 0;
	text-align: center;
}

.auk-contact-strip h2 {
	color: #ffffff;
	font-size: clamp(1.5rem, 3vw, 2rem);
	margin: 0 0 0.5rem;
}

.auk-contact-strip p {
	color: rgba(255,255,255,0.85);
	margin: 0 0 1.75rem;
	font-size: 1.0625rem;
}

.auk-contact-strip__actions {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

.auk-contact-strip .auk-btn--outline {
	border-color: rgba(255,255,255,0.5);
}

/* --------------------------------------------------------------------------
   Site Footer
   -------------------------------------------------------------------------- */
.auk-footer {
	background: #07192e;
	color: rgba(255,255,255,0.7);
	padding: 3.5rem 0 1.5rem;
}

.auk-footer__inner {
	max-width: 1100px;
	margin: 0 auto;
	padding-inline: 1.5rem;
}

.auk-footer__grid {
	display: grid;
	grid-template-columns: 2fr 1fr 1fr 1fr 1fr;
	gap: 2.5rem;
	margin-bottom: 3rem;
}


.auk-footer__brand p {
	font-size: 0.875rem;
	line-height: 1.7;
	margin: 0 0 1rem;
}

.auk-footer__trust-marks {
	margin-bottom: 1.5rem;
}

.auk-footer__trust-logos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0.5rem;
}

.auk-footer__trust-logos a {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #ffffff;
	border-radius: 8px;
	padding: 0.625rem 0.75rem;
	opacity: 0.9;
	transition: opacity 0.2s, transform 0.2s;
}

.auk-footer__trust-logos a:hover {
	opacity: 1;
	transform: translateY(-1px);
}

.auk-footer__trust-logos img {
	display: block;
	max-height: 44px;
	width: auto;
	max-width: 100%;
	margin: 0 auto;
}

.auk-footer__col h2 {
	color: #ffffff;
	font-size: 0.8125rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 1rem;
}

.auk-footer__col ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.auk-footer__col li { margin-bottom: 0.5rem; }

.auk-footer__col a {
	color: rgba(255,255,255,0.65);
	text-decoration: none;
	font-size: 0.875rem;
	transition: color var(--auk-transition);
}

.auk-footer__col a:hover { color: #ffffff; }

.auk-footer__contact-item {
	display: flex;
	gap: 0.5rem;
	align-items: flex-start;
	font-size: 0.875rem;
	margin-bottom: 0.75rem;
	line-height: 1.5;
}

.auk-footer__contact-item a {
	color: rgba(255,255,255,0.65);
	text-decoration: none;
}

.auk-footer__contact-item a:hover { color: #ffffff; }

.auk-footer__bottom {
	border-top: 1px solid rgba(255,255,255,0.08);
	padding-top: 1.5rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.75rem;
}

.auk-footer__copyright {
	font-size: 0.8125rem;
}

.auk-footer__legal {
	display: flex;
	gap: 1.25rem;
}

.auk-footer__legal a {
	color: rgba(255,255,255,0.5);
	text-decoration: none;
	font-size: 0.8125rem;
	transition: color var(--auk-transition);
}

.auk-footer__legal a:hover { color: #ffffff; }

/* --------------------------------------------------------------------------
   WooCommerce Overrides
   -------------------------------------------------------------------------- */

/* Remove WooCommerce default padding so hero can go edge-to-edge */
.auk-woo-page #primary,
.auk-woo-page #main {
	padding: 0 !important;
}

/* Widen WooCommerce content wrapper */
.auk-woo-page .woocommerce {
	max-width: 100% !important;
	padding: 0 !important;
}

/* Hide WooCommerce breadcrumb (Home / Shop) and shop page title */
.auk-woo-page nav.woocommerce-breadcrumb,
.auk-woo-page .woocommerce-breadcrumb { display: none !important; }

.auk-woo-page .page-title,
.auk-woo-page .woocommerce-products-header,
.auk-woo-page .woocommerce-products-header__title,
.auk-woo-page h1.wp-block-post-title,
.auk-woo-page h1.entry-title { display: none !important; }

/* Give the product grid a sensible max-width and padding */
.auk-woo-page .woocommerce-notices-wrapper,
.auk-woo-page .woocommerce-result-count,
.auk-woo-page .woocommerce-ordering,
.auk-woo-page ul.products,
.auk-woo-page .woocommerce-pagination {
	max-width: 1200px;
	margin-left: auto !important;
	margin-right: auto !important;
	padding-left: 1.5rem;
	padding-right: 1.5rem;
}

/* Hide cart/checkout elements */
.woocommerce-cart-form,
.cart-collaterals,
.woocommerce-checkout,
.wc-proceed-to-checkout,
.widget_shopping_cart,
.cart-contents,
.checkout-button { display: none !important; }

/* Product archive — 4 columns, compact images */
.woocommerce ul.products,
.woocommerce ul.products.columns-3,
.woocommerce ul.products.columns-4,
.auk-woo-page ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 1.25rem !important;
	margin: 0 !important;
	float: none !important;
	width: 100% !important;
}

.woocommerce ul.products li.product {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	overflow: hidden;
	margin: 0 !important;
	width: auto !important;
	float: none !important;
	transition: box-shadow var(--auk-transition), transform var(--auk-transition);
}

.woocommerce ul.products li.product:hover {
	box-shadow: var(--auk-shadow-lg);
	transform: translateY(-2px);
}

.woocommerce ul.products li.product a img {
	background: var(--auk-grey-lt);
	padding: 0.5rem;
	aspect-ratio: 16/9;
	object-fit: contain;
	width: 100%;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.875rem !important;
	font-weight: 600;
	color: var(--auk-navy);
	padding: 0 1rem 0.4rem !important;
	line-height: 1.35;
}

.woocommerce ul.products li.product .price {
	color: var(--auk-navy);
	font-weight: 700;
	padding: 0 1rem 0.75rem !important;
	font-size: 0.875rem;
}

/* Replace Add to Cart — classic loop + WooCommerce block grid */
.woocommerce ul.products li.product .button,
.wc-block-product .button,
.woocommerce .single_add_to_cart_button {
	background: var(--auk-blue) !important;
	color: #ffffff !important;
	border-radius: var(--auk-radius) !important;
	font-weight: 600 !important;
	font-size: 0.875rem !important;
	padding: 0.625rem 1.25rem !important;
	transition: background var(--auk-transition) !important;
	border: none !important;
	margin: 0 1rem 1rem !important;
	display: block !important;
	text-align: center !important;
	width: auto !important;
}

.woocommerce ul.products li.product .button:hover,
.wc-block-product .button:hover,
.woocommerce .single_add_to_cart_button:hover {
	background: var(--auk-navy) !important;
	color: #ffffff !important;
}

/* ── Shop page: full-width hero breakout ───────────────────────────────── */
/* The shop archive uses a constrained layout. This breaks the hero out to
   100vw without touching the product grid below it.                        */
.auk-page-hero--shop {
	position: relative;
	left: 50%;
	transform: translateX(-50%);
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Prevent horizontal scrollbar caused by the breakout */
body.auk-woo-page {
	overflow-x: hidden;
}

/* ── Shop page: product collection spacing ─────────────────────────────── */

/* Gap between hero and the product grid */
.auk-woo-page .wp-block-woocommerce-product-collection {
	margin-top: 2rem !important;
	padding-inline: 1.5rem;
}

/* Space between the last product row and the footer */
.auk-woo-page .wp-block-woocommerce-product-collection {
	margin-bottom: 4rem !important;
}

/* ── WooCommerce block product grid (blockified archive template) ──────── */

/* Force 4-column grid regardless of the columns-N class */
.wc-block-product-template__responsive {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 1.25rem !important;
}

/* Compact product images in block grid */
.wc-block-components-product-image img,
.wc-block-grid__product-image img {
	aspect-ratio: 4 / 3 !important;
	object-fit: contain !important;
	background: var(--auk-grey-lt) !important;
	padding: 0.5rem !important;
	width: 100% !important;
	height: auto !important;
}

/* Remove the auto aspect-ratio wrapper padding that WooCommerce adds */
.wc-block-components-product-image--aspect-ratio-auto {
	aspect-ratio: unset !important;
}

/* Product card styling for block grid */
.wc-block-product {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow var(--auk-transition), transform var(--auk-transition);
}

.wc-block-product:hover {
	box-shadow: var(--auk-shadow-lg);
	transform: translateY(-2px);
}

/* Responsive: 2 columns below 700px */
@media (max-width: 700px) {
	.wc-block-product-template__responsive {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

/* Single product */
.woocommerce div.product .woocommerce-product-gallery__image {
	background: var(--auk-grey-lt);
	border-radius: 8px;
	padding: 2rem;
}

.woocommerce div.product p.price,
.woocommerce div.product span.price {
	color: var(--auk-navy) !important;
	font-size: 1.5rem !important;
	font-weight: 700 !important;
}

.woocommerce div.product .product_title {
	color: var(--auk-navy) !important;
}

/* Hide the auto-generated excerpt block on single product pages — description is shown in the tabs below */
.single-product .wp-block-post-excerpt {
	display: none;
}

/* Product meta specs table */
.auk-product-specs {
	background: var(--auk-grey-lt);
	border-radius: 8px;
	padding: 1.5rem;
	margin: 1.5rem 0;
}

.auk-product-specs h3 {
	font-size: 0.875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--auk-grey-mid);
	margin: 0 0 1rem;
}

.auk-product-specs table {
	width: 100%;
	border-collapse: collapse;
}

.auk-product-specs tr { border-bottom: 1px solid var(--auk-border); }
.auk-product-specs tr:last-child { border-bottom: none; }

.auk-product-specs td {
	padding: 0.6rem 0;
	font-size: 0.9rem;
}

.auk-product-specs td:first-child {
	color: var(--auk-grey-mid);
	font-weight: 500;
	width: 45%;
}

.auk-product-specs td:last-child {
	color: var(--auk-grey-dark);
	font-weight: 600;
}

/* Enquire + brochure buttons row */
.auk-product-btns-row {
	display: flex;
	gap: 0.625rem;
	margin-bottom: 0.75rem;
}

.auk-enquire-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	background: var(--auk-blue);
	color: #ffffff;
	text-align: center;
	padding: 0.625rem 1rem;
	border-radius: var(--auk-radius);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--auk-transition);
}

.auk-enquire-btn:hover {
	background: var(--auk-navy);
	color: #ffffff;
}

.auk-lease-cta {
	background: var(--auk-grey-lt);
	border-radius: 8px;
	padding: 1.25rem;
	margin: 1rem 0;
}

.auk-lease-cta__label {
	font-size: 0.75rem;
	color: var(--auk-grey-mid);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-weight: 600;
	margin-bottom: 0.25rem;
}

.auk-lease-cta__price {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--auk-navy);
	line-height: 1;
}

.auk-lease-cta__price sub {
	font-size: 0.875rem;
	font-weight: 400;
	color: var(--auk-grey-mid);
	vertical-align: baseline;
}

/* --------------------------------------------------------------------------
   Page Templates
   -------------------------------------------------------------------------- */

/* Service pages */
.auk-page-hero {
	background: linear-gradient(135deg, #0a2240 0%, #0d3360 100%);
	padding: 3.5rem 0;
	color: #ffffff;
}

.auk-page-hero__inner {
	max-width: 1100px;
	margin: 0 auto;
	padding-inline: 1.5rem;
}


.auk-page-hero h1 {
	color: #ffffff;
	font-size: clamp(1.75rem, 4vw, 2.75rem);
	margin: 0 0 0.75rem;
}

.auk-page-hero__intro {
	color: rgba(255,255,255,0.8);
	font-size: 1.0625rem;
	line-height: 1.65;
	margin: 0;
}

/* ── Case study archive: sector filter (lives inside .auk-page-hero) ── */
.auk-cs-filter {
	display: flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.25rem;
	flex-wrap: wrap;
}

.auk-cs-filter__label {
	color: rgba(255,255,255,0.75);
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
}

.auk-cs-filter__select-wrap {
	position: relative;
	display: inline-flex;
	align-items: center;
}

.auk-cs-filter__select {
	appearance: none;
	-webkit-appearance: none;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.35);
	border-radius: 6px;
	color: #ffffff;
	font-size: 0.9rem;
	font-family: inherit;
	padding: 0.45rem 2.5rem 0.45rem 0.85rem;
	cursor: pointer;
	min-width: 240px;
	transition: border-color 0.2s, background 0.2s;
}

.auk-cs-filter__select:hover,
.auk-cs-filter__select:focus {
	border-color: rgba(255,255,255,0.65);
	background: rgba(255,255,255,0.18);
	outline: none;
}

.auk-cs-filter__select option {
	background: #0a2240;
	color: #ffffff;
}

.auk-cs-filter__chevron {
	position: absolute;
	right: 0.65rem;
	color: rgba(255,255,255,0.7);
	pointer-events: none;
}

/* ── Case study archive: card grid ── */
.auk-cs-archive { padding-top: 2.5rem; padding-bottom: 3rem; }

.auk-cs-archive .auk-cs-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
}

@media (max-width: 1024px) {
	.auk-cs-archive .auk-cs-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 700px) {
	.auk-cs-archive .auk-cs-grid { grid-template-columns: repeat(2, 1fr); }
	.auk-cs-filter__select { min-width: 0; width: 100%; }
}

.auk-cs-card {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	overflow: hidden;
	transition: box-shadow 0.2s, transform 0.2s;
}

.auk-cs-card:hover {
	box-shadow: 0 6px 20px rgba(0,0,0,0.10);
	transform: translateY(-2px);
}

.auk-cs-card__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	text-decoration: none;
	color: inherit;
}

.auk-cs-card__logo {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem 1rem 1rem;
	min-height: 90px;
	border-bottom: 1px solid var(--auk-border);
	background: #fafafa;
}

.auk-cs-card__logo img {
	max-width: 160px;
	max-height: 70px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.auk-cs-card__logo-text {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--auk-navy);
	text-align: center;
}

.auk-cs-card__body {
	padding: 0.85rem 1rem 1rem;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
	flex: 1;
}

.auk-cs-card__company {
	font-size: 0.9rem;
	font-weight: 700;
	color: var(--auk-navy);
	margin: 0;
	line-height: 1.3;
}

.auk-cs-card__sector-tag {
	font-size: 0.7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--auk-teal, #0d9488);
	line-height: 1.3;
}

.auk-cs-no-results {
	text-align: center;
	color: #666;
	font-size: 1rem;
	padding: 2rem 0;
}

.auk-cs-no-results[hidden],
.auk-cs-card[hidden] { display: none; }

/* ── Locations map page ─────────────────────────────────────────────────── */
.auk-locations-map-section { padding-block: 1.25rem 4rem; }

.auk-locations-map-wrap {
	display: grid;
	grid-template-columns: 1fr 260px;
	gap: 3rem;
	align-items: start;
}

.auk-uk-map {
	width: 100%;
	height: auto;
	display: block;
	max-width: 640px;
}

/* Region list sidebar */
.auk-locations-region-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.25rem;
}

.auk-locations-region-list a {
	display: block;
	padding: 0.55rem 0.9rem;
	border-radius: 6px;
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--auk-navy);
	text-decoration: none;
	border: 1px solid var(--auk-border);
	transition: background 0.15s, border-color 0.15s;
}

.auk-locations-region-list a:hover {
	background: var(--auk-blue-lt);
	border-color: var(--auk-blue);
	color: var(--auk-blue);
}

@media (max-width: 820px) {
	.auk-locations-map-wrap {
		grid-template-columns: 1fr;
	}
	.auk-uk-map { max-width: 420px; margin-inline: auto; }
}

/* ── Breadcrumb bar ─────────────────────────────────────────────────────── */
/*
 * Rendered by auk_get_breadcrumb_html() in functions.php, injected after
 * </header> via render_block filter.  Hidden on the homepage (no crumbs
 * generated) and on sector pages via the .is-sector-page body class.
 */
.auk-breadcrumb-bar {
	background: #f5f6f8;
	border-bottom: 1px solid #e3e6ea;
}

.auk-breadcrumb-list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	list-style: none;
	margin: 0 auto;
	padding: 0.55rem 1.5rem;
	max-width: 1100px;
	/* Wrapped rows stay apart (WCAG 2.2 SC 2.5.8); separators space the items. */
	gap: 0.25rem 0;
}

.auk-breadcrumb-item {
	display: flex;
	align-items: center;
	font-size: 0.8125rem;
	line-height: 1.4;
	white-space: nowrap;
}

/* Chevron separator between items */
.auk-breadcrumb-item + .auk-breadcrumb-item::before {
	content: '›';
	margin: 0 0.45rem;
	color: #9ca3af;
	font-size: 0.9rem;
	line-height: 1;
}

.auk-breadcrumb-link {
	color: var(--auk-blue, #1e3a5f);
	text-decoration: none;
	/* WCAG 2.2 SC 2.5.8 target size: each link box is at least 24 x 24 CSS px. */
	/* 24px is a floor only; the inherited unitless line height grows with text zoom. */
	display: inline-flex;
	align-items: center;
	min-width: 24px;
	min-height: 24px;
	line-height: inherit;
}

.auk-breadcrumb-link:hover {
	text-decoration: underline;
	color: var(--auk-blue, #1e3a5f);
}

.auk-breadcrumb-current {
	color: #6b7280;
	font-weight: 500;
	/* Truncate very long page titles (e.g. long city names) */
	max-width: 28ch;
	overflow: hidden;
	text-overflow: ellipsis;
}


@media (max-width: 600px) {
	.auk-breadcrumb-list {
		padding-inline: 1rem;
	}
	.auk-breadcrumb-current {
		max-width: 20ch;
	}
}

/* ── Locations landing page (hero with Union Jack map) ─────────────────── */
.auk-page-hero--locations-landing {
	padding-block: 0;
}

.auk-locations-landing-hero {
	display: flex;
	align-items: center;
	gap: 3rem;
	min-height: calc(100vh - 80px); /* stay above the fold */
	padding-block: 3rem;
}

.auk-page-hero__text {
	flex: 1;
	min-width: 0;
}

.auk-locations-landing-map {
	flex-shrink: 0;
	width: 300px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.auk-uk-union-jack-map {
	width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 4px 24px rgba(0,0,0,0.45));
}

.auk-locations-landing-nav {
	display: flex;
	flex-direction: column;
	gap: 0.75rem;
	margin-top: 2rem;
}

.auk-locations-landing-btn {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 0.9rem 1.4rem;
	background: rgba(255,255,255,0.12);
	border: 1px solid rgba(255,255,255,0.3);
	border-radius: 8px;
	color: #ffffff;
	font-size: 1.0625rem;
	font-weight: 600;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s;
	max-width: 320px;
}

.auk-locations-landing-btn:hover {
	background: rgba(255,255,255,0.22);
	border-color: rgba(255,255,255,0.55);
	color: #ffffff;
}

.auk-locations-landing-btn__sub {
	font-size: 0.8125rem;
	font-weight: 400;
	opacity: 0.75;
	margin-top: 0.2rem;
}

@media (max-width: 820px) {
	.auk-locations-landing-hero {
		flex-direction: column-reverse;
		min-height: unset;
		gap: 2rem;
		padding-block: 2.5rem;
	}
	.auk-locations-landing-map {
		width: 220px;
		align-self: center;
	}
}

/* Feature list */
.auk-feature-list {
	list-style: none;
	margin: 1.5rem 0;
	padding: 0;
}

.auk-feature-list li {
	position: relative;
	padding: 0.65rem 0 0.65rem 30px;
	border-bottom: 1px solid var(--auk-border);
	font-size: 0.9375rem;
	text-align: left;
}

.auk-feature-list li:last-child { border-bottom: none; }

.auk-feature-list li::before {
	content: '';
	position: absolute;
	left: 0;
	top: 0.8rem;
	display: block;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #dcfce7;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2316a34a' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
	background-size: 11px;
	background-position: center;
	background-repeat: no-repeat;
}

/* Team cards */
.auk-team-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
	gap: 1.5rem;
}

.auk-team-card {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	overflow: hidden;
	text-align: center;
}

.auk-team-card__photo {
	width: 100%;
	aspect-ratio: 1;
	object-fit: cover;
	object-position: top;
}

.auk-team-card__body { padding: 1.25rem; }

.auk-team-card__name-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 0.5rem;
	margin: 0 0 0.25rem;
}

.auk-team-card__name {
	font-size: 1rem;
	font-weight: 700;
	color: var(--auk-navy);
	margin: 0;
	text-decoration: none;
}

.auk-team-card__name:hover {
	color: var(--auk-blue);
	text-decoration: underline;
}

.auk-team-card__linkedin {
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	opacity: 0.65;
	transition: opacity 0.2s;
}

.auk-team-card__linkedin:hover {
	opacity: 1;
}

.auk-team-card__title {
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
}

/* --------------------------------------------------------------------------
   Search Assistant
   -------------------------------------------------------------------------- */
.auk-search-assistant {
	border-bottom: 1px solid var(--auk-border);
}

.auk-search-assistant--shop {
	border-bottom: none;
	border-top: none;
	padding-top: 1.25rem;
	padding-bottom: 1.25rem;
}

/* Default search form (homepage — vertical/centred) */
.auk-search-form {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1.5rem;
}

.auk-search-form__fields {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	width: 100%;
	max-width: 740px;
}

.auk-search-form__submit {
	display: flex;
	align-items: center;
	gap: 1rem;
	justify-content: center;
}

.auk-search-form__clear {
	font-size: 0.875rem;
	color: var(--auk-grey-mid);
	text-decoration: underline;
}

.auk-search-form__clear:hover { color: var(--auk-navy); }

/* Inline form variant — used inside the shop page hero */
.auk-search-form--inline {
	flex-direction: row;
	align-items: flex-end;
	justify-content: flex-start;
	flex-wrap: wrap;
	gap: 1rem;
	margin-top: 1.5rem;
}

.auk-search-form--inline .auk-search-form__fields {
	display: flex;
	flex-direction: row;
	gap: 1rem;
	width: auto;
	max-width: none;
}

.auk-search-form--inline .auk-search-form__submit {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem;
	margin-bottom: 0;
}

/* White labels + "Clear filters" link when form is inside navy hero */
.auk-page-hero .auk-search-form__group label {
	color: rgba(255,255,255,0.85);
}

.auk-search-form__clear--hero {
	color: rgba(255,255,255,0.65);
	text-decoration: underline;
}

.auk-search-form__clear--hero:hover { color: #ffffff; }

/* Clear link row — flex-basis pushes it to its own row; the <a> stays inline width */
.auk-search-form__clear-row {
	flex-basis: 100%;
}

/* Submit group — button sits on same baseline as dropdowns */
.auk-search-form__group--submit {
	align-self: stretch;
	justify-content: flex-end;
}

.auk-search-form__submit-spacer {
	visibility: hidden;
	pointer-events: none;
	user-select: none;
}

/* Match button height/padding to the select elements exactly.
   Selects have border: 2px solid; button needs a matching transparent border
   so total box heights are identical and tops align. */
.auk-search-form__group--submit .auk-btn--primary {
	padding-top: 0.7rem;
	padding-bottom: 0.7rem;
	font-size: 0.9375rem;
	border: 2px solid transparent;
	height: auto;
}

/* Result count shown inline after the Find My Copier button */
.auk-result-count {
	color: #ffffff;
	font-size: 0.875rem;
	font-weight: 600;
	white-space: nowrap;
	opacity: 0.9;
}

/* Shared field styles */
.auk-search-form__group {
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.auk-search-form__group label {
	font-size: 0.75rem;
	font-weight: 700;
	color: var(--auk-navy);
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.auk-search-form__group select {
	padding: 0.7rem 2.25rem 0.7rem 0.875rem;
	border: 2px solid var(--auk-border);
	border-radius: 6px;
	font-size: 0.9375rem;
	color: var(--auk-grey-dark);
	background: #fff;
	cursor: pointer;
	transition: border-color 0.2s;
	-webkit-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='%23718096'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.65rem center;
	width: 100%;
	min-width: 160px;
}

.auk-search-form__group select:focus {
	outline: none;
	border-color: var(--auk-blue);
	box-shadow: 0 0 0 3px rgba(0,102,204,0.12);
}

/* FAQ accordion */
.auk-faq-list { margin: 0; padding: 0; list-style: none; }

.auk-faq-item {
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	margin-bottom: 0.75rem;
	overflow: hidden;
}

.auk-faq-item summary {
	padding: 1.1rem 1.25rem;
	font-size: 0.9375rem;
	font-weight: 600;
	color: var(--auk-navy);
	cursor: pointer;
	list-style: none;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 1rem;
}

.auk-faq-item summary::-webkit-details-marker { display: none; }

.auk-faq-item summary::after {
	content: '+';
	font-size: 1.25rem;
	font-weight: 300;
	color: var(--auk-blue);
	flex-shrink: 0;
	transition: transform var(--auk-transition);
}

.auk-faq-item[open] summary::after {
	content: '−';
}

.auk-faq-item[open] summary {
	border-bottom: 1px solid var(--auk-border);
}

.auk-faq-answer {
	padding: 1.1rem 1.25rem;
	font-size: 0.9375rem;
	color: var(--auk-grey-dark);
	line-height: 1.7;
}

.auk-faq-search { position: relative; }

.auk-faq-search__input {
	width: 100%;
	padding: 0.8rem 1rem 0.8rem 2.75rem;
	border: 2px solid var(--auk-border);
	border-radius: 8px;
	font-size: 0.9375rem;
	font-family: inherit;
	color: var(--auk-navy);
	background: #ffffff;
	outline: none;
	box-sizing: border-box;
	transition: border-color var(--auk-transition);
}

.auk-faq-search__input:focus { border-color: var(--auk-blue); }

.auk-faq-search__icon {
	position: absolute;
	left: 0.875rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--auk-grey-mid);
	pointer-events: none;
}

.auk-faq-search__hint {
	text-align: left;
	font-size: 0.875rem;
	color: var(--auk-grey-mid);
	margin: 0.625rem 0 0;
}

.auk-page-hero .auk-faq-search__hint { color: rgba(255,255,255,0.75); }

/* FAQ hero with icon */
.auk-page-hero--faq {
	display: flex;
	align-items: center;
	gap: 2.5rem;
}

.auk-page-hero__text { flex: 1; min-width: 0; }

.auk-page-hero__faq-icon {
	flex-shrink: 0;
	width: 220px;
	align-self: center;
}

.auk-page-hero__faq-icon img {
	width: 100%;
	height: auto;
	display: block;
}

/* FAQ section headings — blue banner */
.auk-faq-section-heading {
	margin-top: 0;
	margin-bottom: 0.875rem;
	background: var(--auk-blue);
	color: #ffffff;
	text-align: center;
	padding: 0.6rem 1rem;
	border-radius: 6px;
	font-size: 1.1rem;
	font-weight: 700;
	letter-spacing: 0.01em;
}

/* FAQ 2-column grid */
.auk-faq-sections-grid {
	column-count: 2;
	column-gap: 2.5rem;
}

.auk-faq-section-block {
	break-inside: avoid;
	page-break-inside: avoid;
	margin-bottom: 2rem;
}

.auk-faq-cta {
	column-span: all;
	margin-top: 0.5rem;
}

@media (max-width: 900px) {
	.auk-page-hero--faq { flex-direction: column; }
	.auk-page-hero__faq-icon { width: 140px; align-self: flex-start; }
	.auk-faq-sections-grid { column-count: 1; }
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 860px) {
	.woocommerce ul.products {
		grid-template-columns: repeat(3, 1fr) !important;
	}
}

@media (max-width: 900px) {
	.auk-footer__grid {
		grid-template-columns: 1fr 1fr;
	}

	.auk-header__nav { display: none; }
	.auk-nav-toggle { display: block; }

	.auk-header__inner {
		grid-template-columns: auto 1fr auto auto;
	}

	.woocommerce ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 640px) {
	.auk-category-strip__inner {
		grid-template-columns: 1fr;
	}

	.auk-cat-card {
		border-right: none;
		border-bottom: 1px solid var(--auk-border);
	}

	.auk-cat-card:last-child { border-bottom: none; }

	.auk-footer__grid {
		grid-template-columns: 1fr;
		gap: 2rem;
	}

	.auk-hero { padding: 3.5rem 1.25rem 8rem; }

	.auk-hero__bottom { bottom: 1rem; gap: 0.875rem; }

	.auk-hero__trust {
		flex-wrap: wrap;
		gap: 0.5rem;
		white-space: normal;
	}

	.auk-footer__bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.auk-header__inner {
		padding: 0 1rem;
		min-height: 60px;
		gap: 1rem;
	}

	.auk-header__phone { display: none; }
	.auk-header__actions .auk-btn--accent { display: none; }
}

@media (max-width: 480px) {
	.auk-hero__ctas { flex-direction: column; align-items: center; }
	.auk-btn--lg { width: 100%; max-width: 300px; }
}

/* --------------------------------------------------------------------------
   Product Page — Testimonial (above the fold)
   -------------------------------------------------------------------------- */
.auk-product-testimonial {
	background: var(--auk-blue-lt);
	border-left: 4px solid var(--auk-blue);
	border-radius: var(--auk-radius);
	padding: 1.25rem 1.5rem;
	margin: 0 0 2rem;
}

.auk-product-testimonial__stars {
	color: #f5a623;
	font-size: 1.125rem;
	letter-spacing: 0.1em;
	margin-bottom: 0.5rem;
}

.auk-product-testimonial__quote {
	margin: 0 0 0.75rem;
	padding: 0;
	border: none;
	font-style: italic;
	color: var(--auk-grey-dark);
	font-size: 0.9375rem;
	line-height: 1.6;
}

.auk-product-testimonial__quote::before { content: '\201C'; }
.auk-product-testimonial__quote::after  { content: '\201D'; }

.auk-product-testimonial__cite {
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
	font-style: normal;
}

.auk-product-testimonial__cite strong {
	color: var(--auk-navy);
}

/* --------------------------------------------------------------------------
   Product Page — Brochure Download Button
   -------------------------------------------------------------------------- */
.auk-brochure-btn {
	flex: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.625rem 1rem;
	margin-top: 0;
	background: transparent;
	border: 2px solid var(--auk-navy);
	border-radius: var(--auk-radius);
	color: var(--auk-navy);
	font-size: 0.9375rem;
	font-weight: 600;
	text-decoration: none;
	transition: background var(--auk-transition), color var(--auk-transition);
}

.auk-brochure-btn:hover,
.auk-brochure-btn:focus {
	background: var(--auk-navy);
	color: #fff;
	text-decoration: none;
}

.auk-brochure-btn svg {
	flex-shrink: 0;
}

/* --------------------------------------------------------------------------
   Finance & Leasing page — tighter spacing (page-id-22)
   The generic .auk-section uses 4rem top/bottom which is too generous for
   a short page. These overrides compact the vertical rhythm without touching
   any other page that uses the same section classes.
   -------------------------------------------------------------------------- */
.page-id-22 .auk-page-hero {
	padding-bottom: 2rem;
}
.page-id-22 .auk-section {
	padding-top: 2rem;
	padding-bottom: 2rem;
}
.page-id-22 .auk-section h2 {
	margin-bottom: 1.25rem;
}
.page-id-22 .auk-contact-strip {
	padding-top: 2rem;
	padding-bottom: 2rem;
}

/* ==========================================================================
   Sustainability Page
   ========================================================================== */

/* Two-column block: logo left, text right */
.auk-initiative {
	display: grid;
	grid-template-columns: 220px 1fr;
	gap: 3rem;
	align-items: start;
}

.auk-initiative__logo-wrap {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: var(--auk-radius);
	padding: 1.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 140px;
	position: sticky;
	top: 90px;
}

.auk-section--navy .auk-initiative__logo-wrap {
	background: rgba(255,255,255,0.08);
	border-color: rgba(255,255,255,0.15);
}

.auk-initiative__logo {
	max-width: 160px;
	max-height: 100px;
	width: auto;
	height: auto;
	object-fit: contain;
}

.auk-initiative__body h2 {
	font-size: clamp(1.375rem, 2.5vw, 1.875rem);
	font-weight: 700;
	margin: 0 0 1rem;
}

.auk-initiative__body h3 {
	font-size: 1.0625rem;
	font-weight: 700;
	margin: 1.75rem 0 0.5rem;
	padding-bottom: 0.4rem;
	border-bottom: 2px solid rgba(0,102,204,0.2);
}

.auk-section--navy .auk-initiative__body h3 {
	border-bottom-color: rgba(255,255,255,0.15);
}

.auk-initiative__body p {
	line-height: 1.75;
	margin: 0 0 1rem;
}

.auk-initiative__body ul {
	margin: 0;
	padding: 0;
}

/* Stat callout (e.g. "635,000 tonnes offset") */
.auk-stat-callout {
	display: flex;
	gap: 1.5rem;
	flex-wrap: wrap;
	margin: 1.5rem 0;
}

.auk-stat {
	background: rgba(255,255,255,0.08);
	border: 1px solid rgba(255,255,255,0.15);
	border-radius: var(--auk-radius);
	padding: 1rem 1.5rem;
	flex: 1;
	min-width: 160px;
}

.auk-stat__value {
	font-size: 1.5rem;
	font-weight: 800;
	color: #60a5fa;
	display: block;
}

.auk-stat__label {
	font-size: 0.8125rem;
	color: rgba(255,255,255,0.7);
	display: block;
	margin-top: 0.2rem;
}

/* Stat callout on white/grey backgrounds — override navy-first defaults */
.auk-section:not(.auk-section--navy) .auk-stat {
	background: var(--auk-blue-lt);
	border-color: #c5ddf8;
}

.auk-section:not(.auk-section--navy) .auk-stat__value {
	color: var(--auk-blue);
}

.auk-section:not(.auk-section--navy) .auk-stat__label {
	color: var(--auk-grey-dark);
}

/* Feature list: always left-align */
.auk-feature-list,
.auk-initiative__body {
	text-align: left;
}

/* Feature list on navy background */
.auk-section--navy .auk-feature-list li {
	color: #ffffff;
	border-bottom-color: rgba(255,255,255,0.12);
}

.auk-section--navy .auk-feature-list li strong {
	color: #ffffff;
}

.auk-section--navy .auk-feature-list li::before {
	background: rgba(255,255,255,0.12);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E");
	background-size: 11px;
	background-position: center;
	background-repeat: no-repeat;
}

@media (max-width: 768px) {
	.auk-initiative {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}

	.auk-initiative__logo-wrap {
		position: static;
		max-width: 240px;
	}
}

/* ==========================================================================
   Case Studies
   ========================================================================== */

/* Shared inner container (1100px centred) */
.auk-page-inner {
	max-width: 1100px;
	margin-inline: auto;
	padding-inline: 1.5rem;
}

/* --------------------------------------------------------------------------
   Archive — Hero
   -------------------------------------------------------------------------- */
/* --------------------------------------------------------------------------
   Sector page — glance layout (2 columns: prose + stats box)
   -------------------------------------------------------------------------- */
.auk-sector-glance {
	display: grid;
	grid-template-columns: 1fr 400px;
	gap: 2.5rem;
	align-items: start;
}

.auk-sector-glance__prose > p:first-child {
	margin-top: 0;
}

.auk-sector-glance__aside {
	display: flex;
	flex-direction: column;
}

/* Flatten bottom corners of stats box when case studies section is attached below */
.auk-sector-glance__aside .auk-sector-stats-box {
	border-radius: var(--auk-radius) var(--auk-radius) 0 0;
	box-shadow: none;
}

.auk-sector-cs {
	border: 1px solid var(--auk-border);
	border-top: none;
	border-radius: 0 0 var(--auk-radius) var(--auk-radius);
	overflow: hidden;
	box-shadow: var(--auk-shadow-sm);
	background: #ffffff;
}

.auk-sector-cs__title {
	font-weight: 700;
	font-size: 0.8125rem;
	padding: 0.875rem 1.25rem;
	background: var(--auk-blue);
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: center;
}

.auk-sector-cs__logos {
	display: flex;
	align-items: stretch;
}

.auk-sector-cs__logo-link {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1;
	padding: 1.25rem 1rem;
	border-right: 1px solid var(--auk-border);
	transition: background 0.15s;
	min-width: 0;
}

.auk-sector-cs__logo-link:last-child {
	border-right: none;
}

.auk-sector-cs__logo-link:hover {
	background: #f0f4f8;
}

.auk-sector-cs__logo-link img {
	max-height: 44px;
	max-width: 100%;
	width: auto;
	object-fit: contain;
}

/* 2×2 grid variant — used when 4 case studies with type labels are needed */
.auk-sector-cs--grid .auk-sector-cs__logos {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
}

.auk-sector-cs__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	border-right: 1px solid var(--auk-border);
	border-bottom: 1px solid var(--auk-border);
}

.auk-sector-cs--grid .auk-sector-cs__item:nth-child(even) {
	border-right: none;
}

.auk-sector-cs--grid .auk-sector-cs__item:nth-last-child(-n+2) {
	border-bottom: none;
}

.auk-sector-cs__type {
	font-size: 0.6875rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: var(--auk-navy);
	padding: 0.75rem 0.75rem 0;
	text-align: center;
	line-height: 1.3;
}

.auk-sector-cs--grid .auk-sector-cs__logo-link {
	border-right: none;
	border-bottom: none;
	width: 100%;
	flex: none;
	padding: 0.75rem 1rem 1rem;
}

.auk-sector-stats-box {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: var(--auk-radius);
	overflow: hidden;
	box-shadow: var(--auk-shadow-sm);
}

.auk-sector-stats-box__title {
	font-weight: 700;
	font-size: 0.8125rem;
	padding: 0.875rem 1.25rem;
	background: var(--auk-blue);
	color: #ffffff;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	line-height: 1.4;
	text-align: center;
}

.auk-sector-stats-box__body {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

.auk-sector-stats-box__row {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	padding: 0.875rem 1.25rem;
	border-bottom: 1px solid var(--auk-border);
}

.auk-sector-stats-box__row:nth-child(odd) {
	border-right: 1px solid var(--auk-border);
}

.auk-sector-stats-box__row:nth-last-child(-n+2) {
	border-bottom: none;
}

.auk-sector-stats-box__value {
	font-size: 1.5rem;
	font-weight: 700;
	color: var(--auk-blue);
	line-height: 1.2;
}

.auk-sector-stats-box__label {
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
	line-height: 1.4;
}

/* --------------------------------------------------------------------------
   Case Studies
   -------------------------------------------------------------------------- */
.auk-cs-hero {
	background: linear-gradient(135deg, #0a2240 0%, #0d3360 60%, #0a2240 100%);
	padding: 4rem 0 3.5rem;
	text-align: center;
}

.auk-cs-hero h1 {
	color: #ffffff;
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	margin: 0.75rem 0 1rem;
	line-height: 1.12;
}

.auk-cs-hero__sub {
	color: rgba(255,255,255,0.82);
	font-size: 1.0625rem;
	max-width: 640px;
	margin-inline: auto;
	line-height: 1.65;
}

/* --------------------------------------------------------------------------
   Archive — Grid
   -------------------------------------------------------------------------- */
.auk-cs-archive-wrap {
	padding-block: 3rem 4rem;
}

.auk-cs-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 1.5rem;
}

.auk-cs-pod {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: var(--auk-radius);
	box-shadow: var(--auk-shadow-sm);
	display: flex;
	flex-direction: column;
	overflow: hidden;
	transition: box-shadow var(--auk-transition), transform var(--auk-transition);
}

.auk-cs-pod:hover {
	box-shadow: var(--auk-shadow-md);
	transform: translateY(-2px);
}

.auk-cs-pod__logo-wrap {
	padding: 1.5rem 2rem;
	border-bottom: 1px solid var(--auk-border);
	background: #fafafa;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 96px;
	overflow: hidden;
}

.auk-cs-pod__logo {
	max-height: 60px;
	max-width: 100%;
	width: auto;
	height: auto;
}

.auk-cs-pod__logo-text {
	font-weight: 700;
	font-size: 1.0625rem;
	color: var(--auk-navy);
	text-align: center;
}

.auk-cs-pod__body {
	padding: 1.25rem 1.5rem;
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 0.4rem;
}

.auk-cs-pod__sector-label {
	font-size: 0.6875rem;
	font-weight: 700;
	color: #000000;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.auk-cs-pod__industry {
	display: inline-block;
	background: var(--auk-blue-lt);
	color: var(--auk-blue);
	font-size: 0.6875rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	padding: 0.2rem 0.6rem;
	border-radius: 100px;
	align-self: flex-start;
	margin-bottom: 0.25rem;
}

.auk-cs-pod__company {
	font-size: 1rem;
	font-weight: 700;
	color: var(--auk-navy);
	margin: 0;
	line-height: 1.3;
}

.auk-cs-pod__location {
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
	margin: 0;
}

.auk-cs-pod__result {
	font-size: 0.8125rem;
	color: var(--auk-grey-dark);
	font-weight: 500;
	margin: 0.25rem 0 0;
	padding: 0.5rem 0.75rem;
	background: #fff8f4;
	border-radius: 4px;
	border-left: 3px solid var(--auk-accent);
	line-height: 1.45;
}

.auk-cs-pod__footer {
	padding: 1rem 1.5rem 1.5rem;
}

/* --------------------------------------------------------------------------
   Single — Layout
   -------------------------------------------------------------------------- */
.auk-cs-single {
	padding-block: 2rem 4rem;
}

.auk-cs-single__title {
	max-width: 980px;
	margin: 0 0 2rem;
	color: var(--auk-navy);
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 800;
	line-height: 1.12;
	text-wrap: balance;
}

.auk-cs-breadcrumb {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 0.4rem;
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
	margin-bottom: 2rem;
}

.auk-cs-breadcrumb a {
	color: var(--auk-blue);
	text-decoration: none;
}

.auk-cs-breadcrumb a:hover {
	text-decoration: underline;
}

.auk-cs-header {
	display: grid;
	grid-template-columns: 1fr 320px;
	gap: 2rem;
	align-items: start;
	margin-bottom: 2.5rem;
	padding-bottom: 2.5rem;
	border-bottom: 2px solid var(--auk-border);
}

.auk-cs-header__logo-wrap {
	background: #f8f9fb;
	border: 1px solid var(--auk-border);
	border-radius: var(--auk-radius);
	padding: 2.5rem 2rem;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	min-height: 160px;
	overflow: hidden;
}

.auk-cs-header__logo {
	max-height: 110px;
	max-width: 100%;
	width: auto;
	height: auto;
}

.auk-cs-header__company-fallback {
	font-size: 1.75rem;
	font-weight: 700;
	color: var(--auk-navy);
}

/* Meta pod — top right */
.auk-cs-header__meta {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: var(--auk-radius);
	overflow: hidden;
	box-shadow: var(--auk-shadow-sm);
}

.auk-cs-meta-list {
	margin: 0;
	padding: 0;
}

.auk-cs-meta-list__row {
	display: flex;
	padding: 0.75rem 1.25rem;
	border-bottom: 1px solid var(--auk-border);
	font-size: 0.875rem;
	gap: 0.75rem;
}

.auk-cs-meta-list__row:last-child {
	border-bottom: none;
}

.auk-cs-meta-list__row dt {
	font-weight: 600;
	color: var(--auk-grey-mid);
	min-width: 80px;
	flex-shrink: 0;
	text-transform: uppercase;
	font-size: 0.6875rem;
	letter-spacing: 0.05em;
	padding-top: 0.15rem;
}

.auk-cs-meta-list__row dd {
	margin: 0;
	color: var(--auk-grey-dark);
	line-height: 1.5;
}

.auk-cs-meta-list__row--highlight {
	background: #fff8f4;
}

.auk-cs-meta-list__row--highlight dt {
	color: var(--auk-accent);
}

.auk-cs-meta-list__row--highlight dd {
	color: var(--auk-accent);
	font-weight: 700;
}

/* Article body */
.auk-cs-content {
	max-width: 820px;
	margin-bottom: 2.5rem;
}

.auk-cs-content h2 {
	font-size: 1.3125rem;
	font-weight: 700;
	color: var(--auk-navy);
	margin: 2rem 0 0.75rem;
	padding-bottom: 0.5rem;
	border-bottom: 2px solid var(--auk-blue-lt);
}

.auk-cs-content h2:first-child {
	margin-top: 0;
}

.auk-cs-content p {
	color: var(--auk-grey-dark);
	line-height: 1.75;
	margin: 0 0 1.2rem;
	font-size: 1rem;
}

/* Back link */
.auk-cs-back {
	margin-top: 2rem;
}

.auk-btn--secondary-dark {
	background: transparent;
	color: var(--auk-navy);
	border: 2px solid var(--auk-border);
	font-weight: 600;
	font-size: 0.875rem;
	padding: 0.5rem 1.25rem;
	border-radius: var(--auk-radius);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	transition: background var(--auk-transition), border-color var(--auk-transition);
}

.auk-btn--secondary-dark:hover {
	background: var(--auk-grey-lt);
	border-color: #c5cdd8;
	color: var(--auk-navy);
}

/* --------------------------------------------------------------------------
   Responsive
   -------------------------------------------------------------------------- */
@media (max-width: 900px) {
	.auk-sector-glance {
		grid-template-columns: 1fr;
	}

	.auk-sector-stats-box {
		order: -1;
	}

	.auk-cs-header {
		grid-template-columns: 1fr;
	}

	.auk-cs-header__logo-wrap {
		justify-content: center;
		padding: 2rem;
	}
}

@media (max-width: 600px) {
	.auk-cs-grid {
		grid-template-columns: 1fr;
	}

	.auk-cs-hero {
		padding: 3rem 1.25rem 2.5rem;
	}
}

/* --------------------------------------------------------------------------
   Sector Pages — Challenges / Solutions grids
   -------------------------------------------------------------------------- */


/* Two-column grid for challenge and solution blocks */
.auk-challenges,
.auk-solutions {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 2rem 3rem;
}

.auk-challenge h3,
.auk-solution h3 {
	font-size: 1rem;
	font-weight: 700;
	color: var(--auk-navy);
	margin: 0 0 0.6rem;
}

.auk-section--grey .auk-challenge h3,
.auk-section--grey .auk-solution h3 {
	color: var(--auk-navy);
}

.auk-challenge p,
.auk-solution p {
	font-size: 0.9375rem;
	color: var(--auk-grey-dark);
	line-height: 1.7;
	margin: 0 0 0.5rem;
}

@media (max-width: 700px) {
	.auk-challenges,
	.auk-solutions {
		grid-template-columns: 1fr;
	}
}

/* --------------------------------------------------------------------------
   WhatsApp chat button + expanding bubble
   -------------------------------------------------------------------------- */
.auk-wa-wrap {
	position: fixed;
	bottom: 1.75rem;
	right: 1.75rem;
	z-index: 9999;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 0.75rem;
}

.auk-wa-bubble {
	background: #ffffff;
	border-radius: 12px;
	box-shadow: 0 4px 20px rgba(0,0,0,0.18);
	width: 270px;
	overflow: hidden;
	position: relative;
	animation: auk-wa-slidein 0.4s ease 12s both;
}

.auk-wa-bubble__close {
	position: absolute;
	top: 0.4rem;
	right: 0.5rem;
	background: none;
	border: none;
	font-size: 1.25rem;
	line-height: 1;
	color: rgba(255,255,255,0.8);
	cursor: pointer;
	padding: 0 0.25rem;
}

.auk-wa-bubble__close:hover {
	color: #ffffff;
}

.auk-wa-bubble__inner {
	display: flex;
	align-items: flex-start;
	gap: 0.75rem;
	padding: 0.875rem 1rem;
	background: #25D366;
}

.auk-wa-bubble__avatar {
	flex-shrink: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	overflow: hidden;
	border: 2px solid rgba(255,255,255,0.5);
}

.auk-wa-bubble__avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.auk-wa-bubble__text {
	flex: 1;
	min-width: 0;
}

.auk-wa-bubble__name {
	font-size: 0.875rem;
	color: #ffffff;
	margin: 0 0 0.2rem;
	line-height: 1.2;
}

.auk-wa-bubble__msg {
	font-size: 0.8125rem;
	color: rgba(255,255,255,0.92);
	margin: 0;
	line-height: 1.45;
}

.auk-wa-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background: #25D366;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	flex-shrink: 0;
	animation: auk-wa-slidein 0.4s ease 4s both;
}

.auk-wa-btn:hover {
	transform: scale(1.08);
	box-shadow: 0 6px 20px rgba(0,0,0,0.3);
	color: #ffffff;
}

@keyframes auk-wa-slidein {
	from { opacity: 0; transform: translateY(24px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Out-of-hours: muted header colour so it's clearly not a live chat */
.auk-wa-bubble--out-of-hours .auk-wa-bubble__inner {
	background: #555e6c;
}

@media (max-width: 600px) {
	.auk-wa-wrap {
		bottom: 1.25rem;
		right: 1.25rem;
	}
	.auk-wa-bubble { width: calc(100vw - 2.5rem); max-width: 270px; }
	.auk-wa-btn { width: 52px; height: 52px; }
}

/* --------------------------------------------------------------------------
   TEST: Book-a-call button variants — remove 2 once chosen
   -------------------------------------------------------------------------- */
.auk-book-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	color: #ffffff;
	box-shadow: 0 4px 12px rgba(0,0,0,0.25);
	text-decoration: none;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
	flex-shrink: 0;
	animation: auk-wa-slidein 0.4s ease 4s both;
}
.auk-book-btn:hover {
	transform: scale(1.08);
	box-shadow: 0 6px 20px rgba(0,0,0,0.3);
	color: #ffffff;
}
.auk-book-btn--navy { background: #1a2e4a; }
@media (max-width: 600px) {
	.auk-book-btn { width: 52px; height: 52px; }
}
/* END TEST */

/* ── Partner tiles (sustainability page) ─────────────────────────────────── */
.auk-partner-tiles {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 1.75rem;
	margin: 0;
}

.auk-partner-tile {
	background: #ffffff;
	border: 1px solid var(--auk-border);
	border-radius: var(--auk-radius);
	padding: 2rem 2rem 1.75rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	transition: box-shadow 0.2s ease, transform 0.2s ease;
	text-decoration: none;
}

.auk-partner-tile:hover {
	box-shadow: 0 8px 28px rgba(0,0,0,0.10);
	transform: translateY(-2px);
}

.auk-partner-tile__logo-wrap {
	display: flex;
	align-items: center;
	min-height: 72px;
	margin-bottom: 1.25rem;
}

.auk-partner-tile__logo {
	max-width: 160px;
	max-height: 64px;
	width: auto;
	height: auto;
	object-fit: contain;
	display: block;
}

.auk-partner-tile__title {
	font-size: 1.0625rem;
	font-weight: 700;
	color: var(--auk-navy);
	margin: 0 0 0.5rem;
}

.auk-partner-tile__desc {
	font-size: 0.9rem;
	color: var(--auk-grey-dark);
	line-height: 1.65;
	margin: 0 0 1.25rem;
	flex: 1;
}

.auk-partner-tile__cta {
	font-size: 0.875rem;
	font-weight: 600;
	color: var(--auk-blue);
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	text-decoration: none;
	margin-top: auto;
}

.auk-partner-tile:hover .auk-partner-tile__cta {
	color: var(--auk-navy);
}

.auk-partner-tile__cta::after {
	content: '→';
	transition: transform 0.15s ease;
}

.auk-partner-tile:hover .auk-partner-tile__cta::after {
	transform: translateX(3px);
}

@media (max-width: 900px) {
	.auk-partner-tiles {
		grid-template-columns: 1fr 1fr;
	}
}
@media (max-width: 600px) {
	.auk-partner-tiles {
		grid-template-columns: 1fr;
	}
}

/* ── Sectors landing page grid ──────────────────────────────────────────────── */
.auk-sectors-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1rem;
}

.auk-sector-tile {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	text-align: center;
	padding: 1.75rem 1rem 1.5rem;
	border: 1px solid var(--auk-border);
	border-radius: var(--auk-radius);
	background: #fff;
	color: var(--auk-navy);
	font-weight: 600;
	font-size: 0.875rem;
	line-height: 1.3;
	text-decoration: none;
	gap: 0.75rem;
	transition: box-shadow 0.15s ease, border-color 0.15s ease;
}

.auk-sector-tile:hover {
	box-shadow: 0 4px 16px rgba(0,0,0,0.10);
	border-color: #0d9488;
	text-decoration: none;
	color: var(--auk-navy);
}

.auk-sector-tile__icon {
	color: #0d9488;
	flex-shrink: 0;
}

@media (max-width: 960px) {
	.auk-sectors-grid {
		grid-template-columns: 1fr 1fr;
	}
}

@media (max-width: 600px) {
	.auk-sectors-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

/* ==========================================================================
   Location City Pages
   ========================================================================== */

/* Business hub two-column grid */
.auk-loc-hub-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2.5rem;
	margin-top: 2rem;
}

.auk-loc-hub-group__heading {
	font-size: 0.8125rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.07em;
	color: var(--auk-blue);
	margin: 0 0 1rem;
	padding-bottom: 0.625rem;
	border-bottom: 2px solid var(--auk-blue);
}

.auk-loc-hub-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.auk-loc-hub-item {
	display: flex;
	gap: 0.75rem;
	align-items: flex-start;
	font-size: 0.9rem;
	line-height: 1.55;
}

.auk-loc-postcode-badge {
	flex-shrink: 0;
	background: var(--auk-navy);
	color: #ffffff;
	font-size: 0.6875rem;
	font-weight: 700;
	padding: 3px 7px;
	border-radius: 3px;
	margin-top: 3px;
	letter-spacing: 0.03em;
}

/* Case study feature block */
.auk-loc-cs-wrap {
	display: flex;
	gap: 2.5rem;
	align-items: flex-start;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	padding: 2rem;
	max-width: 860px;
	margin: 0 auto;
}

.auk-loc-cs-logo {
	flex-shrink: 0;
	width: 180px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-right: 2rem;
	border-right: 1px solid var(--auk-border);
}

.auk-loc-cs-logo img {
	max-width: 100%;
	max-height: 90px;
	object-fit: contain;
}

.auk-loc-cs-body h3 {
	margin: 0 0 0.25rem;
	font-size: 1.125rem;
}

.auk-loc-cs-meta {
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
	margin: 0 0 1rem;
}

.auk-loc-cs-result {
	background: var(--auk-blue-lt);
	border-left: 3px solid var(--auk-blue);
	padding: 0.625rem 0.875rem;
	border-radius: 0 4px 4px 0;
	font-size: 0.9rem;
	margin: 0 0 1.25rem;
	line-height: 1.5;
}

/* Postcode pills */
.auk-postcode-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	justify-content: center;
	margin: 0 0 1.5rem;
}

.auk-postcode-pill {
	background: var(--auk-navy);
	color: #ffffff;
	font-size: 0.8125rem;
	font-weight: 700;
	padding: 0.375rem 0.875rem;
	border-radius: 4px;
	letter-spacing: 0.04em;
}

/* Leaflet map container */
.auk-loc-map {
	width: 100%;
	height: 440px;
	border-radius: 8px;
	overflow: hidden;
	border: 1px solid var(--auk-border);
}

/* Leaflet custom markers */
.auk-map-postcode-label span {
	background: #012169;
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	font-family: inherit;
	padding: 2px 5px;
	border-radius: 3px;
	white-space: nowrap;
	display: block;
	line-height: 1.4;
	box-shadow: 0 1px 3px rgba(0,0,0,0.3);
	pointer-events: none;
}

.auk-map-office-pin {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 3px;
}

.auk-map-office-pin__dot {
	width: 14px;
	height: 14px;
	background: #c0392b;
	border-radius: 50%;
	border: 2px solid #ffffff;
	box-shadow: 0 1px 5px rgba(0,0,0,0.45);
}

.auk-map-office-pin span {
	background: #c0392b;
	color: #fff;
	font-size: 0.5625rem;
	font-weight: 700;
	font-family: inherit;
	padding: 2px 5px;
	border-radius: 3px;
	white-space: nowrap;
	line-height: 1.4;
	box-shadow: 0 1px 3px rgba(0,0,0,0.3);
}

/* Why choose grid */
.auk-why-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 1.25rem;
	margin-top: 2rem;
}

.auk-why-card {
	background: #fff;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	padding: 1.5rem;
}

.auk-why-card__icon {
	width: 44px;
	height: 44px;
	background: var(--auk-blue-lt);
	border-radius: 8px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 1rem;
	color: var(--auk-blue);
}

.auk-why-card h3 {
	font-size: 0.9375rem;
	margin: 0 0 0.5rem;
}

.auk-why-card p {
	font-size: 0.875rem;
	color: var(--auk-grey-mid);
	margin: 0;
	line-height: 1.55;
}

/* Internal links strip */
.auk-loc-links {
	display: flex;
	gap: 1rem;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-top: 2rem;
	font-size: 0.875rem;
	color: var(--auk-grey-mid);
}

.auk-loc-links a {
	color: var(--auk-blue);
	text-decoration: none;
	border-bottom: 1px solid rgba(0,102,204,0.3);
	padding-bottom: 1px;
	transition: border-color 0.15s;
}

.auk-loc-links a:hover {
	border-color: var(--auk-blue);
}

/* Location CTA (on navy bg) */
.auk-loc-cta {
	text-align: center;
	padding: 1rem 0;
}

.auk-loc-cta p {
	font-size: 1.0625rem;
	color: rgba(255,255,255,0.82);
	margin-bottom: 2rem;
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

.auk-loc-cta__btns {
	display: flex;
	gap: 1rem;
	justify-content: center;
	flex-wrap: wrap;
}

/* Responsive */
@media (max-width: 820px) {
	.auk-loc-hub-grid { grid-template-columns: 1fr; }
	.auk-why-grid { grid-template-columns: 1fr 1fr; }
	.auk-loc-cs-wrap { flex-direction: column; gap: 1.5rem; }
	.auk-loc-cs-logo {
		width: 100%;
		border-right: none;
		border-bottom: 1px solid var(--auk-border);
		padding-right: 0;
		padding-bottom: 1.5rem;
	}
}

@media (max-width: 480px) {
	.auk-why-grid { grid-template-columns: 1fr; }
	.auk-loc-map { height: 300px; }
}

/* Location area hub grid (North East region page etc.) */
.auk-loc-area-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1.25rem;
	margin-top: 2rem;
}

.auk-loc-area-card {
	background: #fff;
	border: 1px solid var(--auk-border);
	border-radius: 8px;
	padding: 1.5rem 1.25rem;
	text-decoration: none;
	color: inherit;
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	transition: box-shadow 0.2s, border-color 0.2s;
}

.auk-loc-area-card:hover {
	border-color: var(--auk-blue);
	box-shadow: 0 4px 16px rgba(0,0,0,0.08);
}

.auk-loc-area-card__name {
	font-size: 1rem;
	font-weight: 700;
	color: var(--auk-navy);
}

.auk-loc-area-card__postcodes {
	font-size: 0.8125rem;
	color: var(--auk-grey-mid);
}

.auk-loc-area-card__arrow {
	margin-top: auto;
	padding-top: 0.75rem;
	font-size: 0.875rem;
	color: var(--auk-blue);
	font-weight: 600;
}

@media (max-width: 820px) {
	.auk-loc-area-grid { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 480px) {
	.auk-loc-area-grid { grid-template-columns: 1fr; }
}

/* GBP icon — Flexible Leasing card is always the 4th/last card in .auk-why-grid */
.auk-why-grid .auk-why-card:last-child .auk-why-card__icon svg {
	display: none;
}
.auk-why-grid .auk-why-card:last-child .auk-why-card__icon::after {
	content: '\00A3';
	font-size: 1.25rem;
	font-weight: 700;
	color: currentColor;
	line-height: 1;
}

/* --------------------------------------------------------------------------
   Skip to main content — visually hidden until focused (A11y)
   -------------------------------------------------------------------------- */
.skip-to-content {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
	z-index: 9999;
}
.skip-to-content:focus {
	position: fixed;
	top: 10px;
	left: 10px;
	width: auto;
	height: auto;
	padding: 12px 24px;
	background: #ffffff;
	color: #000000;
	border: 2px solid #000000;
	border-radius: 4px;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	z-index: 100000;
}

/* Heading-level lead text used in page sections (e.g. homepage closing statement) */
.auk-section__lead {
	font-size: 1.1875rem;
	font-weight: 700;
	color: var(--auk-navy);
	margin: 0 0 1rem;
	line-height: 1.4;
}

/* ============================================================
   SOURCES & REFERENCES FOOTER (sector pages)
   Added: pilot on post 297 — Accountancy & Financial Services
   Safe to extend to other sector pages when rolled out.
   ============================================================ */

.auk-footnote-ref {
  font-size: 0.7em;
  line-height: 1;
  vertical-align: super;
  margin-left: 0.15em;
}
.auk-footnote-ref a {
  text-decoration: none;
  color: var(--wp--preset--color--primary, #0b5cab);
  font-weight: 600;
  padding: 0 0.15em;
}
.auk-footnote-ref a:hover,
.auk-footnote-ref a:focus-visible {
  text-decoration: underline;
}

.auk-sources__inline {
  font-size: 0.9rem;
  line-height: 1.6;
  margin: 0;
  color: #555;
}
.auk-sources__inline strong {
  color: #333;
}
.auk-sources__inline a {
  color: var(--wp--preset--color--primary, #0b5cab);
  text-decoration: underline;
}
.auk-sources__inline a:hover,
.auk-sources__inline a:focus-visible {
  text-decoration: none;
}
.auk-sources {
  padding-top: 0;
  padding-bottom: 2rem;
}
.auk-sources__note {
  margin-top: 1rem;
  font-size: 0.85rem;
  opacity: 0.75;
  font-style: italic;
}

/* 2026-05-11 #111.2 — Toshiba e-STUDIO suffix smaller-glyph treatment.
   Added directly to main.css (not via wp_add_inline_style) so 10web-manager
   mu-plugin's CSS aggregator picks it up when it bundles the stylesheet. */
.device-code__suffix { font-size: 0.78em; vertical-align: baseline; font-weight: inherit; letter-spacing: normal; }
.tbg-btn__label { display: inline; }

/* WPForms' Turnstile control has a fixed 300px intrinsic width. At the 320px
   reflow viewport the form column is 272px, so scale only that control rather
   than hiding page-level overflow or clipping unrelated content. */
@media (max-width: 339px) {
	.wpforms-recaptcha-container.wpforms-is-turnstile {
		overflow: hidden;
	}
	.wpforms-recaptcha-container.wpforms-is-turnstile .wpforms-turnstile {
		transform: scale(0.9);
		transform-origin: left top;
		margin-bottom: -7px;
	}
}

/* --------------------------------------------------------------------------
   Task97 (tbg-navy-link-contrast): readable text links on navy surfaces
   Inline text links inside the navy heroes and navy sections were the global
   link blue (#0066cc, 2.3:1 on navy) and turned navy on hover. On these dark
   surfaces a plain text link is white and underlined; hover and keyboard focus
   thicken the underline (the parent theme pins thickness with !important, so
   this scoped state rule needs it too) and keyboard focus keeps the sitewide
   two-tone focus ring, so no state relies on colour alone. Buttons and styled
   links (any class) keep their own styling. Footer menu links keep their
   design and gain an underline on hover/focus.
   -------------------------------------------------------------------------- */
:is(.auk-page-hero, .auk-hero, .auk-cs-hero, .auk-section--navy) a:not([class]),
:is(.auk-page-hero, .auk-hero, .auk-cs-hero, .auk-section--navy) a:not([class]):visited {
	color: #ffffff;
	text-decoration-line: underline;
	text-decoration-color: currentColor;
	text-underline-offset: 0.18em;
}
:is(.auk-page-hero, .auk-hero, .auk-cs-hero, .auk-section--navy) a:not([class]):hover,
:is(.auk-page-hero, .auk-hero, .auk-cs-hero, .auk-section--navy) a:not([class]):focus-visible {
	color: #ffffff;
	text-decoration-line: underline;
	text-decoration-thickness: 3px !important;
}
.auk-footer :is(.auk-footer__col, .auk-footer__contact-item, .auk-footer__legal) a:is(:hover, :focus-visible) {
	color: #ffffff;
	text-decoration-line: underline;
	text-underline-offset: 0.18em;
}

/* --------------------------------------------------------------------------
   Task116 (tbg-a11y-116): WCAG 2.2 repairs found by the Task96 review.
   1. Focus not obscured (2.4.11). The site header is sticky and the cookie
      banner is fixed, so a keyboard-focused link or field could scroll
      underneath them. scroll-padding makes the browser keep a focused element
      (and any #anchor target) clear of the header at the top and, only while
      the cookie banner is showing, clear of the banner at the bottom. The
      footer gains the same space at its end while the banner shows, so the
      last links can also scroll above it. The banner, its buttons and the
      visitor's consent choice are unchanged.
   2. Search pagination (2.5.8): page links are at least 44 x 44 px.
   3. Scroll-hint chevrons (2.2.2): bounce twice and stop, never move when
      the visitor asks for reduced motion, and fade out while a keyboard user
      is working through the page, so they never sit over a focused field.
   4. Reflow (1.4.10): refurbished cards never grow wider than the screen.
   -------------------------------------------------------------------------- */
html {
	scroll-padding-top: 96px;
}
html:has(.auk-consent.is-visible) {
	scroll-padding-bottom: min(280px, 45vh);
}
html:has(.auk-consent.is-visible) .auk-footer::after {
	content: "";
	display: block;
	height: 264px;
}
@media (max-width: 480px) {
	html {
		scroll-padding-top: 80px;
	}
	html:has(.auk-consent.is-visible) {
		scroll-padding-bottom: min(380px, 62vh);
	}
	html:has(.auk-consent.is-visible) .auk-footer::after {
		height: 372px;
	}
}
a.page-numbers,
span.page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	min-width: 44px;
	min-height: 44px;
	padding: 0 0.5rem;
}
.wp-block-query-pagination-numbers {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 4px;
}
.wp-block-query-pagination > a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}
.auk-scroll-indicator svg {
	animation-iteration-count: 2;
}
html:has(:focus-visible) .auk-scroll-indicator.is-visible {
	opacity: 0;
}
@media (prefers-reduced-motion: reduce) {
	.auk-scroll-indicator,
	.auk-scroll-indicator svg {
		animation: none;
		transition: none;
	}
}
.auk-refurb__inner > .auk-refurb-card {
	max-width: min(300px, 100%);
}

/* --------------------------------------------------------------------------
   Task143 (tbg-hero-trust-143): readable home trust statements on phones
   At 480 px and below an earlier home rule makes .auk-hero__top position:static,
   so its z-index no longer applies and the hero's 65% navy ::before overlay is
   painted over the white trust statements (measured 3.12:1). Making the strip
   positioned again (relative, no offset) lifts it above the overlay exactly as
   on desktop, without moving it. Text, size, artwork and layout are unchanged.
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
	.home .auk-hero .auk-hero__top {
		position: relative !important;
		top: auto !important;
		z-index: 2;
	}
}

/* Configurator: suppress pointer-only view-container focus; retain keyboard focus. */
body.page-id-1303 #view[tabindex="-1"]:focus:not(:focus-visible) {
  outline: none;
}

/* Accessible breadcrumb wrapping and the two standalone Northumberland town links. */
.auk-breadcrumb-item { min-width: 0; max-width: 100%; white-space: normal; }
.auk-breadcrumb-item + .auk-breadcrumb-item::before { flex-shrink: 0; }
.auk-breadcrumb-link { min-width: 24px; max-width: 100%; overflow-wrap: anywhere; }
body.page-id-423 a[href="/locations/north-east/hexham/"],
body.page-id-423 a[href="/locations/north-east/morpeth/"] { display: inline-flex; align-items: center; min-width: 24px; min-height: 24px; }

/* Narrow archive screens: decorative chevrons must not cover cards or counts. */
@media (max-width: 480px) {
  body.post-type-archive-case_study .auk-scroll-indicator[aria-hidden="true"],
  body.post-type-archive-insight .auk-scroll-indicator[aria-hidden="true"] {
    display: none;
  }
}

/* Case archive: keep the two-tone keyboard focus ring inside the clipped card. */
body.post-type-archive-case_study .auk-cs-card > .auk-cs-card__link:focus-visible {
	outline: 3px solid #0a2240 !important;
	outline-offset: -6px !important;
	box-shadow: inset 0 0 0 3px #ffffff !important;
	border-radius: inherit;
}
