/**
 * Administrator Advanced Design — local CSS variables on .hk-section.
 * Preset classes remain the default. Rules apply only when a modifier is present.
 * Typography targets headings/quotes, not body copy.
 *
 * Breakpoints:
 *   desktop  ≥ 961px
 *   tablet   761–960px  (inherits desktop)
 *   mobile   ≤ 760px    (inherits tablet, then desktop)
 */

/* ---- Layout / size ---- */
.hk-section.hk-local-max > .hk-section__inner {
	max-width: var(--hk-local-max-width);
}

.hk-section.hk-local-minh {
	min-height: var(--hk-local-min-height);
}

.hk-section.hk-local-inner-max .hk-hero__copy,
.hk-section.hk-local-inner-max .hk-imagetext__copy,
.hk-section.hk-local-inner-max .hk-cta__copy,
.hk-section.hk-local-inner-max .hk-richtext__body,
.hk-section.hk-local-inner-max .hk-enquiry__copy,
.hk-section.hk-local-inner-max .hk-faq__intro {
	max-width: var(--hk-local-inner-max-width);
}

.hk-section.hk-local-img-max .hk-hero__media,
.hk-section.hk-local-img-max .hk-imagetext__media,
.hk-section.hk-local-img-max .hk-plate__figure,
.hk-section.hk-local-img-max .hk-cta__media,
.hk-section.hk-local-img-max .hk-pair__item,
.hk-section.hk-local-img-max .hk-gallery__item {
	max-width: var(--hk-local-image-max-width);
}

.hk-section.hk-local-stack--stack .hk-hero__grid,
.hk-section.hk-local-stack--stack .hk-imagetext__grid,
.hk-section.hk-local-stack--stack .hk-cta__grid,
.hk-section.hk-local-stack--stack .hk-pair__grid,
.hk-section.hk-local-stack--stack .hk-enquiry__grid,
.hk-section.hk-local-stack--stack .hk-compare-proscons {
	grid-template-columns: 1fr;
}

.hk-section.hk-local-stack--row .hk-hero__grid,
.hk-section.hk-local-stack--row .hk-imagetext__grid {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

.hk-section.hk-local-media--text .hk-imagetext__copy,
.hk-section.hk-local-media--text .hk-hero__copy {
	order: -1;
}

.hk-section.hk-local-media--image .hk-imagetext__media,
.hk-section.hk-local-media--image .hk-hero__media {
	order: -1;
}

/* ---- Title / heading typography (not body) ---- */
.hk-section.hk-local-title .hk-hero__title,
.hk-section.hk-local-title .hk-imagetext__title,
.hk-section.hk-local-title .hk-cta__heading,
.hk-section.hk-local-title .hk-pullquote__quote p,
.hk-section.hk-local-title .hk-plate__heading,
.hk-section.hk-local-title .editorial-note__heading,
.hk-section.hk-local-title .hk-divider__label,
.hk-section.hk-local-title .hk-pair__heading,
.hk-section.hk-local-title .hk-features__heading,
.hk-section.hk-local-title .hk-compare__heading,
.hk-section.hk-local-title .hk-feed__heading,
.hk-section.hk-local-title .hk-related__heading,
.hk-section.hk-local-title .hk-enquiry__heading {
	font-family: var(--hk-local-title-font, inherit);
	font-size: var(--hk-local-title-size, inherit);
	font-weight: var(--hk-local-title-weight, inherit);
	line-height: var(--hk-local-title-leading, inherit);
	letter-spacing: var(--hk-local-title-tracking, inherit);
	text-transform: var(--hk-local-title-transform, inherit);
}

.hk-section.hk-local-standfirst .hk-hero__standfirst {
	font-size: var(--hk-local-standfirst-size);
}

.hk-section.hk-local-stat-value .hk-stats__value {
	font-size: var(--hk-local-stat-value-size, inherit);
	font-family: var(--hk-local-stat-value-font, inherit);
}

.hk-section.hk-local-stat-label .hk-stats__label {
	font-size: var(--hk-local-stat-label-size);
}

.hk-section.hk-local-align {
	text-align: var(--hk-local-text-align);
}

.hk-section.hk-local-align .btn-group {
	justify-content: var(--hk-local-justify, center);
}

/* ---- Spacing ---- */
.hk-section.hk-local-pad-top { padding-top: var(--hk-local-padding-top); }
.hk-section.hk-local-pad-right { padding-right: var(--hk-local-padding-right); }
.hk-section.hk-local-pad-bottom { padding-bottom: var(--hk-local-padding-bottom); }
.hk-section.hk-local-pad-left { padding-left: var(--hk-local-padding-left); }

.hk-section.hk-local-mar-top { margin-top: var(--hk-local-margin-top); }
.hk-section.hk-local-mar-right { margin-right: var(--hk-local-margin-right); }
.hk-section.hk-local-mar-bottom { margin-bottom: var(--hk-local-margin-bottom); }
.hk-section.hk-local-mar-left { margin-left: var(--hk-local-margin-left); }

.hk-section.hk-local-gap .hk-hero__grid,
.hk-section.hk-local-gap .hk-imagetext__grid,
.hk-section.hk-local-gap .hk-cta__grid,
.hk-section.hk-local-gap .hk-stats,
.hk-section.hk-local-gap .hk-pair__grid,
.hk-section.hk-local-gap .hk-gallery__grid,
.hk-section.hk-local-gap .hk-features__list,
.hk-section.hk-local-gap .hk-enquiry__grid,
.hk-section.hk-local-gap .hk-feed__items--cards {
	gap: var(--hk-local-gap);
}

.hk-section.hk-local-gap-row .hk-hero__grid,
.hk-section.hk-local-gap-row .hk-imagetext__grid,
.hk-section.hk-local-gap-row .hk-cta__grid {
	row-gap: var(--hk-local-row-gap);
}

.hk-section.hk-local-gap-col .hk-hero__grid,
.hk-section.hk-local-gap-col .hk-imagetext__grid,
.hk-section.hk-local-gap-col .hk-cta__grid,
.hk-section.hk-local-gap-col .hk-stats {
	column-gap: var(--hk-local-col-gap);
}

/* ---- Colours ---- */
.hk-section.hk-local-bg {
	background: var(--hk-local-bg);
}

.hk-section.hk-local-color {
	color: var(--hk-local-color);
}

.hk-section.hk-local-heading-color .hk-hero__title,
.hk-section.hk-local-heading-color .hk-imagetext__title,
.hk-section.hk-local-heading-color .hk-cta__heading,
.hk-section.hk-local-heading-color .hk-pullquote__quote p,
.hk-section.hk-local-heading-color .hk-plate__heading,
.hk-section.hk-local-heading-color .editorial-note__heading,
.hk-section.hk-local-heading-color .hk-pair__heading,
.hk-section.hk-local-heading-color .hk-features__heading,
.hk-section.hk-local-heading-color .hk-compare__heading,
.hk-section.hk-local-heading-color .hk-feed__heading,
.hk-section.hk-local-heading-color .hk-related__heading,
.hk-section.hk-local-heading-color .hk-enquiry__heading {
	color: var(--hk-local-heading-color);
}

.hk-section.hk-local-accent .hk-hero__number,
.hk-section.hk-local-accent .eyebrow,
.hk-section.hk-local-accent .editorial-note::before {
	color: var(--hk-local-accent);
}

/* ---- Border ---- */
.hk-section.hk-local-bw,
.hk-section.hk-local-bs,
.hk-section.hk-local-bcolor {
	border-width: var(--hk-local-border-width, 1px);
	border-style: var(--hk-local-border-style, solid);
	border-color: var(--hk-local-border-color, var(--color-border));
}

.hk-section.hk-local-radius {
	border-radius: var(--hk-local-radius);
}

/* ---- Desktop visibility ≥ 961px ---- */
@media (min-width: 961px) {
	.hk-hide-desktop {
		display: none !important;
	}
}

/* ---- Tablet 761–960px: inherit desktop unless a tablet modifier exists ---- */
@media (max-width: 960px) {
	.hk-section.hk-local-pad-tablet-top { padding-top: var(--hk-local-padding-tablet-top); }
	.hk-section.hk-local-pad-tablet-right { padding-right: var(--hk-local-padding-tablet-right); }
	.hk-section.hk-local-pad-tablet-bottom { padding-bottom: var(--hk-local-padding-tablet-bottom); }
	.hk-section.hk-local-pad-tablet-left { padding-left: var(--hk-local-padding-tablet-left); }

	.hk-section.hk-local-mar-tablet-top { margin-top: var(--hk-local-margin-tablet-top); }
	.hk-section.hk-local-mar-tablet-right { margin-right: var(--hk-local-margin-tablet-right); }
	.hk-section.hk-local-mar-tablet-bottom { margin-bottom: var(--hk-local-margin-tablet-bottom); }
	.hk-section.hk-local-mar-tablet-left { margin-left: var(--hk-local-margin-tablet-left); }

	.hk-section.hk-local-gap-tablet .hk-hero__grid,
	.hk-section.hk-local-gap-tablet .hk-imagetext__grid,
	.hk-section.hk-local-gap-tablet .hk-cta__grid {
		gap: var(--hk-local-gap-tablet);
	}

	.hk-section.hk-local-title-tablet .hk-hero__title,
	.hk-section.hk-local-title-tablet .hk-imagetext__title,
	.hk-section.hk-local-title-tablet .hk-cta__heading,
	.hk-section.hk-local-title-tablet .hk-pullquote__quote p,
	.hk-section.hk-local-title-tablet .hk-plate__heading,
	.hk-section.hk-local-title-tablet .editorial-note__heading {
		font-size: var(--hk-local-title-size-tablet);
	}

	.hk-section.hk-local-align-tablet {
		text-align: var(--hk-local-text-align-tablet);
	}

	.hk-section.hk-local-stack-tablet--stack .hk-hero__grid,
	.hk-section.hk-local-stack-tablet--stack .hk-imagetext__grid,
	.hk-section.hk-local-stack-tablet--stack .hk-cta__grid {
		grid-template-columns: 1fr;
	}

	.hk-section.hk-local-stack-tablet--row .hk-hero__grid,
	.hk-section.hk-local-stack-tablet--row .hk-imagetext__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.hk-section.hk-local-media-tablet--text .hk-imagetext__copy,
	.hk-section.hk-local-media-tablet--text .hk-hero__copy {
		order: -1;
	}

	.hk-section.hk-local-media-tablet--image .hk-imagetext__media,
	.hk-section.hk-local-media-tablet--image .hk-hero__media {
		order: -1;
	}
}

@media (max-width: 960px) and (min-width: 761px) {
	.hk-hide-tablet {
		display: none !important;
	}
}

/* ---- Mobile ≤ 760px: inherit tablet then desktop ---- */
@media (max-width: 760px) {
	.hk-section.hk-local-pad-mobile-top { padding-top: var(--hk-local-padding-mobile-top); }
	.hk-section.hk-local-pad-mobile-right { padding-right: var(--hk-local-padding-mobile-right); }
	.hk-section.hk-local-pad-mobile-bottom { padding-bottom: var(--hk-local-padding-mobile-bottom); }
	.hk-section.hk-local-pad-mobile-left { padding-left: var(--hk-local-padding-mobile-left); }

	.hk-section.hk-local-mar-mobile-top { margin-top: var(--hk-local-margin-mobile-top); }
	.hk-section.hk-local-mar-mobile-right { margin-right: var(--hk-local-margin-mobile-right); }
	.hk-section.hk-local-mar-mobile-bottom { margin-bottom: var(--hk-local-margin-mobile-bottom); }
	.hk-section.hk-local-mar-mobile-left { margin-left: var(--hk-local-margin-mobile-left); }

	.hk-section.hk-local-gap-mobile .hk-hero__grid,
	.hk-section.hk-local-gap-mobile .hk-imagetext__grid,
	.hk-section.hk-local-gap-mobile .hk-cta__grid {
		gap: var(--hk-local-gap-mobile);
	}

	.hk-section.hk-local-title-mobile .hk-hero__title,
	.hk-section.hk-local-title-mobile .hk-imagetext__title,
	.hk-section.hk-local-title-mobile .hk-cta__heading,
	.hk-section.hk-local-title-mobile .hk-pullquote__quote p,
	.hk-section.hk-local-title-mobile .hk-plate__heading,
	.hk-section.hk-local-title-mobile .editorial-note__heading {
		font-size: var(--hk-local-title-size-mobile);
	}

	.hk-section.hk-local-align-mobile {
		text-align: var(--hk-local-text-align-mobile);
	}

	.hk-section.hk-local-stack-mobile--stack .hk-hero__grid,
	.hk-section.hk-local-stack-mobile--stack .hk-imagetext__grid,
	.hk-section.hk-local-stack-mobile--stack .hk-cta__grid {
		grid-template-columns: 1fr;
	}

	.hk-section.hk-local-stack-mobile--row .hk-hero__grid,
	.hk-section.hk-local-stack-mobile--row .hk-imagetext__grid {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.hk-section.hk-local-media-mobile--text .hk-imagetext__copy,
	.hk-section.hk-local-media-mobile--text .hk-hero__copy {
		order: -1;
	}

	.hk-section.hk-local-media-mobile--image .hk-imagetext__media,
	.hk-section.hk-local-media-mobile--image .hk-hero__media {
		order: -1;
	}

	.hk-hide-mobile {
		display: none !important;
	}
}
