/*
 * PillSuite UX pass - css/ps-ux.css
 * Loaded by inc/ux-pass.php on every front-end page (since Part 3).
 * Part 1: FAQs. Sits on top of inc/faq-nav.php (v1.2.0) and only overrides its presentation.
 */

/* ------------------------------------------------------------------ A. FAQs */

/* Answers: one readable dark colour and real spacing between paragraphs and list items.
   Elementor prints a per-widget "p { margin-block-end: 0 }", hence the doubled class. */
.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary),
.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) .elementor-widget-text-editor,
.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) p,
.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) li {
	color: #1A3C34;
}

.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) p {
	margin: 0 0 14px;
}

.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) ul,
.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) ol {
	margin: 0 0 14px 22px;
	padding: 0;
}

.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) li {
	margin: 0 0 8px;
}

.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) li:last-child,
.ps-accordion.ps-accordion .e-n-accordion-item > :not(summary) .elementor-widget-text-editor > :last-child {
	margin-bottom: 0;
}

@media (min-width: 980px) {

	/* Question column roughly 40% (never under 320px, never over 480px); the answer takes the rest. */
	.ps-accordion.ps-faqnav {
		--ps-faq-q: clamp(320px, 40%, 480px);
		--ps-faq-gap: 28px;
	}

	.ps-accordion.ps-faqnav .e-n-accordion {
		padding-right: calc(100% - var(--ps-faq-q));
	}

	/* The answer sits on a soft card that always runs the full height of the question list,
	   so a short answer no longer leaves a hole beside the questions. */
	.ps-accordion.ps-faqnav .e-n-accordion::before {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		width: calc(100% - var(--ps-faq-q) - var(--ps-faq-gap));
		background: #F7F9FF;
		border: 1px solid #E4E8F7;
		border-radius: 18px;
		pointer-events: none;
	}

	.ps-accordion.ps-faqnav .e-n-accordion-item > :not(summary) {
		width: calc(100% - var(--ps-faq-q) - var(--ps-faq-gap));
		padding: 28px 32px;
		box-sizing: border-box;
	}

	/* The landing pages wrap the answer in a second padded box; flatten it so every page matches. */
	.ps-accordion.ps-faqnav .e-n-accordion-item > :not(summary) > .e-con,
	.ps-accordion.ps-faqnav .e-n-accordion-item > :not(summary) > .e-con > .e-con-inner {
		padding: 0;
	}

	.ps-accordion.ps-faqnav .e-n-accordion-item > :not(summary) .elementor-widget-text-editor {
		font-size: 16px;
		line-height: 1.7;
	}

	.ps-accordion.ps-faqnav .e-n-accordion-item > summary.e-n-accordion-item-title {
		margin: 0 0 4px;
	}

	/* Selected question: light brand blue, navy text. */
	.ps-accordion.ps-faqnav .e-n-accordion-item.is-active > summary.e-n-accordion-item-title {
		background: #EBF0FE;
		border-left-color: #3A52F7;
	}

	.ps-accordion.ps-faqnav .e-n-accordion-item.is-active > summary .e-n-accordion-item-title-text {
		color: #07103C;
		font-weight: 600;
	}

	.ps-accordion.ps-faqnav .e-n-accordion-item > summary.e-n-accordion-item-title:focus-visible {
		outline: 2px solid #3A52F7;
		outline-offset: 2px;
	}

	/* Landing pages: the FAQ sat in a 65% column, which left the questions about 250px. */
	body .elementor-8131 .elementor-element.elementor-element-3c32143,
	body .elementor-4333 .elementor-element.elementor-element-98ec3ca,
	body .elementor-4332 .elementor-element.elementor-element-e59ca5f {
		--width: 100%;
		width: 100%;
	}
}

/* About and Our treatments: intro beside the FAQ. Give the FAQ the room on wide screens. */
@media (min-width: 1200px) {
	body .elementor-3653 .elementor-element.elementor-element-a34c729,
	body .elementor-4317 .elementor-element.elementor-element-bd15860 {
		--gap: 48px 48px;
		--row-gap: 48px;
		--column-gap: 48px;
		gap: 48px;
	}

	body .elementor-3653 .elementor-element.elementor-element-729d357,
	body .elementor-4317 .elementor-element.elementor-element-7f15bf6 {
		--width: 32%;
	}

	body .elementor-3653 .elementor-element.elementor-element-6768eff,
	body .elementor-4317 .elementor-element.elementor-element-a46915e {
		--width: 68%;
	}
}

/* Between 980 and 1199 there is no room for three columns: intro on top, FAQ full width below. */
@media (min-width: 980px) and (max-width: 1199px) {
	body .elementor-3653 .elementor-element.elementor-element-a34c729,
	body .elementor-4317 .elementor-element.elementor-element-bd15860 {
		--flex-direction: column;
		flex-direction: column;
		--gap: 40px 40px;
		--row-gap: 40px;
		gap: 40px;
	}

	body .elementor-3653 .elementor-element.elementor-element-729d357,
	body .elementor-4317 .elementor-element.elementor-element-7f15bf6,
	body .elementor-3653 .elementor-element.elementor-element-6768eff,
	body .elementor-4317 .elementor-element.elementor-element-a46915e {
		--width: 100%;
		width: 100%;
	}

	body .elementor-3653 .elementor-element.elementor-element-729d357,
	body .elementor-4317 .elementor-element.elementor-element-7f15bf6 {
		display: grid;
		grid-template-columns: minmax(0, 1fr) 380px;
		column-gap: 48px;
		align-items: start;
	}

	body .elementor-3653 .elementor-element.elementor-element-729d357 > .elementor-element,
	body .elementor-4317 .elementor-element.elementor-element-7f15bf6 > .elementor-element {
		grid-column: 1;
		width: auto;
		max-width: 100%;
	}

	body .elementor-3653 .elementor-element.elementor-element-729d357 > .elementor-element-e2ce5a6,
	body .elementor-4317 .elementor-element.elementor-element-7f15bf6 > .elementor-element-a31dfdb {
		grid-column: 2;
		grid-row: 1 / span 3;
		align-self: center;
	}
}

/* /faqs/ page only: tighter rhythm between heading, category buttons, content and footer. */
body .elementor-3979 .elementor-element.elementor-element-e240c85 {
	--padding-bottom: 36px;
}

body .elementor-3979 .elementor-element.elementor-element-85c61c6 {
	--padding-top: 0px;
	--padding-bottom: 56px;
}

@media (min-width: 768px) {
	body .elementor-3979 .elementor-element.elementor-element-71b6678 .e-n-tabs {
		gap: 28px;
	}
}

@media (max-width: 767px) {
	body .elementor-3979 .elementor-element.elementor-element-e240c85 {
		--padding-bottom: 24px;
	}

	body .elementor-3979 .elementor-element.elementor-element-85c61c6 {
		--padding-bottom: 40px;
	}

	/* Category buttons: a tidy two-by-two block above the questions instead of four full-width bars
	   with the open category wedged between them. Selectors are deliberately heavier than Elementor's
	   own mobile rules (.elementor.elementor .elementor-widget-n-tabs.e-n-tabs-mobile ...). */
	body .elementor.elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs .e-n-tabs {
		display: flex;
		flex-direction: row;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px;
	}

	body .elementor.elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs .e-n-tabs .e-n-tab-title {
		order: 0 !important;
		flex: 1 1 calc(50% - 5px);
		max-width: calc(50% - 5px);
		width: auto;
		min-height: 44px;
		margin: 0 !important;
		justify-content: center;
	}

	body .elementor.elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs .e-n-tabs > .e-n-tabs-content > .e-con {
		order: 5 !important;
		flex: 0 0 100%;
		width: 100%;
		margin-top: 14px;
	}
}

/* /faqs/ page only: "Still have a question?" block. Markup is added by inc/ux-pass.php. */
.ps-faq-contact {
	box-sizing: border-box;
	width: calc(100% - 40px);
	max-width: 820px;
	margin: 0 auto 64px;
	padding: 40px 32px;
	text-align: center;
	background: #F7F9FF;
	border: 1px solid #E4E8F7;
	border-radius: 18px;
}

.ps-faq-contact h2.elementor-heading-title {
	margin: 0 0 10px;
	padding: 0;
	font-family: Poppins, sans-serif;
	font-size: 28px;
	line-height: 1.25;
	font-weight: 700;
	color: #0B1E3D;
}

.ps-faq-contact p.ps-faq-contact__text {
	max-width: 520px;
	margin: 0 auto 24px;
	font-size: 16px;
	line-height: 1.7;
	color: #1A3C34;
}

.ps-faq-contact a.elementor-button,
.ps-faq-contact a.elementor-button:visited {
	display: inline-block;
	padding: 16px 28px;
	font-family: Poppins, sans-serif;
	font-size: 16px;
	font-weight: 600;
	line-height: 1;
	color: #fff;
	text-decoration: none;
	background-color: #10B981;
	border-radius: 100px;
}

.ps-faq-contact a.elementor-button:hover,
.ps-faq-contact a.elementor-button:focus {
	color: #fff;
	background-color: #0EA472;
}

.ps-faq-contact a.elementor-button:focus-visible {
	outline: 2px solid #3A52F7;
	outline-offset: 3px;
}

@media (max-width: 767px) {
	.ps-faq-contact {
		margin-bottom: 48px;
		padding: 28px 20px;
	}

	.ps-faq-contact h2.elementor-heading-title {
		font-size: 24px;
	}
}


/* ==========================================================================
   PART 2 (2026-11-10). Styling only: no wording or markup changes.
   ========================================================================== */

/* --- A. "Why go with PillSuite" cards (product pages) ---------------------
   The four cards had a hairline grey outline and no inner padding. They now
   carry a light brand-blue tint, a firmer border and room around the copy. */
.ps-enhanced-product .ps-why-grid .ps-why-item {
	padding: 16px 16px 22px;
	background: #F0F3FE;
	border: 1.5px solid #C5CCF2;
	border-radius: 18px;
	box-sizing: border-box;
}

.ps-enhanced-product .ps-why-grid .ps-why-item .ps-why-media {
	border-radius: 12px;
	background: #ffffff;
}

.ps-enhanced-product .ps-why-grid .ps-why-item > h3,
.ps-enhanced-product .ps-why-grid .ps-why-item > p {
	padding-left: 4px;
	padding-right: 4px;
}

@media (min-width: 900px) and (max-width: 1199px) {
	.ps-enhanced-product .ps-why-grid .ps-why-item {
		padding: 12px 12px 18px;
	}
}

/* --- B. Text links in body copy --------------------------------------------
   Legal pages, FAQ answers, About copy and product FAQ answers. Scoped to the
   page content (data-elementor-type="wp-page") and to text widgets, so the
   header, footer, navigation, buttons and card links are not affected.
   body.ps-ux-p12 (added in inc/ux-pass.php) limits it to the FAQ, legal and
   product pages now that this file loads site-wide; :where() keeps the
   specificity exactly as it was. */
body:where(.ps-ux-p12) .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor a:not(.elementor-button):not(.button),
body.ps-enhanced-product .ps-faq-body a:not(.button) {
	color: #2563EB;
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body:where(.ps-ux-p12) .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor a:not(.elementor-button):not(.button):hover,
body:where(.ps-ux-p12) .elementor[data-elementor-type="wp-page"] .elementor-widget-text-editor a:not(.elementor-button):not(.button):focus,
body.ps-enhanced-product .ps-faq-body a:not(.button):hover,
body.ps-enhanced-product .ps-faq-body a:not(.button):focus {
	color: #1E3A8A;
	text-decoration: underline;
	text-decoration-thickness: 2px;
}

/* The registration number on the dark governance card keeps its light colour
   (blue would not be readable there) and only gains the underline. */
body .ps-govcard-reg a {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

body .ps-govcard-reg a:hover,
body .ps-govcard-reg a:focus {
	color: #ffffff;
	text-decoration-thickness: 2px;
}

/* --- C. Weight loss comparison table ---------------------------------------
   The tint on one column head was left over from an earlier highlight. */
.page-id-8131 .ps-compare-table th.ps-compare-head.is-popular {
	background: #ffffff;
}

/* --- D. About page (3653) --------------------------------------------------
   Mission and Values photographs: 4:5 instead of 2:3 and never taller than
   600px, so they sit level with the copy beside them and the 1600x1200
   original still covers a 2x screen. Focus points and corner radius are left
   as set in Elementor. */
body .elementor-3653 .elementor-element.elementor-element-65d7df4,
body .elementor-3653 .elementor-element.elementor-element-8a28f44 {
	padding: 0;
}

body .elementor-3653 .elementor-element.elementor-element-65d7df4 img,
body .elementor-3653 .elementor-element.elementor-element-8a28f44 img {
	width: 100%;
	max-width: 800px;
	height: auto;
	max-height: 600px;
	aspect-ratio: 4 / 5;
	object-fit: cover;
}

/* Section rhythm: one gap between every pair of sections (100 / 70 / 50px). */
@media (min-width: 1025px) {
	/* 56px between the photograph and the copy, copy centred on the photograph. */
	body .elementor-3653 .elementor-element.elementor-element-d0a83e4,
	body .elementor-3653 .elementor-element.elementor-element-ed8124f {
		--gap: 56px 56px;
		--row-gap: 56px;
		--column-gap: 56px;
		--align-items: center;
		align-items: center;
	}

	body .elementor-3653 .elementor-element.elementor-element-fcae0f8 {
		--padding-top: 100px;
	}

	body .elementor-3653 .elementor-element.elementor-element-6608812,
	body .elementor-3653 .elementor-element.elementor-element-51bf6cb {
		--padding-top: 0px;
	}
}

@media (min-width: 768px) and (max-width: 1024px) {
	body .elementor-3653 .elementor-element.elementor-element-fcae0f8,
	body .elementor-3653 .elementor-element.elementor-element-6608812 {
		--padding-top: 70px;
	}

	body .elementor-3653 .elementor-element.elementor-element-51bf6cb,
	body .elementor-3653 .elementor-element.elementor-element-b54fff4 {
		--padding-top: 0px;
	}
}

@media (max-width: 767px) {
	body .elementor-3653 .elementor-element.elementor-element-51bf6cb,
	body .elementor-3653 .elementor-element.elementor-element-b54fff4 {
		--padding-top: 0px;
	}
}

/* The last paragraph of the pharmacist text carried a bottom margin that added
   to the section gap below it. */
body .elementor-3653 .elementor-element.elementor-element-65c4bcc p:last-child {
	margin-bottom: 0;
}


/* ==========================================================================
   UX pass, Part 3 (2026-11-10): mobile, tablet and general polish.
   Loaded site-wide on the front end. Styling only.
   ========================================================================== */

/* --- A. Launch banner vs header ------------------------------------------ */
/* The banner is the myStickymenu welcome bar: fixed, top 0, 60px tall.
   The header's main bar is made position:fixed; top:0 (inline) by the theme
   script once the page scrolls past 80px, which put it underneath the banner.
   body.mysticky-welcomebar-apper is only present while the banner is shown,
   so everything here switches itself off when the banner is turned off. */
:root { --ps-bar-h: 60px; }

body .mysticky-welcomebar-fixed .mysticky-welcomebar-fixed-wrap {
	min-height: var(--ps-bar-h);
	box-sizing: border-box;
}
@media (max-width: 767px) {
	/* was 15px 35px 10px 10px: text sat off-centre and the bar grew past 60px on narrow phones */
	body .mysticky-welcomebar-fixed .mysticky-welcomebar-fixed-wrap { padding: 8px 12px; }
}

/* inline top:0 from the theme script, hence !important */
body.mysticky-welcomebar-apper .pillsuite-inner-header.is-sticky,
body.mysticky-welcomebar-apper .pillsuite-header-new.is-sticky {
	top: var(--ps-bar-h) !important;
}

/* Between 37px and 80px of scroll the header is not fixed yet and slid up
   under the banner. Pin the whole masthead so the main bar parks directly
   below the banner (60 - 37 = 23). Needs body to clip rather than scroll:
   same hidden-then-clip pair the theme already uses on the landing pages
   (style.css, "sticky-image-col" note). Do not reorder the two. */
body.ps-ux-stick.mysticky-welcomebar-apper {
	overflow-x: hidden !important;
	overflow-x: clip !important;
}
body.ps-ux-stick.mysticky-welcomebar-apper #masthead {
	position: sticky;
	top: 23px;
}
/* Sticky rules that were inert before the clip stay inert. */
body.ps-ux-stick .ps-doses-panel { position: relative; }
body.ps-ux-stick.page-id-4332 .sticky-image-col { position: relative; }
/* Landing pages where the image column already sticks: keep it the same
   distance from the header as before. */
body.mysticky-welcomebar-apper .sticky-image-col { top: var(--ps-bar-h); }

/* Jump links (#compare, #treatments) and keyboard focus land clear of both. */
html { scroll-padding-top: 101px; }
html:has(body.mysticky-welcomebar-apper) { scroll-padding-top: 161px; }
@supports not selector(:has(a)) {
	html { scroll-padding-top: 161px; }
}

/* --- Header and navigation tap targets ----------------------------------- */
body #masthead .open_side_menu,
body #masthead .uc-close-side-menu {
	box-sizing: content-box;
	padding: 7px;
	margin: -7px;
}
@media (max-width: 767px) {
	body .elementor a.elementor-element.elementor-element-353eca6 {
		padding-block: 4px;
		margin-block: -4px;
	}
	body .elementor .elementor-element.elementor-element-1e5c435 .elementor-button {
		padding-top: 11px;
		padding-bottom: 11px;
	}
	body .elementor .elementor-element.elementor-element-475b6b9 a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-width: 44px;
		min-height: 44px;
	}
}
@media (min-width: 768px) and (max-width: 1024px) {
	body .elementor .elementor-element.elementor-element-107348b .elementor-button {
		padding-top: 12px;
		padding-bottom: 12px;
	}
}
@media (min-width: 1025px) {
	body #menu-1-6ee907b > li > a.hfe-menu-item,
	body #menu-1-6ee907b > li > .hfe-has-submenu-container > a.hfe-menu-item {
		padding-top: 15px;
		padding-bottom: 15px;
		margin-top: -10px;
		margin-bottom: -10px;
	}
}
/* Closed mega menu: a site-wide ".animated { visibility: visible !important }" rule left its
   title clickable (and hover-opening the menu) while invisible, in a strip just below the header. */
body #masthead .my-mega-menu .animated {
	visibility: inherit !important;
}
body .elementor .elementor-element.elementor-element-0fff430 .elementor-icon-box-title a,
body .elementor .elementor-element.elementor-element-501d394 .elementor-icon-box-title a {
	display: inline-block;
	padding: 12px 0;
	margin: -12px 0;
}
body .elementor .elementor-element.elementor-element-0fff430 a.elementor-icon,
body .elementor .elementor-element.elementor-element-501d394 a.elementor-icon {
	padding: 10px;
	margin: -10px;
}

/* --- Footer tap targets (touch widths only; the desktop footer is as it was
   before part 3) -------------------------------------------------------- */
@media (max-width: 1024px) {
	body .elementor-2929 :is(.elementor-element-ec43587, .elementor-element-da69b4b, .elementor-element-2fbb68d, .elementor-element-8d7825a) .elementor-icon-list-item {
		box-sizing: border-box;
		min-height: 44px;
		margin: 0 !important;
		padding-block: 5px !important;
	}
	body .elementor-2929 :is(.elementor-element-ec43587, .elementor-element-da69b4b, .elementor-element-2fbb68d, .elementor-element-8d7825a) .elementor-icon-list-item:has(> a) {
		padding-block: 0 !important;
	}
	body .elementor-2929 :is(.elementor-element-ec43587, .elementor-element-da69b4b, .elementor-element-2fbb68d, .elementor-element-8d7825a) .elementor-icon-list-item > a {
		min-height: 44px;
	}
	body .elementor-2929 .elementor-element.elementor-element-5f417a8 .elementor-icon-list-item > a {
		padding: 14px 0;
		margin: -14px 0;
		min-width: 44px;
		justify-content: center;
	}
}

/* --- B. About: Our Values, image balanced against the text column -------- */
@media (min-width: 1025px) {
	body .elementor-3653 .elementor-element.elementor-element-68023e6 {
		--gap: 12px 12px;
		--row-gap: 12px;
		gap: 12px;
	}
	body .elementor-3653 .elementor-element.elementor-element-2b0199f,
	body .elementor-3653 .elementor-element.elementor-element-f7abde6,
	body .elementor-3653 .elementor-element.elementor-element-88ee468,
	body .elementor-3653 .elementor-element.elementor-element-319da23 {
		padding: 16px 0 20px;
	}
	body .elementor-3653 .elementor-element.elementor-element-319da23 {
		padding-bottom: 0;
		border-bottom: none;
	}
	body .elementor-3653 .elementor-element.elementor-element-ed8124f {
		--align-items: stretch;
		align-items: stretch;
	}
	body .elementor-3653 .elementor-element.elementor-element-cf5fdef { align-self: stretch; }
	body .elementor-3653 .elementor-element.elementor-element-ab58ac9 { justify-content: center; }
	body .elementor-3653 .elementor-element.elementor-element-8a28f44 {
		position: relative;
		flex: 1 1 auto;
		width: 100%;
		min-height: 600px;
	}
	body .elementor-3653 .elementor-element.elementor-element-8a28f44 img {
		position: absolute;
		inset: 0;
		width: 100%;
		height: 100%;
		max-width: none;
		max-height: none;
		aspect-ratio: auto;
		object-fit: cover;
		object-position: 57% 50%;
	}
}

/* --- C. Homepage --------------------------------------------------------- */
/* Trust strip: one item per line on phones, 2 x 2 on tablets, one row on
   desktop. No title breaks mid-phrase from 375px up. */
@media (max-width: 599px) {
	body .elementor-2888 .elementor-element.elementor-element-0fc728c {
		--flex-direction: column;
		--flex-wrap: nowrap;
		--gap: 12px 12px;
		--row-gap: 12px;
		flex-direction: column;
		flex-wrap: nowrap;
		align-items: flex-start;
		gap: 12px;
	}
	body .elementor-2888 .elementor-element.elementor-element-0fc728c > .elementor-element {
		flex: 0 0 auto;
		width: 100%;
		max-width: 100%;
	}
}
@media (min-width: 600px) and (max-width: 1099px) {
	body .elementor-2888 .elementor-element.elementor-element-0fc728c {
		--display: grid;
		display: grid;
		grid-template-columns: repeat(2, max-content);
		justify-content: space-evenly;
		align-items: center;
		gap: 14px 32px;
	}
}
@media (min-width: 1100px) {
	body .elementor-2888 .elementor-element.elementor-element-0fc728c {
		--flex-wrap: nowrap;
		flex-wrap: nowrap;
		justify-content: space-between;
	}
}
@media (min-width: 600px) {
	body .elementor-2888 .elementor-element.elementor-element-0fc728c > .elementor-element {
		flex: 0 0 auto;
		width: auto;
		max-width: none;
	}
	body .elementor-2888 .elementor-element.elementor-element-0fc728c .elementor-icon-box-title {
		white-space: nowrap;
	}
}

/* Latest articles: three across on tablets instead of two plus an orphan. */
@media (min-width: 768px) and (max-width: 1024px) {
	body .elementor-2888 .elementor-element.elementor-element-a54e182.home-blog .hfe-posts-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
		gap: 20px;
	}
}
@media (min-width: 768px) and (max-width: 899px) {
	/* narrower cards: keep titles and excerpts to a comfortable number of lines */
	body .elementor-2888 .elementor-element.elementor-element-a54e182.home-blog .hfe-post-title,
	body .elementor-2888 .elementor-element.elementor-element-a54e182.home-blog .hfe-post-title a {
		font-size: 17px;
		line-height: 23px;
	}
	body .elementor-2888 .elementor-element.elementor-element-a54e182.home-blog .hfe-post-excerpt,
	body .elementor-2888 .elementor-element.elementor-element-a54e182.home-blog .hfe-post-excerpt p {
		font-size: 14px;
		line-height: 22px;
	}
}

body .elementor-2888 .elementor-element.elementor-element-bb80963 .elementor-button {
	position: relative;
	z-index: 1;
	padding: 12px 0;
	margin: -12px 0;
}
body .elementor-2888 .home-blog a.hfe-read-more {
	padding-block: 10px;
	margin-block: -10px;
}

/* --- D. Headings whose line-height was smaller than the font size -------- */
@media (min-width: 768px) and (max-width: 1024px) {
	body .elementor .elementor-element.elementor-element-214abf9 .elementor-heading-title { line-height: 1.06; }
	body .elementor .elementor-element.elementor-element-9d810f4 .elementor-heading-title,
	body .elementor .elementor-element.elementor-element-318ead0 .elementor-heading-title,
	body .elementor .elementor-element.elementor-element-7513e0a .elementor-heading-title,
	body .elementor .elementor-element.elementor-element-1490024 .elementor-heading-title,
	body .elementor .elementor-element.elementor-element-15aeada .elementor-heading-title,
	body .elementor .elementor-element.elementor-element-decb721 .elementor-heading-title,
	body .elementor .elementor-element.elementor-element-ee930ee .elementor-heading-title,
	body .elementor .elementor-element.elementor-element-e27ee91 .elementor-heading-title { line-height: 1.15; }
}
@media (min-width: 768px) {
	body .elementor-3979 .elementor-element.elementor-element-2718965 .elementor-heading-title { line-height: 1.12; }
}
body .elementor .elementor-element.elementor-element-09f97c0 .elementor-heading-title,
body .elementor .elementor-element.elementor-element-3c6065f .elementor-heading-title,
body .elementor .elementor-element.elementor-element-3e646a6 .elementor-heading-title,
body .elementor .elementor-element.elementor-element-a833e4a .elementor-heading-title,
body .elementor .elementor-element.elementor-element-86fd131 .elementor-heading-title,
body .elementor .elementor-element.elementor-element-60f5487 .elementor-heading-title { line-height: 1.12; }

/* --- D. "How it works" step numbers: digits were squeezed and clipped ---- */
body .elementor .elementor-element.elementor-element-73c0af3,
body .elementor .elementor-element.elementor-element-285ad84,
body .elementor .elementor-element.elementor-element-9c4d741,
body .elementor .elementor-element.elementor-element-cd794f0,
body .elementor .elementor-element.elementor-element-5df69ca,
body .elementor .elementor-element.elementor-element-670506b,
body .elementor .elementor-element.elementor-element-f05e5d0,
body .elementor .elementor-element.elementor-element-7361490,
body .elementor .elementor-element.elementor-element-b9f0980,
body .elementor .elementor-element.elementor-element-5df54aa,
body .elementor .elementor-element.elementor-element-bcd8d67,
body .elementor .elementor-element.elementor-element-46d984d,
body .elementor .elementor-element.elementor-element-6b22aae,
body .elementor .elementor-element.elementor-element-84358e2,
body .elementor .elementor-element.elementor-element-8c13c9c,
body .elementor .elementor-element.elementor-element-d1633e7 {
	flex-shrink: 0;
	width: auto;
	max-width: none;
	white-space: nowrap;
}

/* --- D. Contact ---------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1024px) {
	/* text column ran 13px past the card and the viewport */
	body .elementor-4128 .elementor-element.elementor-element-4c5668e {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}
}
body .elementor-4128 .elementor-element.elementor-element-ea8d216 p > strong > a,
body .elementor-4128 .elementor-element.elementor-element-de3a6ad p > strong > a,
body .elementor-4128 .elementor-element.elementor-element-e71386b .elementor-icon-box-description > a {
	padding-block: 13px;
}
body .elementor-4128 .wpcf7 input.wpcf7-text,
body .elementor-4128 .wpcf7 input.wpcf7-email,
body .elementor-4128 .wpcf7 input.wpcf7-tel {
	min-height: 44px;
}
@media (max-width: 1024px) {
	/* 16px stops iOS zooming the page when a field takes focus */
	body .elementor-4128 .wpcf7 input.wpcf7-text,
	body .elementor-4128 .wpcf7 input.wpcf7-email,
	body .elementor-4128 .wpcf7 input.wpcf7-tel,
	body .elementor-4128 .wpcf7 textarea {
		font-size: 16px;
	}
}

/* --- D. About ------------------------------------------------------------ */
body .elementor-3653 .elementor-element.elementor-element-65c4bcc p > a { padding-block: 12px; }
@media (max-width: 1024px) {
	body .elementor-3653 .elementor-element.elementor-element-c21a024 > a {
		display: inline-block;
		padding: 7px 0;
		margin: -7px 0;
	}
}

/* --- D. Legal pages: stand-alone links ----------------------------------- */
body .elementor-6283 .elementor-element.elementor-element-33574cd p > a,
body .elementor-6283 .elementor-element.elementor-element-5a8b7d3 p > a,
body .elementor-6283 .elementor-element.elementor-element-74a034e p > a,
body .elementor-3895 .elementor-element.elementor-element-3561f8b p > a,
body .elementor-3658 .elementor-element.elementor-element-c1eb39e p > a {
	padding-block: 12px;
}

/* --- D. Product pages ---------------------------------------------------- */
body .ps-govcard-reg a { padding-block: 12px; }

/* Leaflet links: the underline is a bottom border, so only the top is padded. */
body.ps-enhanced-product ul.ps-further-list {
	row-gap: 0;
	margin-top: -10px;
}
body.ps-enhanced-product ul.ps-further-list li > a { padding-top: 17px; }

body.single-product div.product form.cart table.variations td.value select {
	height: 44px;
	min-height: 44px;
}
@media (min-width: 1025px) {
	body.woocommerce-js div.product form.cart a.reset_variations {
		display: inline-block;
		padding: 14px 10px;
		margin: -14px -10px;
	}
}
body.single-product .related.products a.ast-loop-product__link { padding-block: 1px; }
body.single-product .related.products a.button.add_to_cart_button {
	padding-bottom: 8px;
	margin-bottom: -8px;
}

/* --- D. Blog index and archives ------------------------------------------ */
body.blog .post-thumb-img-content.post-thumb > a,
body.archive .post-thumb-img-content.post-thumb > a { display: block; }
body.blog span.cat-links a,
body.archive span.cat-links a {
	padding-top: 14px;
	padding-bottom: 10px;
}
body.blog h2.entry-title > a,
body.archive h2.entry-title > a { padding-block: 5px; }
body.blog span.posted-by a.url.fn.n,
body.archive span.posted-by a.url.fn.n {
	padding-top: 11px;
	padding-bottom: 14px;
}
body.blog p.read-more > a,
body.archive p.read-more > a {
	padding-block: 10px;
	margin-block: -10px;
}

/* --- D. Blog post -------------------------------------------------------- */
body.single-post .ast-breadcrumbs .trail-items li > a {
	position: relative; /* above the post title, which otherwise covers the lower hit area */
	z-index: 1;
	display: inline-block;
	padding-block: 12px;
	margin-block: -12px;
}
body.single-post span.posted-by a.url.fn.n { padding-block: 13px; }
body.single-post .entry-content > h2:last-of-type ~ p > a:only-child {
	display: inline-block;
	padding: 10px 0;
	margin: -10px 0;
}
body.single-post nav.post-navigation .nav-links a {
	display: inline-block;
	padding-top: 14px;
	padding-bottom: 14px;
	margin-top: -14px;
	margin-bottom: -14px;
}

/* --- D. Product pages: breadcrumb trail ---------------------------------- */
/* inline padding grows each link's hit area to 44px without moving the line */
body.single-product .entry-summary nav.woocommerce-breadcrumb a {
	position: relative;
	z-index: 1;
	padding-block: 12px;
}
@media (max-width: 480px) {
	/* the trail can wrap here: open the lines up so a wrapped line's hit area
	   stays off the text above it (the margins keep a one-line trail where it was) */
	body.single-product .entry-summary nav.woocommerce-breadcrumb {
		margin-top: -6px;
		margin-bottom: 8px;
		line-height: 32px;
	}
}


/* ==========================================================================
   Final round (2026-11-10): follow-ups and client updates
   ========================================================================== */

/* --- Scroll-to-top button: never over the content on desktop --------------
   The page gutter is 32px up to a 1280px window (20px on product pages), too
   narrow for the 32px round button 30px in from the edge. While the gutter is
   that narrow the button becomes a slim tab on the window edge; once the gutter
   is wide enough it is the round button again, kept inside the gutter. */
@media (min-width: 1025px) and (max-width: 1339px) {
	body:not(.single-product) #ast-scroll-top {
		right: 0;
		width: 24px;
		height: 48px;
		line-height: 48px;
		font-size: 11px;
		text-align: center;
		border-radius: 8px 0 0 8px;
	}
}
@media (min-width: 1340px) {
	body:not(.single-product) #ast-scroll-top {
		right: min(30px, calc((100vw - 1280px) / 4));
	}
}
@media (min-width: 1025px) and (max-width: 1599px) {
	body.single-product #ast-scroll-top {
		right: 0;
		width: 18px;
		height: 48px;
		line-height: 48px;
		font-size: 9px;
		text-align: center;
		border-radius: 6px 0 0 6px;
	}
}
@media (min-width: 1600px) {
	body.single-product #ast-scroll-top {
		right: min(30px, calc((100vw - 1560px) / 4));
	}
}

/* --- BMI calculator: the number's tap area grows upwards only (all widths),
   so the hint line under it keeps its own space ------------------------- */
body .psbmi input[type="number"].psbmi-number {
	padding: 22px 0 0;
	margin: -22px 0 0;
}

/* --- My account, logged out: 44px fields and links ------------------------ */
body.woocommerce-account:not(.logged-in) .woocommerce form input.input-text {
	box-sizing: border-box;
	min-height: 44px;
	font-size: 16px;
}
body.woocommerce-account:not(.logged-in) .woocommerce p.lost_password a {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
}

/* --- Footer: "Regulated by" badges ---------------------------------------- */
body .ps-reg {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}
body .ps-reg a.ps-reg-badge {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	min-height: 56px;
	padding: 8px 16px 8px 10px;
	border-radius: 10px;
	background: #fff;
	color: #0b1e3d;
	text-decoration: none;
	line-height: 1.2;
	white-space: nowrap;
}
body .ps-reg a:focus-visible {
	outline: 2px solid #2563eb;
	outline-offset: 3px;
}
body .ps-reg-badge img {
	flex: none;
	display: block;
	width: 36px;
	height: 36px;
	max-width: none;
	border-radius: 0;
}
body .ps-reg-txt {
	display: flex;
	flex-direction: column;
	text-align: left;
}
body .ps-reg-name {
	font-size: 12px;
	font-weight: 600;
	color: #0b1e3d;
}
body .ps-reg-num {
	font-size: 17px;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: #0b7a3e;
	font-variant-numeric: tabular-nums lining-nums;
}

/* ICO logo beside the GPhC badge (fix 2, 2026-11-10): logo only, 56px tap row */
body .ps-reg a.ps-reg-ico {
	display: inline-flex;
	align-items: center;
	min-height: 56px;
	padding: 0 6px;
	border-radius: 10px;
	text-decoration: none;
}
body .ps-reg a.ps-reg-ico img {
	display: block;
	width: 84px;
	height: auto;
	max-width: none;
	border-radius: 0;
}

/* About: the GPhC badge replaced a small logo image; let its container fit the badge */
body .elementor-3653 .elementor-element.elementor-element-c424c71 {
	--width: auto;
	width: auto;
	max-width: 100%;
}

/* --- Phones and tablets (fix 2): the scroll-to-top button becomes a slim tab
   on the window edge, 12px visible, so it stays inside the narrowest text
   gutter (13px on product price rows at 375). A transparent 12px border on its
   left keeps the tap area 24px wide without covering anything visually. */
@media (max-width: 1024px) {
	body #ast-scroll-top {
		right: 0;
		box-sizing: content-box;
		width: 12px;
		height: 56px;
		padding: 0;
		line-height: 56px;
		font-size: 8px;
		text-align: center;
		border-left: 12px solid transparent;
		background-clip: padding-box;
		border-radius: 0;
	}
}
/* The weight-loss landing "Which treatment is right for you?" heading had no
   side gutter on phones (text ran to 3px from the edge). */
@media (max-width: 767px) {
	body .elementor-8131 .elementor-element.elementor-element-60f5487 {
		padding-left: 20px;
		padding-right: 20px;
	}
}

/* --- About: pharmacist photo (transparent cut-out, no box) ---------------- */
body .elementor-3653 .elementor-element.elementor-element-d3d9ea5 img {
	height: auto;
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: none;
}

/* ==========================================================================
   Final check, 10 Nov 2026: layout polish found in the 375 / 768 / 1280 review.
   Styling only. Restore: /root/pillsuite-backups/final-20261110/RESTORE.sh
   ========================================================================== */

/* --- Landing cards -------------------------------------------------------- */
/* Hair loss: the two-button row set the card's minimum width, so each card
   was 394px on a 375px phone. Let the card keep its intended width and let
   the buttons stack when they cannot sit side by side. */
@media (max-width: 1024px) {
	.wlc-pc-scroll .wlc-pc-card { min-width: 0; }
	.wlc-pc-card .wlc-pc-actions { flex-wrap: wrap; }
	.wlc-pc-card .wlc-pc-actions > a { flex: 1 1 auto; }
}
/* Weight loss: four 320px cards did not fit a 1280 screen, the fourth was cut
   off. On wide screens the simple cards share the row instead. */
@media (min-width: 1200px) {
	.wlc-pc-scroll .wlc-pc-card.wlc-pc-card--simple {
		flex: 1 1 0;
		min-width: 0;
		max-width: 320px;
	}
}

/* --- Landing pages on phones: gutters and heading scale -------------------- */
@media (max-width: 767px) {
	/* Headings and text that ran to the screen edge. */
	body .elementor-4333 .elementor-element.elementor-element-3e646a6,
	body .elementor-4332 .elementor-element.elementor-element-09f97c0,
	body .elementor-8131 .elementor-element.elementor-element-762aea9,
	body .elementor-8131 .elementor-element.elementor-element-9b5f569 {
		padding-left: 20px;
		padding-right: 20px;
	}
	/* Section headings that were larger than the page title (40px vs 35px);
	   now the same 34px as the other section headings. */
	body .elementor-8131 .elementor-element.elementor-element-86fd131 .elementor-heading-title,
	body .elementor-8131 .elementor-element.elementor-element-60f5487 .elementor-heading-title,
	body .elementor-4333 .elementor-element.elementor-element-a833e4a .elementor-heading-title,
	body .elementor-4333 .elementor-element.elementor-element-3e646a6 .elementor-heading-title,
	body .elementor-4332 .elementor-element.elementor-element-09f97c0 .elementor-heading-title,
	body .elementor-4332 .elementor-element.elementor-element-3c6065f .elementor-heading-title {
		font-size: 34px;
		line-height: 42px;
	}
}

/* --- Landing pages on tablets: heading gutters, "How it works" image ------- */
@media (min-width: 768px) and (max-width: 1024px) {
	/* Full-width headings get the same 32px gutter as their neighbours. */
	body .elementor-8131 .elementor-element.elementor-element-60f5487,
	body .elementor-4333 .elementor-element.elementor-element-3e646a6,
	body .elementor-4332 .elementor-element.elementor-element-09f97c0 {
		padding-left: 32px;
		padding-right: 32px;
	}
	body .elementor-8131 .elementor-element.elementor-element-c5a6b7f,
	body .elementor-4333 .elementor-element.elementor-element-68be963,
	body .elementor-4332 .elementor-element.elementor-element-136800e {
		text-align: center;
	}
	body .elementor-8131 .elementor-element.elementor-element-c5a6b7f img,
	body .elementor-4333 .elementor-element.elementor-element-68be963 img,
	body .elementor-4332 .elementor-element.elementor-element-136800e img {
		width: 100%;
		max-width: 480px;
		height: auto;
	}
}

/* --- FAQ accordions below the desktop layout: mark the open question ------- */
@media (max-width: 979px) {
	.ps-accordion .e-n-accordion-item[open] > summary.e-n-accordion-item-title {
		background: #EBF0FE;
	}
	.ps-accordion .e-n-accordion-item[open] > summary .e-n-accordion-item-title-text {
		color: #07103C;
		font-weight: 600;
	}
}

/* --- Product pages --------------------------------------------------------- */
/* Dose table was 340px in a 295px box on phones and scrolled sideways. */
@media (max-width: 480px) {
	.ps-enhanced-product .ps-dose-table { min-width: 0; font-size: 14px; }
	.ps-enhanced-product .ps-dose-table th,
	.ps-enhanced-product .ps-dose-table td { padding: 11px 10px; }
}
/* Card titles inherited a 50px line height, so a title that wrapped took
   100px. Same single-line height as before, normal spacing when wrapped. */
.ps-enhanced-product .ps-flow-head,
.ps-enhanced-product .ps-journey-card h3 {
	line-height: 1.3;
	padding-top: 12.5px;
	padding-bottom: 12.5px;
}
/* "Related products": title was 35px with a 34px line height, larger than the
   product name on phones; the list was also 33px short of the right gutter. */
.woocommerce .related.products > h2 { line-height: 1.2; }
.woocommerce .related.products li.product .woocommerce-loop-product__title { line-height: 1.4; }
@media (max-width: 767px) {
	body.single-product .related.products { width: 100%; }
	.woocommerce .related.products > h2 { font-size: 24px; line-height: 30px; }
}

/* --- Small grey text that was below 4.5:1 contrast ------------------------- */
.wlc-pc-from,
.wlc-pc-suffix,
.psbmi-note,
.psbmi-range,
.psbmi-result-label,
.psbmi-disclaimer,
.psbmi[data-state="pristine"] .psbmi-verdict-text { color: #5F6699; }
.psbmi-hint { color: #6B7196; }
.ps-enhanced-product .ps-flow-wait-text,
.ps-enhanced-product .ps-flow-note { color: #5C6475; }

/* --- Keyboard focus: links and buttons had no visible focus ring ----------- */
body a:focus-visible,
body button:focus-visible,
body summary:focus-visible,
body [role="tab"]:focus-visible,
body [role="button"]:focus-visible {
	outline: 2px solid #3A52F7 !important; /* style.css has a:focus{outline:none !important} */
	outline-offset: 2px;
}


/* ==========================================================================
   Green contrast pass, 10 Nov 2026.
   Brand green darkened on the same hue so white text reaches WCAG AA (4.5:1):
     #10B981 (2.54:1 with white) -> #0C875E (4.52:1)   buttons, tabs, icons
     #0E9F70 (3.38:1 on white)   -> #0A7451 (5.79:1)   hover fills, green link text
   Blue and grey are untouched. To undo, delete this whole block.
   ========================================================================== */
html:root {
  --main-button-bg-color: #0C875E;
  --main-button-hover-bg-color: #0A7451;
}
body.elementor-kit-6,
body[class*="elementor-kit-"] {
  --e-global-color-35eb959: #0C875E;
  --e-global-color-8b3eb2a: #0A7451;
}

/* Landing page hero buttons with a hard-coded green (their blue hover is kept) */
body .elementor-8131 .elementor-element.elementor-element-8b3a690 .elementor-button:not(:hover):not(:focus),
body .elementor-4333 .elementor-element.elementor-element-e01bd1c .elementor-button:not(:hover):not(:focus),
body .elementor-4332 .elementor-element.elementor-element-a61fd33 .elementor-button:not(:hover):not(:focus) {
  background-color: #0C875E;
}

/* FAQs page category tabs */
body .elementor-3979 .elementor-element.elementor-element-71b6678 {
  --n-tabs-title-color: #0C875E;
}
body .elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
body .elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="true"],
body .elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover,
body .elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:hover {
  background: #0C875E;
  border-color: #0C875E;
}
body .elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs > .e-n-tabs[data-touch-mode] > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not(:hover),
body .elementor-3979 .elementor-element.elementor-element-71b6678.elementor-widget-n-tabs > .e-n-tabs > .e-n-tabs-heading > .e-n-tab-title[aria-selected="false"]:not(:hover) {
  border-color: #0C875E;
}

/* Accordion open/hover icon colour */
body .elementor-3653 .elementor-element.elementor-element-029aaa6,
body .elementor-4317 .elementor-element.elementor-element-e212628,
body .elementor-3979 .elementor-element.elementor-element-d3673a2,
body .elementor-3979 .elementor-element.elementor-element-5d29e12,
body .elementor-3979 .elementor-element.elementor-element-a5852f8,
body .elementor-3979 .elementor-element.elementor-element-0f62f50 {
  --n-accordion-icon-hover-color: #0C875E;
  --n-accordion-icon-active-color: #0C875E;
}

/* Green text links: "Select options" on product cards */
body.woocommerce-js.woocommerce-page ul.products li.product .button,
body.woocommerce-js ul.products li.product .button {
  color: #0A7451 !important;
}

/* Slider button hover */
body .slide .elementor-button:hover {
  background-color: #0A7451;
}

/* BMI checker: eligible state */
body .psbmi[data-state="eligible"] .psbmi-cta {
  background: #0C875E;
  border-color: #0C875E;
  color: #ffffff;
}
body .psbmi[data-state="eligible"] .psbmi-cta:hover,
body .psbmi[data-state="eligible"] .psbmi-cta:focus,
body .psbmi[data-state="eligible"] .psbmi-cta:focus-visible {
  background: #0A7451;
  border-color: #0A7451;
  color: #ffffff;
}
body .psbmi[data-state="eligible"] .psbmi-dial-cat {
  color: #0A7451;
}
body .psbmi[data-state="eligible"] .psbmi-dial-fill {
  stroke: #0C875E;
}

/* FAQ page contact button (own rule earlier in this file) */
body .ps-faq-contact a.elementor-button,
body .ps-faq-contact a.elementor-button:visited {
  background-color: #0C875E;
}
body .ps-faq-contact a.elementor-button:hover,
body .ps-faq-contact a.elementor-button:focus {
  background-color: #0A7451;
}


/* Cookie policy table, 10 Nov 2026 (page 3786, widget class ps-cookie-table) */
body .ps-cookie-table table {
	width: 100%;
	margin: 6px 0 10px;
	border: 1px solid #dfe6e3;
	border-collapse: collapse;
	background: #fff;
	font-size: inherit;
	line-height: 1.6;
}
body .ps-cookie-table th,
body .ps-cookie-table td {
	padding: 12px 14px;
	border: 0;
	border-bottom: 1px solid #dfe6e3;
	text-align: left;
	vertical-align: top;
}
body .ps-cookie-table th {
	background: #f3f6f5;
	font-weight: 600;
}
body .ps-cookie-table td:first-child {
	width: 32%;
	font-weight: 600;
	overflow-wrap: anywhere;
}
body .ps-cookie-table td:last-child {
	width: 22%;
}
body .ps-cookie-table tbody tr:last-child td {
	border-bottom: 0;
}
@media (max-width: 640px) {
	body .ps-cookie-table table,
	body .ps-cookie-table tbody,
	body .ps-cookie-table tr,
	body .ps-cookie-table td {
		display: block;
		width: 100% !important;
	}
	body .ps-cookie-table thead {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0 0 0 0);
		white-space: nowrap;
	}
	body .ps-cookie-table tr {
		padding: 12px 14px;
		border-bottom: 1px solid #dfe6e3;
	}
	body .ps-cookie-table tbody tr:last-child {
		border-bottom: 0;
	}
	body .ps-cookie-table td {
		padding: 2px 0;
		border-bottom: 0;
	}
	body .ps-cookie-table td::before {
		content: attr(data-label) ": ";
		font-weight: 600;
	}
	body .ps-cookie-table td:first-child::before {
		content: none;
	}
}


/* ICO text badge, 10 Nov 2026: replaces the ico.svg logo link in the footer; same style as the GPhC badge, without a mark.
   Left padding matches the GPhC badge so the two line up when they stack. */
body .ps-reg a.ps-reg-badge.ps-reg-ico-txt {
	padding-left: 10px;
}
/* The text badge is wider than the old logo: let the badge column use the free space beside "Regulated by" so both badges stay on one row on desktop and tablet. */
@media (min-width: 768px) {
	body .elementor-2929 .elementor-element.elementor-element-af2adbf {
		--width: auto;
		flex-grow: 1;
	}
}


/* ==========================================================================
   Mobile visual review, Batch 1 (10 Nov 2026). Phones only, styling only.
   Pages: home, About, Contact, FAQs, treatments index, the three treatment
   landing pages, basket, My account (logged out).
   ========================================================================== */
@media (max-width: 767px) {

	/* --- All pages: headings no longer leave one word alone on the last line */
	body h1,
	body h2,
	body h3,
	body h4 {
		text-wrap: balance;
	}

	/* --- Green buttons: one height (53px = 16px 28px padding, 21px line) --- */
	body .elementor-3653 .elementor-element.elementor-element-1c2f488 .elementor-button,
	body .elementor-4317 .elementor-element.elementor-element-7f7c6d3 .elementor-button,
	body .elementor-4128 .elementor-element.elementor-element-577d3b0 button.wpcf7-submit {
		padding: 16px 28px;
	}
	body .ps-faq-contact a.elementor-button,
	body .ps-faq-contact a.elementor-button:visited {
		line-height: 21px;
	}
	body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login button.button {
		padding: 16px 22px;
		font-size: 16px;
	}
	/* My account: 47px of empty space under the last link in the login card */
	body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login p.lost_password {
		margin-bottom: 0;
	}

	/* --- Home ------------------------------------------------------------- */
	/* hero bullets were 11px */
	body.home .elementor-element.elementor-element-f093c8a .elementor-widget-icon-box:not(.elementor-hidden-mobile) .elementor-icon-box-title,
	body.home .elementor-element.elementor-element-f093c8a .elementor-widget-icon-box:not(.elementor-hidden-mobile) .elementor-icon-box-title > * {
		font-size: 13px;
	}
	/* step cards kept a desktop min-height: about 70px of dead space in each */
	body.home .step-card-inner {
		min-height: 0;
	}
	/* bottom call to action had 19px side padding, the other two have 28px */
	body.home .elementor .elementor-element.elementor-element-ed7d2b8 .elementor-button {
		padding: 16px 28px;
	}

	/* --- Contact ---------------------------------------------------------- */
	/* Email / Call / Opening hours cards: same height when stacked */
	body .elementor-4128 .elementor-element.elementor-element-e19fd2a {
		grid-auto-rows: 1fr;
	}
	/* gaps between blocks were 10 / 80 / 50 / 24 / 50, now 30 / 50 / 24 / 24 / 50 */
	body .elementor-4128 .elementor-element.elementor-element-c531c8b > .e-con-inner {
		padding-top: 30px;
		padding-bottom: 0;
	}
	body .elementor-4128 .elementor-element.elementor-element-c5e243c > .e-con-inner {
		padding-bottom: 24px;
	}
	/* the privacy note sat on the bottom border of the form card */
	body .elementor-4128 .elementor-element.elementor-element-cf5fdef {
		padding-bottom: 20px;
	}
	/* the Subject select was 60px tall next to 44px fields */
	body .elementor-4128 .wpcf7 select {
		box-sizing: border-box;
		height: 44px;
		min-height: 44px;
		padding-top: 0;
		padding-bottom: 0;
	}
	/* fields were still 14px (the page's own rule won): 16px stops iOS zooming on focus */
	body .elementor-4128 .elementor-element.elementor-element-577d3b0 input.wpcf7-form-control,
	body .elementor-4128 .elementor-element.elementor-element-577d3b0 select.wpcf7-form-control,
	body .elementor-4128 .elementor-element.elementor-element-577d3b0 textarea.wpcf7-form-control {
		font-size: 16px;
	}

	/* --- Treatments index: Coming soon card was 38px taller than the rest --- */
	body .elementor-4317 .treat-box .elementor-widget-text-editor p:last-child {
		margin-bottom: 0;
		line-height: 15px;
	}

	/* --- Treatment landing pages (weight loss, ED, hair loss) ------------- */
	/* trust cards: rows line up across the two columns, no divider under the last row */
	body.parent-pageid-4317 .e-con:has(> .e-con > .elementor-widget-icon-box.elementor-view-stacked) {
		display: grid;
		grid-auto-rows: 1fr;
	}
	body.parent-pageid-4317 .e-con:has(> .elementor-widget-icon-box.elementor-view-stacked) {
		justify-content: center;
	}
	body.parent-pageid-4317 .e-con:has(> .elementor-widget-icon-box.elementor-view-stacked):last-child {
		border-bottom-width: 0;
	}
	/* comparison block had 70px above and below, every other section has 50px */
	body.parent-pageid-4317 .ps-compare-host {
		padding-top: 50px;
		padding-bottom: 50px;
	}
	/* step photo sat 11px under step card 04 (desktop overlap offset), now 26px */
	body.parent-pageid-4317 .e-con:has(> .elementor-widget-image.stage-card) {
		margin-top: -45px;
	}
	/* 140px gap above the switcher image (desktop sticky offset) */
	body.parent-pageid-4317 .img-switcher-wrap.sticky-image-col {
		padding-top: 0;
	}
	/* Why choose cards were 330px wide, 10px narrower each side than every other card */
	body.parent-pageid-4317 .e-con:has(> .e-con-inner > .elementor-widget-shortcode .ps-why-section) {
		padding-left: 0;
		padding-right: 0;
	}
	/* clinician cards reserved two title lines: a hole under one-line titles */
	body.parent-pageid-4317 .ps-gov-item h3 {
		min-height: 0;
	}
	/* call to action buttons: 53px like the rest, the stacked pair the same width */
	body.parent-pageid-4317 .elementor .cta-weight-loss a.elementor-button.elementor-button {
		padding: 16px 28px;
	}
	body.parent-pageid-4317 .cta-eligibility .elementor-widget-button {
		width: 100%;
	}
	body.parent-pageid-4317 .cta-eligibility .elementor-widget-button + .elementor-widget-button a.elementor-button {
		padding: 15px 28px;
	}

	/* --- Basket ----------------------------------------------------------- */
	/* floating basket icon covered Apply coupon / Update basket; not needed on the basket itself */
	body.woocommerce-cart .xoo-wsc-basket {
		display: none !important;
	}
	/* Basket totals heading was 36px, larger than the page title */
	body.woocommerce-cart .cart_totals > h2 {
		padding: 16px 20px;
		font-size: 22px;
		line-height: 1.3;
	}
	/* sold-individually items printed an empty Quantity row */
	body.woocommerce-cart .woocommerce-cart-form td.product-quantity:has(input[type="hidden"]) {
		display: none;
	}
	/* keeps the table inside the page column now the coupon row is flexible */
	body.woocommerce-cart #content table.cart {
		table-layout: fixed;
		width: 100%;
	}
	/* coupon field and button: same height, same line, edge to edge */
	body.woocommerce-cart #content table.cart td.actions .coupon {
		align-items: center;
		gap: 8px;
	}
	body.woocommerce-cart #content table.cart td.actions .coupon::before,
	body.woocommerce-cart #content table.cart td.actions .coupon::after {
		display: none;
	}
	body.woocommerce-cart #content table.cart td.actions .coupon .input-text {
		box-sizing: border-box;
		flex: 1 1 0;
		width: auto;
		min-width: 0;
		height: 47px;
		max-height: none;
		margin: 0;
		font-size: 16px;
	}
	body.woocommerce-cart #content table.cart td.actions .coupon .button {
		flex: 1 1 0;
		width: auto;
		margin: 0;
	}
	/* Update basket overhung its cell by 5px */
	body.woocommerce-cart #content table.cart td.actions > .button {
		width: 100%;
		margin: 12px 0 0;
	}
	/* delivery choice: the label was cut off in a 70px tall box */
	body.woocommerce-cart .cart_totals .select2-container .select2-selection--single {
		height: auto;
	}
	body.woocommerce-cart .cart_totals .select2-container .select2-selection--single .select2-selection__rendered {
		white-space: normal;
		line-height: 1.35;
		text-align: left;
		padding: 12px 34px 12px 14px !important;
	}
	body.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
		padding: 16px 15px;
		font-size: 16px;
	}
}



/* ==========================================================================
   Mobile visual review, Batch 2 (10 Nov 2026). Phones only, styling only.
   Pages: the 8 product pages, legal pages + cookie policy, open menu,
   cookie banner, checkout.
   ========================================================================== */

/* All widths: the rule above that makes the doses panel position: relative
   also switched on the top: 100px left over from its old sticky mode,
   pushing the panel 100px down: on phones it left a blank gap and overlapped
   the next heading, on desktop it sat 100px lower than the column beside it. */
body.ps-ux-stick .ps-doses-panel {
	top: auto;
}

@media (max-width: 767px) {

	/* --- Product pages ----------------------------------------------------- */
	/* Start consultation was 47px tall; other green buttons are 53px */
	body.single-product div.product a.StartConsltbutton {
		padding: 16px 28px;
	}
	/* price sat a long way above the options */
	body.single-product div.product p.price {
		margin-bottom: 12px;
	}
	/* empty product meta box drew a second divider line under the delivery note */
	body.single-product div.product .product_meta:not(:has(.sku_wrapper, .tagged_as)) {
		margin: 20px 0 0;
		padding: 0;
		border: 0;
	}
	/* option dropdowns: second label had no space above it, and the Clear link
	   shared a line with the dropdown, making the two dropdowns different widths */
	body.single-product div.product form.cart table.variations tr + tr th.label {
		margin-top: 14px;
	}
	body.single-product div.product form.cart table.variations td.value {
		position: relative;
	}
	body.single-product div.product form.cart table.variations td.value select {
		flex: 1 1 100%;
		width: 100%;
		max-width: 100%;
	}
	body.woocommerce-js.single-product div.product form.cart table.variations a.reset_variations {
		position: absolute;
		top: -47px;
		right: -10px;
		margin: 0;
		padding: 14px 10px;
		font-size: 13px;
		line-height: 17px;
	}

	/* --- Legal pages and cookie policy -------------------------------------- */
	/* section headings were the same 36px as the page title; lists were indented
	   48px and left a 26px gap before the next paragraph */
	body:is(.page-id-3658, .page-id-3895, .page-id-3907, .page-id-3920, .page-id-6283, .page-id-3786) #content .elementor-widget-heading:not(.elementor-widget__width-auto) h2.elementor-heading-title {
		font-size: 24px;
		line-height: 30px;
	}
	body:is(.page-id-3658, .page-id-3895, .page-id-3907, .page-id-3920, .page-id-6283, .page-id-3786) #content .elementor-widget-text-editor :is(ul, ol) {
		margin-left: 22px;
	}
	body:is(.page-id-3658, .page-id-3895, .page-id-3907, .page-id-3920, .page-id-6283, .page-id-3786) #content .elementor-widget-text-editor :is(ul, ol):last-child {
		margin-bottom: 0;
	}
	body:is(.page-id-3658, .page-id-3895, .page-id-3907, .page-id-3920, .page-id-6283, .page-id-3786) #content .elementor-widget-text-editor li + li {
		margin-top: 6px;
	}
	/* cookie policy title: a desktop line break left one word alone on a line */
	body.page-id-3786 #content .elementor-widget__width-auto h2.elementor-heading-title {
		line-height: 42px;
	}
	body.page-id-3786 #content .elementor-widget__width-auto h2.elementor-heading-title br {
		display: none;
	}

	/* --- Open menu ---------------------------------------------------------- */
	/* rows were 49 / 45 / 45px; button was 44px, other green buttons are 53px */
	body .uc-side-menu-wrapper .side-menu-holder a.menu-link {
		display: flex;
		align-items: center;
		min-height: 52px;
	}
	body .uc-side-menu-wrapper .side-menu-holder a.elementor-button.elementor-size-sm {
		padding: 16px 28px;
		font-size: 15px;
		line-height: 21px;
	}

	/* --- Cookie banner ------------------------------------------------------ */
	/* covered 47% of the screen: Accept and Deny now share a row, gaps are
	   tighter, and the close X has a 44px tap area (was 20px) */
	#cmplz-cookiebanner-container .cmplz-cookiebanner {
		grid-row-gap: 10px;
		row-gap: 10px;
		padding: 12px 20px 14px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-header {
		min-height: 0;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-close {
		box-sizing: content-box;
		margin: -12px -12px -12px 0;
		padding: 12px;
		outline-offset: -10px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-message {
		margin: 0 0 5px;
		width: 100%;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons {
		display: grid;
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn {
		width: auto;
		min-width: 0;
		margin: 0;
	}
	#cmplz-cookiebanner-container .cmplz-cookiebanner .cmplz-buttons .cmplz-btn:not(.cmplz-accept):not(.cmplz-deny) {
		grid-column: 1 / -1;
	}

	/* --- Checkout ----------------------------------------------------------- */
	/* "Your order" was bigger and bolder than the other section headings */
	body.woocommerce-checkout #content h3#order_review_heading {
		font-size: 26px;
		font-weight: 600;
	}
	/* order card: 32px side padding left only 282px for the contents */
	body.woocommerce-checkout #content #order_review {
		padding: 0 20px;
	}
	/* order table: the two equal columns squeezed the product name into 116px
	   and the delivery dropdown into 156px (4 lines of text). Rows are now
	   label left / amount right, and delivery gets a full-width row. */
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table,
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table :is(thead, tbody, tfoot) {
		display: block;
		width: 100%;
	}
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tr {
		display: flex;
		justify-content: space-between;
	}
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tr > :first-child {
		flex: 1 1 auto;
		min-width: 0;
	}
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tr > :last-child {
		flex: 0 0 auto;
		padding-right: 0;
	}
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tfoot td {
		padding-top: 14px;
		padding-bottom: 14px;
	}
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals {
		flex-wrap: wrap;
	}
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > :is(th, td) {
		flex: 0 0 100%;
		padding-right: 0;
		text-align: left;
	}
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > th {
		padding-bottom: 4px;
		border-bottom: 0;
	}
	body.woocommerce-checkout #content table.woocommerce-checkout-review-order-table tr.woocommerce-shipping-totals > td {
		padding-top: 4px;
	}
	body.woocommerce-checkout #content tr.woocommerce-shipping-totals .select2-container {
		width: 100% !important;
	}
	body.woocommerce-checkout #content tr.woocommerce-shipping-totals .select2-container .select2-selection--single {
		height: auto;
	}
	body.woocommerce-checkout #content tr.woocommerce-shipping-totals .select2-container .select2-selection__rendered {
		padding: 4px 0 !important;
		text-align: left;
		white-space: normal;
		line-height: 1.35;
	}
	/* card form sat inside 30px of padding on every side */
	body.woocommerce-checkout #content #payment .payment_box fieldset {
		padding: 14px;
	}
	/* Place order was 47px tall; other green buttons are 53px */
	body.woocommerce-checkout #content button#place_order {
		padding: 16px 28px;
		line-height: 21px;
	}
	/* floating basket icon overlapped the form fields and Place order */
	body.woocommerce-checkout .xoo-wsc-basket {
		display: none !important;
	}
}

/* ==========================================================================
   Button colour pass, 11 Nov 2026.
   Filled green buttons go back to a bright green close to the original:
     fill #0FA968 with white text = 3.05:1, which passes WCAG AA for large
     text only, so every one of these buttons is bold and 19px (large text
     starts at 18.67px bold).
   Hover and focus keep the dark fill #0A7451 (5.79:1).
   Green links, green text, icons, outlined buttons, FAQ tabs and selected
   option tiles keep the darker shades set on 10 Nov, so the variables set in
   that block are not changed here.
   To undo, delete this whole block.
   ========================================================================== */

/* 1. Elementor buttons (header, home, landing pages, about, contact) */
body .elementor .elementor-element.elementor-element-8b3a690 .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-3f0ff0c .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-ed7d2b8 .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-107348b .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-1c2f488 .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-ba69854 .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-2716604 .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-7f7c6d3 .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-2aed5d1 .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-a61fd33 .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-e01bd1c .elementor-button:not(:hover):not(:focus),
body .elementor .elementor-element.elementor-element-1e5c435 .elementor-button:not(:hover):not(:focus) {
  background-color: #0FA968;
}
body .elementor .elementor-element.elementor-element-8b3a690 .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-3f0ff0c .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-ed7d2b8 .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-107348b .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-1c2f488 .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-ba69854 .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-2716604 .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-7f7c6d3 .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-2aed5d1 .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-a61fd33 .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-e01bd1c .elementor-button.elementor-button,
body .elementor .elementor-element.elementor-element-1e5c435 .elementor-button.elementor-button {
  color: #fff;
  fill: #fff;
  font-size: 19px;
  font-weight: 700;
}

/* 2. Contact form submit */
body .elementor .elementor-element.elementor-element-577d3b0 .wpcf7-submit.wpcf7-submit {
  background-color: #0FA968;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
}
body .elementor .elementor-element.elementor-element-577d3b0 .wpcf7-submit.wpcf7-submit:hover,
body .elementor .elementor-element.elementor-element-577d3b0 .wpcf7-submit.wpcf7-submit:focus {
  background-color: #0A7451;
  color: #fff;
}

/* 3. WooCommerce filled buttons (basket, checkout, account). The fill comes
      from the variable, so it is reset on the button itself. Product card
      "Select options" links are text links and are left out. */
body.woocommerce-js a.button:not(.add_to_cart_button):not([class*="product_type_"]):not(:hover):not(:focus),
body.woocommerce-js button.button:not(:hover):not(:focus),
body .wc-block-components-button:not(:hover):not(:focus) {
  --main-button-bg-color: #0FA968;
}
body.woocommerce-js a.button:not(.add_to_cart_button):not([class*="product_type_"]),
body.woocommerce-js button.button,
body.woocommerce-account:not(.logged-in) .woocommerce form.woocommerce-form-login button.button,
body .wc-block-components-button {
  font-size: 19px;
  font-weight: 700;
}

/* 4. Theme buttons */
body a.StartConsltbutton:not(:hover):not(:focus),
body .commonbtnns:not(.commonRemovebtnn):not(.treatmenttStepp):not(:hover):not(:focus),
body .form-footer #submitapp:not(:hover):not(:focus),
body .treatment-form .subscribe-container .agree-btn button:not(:hover):not(:focus) {
  --main-button-bg-color: #0FA968;
}
body a.StartConsltbutton,
body .commonbtnns:not(.commonRemovebtnn):not(.treatmenttStepp),
body .form-footer #submitapp,
body .treatment-form .subscribe-container .agree-btn button {
  font-size: 19px;
  font-weight: 700;
}

/* 5. BMI checker button (eligible result) */
body .psbmi[data-state="eligible"] .psbmi-cta:not(:hover):not(:focus) {
  background: #0FA968;
  border-color: #0FA968;
}
body .psbmi[data-state="eligible"] .psbmi-cta {
  font-size: 19px;
  font-weight: 700;
}

/* 6. FAQ page contact button */
body .ps-faq-contact a.elementor-button:not(:hover):not(:focus),
body .ps-faq-contact a.elementor-button:visited:not(:hover):not(:focus) {
  background-color: #0FA968;
}
body .ps-faq-contact a.elementor-button,
body .ps-faq-contact a.elementor-button:visited {
  font-size: 19px;
  font-weight: 700;
}

/* 7. Side basket buttons (their colours are printed inline by the plugin) */
body .xoo-wsc-container .xoo-wsc-btn,
body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn,
body .xoo-wsc-empty-cart a.xoo-wsc-btn {
  background-color: #0FA968;
  border-color: #0FA968;
  color: #fff;
  font-size: 19px;
  font-weight: 700;
}
body .xoo-wsc-container .xoo-wsc-btn:hover,
body .xoo-wsc-container .xoo-wsc-btn:focus,
body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:hover,
body .xoo-wsc-ft-buttons-cont a.xoo-wsc-ft-btn:focus,
body .xoo-wsc-empty-cart a.xoo-wsc-btn:hover,
body .xoo-wsc-empty-cart a.xoo-wsc-btn:focus {
  background-color: #0A7451;
  border-color: #0A7451;
  color: #fff;
}

/* 8. Checkout "Place order": another stylesheet sets it to weight 600, so the
      weight is set again here by id (bold is needed for the 3:1 large-text rule). */
body.woocommerce-checkout #content #payment button#place_order,
body.woocommerce-checkout #payment button#place_order.button {
  font-size: 19px;
  font-weight: 700;
}

/* 9. Single delivery option: the shipping dropdown plugin prints the selected method under the
      "Shipment" heading as well as in the value column, so with one option the same line showed
      twice in the basket and checkout totals. The value column keeps it. */
tr.woocommerce-shipping-totals th .smdsw-selected-shipping,
tr.woocommerce-shipping-totals th br {
  display: none;
}
