/**
 * Page blocks: layout wrappers and every block partial in
 * template-parts/blocks/. Enqueued only on pages that have blocks
 * (inc/page-blocks/render.php). Product cards inside the Products block
 * come from product-card.css, not here.
 *
 * Tokens first. Values are from the live site's computed styles
 * (docs/page-blocks-spec.md, live style reference), then simplified to a
 * single scale on purpose: the WPBakery pages used per-element fonts,
 * sizes and colours, and that is exactly what the rebuild retires.
 */

/* Oswald for the info pages' headings, Raleway for Partners and PT Sans
 * for Mobile Showroom's "How It Works" (see their sections below). Only the stylesheet is fetched here; the font files
 * download only on a page that renders that font. */
@import url("https://fonts.googleapis.com/css2?family=Oswald:wght@400;600;700&family=Raleway:wght@400;700&family=PT+Sans:wght@700&display=swap");

:root {
	--pb-green: #589f3c;
	--pb-green-dark: #4a8a31;
	--pb-green-accent: #3bb245;
	--pb-green-band: #6db24b;
	--pb-green-icon: #47c249;
	--pb-heading: #222529;
	--pb-text: #222529;
	--pb-text-body: #7b858a;
	--pb-text-muted: #777;
	--pb-grey-band: #f5f5f5;
	--pb-dark-band: #2e2d2f;
	--pb-rule-light: #e8e8e8;
	--pb-rule-dark: #b7b6b5;
	--pb-font: "Open Sans", sans-serif;
	--pb-radius: 8px;
	--pb-radius-pill: 50px;
	--pb-gap: 30px;
	--pb-gap-mobile: 20px;
	--pb-pad-s: 20px;
	--pb-pad-m: 40px;
	--pb-pad-l: 80px;
	--pb-slider-gap: 40px;
}

@media (max-width: 767px) {
	:root {
		--pb-gap: var(--pb-gap-mobile);
		--pb-pad-s: 16px;
		--pb-pad-m: 28px;
		--pb-pad-l: 48px;
		--pb-slider-gap: 20px;
	}
}

.pb-page {
	font-family: var(--pb-font);
	color: var(--pb-text);
}

/* ------------------------------------------------------------------ */
/* Section and columns                                                 */
/* ------------------------------------------------------------------ */

.pb-section {
	position: relative;
	width: 100%;
}

.pb-section--pad-none { padding-top: 0; padding-bottom: 0; }
.pb-section--pad-s { padding-top: var(--pb-pad-s); padding-bottom: var(--pb-pad-s); }
.pb-section--pad-m { padding-top: var(--pb-pad-m); padding-bottom: var(--pb-pad-m); }
.pb-section--pad-l { padding-top: var(--pb-pad-l); padding-bottom: var(--pb-pad-l); }

/* Bottom padding override (Section "Bottom padding", blank = same as top). */
.pb-section--pad-b-none { padding-bottom: 0; }
.pb-section--pad-b-s { padding-bottom: var(--pb-pad-s); }
.pb-section--pad-b-m { padding-bottom: var(--pb-pad-m); }
.pb-section--pad-b-l { padding-bottom: var(--pb-pad-l); }

.pb-section--bg-grey { background-color: var(--pb-grey-band); }
.pb-section--bg-green { background-color: var(--pb-green-band); color: #fff; }
.pb-section--bg-dark { background-color: var(--pb-dark-band); color: #fff; }
/* Custom colour: the hex comes from the block as --pb-section-bg; the
 * partial adds .pb-section--on-dark when the colour is dark enough for
 * white text. Live pages use orange, purple, teal and slate heroes. */
.pb-section--bg-custom { background-color: var(--pb-section-bg, transparent); }
.pb-section--boxed.pb-section--bg-custom { background: none; }
.pb-section--boxed.pb-section--bg-custom > .pb-section__inner {
	background-color: var(--pb-section-bg, transparent);
	padding-top: var(--pb-pad-m);
	padding-bottom: var(--pb-pad-m);
	border-radius: var(--pb-radius);
}

/* Everything that turns white on the green and dark bands does the same
 * on any dark custom colour. */
.pb-section--on-dark { color: #fff; }
.pb-section--on-dark .pb-heading__title,
.pb-section--on-dark .pb-rich-text,
.pb-section--on-dark .pb-rich-text :is(h1, h2, h3, h4, strong),
.pb-section--on-dark .pb-icon-box__title,
.pb-section--on-dark .pb-icon-box__text,
.pb-section--on-dark a.pb-icon-box:hover .pb-icon-box__title,
.pb-section--on-dark .pb-team__name,
.pb-section--on-dark .pb-team__bio { color: #fff; }
.pb-section--on-dark .pb-heading__sub,
.pb-section--on-dark .pb-icon-box__subtitle { color: rgba(255, 255, 255, 0.85); }
.pb-section--on-dark .pb-rich-text a { color: #fff; text-decoration: underline; }
.pb-section--on-dark .pb-icon-box__icon { background-color: #fff; color: var(--pb-section-bg, var(--pb-green-band)); }
.pb-section--on-dark .pb-button--outline { border-color: #fff; color: #fff; }
.pb-section--on-dark .pb-button--outline:hover { background-color: #fff; color: var(--pb-heading); }
.pb-section--on-dark .pb-divider { border-top-color: rgba(255, 255, 255, 0.5); }

/* Dashed white line between columns (the live Hire hero). */
.pb-columns--divided > .pb-column + .pb-column {
	border-left: 2px dashed rgba(255, 255, 255, 0.85);
	padding-left: var(--pb-gap);
}

.pb-section:not(.pb-section--on-dark) .pb-columns--divided > .pb-column + .pb-column {
	border-left-color: var(--pb-rule-dark);
}

/* Phones: live drops the divider once the columns stack. */
@media (max-width: 767px) {
	.pb-columns--divided > .pb-column + .pb-column {
		border-left: 0;
		padding-left: 0;
	}
}

.pb-section--bg-image {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.pb-section--bg-image > .pb-section__inner {
	position: relative;
}

/* Photos get a dark wash under white text (the "overlay" option); light
 * patterns and textures (the live bubbles backgrounds) keep dark text. */
.pb-section--overlay { color: #fff; }

.pb-section--overlay::before {
	content: "";
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.45);
}

/*
 * Boxed: the band and the content are both inside .site-container.
 * Full-bg: band edge to edge, content boxed (the default for banded rows).
 * Full-content: everything edge to edge (hero banners).
 */
.pb-section--boxed.pb-section--bg-grey,
.pb-section--boxed.pb-section--bg-green,
.pb-section--boxed.pb-section--bg-dark,
.pb-section--boxed.pb-section--bg-image {
	background: none;
}

.pb-section--boxed.pb-section--bg-grey > .pb-section__inner { background-color: var(--pb-grey-band); }
.pb-section--boxed.pb-section--bg-green > .pb-section__inner { background-color: var(--pb-green-band); }
.pb-section--boxed.pb-section--bg-dark > .pb-section__inner { background-color: var(--pb-dark-band); }

.pb-section--boxed.pb-section--bg-grey > .pb-section__inner,
.pb-section--boxed.pb-section--bg-green > .pb-section__inner,
.pb-section--boxed.pb-section--bg-dark > .pb-section__inner {
	padding-top: var(--pb-pad-m);
	padding-bottom: var(--pb-pad-m);
	border-radius: var(--pb-radius);
}

/* Phones: where a live row was split into lines, the join keeps its
 * earlier spacing (large + small step, 64px). Desktop uses the mapper's
 * single step (Bariatric hero: 40px against live's 43px; phones: live 74px). */
@media (max-width: 767px) {
	.pb-section--bg-custom.pb-section--pad-b-none + .pb-section--bg-custom {
		padding-top: calc(var(--pb-pad-l) + var(--pb-pad-s));
	}
}

.pb-section--implicit + .pb-section--implicit {
	padding-top: 0;
}

/* Consecutive sections on the same band read as one band (a WPBakery row
 * whose columns wrapped onto several lines is split into several sections). */
.pb-section--bg-green + .pb-section--bg-green,
.pb-section--bg-grey + .pb-section--bg-grey,
.pb-section--bg-dark + .pb-section--bg-dark {
	padding-top: 0;
}

/*
 * Content inset. "wrap" is live's wrapped row (wrap_container="yes"): its
 * content sits 150px inside the container from 1440px and 50px from 890px
 * (live switches between 880px and 900px), none on phones; 840px wide at
 * 1440. "text" is live's text column padded 100px a side (Explore All
 * Possibilities on /hire/), from tablet up. Measured 2026-10-01.
 */
@media (min-width: 890px) {
	.pb-section--inset-wrap > .pb-section__inner > .pb-columns {
		padding-left: 50px;
		padding-right: 50px;
	}
}

@media (min-width: 1440px) {
	.pb-section--inset-wrap > .pb-section__inner > .pb-columns {
		padding-left: 150px;
		padding-right: 150px;
	}
}

@media (min-width: 768px) {
	.pb-section--inset-text .pb-rich-text {
		padding-left: 100px;
		padding-right: 100px;
	}
}

/* Live's padded text: heading flush to the top, 32px under it; the 80%
 * rule 35px below the copy and 23px above the next heading. */
.pb-section--inset-text .pb-rich-text h1,
.pb-section--inset-text .pb-rich-text h2 { margin-bottom: 32px; }
.pb-section--inset-text .pb-column > .pb-divider { margin-top: 35px; }
.pb-section--inset-text .pb-column > .pb-divider + * { margin-top: 23px; }

.pb-columns {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--pb-gap);
	align-items: start;
}

.pb-columns--1 { grid-template-columns: minmax(0, 1fr); }

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

	.pb-columns--2.pb-columns--2-1 { grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); }
	.pb-columns--2.pb-columns--1-2 { grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); }
	.pb-columns--2.pb-columns--3-1 { grid-template-columns: minmax(0, 3fr) minmax(0, 1fr); }
	.pb-columns--2.pb-columns--1-3 { grid-template-columns: minmax(0, 1fr) minmax(0, 3fr); }
}

@media (min-width: 992px) {
	.pb-columns--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/*
 * "Logo + text pairs" (4 columns): two logo | text pairs with a gap between
 * them, as live's 1/5 + 1/4 + (1/12 spacer) + 1/5 + 1/4 accreditation row
 * (NDIS / Australian Owned). The third column skips the empty spacer track.
 * Tablet keeps each pair side by side; phones stack like every other row.
 */
@media (min-width: 768px) {
	.pb-columns--4.pb-columns--pairs {
		grid-template-columns: minmax(0, 4fr) minmax(0, 5fr);
		column-gap: 20px;
	}
}

@media (min-width: 992px) {
	.pb-columns--4.pb-columns--pairs { grid-template-columns: minmax(0, 12fr) minmax(0, 15fr) minmax(0, 5fr) minmax(0, 12fr) minmax(0, 15fr); }
	.pb-columns--4.pb-columns--pairs > :nth-child(3) { grid-column-start: 4; }
}

@media (max-width: 767px) {
	.pb-columns--reverse-mobile {
		display: flex;
		flex-direction: column-reverse;
	}
}

.pb-column {
	min-width: 0;
}

.pb-columns--middle {
	align-items: center;
}

/* A column with its own colour is a card (the service-page tiles: photo
 * beside copy on a near-black, orange, teal or slate panel). */
.pb-column--card {
	background-color: var(--pb-column-bg);
	padding: 24px;
	border-radius: var(--pb-radius);
	align-self: stretch;
}

.pb-column--on-dark,
.pb-column--on-dark .pb-heading__title,
.pb-column--on-dark .pb-rich-text,
.pb-column--on-dark .pb-rich-text :is(h1, h2, h3, h4, strong),
.pb-column--on-dark .pb-icon-box__title,
.pb-column--on-dark .pb-icon-box__text { color: #fff; }
.pb-column--on-dark .pb-heading__sub,
.pb-column--on-dark .pb-icon-box__subtitle { color: rgba(255, 255, 255, 0.85); }
.pb-column--on-dark .pb-rich-text a { color: #fff; }
.pb-column--on-dark .pb-button--outline { border-color: #fff; color: #fff; }
.pb-column--on-dark .pb-button--outline:hover { background-color: #fff; color: var(--pb-heading); }

/* Photo + copy inside one card sit side by side from tablet up. */
.pb-column--card.pb-column--split {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: 20px;
	align-items: center;
}

.pb-column--card.pb-column--split > .pb-image { grid-row: 1 / span 6; }
.pb-column--card.pb-column--split > * + * { margin-top: 0; }
.pb-column--card.pb-column--split > :not(.pb-image) + :not(.pb-image) { margin-top: 12px; }

@media (max-width: 575px) {
	.pb-column--card.pb-column--split { display: block; }
	.pb-column--card.pb-column--split > * + * { margin-top: 12px; }
	.pb-columns > .pb-column.pb-column--card.pb-column--split > :not(.pb-image) { text-align: left; }
	.pb-column--card.pb-column--split .pb-buttons { justify-content: flex-start; align-items: flex-start; }
	.pb-columns:has(> .pb-column--card.pb-column--split) { row-gap: 36px; }
	.pb-columns > .pb-column.pb-column--card.pb-column--split { margin: 0 -10px; padding: 60px 10px 20px; border-radius: 0; }
	.pb-columns > .pb-column.pb-column--card.pb-column--split > .pb-image + * { margin-top: 86px; }
	.pb-column--card.pb-column--split .pb-rich-text { font-size: 13px; line-height: 20px; letter-spacing: 0.2px; }
	.pb-column--card.pb-column--split .pb-rich-text p { margin: 0; }
	.pb-column--card.pb-column--split .pb-rich-text p + p { margin-top: 16px; }
	.pb-column--card.pb-column--split .pb-rich-text strong { font-size: 20px; line-height: 20px; }
	.pb-columns > .pb-column.pb-column--card.pb-column--split > .pb-rich-text + .pb-buttons { margin-top: 36px; }
}

/* Service tiles (Service and Maintenance, Home Modifications), as live
 * from 992px, in one- and two-column rows (a tile in a three-column row
 * keeps the shared split). Live's row is a percentage grid 20px wider than
 * the container (10px either side): each tile is a 1/5 photo column plus a
 * 1/4 copy column, the pair 1/12 apart, so the tiles scale with the screen
 * (522px wide, 97px apart at 1440px). Inside, the photo and copy share the
 * tile 4:5 with 10px padding each, 50px above and 40px below; 20px bold
 * titles 19px above 16px copy (black on the light tiles). Phones: live's near
 * full-width square tiles (10px from the screen edge), the photo 60px down,
 * the copy 10px in, 36px between tiles. */
@media (min-width: 992px) {
	:is(.pb-columns--1, .pb-columns--2):has(> .pb-column--card.pb-column--split) { width: calc(100% + 20px); margin-left: -10px; grid-template-columns: 45%; column-gap: 8.3333%; }
	.pb-columns--2:has(> .pb-column--card.pb-column--split) { grid-template-columns: 45% 45%; }
	:is(.pb-columns--1, .pb-columns--2) > .pb-column--card.pb-column--split { grid-template-columns: minmax(0, 4fr) minmax(0, 5fr); column-gap: 20px; row-gap: 0; padding: 50px 10px 40px; border-radius: 0; }
	:is(.pb-columns--1, .pb-columns--2) > .pb-column--card.pb-column--split .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; }
	:is(.pb-columns--1, .pb-columns--2) > .pb-column--card.pb-column--split .pb-rich-text p { margin: 0; }
	:is(.pb-columns--1, .pb-columns--2) > .pb-column--card.pb-column--split .pb-rich-text p + p { margin-top: 19px; }
	:is(.pb-columns--1, .pb-columns--2) > .pb-column--card.pb-column--split .pb-rich-text strong { font-size: 20px; line-height: 27px; }
}

:is(.pb-columns--1, .pb-columns--2) > .pb-column--card.pb-column--split:not(.pb-column--on-dark) .pb-rich-text,
:is(.pb-columns--1, .pb-columns--2) > .pb-column--card.pb-column--split:not(.pb-column--on-dark) .pb-rich-text :is(p, strong) { color: #000; }

.pb-column > * + * {
	margin-top: var(--pb-gap-mobile);
}

.pb-column > .pb-spacer,
.pb-column > .pb-spacer + * {
	margin-top: 0;
}

/* Product sliders breathe: more space above one that follows another
 * block, but a spacer placed before one already does that job. */
.pb-column > * + .pb-products {
	margin-top: 44px;
}

.pb-column > .pb-spacer + .pb-products {
	margin-top: 0;
}

/* More air under a product slider before the next one (Cooper 2026-10-01,
 * a deliberate step past live's 35 to 55px): 64px from the cards to the next
 * slider's heading, 48px on phones, whether the next slider follows directly
 * or after a small spacer (the homepage's Featured / Daily Living and
 * Popular / Mobility pairs were 16px). Page-blocks pages only: this file is
 * never loaded on category pages. */
.pb-column > .pb-products--slider + .pb-products { margin-top: 64px; }
.pb-column > .pb-products--slider + .pb-spacer { margin-top: 48px; }

@media (max-width: 767px) {
	.pb-column > .pb-products--slider + .pb-products { margin-top: 48px; }
	.pb-column > .pb-products--slider + .pb-spacer { margin-top: 32px; }
}

/* A banner after a slider sits well clear of it; a spacer left trailing
 * after that banner would only push the next band away, so it goes. */
.pb-column > .pb-products + .pb-banner {
	margin-top: 48px;
}

.pb-column > .pb-banner + .pb-spacer:last-child {
	display: none;
}

/* An implicit section holding nothing but a spacer adds only whitespace
 * the neighbouring sections' padding already provides. */
.pb-section--implicit:has(> .pb-section__inner > .pb-columns > .pb-column > .pb-spacer:only-child) {
	display: none;
}

/* A band that holds a form (the contact section) gets more room. */
.pb-section--bg-grey:has(.pb-form),
.pb-section--bg-green:has(.pb-form),
.pb-section--bg-dark:has(.pb-form) {
	padding-top: 64px;
	padding-bottom: 72px;
}

@media (max-width: 767px) {
	.pb-section--bg-grey:has(.pb-form),
	.pb-section--bg-green:has(.pb-form),
	.pb-section--bg-dark:has(.pb-form) {
		padding-top: 40px;
		padding-bottom: 44px;
	}
}

/* ------------------------------------------------------------------ */
/* Alignment utility                                                   */
/* ------------------------------------------------------------------ */

.pb-align-left { text-align: left; }
.pb-align-center { text-align: center; }
.pb-align-right { text-align: right; }

/* ------------------------------------------------------------------ */
/* Heading                                                             */
/* ------------------------------------------------------------------ */

/*
 * One type scale, Open Sans 700, replacing the five Google fonts and
 * six colours the live pages used per heading. "Eyebrow" is the live
 * section/slider title (16px uppercase); "hero" is the live 45px
 * contact-section heading.
 */
.pb-heading__title {
	margin: 0;
	font-family: var(--pb-font);
	font-weight: 700;
	line-height: 1.2;
	color: var(--pb-heading);
	letter-spacing: 0;
}

.pb-section--bg-green .pb-heading__title,
.pb-section--bg-dark .pb-heading__title {
	color: #fff;
}

.pb-heading h1.pb-heading__title { font-size: 36px; }
.pb-heading h2.pb-heading__title { font-size: 30px; }
.pb-heading h3.pb-heading__title { font-size: 25px; }
.pb-heading h4.pb-heading__title { font-size: 20px; }

.pb-heading.pb-heading--hero .pb-heading__title { font-size: 45px; line-height: 1.1; }
.pb-heading.pb-heading--eyebrow .pb-heading__title {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
}

.pb-heading__sub {
	margin: 10px 0 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.4;
	color: var(--pb-text-body);
}

.pb-section--bg-green .pb-heading__sub,
.pb-section--bg-dark .pb-heading__sub {
	color: rgba(255, 255, 255, 0.85);
}

/* The live 50x6 green bar 22px under a heading. */
.pb-heading--accent .pb-heading__title::after {
	content: "";
	display: block;
	width: 50px;
	height: 6px;
	margin-top: 22px;
	background-color: var(--pb-green-accent);
}

/* Space under a hero heading that ends its section. Live's hero headings
 * carry their own bottom margin; ours had none, so About Us's green band
 * stopped flush under the text (live: 32px of band below it). Sections
 * with a bottom padding of their own are left alone. */
.pb-section--pad-none .pb-column > .pb-heading--hero:last-child { margin-bottom: 32px; }

/* The service-page heroes (Hire, Patient Discharge, Facility Fitouts):
 * live has 48px from the heading to the next band's content; the next
 * section's top padding alone gave 39px. */
@media (min-width: 768px) {
	.pb-section--pad-b-none .pb-column > .pb-heading--hero:last-child { margin-bottom: 9px; }
}

.pb-heading--accent .pb-heading__sub { margin-top: 22px; }
.pb-heading--accent.pb-align-center .pb-heading__title::after { margin-left: auto; margin-right: auto; }
.pb-heading--accent.pb-align-right .pb-heading__title::after { margin-left: auto; }

@media (max-width: 767px) {
	/* Phones: matched to live, which runs its mobile headings at roughly
	 * 22 to 26px; the desktop scale is too loud on a 390px screen. */
	.pb-heading h1.pb-heading__title { font-size: 26px; }
	.pb-heading h2.pb-heading__title { font-size: 22px; }
	.pb-heading h3.pb-heading__title { font-size: 19px; }
	.pb-heading h4.pb-heading__title { font-size: 17px; }
	.pb-heading.pb-heading--hero .pb-heading__title { font-size: 26px; line-height: 1.15; }
}

/* ------------------------------------------------------------------ */
/* Rich text                                                           */
/* ------------------------------------------------------------------ */

.pb-rich-text {
	font-size: 16px;
	line-height: 1.5;
	color: var(--pb-text-body);
}

.pb-section--bg-green .pb-rich-text,
.pb-section--bg-dark .pb-rich-text {
	color: #fff;
}

.pb-rich-text h1,
.pb-rich-text h2,
.pb-rich-text h3,
.pb-rich-text h4,
.pb-rich-text strong {
	color: var(--pb-heading);
}

/* Bold text inside a link keeps the link's colour, as live. */
.pb-page .pb-rich-text a strong { color: inherit; }

.pb-section--bg-green .pb-rich-text :is(h1, h2, h3, h4, strong),
.pb-section--bg-dark .pb-rich-text :is(h1, h2, h3, h4, strong) {
	color: #fff;
}

.pb-rich-text > :first-child { margin-top: 0; }

/* Rich text with a panel colour (the Win a Full Refund dates panel, live
 * 28px 32px padding, 16px radius). Bold lines are the panel's headline
 * figures, so they read large; dark panels flip the text to white. */
.pb-rich-text--panel {
	padding: 28px 32px;
	border-radius: 16px;
	background-color: var(--pb-panel-bg);
}
.pb-rich-text--panel p { margin: 0 0 4px; }
.pb-rich-text--panel p:last-child { margin-bottom: 0; }
.pb-rich-text--panel strong {
	display: block;
	font-size: 30px;
	line-height: 1.15;
}
.pb-rich-text--on-dark,
.pb-rich-text--on-dark :is(h1, h2, h3, h4, strong, a) { color: #fff; }

@media (max-width: 575px) {
	.pb-rich-text--panel { padding: 20px; }
	.pb-rich-text--panel strong { font-size: 24px; }
}

/* WPBakery's autop left a stray </p> at the start of many text blocks,
 * which the browser turns into an empty first paragraph; it must not push
 * the heading after it off the top-margin reset. The mapper now strips it
 * (PageBlockMapper::clean_html()), this covers pages migrated before. */
.pb-rich-text > p:empty:first-child { display: none; }
.pb-rich-text > p:empty:first-child + * { margin-top: 0; }

/* A bar a page's live custom CSS drew under a row with ::after (Hire: the
 * orange "GET A HIRE QUOTE", not a link). Flush with the bottom of its
 * band, 50px under the cards above (the band's own small padding plus
 * this margin), full container width, 15px padding, white bold
 * 16px/22px (13px/20px on phones). Background from the mapper, inline. */
.pb-rich-text > .pb-bar {
	margin: 30px 0 0;
	padding: 15px;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	letter-spacing: 0.2px;
	text-align: center;
	color: #fff;
}

@media (max-width: 767px) {
	.pb-rich-text > .pb-bar {
		margin-top: 34px;
		font-size: 13px;
		line-height: 20px;
	}
}
.pb-rich-text > :last-child { margin-bottom: 0; }

.pb-rich-text p,
.pb-rich-text ul,
.pb-rich-text ol {
	margin: 0 0 1em;
}

.pb-rich-text ul,
.pb-rich-text ol {
	padding-left: 1.4em;
}

.pb-rich-text ul { list-style: disc; }
.pb-rich-text ol { list-style: decimal; }
.pb-rich-text li { margin-bottom: 0.35em; }

.pb-rich-text h1,
.pb-rich-text h2,
.pb-rich-text h3,
.pb-rich-text h4 {
	margin: 1.4em 0 0.5em;
	font-weight: 700;
	line-height: 1.25;
}

.pb-rich-text h1 { font-size: 36px; }
.pb-rich-text h2 { font-size: 30px; }
.pb-rich-text h3 { font-size: 25px; }
.pb-rich-text h4 { font-size: 20px; }

@media (max-width: 767px) {
	.pb-rich-text h1 { font-size: 26px; }
	.pb-rich-text h2 { font-size: 22px; }
	.pb-rich-text h3 { font-size: 19px; }
	.pb-rich-text h4 { font-size: 18px; }
}

/* Live never underlines links in body copy (checked across the
 * page-blocks pages 2026-10-06); colour alone marks them. */
.pb-rich-text a {
	color: var(--pb-green);
	text-decoration: none;
}

.pb-rich-text a:hover { color: var(--pb-green-dark); }

.pb-rich-text img {
	max-width: 100%;
	height: auto;
}

.pb-rich-text hr {
	border: 0;
	border-top: 1px solid var(--pb-rule-light);
	margin: 1.5em 0;
}

/* Side-by-side text columns inside one Rich text block (an inner row of
 * lists that could not become real columns; the Beds spec cards). */
.pb-rich-text .pb-cols {
	display: grid;
	grid-template-columns: repeat(var(--pb-text-cols, 2), minmax(0, 1fr));
	gap: 0 var(--pb-gap);
}

.pb-rich-text .pb-cols-3 { --pb-text-cols: 3; }
.pb-rich-text .pb-cols-4 { --pb-text-cols: 4; }
.pb-rich-text .pb-cols__col > :first-child { margin-top: 0; }
.pb-rich-text .pb-cols__col > :last-child { margin-bottom: 0; }

@media (max-width: 767px) {
	.pb-rich-text .pb-cols { grid-template-columns: minmax(0, 1fr); }
	.pb-rich-text .pb-cols__col + .pb-cols__col { margin-top: 0.5em; }
}

.pb-rich-text table {
	width: 100%;
	border-collapse: collapse;
	font-size: 15px;
}

.pb-rich-text th,
.pb-rich-text td {
	padding: 8px 10px;
	border: 1px solid var(--pb-rule-light);
	text-align: left;
}

/* ------------------------------------------------------------------ */
/* Image                                                               */
/* ------------------------------------------------------------------ */

.pb-image {
	margin: 0;
}

.pb-image__img {
	display: inline-block;
	max-width: 100%;
	height: auto;
	vertical-align: top;
}

/* "Full" means natural size capped at the column, as WPBakery's img_size=full
 * did; small images (store heading graphics, badges) must not upscale. */
.pb-image--full .pb-image__img { max-width: 100%; }

/* Phones: images in stacked columns centre regardless of their desktop
 * alignment (the homepage trust badges were right- and left-aligned to
 * meet in the middle of a two-column row). */
@media (max-width: 767px) {
	.pb-columns--2 > .pb-column > .pb-image,
	.pb-columns--3 > .pb-column > .pb-image,
	.pb-columns--4 > .pb-column > .pb-image {
		text-align: center;
	}

	/* ...and a short caption directly under such an image centres with it
	 * (icon + label features, e.g. Mrs Peggs). */
	.pb-columns--2 > .pb-column > .pb-image + .pb-rich-text,
	.pb-columns--3 > .pb-column > .pb-image + .pb-rich-text,
	.pb-columns--4 > .pb-column > .pb-image + .pb-rich-text {
		text-align: center;
	}
}

/* Room between the last block on a page and the footer. */
.pb-page > .pb-section:last-child {
	padding-bottom: 64px;
}
.pb-image--rounded .pb-image__img { border-radius: var(--pb-radius); }
.pb-image--circle .pb-image__img { border-radius: 50%; }

.pb-image__link {
	display: inline-block;
	max-width: 100%;
	transition: opacity 0.2s;
}

.pb-image__link:hover { opacity: 0.85; }

/* Caption under an image; with a linked call to action it is the live
 * category tile: grey label, bold green "VIEW PRODUCTS >" beneath. */
.pb-image__caption {
	display: flex;
	flex-direction: column;
	gap: 2px;
	margin-top: 12px;
	text-align: left;
}

.pb-image__caption-text {
	font-size: 15px;
	color: #999;
}

.pb-image__cta {
	font-size: 16px;
	font-weight: 700;
	color: var(--pb-green);
	text-decoration: none;
}

.pb-image__cta:hover { color: var(--pb-green-dark); text-decoration: underline; }

.pb-image.pb-align-center .pb-image__caption { text-align: center; align-items: center; }
.pb-image.pb-align-right .pb-image__caption { text-align: right; align-items: flex-end; }

/* Captioned tiles fill their column, as live (the photo is the tile), and
 * the caption sits tight under it, left-aligned like live. */
.pb-image:has(.pb-image__caption) { text-align: left; }
.pb-image:has(.pb-image__caption) .pb-image__link,
.pb-image:has(.pb-image__caption) .pb-image__img {
	display: block;
	width: 100%;
}
.pb-image:has(.pb-image__caption) .pb-image__caption {
	margin-top: 6px;
	text-align: left;
	align-items: flex-start;
}
.pb-image__caption-text { font-size: 14px; line-height: 1.3; }
.pb-image__cta { font-size: 15px; }

/* Live tile caption (measured 2026-10-01): label 5px under the photo on a
 * 20px line, "VIEW PRODUCTS >" 2px under it at 16px/22px (13px/18px on
 * phones, where the label is 15px). */
.pb-image:has(.pb-image__caption) .pb-image__caption { margin-top: 5px; }
.pb-image__caption-text { line-height: 20px; }
.pb-image__cta { font-size: 16px; line-height: 22px; }

@media (max-width: 767px) {
	.pb-image__caption-text { font-size: 15px; }
	.pb-image__cta { font-size: 13px; line-height: 18px; }
}

/* Live tile gutters: 20px in a row of two, 15px in a row of three. */
.pb-columns:has(.pb-image__caption) { column-gap: 20px; }
.pb-columns--3:has(.pb-image__caption) { column-gap: 15px; }

/* Rows of tiles stack like one grid: no section padding between them,
 * 35px from one row's caption to the next row's photos (36px between
 * stacked tiles on phones). */
.pb-section:has(.pb-image__caption) + .pb-section:has(.pb-image__caption) {
	padding-top: 0;
}
.pb-section:has(.pb-image__caption):has(+ .pb-section .pb-image__caption) {
	padding-bottom: 35px;
}

/* The heading row above the first tile row: 48px from title to photos
 * (39px on phones), live's mb-5 under the heading. */
.pb-section:has(.pb-heading) + .pb-section:has(.pb-image__caption) { padding-top: 8px; }

@media (max-width: 767px) {
	.pb-section:has(.pb-heading) + .pb-section:has(.pb-image__caption) { padding-top: 11px; }
	.pb-columns:has(.pb-image__caption) { row-gap: 36px; }
	.pb-section:has(.pb-image__caption):has(+ .pb-section .pb-image__caption) { padding-bottom: 36px; }
}

/* ------------------------------------------------------------------ */
/* Buttons                                                             */
/* ------------------------------------------------------------------ */

.pb-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}

.pb-buttons.pb-align-center { justify-content: center; }
.pb-buttons.pb-align-right { justify-content: flex-end; }

.pb-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	border: 2px solid transparent;
	border-radius: var(--pb-radius-pill);
	font-family: var(--pb-font);
	font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	text-align: center;
	cursor: pointer;
	transition: background-color 0.2s, color 0.2s, border-color 0.2s;
	white-space: normal;
}

.pb-button--sm { padding: 9px 22px; font-size: 13px; }
.pb-button--md { padding: 13px 34px; font-size: 14px; }
.pb-button--lg { padding: 15px 40px; font-size: 16px; }

.pb-button--primary {
	background-color: var(--pb-green);
	border-color: var(--pb-green);
	color: #fff;
}

.pb-button--primary:hover {
	background-color: var(--pb-green-dark);
	border-color: var(--pb-green-dark);
	color: #fff;
}

.pb-button--secondary {
	background-color: var(--pb-text);
	border-color: var(--pb-text);
	color: #fff;
}

.pb-button--secondary:hover {
	background-color: #333;
	border-color: #333;
	color: #fff;
}

.pb-button--outline {
	background-color: transparent;
	border-color: var(--pb-green);
	color: var(--pb-green);
}

.pb-button--outline:hover {
	background-color: var(--pb-green);
	color: #fff;
}

.pb-button--light {
	background-color: #fff;
	border-color: #fff;
	color: var(--pb-green);
}

.pb-button--light:hover {
	background-color: transparent;
	color: #fff;
}

/* Call to action: the live "GET A HIRE QUOTE" bar. Orange, full width,
 * square corners, sits clear of whatever is above it. */
.pb-button--cta {
	display: flex;
	width: 100%;
	border-radius: 0;
	background-color: #ff8000;
	border-color: #ff8000;
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	text-transform: uppercase;
	padding: 15px 32px;
}

.pb-button--cta:hover {
	background-color: #e67300;
	border-color: #e67300;
	color: #fff;
}

.pb-buttons:has(.pb-button--cta) {
	margin-top: 36px;
}

/* On coloured bands an outline button outlines in white, not green. */
.pb-section--bg-green .pb-button--outline,
.pb-section--bg-dark .pb-button--outline,
.pb-section--overlay .pb-button--outline {
	border-color: #fff;
	color: #fff;
}

.pb-section--bg-green .pb-button--outline:hover,
.pb-section--bg-dark .pb-button--outline:hover,
.pb-section--overlay .pb-button--outline:hover {
	background-color: #fff;
	color: var(--pb-heading);
}

/* Phones: buttons stack as compact centred pills, as live does, rather
 * than stretching edge to edge. The orange CTA bar stays full width. */
@media (max-width: 767px) {
	.pb-buttons {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}

	.pb-buttons.pb-align-left { align-items: flex-start; }
	.pb-buttons.pb-align-right { align-items: flex-end; }

	/* Sized as live renders them on a phone (measured on the store pages:
	 * "Book Now!" 122x41 at 13px, "SHOP NOW" 88x30 at 11px). */
	.pb-buttons .pb-button {
		flex: 0 0 auto;
		max-width: 100%;
	}

	.pb-button--sm { padding: 6px 12px; font-size: 11.5px; }
	.pb-button--md { padding: 7px 16px; font-size: 12px; }
	.pb-button--lg { padding: 11px 26px; font-size: 13px; }

	/* Clear space between a button and a logo stacked under it. */
	.pb-column > .pb-buttons + .pb-image { margin-top: 36px; }

	/* Body copy a notch smaller on phones, nearer live's 13-14px. */
	.pb-rich-text { font-size: 15px; }

	.pb-buttons .pb-button--cta {
		align-self: stretch;
	}
}

/* ------------------------------------------------------------------ */
/* Spacer and divider                                                  */
/* ------------------------------------------------------------------ */

.pb-spacer--s { height: 16px; }
.pb-spacer--m { height: 32px; }
.pb-spacer--l { height: 56px; }
.pb-spacer--xl { height: 96px; }

@media (max-width: 767px) {
	.pb-spacer--l { height: 36px; }
	.pb-spacer--xl { height: 56px; }
}

.pb-divider {
	border: 0;
	border-top: 1px solid var(--pb-rule-light);
	margin: 0;
	width: 100%;
}

.pb-divider--dark { border-top-color: var(--pb-rule-dark); }
.pb-divider--short { width: 60px; }
.pb-divider--80 { width: 80%; margin-left: auto; margin-right: auto; }

.pb-align-center > .pb-divider--short { margin-left: auto; margin-right: auto; }

/* ------------------------------------------------------------------ */
/* Icon boxes                                                          */
/* ------------------------------------------------------------------ */

.pb-icon-boxes {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--pb-gap);
}

@media (min-width: 576px) {
	.pb-icon-boxes--cols-2,
	.pb-icon-boxes--cols-3,
	.pb-icon-boxes--cols-4,
	.pb-icon-boxes--cols-5 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
	.pb-icon-boxes--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pb-icon-boxes--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.pb-icon-boxes--cols-5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}

.pb-icon-box {
	display: flex;
	gap: 16px;
	color: inherit;
	text-decoration: none;
	min-width: 0;
}

.pb-icon-boxes--icon-top .pb-icon-box {
	flex-direction: column;
	align-items: center;
	text-align: center;
}

.pb-icon-boxes--icon-left .pb-icon-box {
	flex-direction: row;
	align-items: flex-start;
	text-align: left;
}

/* Live: 56px circle with a 28px glyph (USP rows); the store-page
 * contact boxes use a 28px circle with a 14px glyph, so icon-left is
 * the compact variant. */
.pb-icon-box__icon {
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 56px;
	height: 56px;
	border-radius: 50%;
	background-color: var(--pb-green-icon);
	color: #fff;
}

.pb-icon-box__icon svg {
	width: 28px;
	height: 28px;
	fill: currentColor;
}

.pb-icon-box__icon .pb-icon-box__img {
	width: 100%;
	height: 100%;
	border-radius: 50%;
	object-fit: cover;
}

.pb-icon-boxes--icon-left .pb-icon-box__icon {
	width: 36px;
	height: 36px;
}

.pb-icon-boxes--icon-left .pb-icon-box__icon svg {
	width: 16px;
	height: 16px;
}

.pb-icon-box__body {
	display: block;
	min-width: 0;
	align-self: center;
}

.pb-icon-box__title {
	display: block;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.3;
	color: var(--pb-heading);
}

.pb-icon-boxes--icon-left .pb-icon-box__title {
	font-size: 15px;
	font-weight: 600;
}

.pb-icon-box__subtitle {
	display: block;
	margin-top: 3px;
	font-size: 14px;
	line-height: 1.3;
	color: var(--pb-text-muted);
}

.pb-icon-box__text {
	display: block;
	margin-top: 8px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--pb-text-body);
}

.pb-icon-box__text a { color: var(--pb-green); }

a.pb-icon-box:hover .pb-icon-box__title { color: var(--pb-green); }

.pb-section--bg-green .pb-icon-box__icon,
.pb-section--bg-dark .pb-icon-box__icon {
	background-color: #fff;
	color: var(--pb-green-band);
}

.pb-section--bg-green .pb-icon-box__title,
.pb-section--bg-dark .pb-icon-box__title,
.pb-section--bg-green .pb-icon-box__text,
.pb-section--bg-dark .pb-icon-box__text,
.pb-section--bg-green a.pb-icon-box:hover .pb-icon-box__title,
.pb-section--bg-dark a.pb-icon-box:hover .pb-icon-box__title {
	color: #fff;
}

.pb-section--bg-green .pb-icon-box__subtitle,
.pb-section--bg-dark .pb-icon-box__subtitle {
	color: rgba(255, 255, 255, 0.85);
}

/*
 * Callout pills: the homepage band. Live: 70px brand-green pills with a
 * 100px radius on the right edge only, the middle one a darker shade,
 * plain 28px white icon, title 18px/700, subtitle 14px, sitting on the
 * brighter band colour with no gap between them and the band edge.
 */
/* Live geometry: the lozenges overlap, each rounded end sitting on top of
 * the start of the next one (earlier = higher), and the first one runs off
 * the left edge of the viewport. Alternate shades, no gaps. */
/* The row spans the full viewport in equal thirds, so the middle lozenge is
 * centred on the page; the first runs off the left edge, the last runs off
 * the right edge with no rounding (both in the primary shade). */
.pb-icon-boxes--pills {
	display: flex;
	gap: 0;
	align-items: stretch;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.pb-icon-boxes--pills .pb-icon-box {
	flex: 1 1 0;
	flex-direction: row;
	align-items: center;
	position: relative;
	min-height: 70px;
	padding: 8px 48px 8px 32px;
	background-color: var(--pb-green);
	border-radius: 0 100px 100px 0;
	text-align: left;
}

.pb-icon-boxes--pills .pb-icon-box + .pb-icon-box {
	margin-left: -40px;
	padding-left: 96px;
}

.pb-icon-boxes--pills .pb-icon-box:nth-child(1) { z-index: 3; }
.pb-icon-boxes--pills .pb-icon-box:nth-child(2) { z-index: 2; }
.pb-icon-boxes--pills .pb-icon-box:nth-child(3) { z-index: 1; }
.pb-icon-boxes--pills .pb-icon-box:nth-child(4) { z-index: 0; }

.pb-icon-boxes--pills .pb-icon-box:nth-child(even) {
	background-color: var(--pb-green-dark);
}

.pb-icon-boxes--pills .pb-icon-box:last-child {
	border-radius: 0;
}

/* First lozenge: text starts at the page's content edge. */
.pb-icon-boxes--pills .pb-icon-box:first-child {
	padding-left: 20px;
}

@media (min-width: 1440px) {
	.pb-icon-boxes--pills .pb-icon-box:first-child {
		padding-left: 150px;
	}
}

.pb-icon-boxes--pills .pb-icon-box__icon {
	width: 34px;
	height: 34px;
	background: none;
	border-radius: 0;
	color: #fff;
}

.pb-icon-boxes--pills .pb-icon-box__icon svg {
	width: 28px;
	height: 28px;
}

.pb-icon-boxes--pills .pb-icon-box__title {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.2;
	color: #fff;
}

.pb-icon-boxes--pills .pb-icon-box__subtitle,
.pb-icon-boxes--pills .pb-icon-box__text {
	margin-top: 2px;
	font-size: 14px;
	line-height: 1.3;
	color: #fff;
}

/* Phones and small tablets: a horizontal swipe strip. Each lozenge is 82%
 * wide so the start of the next one shows, inviting the swipe; native
 * scroll with snap points, no JS. */
@media (max-width: 991px) {
	.pb-icon-boxes--pills {
		display: flex;
		gap: 0;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: 0;
		background-color: var(--pb-green); /* one colour end to end, as desktop */
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.pb-icon-boxes--pills::-webkit-scrollbar { display: none; }

	/* Same overlap as desktop, just scrollable: each lozenge's rounded end
	 * sits on the start of the next, so they flow into one another. */
	.pb-icon-boxes--pills .pb-icon-box,
	.pb-icon-boxes--pills .pb-icon-box:first-child,
	.pb-icon-boxes--pills .pb-icon-box:last-child {
		flex: 0 0 88%;
		margin-left: 0;
		padding: 10px 40px 10px 20px;
		min-height: 64px;
		border-radius: 0 100px 100px 0;
		scroll-snap-align: start;
	}

	.pb-icon-boxes--pills .pb-icon-box + .pb-icon-box {
		margin-left: -32px;
		padding-left: 52px;
	}

	.pb-icon-boxes--pills .pb-icon-box:last-child {
		flex-basis: 100%;
		border-radius: 0;
	}

	/* Smaller type so each title sits on one line at 390px. */
	.pb-icon-boxes--pills .pb-icon-box__title {
		font-size: 14px;
		white-space: nowrap;
	}

	.pb-icon-boxes--pills .pb-icon-box__subtitle,
	.pb-icon-boxes--pills .pb-icon-box__text {
		font-size: 12px;
	}

	.pb-icon-boxes--pills .pb-icon-box__icon {
		width: 28px;
		height: 28px;
	}

	.pb-icon-boxes--pills .pb-icon-box__icon svg {
		width: 24px;
		height: 24px;
	}
}

/* ------------------------------------------------------------------ */
/* Slider (shared by Products and Gallery)                             */
/* ------------------------------------------------------------------ */

.pb-slider {
	position: relative;
}

/* Padding + negative margin so the cards' shadows are not clipped by the
 * scroller at the top, bottom and visible edges. */
.pb-slider__track {
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
	padding: 12px 10px;
	margin: -12px -10px;
}

.pb-slider__track::-webkit-scrollbar { display: none; }

.pb-slider__items {
	display: flex;
	gap: var(--pb-slider-gap);
	margin: 0;
	padding: 0;
	list-style: none;
}

/*
 * Live: 6 visible at desktop, 2 at 390px. Sized via flex-basis and
 * max-width, not width: product-card.css sets `width: auto !important`
 * on li.product (to beat WooCommerce's percentage widths) and that would
 * otherwise win here too, leaving every card at its content width.
 */
.pb-slider__items > * {
	--pb-item-width: calc((100% - (var(--pb-cols, 6) - 1) * var(--pb-slider-gap)) / var(--pb-cols, 6));
	flex: 0 0 var(--pb-item-width);
	max-width: var(--pb-item-width);
	min-width: 0;
}

@media (max-width: 1199px) {
	.pb-slider__items > * { --pb-cols: 4; }
}

@media (max-width: 991px) {
	.pb-slider__items > * { --pb-cols: 3; }
}

@media (max-width: 767px) {
	.pb-slider__items > * { --pb-cols: 2; }
}

/* Live arrows: 30x30 brand-green squares flush with the content
 * column's outer edges, about level with the card image. */
.pb-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 12; /* above the card badges (9 / 10) and quick-action circle (10) */
	width: 30px;
	height: 30px;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: var(--pb-green);
	color: #fff;
	cursor: pointer;
	transition: opacity 0.2s, background-color 0.2s;
}

.pb-slider__arrow::before {
	content: "";
	display: block;
	width: 9px;
	height: 9px;
	margin: 0 auto;
	border-top: 2px solid currentColor;
	border-right: 2px solid currentColor;
}

/* Centred on the outer edge of the first / last card: half in, half out. */
.pb-slider__arrow--prev { left: -15px; }
.pb-slider__arrow--prev::before { transform: translateX(2px) rotate(-135deg); }
.pb-slider__arrow--next { right: -15px; }
.pb-slider__arrow--next::before { transform: translateX(-2px) rotate(45deg); }

/* Phones: arrows sit at the base of the card image (image is square and
 * fills the card width, so its bottom edge is computable from the
 * viewport: track = 100vw - 40px gutters, two cards with a 20px gap, 10px
 * card padding, 12px track padding). Cards use the category page's 340px
 * minimum (product-card.css), not the 390px they had, which left a tall
 * empty gap between the stars and the price (Cooper, 2026-10-15). */
@media (max-width: 767px) {
	.pb-slider__arrow--prev { left: -8px; }
	.pb-slider__arrow--next { right: -8px; }

	.pb-products .pb-slider__arrow {
		top: calc((100vw - 60px) / 2 + 2px);
		transform: translateY(-50%);
	}

	/* .woocommerce added for specificity over product-card.css's own
	 * mobile min-height (equal selectors, and that file loads later). */
	.pb-products.woocommerce ul.products li.product {
		min-height: 340px;
	}
}

/* Slider cards are narrower than category cards on laptop screens
 * (173px at 1280px, 6 across), too narrow for the price and View Product
 * button side by side, so the button ran out of the card (2026-10-15).
 * The row wraps, and with the price on a zero basis it breaks only when
 * the price's narrowest form and the button can't share the line;
 * otherwise the price takes the remaining width and nothing moves.
 * Scoped to sliders: category cards never overflow and stay as they are.
 * Phones already stack the two (product-card.css). */
@media (min-width: 992px) {
	/* .pb-products.woocommerce outranks product-card.css, which loads later. */
	.pb-products.woocommerce .pb-slider ul.products li.product div.medimart-product-actions {
		flex-wrap: wrap;
	}

	.pb-products.woocommerce .pb-slider ul.products li.product div.medimart-product-actions__price {
		flex: 1 1 0;
	}
}

.pb-slider__arrow:hover { background-color: var(--pb-green-dark); }
.pb-slider__arrow:disabled { opacity: 0.5; cursor: default; }
.pb-slider__arrow:disabled:hover { background-color: var(--pb-green); }

.pb-slider--static .pb-slider__arrow { display: none; }

/* A slider in live's wrapped row (/hire/ Common Hire Items): four 166px
 * cards 49px apart, 14px in from the 840px content edge, arrows on that
 * edge. */
@media (min-width: 1200px) {
	.pb-section--inset-wrap .pb-products--slider .pb-slider {
		--pb-slider-gap: 49px;
		padding-left: 14px;
		padding-right: 14px;
	}

	.pb-section--inset-wrap .pb-products--slider .pb-slider__arrow--prev { left: 0; }
	.pb-section--inset-wrap .pb-products--slider .pb-slider__arrow--next { right: 0; }
}

/* Phones: two 145px cards 40px apart, 10px in from the edges, as live. */
@media (max-width: 767px) {
	.pb-section--inset-wrap .pb-products--slider .pb-slider {
		--pb-slider-gap: 40px;
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* ------------------------------------------------------------------ */
/* Products                                                            */
/* ------------------------------------------------------------------ */

/* Live slider title: Open Sans 16px/700 uppercase #222529, mb 20px. */
.pb-products__title {
	margin: 0 0 20px;
	font-family: var(--pb-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--pb-heading);
}

@media (max-width: 767px) {
	.pb-products__title { margin-bottom: 16px; }
}

/* Hidden prices (hire items, from the page's own live custom CSS): the
 * button alone, full width, and the card only as tall as its content
 * (live's hire cards are 350px). */
.pb-products--no-prices.woocommerce ul.products li.product { min-height: 0; }
.pb-products--no-prices.woocommerce ul.products li.product div.medimart-product-actions__price { display: none; }
.pb-products--no-prices.woocommerce ul.products li.product a.medimart-view-product-btn {
	flex: 1 1 auto;
	align-self: stretch;
	text-align: center;
}

/* Reset WooCommerce's floated loop so cards behave in flex/grid. */
.pb-products ul.products {
	display: flex;
	flex-wrap: wrap;
	gap: var(--pb-slider-gap);
	margin: 0;
	padding: 0;
}

.pb-products ul.products::before,
.pb-products ul.products::after { display: none; }

.pb-products ul.products li.product {
	float: none;
	margin: 0;
	width: auto;
	clear: none;
}

.pb-products--slider ul.products { flex-wrap: nowrap; }

.pb-products__grid ul.products li.product {
	--pb-item-width: calc((100% - (var(--pb-cols, 4) - 1) * var(--pb-slider-gap)) / var(--pb-cols, 4));
	flex: 0 0 var(--pb-item-width);
	max-width: var(--pb-item-width);
}

@media (max-width: 1199px) {
	.pb-products__grid { --pb-cols: 3; }
}

@media (max-width: 767px) {
	.pb-products__grid ul.products li.product { --pb-item-width: calc((100% - var(--pb-slider-gap)) / 2); }
}

.pb-products__sort {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 16px;
	font-size: 14px;
}

.pb-products__sort label {
	display: inline-flex;
	align-items: center;
	gap: 8px;
}

.pb-products__sort select {
	padding: 6px 10px;
	border: 1px solid var(--pb-rule-light);
	border-radius: 4px;
	font: inherit;
}

/* ------------------------------------------------------------------ */
/* Banner                                                              */
/* ------------------------------------------------------------------ */

/* Live banners have no radius and no hover effect. */
.pb-banner {
	position: relative;
	overflow: hidden;
}

.pb-banner picture,
.pb-banner__img {
	display: block;
	width: 100%;
	height: auto;
}

.pb-banner__link {
	display: block;
}

/* Live: button 24px in from the banner's right edge. */
.pb-banner__overlay {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 24px;
	pointer-events: none;
}

.pb-banner__overlay > * { pointer-events: auto; }

.pb-banner--overlay-bottom-right .pb-banner__overlay { justify-content: flex-end; align-items: flex-end; text-align: right; }
.pb-banner--overlay-bottom-left .pb-banner__overlay { justify-content: flex-end; align-items: flex-start; text-align: left; }
.pb-banner--overlay-center .pb-banner__overlay { justify-content: center; align-items: center; text-align: center; }

.pb-banner__heading {
	margin: 0;
	font-size: clamp(20px, 3vw, 44px);
	font-weight: 700;
	line-height: 1.1;
	color: #fff;
	text-shadow: 0 1px 6px rgba(0, 0, 0, 0.35);
}

.pb-banner__button {
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
}

/* Phones: the overlay would cover most of a short banner, so the heading
 * and button drop below the image; the button goes full width, square. */
@media (max-width: 767px) {
	/* Banners inside boxed sections keep the page gutter on phones so the
	 * photo's edges line up with the button and the content beneath it. */
	.pb-section--boxed .pb-banner,
	.pb-section--full-bg .pb-banner {
		margin-left: 0;
		margin-right: 0;
	}

	/* Banners fill at least 120px on a phone; very wide artwork is cropped
	 * a little at the sides rather than shown as a thin strip. */
	/* Never crop: banner artwork carries text to its edges. The extra
	 * height on phones comes from the squarer mobile crop, when there is
	 * one (see banner.php). */
	.pb-section--boxed .pb-banner__img,
	.pb-section--full-bg .pb-banner__img {
		height: auto;
		object-fit: contain;
	}

	.pb-banner__overlay {
		position: static;
		inset: auto;
		padding: 12px 0 0;
		align-items: stretch;
		text-align: center;
	}

	/* The homepage trust badges (its last section) come down a size, at
	 * the user's request; elsewhere, such as the store heroes, logos keep
	 * their natural 300px as live. */
	.pb-page > .pb-section:last-child .pb-image--medium .pb-image__img {
		max-width: 230px;
	}

	.pb-banner__heading {
		color: var(--pb-heading);
		text-shadow: none;
		font-size: 22px;
	}

	.pb-banner__button.pb-button--sm {
		width: 100%;
		border-radius: 0;
		padding: 13px 16px;
		font-size: 14px;
		box-shadow: none;
	}
}

/* ------------------------------------------------------------------ */
/* Form                                                                */
/* ------------------------------------------------------------------ */

.pb-form .gform_wrapper { margin: 0; }

/* On a band the form sits in a white card, narrower than the band (live:
 * the contact form is 80% of the viewport, centred). */
.pb-section--bg-grey .pb-form,
.pb-section--bg-green .pb-form,
.pb-section--bg-dark .pb-form {
	max-width: 1180px;
	margin-left: auto;
	margin-right: auto;
	padding: 32px 40px;
	background: #fff;
	border-radius: var(--pb-radius);
	color: var(--pb-text);
}

@media (max-width: 767px) {
	.pb-section--bg-grey .pb-form,
	.pb-section--bg-green .pb-form,
	.pb-section--bg-dark .pb-form {
		padding: 20px 16px;
	}
}

/* Intro copy directly under a hero heading (the contact section's phone,
 * email and "fill in the form" lines) reads larger and more spaced. */
.pb-heading--hero + .pb-rich-text {
	font-size: 18px;
	line-height: 1.9;
	color: var(--pb-heading);
}

.pb-heading--hero + .pb-rich-text p { margin-bottom: 0.4em; }

@media (max-width: 767px) {
	.pb-heading--hero + .pb-rich-text { font-size: 17px; line-height: 1.7; }
}

.pb-form .gform_wrapper .gform_title {
	margin: 0 0 16px;
	font-size: 24px;
	font-weight: 700;
	text-transform: uppercase;
}

.pb-form .gform_wrapper .gfield_label {
	font-size: 14px;
	font-weight: 600;
}

.pb-form .gform_wrapper input[type="text"],
.pb-form .gform_wrapper input[type="email"],
.pb-form .gform_wrapper input[type="tel"],
.pb-form .gform_wrapper input[type="number"],
.pb-form .gform_wrapper select,
.pb-form .gform_wrapper textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--pb-rule-light);
	border-radius: 4px;
	font: inherit;
	font-size: 15px;
	background: #f9f9f9;
}

/* Gravity Forms' legacy stylesheet sets `padding: 5px 4px; font-size:
 * inherit` on inputs through a long :not() chain that outranks the rule
 * above, but it has no matching rule for selects, so selects kept our
 * 10px/15px box and rendered 10px taller than the input beside them.
 * Every legacy form with a select was misaligned (live has the same
 * fault, worse: 27px inputs against a 42px select). Giving the select
 * the box the inputs actually render in squares the rows up. */
.pb-form .gform_legacy_markup_wrapper select,
.pb-form .gform_legacy_markup_wrapper.gf_browser_chrome select {
	height: 34px;
	padding: 5px 4px;
	font-size: inherit;
	line-height: normal;
}

/* Phones give the inputs a 32px line and a 44px box, so the select
 * follows them up rather than sitting 10px short. */
@media (max-width: 767px) {
	.pb-form .gform_legacy_markup_wrapper select,
	.pb-form .gform_legacy_markup_wrapper.gf_browser_chrome select {
		height: 44px;
	}
}

.pb-form .gform_wrapper input:focus,
.pb-form .gform_wrapper select:focus,
.pb-form .gform_wrapper textarea:focus {
	outline: 0;
	border-color: var(--pb-green);
	box-shadow: 0 0 0 2px rgba(88, 159, 60, 0.2);
}

.pb-form .gform_wrapper .gform_footer input[type="submit"],
.pb-form .gform_wrapper .gform_footer button {
	padding: 12px 30px;
	border: 2px solid var(--pb-green);
	border-radius: var(--pb-radius-pill);
	background-color: var(--pb-green);
	color: #fff;
	font: inherit;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color 0.2s;
}

.pb-form .gform_wrapper .gform_footer input[type="submit"]:hover,
.pb-form .gform_wrapper .gform_footer button:hover {
	background-color: var(--pb-green-dark);
	border-color: var(--pb-green-dark);
}

/* ------------------------------------------------------------------ */
/* Video                                                               */
/* ------------------------------------------------------------------ */

.pb-video--half {
	max-width: 50%;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 767px) {
	.pb-video--half { max-width: 100%; }
}

.pb-video__frame {
	position: relative;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: var(--pb-radius);
	background: #000;
}

.pb-video__frame iframe,
.pb-video__frame video,
.pb-video__frame .wp-video {
	position: absolute;
	inset: 0;
	width: 100% !important;
	height: 100% !important;
}

/* ------------------------------------------------------------------ */
/* Gallery                                                             */
/* ------------------------------------------------------------------ */

.pb-gallery__items {
	margin: 0;
	padding: 0;
	list-style: none;
}

.pb-gallery__img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: var(--pb-radius);
}

.pb-gallery__grid {
	display: grid;
	grid-template-columns: repeat(var(--pb-cols, 4), minmax(0, 1fr));
	gap: 16px;
}

@media (max-width: 991px) {
	.pb-gallery__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 575px) {
	.pb-gallery__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
}

.pb-gallery--slider .pb-slider__items > * { --pb-slider-gap: 16px; }

/*
 * Single-image carousel: WPBakery's images carousel with no
 * slides_per_view, which is what the Beds, Mattresses and In-Home
 * Trials model galleries use. One image fills the column, the dots sit
 * on the picture, and there are no arrows, as live has it. The column
 * count is pinned at every width so the shared 4/3/2 step-down for
 * thumbnail strips cannot claim it.
 */
.pb-gallery--single .pb-slider__items > * { --pb-cols: 1; --pb-slider-gap: 0px; }

.pb-gallery--single .pb-slider__arrow { display: none; }

/* The track's padding is there to clear card shadows; a lone image has
 * none, and live's carousel sits flush with the column. */
.pb-gallery--single .pb-slider__track { padding: 0; margin: 0; }

.pb-gallery--single .pb-gallery__img { border-radius: 0; }

/* Live's indicators: 10px grey circles over the foot of the image, the
 * current one hollow. */
.pb-slider__dots {
	position: absolute;
	left: 50%;
	bottom: 10px;
	width: 60%;
	margin: 0 0 0 -30%;
	padding: 0;
	list-style: none;
	text-align: center;
	z-index: 15;
}

.pb-slider__dots li {
	display: inline-block;
	margin: 1px;
}

.pb-slider__dot {
	display: block;
	width: 10px;
	height: 10px;
	padding: 0;
	box-sizing: border-box;
	border: 1px solid grey;
	border-radius: 10px;
	background-color: grey;
	cursor: pointer;
}

.pb-slider__dot.is-active { background-color: transparent; }

/* ------------------------------------------------------------------ */
/* Lightbox (gallery images that open full size)                       */
/* ------------------------------------------------------------------ */

.pb-gallery__link { display: block; cursor: zoom-in; }

body.pb-lightbox-open { overflow: hidden; }

.pb-lightbox {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 24px;
	background: rgba(0, 0, 0, 0.85);
}

.pb-lightbox[hidden] { display: none; }

.pb-lightbox__figure {
	margin: 0;
	max-width: min(1100px, 100%);
	max-height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
}

.pb-lightbox__img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 110px);
	width: auto;
	height: auto;
}

.pb-lightbox__close {
	position: absolute;
	top: 12px;
	right: 16px;
	width: 40px;
	height: 40px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: #fff;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
}

.pb-lightbox__arrow {
	flex: 0 0 auto;
	width: 44px;
	height: 44px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.15);
	cursor: pointer;
}

.pb-lightbox__arrow::before {
	content: '';
	display: block;
	width: 11px;
	height: 11px;
	margin: 0 auto;
	border-top: 2px solid #fff;
	border-right: 2px solid #fff;
}

.pb-lightbox__arrow--prev::before { transform: translateX(2px) rotate(-135deg); }
.pb-lightbox__arrow--next::before { transform: translateX(-2px) rotate(45deg); }

.pb-lightbox__arrow:hover,
.pb-lightbox__close:hover { background: rgba(255, 255, 255, 0.3); }

.pb-lightbox--single .pb-lightbox__arrow { visibility: hidden; }

.pb-lightbox__counter {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 18px;
	margin: 0;
	text-align: center;
	color: #fff;
	font-size: 14px;
}

@media (max-width: 767px) {
	.pb-lightbox { padding: 12px; gap: 4px; }
	.pb-lightbox__arrow { width: 36px; height: 36px; }
	.pb-lightbox__img { max-height: calc(100vh - 140px); }
}

/* ------------------------------------------------------------------ */
/* Team                                                                */
/* ------------------------------------------------------------------ */

.pb-team {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: var(--pb-gap);
}

@media (min-width: 576px) {
	.pb-team { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
	.pb-team--cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.pb-team--cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

.pb-team__member {
	text-align: center;
}

.pb-team__photo img {
	display: block;
	width: 100%;
	max-width: 300px;
	margin: 0 auto 14px;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: var(--pb-radius);
}

.pb-team__name {
	margin: 0;
	font-size: 20px;
	font-weight: 700;
	color: var(--pb-heading);
}

.pb-team__role {
	margin: 4px 0 0;
	font-size: 14px;
	color: var(--pb-green);
	font-weight: 600;
}

.pb-team__bio {
	margin-top: 10px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--pb-text-body);
}

.pb-team__bio p { margin: 0 0 0.6em; }

.pb-team__contact {
	margin: 10px 0 0;
	font-size: 14px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.pb-team__contact a { color: var(--pb-text); }
.pb-team__contact a:hover { color: var(--pb-green); }

/* Cards style: the whole card links to the profile page (single-medimart_team.php). */
.pb-team__member--card {
	display: block;
	color: inherit;
	text-decoration: none;
}

.pb-team__member--card .pb-team__name,
.pb-team__member--card .pb-team__role { display: block; }

.pb-team__member--card .pb-team__photo img { transition: opacity 0.2s ease; }
.pb-team__member--card:hover .pb-team__photo img { opacity: 0.85; }
.pb-team__member--card:hover .pb-team__name { color: var(--pb-green); }

/* ------------------------------------------------------------------ */
/* Team member profile page (single-medimart_team.php, /member/<slug>/) */
/* Live: Porto single member, 7/12 text left, 5/12 photo right; photo  */
/* first on phones. Name 18px and role 16px uppercase, both bold green. */
/* ------------------------------------------------------------------ */

.pb-member {
	padding-top: 40px;
	padding-bottom: 64px;
}

.pb-member__layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px;
	align-items: start;
}

@media (min-width: 768px) {
	.pb-member__layout { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: 20px; }
	.pb-member__photo { grid-column: 2; grid-row: 1; }
	.pb-member__body { grid-column: 1; grid-row: 1; }
}

.pb-member__photo img {
	display: block;
	width: 100%;
	height: auto;
}

.pb-member__name {
	margin: 0;
	font-size: 18px;
	line-height: 1.6;
	font-weight: 700;
	color: var(--pb-green);
}

.pb-member__role {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--pb-green);
}

.pb-member__bio {
	font-size: 16px;
	line-height: 22px;
	color: var(--pb-text-body);
}

.pb-member__bio p { margin: 0 0 20px; }

.pb-member__contact p {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 0 0 12px;
	font-size: 16px;
	color: var(--pb-text-body);
}

.pb-member__contact svg {
	width: 16px;
	height: 16px;
	flex: none;
}

.pb-member__contact a { color: inherit; text-decoration: none; }
.pb-member__contact a:hover { color: var(--pb-green); }

.pb-member__email a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28px;
	height: 28px;
	color: var(--pb-text);
}

.pb-member__form { margin-top: 24px; }

/* ------------------------------------------------------------------ */
/* Map                                                                 */
/* ------------------------------------------------------------------ */

.pb-map {
	overflow: hidden;
	border-radius: var(--pb-radius);
	background: var(--pb-grey-band);
}

.pb-map iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.pb-map--short { height: 240px; }
.pb-map--medium { height: 360px; }
.pb-map--tall { height: 500px; }

@media (max-width: 767px) {
	.pb-map--medium { height: 280px; }
	.pb-map--tall { height: 360px; }
}

/* ------------------------------------------------------------------ */
/* PDF                                                                 */
/* ------------------------------------------------------------------ */

.pb-pdf__viewer {
	height: 80vh;
	min-height: 670px;
	overflow: hidden;
	border: 1px solid var(--pb-rule-light);
	border-radius: var(--pb-radius);
	background: var(--pb-grey-band);
}

.pb-pdf__viewer iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

.pb-pdf__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px;
	margin-top: 16px;
	font-size: 14px;
}

.pb-pdf__open { display: none; }

.pb-pdf__download {
	color: var(--pb-green);
	text-decoration: underline;
}

@media (max-width: 767px) {
	.pb-pdf__viewer { display: none; }
	.pb-pdf__open { display: inline-flex; }
	.pb-pdf__actions { margin-top: 0; }
}

/* ------------------------------------------------------------------ */
/* Embed                                                               */
/* ------------------------------------------------------------------ */

.pb-embed iframe,
.pb-embed img,
.pb-embed video {
	max-width: 100%;
}

/* Icon-sized images (the 70x70 service icons on live). */
.pb-image--icon .pb-image__img {
	width: 72px;
	max-width: 72px;
	height: auto;
}

/* One live row split into several sections of the same custom colour can
 * leave an antialiasing hairline where they meet; overlap by a pixel. */
.pb-section--bg-custom + .pb-section--bg-custom,
.pb-section--bg-green + .pb-section--bg-green,
.pb-section--bg-grey + .pb-section--bg-grey,
.pb-section--bg-dark + .pb-section--bg-dark {
	margin-top: -1px;
}

/* Phones: logos and badges stacked in a column get live's breathing room. */
@media (max-width: 767px) {
	.pb-column > .pb-image + .pb-image { margin-top: 32px; }
}

/* A non-link button (a badge on live) keeps the button look, no pointer. */
.pb-button--static { cursor: default; }
.pb-button--static:hover { background-color: inherit; }

/* In a coloured card, a paragraph that is nothing but bold text is the
 * card's title (the service cards: "Scooters", "Power Wheelchairs"). */
.pb-column--card .pb-rich-text p > strong:only-child {
	display: block;
	font-size: 20px;
	line-height: 1.25;
	margin-bottom: 4px;
}

/* A heading line that carries inline images is a label row (the Beds
 * "COLOUR CHOICES: [swatch] Onyx [swatch] Stone" lines), not a heading.
 * The location and product landing pages put real store photos in a
 * heading, so they are excluded: there the heading is an ordinary block
 * and the photo keeps the size its width attribute asks for. */
body:not(.page-id-77985):not(.page-id-72869):not(.page-id-66479):not(.page-id-77987):not(.page-id-66451):not(.page-id-73197):not(.page-id-73202) .pb-rich-text :is(h2, h3, h4):has(img) {
	font-size: 15px;
	line-height: 1.6;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 10px;
}

/*
 * Beds is excluded as well: its label rows mix square colour chips with
 * narrow bed-size silhouettes (28x61, 31x61, 48x60), and live draws each
 * at the size its own width/height attributes ask for. Any CSS width,
 * `auto` included, beats those attributes, so the only way to honour
 * them is to set none.
 */
body:not(.page-id-77985):not(.page-id-72869):not(.page-id-66479):not(.page-id-77987):not(.page-id-66451):not(.page-id-73197):not(.page-id-73202):not(.page-id-122127) .pb-rich-text :is(h2, h3, h4):has(img) img {
	width: 36px;
	height: 36px;
	object-fit: contain;
	margin: 0;
}

body.page-id-122127 .pb-rich-text :is(h2, h3, h4):has(img) img {
	margin: 0;
}

body:not(.page-id-77985):not(.page-id-72869):not(.page-id-66479):not(.page-id-77987):not(.page-id-66451):not(.page-id-73197):not(.page-id-73202) .pb-rich-text :is(h2, h3, h4):has(img) span { font-size: 14px; font-weight: 600; }

/* "Small" images: 150px squares for square icons, up to 230px wide for
 * other shapes (served from the uncropped medium file). */
.pb-image--thumbnail .pb-image__img { max-width: min(230px, 100%); height: auto; }


/* Icon boxes, "plain" style: a large bare icon beside the text, no circle
 * (the store hero's Address box on live: 48px white pin, 18px title). */
.pb-icon-boxes--plain .pb-icon-box__icon {
	width: auto;
	height: auto;
	background: none;
	border-radius: 0;
	color: inherit;
}

.pb-icon-boxes--plain .pb-icon-box__icon svg { width: 40px; height: 40px; }
.pb-icon-boxes--plain .pb-icon-box__title { font-size: 18px; font-weight: 600; }
.pb-icon-boxes--plain .pb-icon-box__subtitle,
.pb-icon-boxes--plain .pb-icon-box__text { font-size: 13px; }
.pb-section--on-dark .pb-icon-boxes--plain .pb-icon-box__icon { color: #fff; background: none; }

@media (max-width: 767px) {
	.pb-icon-boxes--plain .pb-icon-box__icon svg { width: 34px; height: 34px; }
	.pb-icon-boxes--plain .pb-icon-box__title { font-size: 17px; }
	.pb-icon-boxes--plain .pb-icon-box__subtitle,
	.pb-icon-boxes--plain .pb-icon-box__text { font-size: 12px; }
}

/* Brand-green headings (live store titles, e.g. "Medimart Frankston"). */
.pb-heading.pb-heading--green .pb-heading__title { color: var(--pb-green); }
.pb-section--on-dark .pb-heading.pb-heading--green .pb-heading__title { color: #fff; }

/* ------------------------------------------------------------------ */
/* About Us (page 192045, the same ID on production)                   */
/* ------------------------------------------------------------------ */

/*
 * Matched to live's computed styles at 1440px and 390px (2026-10-06).
 * About Us ran on its own WPBakery styling (Roboto 600 headings on a
 * 2x line, 17px #333 copy, grey outline buttons, a four-column store and
 * service grid, a centred lead team card), none of which the shared
 * block scale reproduces, so it is scoped to this page. Spacing values
 * are live's gaps between rendered boxes.
 */
.page-id-192045 .pb-heading--hero .pb-heading__title,
.page-id-192045 .pb-heading--default .pb-heading__title {
	font-family: Roboto, sans-serif;
	font-weight: 600;
	line-height: 2;
}

.page-id-192045 .pb-heading.pb-heading--hero .pb-heading__title { font-size: 60px; }

/* Live leaves a 20px white strip between the header and the green band. */
.page-id-192045 .pb-page > .pb-section:first-child { margin-top: 20px; }

.page-id-192045 .pb-heading.pb-heading--default .pb-heading__title {
	font-size: 30.8px;
	color: #2a3439;
}

/* 32px under a heading; 70px above one that opens a section (67px under
 * the hero band, which the 32px spacer already part covers). */
.page-id-192045 .pb-column > .pb-heading--default { margin-bottom: 32px; }
.page-id-192045 .pb-column > .pb-heading--default + * { margin-top: 0; }
.page-id-192045 .pb-column > .pb-heading--default:first-child { margin-top: 70px; }
.page-id-192045 .pb-column > .pb-spacer + .pb-heading--default { margin-top: 35px; }
.page-id-192045 .pb-column > .pb-buttons + .pb-heading--default { margin-top: 21px; }
.page-id-192045 .pb-section--pad-s + .pb-section--pad-none .pb-column > .pb-heading--default:first-child { margin-top: 59px; }

.page-id-192045 .pb-rich-text {
	font-size: 17px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #333;
}

.page-id-192045 .pb-rich-text strong { color: #333; }
.page-id-192045 .pb-rich-text p,
.page-id-192045 .pb-rich-text ul { margin-bottom: 20px; }
.page-id-192045 .pb-rich-text > :last-child { margin-bottom: 0; }

/* Store names and service descriptions under an icon are grey. */
.page-id-192045 .pb-image--icon + .pb-rich-text { color: #808080; }

/* The state lists ("South Australia:"). */
.page-id-192045 .pb-rich-text ul { padding-left: 32px; }
.page-id-192045 .pb-rich-text li {
	margin-bottom: 0;
	font-size: 16px;
	line-height: 34px;
}
.page-id-192045 .pb-rich-text li strong { font-size: 17px; }

/* The line introducing a list ("We have seven showrooms") is on live's 34px line too. */
.page-id-192045 .pb-rich-text p:has(+ ul) { line-height: 34px; }

/* Dedicated Staff copy (the section before the team) is justified. */
@media (min-width: 768px) {
	.page-id-192045 .pb-section:has(+ .pb-section .pb-team) .pb-rich-text { text-align: justify; }
}

.page-id-192045 .pb-column > .pb-rich-text + .pb-image { margin-top: 35px; }

/* Store pins 70px, service icons 100px, square so a failed load cannot
 * stretch the row. */
.page-id-192045 .pb-image--icon .pb-image__img {
	width: 70px;
	max-width: 70px;
	height: 70px;
	object-fit: contain;
}

.page-id-192045 .pb-columns--3 .pb-image--icon .pb-image__img {
	width: 100px;
	max-width: 100px;
	height: 100px;
}

.page-id-192045 .pb-column > .pb-image--icon + .pb-rich-text { margin-top: 34px; }
.page-id-192045 .pb-column > .pb-rich-text + .pb-buttons { margin-top: 35px; }

/* Store and service rows: 20px above, none below; an icon opening a row
 * sits 35px under the list or copy above, 21px under a row of buttons. */
.page-id-192045 .pb-section--pad-s { padding-top: 20px; padding-bottom: 0; }
.page-id-192045 .pb-column > .pb-image--icon:first-child { margin-top: 15px; }
.page-id-192045 .pb-section:has(.pb-column > .pb-buttons:last-child) + .pb-section .pb-column > .pb-image--icon:first-child { margin-top: 1px; }
.page-id-192045 .pb-section--pad-s + .pb-section--pad-none .pb-column > .pb-rich-text:first-child { margin-top: 54px; }

/* Desktop: stores and services sit on live's four-column grid, so two
 * Victorian stores and three services fill the first columns rather than
 * spreading across the row, and the single NT store takes one column. */
@media (min-width: 992px) {
	.page-id-192045 .pb-columns--2,
	.page-id-192045 .pb-columns--3,
	.page-id-192045 .pb-columns--4 {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: 20px;
	}

	.page-id-192045 .pb-columns--1 > .pb-column > .pb-image--icon,
	.page-id-192045 .pb-columns--1 > .pb-column > .pb-image--icon ~ .pb-rich-text,
	.page-id-192045 .pb-columns--1 > .pb-column > .pb-image--icon ~ .pb-buttons {
		width: calc((100% - 60px) / 4);
	}

	.page-id-192045 .pb-columns--1 > .pb-column > .pb-image--icon ~ .pb-heading,
	.page-id-192045 .pb-columns--1 > .pb-column > .pb-image--icon ~ .pb-heading ~ * {
		width: auto;
	}
}

/* Live's grey outline "Learn More!" (WPBakery classic grey, sized in em). */
.page-id-192045 .pb-button--primary,
.page-id-192045 .pb-button--primary:hover {
	padding: 8.528px 14.928px;
	border: 1px solid #ccc;
	border-radius: 25.6px;
	background-color: transparent;
	font-size: 12.8px;
	font-weight: 400;
	line-height: 18.29px;
	letter-spacing: 0.2px;
	color: #666;
}

/* Team: the content has one Team block per row, but live is one
 * continuous grid, so the blocks are flattened into a single grid on the
 * column (display: contents). A block with fewer than three members (Ray
 * and Max) then no longer leaves a hole mid-list; only the last row can
 * be short, as live. The lead card (alone in the first block) is
 * centred on its own row; square 335px photos, Roboto green names, grey
 * roles. */
.page-id-192045 .pb-section:has(.pb-team) { padding-top: 86px; }

.page-id-192045 .pb-column:has(> .pb-team) {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 111px var(--pb-gap);
}

.page-id-192045 .pb-column > .pb-team { display: contents; }

@media (min-width: 576px) {
	.page-id-192045 .pb-column:has(> .pb-team) { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (min-width: 992px) {
	.page-id-192045 .pb-column:has(> .pb-team) { grid-template-columns: repeat(3, minmax(0, 1fr)); }

	.page-id-192045 .pb-column > .pb-team:first-child > .pb-team__member:only-child {
		grid-column: 1 / -1;
		justify-self: center;
		width: calc((100% - 60px) / 3);
	}
}

.page-id-192045 .pb-team__photo img {
	width: calc(100% - 26px);
	max-width: 335px;
	height: auto;
	aspect-ratio: 1 / 1;
	margin-bottom: 0;
	border-radius: 0;
}

.page-id-192045 .pb-team__name {
	margin-top: 46px;
	font-family: Roboto, sans-serif;
	font-size: 24px;
	line-height: 24px;
	text-transform: capitalize;
	color: #2bb436;
}

.page-id-192045 .pb-team__role {
	margin: 0;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	color: #969696;
}

@media (max-width: 767px) {
	.page-id-192045 .pb-rich-text { font-size: 17px; line-height: 20px; }
	.page-id-192045 .pb-rich-text ul { padding-left: 26px; }
	.page-id-192045 .pb-rich-text li { font-size: 13px; }

	/* Stacked store and service cards sit closer than the shared 20px. */
	.page-id-192045 .pb-columns { row-gap: 8px; }

	.page-id-192045 .pb-button--primary,
	.page-id-192045 .pb-button--primary:hover {
		padding: 6.929px 12.129px;
		border-radius: 20.8px;
		font-size: 10.4px;
		line-height: 14.86px;
	}

	.page-id-192045 .pb-section:has(.pb-team) { padding-top: 118px; }
	.page-id-192045 .pb-column:has(> .pb-team) { row-gap: 139px; }
	.page-id-192045 .pb-team__name { margin-top: 43px; font-size: 19.5px; line-height: 19.5px; }
	.page-id-192045 .pb-team__role { font-size: 13px; line-height: 20px; }
}

/* ------------------------------------------------------------------ */
/* Info pages: hero heading + copy with a HELP sidebar                 */
/* ------------------------------------------------------------------ */

/*
 * The five pages whose hero heading sits bare at the top of the page,
 * outside any Section (How to request a quote, the two "Pay online"
 * pages, NDIS service agreement, Fabric Range). Live styles them with
 * Oswald headings and a stacked button sidebar; matched to live's
 * computed styles at 1440px and 390px (2026-10-06). Keyed on an implicit
 * section that is the page's first: the service pages (Patient
 * Discharge, Facility Fitouts, Home Modifications) put hero headings in
 * implicit sections further down, which these rules must not reach.
 */
.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) {
	--pb-info-heading: Oswald, sans-serif;
}

/* Hero: 56px Oswald 600 uppercase (52px on How to request a quote),
 * 20px under the header and 48px above the copy (39px on phones). */
.pb-page > .pb-section--implicit:first-child:has(.pb-heading--hero) {
	padding-top: 20px;
	padding-bottom: 48px;
}

.pb-page > .pb-section--implicit:first-child:has(.pb-heading--hero) + .pb-section { padding-top: 0; }

.pb-page > .pb-section--implicit:first-child .pb-heading.pb-heading--hero .pb-heading__title {
	font-family: var(--pb-info-heading);
	font-size: 56px;
	font-weight: 600;
	line-height: 1.2;
	text-transform: uppercase;
	color: #23272b;
}

.page-id-262785 .pb-page > .pb-section--implicit:first-child .pb-heading.pb-heading--hero .pb-heading__title { font-size: 52px; }

/* How to request a quote: live has 20px between the header and the heading. */
.page-id-262785 .pb-page > .pb-section--implicit:first-child:has(.pb-heading--hero) { padding-top: 20px; }

@media (max-width: 767px) {
	.pb-page > .pb-section--implicit:first-child:has(.pb-heading--hero) { padding-bottom: 39px; }
}

/* Sidebar headings ("HELP", "MORE FROM US"): 20px Oswald on a 42px line
 * with live's 50x5 #008000 bar 2px under it, pulled up 10px as live, 18px
 * clear above whatever follows and 10px under the buttons. */
.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-heading__title {
	font-family: var(--pb-info-heading);
	font-size: 20px;
	line-height: 42px;
	color: #24282c;
}

.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-heading--accent .pb-heading__title::after {
	height: 5px;
	margin-top: 2px;
	background-color: #008000;
}

.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child > .pb-heading:first-child { margin-top: -10px; }
.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child > .pb-buttons + .pb-heading { margin-top: 10px; }
.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child > .pb-heading + * { margin-top: 18px; }

/* The NDIS pages set their bars tighter under the heading text and leave
 * 13px (12px on phones) between the buttons and "MORE FROM US". */
.page-id-128572 .pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-heading--accent .pb-heading__title::after,
.page-id-128578 .pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-heading--accent .pb-heading__title::after { margin-top: -8px; }
.page-id-128572 .pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child > .pb-buttons + .pb-heading,
.page-id-128578 .pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child > .pb-buttons + .pb-heading { margin-top: 13px; }

/* Desktop: live's sidebar starts 7px further right. */
@media (min-width: 768px) {
	.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child { padding-left: 7px; }
}

/* An article split by the HELP sidebar row: the mapper puts the sidebar
 * row in a section of its own and the rest of the article in the next
 * (implicit) section, so two section paddings (80px) opened up mid-text
 * where live runs on (Support at Home, Pay online with NDIS funds, NDIS
 * service agreement). The join is a paragraph gap instead. */
.pb-section:has(> .pb-section__inner > .pb-columns--3-1):has(+ .pb-section--implicit) { padding-bottom: 0; }
.pb-section:has(> .pb-section__inner > .pb-columns--3-1) + .pb-section--implicit { padding-top: 15px; }

/* Pay online with NDIS funds: live has two &nbsp; spacer paragraphs at the
 * join (the mapper turns them into empty, zero-height ones), so its gap
 * is 44px bigger on desktop. */
@media (min-width: 768px) {
	.page-id-128578 .pb-section:has(> .pb-section__inner > .pb-columns--3-1) + .pb-section--implicit { padding-top: 59px; }
}

/* Live's slate "btn-modern" pills: 11.2px semibold uppercase, 41px tall. */
.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-button {
	padding: 11.2px 22.4px;
	border: 1px solid #475157;
	border-radius: 22.4px;
	background-color: #475157;
	font-size: 11.2px;
	font-weight: 600;
	line-height: 16.8px;
	letter-spacing: 0.2px;
	text-transform: uppercase;
	color: #fff;
}

.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-button:hover {
	border-color: #5e6c74;
	background-color: #58646b;
	color: #fff;
}

/* Sidebar buttons always stack, 21px apart. */
.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child > .pb-buttons {
	flex-direction: column;
	align-items: flex-start;
	gap: 21px;
}

@media (max-width: 767px) {
	.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-heading__title { line-height: 40px; }
	.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child > .pb-buttons { gap: 20px; }

	.pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-button {
		padding: 9.1px 18.2px;
		border-radius: 18.2px;
		font-size: 9.1px;
		line-height: 13.65px;
	}

	.page-id-128578 .pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child .pb-heading--accent .pb-heading__title::after { margin-top: -12px; }
	.page-id-128578 .pb-page:has(> .pb-section--implicit:first-child .pb-heading--hero) .pb-columns--3-1 > .pb-column:last-child > .pb-buttons + .pb-heading { margin-top: 12px; }
}

/* ------------------------------------------------------------------ */
/* Store Locator (page 122986, the same ID on production)              */
/* ------------------------------------------------------------------ */

/*
 * Matched to live's computed styles at 1440px and 390px (2026-10-06).
 * Live sized this page with inline spans the mapper strips, so the sizes
 * come back here: 36px black title, 14px copy on a 22px line, the
 * "SA \ VIC \ NT" jump links at 30px, 34px green state headings and grey
 * store names.
 */
.page-id-122986 .pb-rich-text {
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.2px;
}

.page-id-122986 .pb-rich-text h1 {
	font-size: 36px;
	line-height: 44px;
	color: #000;
}

/* Live's store lines are 23px apart (14px spans inside a 16px/22px
 * paragraph); the intro keeps 22px. */
.page-id-122986 .pb-rich-text p { margin-bottom: 20px; }
.page-id-122986 .pb-column > .pb-rich-text > p:has(strong) { line-height: 23px; }
.page-id-122986 .pb-rich-text > :last-child { margin-bottom: 0; }

/* Jump links: one 30px line straight under the intro, with a black
 * separator before every link after the first. */
.page-id-122986 .pb-rich-text h2:has(a) {
	margin: 0;
	font-size: 30px;
	line-height: 42px;
}

.page-id-122986 .pb-rich-text h2:has(a) a + a::before {
	content: "\\ ";
	color: #000;
}

/* State headings ("SA", "VIC", "NT"). */
.page-id-122986 .pb-rich-text h2:not(:has(a)) {
	margin: 0;
	font-size: 34px;
	line-height: 42px;
	color: var(--pb-green);
}

/* Store names. */
.page-id-122986 .pb-rich-text strong { color: #7b858a; }

/* Gaps between the text blocks, from live: intro 16px under the title,
 * 41px from the jump links to the first state heading and 35px from a
 * store list to the next (34px on phones), 12px from a state heading to
 * its stores. */
.page-id-122986 .pb-column > .pb-rich-text:has(> h1) + .pb-rich-text { margin-top: 16px; }
.page-id-122986 .pb-column > .pb-rich-text:has(> h2:only-child):not(:has(a)) { margin-top: 41px; }
.page-id-122986 .pb-column > .pb-rich-text:has(> h2:only-child):not(:has(a)) + .pb-rich-text { margin-top: 12px; }
.page-id-122986 .pb-column > .pb-rich-text:has(> p strong) + .pb-rich-text:has(> h2:only-child):not(:has(a)) { margin-top: 35px; }

@media (max-width: 767px) {
	.page-id-122986 .pb-rich-text { font-size: 14px; line-height: 20px; }
	.page-id-122986 .pb-rich-text h1 { font-size: 29.25px; line-height: 40px; }
	.page-id-122986 .pb-rich-text p { margin-bottom: 16.25px; }
	.page-id-122986 .pb-column > .pb-rich-text > p:has(strong) { line-height: 20px; }
	.page-id-122986 .pb-column > .pb-rich-text:has(> p strong) + .pb-rich-text:has(> h2:only-child):not(:has(a)) { margin-top: 34px; }
	.page-id-122986 .pb-rich-text h2:has(a) { font-size: 30px; line-height: 40px; }
	.page-id-122986 .pb-rich-text h2:not(:has(a)) { font-size: 34px; line-height: 40px; }
}

/* ------------------------------------------------------------------ */
/* Social links                                                        */
/* ------------------------------------------------------------------ */

/* Live's Porto "Follow Us" icons (the HELP sidebar's "More from us"):
 * 37px circles, white glyph, Porto's brand colours, 45px apart. */
.pb-social {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.pb-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 37px;
	height: 37px;
	margin: 2px;
	border-radius: 50%;
	color: #fff;
	transition: opacity 0.2s;
}

.pb-social__link:hover { color: #fff; opacity: 0.85; }

.pb-social__link--facebook { background-color: #3b5a9a; }
.pb-social__link--youtube { background-color: #c3191e; }
.pb-social__link--instagram { background-color: #7c4a3a; }
.pb-social__link--linkedin { background-color: #0073b2; }

/* ------------------------------------------------------------------ */
/* NDIS service agreement (page 128572, the same ID on production)     */
/* ------------------------------------------------------------------ */

/* Sub-headings are live's 18px green (14.625px on phones). Some carry a
 * <strong>, which would otherwise turn them heading-grey and 900 weight. */
.page-id-128572 .pb-rich-text h2,
.page-id-128572 .pb-rich-text h2 strong {
	font-size: 18px;
	font-weight: 700;
	color: var(--pb-green);
}

/* Spacing as live: copy 16px on a 22px line (0.2px tracking) with 20px under each
 * paragraph, list items with no gap of their own, sub-headings on a 42px
 * line with 62px above (the paragraph's 20px plus live's 42px) and 32px
 * under them. */
.page-id-128572 .pb-rich-text {
	line-height: 22px;
	letter-spacing: 0.2px;
}
.page-id-128572 .pb-rich-text p { margin-bottom: 20px; }
.page-id-128572 .pb-rich-text li { margin-bottom: 0; }

.page-id-128572 .pb-rich-text h2 {
	margin: 62px 0 32px;
	line-height: 42px;
}

.page-id-128572 .pb-rich-text > h2:first-child { margin-top: 0; }


@media (max-width: 767px) {
	.page-id-128572 .pb-rich-text h2,
	.page-id-128572 .pb-rich-text h2 strong { font-size: 14.625px; }

	/* Phones: 13px copy on a 20px line, as live. */
	.page-id-128572 .pb-rich-text { font-size: 13px; line-height: 20px; }
	.page-id-128572 .pb-rich-text p { margin-bottom: 16.25px; }
	.page-id-128572 .pb-rich-text h2 { margin-top: 53px; line-height: 40px; }
	.page-id-128572 .pb-rich-text > h2:first-child { margin-top: 0; }
	/* Its 13px phone copy needs a wider join than the shared one. */
	.page-id-128572 .pb-section:has(> .pb-section__inner > .pb-columns--3-1) + .pb-section--implicit { padding-top: 39px; }

	/* Live hides the HELP sidebar on phones (d-none d-md-block), so the
	 * article is not interrupted. */
	.page-id-128572 .pb-columns--3-1 > .pb-column:last-child { display: none; }
}

/* ------------------------------------------------------------------ */
/* Pay online with My Aged Care (page 240171, same ID on production)   */
/* ------------------------------------------------------------------ */

/* Live has an <hr> under the intro (the mapper strips it): a 1px
 * rgba(0,0,0,.08) rule across the text column, 22px clear above and
 * below (18px on phones). Drawn under the second intro paragraph. */
.page-id-240171 .pb-columns--3-1 > .pb-column:first-child .pb-rich-text > p:nth-child(2) { margin-bottom: 22px; }

.page-id-240171 .pb-columns--3-1 > .pb-column:first-child .pb-rich-text > p:nth-child(2)::after {
	content: "";
	display: block;
	height: 1px;
	margin-top: 22px;
	background-color: rgba(0, 0, 0, 0.08);
}

@media (max-width: 767px) {
	.page-id-240171 .pb-columns--3-1 > .pb-column:first-child .pb-rich-text > p:nth-child(2) { margin-bottom: 18px; }
	.page-id-240171 .pb-columns--3-1 > .pb-column:first-child .pb-rich-text > p:nth-child(2)::after { margin-top: 18px; }
}

/* ------------------------------------------------------------------ */
/* Partners (page 133099, the same ID on production)                   */
/* ------------------------------------------------------------------ */

/*
 * Matched to live's computed styles at 1440px and 390px (2026-10-06).
 * Live sets the page in Raleway: #091529 headings, #0f0f0f copy, #34b33e
 * green. The buttons keep the shared page-blocks style (decision
 * 2026-10-06).
 */
.page-id-133099 .pb-heading__title,
.page-id-133099 .pb-rich-text {
	font-family: Raleway, sans-serif;
}

/* Hero: live is one 533px band (150px padding) with the map image at its
 * natural size from the top left and no dark wash. The mapper made it two
 * sections (heading row, then copy and button), so the second continues
 * the first's image: offset by the first section's height (150px padding
 * + the 48px heading row; 150 + 48 + 8 + 48 on phones, stacked). The
 * intro sits 20px under the heading row (a deliberate step from live,
 * which tucks it 10px up, 8px below on phones; Ari 2026-10-06), and the
 * band's bottom padding gives that back so the band keeps live's height. */
.page-id-133099 .pb-page > .pb-section--bg-image:first-child,
.page-id-133099 .pb-page > .pb-section--bg-image:first-child + .pb-section--bg-image {
	background-size: auto;
	background-position: 0 0;
	background-repeat: repeat;
}

.page-id-133099 .pb-page > .pb-section--bg-image:first-child::before,
.page-id-133099 .pb-page > .pb-section--bg-image:first-child + .pb-section--bg-image::before { content: none; }

.page-id-133099 .pb-page > .pb-section--bg-image:first-child { padding: 150px 0 0; }
.page-id-133099 .pb-page > .pb-section--bg-image:first-child + .pb-section--bg-image {
	padding: 0 0 132px; /* live's 172px, less the 10px taller local button and the 30px added above the intro */
	background-position: 0 -198px;
}

/* "Our Partnerships" reads as one centred phrase, 10px between words. */
.page-id-133099 .pb-page > .pb-section--bg-image:first-child .pb-columns {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.page-id-133099 .pb-page > .pb-section--bg-image:first-child .pb-column { flex: 0 0 auto; }

.page-id-133099 .pb-page > .pb-section--bg-image:first-child .pb-column > .pb-heading { margin-bottom: 0; }

.page-id-133099 .pb-page > .pb-section--bg-image:first-child .pb-heading__title {
	padding-bottom: 6px;
	font-size: 48px;
	font-weight: 700;
	line-height: 42px;
}

.page-id-133099 .pb-heading.pb-heading--green .pb-heading__title { color: #34b33e; }

/* Intro: 26px Raleway on 42px lines, wrapped to live's ~620px measure. */
.page-id-133099 .pb-page > .pb-section--bg-image:first-child + .pb-section--bg-image .pb-rich-text {
	max-width: 640px;
	margin: 20px auto 0;
	font-size: 26px;
	line-height: 42px;
}

.page-id-133099 .pb-page > .pb-section--bg-image:first-child + .pb-section--bg-image .pb-rich-text + .pb-buttons { margin-top: 10px; }

/* "Our Partners" starts 55px under the band. */
.page-id-133099 #partners { padding-top: 55px; }

/* Section headings: 48px (36px for "Interested in working with us?")
 * #091529 on a 42px line, with live's 4px #34b33e bar 10px under, 10% of
 * the column wide. */
.page-id-133099 .pb-section:not(.pb-section--bg-image) .pb-heading--hero .pb-heading__title {
	font-size: 48px;
	font-weight: 700;
	line-height: 42px;
	color: #091529;
}

.page-id-133099 .pb-section:not(.pb-section--bg-image) .pb-columns--2 .pb-heading--hero .pb-heading__title { font-size: 36px; }

.page-id-133099 .pb-heading--accent .pb-heading__title::after {
	width: 10%;
	height: 4px;
	margin-top: 10px;
	background-color: #34b33e;
}

/* Copy: 15px #0f0f0f on a 22px line, 10px under paragraphs; "Don't see
 * your business" sits 44px under the last logo row. */
.page-id-133099 .pb-section:not(.pb-section--bg-image) .pb-rich-text {
	font-size: 15px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #0f0f0f;
}

.page-id-133099 .pb-section:not(.pb-section--bg-image) .pb-rich-text p { margin-bottom: 10px; }
.page-id-133099 .pb-section:not(.pb-section--bg-image):has(> .pb-section__inner > .pb-columns--middle) + .pb-section--implicit { padding-top: 14px; }

/* The enquiry form: live's 18px #535151 title, bold 14px #3c3d41 labels
 * and close-set fields (1px between a field and the next label, 8px to
 * the button). The field boxes and the Submit button keep the shared
 * page-blocks form style. */
.page-id-133099 .pb-form .gform_wrapper .gform_title {
	margin: 0 0 19px;
	font-size: 18px;
	line-height: 32px;
	text-transform: none;
	color: #535151;
}

.page-id-133099 .pb-form .gform_wrapper .gfield_label {
	margin-bottom: 2px;
	padding: 0;
	font-weight: 700;
	line-height: 23.8px;
	color: #3c3d41;
}

.page-id-133099 .pb-form .gform_wrapper .gform_heading { margin: 0; }
.page-id-133099 .pb-form .gform_wrapper .gfield { margin-top: 1px; }
.page-id-133099 .pb-form .gform_wrapper .ginput_container { margin-top: 0; }
.page-id-133099 .pb-form .gform_wrapper .gform_footer { margin-top: 8px; padding: 0; }

/* "Interested in working with us?" starts 60px (71px on phones) under
 * the "Don't see your business" line, as live. */
.page-id-133099 .pb-section--implicit + .pb-section { padding-top: 60px; }

/* Logo grid: three across, each logo at its natural width up to 287px,
 * vertically centred in its row, rows 42px apart and the first 22px under
 * the "Our Partners" bar; the last row's two logos keep to the first two
 * columns as live (21px above it). One column on phones, logos up to
 * 270px, 40px apart. */
.page-id-133099 .pb-columns--middle .pb-image__img {
	width: auto;
	max-width: 287px;
}

.page-id-133099 #partners { padding-bottom: 1px; }
.page-id-133099 .pb-section:not(.pb-section--bg-image):has(> .pb-section__inner > .pb-columns--middle) { padding: 21px 0; }
.page-id-133099 .pb-section:not(.pb-section--bg-image):has(> .pb-section__inner > .pb-columns--2.pb-columns--middle) { padding-top: 0; }

/* Live's builder padded some logo columns 20px more a side, and two logos
 * are smaller than the column (the image sizes="auto" would scale them up
 * to it): rows 3 and 5 (page sections 6 and 8). Row 5's first two sit at
 * the left of the centred 287px (270px) logo box, and its logos are 20px apart on phones. */
.page-id-133099 .pb-page > .pb-section:nth-child(6) .pb-column:nth-child(n+2) .pb-image__img,
.page-id-133099 .pb-page > .pb-section:nth-child(8) .pb-column:nth-child(3) .pb-image__img { max-width: 247px; }
.page-id-133099 .pb-page > .pb-section:nth-child(8) .pb-column:nth-child(1) .pb-image__img { max-width: 250px; }
.page-id-133099 .pb-page > .pb-section:nth-child(8) .pb-column:nth-child(2) .pb-image__img { max-width: 205px; }
.page-id-133099 .pb-page > .pb-section:nth-child(8) .pb-column:nth-child(-n+2) .pb-image {
	max-width: 287px;
	margin: 0 auto;
	text-align: left;
}

@media (min-width: 768px) {
	.page-id-133099 .pb-columns--2.pb-columns--middle { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
	.page-id-133099 .pb-page > .pb-section--bg-image:first-child { padding-top: 150px; }
	.page-id-133099 .pb-page > .pb-section--bg-image:first-child + .pb-section--bg-image {
		padding-bottom: 160px;
		background-position: 0 -254px;
	}

	.page-id-133099 .pb-page > .pb-section--bg-image:first-child .pb-columns {
		flex-direction: column;
		align-items: center;
		gap: 8px;
	}

	.page-id-133099 .pb-page > .pb-section--bg-image:first-child .pb-heading__title { text-align: center; }

	.page-id-133099 .pb-page > .pb-section--bg-image:first-child + .pb-section--bg-image .pb-rich-text {
		max-width: none;
		margin: 20px -15px 0;
		line-height: 40px;
	}

	.page-id-133099 .pb-page > .pb-section--bg-image:first-child + .pb-section--bg-image .pb-rich-text + .pb-buttons { margin-top: 8px; }
	.page-id-133099 .pb-page > .pb-section--bg-image:first-child .pb-heading__title { padding-bottom: 8px; line-height: 40px; }

	.page-id-133099 .pb-section:not(.pb-section--bg-image) .pb-heading--hero .pb-heading__title { line-height: 40px; }
	.page-id-133099 .pb-section:not(.pb-section--bg-image) .pb-rich-text { line-height: 20px; }
	.page-id-133099 .pb-section:not(.pb-section--bg-image) .pb-rich-text p { margin-bottom: 8.125px; }
	.page-id-133099 .pb-form .gform_wrapper .gform_title { line-height: 29.0909px; }
	.page-id-133099 .pb-section--implicit + .pb-section { padding-top: 71px; }
	.page-id-133099 .pb-section--implicit + .pb-section .pb-columns { row-gap: 2px; }
	.page-id-133099 .pb-columns--middle .pb-image__img { max-width: 270px; }
	.page-id-133099 .pb-section:not(.pb-section--bg-image):has(> .pb-section__inner > .pb-columns--middle) { padding: 20px 0; }
	.page-id-133099 .pb-section:not(.pb-section--bg-image):has(> .pb-section__inner > .pb-columns--2.pb-columns--middle) { padding-top: 20px; }
	.page-id-133099 .pb-columns--middle { row-gap: 40px; }
	.page-id-133099 .pb-page > .pb-section:nth-child(8) .pb-columns--middle { row-gap: 20px; }
	.page-id-133099 .pb-page > .pb-section:nth-child(8) .pb-column:nth-child(-n+2) .pb-image { max-width: 270px; }
	.page-id-133099 .pb-page > .pb-section:nth-child(6) .pb-column:nth-child(n+2) .pb-image__img,
	.page-id-133099 .pb-page > .pb-section:nth-child(8) .pb-column:nth-child(3) .pb-image__img { max-width: 230px; }
}

/* ------------------------------------------------------------------ */
/* Business portal guide (page 199367, the same ID on production)      */
/* ------------------------------------------------------------------ */

/* The rule under the title: the same faint 1px rgba(0,0,0,.08) line as
 * the Pay online with My Aged Care divider, 10px below the title. The
 * rule live draws under the form is dropped (Ari 2026-10-06). */
.page-id-199367 .pb-divider {
	height: 1px;
	border-top: 0;
	background-color: rgba(0, 0, 0, 0.08);
}

.page-id-199367 .pb-column > .pb-heading + .pb-divider { margin-top: 10px; }
.page-id-199367 .pb-columns--3-1 > .pb-column:first-child > .pb-divider { display: none; }

/* Sub-headings: live's 18px green (14.625px on phones). */
.page-id-199367 .pb-rich-text h2,
.page-id-199367 .pb-rich-text h2 strong {
	font-size: 18px;
	font-weight: 700;
	color: var(--pb-green);
}

/* Icon boxes left-aligned with live's 60px #61a634 circles. */
.page-id-199367 .pb-icon-boxes--icon-top .pb-icon-box {
	align-items: flex-start;
	text-align: left;
}

.page-id-199367 .pb-icon-box__icon {
	width: 60px;
	height: 60px;
	background-color: #61a634;
	color: #fff;
}

@media (max-width: 767px) {
	.page-id-199367 .pb-rich-text h2,
	.page-id-199367 .pb-rich-text h2 strong { font-size: 14.625px; }
}

/* ------------------------------------------------------------------ */
/* Website loyalty program (page 214025, same ID on production)        */
/* ------------------------------------------------------------------ */

/* Welcome image at live's 461px (desktop; phones are full width on both). */
@media (min-width: 768px) {
	.page-id-214025 .pb-columns--2.pb-columns--equal > .pb-column:last-child .pb-image--full .pb-image__img { max-width: 461px; }
}

/* Step bands as live: one continuous grey run, 10px above the content and
 * a 186px row, so each band is 196px (no band or section padding). */
.page-id-214025 .pb-section--bg-grey { padding: 0; }
.page-id-214025 .pb-section--bg-grey > .pb-section__inner { padding-top: 10px; padding-bottom: 0; }
.page-id-214025 .pb-section--bg-grey .pb-columns { min-height: 186px; }
.page-id-214025 .pb-section--bg-grey .pb-columns > .pb-column:first-child { align-self: start; }

@media (max-width: 767px) {
	.page-id-214025 .pb-section--bg-grey .pb-columns { row-gap: 34px; }
}

/* ------------------------------------------------------------------ */
/* Store pages: hero (children of South Australia 62922 / Victoria     */
/* 63070, the same IDs on production)                                  */
/* ------------------------------------------------------------------ */

/* The green store hero: 80px above the store logo at every width, and
 * 35px between stacked hero images. Brighton (62938) is excluded and has
 * its own block below. */
:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child { padding-top: 80px; }
:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child .pb-image + .pb-image { margin-top: 35px; }

/* 24px under the hero's last image (20px on phones), so the NDIS badge
 * row starts where live's does. */
:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child { padding-bottom: 24px; }

/* Desktop: live floats "Book Now!" over the bottom left of the animation
 * rather than above the NDIS badge, so the badges and service icons start
 * 12px under the animation. Phones keep it in the flow, as live. */
@media (min-width: 768px) {
	:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child:has(+ .pb-section .pb-column:first-child > .pb-buttons:first-child) { padding-bottom: 0; }
	:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child + .pb-section:has(.pb-column:first-child > .pb-buttons:first-child) { padding-top: 0; }
	:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child + .pb-section:has(.pb-column:first-child > .pb-buttons:first-child) > .pb-section__inner > .pb-columns { margin-top: -7px; }
	:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child:has(> .pb-buttons:first-child) { position: relative; }
	:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child > .pb-buttons:first-child {
		position: absolute;
		top: -101px;
		left: 224px;
		margin: 0;
	}
	:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child > .pb-buttons:first-child + * { margin-top: 0; }
}

@media (max-width: 767px) {
	:is(.parent-pageid-62922, .parent-pageid-63070):not(.page-id-62938) .pb-page > .pb-section--bg-custom:first-child { padding-bottom: 20px; }

}

/* Store hero second row, every store page including Brighton: live's
 * address type (22.4px regular "Address", 16px street, 14px #e1f9d1 hours
 * one per line 32px apart and pulled 41px left under the pin; 18.2px /
 * 13px / 28.5px on phones) and 35px between the NDIS and Australian Owned
 * badges. */
:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column > .pb-image + .pb-image { margin-top: 35px; }
:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section:not(:has(.pb-column:first-child > .pb-buttons:first-child)) .pb-column > .pb-image + .pb-icon-boxes { margin: 40px 0 0 -12px; }

:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-icon-box__title {
	font-size: 22.4px;
	font-weight: 400;
	line-height: 26.88px;
}

:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-icon-box__subtitle {
	font-size: 16px;
	line-height: 22px;
	color: #fff;
}

:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-icon-box__text {
	margin: 26px 0 0 -41px;
	font-size: 14px;
	line-height: 32px;
	color: #e1f9d1;
}

@media (max-width: 767px) {
	:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-icon-box__title { font-size: 18.2px; line-height: 21.84px; }
	:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-icon-box__subtitle { font-size: 13px; line-height: 20px; }
	:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-icon-box__text { margin-top: 40px; line-height: 28.5px; }
	:is(.parent-pageid-62922, .parent-pageid-63070) .pb-page > .pb-section--bg-custom:first-child + .pb-section:not(:has(.pb-column:first-child > .pb-buttons:first-child)) .pb-column > .pb-image + .pb-icon-boxes { margin: 48px 0 0 31px; }
}

/* ------------------------------------------------------------------ */
/* Brighton hero (page 62938, the same ID on production)               */
/* ------------------------------------------------------------------ */

/* Brighton's two green hero sections spaced 1:1 with live at 1440px and
 * 390px (2026-10-06). It is excluded from the shared store-hero rules
 * above. Desktop: 80px above the logo, 35px to the In-Home Trials
 * animation, "Book Now!" floated over the animation's bottom left, the
 * badges 12px under it with the service icons, address and hours beside
 * them. Phones stack everything in the flow, 35px apart. */
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child { padding: 80px 0 0; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child .pb-image + .pb-image { margin-top: 35px; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section { padding: 12px 0 47px; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-columns { align-items: start; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child > .pb-image + .pb-image { margin-top: 35px; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child { padding-top: 23px; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child > .pb-image + .pb-icon-boxes { margin-top: 26px; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child .pb-icon-box__title { margin-bottom: 4px; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child .pb-icon-box__text { margin: 26px 0 0 -36px; line-height: 34px; }
.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child > .pb-icon-boxes + .pb-buttons { margin-top: 26px; }

@media (min-width: 768px) {
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child { position: relative; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child > .pb-buttons:first-child {
		position: absolute;
		top: -100px;
		left: 215px;
		margin: 0;
	}
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child > .pb-buttons:first-child + * { margin-top: 0; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child { padding-left: 10px; }
	/* The dashed divider (the column's left border) sits 17px further left
	 * than the grid puts it, and runs from 20px below the badge row to 14px
	 * under Shop Now, as live; the content stays where it is. */
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section { padding-bottom: 33px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child {
		margin: 20px 0 0 -17px;
		padding: 3px 0 14px 35px;
	}
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child > .pb-image { margin-left: -5px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child > .pb-buttons { margin-left: -18px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child .pb-icon-box__text { margin-left: -41px; }
}

@media (max-width: 767px) {
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child { padding-top: 95px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section { padding-top: 37px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child > .pb-buttons:first-child { padding-left: 35px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:first-child > .pb-buttons:first-child + * { margin-top: 49px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child { padding-top: 15px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child > .pb-image { margin-left: -10px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child > .pb-image + .pb-icon-boxes { margin-top: 37px; padding-left: 31px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child .pb-icon-box__title { margin-bottom: 4px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child .pb-icon-box__text { margin: 40px 0 0 -41px; line-height: 30px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section { padding-bottom: 50px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child > .pb-icon-boxes + .pb-buttons { margin-top: 30px; }
	.page-id-62938 .pb-page > .pb-section--bg-custom:first-child + .pb-section .pb-column:last-child > .pb-buttons { margin-left: 22px; }
}

/* ------------------------------------------------------------------ */
/* Mobile Showroom (page 218581, the same ID on production)            */
/* ------------------------------------------------------------------ */

/* Matched to live's computed styles at 1440px and 390px (2026-10-06).
 * Intro: 40px 600 heading, 30px green sub-heading, 16px copy on a 22px
 * line (13px / 20px on phones) with 20px under paragraphs, the closing
 * line 19px black. */
.page-id-218581 #mobileshowroom .pb-heading--hero .pb-heading__title {
	font-size: 40px;
	font-weight: 600;
	line-height: 48px;
	color: #22262a;
}

.page-id-218581 #mobileshowroom .pb-heading--hero + .pb-rich-text { margin-top: 5px; }

.page-id-218581 #mobileshowroom .pb-rich-text h3 {
	margin: 0;
	font-size: 30px;
	line-height: 32px;
	color: var(--pb-green);
}

.page-id-218581 .pb-rich-text { line-height: 22px; }
.page-id-218581 .pb-rich-text p { margin-bottom: 20px; }

.page-id-218581 #mobileshowroom .pb-rich-text p:last-child strong:only-child {
	font-size: 19px;
	color: #000;
}

.page-id-218581 #mobileshowroom .pb-column > .pb-rich-text:has(h3) + .pb-rich-text { margin-top: 46px; }
.page-id-218581 #mobileshowroom .pb-column > .pb-rich-text + .pb-buttons { margin-top: 35px; }

/* "Meet Our Specialists:" is a 30px black heading 90px under the button;
 * "Our Mobile Showroom Team" is grey. */
.page-id-218581 #mobileshowroom + .pb-section { padding-top: 90px; }

.page-id-218581 #mobileshowroom + .pb-section .pb-column > .pb-rich-text:first-child strong {
	font-size: 30px;
	line-height: 41px;
	color: #000;
}

.page-id-218581 #mobileshowroom + .pb-section .pb-column > .pb-rich-text:first-child + .pb-rich-text { margin-top: 31px; }
.page-id-218581 #mobileshowroom + .pb-section .pb-rich-text p:last-child strong { color: #7b858a; }

/* Team: three across 20px apart, square photos filling the column, green
 * names and uppercase green roles, 56px between rows. */
.page-id-218581 #mobileshowroom + .pb-section .pb-team {
	margin-top: 77px;
	gap: 56px 20px;
}

.page-id-218581 #mobileshowroom + .pb-section .pb-team__photo img {
	width: 100%;
	max-width: none;
	height: auto;
	aspect-ratio: 1 / 1;
	margin: 0;
	object-fit: cover;
	border-radius: 0;
}

.page-id-218581 #mobileshowroom + .pb-section .pb-team__name {
	margin-top: 42px;
	font-size: 16px;
	line-height: 19px;
	color: #2bb436;
}

.page-id-218581 #mobileshowroom + .pb-section .pb-team__role {
	margin: 0 0 10px;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	text-transform: uppercase;
}

/* How It Works: live's navy 35px PT Sans heading and card styling, the
 * three 360px cards in a row (decision 2026-10-06; live's own cards wrap
 * out of line). Heading and cards read as one grey band: the colour is on
 * each section's inner box, so the spacing goes there and the seam between
 * the two has square corners. Phones: cards full-bleed to the right edge,
 * no gaps. Numbers 24px, titles 21px, 16px copy (13px on phones). */
.page-id-218581 .pb-section--bg-grey .pb-heading__title {
	font-family: "PT Sans", sans-serif;
	font-size: 35px;
	line-height: 32px;
	color: #112047;
}

/* Heading 78px into the band, cards 55px under it, 80px below the cards
 * (live's gaps). */
.page-id-218581 .pb-section--bg-grey { padding: 0; }
.page-id-218581 .pb-section--bg-grey:has(.pb-heading) { margin-top: 40px; }
.page-id-218581 .pb-section--bg-grey:has(.pb-heading) > .pb-section__inner {
	padding: 78px 150px 0;
	border-bottom-left-radius: 0;
	border-bottom-right-radius: 0;
}
.page-id-218581 .pb-section--bg-grey:has(.pb-heading) .pb-spacer { display: none; }
.page-id-218581 .pb-section--bg-grey:has(.pb-heading) + .pb-section--bg-grey > .pb-section__inner {
	padding: 55px 150px 80px;
	border-top-left-radius: 0;
	border-top-right-radius: 0;
}

.page-id-218581 .pb-section--bg-grey .pb-columns--3 > .pb-column {
	min-height: 360px;
	padding: 40px 10px;
}

.page-id-218581 .pb-section--bg-grey .pb-columns--3 > .pb-column:nth-child(1) { background-color: #fff; }
.page-id-218581 .pb-section--bg-grey .pb-columns--3 > .pb-column:nth-child(2) { background-color: #19bab0; }
.page-id-218581 .pb-section--bg-grey .pb-columns--3 > .pb-column:nth-child(3) { background-color: #7a97a0; }

.page-id-218581 .pb-section--bg-grey .pb-columns--3 .pb-rich-text { color: #000; }
.page-id-218581 .pb-section--bg-grey .pb-columns--3 > .pb-column:nth-child(n+2) .pb-rich-text,
.page-id-218581 .pb-section--bg-grey .pb-columns--3 > .pb-column:nth-child(n+2) .pb-rich-text strong { color: #fff; }

.page-id-218581 .pb-section--bg-grey .pb-columns--3 .pb-rich-text p:first-child {
	font-size: 21px;
	font-weight: 700;
	line-height: 22px;
	color: inherit;
}

.page-id-218581 .pb-section--bg-grey .pb-columns--3 .pb-rich-text p:first-child::first-line { font-size: 24px; line-height: 26px; }
.page-id-218581 .pb-section--bg-grey .pb-columns--3 .pb-rich-text p:first-child { margin-bottom: 22px; }
.page-id-218581 .pb-section--bg-grey .pb-columns--3 .pb-rich-text strong { font-weight: 700; color: #000; }

@media (max-width: 767px) {
	.page-id-218581 #mobileshowroom .pb-heading--hero .pb-heading__title { font-size: 40px; line-height: 48px; }
	.page-id-218581 #mobileshowroom .pb-rich-text h3 { line-height: 29.0909px; }
	.page-id-218581 .pb-rich-text { font-size: 13px; line-height: 20px; }
	.page-id-218581 .pb-rich-text p { margin-bottom: 16.25px; }
	.page-id-218581 #mobileshowroom .pb-rich-text p:last-child strong:only-child { line-height: 20px; }
	.page-id-218581 #mobileshowroom + .pb-section .pb-team__photo img { max-width: none; }
	.page-id-218581 #mobileshowroom .pb-column > .pb-rich-text:has(h3) + .pb-rich-text { margin-top: 61px; }
	.page-id-218581 #mobileshowroom + .pb-section .pb-rich-text p:last-child strong { font-size: 16px; }
	.page-id-218581 #mobileshowroom + .pb-section .pb-team__name { margin-top: 40px; font-size: 13px; line-height: 17.27px; }
	.page-id-218581 #mobileshowroom + .pb-section .pb-team__role { font-size: 13px; line-height: 20px; }
	.page-id-218581 #mobileshowroom + .pb-section .pb-team { row-gap: 31px; }
	.page-id-218581 .pb-section--bg-grey .pb-columns--3 > .pb-column { min-height: 0; }
	.page-id-218581 .pb-section--bg-grey .pb-columns--3 {
		grid-template-columns: minmax(0, 1fr);
		gap: 0;
		margin-right: -20px;
	}
	.page-id-218581 .pb-section--bg-grey:has(.pb-heading) > .pb-section__inner { padding: 52px 20px 0; }
	.page-id-218581 .pb-section--bg-grey:has(.pb-heading) + .pb-section--bg-grey > .pb-section__inner { padding: 52px 20px 80px; }
	.page-id-218581 .pb-section--bg-grey .pb-columns--3 .pb-rich-text p:first-child { line-height: 20px; margin-bottom: 20.25px; }
	.page-id-218581 .pb-section--bg-grey .pb-columns--3 .pb-rich-text p:first-child::first-line { line-height: 22px; }
	.page-id-218581 .pb-section--bg-grey .pb-columns--3 > .pb-column { padding-bottom: 59px; }
}

/* "In-Home Trials Available!" 31px under the hero (101px on phones), and
 * "Book A Mobile Showroom Visit Today!" 60px clear of the grey How It
 * Works band (live butts it against the band; requested 2026-10-06). */
.page-id-218581 #mobileshowroom { padding-top: 35px; }
.page-id-218581 #book { padding-top: 60px; }

@media (max-width: 767px) {
	.page-id-218581 #mobileshowroom { padding-top: 105px; }
}

/* ------------------------------------------------------------------ */
/* Team block, full-profile style (the store pages' "Meet ..." member) */
/* ------------------------------------------------------------------ */

/* As live's Porto single-member layout (2026-10-06): one member per row,
 * the text on the left (18px green name on a 42px line, 16px green
 * uppercase role, justified 16px grey bio) and a 343px photo on the right,
 * both from the top, 20px apart. Phones: the photo first at full width,
 * 50px above the name; 14.625px name, 13px role and bio. Used only by
 * the store pages (Elizabeth Vale, Reynella, Monash). */
.pb-team.pb-team--profile { grid-template-columns: minmax(0, 1fr); }

.pb-team--profile .pb-team__member {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 343px;
	grid-template-rows: repeat(4, auto) 1fr; /* the last, flexible row absorbs the photo's height */
	column-gap: 20px;
	align-items: start;
	margin-right: -18px; /* live's text column is 488px beside the 343px photo, 18px wider than ours */
	text-align: left;
}

.pb-team--profile .pb-team__photo {
	grid-column: 2;
	grid-row: 1 / -1;
	align-self: start;
}

.pb-team--profile .pb-team__photo img {
	width: 100%;
	max-width: none;
	height: auto;
	margin: 0;
	aspect-ratio: 300 / 287; /* the profile photos' own ratio; "auto" loses it on lazy images and they fall back to 1500px tall */
	border-radius: 0;
}

.pb-team--profile .pb-team__member > :not(.pb-team__photo) { grid-column: 1; }

.pb-team--profile .pb-team__name {
	font-size: 18px;
	line-height: 42px;
	color: var(--pb-green);
}

.pb-team--profile .pb-team__role {
	margin: 0 0 14px;
	font-size: 16px;
	font-weight: 700;
	line-height: 19px;
	text-transform: uppercase;
}

.pb-team--profile .pb-team__bio {
	margin-top: 0;
	font-size: 16px;
	line-height: 22px;
	text-align: justify;
}

.pb-team--profile .pb-team__bio p { margin: 0 0 20px; }

@media (max-width: 767px) {
	.pb-team--profile .pb-team__member { grid-template-columns: minmax(0, 1fr); grid-template-rows: none; margin-right: 0; }
	.pb-team--profile .pb-team__photo { grid-column: 1; grid-row: auto; margin-bottom: 50px; }
	.pb-team--profile .pb-team__member > :not(.pb-team__photo) { grid-column: 1; }
	.pb-team--profile .pb-team__name { font-size: 14.625px; line-height: 40px; }
	.pb-team--profile .pb-team__role { font-size: 13px; line-height: 17.27px; }
	.pb-team--profile .pb-team__bio { font-size: 13px; line-height: 20px; text-align: left; }
	.pb-team--profile .pb-team__bio p { margin-bottom: 16.25px; }
}

/* The profile photo is a link to the member's page; keep it a plain block. */
.pb-team--profile a.pb-team__photo { display: block; }
.pb-team--profile a.pb-team__photo:hover img { opacity: 0.9; }

/* ------------------------------------------------------------------ */
/* Contact-sidebar store pages (Frankston 65624, Northern Territory    */
/* 142832): copy on the left, contact / enquiry / hours / address /    */
/* map down a 1/4 sidebar. Only these two pages use the layout, so it  */
/* is scoped to them. Values are live's computed styles.               */
/* ------------------------------------------------------------------ */

:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:first-child .pb-rich-text { font-size: 16px; line-height: 22px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:first-child .pb-rich-text p { margin: 0 0 20px; }
.page-id-65624 .pb-columns--3-1 > .pb-column:first-child .pb-rich-text { margin-right: 10px; }

/* Frankston's "Meet your Medimart healthcare specialists" line. */
.page-id-65624 .pb-rich-text h2 { margin: 0 0 32px; font-size: 18px; line-height: 42px; color: var(--pb-green); }
.page-id-65624 .pb-rich-text h2 b { font-weight: 700; }

:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-heading h4.pb-heading__title { font-size: 16px; line-height: 19px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > * + * { margin-top: 20px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-heading + * { margin-top: 10px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-heading:first-child + .pb-icon-boxes + .pb-heading { margin-top: 10px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-heading + .pb-form { margin-top: 10px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-form + .pb-heading { margin-top: 25px; }

/* Info boxes: 28px circle, 14px glyph, 14px grey regular text. The
 * contact rows sit 10px apart, the hours 20px. The address has no icon
 * on live (a custom icon with no image saved). */
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-icon-boxes { gap: 20px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-heading:first-child + .pb-icon-boxes { gap: 10px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-icon-box { gap: 15px; align-items: center; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-icon-box__icon { width: 28px; height: 28px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-icon-box__icon svg { width: 14px; height: 14px; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-icon-box__title { font-size: 14px; font-weight: 400; line-height: 16.8px; color: #777; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-icon-boxes:has(+ .pb-map) .pb-icon-box__icon { display: none; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-icon-boxes:has(+ .pb-map) { margin-top: 13px; }

/* Enquiry form: live's compact fields and square Submit. The fills are
 * #f9f9f9, not live's #eee, so every field on these two pages matches
 * the shared Form block fill (project lead, 2026-10-07). */
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 ul.gform_fields { margin: 0; padding: 0; }
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 li.gfield { margin: 0 0 5px; padding: 0; }
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 li.gfield .ginput_container { margin: 0; }
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 li.gfield :is(input, textarea) { display: block; margin: 0; min-height: 0; }
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 input[type="text"],
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 input[type="email"] {
	width: calc(100% - 16px);
	height: 27px;
	padding: 4px 5px;
	border: 1px solid rgba(210, 210, 210, 0.47);
	border-radius: 0;
	background: #f9f9f9;
	font-family: Arial, sans-serif;
	font-size: 13px;
	line-height: normal;
}
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 textarea {
	display: block;
	width: calc(100% - 16px);
	height: 80px;
	padding: 6px 5px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0;
	background: #f9f9f9;
	font-size: 16px;
	line-height: 24px;
	color: #777;
}
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 select,
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 input[type="tel"],
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 input[type="number"] {
	background: #f9f9f9;
}
/* These two pages run a compact 27px field, so the select takes that
 * box rather than the shared one, or it sits taller than its row. */
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 select {
	height: 27px;
	padding: 4px 5px;
	border: 1px solid rgba(210, 210, 210, 0.47);
	border-radius: 0;
	font-family: Arial, sans-serif;
	font-size: 13px;
	line-height: normal;
}
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 .gform_footer { margin: 0; padding: 0; }
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 li.gfield:has(textarea) { margin-bottom: 8px; }
:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 .gform_footer input[type="submit"] {
	padding: 8px 12px;
	border-width: 1px;
	border-radius: 0;
	font-size: 16px;
	font-weight: 400;
	line-height: 24px;
}

/* Map: 450px tall, inset 5px each side. */
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-map { height: 450px; margin-top: 28px; padding: 0 5px; }

@media (min-width: 768px) {
	:is(.page-id-65624, .page-id-142832) .pb-columns--2.pb-columns--3-1 { grid-template-columns: minmax(0, 850fr) minmax(0, 270fr); column-gap: 20px; }
}

@media (max-width: 767px) {
	:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:first-child .pb-rich-text { font-size: 13px; line-height: 20px; }
	:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:first-child .pb-rich-text p { margin-bottom: 16px; }
	/* Live spaces the sidebar out more on phones. */
	:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-heading:first-child + .pb-icon-boxes { gap: 25px; margin-top: 17px; }
	:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-heading:first-child + .pb-icon-boxes + .pb-heading { margin-top: 18px; }
	:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-form + .pb-heading { margin-top: 9px; }
	:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-form + .pb-heading + .pb-icon-boxes { gap: 35px; margin-top: 18px; }
	:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child > .pb-form + .pb-heading + .pb-icon-boxes + .pb-heading { margin-top: 27px; }
	.page-id-65624 .pb-rich-text h2 { font-size: 14.625px; line-height: 40px; }
	:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:last-child .pb-heading h4.pb-heading__title { font-size: 13px; line-height: 17.27px; }
	:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 input[type="text"],
	:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 input[type="email"],
	:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 textarea { width: 100%; }
	:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 textarea { font-size: 13px; line-height: 19.5px; }
	:is(.page-id-65624, .page-id-142832) #gform_wrapper_5 .gform_footer input[type="submit"] { width: 100%; font-size: 13px; line-height: 26px; }
}

/* NDIS logo under the copy (template 64083, which live prints as raw
 * shortcode text): left-aligned at the 111px height of the NDIS badge on
 * the other store pages, at both widths. */
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:first-child .pb-reusable .pb-image { text-align: left; }
:is(.page-id-65624, .page-id-142832) .pb-columns--3-1 > .pb-column:first-child .pb-reusable .pb-image__img { width: auto; max-width: none; height: 111px; }

/* NT team photo: keep the 2048 x 1400 shape, not the 1500px-tall box
 * WordPress's `contain-intrinsic-size: 3000px 1500px` gives a lazy
 * `sizes="auto"` image that hasn't (or can't) load. */
.page-id-142832 .pb-columns--3-1 > .pb-column > .pb-image .pb-image__img { aspect-ratio: 2048 / 1400; height: auto; contain-intrinsic-size: none; }

/* ------------------------------------------------------------------ */
/* Order tracking form (any page-blocks page embedding                 */
/* [woocommerce_order_tracking]; today Online Orders)                  */
/* ------------------------------------------------------------------ */

/* Live's Porto form: stacked full-width fields, grey medium labels, flat
 * 50px inputs with a faint border, a square dark uppercase Track button. */
.pb-rich-text + .pb-embed:has(.woocommerce-form-track-order) { margin-top: 25px; }

.pb-page .woocommerce-form-track-order {
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: var(--pb-text-body);
}

.pb-page .woocommerce-form-track-order > p:first-child { margin: 0 0 20px; }

.pb-page .woocommerce-form-track-order .form-row {
	float: none;
	width: 100%;
	margin: 0 0 15px;
	padding: 0;
}

.pb-page .woocommerce-form-track-order .form-row label {
	display: block;
	margin-bottom: 4px;
	font-weight: 500;
	line-height: 22px;
	color: var(--pb-text-body);
}

.pb-page .woocommerce-form-track-order .form-row input.input-text {
	box-sizing: border-box;
	width: 100%;
	height: 50px;
	padding: 8px 12px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 0;
	background-color: #fff;
	font-family: var(--pb-font);
	font-size: 13.6px;
	line-height: 32px;
	color: var(--pb-text-body);
}

.pb-page .woocommerce-form-track-order button[name="track"] {
	margin-top: 8px;
	padding: 16px 48px;
	border: 0;
	border-radius: 0;
	background-color: #222529;
	font-family: var(--pb-font);
	font-size: 16px;
	font-weight: 700;
	line-height: 24px;
	text-transform: uppercase;
	color: #fff;
	cursor: pointer;
}

.pb-page .woocommerce-form-track-order button[name="track"]:hover { background-color: #34383d; }

@media (max-width: 767px) {
	.pb-page .woocommerce-form-track-order { font-size: 13px; line-height: 20px; }
	.pb-page .woocommerce-form-track-order > p:first-child { margin-bottom: 16px; }
	.pb-page .woocommerce-form-track-order .form-row label { margin-bottom: 3px; line-height: 20px; }
	.pb-page .woocommerce-form-track-order .form-row input.input-text { font-size: 11.05px; }
	.pb-page .woocommerce-form-track-order button[name="track"] { margin-top: 6.5px; padding: 13px 39px; font-size: 13px; line-height: 19.5px; }
}

/* ------------------------------------------------------------------ */
/* Online Orders (253778, same ID on production)                       */
/* ------------------------------------------------------------------ */

/* Hero: live is one green band, the title image 80px down, the logos |
 * contact split 35px under it and 32px of band below. The mapper made
 * two sections; their padding is set to give the same band. */
.page-id-253778 .pb-page > .pb-section:first-child { padding-top: 80px; padding-bottom: 0; }
.page-id-253778 .pb-page > .pb-section:first-child + .pb-section { padding-top: 35px; padding-bottom: 32px; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-columns--divided { align-items: start; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-image + .pb-image { margin-top: 35px; }

/* Contact column: 16px headings on a 19px line, 14px rows beside live's
 * 28px green circles, 10px between everything. */
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-column:last-child > * + * { margin-top: 10px; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) h4.pb-heading__title { font-size: 16px; line-height: 19px; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-icon-boxes { gap: 10px; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-icon-box { align-items: center; gap: 15px; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-icon-box__icon { width: 28px; height: 28px; background-color: #47c249; color: #fff; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-icon-box__icon svg { width: 14px; height: 14px; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-icon-box__title { font-size: 14px; font-weight: 400; line-height: 16.8px; }

@media (min-width: 768px) {
	/* The dashed line sits on the centre of the container, the contact
	 * column 10px to its right, as live. */
	.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-columns--divided { column-gap: 0; }
	.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-columns--divided > .pb-column + .pb-column { padding-left: 10px; }
}

@media (max-width: 767px) {
	.page-id-253778 .pb-page > .pb-section:first-child + .pb-section { padding-bottom: 53px; }
	.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column { margin-top: 15px; }
	.page-id-253778 .pb-page > .pb-section:nth-child(2) h4.pb-heading__title { font-size: 13px; line-height: 17.27px; }
	.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-heading + .pb-icon-boxes { margin-top: 25px; }
	.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-icon-boxes { gap: 25px; }
}

/* Categories: live lays the cards out four across (heading, copy,
 * button). The mapper flattened them into one column of heading / text /
 * button triples with a spacer after every four, so each block is placed
 * in its card's grid column by position: children 3-14 are the first
 * four cards, 15 a spacer, and so on every 13. Dense flow drops each
 * block into the first free row of its column, so the cards line up in
 * rows; four across from 992px, two on tablet, stacked on phones. */
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > * { margin-top: 0; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child .pb-heading__title { font-weight: 600; line-height: 32px; color: #22262a; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child h3.pb-heading__title { font-size: 20px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-heading:first-child h3.pb-heading__title { font-size: 25px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-heading + .pb-rich-text { margin-top: 20px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-rich-text:nth-child(2) { margin-bottom: 25px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-rich-text + .pb-buttons { margin-top: 25px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-buttons + .pb-heading { margin-top: 19px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-spacer { height: 52px; }

.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > :is(:nth-child(13n+3), :nth-child(13n+4), :nth-child(13n+5)) { --pb-card-col-2: 1; --pb-card-col-4: 1; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > :is(:nth-child(13n+6), :nth-child(13n+7), :nth-child(13n+8)) { --pb-card-col-2: 2; --pb-card-col-4: 2; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > :is(:nth-child(13n+9), :nth-child(13n+10), :nth-child(13n+11)) { --pb-card-col-2: 1; --pb-card-col-4: 3; }
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > :is(:nth-child(13n+12), :nth-child(13n+13), :nth-child(13n+14)) { --pb-card-col-2: 2; --pb-card-col-4: 4; }
/* The last group has three cards, so its spacer lands on a card slot. */
.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-spacer { --pb-card-col-2: 1 / -1; --pb-card-col-4: 1 / -1; }

@media (min-width: 768px) {
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		grid-auto-flow: row dense;
		column-gap: 20px;
		align-items: start;
	}

	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > * { grid-column: var(--pb-card-col-2, 1 / -1); }
	/* Card rows are the spacers' 52px apart; the first card of each pair
	 * starts its row. */
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-buttons + .pb-heading { margin-top: 52px; }
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-buttons + .pb-heading:nth-child(13n+6) { margin-top: 0; }

	/* Equal-height buttons: a row's buttons stretch to its tallest (a
	 * label that wraps to two lines), text centred, so they line up. */
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-buttons { align-self: stretch; }
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-buttons .pb-button { display: inline-flex; align-items: center; justify-content: center; height: 100%; box-sizing: border-box; text-align: center; }
}

/* Four across only from 1200px: below that a quarter of the main column
 * is too narrow for the copy and most labels wrap. */
@media (min-width: 1200px) {
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > * { grid-column: var(--pb-card-col-4, 1 / -1); }
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child > .pb-buttons + .pb-heading { margin-top: 0; }
}

/* Sidebar: live's rule sits 55px under the last contact row (62px on
 * phones). */
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child > .pb-divider { margin-top: 55px; }

@media (max-width: 767px) {
	.page-id-253778 .pb-columns--3-1 > .pb-column:last-child > .pb-divider { margin-top: 62px; }
}

/* The section ends on the last spacer, which gives live's 52px to "Pay
 * Online with Your NDIS Funds"; 35px above "Shop Smarter", as live. */
.page-id-253778 .pb-section:has(> .pb-section__inner > .pb-columns--3-1) { padding-top: 35px; padding-bottom: 0; }
.page-id-253778 .pb-section:has(> .pb-section__inner > .pb-columns--3-1) + .pb-section { padding-top: 0; }

@media (max-width: 767px) {
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child .pb-heading__title { line-height: 29px; }
	.page-id-253778 .pb-columns--3-1 > .pb-column:first-child .pb-rich-text { font-size: 13px; line-height: 20px; }
}

/* Buttons: live's 12.8px regular pills (10.4px on phones); the hero's
 * Shop Now is 14px (11.4px). Compact enough for a quarter-column card. */
.page-id-253778 .pb-page .pb-button { padding: 8.5px 15px; border-width: 1px; font-size: 12.8px; font-weight: 400; line-height: 18.3px; letter-spacing: 0.2px; }
.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-button { padding: 8px 14px; font-size: 14px; line-height: 18.7px; }

/* Sidebar: 16px headings on a 19px line, 14px #777 rows beside 28px
 * circles, 10px apart (20px above the weekend row and the second
 * heading), as live. */
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child h4.pb-heading__title { font-size: 16px; line-height: 19px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child > .pb-heading + .pb-icon-boxes { margin-top: 10px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child > .pb-icon-boxes + .pb-heading { margin-top: 20px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child .pb-icon-boxes { gap: 10px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child .pb-icon-box:nth-child(4) { margin-top: 10px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child .pb-icon-box { align-items: center; gap: 15px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child .pb-icon-box__icon { width: 28px; height: 28px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child .pb-icon-box__icon svg { width: 14px; height: 14px; }
.page-id-253778 .pb-columns--3-1 > .pb-column:last-child .pb-icon-box__title { font-size: 14px; font-weight: 400; line-height: 16.8px; color: #777; }

/* Lower sections (NDIS, Free Delivery, Click & Collect, Dispatch, Track):
 * 25px 600 headings on a 32px line, 16px copy on a 22px line with 20px
 * between paragraphs, 25px copy to button, 21px button to the next
 * heading. */
.page-id-253778 .pb-section--implicit .pb-heading__title { font-weight: 600; line-height: 32px; }
.page-id-253778 .pb-section--implicit .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; }
.page-id-253778 .pb-section--implicit .pb-rich-text p { margin-bottom: 20px; }
.page-id-253778 .pb-section--implicit .pb-rich-text p:last-child { margin-bottom: 0; }
.page-id-253778 .pb-section--implicit .pb-column > .pb-rich-text + .pb-buttons,
.page-id-253778 .pb-section--implicit .pb-column > .pb-rich-text + .pb-heading { margin-top: 25px; }
.page-id-253778 .pb-section--implicit .pb-column > .pb-buttons + .pb-heading { margin-top: 21px; }

/* Pay Online with Your NDIS Funds: live's NDIS purple heading and
 * Learn More button. */
.page-id-253778 .pb-section--implicit .pb-column > .pb-heading:first-child .pb-heading__title { color: #621c6d; }
.page-id-253778 .pb-section--implicit .pb-button--secondary { border-color: #621c6d; background-color: #621c6d; color: #fff; }
.page-id-253778 .pb-section--implicit .pb-button--secondary:hover { border-color: #4d1656; background-color: #4d1656; color: #fff; }

@media (max-width: 767px) {
	.page-id-253778 .pb-page .pb-button { padding: 7px 12px; font-size: 10.4px; line-height: 14.9px; }
	.page-id-253778 .pb-page > .pb-section:nth-child(2) .pb-button { padding: 6.5px 11.4px; font-size: 11.4px; line-height: 15.2px; }
	.page-id-253778 .pb-columns--3-1 > .pb-column:last-child h4.pb-heading__title { font-size: 13px; line-height: 17.27px; }
	.page-id-253778 .pb-columns--3-1 > .pb-column:last-child > .pb-heading + .pb-icon-boxes { margin-top: 17px; }
	.page-id-253778 .pb-columns--3-1 > .pb-column:last-child > .pb-icon-boxes + .pb-heading { margin-top: 28px; }
	.page-id-253778 .pb-columns--3-1 > .pb-column:last-child .pb-icon-boxes { gap: 25px; }
	.page-id-253778 .pb-section--implicit h3.pb-heading__title { font-size: 25px; line-height: 29px; }
	.page-id-253778 .pb-section--implicit .pb-rich-text { font-size: 13px; line-height: 20px; }
	.page-id-253778 .pb-section--implicit .pb-rich-text p { margin-bottom: 16px; }
	.page-id-253778 .pb-section--implicit .pb-column > .pb-buttons + .pb-heading { margin-top: 19px; }
}

/* ------------------------------------------------------------------ */
/* Service and Maintenance (158793, same ID on production)             */
/* ------------------------------------------------------------------ */

/* Sections by position: 1-2 purple hero, 3 green icon row, 4 Bundle,
 * 5 / 7 spacers, 6 Sign Up, 8 Services We Offer headings, 9-21 odd the
 * tile rows (21 Battery Testing alone), 10-22 even the gaps between them,
 * 23 Easy Repairs, 24 the contact line, 25 Service Options, 26 Tony,
 * 27 the booking form. Matched to live's computed styles at 1440px. */

/* Hero: #9e1f63 band; title Oswald 60px 600 on a 72px line, the three
 * lines under it Roboto 35px 600 (the first #8dc63f) 48px apart; the
 * 70px wrench icon, 22px intro, live's white dashed divider; BOOK A
 * SERVICE 36px with live's slate 200px Contact Us pill. */
.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading--hero .pb-heading__title { font-family: Oswald, sans-serif; font-size: 60px; font-weight: 600; line-height: 72px; white-space: pre-line; }
.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading + .pb-heading { margin-top: 48px; }
.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading:not(.pb-heading--hero) .pb-heading__title { font-family: Roboto, sans-serif; font-size: 35px; font-weight: 600; line-height: 35px; }
.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading--green .pb-heading__title { color: #8dc63f; }
.page-id-158793 .pb-page > .pb-section:nth-child(1) { padding-bottom: 48px; }
.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading { margin-bottom: 0; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) { padding-top: 0; padding-bottom: 61px; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-columns { align-items: stretch; column-gap: 0; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-column:first-child { padding: 0 10px 54px 0; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column { padding: 82px 10px 0; border-left: 2px dashed #fff; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-image__img { width: 70px; height: 70px; contain-intrinsic-size: none; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-image + .pb-rich-text { margin-top: 42px; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-column:first-child .pb-rich-text { font-size: 22px; line-height: 25px; letter-spacing: 0.2px; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-rich-text h1 { margin: 0; font-size: 36px; font-weight: 700; line-height: 44px; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-rich-text + .pb-buttons { margin-top: 10px; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-button { width: 200px; padding: 11.2px 22.4px; border: 1px solid #475157; border-radius: 22.4px; background-color: #475157; font-size: 11.2px; font-weight: 600; line-height: 16.8px; letter-spacing: 0.2px; text-transform: uppercase; color: #fff; }
.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-button:hover { background-color: #58646b; border-color: #5e6c74; color: #fff; }

/* Green icon row: 56px white circles, 18px bold white labels, three
 * columns from 40px in; 61px above, 33px below. */
.page-id-158793 .pb-page > .pb-section:nth-child(3) { padding-top: 61px; padding-bottom: 33px; }
.page-id-158793 .pb-page > .pb-section:nth-child(3) .pb-icon-boxes { padding: 0 20px 0 40px; }
.page-id-158793 .pb-page > .pb-section:nth-child(3) .pb-icon-box { align-items: center; gap: 10px; }
.page-id-158793 .pb-page > .pb-section:nth-child(3) .pb-icon-box__icon { width: 56px; height: 56px; }
.page-id-158793 .pb-page > .pb-section:nth-child(3) .pb-icon-box__icon svg { width: 24px; height: 24px; }
.page-id-158793 .pb-page > .pb-section:nth-child(3) .pb-icon-box__title { font-size: 18px; font-weight: 700; line-height: 18px; letter-spacing: 0.2px; }

/* Bundle: #f7f7f7 band, PT Sans 40px #436168 heading 67px down, the
 * 25px line 32px under it (live's red "and Get Test & Tag FREE!" pill is
 * not in our content), 33px below. */
.page-id-158793 .pb-page > .pb-section:nth-child(4) { padding-top: 67px; padding-bottom: 33px; background-color: #f7f7f7; }
.page-id-158793 .pb-page > .pb-section:nth-child(4) .pb-spacer { display: none; }
.page-id-158793 .pb-page > .pb-section:nth-child(4) .pb-heading__title { font-family: "PT Sans", sans-serif; font-size: 40px; font-weight: 700; line-height: 44px; color: #436168; }
.page-id-158793 .pb-page > .pb-section:nth-child(4) .pb-heading + .pb-rich-text { margin-top: 32px; }
.page-id-158793 .pb-page > .pb-section:nth-child(4) .pb-rich-text p { margin: 0; font-size: 25px; line-height: 34px; letter-spacing: 0.2px; color: #436168; }

/* White gaps: 85px under Bundle, 50px under Sign Up. */
.page-id-158793 .pb-page > .pb-section:is(:nth-child(5), :nth-child(7)):has(> .pb-section__inner > .pb-columns > .pb-column > .pb-spacer) { display: block; padding: 0; }
.page-id-158793 .pb-page > .pb-section:nth-child(5) .pb-spacer { height: 85px; }
.page-id-158793 .pb-page > .pb-section:nth-child(7) .pb-spacer { height: 50px; }

/* Sign Up: a 173px image and the copy beside it, centred as a pair; PT
 * Sans 35px purple heading, 16px black line, live's lilac pill. */
.page-id-158793 .pb-page > .pb-section:nth-child(6) { padding-top: 35px; padding-bottom: 30px; }
.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-columns { grid-template-columns: 173px 347px; column-gap: 40px; justify-content: center; align-items: start; }
.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-heading { margin-top: 10px; }
.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-heading__title { font-family: "PT Sans", sans-serif; font-size: 35px; font-weight: 700; line-height: 42px; color: #5d206e; }
.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-heading + .pb-rich-text { margin-top: 20px; }
.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-rich-text p { margin: 0; font-size: 16px; line-height: 22px; letter-spacing: 0.2px; color: #000; }
.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-rich-text + .pb-buttons { margin-top: 35px; }
.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-button { width: 200px; padding: 8px 14px; border: 1px solid transparent; border-radius: 28px; background-color: #efcaff; font-size: 14px; font-weight: 400; line-height: 18.67px; letter-spacing: 0.2px; color: #000; }
.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-button:hover { background-color: #e4b3f8; color: #000; }

/* Services We Offer: #f7f7f7 band, PT Sans headings (25px purple, then
 * 35px slate 52px below), the first tiles 40px under them; 67px between
 * tile rows and under the last. */
.page-id-158793 .pb-page > .pb-section:is(:nth-child(8), :nth-child(9), :nth-child(11), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19), :nth-child(21), :nth-child(10), :nth-child(12), :nth-child(14), :nth-child(16), :nth-child(18), :nth-child(20), :nth-child(22)) { background-color: #f7f7f7; }
.page-id-158793 .pb-page > .pb-section:nth-child(8) { padding-top: 75px; padding-bottom: 40px; }
.page-id-158793 .pb-page > .pb-section:nth-child(8) .pb-heading__title { font-family: "PT Sans", sans-serif; font-size: 25px; font-weight: 700; line-height: 32px; color: #5d206e; }
.page-id-158793 .pb-page > .pb-section:nth-child(8) .pb-heading:last-child .pb-heading__title { font-size: 35px; color: #3c3d41; }
.page-id-158793 .pb-page > .pb-section:nth-child(8) .pb-spacer { display: none; }
.page-id-158793 .pb-page > .pb-section:nth-child(8) .pb-heading ~ .pb-heading { margin-top: 52px; }
.page-id-158793 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19), :nth-child(21)) { padding-top: 0; padding-bottom: 0; }
.page-id-158793 .pb-page > .pb-section:is(:nth-child(10), :nth-child(12), :nth-child(14), :nth-child(16), :nth-child(18), :nth-child(20), :nth-child(22)) { padding: 0; }
.page-id-158793 .pb-page > .pb-section:is(:nth-child(10), :nth-child(12), :nth-child(14), :nth-child(16), :nth-child(18), :nth-child(20), :nth-child(22)) .pb-spacer { height: 67px; }
.page-id-158793 .pb-page > .pb-section:nth-child(19) + .pb-section { display: block; }
/* The lone Battery Testing tile sits in the left column, as live (the
 * shared one-column tile row). */

/* Tile buttons: live's 200px 12px outline pills in the tile's text colour
 * (white on the dark tiles, #2e2d2f on orange Power Wheelchairs, which
 * live sets in dark text). */
.page-id-158793 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19), :nth-child(21)) .pb-button { width: 200px; padding: 4.8px 10.4px; border: 1px solid currentColor; border-radius: 24px; background: transparent; font-size: 12px; font-weight: 400; line-height: 18px; letter-spacing: 0.2px; color: #000; }
.page-id-158793 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19), :nth-child(21)) .pb-column--on-dark .pb-button { color: #fff; }
.page-id-158793 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19), :nth-child(21)) .pb-button:hover { background-color: rgba(0, 0, 0, 0.08); }
.page-id-158793 .pb-page > .pb-section:nth-child(9) .pb-column:nth-child(2) :is(.pb-rich-text, .pb-rich-text p, .pb-rich-text strong, .pb-button) { color: #2e2d2f; }
.page-id-158793 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19), :nth-child(21)) .pb-rich-text + .pb-buttons { margin-top: 35px; }

/* Easy Repairs: Oswald 30.8px uppercase heading beside the copy, two
 * 560px columns, 50px above; the contact line on a #f7f7f7 panel the
 * width of the content (live's runs 10px past it), 20px black, 171px tall. */
.page-id-158793 .pb-page > .pb-section:nth-child(23) { padding-top: 50px; padding-bottom: 62px; }
.page-id-158793 .pb-page > .pb-section:nth-child(23) .pb-columns { column-gap: 20px; }
.page-id-158793 .pb-page > .pb-section:nth-child(23) .pb-heading__title { font-family: Oswald, sans-serif; font-size: 30.8px; font-weight: 600; line-height: 42px; text-transform: uppercase; color: #22262a; }
.page-id-158793 .pb-page > .pb-section:nth-child(23) .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; }
.page-id-158793 .pb-page > .pb-section:nth-child(23) .pb-rich-text p { margin: 0; }
.page-id-158793 .pb-page > .pb-section:nth-child(24) { padding-top: 0; padding-bottom: 0; }
.page-id-158793 .pb-page > .pb-section:nth-child(24) > .pb-section__inner { padding-top: 0; padding-bottom: 0; background: linear-gradient(#f7f7f7, #f7f7f7) content-box; }
.page-id-158793 .pb-page > .pb-section:nth-child(24) .pb-columns { min-height: 171px; align-items: center; }
.page-id-158793 .pb-page > .pb-section:nth-child(24) .pb-rich-text { max-width: 790px; margin: 0 auto; font-size: 20px; line-height: 23px; letter-spacing: 0.2px; color: #000; }
.page-id-158793 .pb-page > .pb-section:nth-child(24) .pb-rich-text p { margin: 0; color: #000; }

/* Service Options: the 560px photo and the copy 117px right of it, 50px
 * above, 40px below (live's larger gaps either side evened out to the
 * page's 80px rhythm); Oswald 30.8px uppercase heading, 20px to the copy. */
.page-id-158793 .pb-page > .pb-section:nth-child(25) { padding-top: 80px; padding-bottom: 40px; }
/* Easy Repairs, Service Options and Tony share one two-column grid (equal
 * columns, 20px gutter) so their columns line up down the page. */
.page-id-158793 .pb-page > .pb-section:nth-child(25) .pb-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; }
.page-id-158793 .pb-page > .pb-section:nth-child(25) .pb-heading__title { font-family: Oswald, sans-serif; font-size: 30.8px; font-weight: 600; line-height: 42px; text-transform: uppercase; color: #22262a; }
.page-id-158793 .pb-page > .pb-section:nth-child(25) .pb-heading + .pb-rich-text { margin-top: 20px; }
.page-id-158793 .pb-page > .pb-section:nth-child(25) .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; text-align: justify; }
.page-id-158793 .pb-page > .pb-section:nth-child(25) .pb-rich-text p { margin: 0 0 20px; }
.page-id-158793 .pb-page > .pb-section:nth-child(25) .pb-rich-text p:last-child { margin-bottom: 0; }

/* Tony: 25px 600 heading, the profile 52px below with live's 657px copy
 * column and the 463px photo 20px right of it; 18px green name, 16px
 * uppercase green role, justified 16px copy. */
.page-id-158793 .pb-page > .pb-section:nth-child(26) { padding-top: 40px; }
.page-id-158793 .pb-page > .pb-section:nth-child(26) .pb-column > .pb-heading .pb-heading__title { font-size: 25px; font-weight: 600; line-height: 32px; color: #22262a; }
.page-id-158793 .pb-page > .pb-section:nth-child(26) .pb-heading + .pb-team { margin-top: 52px; }
.page-id-158793 .pb-page > .pb-section:nth-child(26) .pb-team--profile .pb-team__member { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; margin-right: 0; }
.page-id-158793 .pb-page > .pb-section:nth-child(26) .pb-team--profile .pb-team__photo { align-self: start; }
.page-id-158793 .pb-page > .pb-section:nth-child(26) .pb-team--profile .pb-team__photo img { width: 100%; max-width: none; height: auto; aspect-ratio: 300 / 290; }
.page-id-158793 .pb-page > .pb-section:nth-child(26) .pb-team__bio p { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; }

@media (min-width: 768px) and (max-width: 1199px) {
}

/* Phones, as live's phone rows: a 22px title and 19px green lines, the
 * intro and BOOK A SERVICE hidden, the divider gone; the Sign Up pair,
 * Service Options and Tony stack. */
@media (max-width: 767px) {
	.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading--hero .pb-heading__title { font-family: var(--pb-font); font-size: 22px; font-weight: 700; line-height: 40px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading + .pb-heading { margin-top: 0; }
	.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading:not(.pb-heading--hero) .pb-heading__title { font-family: var(--pb-font); font-size: 19px; font-weight: 700; line-height: 20px; letter-spacing: 0.2px; color: #8dc63f; }
	.page-id-158793 .pb-page > .pb-section:nth-child(1) .pb-heading--green .pb-heading__title { font-size: 16px; font-weight: 400; }
	.page-id-158793 .pb-page > .pb-section:nth-child(1) { padding-bottom: 30px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-column:first-child { padding: 0; }
	.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column { margin-top: 30px; padding: 0; border-left: 0; }
	.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-rich-text { display: none; }
	.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-rich-text + .pb-buttons { margin-top: 0; }
	.page-id-158793 .pb-page > .pb-section:nth-child(2) .pb-button { padding: 9.1px 18.2px; font-size: 9.1px; line-height: 13.65px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(3) { padding-top: 40px; padding-bottom: 40px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(3) .pb-icon-boxes { padding: 0 0 0 20px; row-gap: 19px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(3) .pb-icon-box__title { font-size: 15px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(4) .pb-heading__title { line-height: 40px; color: #7a97a0; }
	.page-id-158793 .pb-page > .pb-section:nth-child(4) .pb-rich-text p { font-size: 20px; line-height: 24px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(5) .pb-spacer { height: 60px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-columns { grid-template-columns: minmax(0, 1fr); row-gap: 40px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-image__img { width: 100%; height: auto; }
	.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-column + .pb-column { padding: 0 20px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-rich-text p { font-size: 13px; line-height: 20px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(6) .pb-button { padding: 6.5px 11.4px; border-radius: 22.75px; font-size: 11.4px; line-height: 15.2px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(8) { padding-top: 75px; }
	.page-id-158793 .pb-page > .pb-section:is(:nth-child(10), :nth-child(12), :nth-child(14), :nth-child(16), :nth-child(18), :nth-child(20)) .pb-spacer { height: 60px; }
	.page-id-158793 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19), :nth-child(21)) .pb-button { padding: 3.9px 8.45px; font-size: 9.75px; line-height: 14.6px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(8) .pb-heading__title { line-height: 29px; }
	.page-id-158793 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11), :nth-child(13), :nth-child(15), :nth-child(17), :nth-child(19), :nth-child(21)) .pb-rich-text { font-size: 13px; line-height: 20px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(23) .pb-columns { row-gap: 20px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(25) .pb-columns { grid-template-columns: minmax(0, 1fr); row-gap: 30px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(26) { padding-top: 50px; }
	.page-id-158793 .pb-page > .pb-section:nth-child(26) .pb-team--profile .pb-team__member { grid-template-columns: minmax(0, 1fr); }
	.page-id-158793 .pb-page > .pb-section:nth-child(26) .pb-team--profile .pb-team__photo img { width: 100%; }
}

/* Trials (200975, same ID on production)                              */
/* ------------------------------------------------------------------ */

/* Below the hero the page uses the shared section widths, spacing and
 * buttons, like the other page-blocks pages (requested 2026-10-07, in
 * place of matching live's card layout). Sections by position: 1-3 the
 * green hero, 6 / 16 / 20 / 24 / 28 the single-button rows, 9 the team. */

/* Hero: one #008000 band. Title 80px Roboto 600 white; the icon and
 * "Personalised Healthcare Solutions" (34px bold #f8bb22, the next two
 * lines regular on a 49px line) left of a white dashed divider, FOR MORE
 * INFO and two 200px pills (white with dark green text, orange) right;
 * the intro 16px white under both. */
.page-id-200975 .pb-page > .pb-section:nth-child(1) { padding-top: 130px; padding-bottom: 158px; }
.page-id-200975 .pb-page > .pb-section:nth-child(1) .pb-heading { margin-bottom: 0; }
.page-id-200975 .pb-page > .pb-section:nth-child(1) .pb-heading__title { font-family: Roboto, sans-serif; font-size: 80px; font-weight: 600; line-height: 96px; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) { padding-top: 0; padding-bottom: 55px; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-columns { align-items: stretch; column-gap: 0; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column:first-child { padding-right: 10px; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column { padding: 82px 10px 0; border-left: 2px dashed #fff; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-image__img { width: 120px; height: 120px; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-image + .pb-rich-text { margin-top: 34px; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column:first-child .pb-rich-text h1 { margin: 0; font-size: 34px; font-weight: 700; line-height: 44px; color: #f8bb22; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-rich-text + .pb-rich-text { margin-top: 7px; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column:first-child .pb-rich-text p { margin: 0; font-size: 34px; line-height: 49px; letter-spacing: 0.2px; color: #f8bb22; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column .pb-rich-text h1 { margin: 0; font-size: 36px; font-weight: 700; line-height: 44px; color: #f5f5f5; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column .pb-buttons { margin-top: 35px; flex-wrap: nowrap; gap: 20px; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-button { width: 200px; padding: 8.5px 15px; border: 1px solid transparent; border-radius: 25.6px; background-color: #fff; font-size: 12.8px; font-weight: 400; line-height: 18.3px; letter-spacing: 0.2px; color: #0a4400; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-button + .pb-button { background-color: #ff8000; color: #fff; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-button:hover { background-color: #f5f5f5; color: #0a4400; }
.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-button + .pb-button:hover { background-color: #e67300; color: #fff; }
.page-id-200975 .pb-page > .pb-section:nth-child(3) { padding-top: 0; padding-bottom: 55px; }
.page-id-200975 .pb-page > .pb-section:nth-child(3) .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; }
.page-id-200975 .pb-page > .pb-section:nth-child(3) .pb-rich-text p { margin: 0; }

/* The single-button rows: live sets each button on a large coloured block;
 * here the block is dropped and the button is the shared one, centred. */
.page-id-200975 .pb-page > .pb-section:is(:nth-child(6), :nth-child(16), :nth-child(20), :nth-child(24), :nth-child(28)) .pb-column--card { padding: 0; background: none; }

/* Consecutive grey sections read as one band with 40px between their
 * content, as on the other pages, instead of separate strips with white
 * seams; the spacer-only grey section between the category rows is
 * dropped. */
.page-id-200975 .pb-page > .pb-section--bg-grey:has(+ .pb-section--bg-grey) { padding-bottom: 0; }
.page-id-200975 .pb-page > .pb-section--bg-grey:has(+ .pb-section--bg-grey) > .pb-section__inner { border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
.page-id-200975 .pb-page > .pb-section--bg-grey + .pb-section--bg-grey > .pb-section__inner { padding-top: 0; border-top-left-radius: 0; border-top-right-radius: 0; }
.page-id-200975 .pb-page > .pb-section:nth-child(14) { display: none; }

/* More room between sections than the shared default (requested
 * 2026-10-07): 60px of white between bands, 60px inside each band and
 * between the joined sections within it. */
.page-id-200975 .pb-page > .pb-section--boxed { padding-top: 30px; padding-bottom: 30px; }
.page-id-200975 .pb-page > .pb-section--bg-grey > .pb-section__inner { padding-top: 60px; padding-bottom: 60px; }
.page-id-200975 .pb-page > .pb-section--bg-grey + .pb-section--bg-grey { padding-top: 0; }
.page-id-200975 .pb-page > .pb-section:nth-child(5) { padding-top: 60px; }

/* The category grid, the Shop Now! button under it and the Get a Hire
 * Quote button under Common Hire Items sit on white, not grey (requested
 * 2026-10-07); the Shop banner above the grid closes its own band. */
.page-id-200975 .pb-page > .pb-section:is(:nth-child(13), :nth-child(15), :nth-child(16), :nth-child(20)) > .pb-section__inner { background: none; }
.page-id-200975 .pb-page > .pb-section:nth-child(12) { padding-bottom: 30px; }
.page-id-200975 .pb-page > .pb-section:nth-child(12) > .pb-section__inner { border-radius: var(--pb-radius); }
.page-id-200975 .pb-page > .pb-section:nth-child(13) { padding-top: 30px; }
.page-id-200975 .pb-page > .pb-section:is(:nth-child(16), :nth-child(20)) > .pb-section__inner { padding-bottom: 0; }
.page-id-200975 .pb-page > .pb-section:nth-child(20) > .pb-section__inner { padding-top: 30px; }

/* Our Store Locator on white too (requested 2026-10-07), 60px from the
 * band above and the banner below. */
.page-id-200975 .pb-page > .pb-section:is(:nth-child(30), :nth-child(31)) > .pb-section__inner { background: none; }
.page-id-200975 .pb-page > .pb-section:nth-child(30) > .pb-section__inner { padding-top: 0; }
.page-id-200975 .pb-page > .pb-section:nth-child(31) > .pb-section__inner { padding-bottom: 0; }

@media (max-width: 767px) {
	.page-id-200975 .pb-page > .pb-section--boxed { padding-top: 20px; padding-bottom: 20px; }
	.page-id-200975 .pb-page > .pb-section--bg-grey > .pb-section__inner { padding-top: 40px; padding-bottom: 40px; }
	.page-id-200975 .pb-page > .pb-section--bg-grey + .pb-section--bg-grey { padding-top: 0; }
	.page-id-200975 .pb-page > .pb-section:nth-child(5) { padding-top: 40px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(12) { padding-bottom: 20px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(13) { padding-top: 20px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(20) > .pb-section__inner { padding-top: 20px; }
}

/* Team in live's order: Josh, Belinda, Andrew. */
.page-id-200975 .pb-page > .pb-section:nth-child(9) .pb-team__member:nth-child(3) { order: -1; }

/* Phones: the hero stacks (title 60px yellow, 25px white lines, the pills
 * stacked and FOR MORE INFO hidden, as live's phone row). */
@media (max-width: 767px) {
	.page-id-200975 .pb-page > .pb-section:nth-child(1) { padding-top: 160px; padding-bottom: 39px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(1) .pb-heading__title { font-size: 60px; line-height: 72px; color: #f8bb22; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column:first-child { padding-right: 0; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column { margin-top: 37px; padding: 0; border-left: 0; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column .pb-rich-text { display: none; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column .pb-buttons { margin-top: 0; flex-direction: column; align-items: center; gap: 22px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-image__img { width: 150px; height: 150px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-image + .pb-rich-text { margin-top: 35px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column:first-child .pb-rich-text h1 { font-family: Roboto, sans-serif; font-size: 25px; font-weight: 600; line-height: 30px; color: #fff; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-rich-text + .pb-rich-text { margin-top: 20px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-column:first-child .pb-rich-text p { font-size: 25px; line-height: 37.5px; color: #fff; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) .pb-button { padding: 6.9px 12px; border-radius: 20.8px; font-size: 10.4px; line-height: 14.9px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(2) { padding-bottom: 81px; }
	.page-id-200975 .pb-page > .pb-section:nth-child(3) .pb-rich-text { line-height: 20px; }
}

/* Patient Discharge (223510, same ID on production)                   */
/* ------------------------------------------------------------------ */

/* Sections by position in the page (the mapper's order):
 * 1 title, 2 logo | more info, 3 Know what you need, 4 green band,
 * 5 grey band, 6 Hassle-Free intro, 7 How We Can Help heading,
 * 8 / 10 / 12 help rows (9, 11 spacers), 13 grey, 14-15 Why Choose (blue),
 * 16 grey, 17 product sliders, 18 grey, 19 team, 20 grey,
 * 21 Creating Safer heading, 22-25 its rows, 26 Learn More,
 * 27 grey, 28-29 Get in touch. */

/* Section headings: live's Oswald 40px 600 on a 48px line, as written
 * (not uppercase), #23272b. The Get in touch heading keeps its own style. */
.page-id-223510 .pb-heading--hero:not(.pb-heading--accent) .pb-heading__title {
	font-family: Oswald, sans-serif;
	font-size: 40px;
	font-weight: 600;
	line-height: 48px;
	text-transform: none;
	color: #23272b;
}

/* Hero: one light-blue band. Title 56px Oswald uppercase navy 80px down,
 * 48px above the logo | more info row, whose dashed blue divider sits on
 * the container centre; Know What You Need? 51px under the row. */
.page-id-223510 .pb-page > .pb-section:nth-child(1) { padding-bottom: 48px; }
.page-id-223510 .pb-page > .pb-section:nth-child(1) .pb-heading { margin-bottom: 0; }
.page-id-223510 .pb-page > .pb-section:nth-child(1) .pb-heading__title { font-size: 56px; line-height: 67.2px; text-transform: uppercase; color: #01224f; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) { padding-top: 0; padding-bottom: 0; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-columns { align-items: stretch; column-gap: 0; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-column:first-child { padding: 0 10px 36px 0; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column { padding: 200px 10px 0; border-left: 2px dashed #00529a; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-image__img { width: 200px; height: 200px; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-image + .pb-rich-text { margin-top: 15px; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-rich-text h1 { margin: 0; font-size: 36px; font-weight: 700; line-height: 43.2px; color: #00529a; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-rich-text + .pb-rich-text { margin-top: 26px; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-rich-text p { margin: 0; font-size: 22px; line-height: 25px; letter-spacing: 0.2px; color: #0094d4; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column h1 { line-height: 44px; }
.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column .pb-buttons { margin-top: 35px; gap: 20px; }
.page-id-223510 .pb-page > .pb-section:nth-child(3) { padding-top: 51px; padding-bottom: 82px; }
.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-heading__title { text-transform: uppercase; color: #00529a; }
.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-heading + .pb-buttons { margin-top: 38px; }
.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-spacer { display: none; }
.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-buttons ~ .pb-buttons { margin-top: 13px; }

/* Hero buttons: live's 200px pills, 14px regular. Pale with navy text
 * beside the divider, brand blue below. */
.page-id-223510 .pb-page > .pb-section:is(:nth-child(2), :nth-child(3)) .pb-button {
	width: 200px;
	padding: 8px 14px;
	border: 1px solid #fff;
	border-radius: 28px;
	background-color: #f0f5f7;
	font-size: 14px;
	font-weight: 400;
	line-height: 18.67px;
	letter-spacing: 0.2px;
	color: #00529a;
}
.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-button { padding: 10px; background-color: #0094d4; color: #f0f5f7; }
/* Call Us Now breaks before the number, as live's <br> does. */
.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-heading + .pb-buttons .pb-button { padding: 10px 49px; border-color: rgba(0, 0, 0, 0.08); }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(2), :nth-child(3)) .pb-button:hover { background-color: #00529a; border-color: #00529a; color: #fff; }

/* Green band: 35px above and below the line, 16px bold on a 22px line. */
.page-id-223510 .pb-page > .pb-section:nth-child(4) { padding-top: 35px; padding-bottom: 35px; }
.page-id-223510 .pb-page > .pb-section:nth-child(4) .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; }
.page-id-223510 .pb-page > .pb-section:nth-child(4) .pb-rich-text p { margin: 0; }

/* Grey bands live has round the green line, the blue Why Choose band and
 * the Creating Safer band are dropped (requested 2026-10-07). */
.page-id-223510 .pb-page > .pb-section:is(:nth-child(5), :nth-child(13), :nth-child(16), :nth-child(20), :nth-child(27)) { display: none; }

/* Hassle-Free intro: 35px under the green band, the two headings 18px
 * apart (the second regular weight), 20px #333 copy 48px below, 109px to
 * How We Can Help, 48px to the first help row. */
.page-id-223510 .pb-page > .pb-section:nth-child(6) { padding-top: 35px; padding-bottom: 0; }
.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-heading__title { color: #2a3439; }
.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-heading + .pb-heading { margin-top: 18px; }
.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-heading + .pb-heading .pb-heading__title { font-weight: 400; }
.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-heading + .pb-rich-text { margin-top: 48px; }
.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-rich-text p { margin: 0; font-size: 20px; line-height: 23px; letter-spacing: 0.2px; color: #333; }
.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-spacer { display: none; }
.page-id-223510 .pb-page > .pb-section:nth-child(7) { padding-top: 109px; padding-bottom: 48px; }

/* Help rows: live's 1/5 + 1/4 + (1/12) + 1/5 + 1/4 grid with 20px
 * gutters (the Shop row uses the first pair), 150px icons, 25px bold
 * titles 14px above 16px copy, 35px to a 200px outline pill; 54px between
 * rows. The first row is slate on #333, the others black, as live. */
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) { padding-top: 54px; padding-bottom: 0; }
.page-id-223510 .pb-page > .pb-section:nth-child(8) { padding-top: 0; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11)) { display: none; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-image__img { width: 150px; height: 150px; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; color: #000; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-rich-text h4 { margin: 0 0 14px; font-size: 25px; font-weight: 700; line-height: 23px; color: #000; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-rich-text p { margin: 0; }
.page-id-223510 .pb-page > .pb-section:nth-child(8) .pb-rich-text { color: #333; }
.page-id-223510 .pb-page > .pb-section:nth-child(8) .pb-rich-text h4 { color: #2a3439; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-rich-text + .pb-buttons { margin-top: 35px; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-button {
	width: 200px;
	padding: 8.5px 15px;
	border: 1px solid #0f0f0f;
	border-radius: 25.6px;
	background-color: transparent;
	font-size: 12.8px;
	font-weight: 400;
	line-height: 18.3px;
	letter-spacing: 0.2px;
	color: #0f0f0f;
}
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-button:hover { background-color: #0f0f0f; color: #fff; }
/* Each button runs the full width of the text above it (requested
 * 2026-10-07; live's are 200px). */
.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-buttons .pb-button { flex: 1 1 100%; align-self: stretch; width: auto; }

@media (min-width: 992px) {
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-columns {
		grid-template-columns: minmax(0, 212fr) minmax(0, 270fr) minmax(0, 77fr) minmax(0, 212fr) minmax(0, 270fr);
		column-gap: 20px;
	}
}

@media (min-width: 1200px) {
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-columns { grid-template-columns: 212px 270px 77px 212px 270px; justify-content: center; }
}

/* Tablet: the pairs stack two to a row; 54px between them as between rows. */
@media (min-width: 768px) and (max-width: 991px) {
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-columns { row-gap: 54px; }
}

/* Why Choose (blue): more room than live's 35px now the grey bands are
 * gone (80px above and below, requested 2026-10-07); inside, live's
 * spacing: 45px heading to the 20px intro, 111px to the icons, 32px to
 * each 20px bold title, 19px to the 16px copy, all #f0f5f7. 80px from
 * the Shop row above and to the product sliders below. */
.page-id-223510 .pb-page > .pb-section:nth-child(12) { padding-bottom: 80px; }
.page-id-223510 .pb-page > .pb-section:nth-child(14) { padding-top: 80px; padding-bottom: 0; }
.page-id-223510 .pb-page > .pb-section:nth-child(15) { padding-top: 111px; padding-bottom: 80px; }
.page-id-223510 .pb-page > .pb-section:nth-child(14) .pb-heading__title { color: #f0f5f7; }
.page-id-223510 .pb-page > .pb-section:nth-child(14) .pb-heading + .pb-rich-text { margin-top: 45px; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(14), :nth-child(15)) .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; color: #f0f5f7; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(14), :nth-child(15)) .pb-rich-text p { margin: 0; color: #f0f5f7; }
.page-id-223510 .pb-page > .pb-section:nth-child(14) .pb-rich-text p { font-size: 20px; line-height: 23px; }
.page-id-223510 .pb-page > .pb-section:nth-child(15) .pb-columns { column-gap: 20px; }
.page-id-223510 .pb-page > .pb-section:nth-child(15) .pb-image + .pb-rich-text { margin-top: 32px; }
.page-id-223510 .pb-page > .pb-section:nth-child(15) .pb-rich-text strong { font-size: 20px; line-height: 27px; color: #f0f5f7; }
.page-id-223510 .pb-page > .pb-section:nth-child(15) .pb-rich-text p + p { margin-top: 19px; }
.page-id-223510 .pb-page > .pb-section:nth-child(17) { padding-top: 80px; }

/* Team: four across from 992px (live's slider shows four), 20px gutters,
 * photos filling the column. */
@media (min-width: 992px) {
	.page-id-223510 .pb-page > .pb-section:nth-child(19) .pb-team { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 20px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(19) .pb-team__photo img { max-width: none; }
}

/* Creating Safer: live's pale cyan #f0ffff band from the heading to Learn
 * More, the heading 85px into it and 48px above the rows; rows 85px down
 * and 35px clear below, four 270px columns 20px apart (the last row's two
 * cards on the same grid), square photos, 20px bold titles 32px under
 * them on a 25px line, 16px copy 19px below, all black; Learn More 35px
 * under the last row, live's 200px slate pill. */
.page-id-223510 .pb-page > .pb-section:is(:nth-child(21), :nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25), :nth-child(26)) { background-color: #f0ffff; }
.page-id-223510 .pb-page > .pb-section:nth-child(21) { padding-top: 85px; padding-bottom: 48px; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) { padding-top: 85px; padding-bottom: 35px; }
.page-id-223510 .pb-page > .pb-section:nth-child(26) { padding-top: 0; padding-bottom: 85px; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-columns { column-gap: 20px; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-image--medium .pb-image__img { width: 100%; max-width: 290px; aspect-ratio: 1; object-fit: cover; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-image--thumbnail .pb-image__img { width: 230px; height: 230px; object-fit: contain; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-image + .pb-rich-text { margin-top: 32px; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-rich-text { font-size: 16px; line-height: 22px; letter-spacing: 0.2px; color: #000; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-rich-text p { margin: 0; color: #000; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-rich-text p + p { margin-top: 19px; }
.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-rich-text strong { font-size: 20px; line-height: 25px; color: #000; }
.page-id-223510 .pb-page > .pb-section:nth-child(26) .pb-button {
	width: 200px;
	padding: 8px 14px;
	border: 1px solid transparent;
	border-radius: 28px;
	background-color: #23272b;
	font-size: 14px;
	font-weight: 400;
	line-height: 18.67px;
	letter-spacing: 0.2px;
	color: #fff;
}

@media (min-width: 992px) {
	.page-id-223510 .pb-page > .pb-section:nth-child(25) .pb-columns { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}

/* Phones, as live at 390px. */
@media (max-width: 767px) {
	.page-id-223510 .pb-page > .pb-section:nth-child(1) { padding-top: 80px; padding-bottom: 8px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(1) .pb-heading__title { font-size: 40px; font-weight: 700; line-height: 48px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-column:first-child { padding: 0; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column { margin-top: 15px; padding: 0; border-left: 0; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column > .pb-rich-text { display: none; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-column + .pb-column .pb-buttons { margin-top: 0; gap: 22px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-image__img { width: 150px; height: 150px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-image + .pb-rich-text { margin-top: 15px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-rich-text h1 { font-size: 29.25px; line-height: 40px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-rich-text + .pb-rich-text { margin-top: 3px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-rich-text p { font-size: 18px; line-height: 20px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(2), :nth-child(3)) .pb-button { padding: 6.5px 11.4px; border-radius: 22.75px; font-size: 11.4px; line-height: 15.2px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-button { background-color: #fff; color: #0f0f0f; }
	.page-id-223510 .pb-page > .pb-section:nth-child(2) .pb-button + .pb-button { border-color: #475157; }
	.page-id-223510 .pb-page > .pb-section:nth-child(3) { padding-top: 72px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-heading + .pb-buttons { margin-top: 29px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-button { padding: 10px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-heading + .pb-buttons .pb-button { padding: 10px 59px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(3) .pb-buttons ~ .pb-buttons { margin-top: 10px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(4) { padding-top: 36px; padding-bottom: 36px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(4) .pb-rich-text { font-size: 13px; line-height: 20px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-heading + .pb-heading { margin-top: 9px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-heading + .pb-rich-text { margin-top: 35px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(6) .pb-rich-text p { line-height: 20px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(7) { padding-top: 102px; padding-bottom: 39px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) { padding-top: 22px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(8) { padding-top: 0; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-columns { row-gap: 22px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-image { text-align: left; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-image__img { margin-left: 0; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-columns > .pb-column:nth-child(odd) { margin-bottom: 4px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-rich-text { font-size: 13px; line-height: 20px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-rich-text h4 { margin-bottom: 12px; line-height: 34px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-rich-text + .pb-buttons { margin-top: 36px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10), :nth-child(12)) .pb-button { padding: 6.9px 12px; border-radius: 20.8px; font-size: 10.4px; line-height: 14.9px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(12) { padding-bottom: 48px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(14) { padding-top: 48px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(14) .pb-heading + .pb-rich-text { margin-top: 35px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(14) .pb-rich-text p { line-height: 20px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(15) { padding-top: 105px; padding-bottom: 48px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(15) .pb-columns { row-gap: 36px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(15) .pb-image + .pb-rich-text { margin-top: 31px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(15) .pb-rich-text { font-size: 13px; line-height: 20px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(15) .pb-rich-text p + p { margin-top: 16px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(17) { padding-top: 48px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(21) { padding-bottom: 39px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-image--medium .pb-image__img { width: 290px; }
	/* Live's cards are left-aligned (the Tag and Test and report icons
	 * stay centred), 121px from one card's copy to the next photo. */
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-columns { row-gap: 121px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) :is(.pb-image--medium, .pb-rich-text) { text-align: left; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-image--medium .pb-image__img { margin-left: 0; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-image + .pb-rich-text { margin-top: 31px; }
	.page-id-223510 .pb-page > .pb-section:is(:nth-child(22), :nth-child(23), :nth-child(24), :nth-child(25)) .pb-rich-text { font-size: 13px; line-height: 20px; }
	.page-id-223510 .pb-page > .pb-section:nth-child(26) .pb-button { padding: 6.5px 11.4px; border-radius: 22.75px; font-size: 11.4px; line-height: 15.2px; }
}

/* ------------------------------------------------------------------ */
/* Home Modifications (page 171785)                                    */
/* ------------------------------------------------------------------ */

/* Live's hero buttons are fixed-width dark slate pills with a white
 * hairline border and uppercase label, not the shared white/green pill.
 * Sections 1 to 4 are the teal hero and the consultation band under it. */
.page-id-171785 .pb-page > .pb-section--on-dark .pb-button {
	min-width: 200px;
	padding: 12.8px 32px;
	border: 1px solid #fff;
	border-radius: 28px;
	background-color: #263238;
	color: #fff;
	font-size: 14px;
	line-height: 1.333;
	text-transform: uppercase;
}

.page-id-171785 .pb-page > .pb-section--on-dark .pb-button:hover {
	background-color: #1b2429;
	border-color: #fff;
	color: #fff;
}

/* Live runs white between the hero and "What We Do"; the migrated page
 * put a grey spacer band either side of "Excellence in Trades". */
.page-id-171785 .pb-page > .pb-section:is(:nth-child(5), :nth-child(10)) {
	background-color: transparent;
}

/* The Key Safes / Tag and Test row migrated as three equal columns, which
 * squeezed the Tag and Test card to a 117px photo. Live is two icon pairs
 * the same width as every row around it. */
.page-id-171785 .pb-page > .pb-section:nth-child(18) .pb-columns--3 {
	grid-template-columns: minmax(0, 12fr) minmax(0, 15fr) minmax(0, 32fr);
}

/* Split cards centre their photo against the copy; live tops them. */
.page-id-171785 .pb-page > .pb-section .pb-column--split > .pb-image {
	align-self: start;
}

/* "No job too small": live tints the heading box only, not the full row. */
.page-id-171785 .pb-page > .pb-section:nth-child(21) {
	background-color: transparent;
}

.page-id-171785 .pb-page > .pb-section:nth-child(21) .pb-columns > .pb-column:first-child {
	padding: 40px;
	background-color: #96edea;
}

@media (max-width: 767px) {
	.page-id-171785 .pb-page > .pb-section--on-dark .pb-button {
		min-width: 0;
		padding: 7px 16px;
		font-size: 12px;
	}

	.page-id-171785 .pb-page > .pb-section:nth-child(18) .pb-columns--3 {
		grid-template-columns: minmax(0, 1fr);
	}

	.page-id-171785 .pb-page > .pb-section:nth-child(21) .pb-columns > .pb-column:first-child {
		padding: 24px;
	}
}

/* ------------------------------------------------------------------ */
/* Hire (page 121938)                                                  */
/* ------------------------------------------------------------------ */
/* Section map: 1 Hire Products, 2 Hire Your Way / For More Info,
 * 3 Know What You Want, 5 urgent-assistance banner, 6 and 7 the Common
 * Hire Items slider and its quote bar (untouched), 8 Product Categories,
 * 12 Product Info, 13 to 17 the Beds to Electric Wheelchairs rows,
 * 18 Explore All Possibilities (live is not Oswald there, so it is left
 * on the shared scale). */

/* Live sets these headings in Oswald 600 inline; the shared block scale
 * renders them in Open Sans, which reads much wider. */
.page-id-121938 .pb-page > .pb-section:is(:nth-child(1), :nth-child(3), :nth-child(8), :nth-child(12), :nth-child(13), :nth-child(14), :nth-child(15), :nth-child(16), :nth-child(17)) .pb-heading__title {
	font-family: Oswald, sans-serif;
	font-weight: 600;
	line-height: 1.2;
}

.page-id-121938 .pb-page > .pb-section:nth-child(1) .pb-heading__title { font-size: 56px; color: #fff; }
.page-id-121938 .pb-page > .pb-section:nth-child(3) .pb-heading__title { font-size: 40px; color: #e5e4e2; }
.page-id-121938 .pb-page > .pb-section:is(:nth-child(8), :nth-child(12)) .pb-heading__title { font-size: 40px; color: #23272b; }

.page-id-121938 .pb-page > .pb-section:is(:nth-child(13), :nth-child(14), :nth-child(15), :nth-child(16), :nth-child(17)) .pb-heading__title {
	font-size: 30.8px;
	line-height: 42px;
	color: #22262a;
}

/* Live's hero buttons are 200px teal #2f6f7e pills with #eee labels, not
 * the shared near-black secondary pill. */
.page-id-121938 .pb-page > .pb-section:is(:nth-child(2), :nth-child(3)) .pb-button {
	width: 200px;
	padding: 6.5px 20px;
	border-color: #2f6f7e;
	background-color: #2f6f7e;
	color: #eee;
	font-size: 11.2px;
	line-height: 15px;
}

.page-id-121938 .pb-page > .pb-section:is(:nth-child(2), :nth-child(3)) .pb-button:hover {
	border-color: #275d6a;
	background-color: #275d6a;
	color: #fff;
}

/* The urgent-assistance banner's quote button is live's grey pill. */
.page-id-121938 .pb-banner__button {
	width: 200px;
	padding: 6.5px 20px;
	border-color: #afafaf;
	background-color: #afafaf;
	color: #424242;
	font-size: 11.2px;
	line-height: 15px;
}

.page-id-121938 .pb-banner__button:hover {
	border-color: #9d9d9d;
	background-color: #9d9d9d;
	color: #424242;
}

/* Live's hero sub-copy is dark teal on the orange, with the strapline at
 * 22px over a 10px note; --on-dark had flattened both to white body size. */
.page-id-121938 .pb-page > .pb-section:nth-child(2) .pb-rich-text p { color: #0d3f47; }
.page-id-121938 .pb-page > .pb-section:nth-child(2) .pb-rich-text p:first-child { font-size: 22px; line-height: 1.35; }
.page-id-121938 .pb-page > .pb-section:nth-child(2) .pb-rich-text p + p { font-size: 10px; line-height: 1.9; }

@media (max-width: 767px) {
	/* Live's phone hero opens on the clock and "Hire Your Way": its
	 * "Hire Products" and "For More Info" columns are d-none d-md-block. */
	.page-id-121938 .pb-page > .pb-section:nth-child(1),
	.page-id-121938 .pb-page > .pb-section:nth-child(2) .pb-column:last-child .pb-rich-text {
		display: none;
	}

	/* Live keeps "Know What You Want?" at its full size on phones. */
	.page-id-121938 .pb-page > .pb-section:nth-child(3) .pb-heading__title { font-size: 40px; }

	.page-id-121938 .pb-page > .pb-section:is(:nth-child(8), :nth-child(12)) .pb-heading__title { font-size: 30px; }
	.page-id-121938 .pb-page > .pb-section:is(:nth-child(13), :nth-child(14), :nth-child(15), :nth-child(16), :nth-child(17)) .pb-heading__title { font-size: 25px; line-height: 34px; }

	.page-id-121938 .pb-page > .pb-section:is(:nth-child(2), :nth-child(3)) .pb-button,
	.page-id-121938 .pb-banner__button {
		width: 200px;
		max-width: 100%;
	}
}

/* ------------------------------------------------------------------ */
/* Bariatric Products (page 203417)                                    */
/* ------------------------------------------------------------------ */
/* Section map: 1 the teal hero title, 2 Buy or Hire / For More Info,
 * 3 the green intro band, 4 to 8 the product grids (untouched),
 * 9 In-Home Trials, 10 the green trial-button band, 11 Meet Our
 * Equipment Specialists, 12 NDIS and Australian Owned. Fonts, colours
 * and sizes only; the grids and sliders are not touched. */

/* Live sets the hero title in Oswald 600 and its strapline in Open Sans
 * regular at 38px; the shared hero scale rendered both bold at 45px. */
.page-id-203417 .pb-page > .pb-section:nth-child(1) h2.pb-heading__title {
	font-family: Oswald, sans-serif;
	font-size: 56px;
	font-weight: 600;
	line-height: 1.2;
	color: #fff;
}

.page-id-203417 .pb-page > .pb-section:nth-child(1) h4.pb-heading__title {
	font-size: 38px;
	font-weight: 400;
	line-height: 1.2;
	color: #fff;
}

/* Hero copy: live runs the intro at 14px, the hire strapline at 22px in
 * #e0ffff and the catalogue note at 13px in #99ffff. --on-dark had
 * flattened all three to white at body size. The column runs
 * figure, heading, intro, spacer, strapline block, so the strapline
 * is the fifth child, not the fourth. */
.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-column:first-child > .pb-rich-text:nth-child(3) p { font-size: 14px; }
.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-column:first-child > .pb-rich-text:nth-child(5) p:first-child { font-size: 22px; color: #e0ffff; }
.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-column:first-child > .pb-rich-text:nth-child(5) p + p { font-size: 13px; color: #99ffff; }

/* Live's hero buttons read teal #006d6f on white, with Supporting OTs
 * filled pale cyan rather than the shared green primary. */
.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-button--light {
	border-color: #fff;
	background-color: #fff;
	color: #006d6f;
}

.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-button--primary {
	border-color: #99ffff;
	background-color: #99ffff;
	color: #006d6f;
}

.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-button--light:hover,
.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-button--primary:hover {
	border-color: #e0ffff;
	background-color: #e0ffff;
	color: #006d6f;
}

/* Live sets both lower section headings in Roboto 500 teal, not the
 * shared bold dark heading. */
.page-id-203417 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11)) .pb-heading__title {
	font-family: Roboto, sans-serif;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
	color: #008b8b;
}

/* The trial band's button is live's gold pill, not the green primary. */
.page-id-203417 .pb-page > .pb-section:nth-child(10) .pb-button {
	border-color: #ffd44e;
	background-color: #ffd44e;
	color: #00171c;
}

.page-id-203417 .pb-page > .pb-section:nth-child(10) .pb-button:hover {
	border-color: #f5c431;
	background-color: #f5c431;
	color: #00171c;
}

@media (max-width: 767px) {
	/* Live's phone hero: 32px title over a 16px strapline, an 11px intro
	 * and a 14px #7df9ff catalogue note. */
	.page-id-203417 .pb-page > .pb-section:nth-child(1) h2.pb-heading__title { font-size: 32px; }
	.page-id-203417 .pb-page > .pb-section:nth-child(1) h4.pb-heading__title { font-size: 16px; font-weight: 700; }
	.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-column:first-child > .pb-rich-text:nth-child(3) p { font-size: 11px; }
	.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-column:first-child > .pb-rich-text:nth-child(5) p + p { font-size: 14px; color: #7df9ff; }

	.page-id-203417 .pb-page > .pb-section:nth-child(2) .pb-button--light {
		border-color: #7df9ff;
		background-color: #7df9ff;
		color: #006d6f;
	}

	.page-id-203417 .pb-page > .pb-section:is(:nth-child(9), :nth-child(11)) .pb-heading__title { font-size: 24px; }
}

/* ------------------------------------------------------------------ */
/* Request A Hire Quote (page 125490)                                  */
/* ------------------------------------------------------------------ */
/* One section: heading, intro, Gravity Form 28. Button styling is left
 * as it is, and the field background is deliberately not changed here
 * (see docs/architecture.md). */

/* Live hides Gravity Forms' "(Required)" text the way GF's own
 * screen-reader class does; ours was printing it in red beside every
 * label. Hidden visually rather than with display:none so the cue stays
 * in the accessibility tree, alongside the inputs' aria-required. */
.page-id-125490 .pb-form .gform_wrapper .gfield_required {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Live's title is PT Sans 700 45px #3c3d41, not Open Sans bold #222529. */
.page-id-125490 .pb-heading--hero .pb-heading__title {
	font-family: "PT Sans", sans-serif;
	font-size: 45px;
	font-weight: 700;
	color: #3c3d41;
}

/* Live's two intro lines are 16px #3c3d41. */
.page-id-125490 .pb-heading + .pb-rich-text,
.page-id-125490 .pb-heading + .pb-rich-text p {
	font-size: 16px;
	color: #3c3d41;
}

/* Live's form card is 940px centred, not the full 1140px container. */
.page-id-125490 .pb-form {
	max-width: 940px;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 767px) {
	.page-id-125490 .pb-heading--hero .pb-heading__title { font-size: 30px; }
	.page-id-125490 .pb-form { max-width: none; }
}

/* ------------------------------------------------------------------ */
/* Location and product landing pages                                  */
/* (77985, 72869, 66479, 77987, 66451, 73197, 73202)                   */
/* ------------------------------------------------------------------ */
/* Mobility Aids Frankston, Mobility Scooters Adelaide, Crutches Buy &
 * Hire Australia, Crutches Frankston Melbourne, Wheelchair Hire
 * Adelaide, Wheelchair Hire Melbourne and Walking Frames Adelaide are
 * one template: a single rich-text column of headings, copy, photo rows
 * and lists.
 * Live styles them off Porto's content defaults, which the shared
 * rich-text scale does not reproduce, so the group is matched to live
 * here rather than changing `.pb-rich-text` for every page-blocks page.
 * Buttons are not touched. */

:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text {
	text-align: justify;
}

/* Live's headings are small and green, not the large dark rich-text
 * scale: h2 18px on a 42px line, h3 14px on a 32px line, both #589f3c. */
:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text h2 {
	margin: 0 0 32px;
	font-size: 18px;
	font-weight: 700;
	line-height: 42px;
	color: var(--pb-green);
}

:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text h3 {
	margin: 0 0 20px;
	font-size: 14px;
	font-weight: 700;
	line-height: 32px;
	color: var(--pb-green);
}

/* The photo rows these pages put inside a heading sit on live's Bootstrap
 * `img { vertical-align: middle }`, so there is no baseline descender gap
 * under each row. On a baseline the rows drift 11px apart. */
:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text img {
	vertical-align: middle;
}

/* Live runs copy and lists on a 22px line, with no gap between items, on
 * Porto's 0.2px letter spacing (which costs a line on phones). */
:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text :is(p, ul, ol, li) {
	line-height: 22px;
	letter-spacing: 0.2px;
}

:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text p { margin: 0 0 20px; }
:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text :is(ul, ol) { margin: 0 0 16px; padding-left: 32px; }
:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text li { margin-bottom: 0; }

/* Two of the pages are not justified end to end. Wheelchair Hire
 * Melbourne's opening title sat outside the builder's text column on
 * live, so that one line runs left; Walking Frames Adelaide has no text
 * column at all (its builder markup was flattened to plain HTML years
 * ago), so live runs the whole page left. */
.page-id-73197 .pb-rich-text > h2:first-child,
.page-id-73202 .pb-rich-text {
	text-align: start;
}

/* Under 576px Porto drops the justification and scales the type: h2
 * 14.625px on a 40px line, h3 11.375px on a 29.09px line, copy and lists
 * 13px on a 20px line with a 16.25px gap after a paragraph. */
@media (max-width: 575px) {
	:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text { text-align: start; }

	:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text h2 {
		font-size: 14.625px;
		line-height: 40px;
	}

	:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text h3 {
		font-size: 11.375px;
		line-height: 29.0909px;
	}

	:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text :is(p, ul, ol, li) {
		font-size: 13px;
		line-height: 20px;
	}

	:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text p { margin: 0 0 16.25px; }
	:is(.page-id-77985, .page-id-72869, .page-id-66479, .page-id-77987, .page-id-66451, .page-id-73197, .page-id-73202) .pb-rich-text :is(ul, ol) { margin: 0 0 13px; padding-left: 26px; }
}


/* ------------------------------------------------------------------ */
/* Policy pages                                                        */
/* ------------------------------------------------------------------ */
/* The policy and terms pages are long-form legal text rebuilt from the
 * PDFs that live embeds in an Adobe viewer. Each page's Rich text block
 * opens with a .pb-policy wrapper, so one rule set covers all of them
 * and nothing else on the site is affected. */

.pb-policy {
	font-size: 16px;
	line-height: 1.7;
	color: #333;
}

/* The page header matches live: Open Sans 700 36px on a 44px line in
 * brand green, 29.25px on a 40px line on phones. */
.pb-policy h1 {
	margin: 0 0 24px;
	font-size: 36px;
	font-weight: 700;
	line-height: 44px;
	color: var(--pb-green);
}

.pb-policy p {
	margin: 0 0 16px;
}

.pb-policy h2 {
	margin: 32px 0 12px;
	font-size: 22px;
	font-weight: 600;
	line-height: 1.35;
	color: #222529;
}

.pb-policy h3 {
	margin: 24px 0 10px;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.4;
	color: #222529;
}

.pb-policy :is(ul, ol) {
	margin: 0 0 16px;
	padding-left: 24px;
}

.pb-policy li {
	margin: 0;
	padding-left: 4px;
}

.pb-policy li + li {
	margin-top: 8px;
}

/* Nested levels step in a little further and take a circle bullet. */
.pb-policy li > :is(ul, ol) {
	margin: 8px 0 0;
	padding-left: 22px;
}

.pb-policy li ul {
	list-style-type: circle;
}

.pb-policy li li ul {
	list-style-type: square;
}

.pb-policy a {
	color: var(--pb-green);
	text-decoration: underline;
}

.pb-policy a:hover {
	color: var(--pb-green-dark);
}

@media (max-width: 767px) {
	.pb-policy h1 { font-size: 29.25px; line-height: 40px; margin-bottom: 20px; }
	.pb-policy h2 { font-size: 19px; margin-top: 26px; }
	.pb-policy h3 { font-size: 17px; }
	.pb-policy :is(ul, ol) { padding-left: 20px; }
}

/* ------------------------------------------------------------------ */
/* Policy pages: one shared style (2026-10-13)                         */
/* ------------------------------------------------------------------ */
/* Ten policy pages (Privacy Policy 2909, Terms and Conditions - Hire
 * 194135, Competitive Pricing Policy 194526, Consumer Guarantees
 * 194522, Loyalty T&Cs 208807, Shipping Policy 132560, Terms &
 * Conditions 149482, Diversity and Inclusion 195257, Legal Notices
 * 195261, Refund/Return/Repair (Returns) Policy 2869) previously each
 * chased live's own inconsistent per-page styling: different heading
 * colours, line-heights, h1 vs h2, and Abril Fatface on Terms &
 * Conditions' four document titles. This replaces all of that with one
 * identical style taken from Privacy Policy (2909), which carried no
 * page-specific override at all: the plain .pb-rich-text heading and
 * paragraph defaults, explicitly declared here so it survives any
 * future change to those shared defaults. Loyalty T&Cs keeps its
 * original <h2> page heading, and Terms & Conditions keeps its
 * original <h2> intro heading plus <h2> document-title Heading blocks
 * (so the page carries only the one true <h1>, the entry title live
 * elsewhere); every other page's main heading is an <h1>. The
 * document-title blocks are matched via .pb-heading .pb-heading__title
 * (three classes) rather than the simpler .pb-heading__title, because
 * the base rule `.pb-heading h2.pb-heading__title` (two classes plus a
 * tag) would otherwise outrank a two-class override; three classes
 * beats it regardless of the heading's own tag. Scoped to these ten
 * page ids only; nothing else moves. Replaces the per-page blocks that
 * used to sit here for 194526, 194522, 208807, 2909 and 2869 (2869's
 * own block set live's green heading colour and a 44px/40px
 * line-height scoped to `.pb-align-left.pb-rich-text > h1`, which
 * conflicted with this shared style once Returns' staging content was
 * brought in line with the other nine pages, 2026-10-13), and the
 * heading/body rules inside the 132560 and 149482 blocks below (each
 * page's other, unrelated rules - e.g. 149482's NDIS Disclaimer /
 * Contact Us styling - are untouched). */
.page-id-2909 .pb-rich-text h1,
.page-id-194135 .pb-rich-text h1,
.page-id-194526 .pb-rich-text h1,
.page-id-194522 .pb-rich-text h1,
.page-id-208807 .pb-rich-text h2,
.page-id-132560 .pb-rich-text h1,
.page-id-149482 .pb-rich-text h2,
.page-id-149482 .pb-heading .pb-heading__title,
.page-id-195257 .pb-rich-text h1,
.page-id-195261 .pb-rich-text h1,
.page-id-2869 .pb-rich-text h1 {
	font-family: inherit;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.25;
	color: var(--pb-heading);
	text-align: left;
	margin: 0 0 0.5em;
}

.page-id-2909 .pb-rich-text p,
.page-id-194135 .pb-rich-text p,
.page-id-194526 .pb-rich-text p,
.page-id-194522 .pb-rich-text p,
.page-id-208807 .pb-rich-text p,
.page-id-132560 .pb-rich-text p,
.page-id-149482 .pb-rich-text p,
.page-id-195257 .pb-rich-text p,
.page-id-195261 .pb-rich-text p,
.page-id-2869 .pb-rich-text p {
	line-height: 22px;
	letter-spacing: 0.2px;
}

@media (min-width: 768px) {
	.page-id-2909 .pb-rich-text p,
	.page-id-194135 .pb-rich-text p,
	.page-id-194526 .pb-rich-text p,
	.page-id-194522 .pb-rich-text p,
	.page-id-208807 .pb-rich-text p,
	.page-id-132560 .pb-rich-text p,
	.page-id-149482 .pb-rich-text p,
	.page-id-195257 .pb-rich-text p,
	.page-id-195261 .pb-rich-text p,
	.page-id-2869 .pb-rich-text p { text-align: justify; }
}

@media (max-width: 767px) {
	.page-id-2909 .pb-rich-text h1,
	.page-id-194135 .pb-rich-text h1,
	.page-id-194526 .pb-rich-text h1,
	.page-id-194522 .pb-rich-text h1,
	.page-id-208807 .pb-rich-text h2,
	.page-id-132560 .pb-rich-text h1,
	.page-id-149482 .pb-rich-text h2,
	.page-id-149482 .pb-heading .pb-heading__title,
	.page-id-195257 .pb-rich-text h1,
	.page-id-195261 .pb-rich-text h1,
	.page-id-2869 .pb-rich-text h1 { font-size: 26px; }

	.page-id-2909 .pb-rich-text p,
	.page-id-194135 .pb-rich-text p,
	.page-id-194526 .pb-rich-text p,
	.page-id-194522 .pb-rich-text p,
	.page-id-208807 .pb-rich-text p,
	.page-id-132560 .pb-rich-text p,
	.page-id-149482 .pb-rich-text p,
	.page-id-195257 .pb-rich-text p,
	.page-id-195261 .pb-rich-text p,
	.page-id-2869 .pb-rich-text p {
		font-size: 13px;
		line-height: 20px;
	}
}


/* ------------------------------------------------------------------ */
/* Terms & Conditions (149482): NDIS Disclaimer / Contact Us closer    */
/* ------------------------------------------------------------------ */
/* The page's main heading and its four document-title Heading blocks
 * (one per PDF: Sale, Sale of Used Equipment, Hire, Refund/Return/
 * Repair) now use the shared policy-page style above. This is only the
 * NDIS Disclaimer notice and "Contact Us" closer, which live in a
 * second Rich text block after the four document titles and keep their
 * own green bold-label treatment, untouched by the unification pass.
 * Verified against https://medimart.com.au/terms-conditions/ at
 * 1440px and 390px, 2026-10-13. */
.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text > p {
	margin-bottom: 20px;
}

.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text h5 b,
.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text h3 span {
	font-weight: 700;
	color: var(--pb-green);
	border-top-color: var(--pb-green);
}

.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text h3 span { font-size: 14px; line-height: 32px; }

@media (min-width: 768px) {
	.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text h5 b,
	.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text h3 span { text-align: justify; }
}

@media (max-width: 767px) {
	.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text > p {
		margin-bottom: 16.25px;
	}
	.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text h5 b {
		font-size: 11.375px;
		line-height: 18.182px;
	}
	.page-id-149482 .pb-heading--default ~ .pb-align-left.pb-rich-text h3 span {
		font-size: 11.375px;
		line-height: 29.091px;
	}
}


/* ------------------------------------------------------------------ */
/* Molift (128076)                                                     */
/* ------------------------------------------------------------------ */
/* Category landing page. Live keeps a heavier, more branded treatment
 * than the block defaults: Montserrat 50px section titles, Oswald 30px
 * sub-headings, Open Sans body at 16/22 justified, and the two lifter
 * rows stretched edge to edge with the copy inset 70px. Everything here
 * is scoped to the page id, so no other page-blocks page moves.
 * Measured against https://medimart.com.au/molift/ at 1440px and 390px,
 * 2026-10-08, with scripts/page-compare.mjs. */

/* Section titles: Lifters, Gantry Systems, Slings, and the two product
 * names, which live sets as the same hero face at every width. */
.page-id-128076 .pb-heading--hero .pb-heading__title {
	font-family: Montserrat, sans-serif;
	font-size: 50px;
	font-weight: 700;
	line-height: 50px;
	color: #212121;
	margin-bottom: 10px;
}

/* Sub-headings: Overview, Duo System, Quattro System. The -10px top
 * margin is live's, pulling each one up against the row above. */
.page-id-128076 .pb-heading--default .pb-heading__title {
	font-family: Oswald, sans-serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 32px;
	color: #24282c;
	margin-top: -10px;
	margin-bottom: 10px;
}

/* Body copy everywhere except the two lifter rows. */
.page-id-128076 .pb-rich-text {
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #7b858a;
}

.page-id-128076 .pb-align-left.pb-rich-text {
	text-align: justify;
}

.page-id-128076 .pb-rich-text p {
	margin-bottom: 20px;
}

.page-id-128076 .pb-rich-text > :last-child {
	margin-bottom: 0;
}

/* The Smart 150 and Mover 180 rows: Roboto Light on a lighter grey, and
 * ranged left rather than justified. */
.page-id-128076 .pb-page > .pb-section:nth-child(3) .pb-rich-text,
.page-id-128076 .pb-page > .pb-section:nth-child(4) .pb-rich-text {
	font-family: Roboto, sans-serif;
	font-size: 16px;
	font-weight: 300;
	line-height: 24px;
	color: #5e5e5e;
	text-align: left;
}

.page-id-128076 .pb-page > .pb-section:nth-child(3) .pb-rich-text p,
.page-id-128076 .pb-page > .pb-section:nth-child(4) .pb-rich-text p {
	margin-bottom: 10px;
}

/* Live's "View Product" is Porto's gold pill: the same box at both
 * widths. Sampled from the rendered page, as on Bariatric: the inline
 * style says #ce2530, but a stylesheet rule paints it #ffd44e. */
.page-id-128076 .pb-button {
	display: inline-block;
	font-family: Oswald, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 19.6px;
	letter-spacing: 0.35px;
	text-transform: uppercase;
	color: #00171c;
	background: #ffd44e;
	border: 0;
	border-radius: 28px;
	padding: 10px 20px;
	min-height: 0;
	gap: normal;
	box-shadow: none;
	text-decoration: none;
}

/* Live's button does not move on hover: background, colour, shadow and
 * transform all measured identical to its resting state. */
.page-id-128076 .pb-button:hover,
.page-id-128076 .pb-button:focus {
	background: #ffd44e;
	color: #00171c;
	box-shadow: none;
	transform: none;
}

/* The Duo and Quattro galleries are one image at a time on live, not a
 * four-up thumbnail strip. The block prints --pb-cols as an inline style
 * on .pb-gallery, which no stylesheet rule can outrank, so the override
 * goes on the slide itself, which carries no inline style. */
.page-id-128076 .pb-gallery .pb-slider__items > * {
	--pb-cols: 1;
}

/* The two lifter rows run edge to edge on live, with the copy inset. */
.page-id-128076 .pb-page > .pb-section:nth-child(3) > .pb-section__inner,
.page-id-128076 .pb-page > .pb-section:nth-child(4) > .pb-section__inner {
	padding-left: 0;
	padding-right: 0;
}

/* Live runs the two columns hard against each other and carries the
 * inset as padding inside the text column, so the grid gap goes. */
.page-id-128076 .pb-page > .pb-section:nth-child(3) .pb-columns,
.page-id-128076 .pb-page > .pb-section:nth-child(4) .pb-columns {
	gap: 0;
}

.page-id-128076 .pb-page > .pb-section:nth-child(3) .pb-column:has(.pb-heading),
.page-id-128076 .pb-page > .pb-section:nth-child(4) .pb-column:has(.pb-heading) {
	padding-left: 70px;
	padding-right: 70px;
}

/* Live shows these two product shots at their natural 700px, centred in
 * the half-width column rather than filling it. */
.page-id-128076 .pb-page > .pb-section:nth-child(3) .pb-image__img,
.page-id-128076 .pb-page > .pb-section:nth-child(4) .pb-image__img {
	max-width: min(700px, 100%);
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 767px) {
	/* Live holds the 50px hero face on phones; only the gap tightens. */
	.page-id-128076 .pb-heading--hero .pb-heading__title {
		margin-bottom: 8.125px;
	}

	.page-id-128076 .pb-heading--default .pb-heading__title {
		line-height: 29.0909px;
		margin-bottom: 8.125px;
	}

	.page-id-128076 .pb-rich-text {
		font-size: 13px;
		line-height: 20px;
	}

	/* Live justifies the body copy on desktop but ranges it left once the
	 * measure narrows, so the gaps between words stay even. */
	.page-id-128076 .pb-align-left.pb-rich-text {
		text-align: left;
	}

	.page-id-128076 .pb-rich-text p {
		margin-bottom: 16.25px;
	}

	/* The lifter rows keep Roboto 16/24 at every width on live. */
	.page-id-128076 .pb-page > .pb-section:nth-child(3) .pb-rich-text,
	.page-id-128076 .pb-page > .pb-section:nth-child(4) .pb-rich-text {
		font-size: 16px;
		line-height: 24px;
	}

	.page-id-128076 .pb-page > .pb-section:nth-child(3) .pb-rich-text p,
	.page-id-128076 .pb-page > .pb-section:nth-child(4) .pb-rich-text p {
		margin-bottom: 8.125px;
	}
}


/* ------------------------------------------------------------------ */
/* Paediatric Products (215255)                                        */
/* ------------------------------------------------------------------ */
/* Category landing page. Fonts and colours are matched to live exactly;
 * the vertical rhythm deliberately is not, because live's is uneven (a
 * heading and its own button sit 80px apart, and several rows carry
 * spacers on top of their padding). Spacing here uses the page-blocks
 * steps already used across the site. Every selector is under the page
 * id, so no other page moves. Measured against
 * https://medimart.com.au/paediatric-products/ at 1440px and 390px,
 * 2026-10-08, with scripts/page-compare.mjs.
 *
 * Section map (.pb-page > .pb-section:nth-child(n)):
 *   1 hero titles        2 hero buy/hire + buttons   3 green band
 *   4 intro + CTA        5-9 product groups         10-11 trials + team
 *   12 NDIS / Aus owned  13 (empty)                 14-19 hire, home
 *   mods, service, contact
 */

/* ---- Palette, live's own ----
 * #2a3439 slate, #008080 teal, #003366 navy, #7b858a body grey,
 * #ffd44e gold pill on #00171c, #7df9ff cyan, #589f3c green. */

/* ---- Headings ---- */

/* Live's section headings are Roboto Medium, not the shared bold Open
 * Sans, and they hold 30px at every width. */
.page-id-215255 .pb-heading__title {
	font-family: Roboto, sans-serif;
	font-size: 30px;
	font-weight: 500;
	line-height: 36px;
	color: #2a3439;
	margin-bottom: 5px;
}

/* The subheading under each section heading. Live runs these into the
 * heading itself, so they take the same face a step down. */
.page-id-215255 h4.pb-heading__title {
	font-size: 20px;
	line-height: 26px;
	font-weight: 500;
	color: #2a3439;
}

/* Hero: live sets the title in Oswald 600 56px uppercase and the
 * strapline in Open Sans 600 38px teal. */
.page-id-215255 .pb-page > .pb-section:nth-child(1) .pb-column > .pb-heading:nth-child(1) .pb-heading__title {
	font-family: Oswald, sans-serif;
	font-size: 56px;
	font-weight: 600;
	line-height: 67.2px;
	text-transform: uppercase;
	color: #2a3439;
	margin-bottom: 48px;
}

.page-id-215255 .pb-page > .pb-section:nth-child(1) .pb-column > .pb-heading:nth-child(2) .pb-heading__title {
	font-family: "Open Sans", sans-serif;
	font-size: 38px;
	font-weight: 600;
	line-height: 45.6px;
	color: #008080;
	margin-bottom: 48px;
}

/* "Contact Medimart" is live's one bold centred heading. */
.page-id-215255 .pb-page > .pb-section:nth-child(19) .pb-heading__title {
	font-weight: 700;
	color: #101103;
	margin-bottom: 10px;
}

/* Product group titles: BATHROOM & TOILET and friends. */
.page-id-215255 .pb-products__title {
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 22.4px;
	text-transform: uppercase;
	color: #222529;
	margin-bottom: 20px;
}

/* ---- Body copy ---- */

.page-id-215255 .pb-rich-text {
	font-size: 16px;
	font-weight: 400;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #7b858a;
	text-align: justify;
}

.page-id-215255 .pb-rich-text p {
	margin-bottom: 20px;
}

.page-id-215255 .pb-rich-text > :last-child {
	margin-bottom: 0;
}

/* The shared block paints bold runs in the heading colour; live leaves
 * them the colour of the copy they sit in. */
.page-id-215255 .pb-rich-text :is(strong, b) {
	color: inherit;
}

/* ---- Hero body (sections 1 and 2) ---- */

/* "Buy or Hire" and "FOR MORE INFO". */
.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-rich-text h1 {
	font-family: "Open Sans", sans-serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 44px;
	letter-spacing: normal;
	color: #2a3439;
	margin: 0;
}

.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-rich-text h1 strong {
	font-weight: 700;
}

/* Live's hero copy is navy, not body grey, and centred rather than
 * justified. */
.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-rich-text {
	color: #003366;
	text-align: center;
}

/* "Quick, Easy, No Fuss Hire When You Need It". */
.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-rich-text p strong {
	font-size: 20px;
	line-height: 22px;
	font-weight: 700;
	color: #008080;
}

/* The green band's copy. */
.page-id-215255 .pb-page > .pb-section:nth-child(3) .pb-rich-text {
	color: #fff;
	text-align: center;
}

/* ---- Buttons ---- */

/* Live's action buttons are Porto's gold pill. Sampled from the
 * rendered page: the inline style is overridden by a stylesheet rule. */
.page-id-215255 .pb-button {
	font-family: Oswald, sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 19.6px;
	letter-spacing: 0.35px;
	text-transform: uppercase;
	color: #00171c;
	background: #ffd44e;
	border: 0;
	border-radius: 28px;
	padding: 10px 20px;
	min-height: 0;
}

.page-id-215255 .pb-button:hover,
.page-id-215255 .pb-button:focus {
	background: #ffd44e;
	color: #00171c;
}

/* The hero's own buttons are a different set: Open Sans on a 200px
 * pill, dark slate for the primary pair and white for the rest. */
.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-button {
	font-family: "Open Sans", sans-serif;
	font-size: 14px;
	font-weight: 400;
	line-height: 18.6662px;
	letter-spacing: 0.2px;
	text-transform: none;
	width: 200px;
	padding: 8px 14px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	border-radius: 28px;
}

.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-button--secondary,
.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-button--secondary:hover {
	background: #2a3439;
	color: #fff;
}

.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-button--light,
.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-button--light:hover {
	background: #fff;
	color: #2a3439;
}

/* The "FOR MORE INFO" column's buttons run a step smaller on live. */
.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-column:nth-child(2) .pb-button {
	font-size: 12.8px;
	line-height: 18.2857px;
	padding: 8.528px 14.928px;
	border-radius: 25.6px;
}

/* The NDIS and Australian Owned links are live's square cyan buttons,
 * not pills. */
.page-id-215255 .pb-button--sm,
.page-id-215255 .pb-button--sm:hover {
	font-family: "Open Sans", sans-serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: 0.2px;
	text-transform: none;
	color: #0f0f0f;
	background: #7df9ff;
	width: 200px;
	padding: 4.8px 10.4px;
	border-radius: 0;
}

/* ---- Team cards ---- */

.page-id-215255 .pb-team__name {
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 19px;
	color: #2a3439;
	margin-top: 20px;
}

.page-id-215255 .pb-team__role {
	font-family: "Open Sans", sans-serif;
	font-size: 16px;
	font-weight: 700;
	line-height: 22px;
	letter-spacing: 0.2px;
	text-transform: uppercase;
	color: #589f3c;
	margin-bottom: 10px;
}

/* ---- NDIS / Australian Owned pair ---- */

.page-id-215255 .pb-page > .pb-section:nth-child(12) .pb-rich-text {
	color: #333;
	text-align: left;
}

.page-id-215255 .pb-page > .pb-section:nth-child(12) .pb-rich-text :is(strong, b) {
	font-size: 20px;
	line-height: 22px;
	font-weight: 700;
	color: #333;
}

/* ---- Spacing ----
 * One system for the whole page, on the page-blocks steps (--pb-pad-m
 * is 40px, 28px on phones; --pb-pad-l is 80px, 48px). Live's own rhythm
 * is uneven: a heading sits a full section's padding from its own
 * button, the green band's copy is flush against the band's bottom
 * edge, and several rows carry hand-nudged spacers on top of their
 * padding. The base is one uniform step, and the exceptions below are
 * the places where two sections are really one block.
 */
.page-id-215255 .pb-page > .pb-section {
	padding-top: var(--pb-pad-m);
	padding-bottom: var(--pb-pad-m);
}

/* Sections 1 and 2 are one cyan band, so the step goes on the outside
 * of the pair and not between them. */
.page-id-215255 .pb-page > .pb-section:nth-child(1) {
	padding-top: var(--pb-pad-l);
	padding-bottom: 0;
}

.page-id-215255 .pb-page > .pb-section:nth-child(2) {
	padding-top: 0;
	padding-bottom: var(--pb-pad-l);
}

/* The green band: live runs about 35px top and bottom, ours had 20px
 * over 0, which left the copy sitting on the band's bottom edge. */
.page-id-215255 .pb-page > .pb-section:nth-child(3) {
	padding-top: var(--pb-pad-m);
	padding-bottom: var(--pb-pad-m);
}

/* Sections 5 to 9 are one grey band of product groups: the step goes
 * between the groups and around the band, not inside a group. */
.page-id-215255 .pb-page > .pb-section:nth-child(n+6):nth-child(-n+9) {
	padding-top: 0;
}

/* A heading row and the button row that belongs to it are one live row
 * the converter split in two, so the join between them closes up. */
.page-id-215255 .pb-page > .pb-section:is(:nth-child(10), :nth-child(14), :nth-child(16), :nth-child(18)) {
	padding-bottom: 0;
}

.page-id-215255 .pb-page > .pb-section:is(:nth-child(11), :nth-child(15), :nth-child(17), :nth-child(19)) {
	padding-top: 0;
}

/* The page closes on the contact form, which gets the larger step. */
.page-id-215255 .pb-page > .pb-section:nth-child(19) {
	padding-bottom: var(--pb-pad-l);
}

/* The converter left an empty section where live's "The Team" button
 * row was; it has no content but still carries its padding. */
.page-id-215255 .pb-page > .pb-section:nth-child(13) {
	display: none;
}

/* Live's hand-nudged spacers go, and every block inside a column takes
 * the same small step instead, so the gaps no longer vary with where
 * the original author happened to drop a spacer. */
.page-id-215255 .pb-page > .pb-section .pb-spacer {
	display: none;
}

.page-id-215255 .pb-column > * + * {
	margin-top: var(--pb-pad-s);
}

/* Where one section holds two blocks, the second one needs the step
 * back: section 11 is the trials button followed by the team, and 19
 * is the service button followed by Contact Medimart. */
.page-id-215255 .pb-column > .pb-buttons + .pb-heading,
.page-id-215255 .pb-column > .pb-buttons + .pb-spacer + .pb-heading {
	margin-top: var(--pb-pad-m);
}

/*
 * Closing the join above zeroes these sections' top padding, and the
 * button is the column's first child, so the in-column step does not
 * reach it either: the four gold calls to action ended up hard against
 * the paragraph above them. They open a continuation of the block
 * above, so they take the section step rather than the smaller
 * in-column one. (Live gives them a 171px top margin, a 206px gap,
 * which is far more than this page's rhythm.)
 */
.page-id-215255 .pb-page > .pb-section:is(:nth-child(11), :nth-child(15), :nth-child(17), :nth-child(19)) .pb-column > .pb-buttons:first-child {
	margin-top: var(--pb-pad-m);
}

/* ---- Product sliders ----
 * Live clamps these rows to 840px from 1440px up, so the cards get
 * smaller as the screen gets bigger (255px at 1280, 180px at 1440).
 * Dropped here so the sliders track the container at every width. */
.page-id-215255 .pb-page > .pb-section--inset-wrap > .pb-section__inner > * {
	max-width: none;
	margin-left: 0;
	margin-right: 0;
	padding-left: 0;
	padding-right: 0;
}

/*
 * The block prints --pb-cols as an inline style on .pb-products, which
 * outranks the shared responsive rules, so the grid stayed four across
 * from 1920px down to 768px: 152px cards on a tablet. The column count
 * is set on the product itself, which carries no inline style, on the
 * same 4 / 3 / 2 steps the shared rules intend.
 */
.page-id-215255 .pb-products__grid ul.products li.product {
	--pb-cols: 4;
}

@media (max-width: 1199px) {
	.page-id-215255 .pb-products__grid ul.products li.product {
		--pb-cols: 3;
	}
}

@media (max-width: 767px) {
	.page-id-215255 .pb-products__grid ul.products li.product {
		--pb-cols: 2;
		--pb-item-width: calc((100% - var(--pb-slider-gap)) / 2);
	}
}

@media (max-width: 767px) {
	.page-id-215255 .pb-rich-text {
		font-size: 13px;
		line-height: 20px;
		text-align: left;
	}

	.page-id-215255 .pb-rich-text p {
		margin-bottom: 16.25px;
	}

	.page-id-215255 .pb-products__title {
		margin-bottom: 16.25px;
	}

	/* Live's hero steps down on phones; its section headings do not. */
	.page-id-215255 .pb-page > .pb-section:nth-child(1) .pb-column > .pb-heading:nth-child(1) .pb-heading__title {
		font-family: "Open Sans", sans-serif;
		font-size: 32px;
		font-weight: 700;
		line-height: 40px;
		margin-bottom: 24px;
	}

	.page-id-215255 .pb-page > .pb-section:nth-child(1) .pb-column > .pb-heading:nth-child(2) .pb-heading__title {
		font-size: 23px;
		font-weight: 700;
		line-height: 29.0909px;
		margin-bottom: 24px;
	}

	.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-rich-text h1 {
		font-size: 27px;
		line-height: 40px;
	}

	.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-rich-text {
		color: #2a3439;
		text-align: center;
	}

	.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-rich-text p strong {
		font-size: 22px;
		line-height: 20px;
	}

	/* The shared phone scale drops these to 22px via
	 * `.pb-heading h2.pb-heading__title`; live holds 30px at every
	 * width, so this needs the extra class to outrank it. */
	.page-id-215255 .pb-heading .pb-heading__title {
		font-size: 30px;
		line-height: 36px;
	}

	.page-id-215255 .pb-heading h4.pb-heading__title {
		font-size: 20px;
		line-height: 26px;
	}

	.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-button,
	.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-column:nth-child(2) .pb-button {
		font-size: 9.75px;
		line-height: 14.625px;
		padding: 4.5px 8.45px;
		border-radius: 19.5px;
	}

	/* Live's phone hero runs the whole "for more info" group white,
	 * including In-Home Trials, which is dark on desktop. */
	.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-column:nth-child(2) .pb-button,
	.page-id-215255 .pb-page > .pb-section:nth-child(2) .pb-column:nth-child(2) .pb-button:hover {
		background: #fff;
		color: #2a3439;
	}

	.page-id-215255 .pb-team__name {
		font-size: 13px;
		line-height: 17.2727px;
	}

	.page-id-215255 .pb-team__role {
		font-size: 13px;
		line-height: 20px;
	}
}


/* ------------------------------------------------------------------ */
/* Refurbished (263703)                                                */
/* ------------------------------------------------------------------ */
/* Category landing page. Compared against
 * https://medimart.com.au/refurbished/ at 1440px and 390px with
 * scripts/page-compare.mjs, 2026-10-08. Only the product grid is
 * touched, and every selector is under the page id.
 *
 * The block prints --pb-cols as an inline style on .pb-products__grid,
 * which no stylesheet rule can outrank, so the shared step down never
 * fired: the count was whatever the inline value said at every width,
 * and the grid went from two 354px cards at 767px straight to four
 * 152px cards at 768px. The count is set on the product itself, which
 * carries no inline style, so the queries apply again. Live's measured
 * counts are two across below 768px and four from 768px up (it reads
 * three at exactly 768px, a one-pixel boundary, and four from 769px).
 *
 * The row metrics are live's too. Live pulls its list 10px wider than
 * the container on each side with a negative margin, runs a 10px gutter
 * and pads each product 10px a side at every width; ours had no
 * negative margin, a 20px gutter and 20px of padding on phones, which
 * left the cards narrower than live's at the same screen (125px against
 * 158px at 390px, 160px against 186px at 1440px).
 */
.page-id-263703 .pb-products__grid ul.products {
	gap: 10px;
	margin-left: -10px;
	margin-right: -10px;
}

.page-id-263703 .pb-products__grid ul.products li.product {
	--pb-cols: 4;
	--pb-slider-gap: 10px;
	padding-left: 10px;
	padding-right: 10px;
}

@media (max-width: 767px) {
	.page-id-263703 .pb-products__grid ul.products li.product {
		--pb-cols: 2;
		--pb-item-width: calc((100% - var(--pb-slider-gap)) / 2);
	}
}

/*
 * The Refurbished badge is positioned against the product, whose
 * containing block is the item's padding box, so the item's 10px side
 * padding left it hanging 10px outside the image. Inset it to the
 * image's own left edge, which is where live sits it. The padding is
 * the same at every width, so one value covers both.
 */
.page-id-263703 .pb-products .woocommerce ul.products li.product span.medimart-badge--refurbished,
.page-id-263703 .pb-products ul.products li.product span.medimart-badge--refurbished {
	left: 10px;
	/*
	 * The badge's `bottom` is an inline style written by the card's
	 * script, recomputed from the image's height, which is why it holds
	 * its distance from the image at every width. Only `!important`
	 * could outrank it, so the gap is closed with a negative bottom
	 * margin instead: that shifts the positioned box down from wherever
	 * the script put it, and the badge still tracks the image. The
	 * script leaves 32px above the image's bottom edge; -22px brings
	 * that to the 10px asked for.
	 */
	margin-bottom: -22px;
}


/* ------------------------------------------------------------------ */
/* Beds (122127)                                                       */
/* ------------------------------------------------------------------ */
/* Product landing page: one spec card repeated per bed model, so the
 * rules below address the repeating shapes rather than section
 * positions. Six sections make up each model: the text-and-gallery row,
 * a full-width note, a row of four function icons, a row of four icon
 * labels, the Key Features / Inquire row, and a divider.
 * Matched to https://medimart.com.au/beds/ at 1440px and 390px with
 * scripts/page-compare.mjs, 2026-10-08. Every selector is under the
 * page id.
 *
 * `TXT` below means the copy column of a model's top row, which the
 * converter wrote as an equal two-column row with the gallery beside
 * it. */

/* Live runs that row as Bootstrap col-lg-7 + col-lg-5 with 10px of
 * column padding inside a row pulled 10px wider each side; the
 * converter reported "column widths 0.58/0.42 mapped to equal" eight
 * times and gave us 50/50. This restores live's ratio and its 657px
 * copy measure exactly. */
@media (min-width: 768px) {
	.page-id-122127 .pb-columns--2.pb-columns--equal:has(.pb-gallery) {
		grid-template-columns: 7fr 5fr;
		gap: 0;
		margin-left: -10px;
		margin-right: -10px;
	}

	.page-id-122127 .pb-columns--2.pb-columns--equal:has(.pb-gallery) > .pb-column {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* Eyebrow over each model name. */
.page-id-122127 .pb-columns--2:has(.pb-gallery) > .pb-column > .pb-rich-text:first-child p {
	font-size: 16.8px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #777;
}

/* The model name: live centres it over the copy column and runs it far
 * larger than the shared heading scale, at the same size on phones. */
.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading__title {
	font-size: 42px;
	font-weight: 700;
	line-height: 58px;
	text-align: left;
	color: #1b1e22;
	margin-bottom: 16px;
}

/* The description paragraph under the name. */
.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text {
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #777;
}

.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text p {
	margin-bottom: 10px;
}

/* Only the opening paragraph runs at that smaller size on live. Where a
 * model has a second paragraph ("1 bed, endless possibilities", "Advanced
 * electrical profiling...") live sets it like the brochure line below. */
.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text p:not(:first-child) {
	font-size: 16px;
	line-height: 22px;
	color: #7b858a;
	text-align: justify;
	margin-bottom: 20px;
}

/* The "Other Available Beds" list that closes the page. */
.page-id-122127 .pb-rich-text h1 + ul :is(li, a),
.page-id-122127 .pb-rich-text h1 ~ ul :is(li, a) {
	line-height: 22px;
	letter-spacing: 0.2px;
	text-align: justify;
}

/* The brochure line and the colour / attachment labels below it. */
.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text + .pb-rich-text {
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #7b858a;
	text-align: justify;
}

.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text + .pb-rich-text p {
	margin-bottom: 20px;
}

/* The label lines inside the copy: COLOUR CHOICES, AVAILABLE
 * ATTACHMENTS, KEY FUNCTIONS. Live sets all of them the same, and they
 * appear both in the copy column and in full-width rows. */
.page-id-122127 .pb-rich-text :is(h3, h4) {
	font-size: 16px;
	font-weight: 700;
	line-height: 32px;
	color: #000;
}

/*
 * The colour-choice lines carry their swatches inline, so the shared
 * label-row rule claims them. That rule is a `body:not(...)` chain
 * seven exclusions long, which no ordinary page selector can outrank,
 * so the chain is mirrored here with the page id added rather than
 * reaching for !important. Live runs these at 16px on a 32px line in
 * black against the shared 15px and 36px. The swatches themselves are
 * sized by the shared img rule's exclusion chain, above.
 */
body.page-id-122127:not(.page-id-77985):not(.page-id-72869):not(.page-id-66479):not(.page-id-77987):not(.page-id-66451):not(.page-id-73197):not(.page-id-73202) .pb-rich-text :is(h2, h3, h4):has(img) {
	font-size: 16px;
	line-height: 32px;
	color: #000;
}

body.page-id-122127:not(.page-id-77985):not(.page-id-72869):not(.page-id-66479):not(.page-id-77987):not(.page-id-66451):not(.page-id-73197):not(.page-id-73202) .pb-rich-text :is(h2, h3, h4):has(img) span {
	font-size: 14px;
	font-weight: 700;
	line-height: 32px;
	color: #000;
}

/* The attachment list: live's links are a brighter green than the
 * brochure link above them. */
.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-rich-text ul :is(li, a) {
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.2px;
	text-align: justify;
}

.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-rich-text ul li {
	margin-bottom: 0;
}

/*
 * Live's attachment links are mostly the brand green, inherited from the
 * theme. The brighter #34b33e comes from an inline colour the content
 * author set by hand, and it only ever sits on the Mattresses link and
 * on every link in the first model's list (ICare IC333, section 1). The
 * converter strips inline styles, so the split is rebuilt here.
 */
.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-rich-text ul a {
	color: #589f3c;
}

.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-rich-text ul a[href*="/mattresses/"],
.page-id-122127 .pb-page > .pb-section:nth-child(1) .pb-columns--2:has(.pb-gallery) .pb-rich-text ul a {
	color: #34b33e;
}

/* The last model, Aircomfort Deluxe Bed V2 (section 43), runs its list
 * at 16px rather than the 14px the other models use. Its links take the
 * brand green from the rule above, which is now the default. */
.page-id-122127 .pb-page > .pb-section:nth-child(43) .pb-rich-text ul :is(li, a) {
	font-size: 16px;
}

/* "Other Available Beds" is an h1 the converter left inside a rich
 * text block, not a Heading block. */
.page-id-122127 .pb-rich-text h1 {
	font-size: 36px;
	font-weight: 700;
	line-height: 44px;
	color: #000;
}

/* Labels under the function icons. Most models run four across, two
 * run three. */
.page-id-122127 :is(.pb-columns--4, .pb-columns--3) > .pb-column > .pb-rich-text {
	font-size: 12px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #000;
}

/*
 * Key Features and Inquire Now: live runs the whole row (both columns)
 * on a single #f7f7f7 band, 48px/8px of column padding standing in for
 * any gap between them, with the Inquire half a white card floating in
 * that 8px. Eight models repeat this row, all "pb-columns--3-1".
 */
.page-id-122127 .pb-columns--3-1 {
	background-color: #f7f7f7;
	column-gap: 0;
}

/*
 * The shared 3-1 ratio (75/25) is for other pages; live sets this row's
 * own column widths to 70/30 (798px/342px of a 1140px row), not
 * Bootstrap's default col-lg-9/col-lg-3 split. Widening the heading and
 * list column beyond 702px was what was reading as "the heading has
 * moved right": it hadn't moved, but the column box carrying it had
 * grown past live's measure, so the text wrapped wider than it should.
 */
@media (min-width: 768px) {
	.page-id-122127 .pb-columns--3-1 {
		grid-template-columns: 7fr 3fr;
	}
}

.page-id-122127 .pb-columns--3-1 > .pb-column:first-child {
	padding: 48px;
}

.page-id-122127 .pb-columns--3-1 > .pb-column:last-child {
	display: flex;
	padding: 8px;
}

.page-id-122127 .pb-columns--3-1 .pb-heading__title {
	font-size: 25px;
	font-weight: 700;
	line-height: 25px;
	color: #22262a;
	/* The divider sits 10px under the heading, not flush against it. */
	margin-bottom: 10px;
}

.page-id-122127 .pb-columns--3-1 .pb-rich-text {
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #7b858a;
	text-align: justify;
}

/* A hairline, not the shared divider's solid grey. */
.page-id-122127 .pb-columns--3-1 .pb-divider {
	border: 0;
	height: 1px;
	background: rgba(0, 0, 0, 0.06);
}

/*
 * The three feature lists run side by side under the divider, one <ul>
 * per column, each item carrying a small green chevron rather than a
 * bullet (live's Font Awesome fa-chevron-right, redrawn in CSS so the
 * page-blocks theme stays free of an icon font).
 */
.page-id-122127 .pb-columns--3-1 .pb-rich-text:has(> ul) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 20px;
	text-align: left;
}

.page-id-122127 .pb-columns--3-1 .pb-rich-text ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-id-122127 .pb-columns--3-1 .pb-rich-text ul li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 8px;
}

.page-id-122127 .pb-columns--3-1 .pb-rich-text ul li:last-child {
	margin-bottom: 0;
}

.page-id-122127 .pb-columns--3-1 .pb-rich-text ul li::before {
	content: '';
	position: absolute;
	left: 1px;
	top: 7px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #589f3c;
	border-right: 2px solid #589f3c;
	transform: rotate(45deg);
}

/* The Inquire column: a white card holding "INQUIRE NOW", the phone
 * number and the product link, centred in the 8px of grey padding. */
.page-id-122127 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text {
	background: #fff;
	width: 100%;
	padding: 48px 0;
	text-align: center;
}

.page-id-122127 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text p:first-child {
	font-size: 16px;
	font-weight: 600;
	line-height: 22px;
	letter-spacing: -1px;
	color: #7b858a;
	margin-bottom: 0;
	padding-right: 16px;
}

.page-id-122127 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text strong {
	font-size: 30px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.2px;
	color: #2bb436;
}

.page-id-122127 .pb-columns--3-1 .pb-rich-text a.btn {
	display: inline-block;
	font-size: 12.8px;
	font-weight: 700;
	line-height: 18.2857px;
	letter-spacing: 0.2px;
	color: #fff;
	background: #475157;
	border: 1px solid #475157;
	border-radius: 0;
	padding: 16px 48px;
}

@media (max-width: 767px) {
	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text {
		line-height: 20px;
	}

	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text p {
		margin-bottom: 8.125px;
	}

	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text + .pb-rich-text {
		font-size: 13px;
		line-height: 20px;
	}

	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text + .pb-rich-text p {
		margin-bottom: 16.25px;
	}

	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-rich-text ul :is(li, a),
	.page-id-122127 :is(.pb-columns--4, .pb-columns--3) > .pb-column > .pb-rich-text,
	.page-id-122127 .pb-columns--3-1 .pb-rich-text {
		line-height: 20px;
	}

	.page-id-122127 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text p:first-child {
		font-size: 13px;
		line-height: 20px;
	}

	.page-id-122127 .pb-columns--3-1 .pb-rich-text a.btn {
		font-size: 10.4px;
		line-height: 14.8571px;
		padding: 13px 39px;
	}

	/* The three feature lists stack, as Bootstrap's col-md-4 does below
	 * its 768px breakpoint, and every column/card padding scales by the
	 * same ~0.8125 this page uses elsewhere on phones. */
	.page-id-122127 .pb-columns--3-1 .pb-rich-text:has(> ul) {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 6.5px;
	}

	.page-id-122127 .pb-columns--3-1 .pb-rich-text ul li {
		padding-left: 13px;
		margin-bottom: 6.5px;
	}

	.page-id-122127 .pb-columns--3-1 > .pb-column:first-child {
		padding: 39px;
	}

	.page-id-122127 .pb-columns--3-1 > .pb-column:last-child {
		padding: 6.5px;
	}

	.page-id-122127 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text {
		padding: 39px 0;
	}

	.page-id-122127 .pb-rich-text h1 {
		font-size: 29.25px;
		line-height: 40px;
	}

	/* Live drops the justification on phones, as it does site-wide. */
	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text p:not(:first-child),
	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text + .pb-rich-text,
	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-rich-text ul :is(li, a),
	.page-id-122127 .pb-columns--3-1 .pb-rich-text,
	.page-id-122127 .pb-rich-text h1 ~ ul :is(li, a) {
		text-align: left;
	}

	.page-id-122127 .pb-rich-text h1 ~ ul :is(li, a) {
		font-size: 13px;
		line-height: 20px;
	}

	.page-id-122127 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text p:first-child {
		padding-right: 13px;
	}

	.page-id-122127 .pb-columns--2:has(.pb-gallery) .pb-heading + .pb-rich-text p:not(:first-child) {
		font-size: 13px;
		line-height: 20px;
		margin-bottom: 16.25px;
	}

	.page-id-122127 .pb-rich-text :is(h3, h4),
	body.page-id-122127:not(.page-id-77985):not(.page-id-72869):not(.page-id-66479):not(.page-id-77987):not(.page-id-66451):not(.page-id-73197):not(.page-id-73202) .pb-rich-text :is(h2, h3, h4):has(img) {
		line-height: 29.0909px;
	}
}

/* ================================================================== */
/* Mattresses (page 122434)                                           */
/*                                                                     */
/* Same WPBakery template as Beds (page-id-122127): a 657px copy       */
/* column (7:5 of a 1160px row) beside each model's photo/gallery, the */
/* same 70/30 Key Features + Inquire row, and the same Open Sans       */
/* type scale (16px/22px/0.2px body copy, 14px/22px links, 42px/58px   */
/* headings). Verified against https://medimart.com.au/mattresses/    */
/* at 1440px and 390px, 2026-10-08.                                   */
/* ================================================================== */

/*
 * The copy/photo column ratio: live runs this as Bootstrap col-lg-7 +
 * col-lg-5, each with 10px of its own column padding inside a row
 * pulled 10px wider each side -- a 677px/483px split of a 1160px row,
 * giving a 657px copy measure once that 20px of padding is taken out.
 * Same pattern as the Beds page (page-id-122127).
 */
@media (min-width: 768px) {
	.page-id-122434 .pb-columns--2.pb-columns--equal {
		grid-template-columns: 7fr 5fr;
		gap: 0;
		margin-left: -10px;
		margin-right: -10px;
	}

	.page-id-122434 .pb-columns--2.pb-columns--equal > .pb-column {
		padding-left: 10px;
		padding-right: 10px;
	}
}

/* Eyebrow label above each heading ("PREMIUM MATTRESS", "PREMIUM FOAM
 * MATTRESS", etc.) -- the first paragraph of the first rich-text block
 * in the copy column. Left-aligned and flush, unlike the justified body
 * copy below it. */
.page-id-122434 .pb-columns--2.pb-columns--equal > .pb-column:first-child > .pb-rich-text:first-child p {
	font-size: 16.8px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #777;
	text-align: left;
	margin-bottom: 0;
}

/* The product/page name. Deliberately left-aligned on desktop (live
 * centres it); matches live's own centring on phones. Same decision as
 * the Beds page headings, 2026-10-08. */
.page-id-122434 .pb-columns--2.pb-columns--equal .pb-heading__title {
	font-size: 42px;
	font-weight: 700;
	line-height: 58px;
	color: #1b1e22;
	margin-bottom: 16px;
}

@media (min-width: 768px) {
	.page-id-122434 .pb-columns--2.pb-columns--equal .pb-heading__title {
		text-align: left;
	}
}

@media (max-width: 767px) {
	.page-id-122434 .pb-columns--2.pb-columns--equal .pb-heading__title {
		text-align: center;
	}
}

/* The sub-heading under every model's name ("Available for purchase or
 * hire. Inquire now for more info."). */
.page-id-122434 .pb-columns--2.pb-columns--equal .pb-heading__sub {
	font-size: 21px;
	line-height: 38px;
	color: #787878;
	margin-bottom: 20px;
	text-align: center;
}

/* Body copy in the copy column: live runs paragraphs and the "video"
 * link at 16px/22px, not the shared 15px/24px, justified. The strong
 * labels (the model's own name repeated, intro sentences) and the
 * brochure PDF link both run a size smaller, at 14px. */
.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text,
.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text p,
.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text a {
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0.2px;
	text-align: justify;
}

.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text p {
	color: #7b858a;
	margin-bottom: 20px;
}

.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text strong,
.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text a[href$=".pdf"] {
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.2px;
	text-align: justify;
}

.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text strong {
	color: #7b858a;
	font-weight: 700;
}

/*
 * Size-option rows ("1900 x 900 / Single", "2030 x 1520 / Queen", the
 * lone "Queen Split"). Live runs all of these -- across what the
 * converter split into three separate blocks -- as one flex row of
 * 193px columns (173px content + 10px padding each side) that wraps
 * and never stretches to fill the 1140px container; the shared grid
 * stretches these to fill it. Pinning the track width and justifying
 * the grid to the start reproduces that without touching the shared
 * rule.
 *
 * live's own flexbox accumulates a few pixels of sub-pixel rounding
 * per column -- its "2030 x 1350" paragraph (3rd column of the second
 * row) measures 176px, 3px wider than its own 173px column -- enough
 * that the exact 173px here wraps that one line onto a third line.
 * Not chased further: it is one legacy content row, the dimensions
 * still read correctly, and widening every column to fix it shifts
 * the wrap point on three other, correctly-matching columns instead.
 */
@media (min-width: 768px) {
	.page-id-122434 .pb-columns--4.pb-columns--equal {
		grid-template-columns: repeat(4, 193px);
		justify-content: start;
		column-gap: 0;
	}

	.page-id-122434 .pb-columns--4.pb-columns--equal > .pb-column {
		padding: 0 10px;
	}

	/* "Queen Split" is the one left over after the wrap, live width
	 * 387px (two of the 193px tracks, no inner padding beyond its
	 * own). The shared .pb-columns--1.pb-columns--equal also wraps the
	 * plain dividers between models, so this is scoped to the row that
	 * actually carries a size label. */
	.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) {
		display: block;
	}

	.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) > .pb-column {
		max-width: 386px;
		padding: 0 10px;
	}
}

.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text,
.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text p,
.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text strong {
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0.2px;
	text-align: justify;
}

.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text,
.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text p,
.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text strong {
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0.2px;
	text-align: left;
}

.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text p,
.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text p {
	color: #7b858a;
	margin-bottom: 20px;
}

/* The last column of each row (Double, Queen) is the end of that
 * visual group on live, so it carries no bottom margin. */
.page-id-122434 .pb-columns--4.pb-columns--equal > .pb-column:last-child .pb-rich-text p {
	margin-bottom: 0;
}

.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text strong,
.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text strong {
	color: #000;
	font-weight: 700;
}

/* The lone Queen Split row has nothing after it in its own block, so
 * it carries no bottom margin on live. */
.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text p {
	margin-bottom: 0;
}

/*
 * Key Features and Inquire Now: identical row to the Beds page -- a
 * single #f7f7f7 band at 70/30 (798px/342px of a 1140px row), the
 * Inquire half a white card in 8px of padding. Values confirmed
 * identical against live, 2026-10-08.
 */
.page-id-122434 .pb-columns--3-1 {
	background-color: #f7f7f7;
	column-gap: 0;
}

@media (min-width: 768px) {
	.page-id-122434 .pb-columns--3-1 {
		grid-template-columns: 7fr 3fr;
	}
}

.page-id-122434 .pb-columns--3-1 > .pb-column:first-child {
	padding: 48px;
}

.page-id-122434 .pb-columns--3-1 > .pb-column:last-child {
	display: flex;
	padding: 8px;
}

.page-id-122434 .pb-columns--3-1 .pb-heading__title {
	font-size: 25px;
	font-weight: 700;
	line-height: 25px;
	color: #22262a;
	margin-bottom: 10px;
}

.page-id-122434 .pb-columns--3-1 .pb-rich-text {
	font-size: 14px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #7b858a;
	text-align: justify;
}

.page-id-122434 .pb-columns--3-1 .pb-divider {
	border: 0;
	height: 1px;
	background: rgba(0, 0, 0, 0.06);
}

.page-id-122434 .pb-columns--3-1 .pb-rich-text:has(> ul) {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	column-gap: 20px;
	text-align: left;
}

.page-id-122434 .pb-columns--3-1 .pb-rich-text ul {
	margin: 0;
	padding: 0;
	list-style: none;
}

.page-id-122434 .pb-columns--3-1 .pb-rich-text ul li {
	position: relative;
	padding-left: 16px;
	margin-bottom: 8px;
}

.page-id-122434 .pb-columns--3-1 .pb-rich-text ul li:last-child {
	margin-bottom: 0;
}

.page-id-122434 .pb-columns--3-1 .pb-rich-text ul li::before {
	content: '';
	position: absolute;
	left: 1px;
	top: 7px;
	width: 6px;
	height: 6px;
	border-top: 2px solid #589f3c;
	border-right: 2px solid #589f3c;
	transform: rotate(45deg);
}

.page-id-122434 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text {
	background: #fff;
	width: 100%;
	padding: 48px 0;
	text-align: center;
}

.page-id-122434 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text p:first-child {
	font-size: 16px;
	font-weight: 600;
	line-height: 22px;
	letter-spacing: -1px;
	color: #7b858a;
	margin-bottom: 0;
	padding-right: 16px;
}

.page-id-122434 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text strong {
	font-size: 30px;
	font-weight: 700;
	line-height: 30px;
	letter-spacing: 0.2px;
	color: #2bb436;
}

.page-id-122434 .pb-columns--3-1 .pb-rich-text a.btn {
	display: inline-block;
	font-size: 12.8px;
	font-weight: 700;
	line-height: 18.2857px;
	letter-spacing: 0.2px;
	color: #fff;
	background: #475157;
	border: 1px solid #475157;
	border-radius: 0;
	padding: 16px 48px;
}

/*
 * Size-option swatch icons: live floats these beside the size label;
 * the shared rich-text image rule doesn't float them at all, so each
 * one drops onto its own line above the text instead of sitting next
 * to it.
 */
.page-id-122434 .pb-rich-text img.alignleft {
	float: left;
	margin: 4px 24px 7px 0;
}

/* Bottom "Other mattresses" list: live gives the <ul> itself 32px of
 * left padding (not the shared 1.4em/22.4px) and no bottom margin on
 * its <li>s. */
.page-id-122434 .pb-columns--1:not(.pb-columns--equal) .pb-rich-text ul {
	padding-left: 32px;
}

.page-id-122434 .pb-columns--1:not(.pb-columns--equal) .pb-rich-text li {
	margin-bottom: 0;
}

.page-id-122434 .pb-columns--1:not(.pb-columns--equal) .pb-rich-text ul :is(li, a) {
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0.2px;
	text-align: justify;
}

@media (max-width: 767px) {
	.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text,
	.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text p,
	.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text a,
	.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text,
	.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text p,
	.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text strong,
	.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text,
	.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text p,
	.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text strong,
	.page-id-122434 .pb-columns--1:not(.pb-columns--equal) .pb-rich-text ul :is(li, a) {
		font-size: 13px;
		line-height: 20px;
		text-align: left;
	}

	/* The strong labels and the brochure PDF link in the main copy
	 * column don't scale down on phones; they hold their 14px, only
	 * dropping the line-height and the justification. The "video" link
	 * (not a PDF) scales with the paragraph, in the list above. */
	.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text strong,
	.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text a[href$=".pdf"] {
		font-size: 14px;
		line-height: 20px;
		text-align: left;
	}

	.page-id-122434 .pb-columns--2.pb-columns--equal .pb-rich-text p,
	.page-id-122434 .pb-columns--4.pb-columns--equal .pb-rich-text p,
	.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text p {
		margin-bottom: 16.25px;
	}

	.page-id-122434 .pb-columns--1.pb-columns--equal:has(strong) .pb-rich-text p,
	.page-id-122434 .pb-columns--4.pb-columns--equal > .pb-column:last-child .pb-rich-text p {
		margin-bottom: 0;
	}

	.page-id-122434 .pb-columns--1:not(.pb-columns--equal) .pb-rich-text ul {
		padding-left: 26px;
	}

	.page-id-122434 .pb-columns--3-1 .pb-rich-text {
		line-height: 20px;
		text-align: left;
	}

	.page-id-122434 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text p:first-child {
		font-size: 13px;
		line-height: 20px;
		padding-right: 13px;
	}

	.page-id-122434 .pb-columns--3-1 .pb-rich-text a.btn {
		font-size: 10.4px;
		line-height: 14.8571px;
		padding: 13px 39px;
	}

	.page-id-122434 .pb-columns--3-1 > .pb-column:first-child {
		padding: 39px;
	}

	.page-id-122434 .pb-columns--3-1 > .pb-column:last-child {
		padding: 6.5px;
	}

	.page-id-122434 .pb-columns--3-1 > .pb-column:last-child .pb-rich-text {
		padding: 39px 0;
	}

	.page-id-122434 .pb-columns--3-1 .pb-rich-text:has(> ul) {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 6.5px;
	}

	.page-id-122434 .pb-columns--3-1 .pb-rich-text ul li {
		padding-left: 13px;
		margin-bottom: 6.5px;
	}
}

/* ------------------------------------------------------------------ */
/* Facility Fit-outs (page 230001)                                     */
/* ------------------------------------------------------------------ */

/* Sections by position (the mapper's order): 1 hero, 2 How We Can Help /
 * Contact Us buttons, 3 Know What You Need, 4 intro strong line,
 * 6 Transforming Environments / Tailored Solutions, 7 How We Can Help
 * heading, 8 Hire / In-Store Trials row, 10 Service & Maintenance row,
 * 11 Book a Free Consultation, Meet Our Fit-Outs Specialists, team,
 * Not sure where to start, 12 Who We Work With, 14 Why Choose (dark
 * band), 15 / 16 Trusted by.. / Integrated services.. rows, 18 Explore
 * Our Common Hire Items, the product sliders and Creating Safer heading,
 * 19 / 20 Ramps.. / Weight Bearing.. rows. Same template as Patient
 * Discharge (223510): live sets these section headings in Oswald 600 on
 * a 48px line, not the shared Open Sans scale. */
.page-id-230001 .pb-heading--hero .pb-heading__title {
	font-family: Oswald, sans-serif;
	font-weight: 600;
	font-size: 40px;
	line-height: 48px;
	text-transform: none;
	margin-bottom: 48px;
}

/* The hero keeps its own larger, uppercase size. */
.page-id-230001 .pb-page > .pb-section:nth-child(1) .pb-heading__title {
	font-size: 56px;
	line-height: 67.2px;
	text-transform: uppercase;
}

/* The two-line hero headings (a title with a lighter subtitle pulled up
 * under it): "Transforming Environments / Tailored Solutions" and "Meet
 * Our Fit-Outs Specialists / Not sure where to start?". */
.page-id-230001 .pb-page > .pb-section:is(:nth-child(6), :nth-child(11)) .pb-heading--hero + .pb-heading--hero .pb-heading__title {
	font-weight: 400;
	margin-top: -30px;
}

.page-id-230001 .pb-page > .pb-section:nth-child(6) .pb-heading__title,
.page-id-230001 .pb-page > .pb-section:nth-child(7) .pb-heading__title,
.page-id-230001 .pb-page > .pb-section:nth-child(11) .pb-heading__title {
	background-color: #fff;
}

.page-id-230001 .pb-page > .pb-section:nth-child(6) .pb-heading__title { color: #2a3439; }
.page-id-230001 .pb-page > .pb-section:nth-child(7) .pb-heading__title { color: #23272b; }
/* nth-child(11) has a button row before the two headings, so the first
 * heading isn't the column's :first-of-type div; set both, then
 * re-override the second (adjacent-sibling) one. */
.page-id-230001 .pb-page > .pb-section:nth-child(11) .pb-heading__title { color: #23272b; }
.page-id-230001 .pb-page > .pb-section:nth-child(11) .pb-heading--hero + .pb-heading--hero .pb-heading__title { color: #2a3439; }
.page-id-230001 .pb-page > .pb-section:nth-child(12) .pb-heading__title { color: #23272b; }

@media (min-width: 768px) {
	.page-id-230001 .pb-page > .pb-section:nth-child(12) .pb-heading__title { width: 560px; }
}
.page-id-230001 .pb-page > .pb-section:nth-child(14) .pb-heading__title { color: #f0f5f7; }
.page-id-230001 .pb-page > .pb-section:nth-child(18) .pb-heading__title { color: #23272b; margin-top: 50px; }

@media (max-width: 767px) {
	.page-id-230001 .pb-heading--hero .pb-heading__title { margin-bottom: 39px; }
	.page-id-230001 .pb-page > .pb-section:nth-child(1) .pb-heading__title { font-size: 40px; font-weight: 700; line-height: 48px; margin-bottom: 32px; }
}

/* Buttons: live lays these out as plain centred inline-block pills, not
 * a flex row (a flex item's inline-block is "blockified" to block, which
 * is why the shared .pb-buttons flex wrapper reads as the wrong display
 * even once the button itself is set to inline-block). */
.page-id-230001 .pb-buttons {
	display: block;
	text-align: center;
}

/* Buttons: live's 200px pale pills (dark on the secondary CTA), 1px
 * border, regular weight, as live, not the shared bold flex pill. */
.page-id-230001 .pb-button {
	display: inline-block;
	align-items: normal;
	justify-content: normal;
	width: 200px;
	padding: 8px 14px;
	border-width: 1px;
	border-radius: 28px;
	font-weight: 400;
	line-height: 18.6662px;
	letter-spacing: 0.2px;
	gap: normal;
	min-height: 0;
}

.page-id-230001 .pb-button--light {
	background-color: #f0f5f7;
	border-color: #fff;
	color: #00529a;
}

.page-id-230001 .pb-button--secondary {
	background-color: #23272b;
	border-color: rgba(255, 255, 255, 0);
}

/* Call Us Now / Visit Your Nearest Store: live pads these 10px all
 * round, with a faint hairline border on the first. */
.page-id-230001 .pb-page > .pb-section:nth-child(3) .pb-button { padding: 10px; }
.page-id-230001 .pb-page > .pb-section:nth-child(3) .pb-buttons:not(.pb-buttons ~ .pb-buttons) .pb-button { border-color: rgba(0, 0, 0, 0.08); }

/* How We Can Help / Contact Us: both buttons sit in one .pb-buttons
 * block, flush against each other once the block was switched from a
 * flex row to block layout (display: block drops the flex gap). Live's
 * gap is 20px, same whether the pair sits side by side (desktop) or
 * wraps to two lines (phone). */
.page-id-230001 .pb-page > .pb-section:nth-child(2) .pb-button:not(:last-child) {
	margin-right: 20px;
	margin-bottom: 20px;
}

/* Call Us Now / Visit Your Nearest Store sit in separate .pb-buttons
 * blocks with a Spacer block between them; live's actual gap is 10px
 * (8px on phones), not the spacer's default 16px. */
.page-id-230001 .pb-page > .pb-section:nth-child(3) .pb-spacer--s { height: 10px; }

@media (max-width: 767px) {
	.page-id-230001 .pb-button {
		max-width: none;
		border-radius: 22.75px;
		padding: 6.5px 11.375px;
		line-height: 15.1663px;
	}

	.page-id-230001 .pb-page > .pb-section:nth-child(3) .pb-button { padding: 10px; }

	/* The second button in the hero's "How We Can Help / Contact Us"
	 * pair gets a dark hairline border on a phone, as live. */
	.page-id-230001 .pb-page > .pb-section:nth-child(2) .pb-button + .pb-button { border-color: #475157; }

	.page-id-230001 .pb-page > .pb-section:nth-child(3) .pb-spacer--s { height: 8px; }
}

/* Intro strong line under the hero buttons. */
.page-id-230001 .pb-page > .pb-section:nth-child(4) .pb-rich-text strong { line-height: 22px; letter-spacing: 0.2px; }

@media (max-width: 767px) {
	.page-id-230001 .pb-page > .pb-section:nth-child(4) .pb-rich-text strong { font-size: 13px; line-height: 20px; }
}

/* Hire / In-Store Trials and Service & Maintenance rows: live's copy
 * runs 22px (20px on phones) with 0.2px tracking; the first row's text
 * is #333, the second (Service & Maintenance / Patient Discharge) is
 * #000, as live. */
.page-id-230001 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10)) .pb-rich-text :is(em, a) { line-height: 22px; letter-spacing: 0.2px; }
.page-id-230001 .pb-page > .pb-section:nth-child(8) .pb-rich-text em { color: #333; }
.page-id-230001 .pb-page > .pb-section:nth-child(10) .pb-rich-text em { color: #000; }

@media (max-width: 767px) {
	.page-id-230001 .pb-page > .pb-section:is(:nth-child(8), :nth-child(10)) .pb-rich-text :is(em, a) { font-size: 13px; line-height: 20px; }
}

/* Why Choose (dark band): live's four bold labels run 20px/22px (20px
 * on phones), 0.2px tracking, in the band's pale text colour. */
.page-id-230001 .pb-page > .pb-section:is(:nth-child(15), :nth-child(16)) .pb-rich-text strong {
	font-size: 20px;
	letter-spacing: 0.2px;
	color: #f0f5f7;
}

@media (min-width: 768px) {
	.page-id-230001 .pb-page > .pb-section:is(:nth-child(15), :nth-child(16)) .pb-rich-text strong { line-height: 22px; }
}

@media (max-width: 767px) {
	.page-id-230001 .pb-page > .pb-section:is(:nth-child(15), :nth-child(16)) .pb-rich-text strong { line-height: 20px; }
}

/* Ramps.. / Weight Bearing.. / Ceiling Fans.. / Quick Turnaround.. rows:
 * live left-aligns these labels (not the shared centred rich text) at
 * 20px black, 0.2px tracking. */
.page-id-230001 .pb-page > .pb-section:is(:nth-child(19), :nth-child(20), :nth-child(21), :nth-child(22)) .pb-rich-text { text-align: left; }
.page-id-230001 .pb-page > .pb-section:is(:nth-child(19), :nth-child(20), :nth-child(21), :nth-child(22)) .pb-rich-text strong {
	font-size: 20px;
	letter-spacing: 0.2px;
	color: #000;
}

@media (min-width: 768px) {
	.page-id-230001 .pb-page > .pb-section:is(:nth-child(19), :nth-child(20), :nth-child(21), :nth-child(22)) .pb-rich-text strong { line-height: 22px; }
}

@media (max-width: 767px) {
	.page-id-230001 .pb-page > .pb-section:is(:nth-child(19), :nth-child(20), :nth-child(21), :nth-child(22)) .pb-rich-text strong { line-height: 20px; }
}

/* Weight Bearing.. row (20) only fills 3 of the 4 equal tracks the
 * block's columns--4 template reserves, so each card sits in a quarter
 * instead of a third and wraps its label early; live's row is a true
 * 3-up. */
@media (min-width: 992px) {
	.page-id-230001 .pb-page > .pb-section:nth-child(20) .pb-columns--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* Get in Touch band (section 24): live sets this hero/phone pair in PT
 * Sans, not the Oswald section scale, in its own dark grey. */
.page-id-230001 .pb-page > .pb-section:nth-child(24) .pb-heading--hero .pb-heading__title {
	font-family: "PT Sans", sans-serif;
	font-size: 45px;
	font-weight: 700;
	color: #3c3d41;
	margin-bottom: 32px;
}

.page-id-230001 .pb-page > .pb-section:nth-child(24) .pb-heading--default .pb-heading__title {
	font-size: 20px;
	font-weight: 800;
	color: #3c3d41;
	margin-bottom: 32px;
}

@media (min-width: 768px) {
	.page-id-230001 .pb-page > .pb-section:nth-child(24) .pb-heading--hero .pb-heading__title { line-height: 44px; }
	.page-id-230001 .pb-page > .pb-section:nth-child(24) .pb-heading--default .pb-heading__title { line-height: 42px; }
}

@media (max-width: 767px) {
	.page-id-230001 .pb-page > .pb-section:nth-child(24) .pb-heading--hero .pb-heading__title { line-height: 40px; }
	.page-id-230001 .pb-page > .pb-section:nth-child(24) .pb-heading--default .pb-heading__title { line-height: 40px; }
}

/* Get in Touch form (section 25, Gravity Forms): live's field labels run
 * bold PT-Sans-era dark grey with 10px under them; the name field's
 * "First" / "Last" sub-labels stay the lighter rich-text grey. */
.page-id-230001 .pb-page > .pb-section:nth-child(25) .gform-field-label:not(.gform-field-label--type-sub) {
	font-weight: 700;
	line-height: 23.8px;
	letter-spacing: 0.2px;
	color: #3c3d41;
	padding-bottom: 10px;
}

.page-id-230001 .pb-page > .pb-section:nth-child(25) .gform-field-label--type-sub {
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #7b858a;
}

@media (max-width: 767px) {
	.page-id-230001 .pb-page > .pb-section:nth-child(25) .gform-field-label--type-sub {
		font-size: 13px;
		line-height: 20px;
	}
}

/* Hero and "Know What You Need?": both headings are already written in
 * caps, but live still sets text-transform explicitly (and gives the
 * heading box its own min-height so the band under it doesn't creep up
 * on a short line). */
.page-id-230001 .pb-page > .pb-section:nth-child(1) .pb-heading__title { min-height: 56px; }
.page-id-230001 .pb-page > .pb-section:nth-child(3) .pb-heading__title { text-transform: uppercase; min-height: 40px; }

@media (max-width: 767px) {
	.page-id-230001 .pb-page > .pb-section:nth-child(1) .pb-heading__title { min-height: 40px; }
}

/* Team: live sets the name as an inline, lighter-weight run under the
 * photo, not a bold block heading. */
.page-id-230001 .pb-team__name {
	display: inline;
	width: auto;
	height: auto;
	font-size: 16px;
	font-weight: 300;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #7b858a;
}

@media (min-width: 768px) {
	.page-id-230001 .pb-team__name { text-align: justify; }
}

@media (max-width: 767px) {
	.page-id-230001 .pb-team__name {
		text-align: start;
		font-size: 13px;
		line-height: 20px;
	}
}

/* Fabric Range: section headings ("Fabric", "Get in Touch", "Promo" and
 * the four range names) are Oswald on live, not the default Open Sans.
 * Formatting tidy-up 2026-10-13 (Ari, approved deviations from live):
 * body copy is left-aligned, never justified, and every heading/text/
 * image row falls back to the shared page-blocks gap between column
 * children (`.pb-column > * + *`, 20px) instead of live's own tight
 * and inconsistent per-heading margins. Fonts and colours stay live's. */
.page-id-127588 .pb-heading:not(.pb-heading--hero) .pb-heading__title {
	font-family: Oswald, sans-serif;
	color: #24282c;
}

/* "Fabric" under "Our Ranges", and the four range-name headings, are a
 * size down (25px) from the section heading above them (30px). */
.page-id-127588 .pb-section--pad-m .pb-column:first-child .pb-heading--default ~ .pb-heading--default .pb-heading__title,
.page-id-127588 .pb-section--implicit ~ .pb-section--implicit .pb-heading--default .pb-heading__title {
	font-size: 25px;
}

/* The hero title keeps clear air above the body copy, as the other
 * info-style pages do (see "Info pages" above). */
.page-id-127588 .pb-heading--hero .pb-heading__title { margin-bottom: 48px; }

/* "Get in Touch" is centred under its buttons on a phone. */
@media (max-width: 767px) {
	.page-id-127588 .pb-section--pad-m .pb-column:last-child .pb-heading--default .pb-heading__title {
		text-align: center;
	}
}

.page-id-127588 .pb-rich-text p {
	text-align: left;
	letter-spacing: 0.2px;
	line-height: 22px;
	margin-bottom: 20px;
}

/* The last paragraph in a text block carries no trailing margin. */
.page-id-127588 .pb-rich-text > p:last-child { margin-bottom: 0; }

@media (max-width: 767px) {
	.page-id-127588 .pb-heading--hero .pb-heading__title { margin-bottom: 39px; }
	.page-id-127588 .pb-rich-text p { font-size: 13px; line-height: 20px; }
}


/* ------------------------------------------------------------------ */
/* Bariatric Products (203417)                                        */
/* ------------------------------------------------------------------ */
/*
 * The category grids came through the mapper as `inset-wrap` sections
 * (the live rows were `wrap_container="yes"`), which insets the content
 * 150px a side from 1440px and 50px from 890px: a 1140px column shrunk
 * to 840px. That inset is meant for a narrow block like a text column or
 * slider, not a product grid, and left the cards squeezed into under a
 * third of the page at 1440px. Dropping it back to the section's own
 * 1140px column gives the grid the same width and card size as every
 * other product grid on the site, 4 across on desktop (already 2 across
 * under 768px via the shared rule). Every selector is under the page id.
 */
@media (min-width: 890px) {
	.page-id-203417 .pb-section--inset-wrap > .pb-section__inner > .pb-columns {
		padding-left: 0;
		padding-right: 0;
	}
}

@media (min-width: 1440px) {
	.page-id-203417 .pb-section--inset-wrap > .pb-section__inner > .pb-columns {
		padding-left: 0;
		padding-right: 0;
	}
}


/* ------------------------------------------------------------------ */
/* Business Portal Login (199359)                                     */
/* ------------------------------------------------------------------ */
/*
 * Matched to live's computed styles at 1440px and 390px (2026-10-14).
 * Every selector is under the page id. Sections: 1 the title, 2 the
 * embedded My Account with the Need Help? sidebar, 3 the three icon
 * columns.
 */

/* Title: 35px under the header, 10px (8px on phones) to the account and
 * sidebar below, as live's 15px row margin and 10px heading margin. */
.page-id-199359 .pb-page > .pb-section:nth-child(1) { padding-top: 35px; padding-bottom: 0; }
.page-id-199359 .pb-page > .pb-section:nth-child(2) { padding-top: 10px; }

@media (max-width: 767px) {
	.page-id-199359 .pb-page > .pb-section:nth-child(2) { padding-top: 8px; }
}

/*
 * The embedded [woocommerce_my_account]. account.css lays the logged-in
 * account out as a grid on `.entry-content > .woocommerce`; here the
 * shortcode sits in a page-blocks embed (`.pb-embed > .woocommerce`), so
 * the grid never applied and the menu ran full width above the
 * dashboard. The same grid, keyed to the embed: menu a quarter of the
 * column on the left, section beside it, stacked under 992px. The
 * login form (logged out) keeps WooCommerce's layout.
 */
.page-id-199359.logged-in .pb-embed > .woocommerce {
	display: grid;
	grid-template-columns: 25% minmax(0, 1fr);
	align-items: start;
	font-family: "Open Sans", sans-serif;
	color: #7b858a;
}

.page-id-199359.logged-in .pb-embed > .woocommerce > * { grid-column: 1 / -1; }
.page-id-199359.logged-in .pb-embed > .woocommerce > .woocommerce-MyAccount-navigation { grid-column: 1; }
.page-id-199359.logged-in .pb-embed > .woocommerce > .woocommerce-MyAccount-content { grid-column: 2; }

@media (max-width: 991px) {
	.page-id-199359.logged-in .pb-embed > .woocommerce { grid-template-columns: minmax(0, 1fr); }

	.page-id-199359.logged-in .pb-embed > .woocommerce > .woocommerce-MyAccount-navigation,
	.page-id-199359.logged-in .pb-embed > .woocommerce > .woocommerce-MyAccount-content { grid-column: 1; }
}

/* Need Help? sidebar: starts 12px (5px on phones) further in, as live's
 * column padding. */
.page-id-199359 .pb-columns--3-1 > .pb-column:last-child { padding-left: 12px; }

@media (max-width: 767px) {
	.page-id-199359 .pb-columns--3-1 > .pb-column:last-child { padding-left: 5px; }
}

/* Heading: 26px Oswald 700 black on a 42px line (40px on phones), with
 * live's 50x5 #008000 bar pulled up into the line box 8px (12px on
 * phones) and 18px clear above the buttons. */
.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-heading__title {
	font-family: Oswald, sans-serif;
	font-size: 26px;
	font-weight: 700;
	line-height: 42px;
	color: #000;
}

.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-heading--accent .pb-heading__title::after {
	height: 5px;
	margin-top: -8px;
	background-color: #008000;
}

.page-id-199359 .pb-columns--3-1 > .pb-column:last-child > .pb-heading + .pb-buttons { margin-top: 18px; }

@media (max-width: 767px) {
	.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-heading__title { line-height: 40px; }
	.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-heading--accent .pb-heading__title::after { margin-top: -12px; }
}

/* Live's btn-modern pills, stacked 22px apart: slate in the sidebar,
 * green under the icon columns (Customer Support's included; it came
 * through as a light button), uppercase with a trailing icon. Live's
 * Font Awesome glyphs are drawn here as masks, 7px after the label. */
.page-id-199359 .pb-columns--3-1 > .pb-column:last-child > .pb-buttons {
	flex-direction: column;
	align-items: flex-start;
	gap: 22px;
}

.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-button,
.page-id-199359 .pb-columns--3 .pb-button {
	gap: 7px;
	padding: 12px 24px;
	border-width: 1px;
	border-radius: 24px;
	font-size: 12px;
	font-weight: 600;
	line-height: 17.14px;
	letter-spacing: 0.2px;
	text-transform: uppercase;
	color: #fff;
}

.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-button {
	border-color: #475157;
	background-color: #475157;
}

.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-button:hover {
	border-color: #5e6c74;
	background-color: #58646b;
	color: #fff;
}

.page-id-199359 .pb-columns--3 .pb-button {
	padding: 11.2px 22.4px;
	border-color: var(--pb-green);
	border-radius: 22.4px;
	background-color: var(--pb-green);
	font-size: 11.2px;
	line-height: 16.8px;
}

.page-id-199359 .pb-columns--3 .pb-button:hover {
	border-color: var(--pb-green-dark);
	background-color: var(--pb-green-dark);
	color: #fff;
}

.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-button::after,
.page-id-199359 .pb-columns--3 .pb-button::after {
	content: "";
	flex: 0 0 auto;
	width: 0.625em;
	height: 1em;
	background-color: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 320 512'%3E%3Cpath d='M310.6 233.4c12.5 12.5 12.5 32.8 0 45.3l-192 192c-12.5 12.5-32.8 12.5-45.3 0s-12.5-32.8 0-45.3L242.7 256 73.4 86.6c-12.5-12.5-12.5-32.8 0-45.3s32.8-12.5 45.3 0l192 192z'/%3E%3C/svg%3E") center / contain no-repeat;
}

.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-button[href^="tel:"]::after {
	width: 1em;
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-1.9-46.3 11.8L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M164.9 24.6c-7.7-18.6-28-28.5-47.4-23.2l-88 24C12.1 30.2 0 46 0 64C0 311.4 200.6 512 448 512c18 0 33.8-12.1 38.6-29.5l24-88c5.3-19.4-4.6-39.7-23.2-47.4l-96-40c-16.3-6.8-35.2-1.9-46.3 11.8L304.7 368C234.3 334.7 177.3 277.7 144 207.3L193.3 167c13.7-11.2 18.4-30 11.6-46.3l-40-96z'/%3E%3C/svg%3E");
}

@media (max-width: 767px) {
	.page-id-199359 .pb-columns--3-1 > .pb-column:last-child .pb-button {
		padding: 9.75px 19.5px;
		border-radius: 19.5px;
		font-size: 9.75px;
		line-height: 13.93px;
	}

	.page-id-199359 .pb-columns--3 .pb-button {
		padding: 9.1px 18.2px;
		border-radius: 18.2px;
		font-size: 9.1px;
		line-height: 13.65px;
	}
}

/*
 * Icon columns: live's three 1/3 columns butt together (no gutter) across
 * the row's full 1160px, padded 5px 20px 5px 15px / 20px / 20px 15px, with
 * a faint solid #f4f4f4 rule right of the first and left of the third
 * (kept on phones, as live), instead of the shared dashed divider.
 */
.page-id-199359 .pb-columns--3 {
	column-gap: 0;
	margin-left: -10px;
	margin-right: -10px;
}

.page-id-199359 .pb-columns--3.pb-columns--divided > .pb-column {
	padding: 5px 20px;
	border: 0;
}

.page-id-199359 .pb-columns--3.pb-columns--divided > .pb-column:first-child {
	padding-left: 15px;
	border-right: 1px solid #f4f4f4;
}

.page-id-199359 .pb-columns--3.pb-columns--divided > .pb-column:last-child {
	padding-right: 15px;
	border-left: 1px solid #f4f4f4;
}

/* Left-aligned: a 60px circle with a 30px glyph, 35px to the title, the
 * title and copy as one 16px #7b858a paragraph (13px on a 20px line on
 * phones), justified on desktop, and 35px to the button. */
.page-id-199359 .pb-columns--3 .pb-icon-box {
	align-items: flex-start;
	gap: 35px;
	text-align: left;
}

.page-id-199359 .pb-columns--3 .pb-icon-box__icon {
	width: 60px;
	height: 60px;
	background-color: #61a634;
}

.page-id-199359 .pb-columns--3 .pb-icon-box__icon svg {
	width: 30px;
	height: 30px;
}

.page-id-199359 .pb-columns--3 .pb-icon-box__body { align-self: stretch; }

.page-id-199359 .pb-columns--3 :is(.pb-icon-box__title, .pb-icon-box__text) {
	margin-top: 0;
	font-size: 16px;
	line-height: 22px;
	letter-spacing: 0.2px;
	color: #7b858a;
}

.page-id-199359 .pb-columns--3 .pb-icon-box__text {
	font-weight: 400;
	text-align: justify;
}

.page-id-199359 .pb-columns--3 .pb-column > .pb-icon-boxes + .pb-buttons { margin-top: 35px; }

/* Phones: live stacks the columns with no gap between them, each button
 * keeping its 22px margin, and 107px from the sidebar's last button to
 * the first icon. */
@media (max-width: 767px) {
	.page-id-199359 .pb-page > .pb-section:nth-child(3) { padding-top: 74px; }
	.page-id-199359 .pb-columns--3 { row-gap: 0; }
	.page-id-199359 .pb-columns--3 > .pb-column:not(:last-child) > .pb-buttons { margin-bottom: 22px; }

	.page-id-199359 .pb-columns--3 :is(.pb-icon-box__title, .pb-icon-box__text) {
		font-size: 13px;
		line-height: 20px;
	}

	.page-id-199359 .pb-columns--3 .pb-icon-box__text { text-align: start; }
}

/* ------------------------------------------------------------------ */
/* Win a Full Refund (250138), Black Friday 2026                       */
/* ------------------------------------------------------------------ */

/* The page's own campaign design, scoped here because it is one
 * promotion's look, not the site's. Started from the WPBakery inline
 * styles the mapper strips (Roboto, #589f3c, white 12px cards) and
 * refined 2026-10-29 at Ari's request: a hero card, numbered steps, one
 * details strip, a call-to-action box and a tidier T&C card. Sections by
 * position, as the mapper writes them: 1 hero, 2 promo body, 3 T&C
 * title, 4 T&C columns. docs/architecture.md, "Win a Full Refund
 * additions". */
.page-id-250138 .pb-page {
	--wfr-green: #589f3c;
	--wfr-green-dark: #4f8f36;
	--wfr-green-tint: rgba(88, 159, 60, 0.08);
	--wfr-ink: #010101;
	--wfr-body: rgba(1, 1, 1, 0.65);
	--wfr-line: rgba(1, 1, 1, 0.08);
	--wfr-shadow: 0 1px 2px rgba(1, 1, 1, 0.04), 0 8px 24px rgba(1, 1, 1, 0.06);
}
.page-id-250138 .pb-page,
.page-id-250138 .pb-page :is(h1, h2, h3, h4, p, li, strong, span, a) { font-family: "Roboto", sans-serif; }
.page-id-250138 .pb-page > .pb-section { background-color: #f7f7f7; padding-top: 0; padding-bottom: 0; }
.page-id-250138 .pb-page > .pb-section:nth-child(1) { padding-top: 48px; padding-bottom: 56px; }
.page-id-250138 .pb-page > .pb-section:nth-child(2) { padding-bottom: 64px; }
.page-id-250138 .pb-page > .pb-section:nth-child(4) { padding-bottom: 72px; }
.page-id-250138 .pb-column > * + * { margin-top: 0; }
.page-id-250138 .pb-rich-text { color: var(--wfr-body); }
.page-id-250138 .pb-rich-text :is(h1, h2, h3, h4) { color: var(--wfr-ink); text-transform: none; letter-spacing: normal; }
.page-id-250138 .pb-rich-text p { margin: 0; text-wrap: pretty; }
.page-id-250138 .pb-rich-text :is(h1, h2) { text-wrap: balance; }

/* 1. Hero: one white card, copy and dates left, artwork right. */
.page-id-250138 .pb-page > .pb-section:nth-child(1) .pb-columns {
	gap: 24px;
	padding: 40px;
	border-radius: 20px;
	background-color: #fff;
	box-shadow: var(--wfr-shadow);
}
@media (min-width: 768px) {
	.page-id-250138 .pb-page > .pb-section:nth-child(1) .pb-columns { grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: 40px; padding: 48px; }
}
.page-id-250138 .pb-rich-text h1 { margin: 0 0 16px; font-size: 44px; font-weight: 700; line-height: 1.1; letter-spacing: -0.5px; }
.page-id-250138 .pb-page > .pb-section:nth-child(1) .pb-rich-text:first-child { margin-bottom: 28px; }
.page-id-250138 .pb-page > .pb-section:nth-child(1) .pb-rich-text:first-child p { font-size: 18px; line-height: 1.55; }
.page-id-250138 .pb-page > .pb-section:nth-child(1) .pb-image img { width: 100%; height: auto; }

/* Dates panel: green gradient, the two times split by a rule. */
.page-id-250138 .pb-rich-text--panel {
	position: relative;
	overflow: hidden;
	padding: 28px 32px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--wfr-green) 0%, var(--wfr-green-dark) 100%);
	box-shadow: 0 10px 24px rgba(88, 159, 60, 0.28);
}
.page-id-250138 .pb-rich-text--panel::after {
	content: "";
	position: absolute;
	top: -60px;
	right: -60px;
	width: 180px;
	height: 180px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.08);
	pointer-events: none;
}
.page-id-250138 .pb-rich-text--panel p { position: relative; margin: 0; font-size: 15px; line-height: 1.5; color: #fff; opacity: 0.85; }
.page-id-250138 .pb-rich-text--panel p:first-child {
	display: inline-block;
	margin-bottom: 14px;
	padding: 4px 12px;
	border-radius: 999px;
	background: rgba(255, 255, 255, 0.18);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.6px;
	text-transform: uppercase;
	opacity: 1;
}
.page-id-250138 .pb-rich-text--panel p:has(strong) { opacity: 1; }
.page-id-250138 .pb-rich-text--panel p:has(strong) + p { margin: 6px 0; font-size: 13px; text-transform: uppercase; letter-spacing: 1px; }
.page-id-250138 .pb-rich-text--panel p:last-child { margin-top: 16px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, 0.25); font-size: 13px; }
.page-id-250138 .pb-rich-text--panel strong { font-size: 30px; font-weight: 700; line-height: 1.15; color: #fff; }

/* 2. Promo body. */
.page-id-250138 .pb-rich-text h2 { margin: 0 0 12px; font-size: 30px; font-weight: 700; line-height: 1.2; }
.page-id-250138 .pb-page > .pb-section:nth-child(2) .pb-rich-text:first-child { text-align: center; }
.page-id-250138 .pb-page > .pb-section:nth-child(2) .pb-rich-text h2 + p { max-width: 640px; margin: 0 auto 48px; font-size: 17px; line-height: 1.6; text-wrap: balance; }
.page-id-250138 .pb-page > .pb-section:nth-child(2) .pb-rich-text h3 {
	display: flex;
	align-items: center;
	gap: 12px;
	margin: 0;
	font-size: 22px;
	font-weight: 700;
	line-height: 1.2;
	text-align: left;
}
.page-id-250138 .pb-page > .pb-section:nth-child(2) .pb-rich-text h3::before {
	content: "";
	flex: 0 0 auto;
	width: 4px;
	height: 22px;
	border-radius: 2px;
	background-color: var(--wfr-green);
}
.page-id-250138 .pb-page > .pb-section:nth-child(2) .pb-rich-text + .pb-icon-boxes { margin-top: 20px; }
.page-id-250138 .pb-icon-boxes--cols-3 + .pb-rich-text { margin-top: 48px; }

/* How it works: numbered step cards. */
.page-id-250138 .pb-icon-boxes { gap: 20px; }
.page-id-250138 .pb-icon-boxes--cols-3 { counter-reset: wfr-step; }
.page-id-250138 .pb-icon-boxes--cols-3 .pb-icon-box {
	position: relative;
	flex-direction: column;
	align-items: flex-start;
	gap: 0;
	padding: 28px;
	border-radius: 16px;
	background-color: #fff;
	box-shadow: var(--wfr-shadow);
	text-align: left;
	counter-increment: wfr-step;
}
.page-id-250138 .pb-icon-boxes--cols-3 .pb-icon-box::after {
	content: "0" counter(wfr-step);
	position: absolute;
	top: 22px;
	right: 26px;
	font-family: "Roboto", sans-serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	color: var(--wfr-green-tint);
	-webkit-text-stroke: 1px rgba(88, 159, 60, 0.35);
}
.page-id-250138 .pb-icon-box__icon { width: 56px; height: 56px; margin-bottom: 18px; border-radius: 14px; background-color: var(--wfr-green-tint); color: var(--wfr-green); }
.page-id-250138 .pb-icon-box__icon svg { width: 26px; height: 26px; }
.page-id-250138 .pb-icon-box__body { align-items: flex-start; text-align: left; }
.page-id-250138 .pb-icon-box__title { margin: 0 0 8px; font-size: 18px; font-weight: 600; line-height: 1.3; color: var(--wfr-ink); }
.page-id-250138 .pb-icon-box__text { font-size: 15px; line-height: 1.55; color: var(--wfr-body); }

/* Promotion details: one strip, five cells split by rules. */
.page-id-250138 .pb-icon-boxes--cols-5 {
	gap: 0;
	overflow: hidden;
	border-radius: 16px;
	background-color: #fff;
	box-shadow: var(--wfr-shadow);
}
.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box {
	flex-direction: row;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	border-top: 1px solid var(--wfr-line);
	text-align: left;
}
.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box:first-child { border-top: 0; }
.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box__icon { width: 40px; height: 40px; margin: 0; border-radius: 10px; }
.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box__icon svg { width: 18px; height: 18px; }
.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box__title { margin: 0 0 2px; font-size: 12px; font-weight: 600; line-height: 1.5; letter-spacing: 0.6px; text-transform: uppercase; color: var(--wfr-green); }
.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box__text { font-size: 15px; font-weight: 500; line-height: 1.4; color: var(--wfr-ink); }
@media (min-width: 576px) and (max-width: 991px) {
	.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box:nth-child(2) { border-top: 0; }
	.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box:nth-child(even) { border-left: 1px solid var(--wfr-line); }
}
@media (min-width: 992px) {
	.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box { flex-direction: column; gap: 12px; padding: 24px 20px; border-top: 0; }
	.page-id-250138 .pb-icon-boxes--cols-5 .pb-icon-box + .pb-icon-box { border-left: 1px solid var(--wfr-line); }
}

/* Call to action: a tinted box around the line and the button. */
.page-id-250138 .pb-icon-boxes--cols-5 + .pb-rich-text {
	margin-top: 40px;
	padding: 36px 24px 12px;
	border: 1px solid rgba(88, 159, 60, 0.25);
	border-bottom: 0;
	border-radius: 16px 16px 0 0;
	background-color: #eef6ea;
}
.page-id-250138 .pb-icon-boxes--cols-5 + .pb-rich-text p { font-size: 24px; font-weight: 700; line-height: 1.3; color: var(--wfr-ink); }
.page-id-250138 .pb-icon-boxes--cols-5 + .pb-rich-text + .pb-buttons {
	padding: 12px 24px 36px;
	border: 1px solid rgba(88, 159, 60, 0.25);
	border-top: 0;
	border-radius: 0 0 16px 16px;
	background-color: #eef6ea;
}
.page-id-250138 .pb-button {
	padding: 15px 48px;
	border: 1px solid var(--wfr-green);
	border-radius: 61px;
	background: linear-gradient(180deg, var(--wfr-green) 0%, var(--wfr-green-dark) 100%);
	box-shadow: 0 6px 16px rgba(88, 159, 60, 0.3);
	color: #fff;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.2;
	transition: transform 0.15s, box-shadow 0.15s;
}
.page-id-250138 .pb-button:hover { transform: translateY(-1px); box-shadow: 0 8px 20px rgba(88, 159, 60, 0.38); color: #fff; }

/* 3 and 4. T&C: one white card across the two sections' columns (the
 * container's gutters are its own side padding, so the card goes on
 * .pb-columns), title over a rule, clauses with green numbers. */
.page-id-250138 .pb-page > .pb-section:nth-child(3) .pb-columns {
	padding: 32px 40px 20px;
	border: 1px solid var(--wfr-line);
	border-bottom: 0;
	border-radius: 16px 16px 0 0;
	background-color: #fff;
}
.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-columns {
	gap: 40px;
	padding: 0 40px 28px;
	border: 1px solid var(--wfr-line);
	border-top: 0;
	border-radius: 0 0 16px 16px;
	background-color: #fff;
}
.page-id-250138 .pb-page > .pb-section:nth-child(3) .pb-rich-text h2 { margin: 0; padding-bottom: 16px; border-bottom: 1px solid var(--wfr-line); font-size: 22px; }
.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-rich-text h3 { margin: 22px 0 6px; font-size: 15px; font-weight: 600; line-height: 1.3; }
.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-rich-text h3:first-child { margin-top: 4px; }
.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-rich-text :is(p, ul) { margin: 0; padding-left: 0; font-size: 14px; line-height: 1.6; color: var(--wfr-body); }
.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-rich-text ul { padding-left: 18px; list-style: disc; }
.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-rich-text li { margin: 0 0 2px; }
.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-rich-text li::marker { color: var(--wfr-green); }
.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-rich-text strong { color: inherit; font-weight: 700; }

/* Phones: tighter cards, smaller headline figures. */
@media (max-width: 767px) {
	.page-id-250138 .pb-page > .pb-section:nth-child(1) { padding-top: 24px; padding-bottom: 40px; }
	.page-id-250138 .pb-page > .pb-section:nth-child(1) .pb-columns { padding: 24px 20px; border-radius: 16px; }
	.page-id-250138 .pb-rich-text h1 { font-size: 32px; }
	.page-id-250138 .pb-page > .pb-section:nth-child(1) .pb-image img { max-width: 280px; margin: 0 auto; }
	.page-id-250138 .pb-page > .pb-section:nth-child(1) .pb-rich-text:first-child p { font-size: 16px; }
	.page-id-250138 .pb-rich-text--panel { padding: 22px 20px; }
	.page-id-250138 .pb-rich-text--panel strong { font-size: 24px; }
	.page-id-250138 .pb-rich-text h2 { font-size: 26px; }
	.page-id-250138 .pb-page > .pb-section:nth-child(2) .pb-rich-text h2 + p { margin-bottom: 36px; font-size: 16px; }
	.page-id-250138 .pb-icon-boxes { gap: 14px; }
	.page-id-250138 .pb-icon-boxes--cols-3 .pb-icon-box { padding: 22px 20px; }
	.page-id-250138 .pb-icon-boxes--cols-5 + .pb-rich-text p { font-size: 20px; }
	.page-id-250138 .pb-page > .pb-section:nth-child(3) .pb-columns { padding: 24px 20px 16px; }
	.page-id-250138 .pb-page > .pb-section:nth-child(4) .pb-columns { gap: 0; padding: 0 20px 20px; }
}
