/*
 * UK SARMs theme: base styles.
 *
 * Colours, font sizes and spacing are defined once, in theme.json (the block
 * editor offers exactly those); the tokens below read them, with the same
 * values as fallback. Components use tokens only.
 */

/* ---------- Font: Inter (self-hosted, SIL OFL 1.1, see assets/fonts/LICENSE.txt) ---------- */
@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

@font-face {
	font-family: "Inter";
	font-style: normal;
	font-weight: 100 900;
	font-display: swap;
	src: url("../fonts/inter-latin-ext.woff2") format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF;
}

/* ---------- Tokens ---------- */
:root {
	--c-bg: var(--wp--preset--color--white, #ffffff);
	--c-surface: var(--wp--preset--color--surface, #f3f5f4);
	--c-surface-2: #e9eeeb;
	--c-ink: var(--wp--preset--color--ink, #0e1411);
	--c-ink-soft: var(--wp--preset--color--ink-soft, #36423c);
	--c-muted: var(--wp--preset--color--muted, #5f6b66);
	--c-line: var(--wp--preset--color--line, #e2e7e4);
	--c-accent: var(--wp--preset--color--accent, #0f7d44);
	--c-accent-hover: var(--wp--preset--color--accent-dark, #0b6537);
	--c-accent-soft: var(--wp--preset--color--accent-soft, #e7f4ec);
	--c-on-accent: #ffffff;
	--c-notice: var(--wp--preset--color--notice, #fff8e5);
	--c-dark: var(--wp--preset--color--ink, #0e1411);
	--c-on-dark: #ffffff;
	--c-on-dark-soft: #b9c4be;
	--c-sale: var(--wp--preset--color--sale, #d92d20);
	--c-star: #f5a524;
	--c-focus: #2563eb;

	--font-sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
	--font-display: var(--font-sans);

	--fs-xs: var(--wp--preset--font-size--xs, 0.75rem);
	--fs-s: var(--wp--preset--font-size--s, 0.875rem);
	--fs-m: var(--wp--preset--font-size--m, 1rem);
	--fs-l: var(--wp--preset--font-size--l, 1.0625rem);
	--fs-xl: var(--wp--preset--font-size--xl, 1.25rem);
	--fs-2xl: var(--wp--preset--font-size--2xl, clamp(1.375rem, 1.15rem + 0.9vw, 1.875rem));
	--fs-3xl: var(--wp--preset--font-size--3xl, clamp(1.625rem, 1.25rem + 1.6vw, 2.5rem));

	--space-1: var(--wp--preset--spacing--10, 0.25rem);
	--space-2: var(--wp--preset--spacing--20, 0.5rem);
	--space-3: var(--wp--preset--spacing--30, 0.75rem);
	--space-4: var(--wp--preset--spacing--40, 1rem);
	--space-5: var(--wp--preset--spacing--50, 1.5rem);
	--space-6: var(--wp--preset--spacing--60, 2rem);
	--space-7: var(--wp--preset--spacing--70, 3rem);
	--space-8: var(--wp--preset--spacing--80, 4.5rem);
	--section-pad: clamp(3rem, 2.2rem + 3.2vw, 5.5rem);

	--radius-s: 6px;
	--radius-m: 10px;
	--radius-l: 12px;
	--radius-xl: 16px;
	--shadow-card: 0 18px 40px -22px rgb(14 20 17 / 0.28);

	--container: 1280px;
	--gutter: clamp(16px, 4vw, 40px);
	--header-h: 72px;
	--transition: 180ms ease;

	--icon-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--icon-zoom: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5M11 8v6M8 11h6'/%3E%3C/svg%3E");
	--icon-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	--icon-lock: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2'/%3E%3Cpath d='M8 10.5V7.5a4 4 0 0 1 8 0v3'/%3E%3C/svg%3E");
	--icon-bag: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230e1411' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 8h14l-1 13H6L5 8z'/%3E%3Cpath d='M9 8V6a3 3 0 0 1 6 0v2'/%3E%3C/svg%3E");
}

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

html {
	-webkit-text-size-adjust: 100%;
	scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

html.has-drawer-open {
	overflow: hidden;
}

body {
	margin: 0;
	overflow-x: clip;
	background: var(--c-bg);
	color: var(--c-ink);
	font-family: var(--font-sans);
	font-size: 0.9375rem;
	line-height: 1.65;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
}

@media (min-width: 768px) {
	body {
		font-size: var(--fs-m);
	}
}

img,
svg,
video,
iframe {
	max-width: 100%;
}

img,
video {
	height: auto;
}

b,
strong {
	font-weight: 600;
}

a {
	color: var(--c-accent);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

a:hover {
	color: var(--c-accent-hover);
}

:focus-visible {
	outline: 2px solid var(--c-focus);
	outline-offset: 2px;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0 0 var(--space-4);
	color: var(--c-ink);
	font-family: var(--font-display);
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -0.017em;
	text-wrap: balance;
}

h1 {
	font-size: var(--fs-3xl);
	letter-spacing: -0.022em;
}

h2 {
	font-size: var(--fs-2xl);
}

h3 {
	font-size: clamp(1.0625rem, 1rem + 0.35vw, 1.25rem);
	font-weight: 600;
	letter-spacing: -0.01em;
}

h4 {
	font-size: var(--fs-l);
	font-weight: 600;
	letter-spacing: -0.01em;
}

h5,
h6 {
	font-size: var(--fs-m);
	font-weight: 600;
	letter-spacing: 0;
}

p,
ul,
ol,
dl,
table,
figure,
blockquote,
pre {
	margin: 0 0 var(--space-4);
}

hr {
	margin: var(--space-6) 0;
	border: 0;
	border-top: 1px solid var(--c-line);
}

table {
	width: 100%;
	border-collapse: collapse;
}

th,
td {
	padding: var(--space-2) var(--space-3);
	border: 1px solid var(--c-line);
	text-align: left;
	vertical-align: top;
}

blockquote {
	padding-left: var(--space-5);
	border-left: 3px solid var(--c-accent);
	color: var(--c-ink-soft);
}

code,
pre {
	font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
	font-size: 0.9em;
}

/* ---------- Forms & buttons ---------- */
input[type="text"],
input[type="email"],
input[type="search"],
input[type="password"],
input[type="tel"],
input[type="number"],
input[type="url"],
select,
textarea {
	width: 100%;
	min-height: 48px;
	padding: var(--space-2) var(--space-4);
	background: var(--c-bg);
	border: 1.5px solid var(--c-line);
	border-radius: var(--radius-m);
	color: var(--c-ink);
	font: inherit;
	transition: border-color var(--transition), box-shadow var(--transition);
}

textarea {
	min-height: 140px;
	padding-top: var(--space-3);
}

/* 16px in fields on phones: iPhones zoom into smaller text when it is tapped. */
@media (max-width: 767px) {
	input[type="text"],
	input[type="email"],
	input[type="search"],
	input[type="password"],
	input[type="tel"],
	input[type="number"],
	input[type="url"],
	select,
	textarea,
	.site-search input[type="search"] {
		font-size: 16px;
	}
}

input:focus,
select:focus,
textarea:focus {
	border-color: var(--c-ink);
	outline: none;
	box-shadow: 0 0 0 3px rgb(15 125 68 / 0.18);
}

.button,
button[type="submit"],
input[type="submit"],
.wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-2);
	min-height: 48px;
	padding: 0 var(--space-5);
	background: var(--c-accent);
	border: 1.5px solid var(--c-accent);
	border-radius: var(--radius-m);
	color: var(--c-on-accent);
	font: inherit;
	font-size: var(--fs-s);
	font-weight: 600;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	transition: background var(--transition), border-color var(--transition), color var(--transition), transform var(--transition);
}

.button:hover,
button[type="submit"]:hover,
input[type="submit"]:hover,
.wp-block-button__link:hover {
	background: var(--c-accent-hover);
	border-color: var(--c-accent-hover);
	color: var(--c-on-accent);
}

.button:active,
.wp-block-button__link:active {
	transform: translateY(1px);
}

.wp-block-button.is-style-outline .wp-block-button__link,
.button.is-outline {
	background: transparent;
	border-color: var(--c-ink);
	color: var(--c-ink);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover,
.button.is-outline:hover {
	background: var(--c-ink);
	border-color: var(--c-ink);
	color: #ffffff;
}

.icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	padding: 0;
	background: transparent;
	border: 0;
	border-radius: 999px;
	color: inherit;
	cursor: pointer;
	transition: background var(--transition);
}

.icon-button:hover {
	background: var(--c-surface);
}

/* ---------- Accessibility helpers ---------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip-path: inset(50%);
	white-space: nowrap;
}

.skip-link:focus {
	position: fixed !important;
	top: var(--space-2);
	left: var(--space-2);
	z-index: 1000;
	width: auto;
	height: auto;
	padding: var(--space-3) var(--space-4);
	clip-path: none;
	background: var(--c-bg);
	color: var(--c-ink);
	border-radius: var(--radius-s);
	box-shadow: 0 4px 16px rgb(0 0 0 / 0.2);
}

/* ---------- Layout ---------- */
.container {
	width: 100%;
	max-width: calc(var(--container) + 2 * var(--gutter));
	margin-inline: auto;
	padding-inline: var(--gutter);
}

.site-content {
	min-height: 40vh;
}

.layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-7);
	padding-block: var(--space-6) var(--space-8);
}

@media (min-width: 1024px) {
	.layout--sidebar-right {
		grid-template-columns: minmax(0, 1fr) 300px;
	}

	.layout--sidebar-left {
		grid-template-columns: 260px minmax(0, 1fr);
	}

	.layout--sidebar-left > .sidebar {
		grid-column: 1;
		grid-row: 1;
	}

	.layout--sidebar-left > .site-main {
		grid-column: 2;
	}
}

.site-main--full {
	padding-bottom: var(--space-8);
}

.site-main--elementor,
.site-main--blocks {
	padding-bottom: 0;
}

/* ---------- Announcement bar ---------- */
.announcement-bar {
	background: var(--c-dark);
	color: var(--c-on-dark);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.02em;
}

.announcement-bar__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: var(--space-5);
	min-height: 38px;
}

.announcement-bar__text {
	display: flex;
	align-items: center;
	gap: var(--space-2);
	margin: 0;
	padding-block: var(--space-2);
	font-size: 0.6875rem;
	line-height: 1.3;
	text-align: center;
}

.announcement-bar__text .icon {
	flex-shrink: 0;
}

@media (max-width: 400px) {
	.announcement-bar__text .icon {
		display: none;
	}
}

@media (min-width: 768px) {
	.announcement-bar__text {
		font-size: var(--fs-xs);
	}
}

.announcement-bar .secondary-nav {
	display: none;
}

@media (min-width: 1024px) {
	.announcement-bar__inner {
		justify-content: space-between;
	}

	.announcement-bar .secondary-nav {
		display: block;
	}
}

.secondary-nav__list {
	display: flex;
	gap: var(--space-5);
	margin: 0;
	padding: 0;
	list-style: none;
}

.announcement-bar .secondary-nav__list a {
	color: var(--c-on-dark-soft);
	font-weight: 600;
	text-decoration: none;
}

.announcement-bar .secondary-nav__list a:hover {
	color: #ffffff;
}

/* ---------- Header ---------- */
.site-header {
	position: relative;
	z-index: 50;
	background: var(--c-bg);
	border-bottom: 1px solid var(--c-line);
}

.site-header__bar {
	display: grid;
	grid-template-columns: 44px 1fr auto;
	grid-template-areas:
		"toggle brand actions"
		"search search search";
	align-items: center;
	column-gap: var(--space-2);
	row-gap: var(--space-3);
	padding-block: var(--space-3);
}

.nav-toggle {
	grid-area: toggle;
}

.site-branding {
	grid-area: brand;
	justify-self: center;
	min-width: 0;
}

.site-branding__link {
	display: inline-flex;
	color: var(--c-ink);
	text-decoration: none;
}

.site-logo {
	display: block;
	width: auto;
	height: 30px;
}

.site-title {
	font-size: var(--fs-l);
	font-weight: 600;
}

.site-description {
	display: none;
	margin: 3px 0 0;
	color: var(--c-muted);
	font-size: 0.6875rem;
	font-weight: 600;
	line-height: 1.3;
	letter-spacing: 0.02em;
}

.site-search {
	grid-area: search;
	min-width: 0;
}

.site-search form {
	position: relative;
	display: flex;
	margin: 0;
}

.site-search input[type="search"] {
	min-height: 46px;
	padding-right: 52px;
	padding-left: 44px;
	background: var(--c-surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%235f6b66' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 16px 50%;
	border-color: transparent;
	border-radius: 999px;
	font-size: var(--fs-s);
}

.site-search input[type="search"]:focus {
	background-color: var(--c-bg);
	border-color: var(--c-ink);
}

.site-search button[type="submit"] {
	position: absolute;
	top: 4px;
	right: 4px;
	min-height: 38px;
	padding: 0 var(--space-4);
	border-radius: 999px;
	font-size: var(--fs-xs);
}

.header-actions {
	grid-area: actions;
	display: flex;
	align-items: center;
	justify-self: end;
	gap: var(--space-1);
}

.primary-nav {
	display: none;
}

@media (min-width: 1024px) {
	.site-header__bar {
		grid-template-columns: auto minmax(260px, 560px) auto;
		grid-template-areas: "brand search actions";
		justify-content: space-between;
		column-gap: var(--space-6);
		padding-block: var(--space-4);
	}

	.nav-toggle {
		display: none;
	}

	.site-branding {
		justify-self: start;
	}

	.site-logo {
		height: 36px;
	}

	.site-description {
		display: block;
	}

	/* The main menu is a dark bar under the header (the header's own bottom
	   line is not needed above it). */
	.site-header {
		border-bottom: 0;
	}

	.primary-nav {
		display: block;
		background: var(--c-dark);
	}
}

.primary-nav__list {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 0 var(--space-6);
	margin: 0;
	padding: 0;
	list-style: none;
}

.primary-nav__list > li {
	position: relative;
}

.primary-nav__list > li > a {
	display: inline-flex;
	align-items: center;
	gap: var(--space-1);
	padding-block: 14px;
	color: rgb(255 255 255 / 0.86);
	font-size: 0.8125rem;
	font-weight: 500;
	letter-spacing: 0.04em;
	text-decoration: none;
	text-transform: uppercase;
	box-shadow: inset 0 -2px 0 transparent;
	transition: color var(--transition), box-shadow var(--transition);
}

.primary-nav__list > li > a:hover,
.primary-nav__list > li:focus-within > a,
.primary-nav__list > .current-menu-item > a,
.primary-nav__list > .current-menu-ancestor > a {
	color: #ffffff;
	box-shadow: inset 0 -2px 0 #ffffff;
}

.primary-nav__list > .menu-item-has-children > a::after {
	content: "";
	width: 0.42em;
	height: 0.42em;
	margin-left: 0.25em;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-25%) rotate(45deg);
}

/* Nine links on one line on smaller laptops too. */
@media (min-width: 1024px) and (max-width: 1279px) {
	.primary-nav__list {
		gap: 0 var(--space-4);
	}

	.primary-nav__list > li > a {
		font-size: 0.75rem;
		letter-spacing: 0.02em;
	}
}

.primary-nav .sub-menu {
	position: absolute;
	top: 100%;
	left: calc(-1 * var(--space-4));
	z-index: 60;
	min-width: 240px;
	margin: 0;
	padding: var(--space-2);
	list-style: none;
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-m);
	box-shadow: var(--shadow-card);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity var(--transition), transform var(--transition), visibility var(--transition);
}

.primary-nav li:hover > .sub-menu,
.primary-nav li:focus-within > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: none;
}

.primary-nav .sub-menu a {
	display: block;
	padding: var(--space-2) var(--space-3);
	border-radius: var(--radius-s);
	color: var(--c-ink);
	font-size: var(--fs-s);
	font-weight: 600;
	text-decoration: none;
}

.primary-nav .sub-menu a:hover {
	background: var(--c-surface);
	color: var(--c-accent);
}

/* ---------- Mobile drawer ---------- */
.mobile-drawer {
	position: fixed;
	inset: 0;
	z-index: 100;
}

.mobile-drawer__backdrop {
	position: absolute;
	inset: 0;
	background: rgb(14 20 17 / 0.5);
	opacity: 0;
	transition: opacity var(--transition);
}

.mobile-drawer__panel {
	position: absolute;
	inset: 0 auto 0 0;
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
	width: min(360px, 88vw);
	padding: var(--space-4) var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom, 0px));
	overflow-y: auto;
	background: var(--c-bg);
	transform: translateX(-100%);
	transition: transform 240ms ease;
}

.mobile-drawer.is-open .mobile-drawer__backdrop {
	opacity: 1;
}

.mobile-drawer.is-open .mobile-drawer__panel {
	transform: none;
}

.mobile-drawer__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.mobile-drawer__title {
	font-weight: 600;
}

.mobile-nav__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.mobile-nav__list li {
	position: relative;
	border-bottom: 1px solid var(--c-line);
}

.mobile-nav__list a {
	display: block;
	padding: 14px 44px 14px 0;
	color: var(--c-ink);
	font-weight: 600;
	text-decoration: none;
}

.mobile-nav__list .sub-menu {
	display: none;
	margin: 0 0 var(--space-2);
	padding: 0 0 0 var(--space-4);
	list-style: none;
}

.mobile-nav__list .sub-menu li {
	border: 0;
}

.mobile-nav__list .sub-menu a {
	padding-block: var(--space-2);
	font-weight: 500;
}

.mobile-nav__list .is-open > .sub-menu {
	display: block;
}

.submenu-toggle {
	position: absolute;
	top: 3px;
	right: 0;
}

.submenu-toggle .icon {
	transition: transform var(--transition);
}

.is-open > .submenu-toggle .icon {
	transform: rotate(180deg);
}

.mobile-nav--secondary .mobile-nav__list a {
	font-weight: 500;
}

.mobile-drawer__extra {
	font-size: var(--fs-s);
}

@media (min-width: 1024px) {
	.mobile-drawer {
		display: none;
	}
}

/* ---------- Breadcrumbs ---------- */
.woocommerce-breadcrumb,
.breadcrumbs {
	padding-top: var(--space-4);
	color: var(--c-muted);
	font-size: var(--fs-xs);
	font-weight: 500;
}

.woocommerce-breadcrumb a,
.breadcrumbs a {
	color: var(--c-muted);
	text-decoration: none;
}

.woocommerce-breadcrumb a:hover,
.breadcrumbs a:hover {
	color: var(--c-ink);
}

/* ---------- Content ---------- */
.entry-header {
	margin-bottom: var(--space-5);
}

.entry-meta {
	color: var(--c-muted);
	font-size: var(--fs-s);
}

.entry-meta a {
	color: inherit;
}

.entry-thumbnail {
	margin: 0 0 var(--space-6);
}

.entry-thumbnail img {
	display: block;
	width: 100%;
	border-radius: var(--radius-l);
}

.entry-content {
	overflow-wrap: break-word;
}

.single-post .entry-content {
	max-width: 72ch;
	font-size: var(--fs-l);
}

.entry-content > * + h2,
.entry-content > * + h3 {
	margin-top: var(--space-6);
}

.entry-content img {
	border-radius: var(--radius-m);
}

.entry-content .alignleft {
	float: left;
	margin: 0 var(--space-5) var(--space-4) 0;
}

.entry-content .alignright {
	float: right;
	margin: 0 0 var(--space-4) var(--space-5);
}

.entry-content .aligncenter {
	display: block;
	margin-inline: auto;
}

.wp-caption-text,
figcaption {
	color: var(--c-muted);
	font-size: var(--fs-s);
}

.entry-footer {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2) var(--space-5);
	margin-top: var(--space-6);
	padding-top: var(--space-4);
	border-top: 1px solid var(--c-line);
	color: var(--c-muted);
	font-size: var(--fs-s);
}

.icon-flip {
	transform: scaleX(-1);
}

.posts-prev-next {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: var(--space-4);
	margin-top: var(--space-6);
}

.posts-prev-next__item {
	display: flex;
	flex-direction: column;
	gap: var(--space-1);
	padding: var(--space-4) var(--space-5);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-l);
}

.posts-prev-next__item a {
	color: var(--c-ink);
	font-weight: 600;
	text-decoration: none;
}

.posts-prev-next__item a:hover {
	color: var(--c-accent);
}

.posts-prev-next__item--next {
	text-align: right;
}

.nav-label {
	color: var(--c-muted);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

/* ---------- Block content (pages built with blocks) ---------- */
.entry-content--blocks {
	--content-size: 760px;
	--wide-size: var(--container);
	padding-inline: var(--gutter);
	padding-block: var(--space-6) var(--space-7);
}

.entry-content--blocks > * {
	max-width: var(--content-size);
	margin-inline: auto;
}

.entry-content--blocks > .alignwide {
	max-width: var(--wide-size);
}

.entry-content--blocks > .alignfull {
	max-width: none;
	margin-inline: calc(-1 * var(--gutter));
}

.wp-block-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	margin-bottom: var(--space-4);
}

.wp-block-columns {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-5);
	margin-bottom: var(--space-6);
}

.wp-block-column {
	flex: 1 1 260px;
	min-width: 0;
}

@media (min-width: 782px) {
	.wp-block-columns {
		flex-wrap: nowrap;
		gap: var(--space-6);
	}

	.wp-block-column {
		flex-basis: 0;
	}
}

.wp-block-image {
	margin-bottom: var(--space-4);
}

.wp-block-image img {
	display: block;
	max-width: 100%;
	height: auto;
	border-radius: var(--radius-m);
}

.wp-block-gallery {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--space-4);
}

.wp-block-gallery .wp-block-image {
	flex: 1 1 140px;
	margin: 0;
}

.wp-block-table table {
	font-size: var(--fs-s);
}

.wp-block-details {
	padding-block: var(--space-4);
	border-bottom: 1px solid var(--c-line);
}

.wp-block-details summary {
	font-weight: 600;
	cursor: pointer;
}

.wp-block-details[open] summary {
	margin-bottom: var(--space-3);
}

.wp-block-group.is-style-card {
	padding: var(--space-5);
	background: var(--c-bg);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-l);
}

.wp-block-group.is-style-notice {
	padding: var(--space-4) var(--space-5);
	background: var(--c-notice);
	border: 1px solid #e3cf8f;
	border-radius: var(--radius-m);
}

.wp-block-group.is-style-band {
	padding: var(--section-pad) var(--gutter);
	background: var(--c-surface);
}

.wp-block-group.is-style-band > * {
	max-width: var(--content-size, 760px);
	margin-inline: auto;
}

.wp-block-group > :last-child,
.wp-block-column > :last-child,
.wp-block-group__inner-container > :last-child {
	margin-bottom: 0;
}

ul.is-style-checks {
	padding-left: 0;
	list-style: none;
}

ul.is-style-checks li {
	position: relative;
	padding-left: 1.9em;
}

ul.is-style-checks li + li {
	margin-top: var(--space-2);
}

ul.is-style-checks li::before {
	content: "";
	position: absolute;
	top: 0.3em;
	left: 0;
	width: 1.2em;
	height: 1.2em;
	background: var(--c-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7d44' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") no-repeat 50% / 62%;
	border-radius: 999px;
}

p.is-style-lead {
	color: var(--c-ink-soft);
	font-size: var(--fs-l);
}

p.is-style-small-print {
	color: var(--c-muted);
	font-size: var(--fs-xs);
}

.has-text-align-center {
	text-align: center;
}

/* Latest posts ([uksarms_latest_posts]) */
.uksarms-latest-posts {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-5) var(--space-4);
	margin-bottom: var(--space-5);
}

@media (min-width: 900px) {
	.uksarms-latest-posts {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--space-5);
	}
}

.uksarms-latest-posts__item {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.uksarms-latest-posts__media img {
	display: block;
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--radius-m);
}

.uksarms-latest-posts__title {
	margin: var(--space-1) 0 0;
	font-size: var(--fs-m);
	font-weight: 600;
	line-height: 1.35;
	letter-spacing: -0.01em;
}

.uksarms-latest-posts__title a {
	color: var(--c-ink);
	text-decoration: none;
}

.uksarms-latest-posts__title a:hover {
	color: var(--c-accent);
}

.uksarms-latest-posts__more {
	font-size: var(--fs-s);
	font-weight: 600;
	text-decoration: none;
}

/* ---------- Post lists ---------- */
.page-header {
	margin-bottom: var(--space-6);
}

.taxonomy-description {
	max-width: 72ch;
	color: var(--c-ink-soft);
}

.post-list {
	display: grid;
	gap: var(--space-6);
}

.post-card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-4);
	padding-bottom: var(--space-6);
	border-bottom: 1px solid var(--c-line);
}

@media (min-width: 700px) {
	.post-card:has(.post-card__media) {
		grid-template-columns: 260px minmax(0, 1fr);
		gap: var(--space-5);
	}
}

.post-card__media img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	border-radius: var(--radius-m);
}

.post-card .entry-header {
	margin-bottom: var(--space-3);
}

.post-card .entry-title {
	margin-bottom: var(--space-2);
	font-size: var(--fs-xl);
}

.post-card .entry-title a {
	color: var(--c-ink);
	text-decoration: none;
}

.post-card .entry-title a:hover {
	color: var(--c-accent);
}

.post-card .entry-summary p:last-child {
	margin-bottom: var(--space-3);
}

.read-more {
	font-weight: 600;
}

.pagination .nav-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-2);
	margin-top: var(--space-6);
}

.pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 var(--space-3);
	border: 1px solid var(--c-line);
	border-radius: var(--radius-m);
	color: var(--c-ink);
	text-decoration: none;
}

.pagination .page-numbers.current {
	background: var(--c-ink);
	border-color: var(--c-ink);
	color: var(--c-bg);
}

.no-results,
.error-404 {
	padding-block: var(--space-7);
}

.error-404 {
	max-width: 640px;
}

/* ---------- Sidebars & widgets ---------- */
.sidebar {
	display: flex;
	flex-direction: column;
	gap: var(--space-6);
	font-size: var(--fs-s);
}

.widget-title {
	display: block;
	margin-bottom: var(--space-3);
	color: var(--c-ink);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

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

.widget li {
	padding-block: var(--space-1);
}

.sidebar .widget a {
	color: var(--c-ink-soft);
	text-decoration: none;
}

.sidebar .widget a:hover {
	color: var(--c-accent);
}

/* ---------- Comments ---------- */
.comments-area {
	margin-top: var(--space-7);
}

.comment-list {
	padding: 0;
	list-style: none;
}

.comment-list .comment {
	padding-block: var(--space-4);
	border-bottom: 1px solid var(--c-line);
}

/* ---------- Footer ---------- */
.site-footer {
	background: var(--c-dark);
	color: var(--c-on-dark-soft);
	font-size: var(--fs-s);
}

.site-footer a {
	color: var(--c-on-dark-soft);
	text-decoration: none;
}

.site-footer a:hover {
	color: #ffffff;
}

.site-footer__main {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-7);
	padding-block: var(--space-8) var(--space-6);
}

@media (min-width: 1024px) {
	.site-footer__main {
		grid-template-columns: 240px minmax(0, 1fr);
		gap: var(--space-8);
	}
}

.site-footer__logo {
	display: inline-flex;
}

/* The logo is black; the footer shows it white. */
.site-footer__logo img {
	display: block;
	width: auto;
	height: 34px;
	filter: brightness(0) invert(1);
}

.site-footer__tagline {
	margin: var(--space-3) 0 0;
	color: var(--c-on-dark-soft);
	font-size: var(--fs-s);
	line-height: 1.5;
}

.site-footer__widgets {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-6) var(--space-5);
}

@media (min-width: 768px) {
	.site-footer__widgets {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (min-width: 1200px) {
	.site-footer__widgets {
		grid-template-columns: repeat(5, minmax(0, 1fr));
	}
}

.site-footer .widget-title {
	margin-bottom: var(--space-4);
	color: #ffffff;
	font-size: var(--fs-xs);
	letter-spacing: 0.12em;
}

.site-footer .widget li {
	padding-block: 5px;
	line-height: 1.4;
}

/* Research-use disclaimer (text widget) under the menus */
.site-footer__widgets .widget_text,
.site-footer__widgets .widget_block {
	grid-column: 1 / -1;
	padding-top: var(--space-5);
	border-top: 1px solid rgb(255 255 255 / 0.1);
	color: #8a968f;
	font-size: var(--fs-xs);
	line-height: 1.6;
}

.site-footer__widgets .widget_text p:last-child {
	margin-bottom: 0;
}

.site-footer__notices {
	padding-block: var(--space-5);
	border-top: 1px solid rgb(255 255 255 / 0.1);
	color: #8a968f;
	font-size: var(--fs-xs);
	line-height: 1.6;
}

.site-footer__notices p:last-child,
.site-footer__notices .widget:last-child {
	margin-bottom: 0;
}

.site-footer__bottom {
	padding-block: var(--space-5) calc(var(--space-5) + env(safe-area-inset-bottom, 0px));
	border-top: 1px solid rgb(255 255 255 / 0.1);
	color: #8a968f;
	font-size: var(--fs-xs);
	line-height: 1.6;
}

.site-footer__bottom .container {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--space-4);
	text-align: center;
}

@media (min-width: 900px) {
	.site-footer__bottom .container {
		flex-direction: row;
		justify-content: space-between;
	}
}

.site-footer__bottom .widget:empty,
.site-footer__bottom .widget_block:not(:has(*)) {
	display: none;
}

.site-footer__bottom p:last-child {
	margin-bottom: 0;
}

/* Payment cards image. The widget writes max-width/height inline; they make it collapse to 0 here. */
.site-footer__bottom .widget_media_image img {
	display: block;
	width: auto !important;
	max-width: none !important;
	height: 26px !important;
}

.site-footer__bottom .footer-social {
	display: block;
	width: 32px;
	height: 32px;
}

/* Footer text widgets were written with inline font, size and colour for the old theme. */
.site-footer .textwidget p {
	color: #8a968f !important;
	font-family: inherit !important;
	font-size: var(--fs-xs) !important;
	line-height: 1.6;
}

.site-footer__notices .custom-html-widget > div {
	font-size: var(--fs-xs) !important;
}

/* The footer NOTE widget's text has font-family: helvetica written inline. */
.site-footer .textwidget [style*="font-family"] {
	font-family: inherit !important;
}

/* ---------- FAQ accordion (Ultimate FAQs plugin output): pages and the text under category grids ---------- */
:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faqs {
	border-top: 1px solid var(--c-line);
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-div {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--c-line);
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-title a.ewd-ufaq-post-margin {
	display: flex;
	align-items: center;
	gap: var(--space-4);
	padding: var(--space-4) 0;
	color: var(--c-ink);
	text-decoration: none;
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-title .ewd-ufaq-faq-title-text {
	flex: 1 1 auto;
	float: none;
	width: auto;
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-title .ewd-ufaq-faq-title-text h4 {
	display: block;
	margin: 0 !important;
	font-size: var(--fs-m);
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: -0.005em;
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-title a.ewd-ufaq-post-margin:hover h4 {
	color: var(--c-accent);
}

/* The plugin's icon-font symbol is replaced by a chevron that turns when open. */
:is(.entry-content, .below-woocommerce-category) div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin-symbol {
	order: 2;
	flex: 0 0 32px;
	float: none;
	width: 32px;
	height: 32px;
	margin: 0;
	padding: 0;
	background: var(--c-surface);
	border: 0;
	border-radius: 999px;
	transition: transform var(--transition), background var(--transition);
}

:is(.entry-content, .below-woocommerce-category) div.ewd-ufaq-faq-title div.ewd-ufaq-post-margin-symbol::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: var(--c-ink);
	-webkit-mask: var(--icon-chevron) no-repeat 50% / 16px;
	mask: var(--icon-chevron) no-repeat 50% / 16px;
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-title .ewd-ufaq-post-margin-symbol span,
:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-title .ewd-ufaq-clear {
	display: none;
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-title:has(+ .ewd-ufaq-faq-body:not(.ewd-ufaq-hidden)) .ewd-ufaq-post-margin-symbol {
	transform: rotate(180deg);
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-body .ewd-ufaq-faq-post {
	padding: 0 0 var(--space-5);
	color: var(--c-ink-soft);
	font-size: var(--fs-s);
}

:is(.entry-content, .below-woocommerce-category) .ewd-ufaq-faq-body .ewd-ufaq-faq-post > :last-child {
	margin-bottom: 0;
}

/* ==========================================================================
   Page sections
   Classes set on blocks in the page content (home page). Section spacing
   comes from here, so the blocks carry no spacing of their own.
   ========================================================================== */

/* A full-width block at the very top or bottom sits flush against the header or footer. */
.entry-content--blocks > .alignfull:first-child {
	margin-top: calc(-1 * var(--space-6));
}

.entry-content--blocks > .alignfull:last-child {
	margin-bottom: calc(-1 * var(--space-7));
}

.home-band {
	padding: var(--section-pad) var(--gutter);
	background: var(--c-surface);
}

.home-band > * {
	max-width: var(--container);
	margin-inline: auto;
}

.home-section {
	padding-block: var(--section-pad);
}

/* "View all" style button under a section: full width on phones, centered after. */
.entry-content .section-footer {
	justify-content: center;
	margin: var(--space-5) 0 0;
}

.section-footer .wp-block-button,
.section-footer .wp-block-button__link {
	width: 100%;
}

.section-footer .wp-block-button__link::after {
	content: "";
	flex-shrink: 0;
	width: 16px;
	height: 16px;
	background: currentColor;
	-webkit-mask: var(--icon-arrow) no-repeat 50% / contain;
	mask: var(--icon-arrow) no-repeat 50% / contain;
	transition: transform var(--transition);
}

.section-footer .wp-block-button__link:hover::after {
	transform: translateX(3px);
}

@media (min-width: 600px) {
	.section-footer .wp-block-button,
	.section-footer .wp-block-button__link {
		width: auto;
	}

	.section-footer .wp-block-button__link {
		min-width: 240px;
	}
}

/* ---------- Hero image ---------- */
/* The banner fades into the white page at the bottom. */
.wp-block-image.home-hero {
	position: relative;
	margin-bottom: 0;
}

.wp-block-image.home-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(to bottom, rgb(255 255 255 / 0) 55%, #ffffff 100%);
	pointer-events: none;
}

/* Phones and tablets: full width, a minimum height, cropped at the sides if needed. */
.entry-content .wp-block-image.home-hero img {
	display: block;
	width: 100%;
	height: clamp(210px, 44vw, 380px);
	object-fit: cover;
	border-radius: 0;
}

/* Large screens: the whole picture, not cropped, at a moderate width; the side edges fade too. */
@media (min-width: 1024px) {
	.entry-content--blocks > .alignfull.home-hero {
		max-width: 1040px;
		margin-inline: auto;
	}

	.entry-content .wp-block-image.home-hero img {
		height: auto;
	}

	.wp-block-image.home-hero::after {
		background:
			linear-gradient(to bottom, rgb(255 255 255 / 0) 55%, #ffffff 100%),
			linear-gradient(to right, #ffffff 0, rgb(255 255 255 / 0) 14%, rgb(255 255 255 / 0) 86%, #ffffff 100%);
	}
}

/* ---------- Intro: H1, text and key facts ---------- */
.home-intro {
	padding-block: var(--space-5) var(--space-2);
	text-align: center;
}

@media (min-width: 1024px) {
	.home-intro {
		padding-top: var(--space-6);
	}
}

.home-intro h1 {
	max-width: 880px;
	margin-inline: auto;
}

.entry-content .home-intro > p {
	max-width: 680px;
	margin-inline: auto;
	color: var(--c-ink-soft);
}

ul.home-usps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-2);
	max-width: 1080px;
	margin: var(--space-6) auto 0;
	padding: 0;
	list-style: none;
	text-align: left;
}

@media (min-width: 900px) {
	ul.home-usps {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		gap: var(--space-4);
	}
}

ul.home-usps li {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 56px;
	margin: 0;
	padding: 10px 12px;
	background: var(--c-surface);
	border-radius: var(--radius-m);
	font-size: 0.78125rem;
	font-weight: 600;
	line-height: 1.3;
}

@media (min-width: 900px) {
	ul.home-usps li {
		gap: var(--space-3);
		padding: var(--space-3) var(--space-4);
		font-size: var(--fs-s);
	}
}

ul.home-usps li::before {
	content: "";
	flex: 0 0 30px;
	height: 30px;
	background: var(--c-bg) var(--usp-icon) no-repeat 50% / 16px;
	border-radius: 999px;
}

@media (min-width: 900px) {
	ul.home-usps li::before {
		flex-basis: 34px;
		height: 34px;
		background-size: 18px;
	}
}

ul.home-usps li:nth-child(4n + 1) {
	--usp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7d44' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.5 3h5'/%3E%3Cpath d='M10.5 3v6.2L5 18.5A1.7 1.7 0 0 0 6.5 21h11a1.7 1.7 0 0 0 1.5-2.5L13.5 9.2V3'/%3E%3Cpath d='M7.5 15h9'/%3E%3C/svg%3E");
}

ul.home-usps li:nth-child(4n + 2) {
	--usp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7d44' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M8.5 12.3l2.4 2.4 4.6-4.9'/%3E%3C/svg%3E");
}

ul.home-usps li:nth-child(4n + 3) {
	--usp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7d44' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3v5.5c0 4.5-3.2 8.2-7.5 9.5-4.3-1.3-7.5-5-7.5-9.5V6z'/%3E%3Cpath d='M8.75 12.25l2.25 2.25 4.25-4.5'/%3E%3C/svg%3E");
}

ul.home-usps li:nth-child(4n + 4) {
	--usp-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7d44' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12a8 8 0 1 0 2.4-5.7'/%3E%3Cpath d='M4 4.5v4h4'/%3E%3C/svg%3E");
}

/* Delivery strip under the key facts: dark, as wide as the facts row.
   Phones: two columns, icon above the text. Larger screens: icon beside it. */
ul.home-delivery {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	max-width: 1080px;
	margin: var(--space-3) auto 0;
	padding: 0;
	overflow: hidden;
	list-style: none;
	background: var(--c-dark);
	border-radius: var(--radius-l);
	color: var(--c-on-dark-soft);
	text-align: center;
}

ul.home-delivery li {
	position: relative;
	margin: 0;
	padding: var(--space-3) var(--space-2);
	font-size: 0.6875rem;
	line-height: 1.35;
	text-wrap: balance;
}

ul.home-delivery li + li {
	border-left: 1px solid rgb(255 255 255 / 0.12);
}

ul.home-delivery li::before {
	content: "";
	display: block;
	width: 28px;
	height: 28px;
	margin: 0 auto 6px;
	background: var(--c-accent) var(--delivery-icon) no-repeat 50% / 15px;
	border-radius: 999px;
}

ul.home-delivery li:nth-child(odd) {
	--delivery-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='8.5'/%3E%3Cpath d='M12 7.5V12l3 2'/%3E%3C/svg%3E");
}

ul.home-delivery li:nth-child(even) {
	--delivery-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M13.5 16.5V6.5h-11v10h2.2'/%3E%3Cpath d='M8.3 16.5h5.2'/%3E%3Cpath d='M13.5 9.5h4l3.5 3.5v3.5h-2.2'/%3E%3Cpath d='M15.2 16.5h-1.7'/%3E%3Ccircle cx='6.5' cy='16.5' r='1.8'/%3E%3Ccircle cx='17' cy='16.5' r='1.8'/%3E%3C/svg%3E");
}

ul.home-delivery strong {
	display: block;
	margin-bottom: 1px;
	color: #ffffff;
	font-size: 0.8125rem;
	font-weight: 600;
	letter-spacing: -0.01em;
}

@media (min-width: 700px) {
	ul.home-delivery {
		text-align: left;
	}

	ul.home-delivery li {
		padding: var(--space-4) var(--space-5) var(--space-4) calc(var(--space-5) + 56px);
		font-size: var(--fs-s);
		line-height: 1.4;
	}

	ul.home-delivery li::before {
		position: absolute;
		top: 50%;
		left: var(--space-5);
		width: 42px;
		height: 42px;
		margin: -21px 0 0;
		background-size: 22px;
	}

	ul.home-delivery strong {
		margin-bottom: 0;
		font-size: var(--fs-m);
	}
}

@media (min-width: 900px) {
	ul.home-delivery {
		margin-top: var(--space-4);
	}
}

/* ---------- Quality: key points and standards, on a light band ---------- */
.home-quality > h2 {
	max-width: 760px;
	margin: 0 auto var(--space-6);
}

.entry-content .home-points,
.entry-content .home-standards {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-3);
	margin-bottom: 0;
}

.entry-content .home-standards {
	margin-top: var(--space-3);
}

@media (min-width: 782px) {
	.entry-content .home-points,
	.entry-content .home-standards {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: var(--space-5);
	}

	.entry-content .home-standards {
		margin-top: var(--space-5);
	}
}

.home-points > .wp-block-column {
	padding: var(--space-5);
	background: var(--c-bg);
	border-radius: var(--radius-l);
}

/* Phones: the three points share one card, separated by lines. */
@media (max-width: 781px) {
	.entry-content .home-points {
		gap: 0;
		overflow: hidden;
		background: var(--c-bg);
		border-radius: var(--radius-l);
	}

	.home-points > .wp-block-column {
		border-radius: 0;
	}

	.home-points > .wp-block-column + .wp-block-column {
		border-top: 1px solid var(--c-line);
	}
}

.home-points h4 {
	margin: 0 0 var(--space-2);
}

.entry-content .home-points p,
.entry-content .home-standards p {
	margin: 0;
	color: var(--c-ink-soft);
	font-size: var(--fs-s);
}

.home-standards .wp-block-group.is-style-card {
	height: 100%;
	padding: var(--space-5);
	border: 0;
}

.home-standards .wp-block-group.is-style-card > * {
	margin-block: 0;
}

.entry-content .home-standards .wp-block-image.home-badge {
	margin-bottom: var(--space-4);
}

.entry-content .home-standards .home-badge img {
	width: auto;
	height: 64px;
	border-radius: 0;
}

.entry-content .home-standards .is-style-card h3 {
	margin-bottom: var(--space-2);
	font-size: var(--fs-l);
}

/* ---------- FAQ ---------- */
.entry-content .home-faq__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-6);
	margin-bottom: 0;
}

@media (min-width: 900px) {
	.entry-content .home-faq__grid {
		grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
		align-items: start;
		gap: var(--space-8);
	}

	.home-faq__grid > .wp-block-column:last-child {
		position: sticky;
		top: var(--space-5);
	}
}

.home-faq__grid .wp-block-image {
	margin: 0;
}

.entry-content .home-faq__grid .wp-block-image img {
	width: 100%;
	border-radius: var(--radius-l);
}

/* ---------- Reviews ---------- */
.home-reviews {
	text-align: center;
}

.home-reviews > h2 {
	max-width: 900px;
	margin-inline: auto;
}

/* The heading has two line breaks in a row; one is enough. */
.home-reviews > h2 br + br {
	display: none;
}

.entry-content .home-reviews > p {
	max-width: 640px;
	margin-inline: auto;
	color: var(--c-ink-soft);
}

.home-reviews #reviewsio-carousel-widget {
	margin-top: var(--space-6);
	text-align: left;
}

/* ---------- Promotion ---------- */
.home-promo {
	padding-bottom: 0;
}

.entry-content .home-promo__card {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	align-items: center;
	gap: var(--space-6);
	margin: 0;
	padding: var(--space-7) var(--space-5);
	overflow: hidden;
	background: radial-gradient(120% 100% at 90% 20%, #1d4a33 0%, var(--c-dark) 62%);
	border-radius: var(--radius-xl);
	color: var(--c-on-dark-soft);
}

@media (min-width: 782px) {
	.entry-content .home-promo__card {
		grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
		padding: var(--space-7) var(--space-8);
	}
}

.home-promo__card h2 {
	color: #ffffff;
}

.entry-content .home-promo__card h3 {
	margin-top: var(--space-3);
	color: var(--c-on-dark-soft);
	font-size: var(--fs-m);
	font-weight: 500;
	line-height: 1.6;
	letter-spacing: 0;
}

.home-promo__card h3 strong {
	display: inline-flex;
	margin-top: var(--space-3);
	padding: var(--space-2) var(--space-4);
	border: 1.5px dashed rgb(255 255 255 / 0.45);
	border-radius: var(--radius-m);
	color: #ffffff;
	font-weight: 600;
	letter-spacing: 0.02em;
}

.home-promo__card .wp-block-buttons {
	margin: var(--space-5) 0 0;
}

.home-promo__card .wp-block-image {
	margin: 0;
	text-align: center;
}

.entry-content .home-promo__card .wp-block-image img {
	display: inline-block;
	width: auto;
	max-height: 240px;
	border-radius: 0;
	filter: drop-shadow(0 24px 28px rgb(0 0 0 / 0.45));
}

@media (min-width: 782px) {
	.entry-content .home-promo__card .wp-block-image img {
		max-height: 340px;
	}
}

/* ---------- Money-back guarantee and disclaimers ---------- */
.entry-content .home-guarantee__grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--space-6);
	margin-bottom: 0;
}

@media (min-width: 900px) {
	.entry-content .home-guarantee__grid {
		grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
		align-items: start;
		gap: var(--space-8);
	}
}

.home-guarantee__main::before {
	content: "";
	display: block;
	width: 52px;
	height: 52px;
	margin-bottom: var(--space-5);
	background: var(--c-accent-soft) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230f7d44' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3l7.5 3v5.5c0 4.5-3.2 8.2-7.5 9.5-4.3-1.3-7.5-5-7.5-9.5V6z'/%3E%3Cpath d='M8.75 12.25l2.25 2.25 4.25-4.5'/%3E%3C/svg%3E") no-repeat 50% / 26px;
	border-radius: 999px;
}

.entry-content .home-guarantee__main p {
	color: var(--c-ink-soft);
}

.home-disclaimers {
	padding: var(--space-5);
	background: var(--c-surface);
	border-radius: var(--radius-l);
	color: var(--c-ink-soft);
	font-size: var(--fs-s);
}

.entry-content .home-disclaimers h2 {
	margin-bottom: var(--space-3);
	font-size: var(--fs-m);
	letter-spacing: 0;
}

.home-disclaimers ul {
	margin: 0;
	padding-left: 1.1em;
}

.home-disclaimers li + li {
	margin-top: var(--space-2);
}

/* ---------- Latest posts ---------- */
.home-posts {
	border-top: 1px solid var(--c-line);
}

.home-posts > h2 {
	margin-bottom: var(--space-6);
}

/* ---------- Partners and press logos ---------- */
.home-logos {
	text-align: center;
}

.entry-content .home-logos > h2 {
	margin-bottom: var(--space-5);
	color: var(--c-muted);
	font-size: var(--fs-xs);
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.entry-content .home-logos > h2:not(:first-child) {
	margin-top: var(--space-7);
}

.home-logos .wp-block-gallery {
	max-width: 960px;
}

.home-logos .wp-block-gallery.has-nested-images figure.wp-block-image {
	align-items: center;
	justify-content: center;
	height: 84px;
	padding: var(--space-3) var(--space-4);
	background: var(--c-bg);
	border-radius: var(--radius-m);
}

.entry-content .home-logos .wp-block-gallery.has-nested-images figure.wp-block-image img {
	width: auto;
	max-height: 44px;
	margin: auto;
	border-radius: 0;
	filter: grayscale(1);
	opacity: 0.8;
	mix-blend-mode: multiply;
	transition: filter var(--transition), opacity var(--transition);
}

.entry-content .home-logos .wp-block-gallery.has-nested-images figure.wp-block-image:hover img {
	filter: none;
	opacity: 1;
}

.home-logos > .wp-block-image {
	max-width: 760px;
	margin-bottom: 0;
}

.entry-content .home-logos > .wp-block-image img {
	width: 100%;
	border-radius: 0;
	mix-blend-mode: multiply;
}
