/* ==================================================================
 * WEMountain design system, applied to the sales pages
 *
 * A reskin. The Elementor structure and the copy on these pages are left
 * exactly as they are; only their appearance is brought onto the system.
 * Anything that would move content around, section rhythm, column gaps and
 * the 3px seam, is deliberately not here, because that is page building
 * rather than restyling.
 *
 * Values are copied from the design system rather than imported from it, so
 * the theme does not depend on a folder in Google Drive.
 *
 * ---------------------------------------------------------------- scope
 *
 * Rules hang off `body.wem-ds`, added by wemountain_ds_active() to sales
 * pages other than the homepage and the five pages being redesigned.
 *
 * The class is repeated in selectors. Elementor writes a rule per element,
 * shaped `.elementor-53411 .elementor-element.elementor-element-ab12cd {...}`,
 * which carries four classes. A selector needs to beat that to restyle
 * anything, and repeating the class is a way to do it that leaves !important
 * available for genuine exceptions rather than spending it here.
 *
 * Page content is reached through `.elementor-element`, which keeps these
 * rules off the site header: that markup is the child theme's own and carries
 * no Elementor classes, so its dropdown shadow and navy panels are untouched.
 * ================================================================== */

body.wem-ds {
	/* Blues */
	--wem-blue: #0047e0;
	--wem-blue-pressed: #0032a4;
	--wem-blue-nav: #0a2f8f;
	--wem-sky: #8fb2ff;

	/* Darks and neutrals */
	--wem-night: #0c0f12;
	--wem-ink: #141414;
	--wem-stone: #56524c;
	--wem-sand: #eae8e2;
	--wem-paper: #f6f5f1;

	/* Lines and fields */
	--wem-hairline: rgba(20, 20, 20, .14);
	--wem-field-underline: rgba(20, 20, 20, .22);

	/* Motion */
	--wem-ease-standard: cubic-bezier(.2, .7, .2, 1);
	--wem-dur-state: 200ms;
}

/* ------------------------------------------------------------------ *
 * 1. Geometry: square, with one round thing
 *
 * Cards, panels and images take no radius. Buttons, chips and avatars keep
 * their pill, and anything already fully round stays round, so the rule
 * targets the small product-style radii these pages picked up: 3px on the
 * blog cards, 6px on the WEMountain page.
 * ------------------------------------------------------------------ */

body.wem-ds.wem-ds.wem-ds .elementor-element :is(
	.e-con-inner,
	.elementor-widget-container,
	.elementor-post,
	.elementor-image-box-wrapper,
	img
) {
	border-radius: 0;
}

body.wem-ds.wem-ds.wem-ds :is(.e-con, .elementor-element) {
	border-radius: 0;
}

/* Put the pill back on the things that own it. */
body.wem-ds.wem-ds.wem-ds .elementor-element :is(
	.elementor-button,
	.elementor-button-wrapper .elementor-button
) {
	border-radius: 999px;
}

/* ------------------------------------------------------------------ *
 * 2. Shadows
 *
 * The system has exactly two, and both belong to chrome: the mega panel and
 * the utility dropdown. Cards have none. These pages carry three that do not
 * belong, on the blog cards, the partner tiles and the gift-voucher panels.
 * ------------------------------------------------------------------ */

body.wem-ds.wem-ds.wem-ds .elementor-element :is(
	.e-con-inner,
	.elementor-widget-container,
	.elementor-post,
	.elementor-image-box-wrapper
) {
	box-shadow: none;
}

body.wem-ds.wem-ds.wem-ds :is(.e-con, .elementor-element) {
	box-shadow: none;
}

/* ------------------------------------------------------------------ *
 * 3. Hairlines
 *
 * One rule weight, one colour. These pages draw #EAEAEA on the blog meta
 * rows and a near-black at 13% on the carousel slides, and an older blue on
 * outlined buttons.
 *
 * The elements are named rather than caught by a blanket rule for two
 * reasons. CSS cannot select something by the colour it currently is, and
 * the borders sit on children rather than on the containers, so an earlier
 * version of this rule aimed at the containers and changed nothing.
 *
 * Everything hangs off `.elementor`, the wrapper around page content. That
 * keeps these rules off the cookie banner, which the consent plugin appends
 * to the body, and off the site header, which is the theme's own markup.
 * ------------------------------------------------------------------ */

body.wem-ds.wem-ds.wem-ds .elementor :is(
	.swiper-slide,
	.elementor-post,
	.elementor-post__card,
	.elementor-post__meta-data,
	.elementor-post__text,
	.e-con-inner,
	.elementor-widget-container,
	.elementor-image-box-wrapper
) {
	border-color: var(--wem-hairline);
}

/*
 * Buttons keep their own border colour.
 *
 * Setting it to brand blue drew a visible ring around every button. These
 * pages give a button a 3px border in the same colour as its fill, so the
 * border is meant to be invisible; recolouring it turned a solid button into
 * an outlined one. Compared against the live site to confirm.
 */

/* ------------------------------------------------------------------ *
 * 4. Colour
 *
 * Body copy is stone rather than the mid grey these pages inherited, and the
 * cyan accent becomes brand blue. Cyan is set as a text colour on containers
 * and inherited by everything inside them, so it is caught at the container.
 *
 * Headings keep their own colour: they are ink on paper and white on dark,
 * and both are already correct.
 * ------------------------------------------------------------------ */

/*
 * Body copy is deliberately left alone.
 *
 * An earlier version of this file set every paragraph to stone. The pages
 * carry it at #5A5A5A, four points per channel away from the system's
 * #56524C and indistinguishable on screen, so the rule bought nothing. What
 * it cost was real: the expert cards put white text on bright blue, magenta
 * and orange grounds, and forcing stone dropped those to contrast ratios of
 * 2.55, 1.53 and 2.83, well under the 4.5 minimum.
 *
 * A stylesheet cannot ask what colour an element is sitting on, so there is
 * no safe blanket rule here. Text colour is left to the page.
 */

/* Links, and the hover that is a colour change and never a lift. */
body.wem-ds.wem-ds.wem-ds .elementor-element a:not(.elementor-button) {
	color: var(--wem-blue);
	transition: color var(--wem-dur-state) var(--wem-ease-standard);
}

body.wem-ds.wem-ds.wem-ds .elementor-element a:not(.elementor-button):is(:hover, :focus-visible) {
	color: var(--wem-blue-pressed);
}

/* ------------------------------------------------------------------ *
 * 5. Forms
 *
 * Underline only: a 2px rule at 22%, no fill, no radius, blue on focus.
 * Boxed fields belong to product workflows, not to marketing pages. The
 * search field and the two enquiry forms on these pages are boxed today.
 * ------------------------------------------------------------------ */

body.wem-ds.wem-ds.wem-ds .elementor-element :is(
	input[type="text"],
	input[type="email"],
	input[type="search"],
	input[type="tel"],
	textarea,
	select
) {
	border: 0;
	border-bottom: 2px solid var(--wem-field-underline);
	border-radius: 0;
	background: none;
	box-shadow: none;
	color: var(--wem-ink);
}

body.wem-ds.wem-ds.wem-ds .elementor-element :is(
	input[type="text"],
	input[type="email"],
	input[type="search"],
	input[type="tel"],
	textarea
):focus {
	border-bottom-color: var(--wem-blue);
	box-shadow: none;
}

/* ------------------------------------------------------------------ *
 * 6. Layout: one container, long breaths
 *
 * This is what makes the pages read as designed. Most sections on these pages
 * carry no vertical padding at all, five of seven on Bons cadeaux and seven of
 * eight on T-Learning, so everything runs together. Their widths wander too:
 * 1140, 1200, 1296 and 1440 inside a single page.
 *
 * The selector matters more than the values. Elementor renders every loop item
 * and carousel slide as its own `.elementor` document, so `.elementor > .e-con`
 * reaches inside the cards: on Partenaires that is 39 loop items, on
 * WEMountain 41 items and 97 slides. Padding applied through that selector
 * would land inside every tile. `.bb-elementor-content > .elementor` is the
 * page's own root, exactly one per page, and its direct children are the real
 * sections.
 *
 * The first section keeps whatever height it was built with, since it is
 * usually a full-bleed banner that sets its own.
 * ------------------------------------------------------------------ */

/*
 * Space BETWEEN sections, not inside them.
 *
 * The first attempt here put clamp(68px, 9vw, 124px) of padding inside every
 * section. That assumes each section is a self-contained block, which is true
 * of the design system's own page and false of these: a section here is often
 * just a heading, or a single button. Padding every one put 248px between
 * neighbours, collapsed the hero, and read as unfinished rather than roomy.
 *
 * A margin on the adjacent sibling gives exactly one gap between two sections,
 * never a doubled one. It also leaves the first section alone, so full-bleed
 * banners keep the height they were built with, and it adds nothing inside a
 * section, so coloured grounds do not grow.
 */
/*
 * And no spacing rule between sections either.
 *
 * This was the third attempt and the third to do damage. Some of these pages
 * pull a section up over the banner with a negative top margin, so the
 * heading and button sit on the photograph. Setting margin-block-start
 * overrides that pull: on T-Learning the hero copy dropped off the image and
 * left a void where it had been.
 *
 * The pattern across all three attempts is the same. These pages were built
 * one at a time, each with its own padding, widths and overlaps, so a rule
 * that suits one breaks another. Spacing here is per-page work, done with the
 * page in front of you, not something a stylesheet can normalise.
 */

/*
 * No gutter rule, and no container width rule.
 *
 * Both were tried and both did damage: inline padding boxed the hero
 * photographs in, and forcing a single container width rearranged what was
 * left of them.
 *
 * These sections already carry their own inline padding, 7vw on the pages
 * checked, so adding more simply pushed their contents inwards. The first
 * section of a page is usually the banner, and whether its picture is a
 * background or an image differs page to page, so there is no single safe
 * rule to apply to all of them.
 *
 * These pages set their own widths per section, between 1140px and 1440px.
 * Making that consistent is worth doing, but it has to be done per section
 * with the result looked at, not by one rule applied to all of them.
 */

/* ------------------------------------------------------------------ *
 * 7. Grounds that are not in the palette
 *
 * The system has three grounds: paper for reading, night and brand blue for
 * impact, with sand as the quiet surface. T-Learning ends on a pale cyan
 * band, #CFF5FF, which belongs to none of them. It becomes sand, so the
 * heading and the button on it keep their dark text and their contrast.
 *
 * Brand blue would be the more striking choice, and the wrong one to make
 * here: it would need the text on the band turned white to stay readable,
 * and blanket text-colour rules are what put stone on the bright expert
 * cards earlier and dropped them to 1.53:1.
 *
 * Elementor names its elements by id, so this is one band on one page. If
 * that section is rebuilt the id changes and this rule stops matching, which
 * is the right failure: it does nothing rather than colouring the wrong
 * thing.
 * ------------------------------------------------------------------ */

body.wem-ds.wem-ds.wem-ds .elementor-element-432e98e {
	background-color: var(--wem-sand);
}

/*
 * The old brand accents: cyan, magenta and orange.
 *
 * They colour the round pictogram badges and three expert cards, and none of
 * the three is in the palette. Every one becomes brand blue.
 *
 * Listed by element id rather than caught by a rule. Three attempts at
 * blanket layout rules did damage on pages built one at a time, and a blanket
 * colour rule is the same risk: there is no way to say "this blue but not
 * that one" in a selector. Seventeen ids is longer to read and cannot reach
 * anything it was not pointed at.
 *
 * If a section is rebuilt its id changes and its rule stops matching, which
 * fails safely: the colour reverts rather than landing somewhere wrong.
 */
body.wem-ds.wem-ds.wem-ds :is(
	.elementor-element-5999669,  /* expert card, was magenta */
	.elementor-element-bb81f0b   /* expert card, was cyan-blue */
) {
	background-color: var(--wem-blue);
}

/*
 * The round pictogram badges.
 *
 * Each is a `span.elementor-icon` with no id of its own, which is what caused
 * the mess on the first attempt: a probe that walked up the tree to find an id
 * returned the whole feature block, and colouring that painted the panel
 * behind the heading and body copy, leaving near-black text on brand blue at
 * 2.28 and 1.02.
 *
 * Naming the block *and* the span reaches the 70x70 circle and nothing else.
 * The white pictogram inside each one stays white on brand blue, 7.05:1.
 */
body.wem-ds.wem-ds.wem-ds :is(
	.elementor-element-034d33e,
	.elementor-element-10e08eb,
	.elementor-element-2d777bb,
	.elementor-element-4737cf4,
	.elementor-element-654fcc2,
	.elementor-element-699ef1b,
	.elementor-element-91e7aeb,
	.elementor-element-a49bcb0,
	.elementor-element-ca7be51,
	.elementor-element-ebfe49f,
	.elementor-element-ef3f05c,
	.elementor-element-ef951ce
) span.elementor-icon {
	background-color: var(--wem-blue);
}

/* Two buttons still carrying an older blue. */
body.wem-ds.wem-ds.wem-ds :is(
	.elementor-element-9dc947a,
	.elementor-element-6ea858e
) button.elementor-button {
	background-color: var(--wem-blue);
}

/*
 * The fourth expert card. Pinned to its page as a precaution rather than a
 * cure: each id here does in fact belong to one page only, which was checked
 * rather than assumed after an earlier guess that they were shared turned out
 * to be wrong.
 *
 * What actually painted a whole T-Learning column blue was a badge id sitting
 * in this card rule by mistake. A badge takes `span.elementor-icon` inside it;
 * a card takes the element itself. The two lists must not overlap.
 */
body.wem-ds.wem-ds.wem-ds:is(.page-id-51793, .page-id-52593) .elementor-element-7cc2599 {
	background-color: var(--wem-blue);
}

body.wem-ds.wem-ds.wem-ds:is(.page-id-51793, .page-id-52593) .elementor-element-7cc2599 :is(p, h1, h2, h3, h4, h5, h6, span, li, a) {
	color: #fff;
}

/*
 * The three expert cards are the large panels among those, and their text is
 * a near-white that already failed contrast on the old brand colours, at
 * 2.40, 2.67 and 4.45 against the required 4.5. Setting it to plain white on
 * brand blue takes all three to 7.05.
 */
body.wem-ds.wem-ds.wem-ds :is(
	.elementor-element-5999669,
	.elementor-element-bb81f0b
) :is(p, h1, h2, h3, h4, h5, h6, span, li, a) {
	color: #fff;
}

/* ------------------------------------------------------------------ *
 * 8. Reconciling the page data with this stylesheet
 *
 * Colour now lives in the page data, where it belongs, and this file sets
 * shape and type. Where the two disagreed, the page showed it.
 * ------------------------------------------------------------------ */

/*
 * A button's border matches its fill.
 *
 * These pages give a button a 3px border in the same colour as its
 * background, so it never shows. The page data now names brand blue for that
 * border, while this stylesheet fills the button with ink, and the mismatch
 * drew a blue ring around every black button. Matching the border to the fill
 * restores the invisible border the pages were built with.
 */
body.wem-ds.wem-ds.wem-ds .elementor :is(
	.elementor-button,
	.elementor-button-wrapper .elementor-button
) {
	border-color: var(--wem-ink);
}

body.wem-ds.wem-ds.wem-ds .elementor :is(
	.elementor-button,
	.elementor-button-wrapper .elementor-button
):is(:hover, :focus-visible) {
	border-color: var(--wem-blue);
}

/*
 * Two of these are text links, not buttons.
 *
 * "En savoir plus" under each course card is a plain blue link on the live
 * site, with no fill. It is marked up as a button, so the blanket button
 * styling turned it into a black pill. These put it back.
 */
body.wem-ds.wem-ds.wem-ds :is(
	.elementor-element-0a61015,
	.elementor-element-d360e8d
) .elementor-button {
	background-color: transparent;
	border-color: transparent;
	border-radius: 0;
	color: var(--wem-blue);
	padding-inline: 0;
}

/*
 * Heading colour is left to each page.
 *
 * A rule here once set every heading to ink. It turned the white headlines on
 * the hero photographs black and unreadable, to replace a near-black #010101
 * that nobody could tell apart from ink in the first place.
 */

/* ------------------------------------------------------------------ *
 * 9. Reduced motion
 * ------------------------------------------------------------------ */

@media (prefers-reduced-motion: reduce) {
	body.wem-ds .elementor-element * {
		transition-duration: .01ms !important;
	}
}

/* ------------------------------------------------------------------ *
 * 10. The shop: partner products
 *
 * WooCommerce prints the shop through its own templates and hooks, and the
 * WEMber advantage lines under each price come from the partial-payments
 * integration through those same hooks. None of that markup is touched: the
 * design is applied to WooCommerce's own classes, so every hook keeps
 * printing where it always has.
 *
 * The design: a navigation-blue band with the shop's title, then white cards
 * 3px apart on paper, the product photograph on white above a hairline, the
 * name in Big Shoulders, the price lines, and a pill button that fills blue
 * with the card under the pointer.
 * ------------------------------------------------------------------ */

/* The shop's header, full-bleed on the navigation blue. */
body.wem-ds .woocommerce-products-header {
	margin: 0 calc(50% - 50vw) clamp(40px, 5vw, 64px);
	padding: clamp(48px, 6vw, 88px) clamp(22px, 5.5vw, 88px) clamp(40px, 5vw, 64px);
	background: var(--wem-blue-nav);
	color: #fff;
}

body.wem-ds .woocommerce-products-header > * {
	width: min(100%, 1540px);
	margin-left: auto;
	margin-right: auto;
}

body.wem-ds .woocommerce-products-header__title {
	margin: 0;
	max-width: 14ch;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(44px, 6vw, 96px);
	font-weight: 900;
	line-height: .9;
	letter-spacing: -.02em;
	text-transform: uppercase;
	color: #fff;
}

body.wem-ds .woocommerce-products-header .term-description,
body.wem-ds .woocommerce-products-header .page-description {
	max-width: 56ch;
	margin-top: 18px;
	color: rgba(255, 255, 255, .82);
}

/* The result count and the ordering control, quiet, on one line. */
body.wem-ds .woocommerce-result-count {
	color: var(--wem-stone);
	font-size: 14px;
}

body.wem-ds .woocommerce-ordering select {
	border: 0;
	border-bottom: 2px solid var(--wem-field-underline);
	border-radius: 0;
	background: none;
	padding: 8px 2px;
	font-size: 14px;
}

/* The grid: 3px seams, no radius, no shadow. */
body.wem-ds ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 3px;
	margin: 0;
	padding: 0;
}

body.wem-ds ul.products.columns-3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1180px) {
	body.wem-ds ul.products,
	body.wem-ds ul.products.columns-3 {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 860px) {
	body.wem-ds ul.products,
	body.wem-ds ul.products.columns-3 {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 520px) {
	body.wem-ds ul.products,
	body.wem-ds ul.products.columns-3 {
		grid-template-columns: 1fr;
	}
}

body.wem-ds ul.products li.product {
	display: flex;
	flex-direction: column;
	width: auto;
	margin: 0;
	padding: 0 0 22px;
	background: #fff;
	border: 1px solid var(--wem-hairline);
	border-radius: 0;
	box-shadow: none;
	text-align: left;
	transition: border-color 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds ul.products li.product:hover,
body.wem-ds ul.products li.product:focus-within {
	border-color: var(--wem-blue);
}

/* The photograph, on white, held off the edges, over a hairline. */
body.wem-ds ul.products li.product img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: contain;
	margin: 0 0 18px;
	padding: 22px 22px 8px;
	box-sizing: border-box;
	background: #fff;
	border-bottom: 1px solid var(--wem-hairline);
	border-radius: 0;
}

body.wem-ds ul.products li.product .woocommerce-loop-product__title,
body.wem-ds ul.products li.product h2 {
	margin: 0 22px 10px;
	padding: 0;
	font-family: "Big Shoulders", sans-serif;
	font-size: 21px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	color: var(--wem-ink);
}

/* The price lines: the original price, then the advantage and what is due. */
body.wem-ds ul.products li.product .price,
body.wem-ds ul.products li.product .price del,
body.wem-ds ul.products li.product .price ins {
	display: block;
	margin: 0 22px;
	color: var(--wem-ink);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none;
}

body.wem-ds ul.products li.product > *:not(a):not(h2):not(img):not(.button) {
	margin-left: 22px;
	margin-right: 22px;
	font-size: 13px;
	color: var(--wem-stone);
}

body.wem-ds ul.products li.product .button,
body.wem-ds ul.products li.product a.button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	margin: auto 22px 0;
	padding: 10px 24px;
	border: 1px solid var(--wem-ink);
	border-radius: 999px;
	background: transparent;
	color: var(--wem-ink);
	font-family: "Big Shoulders", sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1), color 180ms cubic-bezier(.16, 1, .3, 1), border-color 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds ul.products li.product:hover .button,
body.wem-ds ul.products li.product .button:focus-visible {
	background: var(--wem-blue);
	border-color: var(--wem-blue);
	color: #fff;
}

/* The filters beside the grid: eyebrow headings, plain lists, blue when chosen. */
body.wem-ds .widget-area .widget-title,
body.wem-ds .widget-area .widgettitle {
	margin: 0 0 14px;
	font-family: inherit;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--wem-stone);
}

body.wem-ds .widget-area .woocommerce-widget-layered-nav-list li {
	padding: 6px 0;
	border-top: 1px solid var(--wem-hairline);
	font-size: 14px;
}

body.wem-ds .widget-area .woocommerce-widget-layered-nav-list li.chosen a {
	color: var(--wem-blue);
	font-weight: 600;
}

/* ------------------------------------------------------------------ *
 * 11. A product
 *
 * The photograph gallery on the left, the summary on a white card on the
 * right: brand line, the name in Big Shoulders, the price lines, the short
 * description, the size control and quantity, and the blue pill. The tabs
 * under them become plain headings; the related products take the cards
 * from section 10.
 * ------------------------------------------------------------------ */

body.wem-ds.single-product .woocommerce-breadcrumb {
	margin: 26px 0 0;
	color: var(--wem-stone);
	font-size: 13px;
	letter-spacing: .02em;
}

body.wem-ds.single-product .woocommerce-breadcrumb a {
	color: var(--wem-stone);
}

body.wem-ds.single-product div.product {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 3px;
	align-items: start;
	margin-top: clamp(28px, 4vw, 48px);
}

@media (max-width: 900px) {
	body.wem-ds.single-product div.product {
		grid-template-columns: 1fr;
	}
}

body.wem-ds.single-product div.product .woocommerce-product-gallery {
	float: none;
	width: auto;
	margin: 0;
}

body.wem-ds.single-product div.product .woocommerce-product-gallery img {
	border-radius: 0;
}

body.wem-ds.single-product div.product .woocommerce-product-gallery .flex-control-thumbs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3px;
	margin: 3px 0 0;
}

body.wem-ds.single-product div.product .woocommerce-product-gallery .flex-control-thumbs li {
	width: auto;
	margin: 0;
	background: #fff;
	border: 1px solid var(--wem-hairline);
}

body.wem-ds.single-product div.product .summary {
	float: none;
	width: auto;
	margin: 0;
	padding: clamp(28px, 3vw, 48px);
	background: #fff;
	border: 1px solid var(--wem-hairline);
}

body.wem-ds.single-product div.product .summary .product_title {
	margin: 0 0 24px;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(44px, 5vw, 72px);
	font-weight: 900;
	line-height: .88;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds.single-product div.product .summary .price {
	display: block;
	margin: 0;
	padding: 22px 0;
	border-top: 1px solid var(--wem-hairline);
	border-bottom: 1px solid var(--wem-hairline);
	font-family: "Big Shoulders", sans-serif;
	font-size: 26px;
	font-weight: 900;
	line-height: 1;
	color: var(--wem-ink);
}

body.wem-ds.single-product div.product .summary .woocommerce-product-details__short-description {
	max-width: 56ch;
	margin: 26px 0 0;
	color: var(--wem-stone);
}

body.wem-ds.single-product div.product .summary table.variations th,
body.wem-ds.single-product div.product .summary table.variations td {
	padding: 10px 0;
	border: 0;
	vertical-align: middle;
}

body.wem-ds.single-product div.product .summary table.variations label {
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wem-stone);
}

body.wem-ds.single-product div.product .summary :is(table.variations select, .quantity .qty) {
	min-height: 46px;
	border: 0;
	border-bottom: 2px solid var(--wem-field-underline);
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-size: 16px;
	color: var(--wem-ink);
}

body.wem-ds.single-product div.product .summary :is(table.variations select, .quantity .qty):focus {
	border-bottom-color: var(--wem-blue);
	outline: none;
}

body.wem-ds.single-product div.product .summary form.cart {
	margin: 28px 0 0;
}

body.wem-ds.single-product div.product .summary .single_add_to_cart_button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 34px;
	border: 0;
	border-radius: 999px;
	background: var(--wem-blue);
	color: #fff;
	font-family: "Big Shoulders", sans-serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds.single-product div.product .summary .single_add_to_cart_button:is(:hover, :focus-visible) {
	background: var(--wem-blue-pressed);
}

/* The description and additional information, under the two columns. */
body.wem-ds.single-product div.product .woocommerce-tabs {
	grid-column: 1 / -1;
	margin: clamp(40px, 5vw, 72px) 0 0;
}

body.wem-ds.single-product div.product .woocommerce-tabs ul.tabs {
	margin: 0;
	padding: 0;
	border-bottom: 1px solid var(--wem-hairline);
}

body.wem-ds.single-product div.product .woocommerce-tabs ul.tabs::before,
body.wem-ds.single-product div.product .woocommerce-tabs ul.tabs::after,
body.wem-ds.single-product div.product .woocommerce-tabs ul.tabs li::before,
body.wem-ds.single-product div.product .woocommerce-tabs ul.tabs li::after {
	display: none;
}

body.wem-ds.single-product div.product .woocommerce-tabs ul.tabs li {
	margin: 0 26px 0 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background: none;
	box-shadow: none;
}

body.wem-ds.single-product div.product .woocommerce-tabs ul.tabs li a {
	padding: 12px 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--wem-stone);
}

body.wem-ds.single-product div.product .woocommerce-tabs ul.tabs li.active a {
	color: var(--wem-blue);
	box-shadow: inset 0 -3px 0 var(--wem-blue);
}

body.wem-ds.single-product div.product .woocommerce-tabs .panel {
	max-width: 60ch;
	padding: 26px 0 0;
	color: var(--wem-stone);
}

body.wem-ds.single-product div.product .woocommerce-tabs .panel h2 {
	margin: 0 0 20px;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 900;
	line-height: .94;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds.single-product div.product section.related,
body.wem-ds.single-product div.product section.upsells {
	grid-column: 1 / -1;
	margin: clamp(56px, 7vw, 96px) 0 0;
}

body.wem-ds.single-product div.product :is(section.related, section.upsells) > h2 {
	margin: 0 0 clamp(28px, 4vw, 44px);
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 900;
	line-height: .94;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

/* ------------------------------------------------------------------ *
 * 12. Creating an account
 *
 * The registration and activation pages are BuddyPress's, moved to the
 * sales side of the header boundary for the redesign (see
 * wemountain_header_v2_is_training_context()). The form keeps its fields
 * and its checks; it is drawn on a white card with hairline borders, eyebrow
 * labels, underlined fields and the blue pill.
 * ------------------------------------------------------------------ */

body.wem-ds.register #register-page,
body.wem-ds.register .register-section,
body.wem-ds.activate .bb-activate-page {
	max-width: 720px;
	margin: clamp(28px, 4vw, 48px) auto clamp(64px, 8vw, 110px);
	padding: clamp(28px, 4vw, 64px);
	background: #fff;
	border: 1px solid var(--wem-hairline);
	border-radius: 0;
	box-shadow: none;
}

body.wem-ds.register #register-page .register-section {
	max-width: none;
	margin: 0;
	padding: 0;
	border: 0;
}

body.wem-ds.register h1,
body.wem-ds.register h2.bp-heading,
body.wem-ds.register .register-section h2,
body.wem-ds.activate h1 {
	margin: 0 0 clamp(28px, 4vw, 44px);
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(38px, 4.6vw, 64px);
	font-weight: 900;
	line-height: .9;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds.register #signup-form label,
body.wem-ds.register #signup-form legend,
body.wem-ds.register #signup-form .label {
	display: block;
	margin: 0 0 8px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wem-stone);
}

body.wem-ds.register #signup-form :is(input[type="text"], input[type="email"], input[type="password"], input[type="number"], input[type="tel"], select, textarea) {
	width: 100%;
	min-height: 48px;
	padding: 10px 2px;
	border: 0;
	border-bottom: 2px solid var(--wem-field-underline);
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-size: 16px;
	color: var(--wem-ink);
}

body.wem-ds.register #signup-form :is(input, select, textarea):focus {
	border-bottom-color: var(--wem-blue);
	outline: none;
	box-shadow: none;
}

body.wem-ds.register #signup-form .editfield,
body.wem-ds.register #signup-form .signup-field {
	margin: 0 0 26px;
}

body.wem-ds.register #signup-form :is(input[type="submit"], button[type="submit"], .button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 34px;
	border: 0;
	border-radius: 999px;
	background: var(--wem-blue);
	color: #fff;
	font-family: "Big Shoulders", sans-serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds.register #signup-form :is(input[type="submit"], button[type="submit"], .button):is(:hover, :focus-visible) {
	background: var(--wem-blue-pressed);
}

/* ------------------------------------------------------------------ *
 * 13. News (no design for this page: the system applied to what is there)
 *
 * The listing and the single article share one card: the photograph on the
 * left, the headline in Big Shoulders, the date as an eyebrow, the text in
 * stone and a pill link. The blue tint behind the old card goes, the banner
 * over the article takes the tile scrim and loses its polygon, and the cards
 * sit 3px apart. The markup, the fields and the AJAX paging are untouched.
 * ------------------------------------------------------------------ */

body.wem-ds .main_banner.career_banner_wrapper {
	height: clamp(300px, 38vh, 440px);
	background: var(--wem-night);
}

body.wem-ds .main_banner .banner_overlay_main {
	/* The photograph at full colour; a soft fade only under the title. */
	background: linear-gradient(180deg, rgba(12, 15, 18, 0) 45%, rgba(12, 15, 18, .5) 100%);
	z-index: 1;
}

body.wem-ds .main_banner .poli_shape,
body.wem-ds .main_banner .banner_curve_angle {
	display: none;
}

body.wem-ds .news-block {
	padding: clamp(40px, 5vw, 64px) 0 clamp(56px, 7vw, 96px);
}

body.wem-ds .news-block .container + .container {
	margin-top: 3px;
}

body.wem-ds .news-block .climbing_inner_panel {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: 0;
	padding: 0;
	background: #fff;
	border: 1px solid var(--wem-hairline);
}

@media (max-width: 760px) {
	body.wem-ds .news-block .climbing_inner_panel {
		grid-template-columns: 1fr;
	}
}

body.wem-ds .news-block .climbing_inner_panel .climbing_left {
	width: auto;
	height: auto;
	aspect-ratio: 4 / 3;
	margin: 0;
}

body.wem-ds .news-block .climbing_inner_panel .climbing_left img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.wem-ds .news-block .climbing_right_ciontent {
	display: flex;
	flex-direction: column;
	gap: 14px;
	padding: clamp(24px, 3vw, 44px);
}

body.wem-ds .news-block .news_headline {
	margin: 0;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(26px, 2.4vw, 34px);
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds .news-block .news_sub_headline {
	order: -1;
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--wem-blue);
}

body.wem-ds .news-block .news_content,
body.wem-ds .news-block .news_content p {
	margin: 0;
	color: var(--wem-stone);
	font-size: 16px;
	line-height: 1.6;
}

body.wem-ds .news-block .news_footer {
	margin-top: auto;
	padding-top: 10px;
}

body.wem-ds .news-block .news_footer a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 24px;
	border: 1px solid var(--wem-ink);
	border-radius: 999px;
	background: transparent;
	color: var(--wem-ink);
	font-family: "Big Shoulders", sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1), color 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds .news-block .news_footer a:is(:hover, :focus-visible) {
	background: var(--wem-ink);
	color: #fff;
}

/* The page numbers under the list. */
body.wem-ds .news_pagination_wrapper .paginator {
	display: flex;
	justify-content: center;
	gap: 3px;
	margin-top: clamp(28px, 4vw, 44px);
}

body.wem-ds .news_pagination_wrapper .paginator :is(a, span, li, button) {
	min-width: 44px;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wem-hairline);
	border-radius: 999px;
	background: #fff;
	color: var(--wem-ink);
	font-family: "Big Shoulders", sans-serif;
	font-size: 16px;
	font-weight: 800;
}

body.wem-ds .news_pagination_wrapper .paginator :is(.active, .current, .selected) {
	background: var(--wem-blue);
	border-color: var(--wem-blue);
	color: #fff;
}

/* ------------------------------------------------------------------ *
 * 14. Careers (no design: the system applied to the page's panels)
 *
 * Headings in Big Shoulders, body copy in stone at a reading measure, the
 * photograph beside its text without the old margin, and the long breaths
 * between panels. Layouts and fields are the ACF page's own.
 * ------------------------------------------------------------------ */

body.wem-ds :is(.cms_ft_panel, .cms_st_panel, .cms_tht_panel) {
	padding: clamp(56px, 7vw, 96px) 0;
}

body.wem-ds :is(.cms_ft_panel, .cms_st_panel, .cms_tht_panel) + :is(.cms_ft_panel, .cms_st_panel, .cms_tht_panel) {
	padding-top: 0;
}

body.wem-ds .cmsft_inner_content h2,
body.wem-ds .elp_content h3 {
	margin: 0 0 22px;
	max-width: 16ch;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(38px, 5vw, 66px);
	font-weight: 900;
	line-height: .95;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds .elp_content h3 {
	font-size: clamp(30px, 3.4vw, 46px);
}

body.wem-ds :is(.cmsft_inner_content, .elp_content, .cmstrd_inner_content) p {
	max-width: 60ch;
	margin: 0 0 18px;
	color: var(--wem-stone);
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}

body.wem-ds .cms_st_panel .row.align-items-center {
	align-items: start !important;
	gap: clamp(24px, 5vw, 92px) 0;
}

body.wem-ds .elp_cms_image {
	margin: 0;
	aspect-ratio: 4 / 5;
	overflow: hidden;
}

body.wem-ds .elp_cms_image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

body.wem-ds .martial_main_wrapper .martial_inner_bottom_banner {
	margin: 0 calc(50% - 50vw);
}

body.wem-ds .martial_main_wrapper .martial_inner_bottom_banner img {
	display: block;
	width: 100%;
	height: clamp(280px, 40vw, 560px);
	object-fit: cover;
}

/* ------------------------------------------------------------------ *
 * 15. Contact (no design: the system applied to the page's blocks)
 *
 * The heading pair in the design's section opening, the form's fields as
 * underlines with the blue pill, then the map and the address card 3px
 * apart. Contact Form 7 keeps its fields and its handling.
 * ------------------------------------------------------------------ */

body.wem-ds .welcome_text_wemount.templatescontact-us-php {
	padding: clamp(56px, 7vw, 96px) 0 clamp(40px, 5vw, 64px);
}

body.wem-ds .welcome_text_wemount .hexagon_heading {
	display: block;
	max-width: 60ch;
	margin: 0 0 clamp(36px, 5vw, 56px);
	text-align: left;
}

body.wem-ds .welcome_text_wemount .hexagon_heading h2 {
	margin: 0 0 18px;
	max-width: 13ch;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(38px, 5vw, 66px);
	font-weight: 900;
	line-height: .95;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds .welcome_text_wemount .hexagon_heading h3 {
	margin: 0;
	font-family: inherit;
	font-size: clamp(17px, 1.5vw, 21px);
	font-weight: 400;
	line-height: 1.6;
	text-transform: none;
	color: var(--wem-stone);
}

body.wem-ds .cont_page_cntwrapper {
	max-width: 720px;
}

body.wem-ds .cont_page_cntwrapper :is(input[type="text"], input[type="email"], input[type="tel"], input[type="url"], textarea, select) {
	width: 100%;
	min-height: 48px;
	padding: 10px 2px;
	border: 0;
	border-bottom: 2px solid var(--wem-field-underline);
	border-radius: 0;
	background: none;
	box-shadow: none;
	font-size: 16px;
	color: var(--wem-ink);
}

body.wem-ds .cont_page_cntwrapper :is(input, textarea, select):focus {
	border-bottom-color: var(--wem-blue);
	outline: none;
	box-shadow: none;
}

body.wem-ds .cont_page_cntwrapper label {
	display: block;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--wem-stone);
}

body.wem-ds .cont_page_cntwrapper :is(input[type="submit"], button[type="submit"], .wpcf7-submit) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	min-height: 52px;
	margin-top: 10px;
	padding: 14px 34px;
	border: 0;
	border-radius: 999px;
	background: var(--wem-blue);
	color: #fff;
	font-family: "Big Shoulders", sans-serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds .cont_page_cntwrapper :is(input[type="submit"], button[type="submit"], .wpcf7-submit):is(:hover, :focus-visible) {
	background: var(--wem-blue-pressed);
}

body.wem-ds .contact-form-layout {
	padding: 0 0 clamp(56px, 7vw, 96px);
}

body.wem-ds .contact-form-layout .cont_row_custom {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
	gap: 3px;
	align-items: stretch;
}

@media (max-width: 860px) {
	body.wem-ds .contact-form-layout .cont_row_custom {
		grid-template-columns: 1fr;
	}
}

body.wem-ds .contact-form-layout :is(.cont_pan_left, .cont_pan_right) {
	width: auto;
	margin: 0;
	padding: 0;
}

body.wem-ds .contact-form-layout :is(.map_main_wrapper, .map-embeded-code) {
	height: 100%;
	padding: 0;
	background: none;
}

body.wem-ds .contact-form-layout .map-embeded-code iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 380px;
	border: 0;
}

body.wem-ds .contact-form-layout .corp_add_wrapper {
	height: 100%;
	padding: clamp(28px, 3vw, 44px);
	background: #fff;
	border: 1px solid var(--wem-hairline);
}

body.wem-ds .contact-form-layout .corp_add_wrapper h5 {
	margin: 0 0 22px;
	font-family: "Big Shoulders", sans-serif;
	font-size: 27px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds .contact-form-layout .corp_add_wrapper table {
	width: 100%;
	border-collapse: collapse;
}

body.wem-ds .contact-form-layout .corp_add_wrapper td {
	padding: 12px 0;
	border-top: 1px solid var(--wem-hairline);
	vertical-align: middle;
	color: var(--wem-stone);
	font-size: 15px;
}

body.wem-ds .contact-form-layout .corp_add_wrapper td.icons-mat {
	width: 44px;
	color: var(--wem-blue);
}

body.wem-ds .contact-form-layout .corp_add_wrapper a {
	color: var(--wem-ink);
	font-weight: 600;
	text-decoration: none;
}

body.wem-ds .garey_support {
	display: none;
}

/* ------------------------------------------------------------------ *
 * 16. Gift card (no design for the page: the course pages' gift band)
 *
 * The block is drawn as the gift card band from the course designs: a sand
 * ground, the small heading as an eyebrow, the question in Big Shoulders,
 * the card picture beside it with a hairline, and the blue pill.
 * ------------------------------------------------------------------ */

body.wem-ds .giftcard_wrapper {
	margin: 0 calc(50% - 50vw);
	padding: clamp(68px, 9vw, 124px) clamp(22px, 5.5vw, 88px);
	background: var(--wem-sand);
}

body.wem-ds .giftcard_wrapper .container {
	width: min(100%, 1540px);
	max-width: none;
	padding: 0;
}

body.wem-ds .giftcard_wrapper .giftcard_heading h1 {
	margin: 0 0 22px;
	font-family: inherit;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
	color: var(--wem-blue);
}

body.wem-ds .giftcard_wrapper .giftcard_inner_box .row {
	align-items: center;
}

body.wem-ds .giftcard_wrapper .gift-card-left-content {
	display: flex;
	flex-direction: column;
	gap: 22px;
	align-items: flex-start;
}

body.wem-ds .giftcard_wrapper .gift-card-emt-heading {
	margin: 0;
	max-width: 13ch;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(38px, 5vw, 66px);
	font-weight: 900;
	line-height: .9;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds .giftcard_wrapper .gift-card-left-content p {
	max-width: 56ch;
	margin: 0;
	color: var(--wem-stone);
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.6;
}

body.wem-ds .giftcard_wrapper .gif-card-footer-heading {
	margin: 0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--wem-stone);
}

body.wem-ds .giftcard_wrapper .giftcrd-cardbox-wrapper img {
	display: block;
	width: 100%;
	border: 1px solid var(--wem-hairline);
	border-radius: 0;
	box-shadow: none;
}

body.wem-ds .giftcard_wrapper .take_adv_wrapper {
	justify-content: flex-start;
	padding: 0;
	margin-top: 26px;
}

body.wem-ds .giftcard_wrapper .take_adv_wrapper a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	max-width: none;
	height: auto;
	min-height: 52px;
	margin: 0;
	padding: 14px 34px;
	border: 0;
	border-radius: 999px;
	background: var(--wem-blue);
	color: #fff;
	font-family: "Big Shoulders", sans-serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds .giftcard_wrapper .take_adv_wrapper a:is(:hover, :focus-visible) {
	background: var(--wem-blue-pressed);
}

/* ------------------------------------------------------------------ *
 * 17. FAQ (no design: the accordion in the system)
 *
 * The heading in Big Shoulders, left-aligned and without the old rule
 * through it; each question on its own hairline row at reading size, the
 * plus and minus in blue; answers in stone. The toggling script is the
 * theme's own and untouched.
 * ------------------------------------------------------------------ */

body.wem-ds .faq_wrapper_main,
body.wem-ds .martial_main_wrapper .martial_content_inner {
	padding: 0;
}

body.wem-ds .martial_main_wrapper .martial_header {
	width: 100%;
	margin: 0 0 clamp(36px, 5vw, 56px);
}

body.wem-ds .martial_main_wrapper .martial_header::after,
body.wem-ds .martial_main_wrapper .martial_header::before {
	display: none;
}

body.wem-ds .martial_header .eti_heading,
body.wem-ds .martial_header .eti_heading p {
	margin: 0;
	text-align: left;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(38px, 5vw, 66px);
	font-weight: 900;
	line-height: .95;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds .accordion-wrapper {
	border-top: 1px solid var(--wem-hairline);
}

body.wem-ds .accordion-wrapper .ac-pane {
	margin: 0;
	border-bottom: 1px solid var(--wem-hairline);
}

body.wem-ds .accordion-wrapper .ac-title {
	display: flex;
	align-items: center;
	gap: 18px;
	padding: 22px 0;
	color: var(--wem-ink);
	font-size: clamp(17px, 1.5vw, 21px);
	font-weight: 600;
	line-height: 1.4;
	text-decoration: none;
}

body.wem-ds .accordion-wrapper .ac-title .accor_handeler {
	order: 2;
	margin-left: auto;
	color: var(--wem-blue);
}

body.wem-ds .accordion-wrapper .ac-content,
body.wem-ds .accordion-wrapper .ac-content p {
	max-width: 60ch;
	margin: 0;
	padding: 0 0 26px 0;
	color: var(--wem-stone);
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
}

body.wem-ds .accordion-wrapper .ac-content p + p {
	padding-top: 0;
}

/* ------------------------------------------------------------------ *
 * 18. "Nos avantages" and "Nous proposons" (no design: text panels)
 *
 * The one panel these pages are built from: a centred 60px heading over
 * wide paragraphs. It takes the section opening of the design instead — the
 * heading in Big Shoulders on the left, the paragraphs in stone at a reading
 * measure beside it.
 * ------------------------------------------------------------------ */

body.wem-ds .wemounr_offer {
	padding: clamp(56px, 7vw, 96px) 0;
}

/*
 * A flex row rather than a grid: the heading takes the left column and the
 * paragraphs, however many, stack in the right one, each pushed over by its
 * own margin, which a grid cannot do for items it has not been told about.
 */
body.wem-ds .wemounr_offer .offer_panel_internal {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	column-gap: clamp(24px, 5vw, 92px);
	row-gap: 18px;
}

body.wem-ds .wemounr_offer .offer_panel_internal h3 {
	margin: 0;
	max-width: 13ch;
	text-align: left;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(38px, 5vw, 66px);
	font-weight: 900;
	line-height: .95;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds .wemounr_offer .offer_panel_internal h3 {
	flex: 0 0 38%;
}

body.wem-ds .wemounr_offer .offer_panel_internal p {
	flex: 0 0 56%;
	margin: 0 0 0 auto;
	max-width: 60ch;
	color: var(--wem-stone);
	font-size: 16px;
	line-height: 1.6;
}

@media (max-width: 760px) {
	body.wem-ds .wemounr_offer .offer_panel_internal h3,
	body.wem-ds .wemounr_offer .offer_panel_internal p {
		flex-basis: 100%;
		margin-left: 0;
	}
}

/* ------------------------------------------------------------------ *
 * 19. A partner (no design: single-partners.php in the system)
 *
 * The banner under the tile scrim with the title in Big Shoulders and no
 * curved edge; the logo, heading and text at a reading measure; the course
 * cards as white cards with hairlines and 3px seams; the partner logos as a
 * quiet strip. The template and its fields are untouched.
 * ------------------------------------------------------------------ */

body.wem-ds.single-partners .main_banner {
	height: clamp(360px, 48vh, 560px);
	background: var(--wem-night);
}

body.wem-ds.single-partners .main_banner .banner_content_access h1 {
	margin: 0 0 clamp(40px, 5vw, 64px) clamp(22px, 5.5vw, 88px);
	max-width: 14ch;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(44px, 7vw, 112px);
	font-weight: 900;
	line-height: .88;
	letter-spacing: -.02em;
	text-transform: uppercase;
	color: #fff;
	text-shadow: 0 2px 24px rgba(0, 0, 0, .4);
}

body.wem-ds.single-partners .partnerDetailsWrap {
	padding: clamp(56px, 7vw, 96px) 0;
}

body.wem-ds.single-partners .partnerImageWrap img {
	max-height: 72px;
	width: auto;
	margin: 0 auto clamp(28px, 4vw, 44px);
}

body.wem-ds.single-partners .isHeading_subscribe {
	margin: 0 0 22px;
	text-align: center;
	font-family: "Big Shoulders", sans-serif;
	font-size: clamp(38px, 5vw, 66px);
	font-weight: 900;
	line-height: .95;
	letter-spacing: -.01em;
	text-transform: uppercase;
	color: var(--wem-ink);
}

body.wem-ds.single-partners .partnerDetailsWrap p {
	max-width: 60ch;
	margin: 0 auto;
	color: var(--wem-stone);
	font-size: clamp(16px, 1.4vw, 19px);
	line-height: 1.6;
}

body.wem-ds.single-partners .vos_advantage .row {
	gap: 3px 0;
}

body.wem-ds.single-partners .verbose_box {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: clamp(24px, 3vw, 36px);
	background: #fff;
	border: 1px solid var(--wem-hairline);
	border-radius: 0;
	box-shadow: none;
	color: var(--wem-ink);
	text-decoration: none;
	transition: border-color 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds.single-partners .verbose_box:is(:hover, :focus-visible) {
	border-color: var(--wem-blue);
}

body.wem-ds.single-partners .verbose_box .poli_nos_content h5 {
	margin: 0 0 8px;
	font-family: "Big Shoulders", sans-serif;
	font-size: 27px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

body.wem-ds.single-partners .verbose_box .poli_nos_content h6 {
	margin: 0;
	font-family: "Big Shoulders", sans-serif;
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
	color: var(--wem-blue);
}

body.wem-ds.single-partners .verbose_box .prod_poli_image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	margin: 18px 0;
}

body.wem-ds.single-partners .verbose_box .lower_amount {
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--wem-hairline);
	font-size: 14px;
	color: var(--wem-stone);
}

body.wem-ds.single-partners .verbose_box .lower_amount .recom_amount {
	font-family: "Big Shoulders", sans-serif;
	font-size: 22px;
	font-weight: 900;
	color: var(--wem-ink);
}

body.wem-ds.single-partners .vor_richer_section {
	display: flex;
	justify-content: center;
	margin-top: clamp(36px, 5vw, 56px);
}

body.wem-ds.single-partners .vor_richer_section a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 14px 34px;
	border: 0;
	border-radius: 999px;
	background: var(--wem-blue);
	color: #fff;
	font-family: "Big Shoulders", sans-serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
}

body.wem-ds.single-partners .partnerListingWrap {
	padding: clamp(56px, 7vw, 96px) 0;
	border-top: 1px solid var(--wem-hairline);
}

body.wem-ds.single-partners ul.partnerListing {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: clamp(28px, 4vw, 56px);
	margin: 0;
	padding: 0;
	list-style: none;
}

body.wem-ds.single-partners ul.partnerListing li {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

body.wem-ds.single-partners ul.partnerListing img {
	display: block;
	max-height: 42px;
	width: auto;
	filter: grayscale(1);
	opacity: .6;
	transition: filter 200ms cubic-bezier(.2, .7, .2, 1), opacity 200ms cubic-bezier(.2, .7, .2, 1);
}

body.wem-ds.single-partners ul.partnerListing a:is(:hover, :focus-visible) img {
	filter: none;
	opacity: 1;
}


/* ------------------------------------------------------------------ *
 * 20. Icon lists on the course pages
 *
 * The course cards built in Elementor carry an icon before every line of
 * what is included. The design lists those lines plainly, one hairline
 * row each, as the new course cards do; the icons go and the rows take the
 * hairlines. The list widget, its items and its text are untouched.
 * ------------------------------------------------------------------ */

body.wem-ds .elementor-element .elementor-icon-list-icon {
	display: none;
}

body.wem-ds .elementor-element .elementor-icon-list-items {
	border-bottom: 1px solid var(--wem-hairline);
}

body.wem-ds .elementor-element .elementor-icon-list-item {
	margin: 0;
	padding: 9px 0;
	border-top: 1px solid var(--wem-hairline);
}

body.wem-ds .elementor-element .elementor-icon-list-item .elementor-icon-list-text {
	padding: 0;
	font-family: inherit;
	font-size: 14px;
	font-weight: 400;
	text-transform: none;
	color: var(--wem-stone);
}

/* ------------------------------------------------------------------ *
 * 21. The shop's own templates
 *
 * woocommerce/content-product.php and content-single-product.php (the
 * theme's overrides) wrap WooCommerce's hooks in the design's boxes: the
 * card's photograph box and text box, the product page's two columns, and
 * the band over the partner-products page (inc/wem-shop.php). Sections 10
 * and 11 above still style what WooCommerce prints inside them.
 * ------------------------------------------------------------------ */

/* The band over the partner-products page, and the theme's own page title
 * under it hidden, since the band carries it. */
/*
 * Full width whatever the column it sits in: the band's own background is
 * extended to both edges of the screen by a spread shadow, clipped to the
 * band's height, so it no longer depends on the negative margins lining up
 * with a centred parent (on the review site it stopped short on one side).
 */
body.wem-ds .wem-shop-band {
	position: relative;
	margin: 0 0 clamp(28px, 4vw, 44px);
	padding: clamp(32px, 4vw, 56px) 0 clamp(32px, 4vw, 52px);
	background: #0a2f8f;
	box-shadow: 0 0 0 100vmax #0a2f8f;
	clip-path: inset(0 -100vmax);
	color: #fff;
}

/* No gap between the navigation and the band: the page's own top spacing
 * is taken away on this page. */
body.wem-ds.wem-shop-page .site-content,
body.wem-ds.wem-shop-page #content,
body.wem-ds.wem-shop-page .site-content > .container,
body.wem-ds.wem-shop-page #primary,
body.wem-ds.wem-shop-page .site-main,
body.wem-ds.wem-shop-page article.page,
body.wem-ds.wem-shop-page .entry-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.wem-ds.wem-shop-page .entry-content > .wem-shop-band:first-child {
	margin-top: 0;
}

/* The site's container: 1540px at most, with the pages' gutter
 * (clamp(22px, 5.5vw, 88px)) on each side of the screen, never wider than
 * the column it sits in. Where the page's own column already has padding,
 * 100% wins; on a full-width page (the cart, the checkout), the gutter does. */
body.wem-ds .wem-shop-band-inner {
	width: min(100%, 1540px, calc(100vw - 2 * clamp(22px, 5.5vw, 88px)));
	margin: 0 auto;
}

body.wem-ds .wem-shop-band-eyebrow {
	margin: 0 0 26px;
	color: #8fb2ff;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
}

body.wem-ds .wem-shop-band-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(320px,100%),1fr));
	gap: clamp(24px, 5vw, 92px);
	align-items: end;
}

body.wem-ds .wem-shop-band-title {
	max-width: 13ch;
	margin: 0;
	color: #fff;
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(46px, 5.4vw, 82px);
	font-weight: 900;
	line-height: .92;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

body.wem-ds .wem-shop-band-lead {
	max-width: 56ch;
	margin: 0;
	color: rgba(255, 255, 255, .82);
	font-size: 16px;
	line-height: 1.6;
}

body.wem-ds.wem-shop-page .entry-header,
body.wem-ds.wem-shop-page .page-title,
body.wem-ds.wem-shop-page h1.entry-title {
	display: none;
}

/* The card: photograph box on white, then the text box. */
body.wem-ds ul.products li.product.wem-pcard {
	display: flex;
	flex-direction: column;
	padding: 0;
}

body.wem-ds ul.products li.product .wem-pcard-media {
	display: block;
	position: relative;
	aspect-ratio: 1 / 1;
	background: #fff;
	border-bottom: 1px solid rgba(20, 20, 20, .14);
	overflow: hidden;
}

body.wem-ds ul.products li.product .wem-pcard-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	object-fit: contain;
	padding: 8%;
	box-sizing: border-box;
}

body.wem-ds ul.products li.product .wem-pcard-media .onsale {
	position: absolute;
	top: 14px;
	left: 14px;
	margin: 0;
	padding: 7px 12px;
	border-radius: 0;
	background: #0047e0;
	color: #fff;
	font-family: 'Big Shoulders', sans-serif;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

body.wem-ds ul.products li.product .wem-pcard-body {
	display: flex;
	flex-direction: column;
	gap: 10px;
	flex: 1;
	padding: 22px 22px 26px;
}

body.wem-ds ul.products li.product .wem-pcard-eyebrow {
	margin: 0;
	color: #0047e0;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.wem-ds ul.products li.product .wem-pcard-body .woocommerce-loop-product__title a {
	color: inherit;
	text-decoration: none;
}

body.wem-ds ul.products li.product .wem-pcard-body .button,
body.wem-ds ul.products li.product .wem-pcard-body a.button {
	margin-top: auto;
}

/* The product page: gallery left, the summary on a white card right. */
body.wem-ds.single-product .wem-pdp {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: 3px;
	align-items: start;
}

@media (max-width: 900px) {
	body.wem-ds.single-product .wem-pdp {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.wem-ds.single-product .wem-pdp-gallery {
	background: #fff;
	border: 1px solid rgba(20, 20, 20, .14);
}

body.wem-ds.single-product .wem-pdp-gallery .woocommerce-product-gallery {
	width: 100%;
	float: none;
	margin: 0;
}

body.wem-ds.single-product .wem-pdp-summary {
	width: 100%;
	float: none;
	margin: 0;
	padding: clamp(28px, 3vw, 48px);
	background: #fff;
	border: 1px solid rgba(20, 20, 20, .14);
}

/* The tabs under the product become one band on sand: the description's
 * heading left, its text right; the tab strip goes. WooCommerce hides the
 * panels it does not show with an inline style, hence the !important. */
body.wem-ds.single-product .woocommerce-tabs {
	margin: clamp(40px, 5vw, 72px) calc(50% - 50vw) 0;
	padding: clamp(56px, 7vw, 96px) clamp(22px, 5.5vw, 88px);
	background: #eae8e2;
	border-top: 1px solid rgba(20, 20, 20, .14);
}

body.wem-ds.single-product .woocommerce-tabs ul.wc-tabs,
body.wem-ds.single-product .woocommerce-tabs ul.tabs {
	display: none;
}

body.wem-ds.single-product .woocommerce-tabs .woocommerce-Tabs-panel {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(min(300px,100%),1fr));
	gap: clamp(24px, 5vw, 92px);
	width: min(100%, 1540px);
	margin: 0 auto;
	padding: 0;
}

body.wem-ds.single-product .woocommerce-tabs .woocommerce-Tabs-panel + .woocommerce-Tabs-panel {
	margin-top: clamp(40px, 5vw, 64px);
	padding-top: clamp(40px, 5vw, 64px);
	border-top: 1px solid rgba(20, 20, 20, .14);
}

body.wem-ds.single-product .woocommerce-tabs .woocommerce-Tabs-panel > h2:first-child {
	max-width: 13ch;
	margin: 0;
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(30px, 3.2vw, 46px);
	font-weight: 900;
	line-height: .95;
	text-transform: uppercase;
}

body.wem-ds.single-product .woocommerce-tabs .woocommerce-Tabs-panel > :not(h2:first-child) {
	max-width: 60ch;
	color: #56524c;
}

/* Related and upsell products: the shop's cards, under a Big Shoulders heading. */
body.wem-ds.single-product section.related,
body.wem-ds.single-product section.up-sells {
	padding: clamp(56px, 7vw, 96px) 0 0;
}

body.wem-ds.single-product section.related > h2,
body.wem-ds.single-product section.up-sells > h2 {
	margin: 0 0 clamp(28px, 3.5vw, 44px);
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(28px, 3vw, 42px);
	font-weight: 900;
	line-height: .94;
	text-transform: uppercase;
}


/* ------------------------------------------------------------------ *
 * 22. The cart and the checkout (no design: the system applied)
 *
 * WooCommerce's own cart and checkout (the classic markup, also what
 * Elementor Pro's cart and checkout widgets print), drawn with the shop's
 * vocabulary: the blue band with the order's steps (inc/wem-shop.php),
 * white cards with hairlines, eyebrow labels, underlined fields as on the
 * account form, Big Shoulders figures, and pills — blue for the step
 * forward (checkout, place order), outlined for the rest. The page's
 * <body> class .wem-order-page is repeated for weight over BuddyBoss's
 * WooCommerce sheet, which still loads here.
 * ------------------------------------------------------------------ */

/* The order's steps, on the band's right. */
body.wem-ds .wem-order-steps {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 26px;
	align-self: end;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: none;
}

body.wem-ds .wem-order-steps li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	color: rgba(255, 255, 255, .6);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

body.wem-ds .wem-order-steps li span {
	display: inline-grid;
	place-items: center;
	width: 30px;
	height: 30px;
	border: 1px solid rgba(255, 255, 255, .4);
	border-radius: 999px;
	font-size: 14px;
}

body.wem-ds .wem-order-steps li.is-done {
	color: #fff;
}

body.wem-ds .wem-order-steps li.is-current {
	color: #fff;
}

body.wem-ds .wem-order-steps li.is-current span {
	background: #fff;
	border-color: #fff;
	color: var(--wem-blue-nav);
}

/* The page: paper, one container, long breaths. */
body.wem-ds.wem-order-page.wem-order-page {
	background: var(--wem-paper);
}

body.wem-ds.wem-order-page.wem-order-page .entry-content > .woocommerce,
body.wem-ds.wem-order-page.wem-order-page .elementor-widget-woocommerce-cart,
body.wem-ds.wem-order-page.wem-order-page .elementor-widget-woocommerce-checkout-page,
body.wem-ds.wem-order-page.wem-order-page .elementor-widget-shortcode .woocommerce {
	width: min(100%, 1540px, calc(100vw - 2 * clamp(22px, 5.5vw, 88px)));
	margin-inline: auto;
	padding-bottom: clamp(64px, 8vw, 110px);
	color: var(--wem-ink);
	font-size: 15px;
}

/* Headings inside: the design's section heading. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(h2, h3):not(.wem-shop-band-title),
body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart_totals > h2,
body.wem-ds.wem-order-page.wem-order-page .woocommerce #order_review_heading {
	margin: 0 0 18px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(26px, 2.4vw, 34px);
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
}

/* Notices: sand, a blue rule on the left, square. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice) {
	margin: 0 0 24px;
	padding: 18px 22px;
	border: 0;
	border-left: 3px solid var(--wem-blue);
	border-radius: 0;
	background: var(--wem-sand);
	box-shadow: none;
	color: var(--wem-ink);
	font-size: 15px;
	list-style: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before {
	display: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .woocommerce-error {
	border-left-color: #c8102e;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) a:not(.button) {
	color: var(--wem-blue);
	font-weight: 600;
}

/* "Redeem your RUNS" (GamiPress partial payments): the navigation blue,
 * so the member's advantage stands out from the other notices. */
body.wem-ds.wem-order-page.wem-order-page #gamipress-wc-partial-payments .woocommerce-info {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	border-left: 0;
	background: var(--wem-blue-nav);
	color: #fff;
}

body.wem-ds.wem-order-page.wem-order-page #gamipress-wc-partial-payments .woocommerce-info a {
	color: #fff !important;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.wem-ds.wem-order-page.wem-order-page #gamipress-wc-partial-payments .gamipress-wc-partial-payments-form {
	margin: -24px 0 24px;
	padding: 22px;
	border: 1px solid var(--wem-hairline);
	border-top: 0;
	background: #fff;
}

/* Tables: the cart's lines, the order review, the totals. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table {
	width: 100%;
	margin: 0 0 24px;
	border: 1px solid var(--wem-hairline);
	border-collapse: collapse;
	border-radius: 0;
	background: #fff;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table :is(th, td) {
	padding: 18px 22px;
	border: 0;
	border-top: 1px solid var(--wem-hairline);
	background: transparent;
	color: var(--wem-ink);
	vertical-align: middle;
	text-align: left;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table thead th {
	border-top: 0;
	color: var(--wem-stone);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table :is(.product-price, .product-subtotal, .product-total) {
	text-align: right;
	font-weight: 600;
	white-space: nowrap;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart .product-thumbnail {
	width: 112px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart .product-thumbnail img {
	display: block;
	width: 88px;
	height: 88px;
	padding: 8px;
	border: 1px solid var(--wem-hairline);
	background: #fff;
	object-fit: contain;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table td.product-name,
body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table td.product-name a {
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 20px;
	font-weight: 900;
	line-height: 1.05;
	text-transform: uppercase;
	text-decoration: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table .product-name a:is(:hover, :focus-visible) {
	color: var(--wem-blue);
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table td.product-name :is(.variation, dl, .wc-item-meta) {
	display: flex;
	flex-wrap: wrap;
	gap: 0 6px;
	margin: 6px 0 0;
	color: var(--wem-stone);
	font-family: inherit;
	font-size: 13px;
	font-weight: 400;
	text-transform: none;
}

/* Remove a line: a round × in hairline. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart a.remove {
	display: inline-grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid rgba(20, 20, 20, .22);
	border-radius: 999px;
	background: transparent;
	color: var(--wem-ink) !important;
	font-size: 18px;
	line-height: 1;
	text-decoration: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart a.remove:is(:hover, :focus-visible) {
	border-color: #c8102e;
	background: transparent;
	color: #c8102e !important;
}

/* Quantity: a pill. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce .quantity .qty {
	width: 76px;
	min-height: 44px;
	padding: 0 12px;
	border: 1px solid rgba(20, 20, 20, .22);
	border-radius: 999px;
	background: #fff;
	color: var(--wem-ink);
	font-size: 15px;
	text-align: center;
	box-shadow: none;
}

/* The row under the lines: the coupon and "Update cart". */
body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart td.actions {
	padding: 18px 22px;
	background: var(--wem-paper);
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart td.actions .coupon {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart td.actions .coupon .input-text,
body.wem-ds.wem-order-page.wem-order-page .woocommerce .checkout_coupon .input-text {
	width: 220px;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid rgba(20, 20, 20, .22);
	border-radius: 999px;
	background: #fff;
	box-shadow: none;
	font-size: 15px;
}

/* Buttons: outlined pills; the steps forward in brand blue. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.button, button.button, input.button, a.button, .wc-backward) {
	box-sizing: border-box;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 10px 24px;
	border: 1.5px solid var(--wem-ink);
	border-radius: 999px;
	background: transparent;
	box-shadow: none;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.1;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1), border-color 180ms cubic-bezier(.16, 1, .3, 1), color 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.button, button.button, input.button, a.button, .wc-backward):is(:hover, :focus-visible) {
	border-color: var(--wem-blue);
	background: transparent;
	color: var(--wem-blue);
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.button, button.button):disabled,
body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.button, button.button)[disabled] {
	opacity: .45;
	cursor: default;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(a.checkout-button, #place_order, button#place_order) {
	width: 100%;
	min-height: 56px;
	border-color: var(--wem-blue);
	background: var(--wem-blue);
	color: #fff;
	font-size: 18px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(a.checkout-button, #place_order, button#place_order):is(:hover, :focus-visible) {
	border-color: var(--wem-blue-pressed);
	background: var(--wem-blue-pressed);
	color: #fff;
}

/* The cart's totals: a white card on the right. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart-collaterals {
	display: flex;
	justify-content: flex-end;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart-collaterals .cart_totals {
	float: none;
	width: min(100%, 480px);
	padding: clamp(22px, 2.6vw, 34px);
	border: 1px solid var(--wem-hairline);
	background: #fff;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart_totals table.shop_table {
	margin: 0 0 20px;
	border: 0;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.cart_totals table.shop_table, table.woocommerce-checkout-review-order-table) :is(th, td) {
	padding: 14px 0;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.cart_totals table.shop_table, table.woocommerce-checkout-review-order-table) :is(tbody, tfoot) th {
	color: var(--wem-stone);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.cart_totals table.shop_table, table.woocommerce-checkout-review-order-table) td:last-child {
	text-align: right;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.cart_totals table.shop_table, table.woocommerce-checkout-review-order-table) tr.order-total :is(th, td) {
	padding-top: 20px;
	border-top: 1px solid var(--wem-ink);
	color: var(--wem-ink);
	font-weight: 600;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.cart_totals table.shop_table, table.woocommerce-checkout-review-order-table) tr.order-total td,
body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.cart_totals table.shop_table, table.woocommerce-checkout-review-order-table) tr.order-total td strong {
	font-family: 'Big Shoulders', sans-serif;
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .wc-proceed-to-checkout {
	padding: 0;
}

/* The empty cart. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart-empty {
	padding: clamp(28px, 4vw, 48px);
	border-left: 0;
	background: #fff;
	border: 1px solid var(--wem-hairline);
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(24px, 2.2vw, 32px);
	font-weight: 900;
	text-transform: uppercase;
}

/* Cross-sells under the cart use the shop's cards (sections 10 and 21). */

/* The checkout: details on the left, the order on a white card right. */
@media (min-width: 1000px) {
	body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout {
		display: grid;
		grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
		gap: 0 clamp(28px, 4vw, 64px);
		align-items: start;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout > * {
		grid-column: 1 / -1;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout > #customer_details {
		grid-column: 1;
		grid-row: span 3;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout > #order_review_heading,
	body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout > #order_review {
		grid-column: 2;
	}
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout #customer_details :is(.col-1, .col-2) {
	float: none;
	width: 100%;
	max-width: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout #customer_details,
body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout #order_review {
	padding: clamp(22px, 2.6vw, 34px);
	border: 1px solid var(--wem-hairline);
	background: #fff;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout #order_review_heading {
	margin: 0;
	padding: clamp(22px, 2.6vw, 34px) clamp(22px, 2.6vw, 34px) 0;
	border: 1px solid var(--wem-hairline);
	border-bottom: 0;
	background: #fff;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout #order_review_heading + #order_review {
	border-top: 0;
	padding-top: 12px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form.checkout .woocommerce-checkout-review-order-table {
	border: 0;
}

/* Fields: eyebrow labels over underlined inputs, as on the account form. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row {
	margin: 0 0 20px;
	padding: 0;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row label {
	display: block;
	margin: 0 0 6px;
	color: var(--wem-stone);
	font-size: 11px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row label.checkbox,
body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row label.woocommerce-form__label-for-checkbox {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--wem-ink);
	font-size: 14px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row .required {
	color: var(--wem-blue);
	text-decoration: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row :is(input.input-text, textarea, select),
body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row .select2-container .select2-selection {
	width: 100%;
	min-height: 48px;
	padding: 0 2px;
	border: 0;
	border-bottom: 2px solid var(--wem-field-underline);
	border-radius: 0;
	background: transparent;
	box-shadow: none;
	color: var(--wem-ink);
	font-size: 16px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row textarea {
	min-height: 96px;
	padding-top: 12px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row .select2-container .select2-selection__rendered {
	padding: 0;
	line-height: 46px;
	color: var(--wem-ink);
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row .select2-container .select2-selection__arrow {
	height: 46px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row :is(input.input-text, textarea, select):focus,
body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row .select2-container--focus .select2-selection {
	border-bottom-color: var(--wem-blue);
	outline: 0;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form .form-row.woocommerce-invalid :is(input.input-text, select) {
	border-bottom-color: #c8102e;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce form :is(input[type="checkbox"], input[type="radio"]) {
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--wem-blue);
}

/* Payment: the methods as a list with hairlines, the box under each on
 * paper, then the terms and the blue pill. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce #payment {
	border-radius: 0;
	background: transparent;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce #payment ul.payment_methods {
	margin: 0 0 20px;
	padding: 0;
	border: 0;
	border-top: 1px solid var(--wem-hairline);
	list-style: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce #payment ul.payment_methods li {
	margin: 0;
	padding: 16px 0;
	border-bottom: 1px solid var(--wem-hairline);
	line-height: 1.5;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce #payment ul.payment_methods li > label {
	display: inline;
	margin-left: 8px;
	color: var(--wem-ink);
	font-size: 15px;
	font-weight: 600;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce #payment ul.payment_methods li img {
	max-height: 24px;
	margin-left: 8px;
	vertical-align: middle;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce #payment div.payment_box {
	margin: 12px 0 0;
	padding: 16px 18px;
	border-radius: 0;
	background: var(--wem-paper);
	color: var(--wem-stone);
	font-size: 14px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce #payment div.payment_box::before {
	display: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce #payment div.form-row.place-order {
	margin: 0;
	padding: 0;
	background: transparent;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .woocommerce-terms-and-conditions-wrapper {
	margin: 0 0 18px;
	color: var(--wem-stone);
	font-size: 13px;
}

/* The coupon and login prompts at the top of the checkout, when opened. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(form.checkout_coupon, form.woocommerce-form-login) {
	margin: -24px 0 24px;
	padding: 22px;
	border: 1px solid var(--wem-hairline);
	border-radius: 0;
	background: #fff;
}

/* After payment: the order's summary as small figures, the details as the
 * tables above. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce ul.woocommerce-order-overview {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 3px;
	margin: 0 0 32px;
	padding: 0;
	list-style: none;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce ul.woocommerce-order-overview li {
	margin: 0;
	padding: 20px 22px;
	border: 0;
	background: #fff;
	color: var(--wem-stone);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce ul.woocommerce-order-overview li strong {
	display: block;
	margin-top: 8px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: 0;
}

/* The confirmation: the thank-you line as a lead, the order's details and
 * the addresses on white cards side by side. */
body.wem-ds.wem-order-page.wem-order-page .woocommerce .woocommerce-order {
	display: flex;
	flex-direction: column;
	gap: 0;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .woocommerce-thankyou-order-received,
body.wem-ds.wem-order-page.wem-order-page .woocommerce .woocommerce-notice--success {
	margin: 0 0 28px;
	padding: 0;
	border: 0;
	background: none;
	color: var(--wem-ink);
	font-size: clamp(18px, 1.6vw, 22px);
	line-height: 1.5;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-bacs-bank-details) {
	margin: 0 0 24px;
	padding: clamp(22px, 2.6vw, 34px);
	border: 1px solid var(--wem-hairline);
	background: #fff;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce :is(.woocommerce-order-details, .woocommerce-bacs-bank-details) table.shop_table {
	margin: 0;
	border: 0;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.order_details :is(th, td) {
	padding: 14px 0;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.order_details tfoot th {
	color: var(--wem-stone);
	font-weight: 400;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.order_details :is(tfoot td, .product-total) {
	text-align: right;
	font-weight: 600;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.order_details tfoot tr:last-child :is(th, td) {
	border-top: 1px solid var(--wem-ink);
	color: var(--wem-ink);
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce table.order_details tfoot tr:last-child td {
	font-family: 'Big Shoulders', sans-serif;
	font-size: 30px;
	font-weight: 900;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .woocommerce-customer-details .woocommerce-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(260px, 100%), 1fr));
	gap: 24px;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .woocommerce-customer-details .woocommerce-column {
	float: none;
	width: auto;
	max-width: none;
	padding: 0;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce ul.woocommerce-order-overview li.email strong {
	font-family: inherit;
	font-size: 16px;
	font-weight: 600;
	text-transform: none;
	word-break: break-all;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .woocommerce-customer-details address {
	padding: 0;
	border: 0;
	font-style: normal;
	color: var(--wem-stone);
	line-height: 1.7;
}

body.wem-ds.wem-order-page.wem-order-page .woocommerce .order-again {
	margin: 18px 0 0;
}

/* A product offered on the cart page itself ("Add in a gift voucher for
 * your ski buddy"): the page's own Elementor block, with WooCommerce's
 * product form in it. Drawn as the gift band elsewhere: square card on
 * white, the heading in Big Shoulders, the choice as an eyebrow label over
 * an underlined select, the price as a figure and the blue pill. */
body.wem-ds.wem-order-page.wem-order-page :is(.elementor-section, .e-con) {
	border-radius: 0 !important;
}

body.wem-ds.wem-order-page.wem-order-page .elementor-widget-heading .elementor-heading-title {
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(26px, 2.6vw, 38px);
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0;
	text-transform: uppercase;
}

body.wem-ds.wem-order-page.wem-order-page .elementor-widget-image img {
	border-radius: 0;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) table.variations {
	width: 100%;
	margin: 0 0 18px;
	border: 0;
	background: none;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) table.variations tr {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) table.variations :is(th, td) {
	display: block;
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) table.variations label {
	margin: 0;
	color: var(--wem-stone);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) table.variations td.value {
	display: flex;
	align-items: center;
	gap: 16px;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) table.variations select {
	flex: 1;
	min-height: 48px;
	padding: 0 2px;
	border: 0;
	border-bottom: 2px solid var(--wem-field-underline);
	border-radius: 0;
	background-color: transparent;
	box-shadow: none;
	color: var(--wem-ink);
	font-size: 16px;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) .reset_variations {
	color: var(--wem-stone);
	font-size: 13px;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) .woocommerce-variation-price,
body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) .price {
	margin: 0 0 14px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 30px;
	font-weight: 900;
	line-height: 1;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) .woocommerce-variation-add-to-cart,
body.wem-ds.wem-order-page.wem-order-page .elementor form.cart:not(.variations_form) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(.single_add_to_cart_button, .add_to_cart_button, .elementor-button.single_add_to_cart_button) {
	display: inline-flex !important;
	align-items: center;
	gap: 10px;
	min-height: 52px;
	padding: 12px 30px !important;
	border: 0 !important;
	border-radius: 999px !important;
	background: var(--wem-blue) !important;
	box-shadow: none !important;
	color: #fff !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	cursor: pointer;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(.single_add_to_cart_button, .add_to_cart_button):is(:hover, :focus-visible) {
	background: var(--wem-blue-pressed) !important;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(.single_add_to_cart_button, .add_to_cart_button) :is(i, svg, .fa, .e-font-icon-svg) {
	display: none;
}

body.wem-ds.wem-order-page.wem-order-page .elementor :is(form.cart, form.variations_form) .quantity .qty {
	width: 76px;
	min-height: 48px;
	border: 1px solid rgba(20, 20, 20, .22);
	border-radius: 999px;
	background: #fff;
	text-align: center;
}

/* Phones: the cart's lines stack (WooCommerce's own responsive table),
 * each value with its label. */
@media (max-width: 768px) {
	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table_responsive thead {
		display: none;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table_responsive :is(tbody, tr, th, td) {
		display: block;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table_responsive tr.cart_item {
		position: relative;
		padding: 14px 0;
		border-top: 1px solid var(--wem-hairline);
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table_responsive tr.cart_item td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		gap: 16px;
		padding: 6px 18px;
		border-top: 0;
		text-align: right;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart tr.cart_item td.product-remove {
		position: absolute;
		top: 14px;
		right: 0;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart tr.cart_item td.product-thumbnail {
		width: auto;
		justify-content: flex-start;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart tr.cart_item td.product-name {
		display: block;
		text-align: left;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table_responsive tr td[data-title]::before {
		content: attr(data-title);
		text-align: left;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart tr.cart_item td:is(.product-thumbnail, .product-name, .product-remove)::before {
		content: none;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart_totals table.shop_table_responsive tr {
		display: flex;
		justify-content: space-between;
		align-items: baseline;
	}

	/* The rules sit on the rows here, not the cells, which no longer
	 * line up once the row is flexed. */
	body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart_totals table.shop_table_responsive tr > * {
		border-top: 0 !important;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart_totals table.shop_table_responsive tr {
		border-top: 1px solid var(--wem-hairline);
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart_totals table.shop_table_responsive tr.order-total {
		border-top-color: var(--wem-ink);
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce .cart_totals table.shop_table_responsive td::before {
		content: none !important;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.shop_table_responsive tr td::before {
		color: var(--wem-stone);
		font-size: 11px;
		font-weight: 700;
		letter-spacing: .14em;
		text-transform: uppercase;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart td.actions {
		display: block;
		border-top: 1px solid var(--wem-hairline);
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart td.actions .coupon {
		display: flex;
		width: 100%;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart td.actions .coupon .input-text {
		flex: 1;
		width: auto;
	}

	body.wem-ds.wem-order-page.wem-order-page .woocommerce table.cart td.actions > .button {
		float: none !important;
		width: 100%;
		margin-top: 10px;
	}
}


/* ------------------------------------------------------------------ *
 * 23. Page not found (404.php)
 *
 * One navigation-blue band under the header: the eyebrow, the heading in
 * Big Shoulders, the lead and two pills on the left; a Safety Angel's
 * portrait on the right with her quote on a white card over its foot.
 * ------------------------------------------------------------------ */

body.wem-ds.error404 {
	background: var(--wem-blue-nav);
}

body.wem-ds .wem-404-band {
	padding: clamp(40px, 6vw, 96px) 0 clamp(56px, 7vw, 110px);
	background: var(--wem-blue-nav);
	box-shadow: 0 0 0 100vmax var(--wem-blue-nav);
	clip-path: inset(0 -100vmax);
	color: #fff;
}

body.wem-ds .wem-404-inner {
	display: grid;
	grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr);
	gap: clamp(32px, 6vw, 110px);
	align-items: center;
	width: min(100%, 1540px, calc(100vw - 2 * clamp(22px, 5.5vw, 88px)));
	margin: 0 auto;
}

@media (max-width: 900px) {
	body.wem-ds .wem-404-inner {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.wem-ds .wem-404-eyebrow {
	margin: 0 0 24px;
	color: var(--wem-sky);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
}

body.wem-ds .wem-404-title {
	max-width: 11ch;
	margin: 0 0 26px;
	color: #fff;
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(52px, 7vw, 112px);
	font-weight: 900;
	line-height: .88;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

body.wem-ds .wem-404-lead {
	max-width: 48ch;
	margin: 0 0 34px;
	color: rgba(255, 255, 255, .82);
	font-size: clamp(16px, 1.3vw, 19px);
	line-height: 1.6;
}

body.wem-ds .wem-404-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: 0;
}

body.wem-ds .wem-404-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 28px;
	border: 1.5px solid var(--wem-blue);
	border-radius: 999px;
	background: var(--wem-blue);
	color: #fff;
	font-family: 'Big Shoulders', sans-serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1), border-color 180ms cubic-bezier(.16, 1, .3, 1), color 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds .wem-404-button:is(:hover, :focus-visible) {
	border-color: #fff;
	background: #fff;
	color: var(--wem-blue-nav);
}

body.wem-ds .wem-404-button-ghost {
	border-color: rgba(255, 255, 255, .5);
	background: transparent;
}

body.wem-ds .wem-404-angel {
	position: relative;
	margin: 0;
	padding-bottom: 72px;
}

body.wem-ds .wem-404-angel img {
	display: block;
	width: 100%;
	max-height: min(70vh, 640px);
	object-fit: contain;
	object-position: center bottom;
}

body.wem-ds .wem-404-quote {
	position: absolute;
	right: 0;
	bottom: 0;
	left: clamp(0px, 8%, 60px);
	margin: 0;
	padding: clamp(20px, 2.4vw, 30px);
	border: 0;
	background: #fff;
	color: var(--wem-ink);
	font-style: normal;
}

body.wem-ds .wem-404-quote p {
	margin: 0 0 14px;
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(22px, 2vw, 30px);
	font-weight: 800;
	line-height: 1.08;
	text-transform: uppercase;
}

body.wem-ds .wem-404-quote footer {
	color: var(--wem-stone);
	font-size: 13px;
}

body.wem-ds .wem-404-quote footer strong {
	color: var(--wem-blue);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .18em;
	text-transform: uppercase;
}

@media (max-width: 900px) {
	body.wem-ds .wem-404-angel {
		padding-bottom: 0;
	}

	body.wem-ds .wem-404-angel img {
		max-height: 420px;
	}

	body.wem-ds .wem-404-quote {
		position: relative;
		left: auto;
		margin-top: -40px;
	}
}


/* ------------------------------------------------------------------ *
 * 24. A Safety Angel's page (single-wem_angel.php, at the original
 *     safety_angels addresses)
 *
 * One column on paper, in the type of the rest of the design: the way back
 * to all the Angels as a blue eyebrow, the name in Big Shoulders, the label
 * in stone, the poster whole and uncropped, the bio, the pills; then the
 * previous and next Angel as two cards, each portrait cut-out on the
 * wall's blue tile.
 * ------------------------------------------------------------------ */

body.wem-ds.wem-angel-page {
	background: var(--wem-paper);
}

body.wem-ds .wem-angel {
	padding: clamp(40px, 6vw, 96px) clamp(22px, 5.5vw, 88px) 0;
}

body.wem-ds .wem-angel-inner {
	width: min(100%, 760px);
	margin: 0 auto;
}

/* Above a tablet: the name and poster on the left, the bio and the pills
 * beside them on the right, staying in view while the poster scrolls. */
@media (min-width: 981px) {
	body.wem-ds .wem-angel-inner {
		display: grid;
		grid-template-columns: minmax(0, 560px) minmax(0, 1fr);
		gap: clamp(40px, 6vw, 110px);
		align-items: start;
		width: min(100%, 1400px);
	}

	body.wem-ds .wem-angel-side {
		position: sticky;
		top: 130px;
		padding-top: 37px; /* Level with the name, under the eyebrow. */
	}

	body.wem-ds .wem-angel-side .wem-angel-bio {
		margin-top: 0;
	}
}

body.wem-ds .wem-angel-eyebrow {
	margin: 0 0 22px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
}

body.wem-ds .wem-angel-eyebrow a {
	color: var(--wem-blue);
	text-decoration: none;
}

body.wem-ds .wem-angel-eyebrow a::before {
	content: "← ";
}

body.wem-ds .wem-angel-eyebrow a:is(:hover, :focus-visible) {
	color: var(--wem-ink);
}

body.wem-ds .wem-angel-name {
	margin: 0 0 14px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(48px, 7vw, 104px);
	font-weight: 900;
	line-height: .88;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

body.wem-ds .wem-angel-meta {
	margin: 0;
	color: var(--wem-stone);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
}

body.wem-ds .wem-angel-poster {
	margin: clamp(28px, 4vw, 48px) 0 0;
}

body.wem-ds .wem-angel-poster img {
	display: block;
	width: 100%;
	height: auto;
	max-width: none;
}

body.wem-ds .wem-angel-bio {
	display: flex;
	flex-direction: column;
	gap: 14px;
	margin: clamp(28px, 4vw, 44px) 0 0;
}

body.wem-ds .wem-angel-bio p {
	margin: 0;
	color: var(--wem-stone);
	font-size: clamp(17px, 1.5vw, 21px);
	line-height: 1.6;
}

body.wem-ds .wem-angel-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin: clamp(28px, 4vw, 40px) 0 0;
}

body.wem-ds .wem-angel-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 28px;
	border: 1.5px solid var(--wem-ink);
	border-radius: 999px;
	background: var(--wem-ink);
	color: #fff;
	font-family: 'Big Shoulders', sans-serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .05em;
	text-decoration: none;
	text-transform: uppercase;
	transition: background 180ms cubic-bezier(.16, 1, .3, 1), border-color 180ms cubic-bezier(.16, 1, .3, 1), color 180ms cubic-bezier(.16, 1, .3, 1);
}

body.wem-ds .wem-angel-button:is(:hover, :focus-visible) {
	border-color: var(--wem-blue);
	background: var(--wem-blue);
	color: #fff;
}

body.wem-ds .wem-angel-button-ghost {
	background: transparent;
	color: var(--wem-ink);
}

/* Previous and next. */
body.wem-ds .wem-angel-steps {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 3px;
	width: min(100%, 1400px);
	margin: 0 auto;
	padding: clamp(56px, 7vw, 96px) 0;
}

body.wem-ds .wem-angel-step {
	display: flex;
	align-items: stretch;
	min-height: 150px;
	border: 1px solid var(--wem-hairline);
	background: #fff;
	color: var(--wem-ink);
	text-decoration: none;
	transition: border-color 180ms cubic-bezier(.2, .7, .2, 1);
}

body.wem-ds .wem-angel-step-next {
	flex-direction: row-reverse;
	text-align: right;
}

body.wem-ds .wem-angel-step:is(:hover, :focus-visible) {
	border-color: var(--wem-ink);
}

body.wem-ds .wem-angel-step-pic {
	position: relative;
	flex: 0 0 clamp(110px, 12vw, 160px);
	background: var(--wem-blue);
	overflow: hidden;
}

body.wem-ds .wem-angel-step-pic img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: center bottom;
}

body.wem-ds .wem-angel-step-words {
	display: flex;
	flex: 1;
	flex-direction: column;
	justify-content: center;
	gap: 10px;
	padding: clamp(18px, 2.4vw, 30px);
}

body.wem-ds .wem-angel-step-dir {
	color: var(--wem-blue);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .2em;
	text-transform: uppercase;
}

body.wem-ds .wem-angel-step-prev .wem-angel-step-dir::before {
	content: "← ";
}

body.wem-ds .wem-angel-step-next .wem-angel-step-dir::after {
	content: " →";
}

body.wem-ds .wem-angel-step-name {
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(24px, 2.2vw, 34px);
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	transition: color 180ms cubic-bezier(.2, .7, .2, 1);
}

body.wem-ds .wem-angel-step:is(:hover, :focus-visible) .wem-angel-step-name {
	color: var(--wem-blue);
}

@media (max-width: 620px) {
	body.wem-ds .wem-angel-steps {
		grid-template-columns: minmax(0, 1fr);
	}

	body.wem-ds .wem-angel-step-pic {
		flex-basis: 104px;
	}

	body.wem-ds .wem-angel-step {
		min-height: 120px;
	}
}


/* ------------------------------------------------------------------ *
 * 25. A course's own page (LearnDash single course, /courses/<name>/)
 *
 * The sales side of a course, in the system: the banner as the shop's
 * navigation-blue band with the title in Big Shoulders; the description in
 * stone; the course content as white cards with hairlines, 3px apart, its
 * sections (Avoid, React, Rescue) as Big Shoulders headings; the "course
 * includes" panel as a white card and the enrol button as the blue pill.
 * BuddyBoss's LearnDash sheet still loads, so the body classes are repeated
 * for weight. Lessons, topics and quizzes keep the platform's own layout.
 * ------------------------------------------------------------------ */

body.wem-ds.single-sfwd-courses.single-sfwd-courses {
	background: var(--wem-paper);
}

/* The banner: navy, the photograph left out, the words in the system. */
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-learndash-banner,
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-vw-container.bb-learndash-banner {
	background: var(--wem-blue-nav) !important;
	box-shadow: 0 0 0 100vmax var(--wem-blue-nav);
	clip-path: inset(0 -100vmax);
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-learndash-banner .banner-img,
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-learndash-banner .bb-course-banner-overlay {
	display: none !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-course-banner-info {
	padding-top: clamp(40px, 6vw, 88px) !important;
	padding-bottom: clamp(48px, 6vw, 96px) !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-course-banner-info .entry-title {
	margin: 0 0 18px;
	color: #fff !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: clamp(44px, 6.4vw, 96px) !important;
	font-weight: 900 !important;
	line-height: .9 !important;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-course-excerpt {
	max-width: 58ch;
	color: rgba(255, 255, 255, .86) !important;
	font-size: clamp(16px, 1.3vw, 19px) !important;
	line-height: 1.6 !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-course-points a,
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-course-single-meta,
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-course-single-meta a {
	color: var(--wem-sky) !important;
}

/* The description and the content list. */
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-learndash-content-wrap {
	padding-top: clamp(32px, 4vw, 56px);
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .ld-tab-content p {
	color: var(--wem-stone) !important;
	font-size: clamp(16px, 1.2vw, 18px) !important;
	line-height: 1.7 !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .ld-tabs-navigation {
	display: none !important; /* One tab only: its label adds nothing. */
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-section-heading > h2,
body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-section-heading h2 {
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: clamp(30px, 3vw, 44px) !important;
	font-weight: 900 !important;
	line-height: .95 !important;
	text-transform: uppercase;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-item-list-section-heading {
	margin-top: clamp(20px, 2.4vw, 32px) !important;
	border: 0 !important;
	background: none !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-lesson-section-heading {
	color: var(--wem-blue) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: clamp(22px, 2vw, 28px) !important;
	font-weight: 900 !important;
	letter-spacing: .02em;
	text-transform: uppercase;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-list-item {
	margin: 0 0 3px !important;
	border: 1px solid var(--wem-hairline) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-list-item-preview {
	background: transparent !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-list-item:hover {
	border-color: var(--wem-ink) !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-title {
	color: var(--wem-ink) !important;
	font-size: 16px !important;
	font-weight: 600 !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .learndash-wrapper .ld-item-list .ld-item-name:hover .ld-item-title {
	color: var(--wem-blue) !important;
}

/* The sidebar: "this course includes", the enrol button. */
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-single-course-sidebar .widget,
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-single-course-sidebar .bb-enroll-widget {
	border: 1px solid var(--wem-hairline) !important;
	border-radius: 0 !important;
	background: #fff !important;
	box-shadow: none !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-single-course-sidebar img,
body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-single-course-sidebar .thumbnail-container {
	border-radius: 0 !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-single-course-sidebar :is(h2, h3, h4, .bb-course-volume-title) {
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-weight: 900 !important;
	text-transform: uppercase;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-course-volume-list li {
	color: var(--wem-stone) !important;
	font-size: 14px !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .bb-course-volume-list i {
	color: var(--wem-blue) !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses :is(.learndash_join_button .button, .btn-join, .bb-button-wrap .button, .ld-button) {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	min-height: 52px !important;
	padding: 12px 28px !important;
	border: 1.5px solid var(--wem-blue) !important;
	border-radius: 999px !important;
	background: var(--wem-blue) !important;
	color: #fff !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: .05em;
	text-transform: uppercase;
	box-shadow: none !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses :is(.learndash_join_button .button, .btn-join, .bb-button-wrap .button, .ld-button):is(:hover, :focus-visible) {
	border-color: var(--wem-blue-pressed) !important;
	background: var(--wem-blue-pressed) !important;
}

body.wem-ds.single-sfwd-courses.single-sfwd-courses .ld-status {
	border-radius: 999px !important;
}


/* ------------------------------------------------------------------ *
 * 26. Thank you (after a purchase: /thank-you/, pages 34663 en / 32848 fr)
 *
 * The page's own Elementor layout, kept as it is (its buttons have display
 * rules and the French page carries tracking code): the thanks set as the
 * design's title, the second heading as a lead sentence rather than a
 * second shout, the buttons as pills — blue for the first, outlined for
 * the next — and the order summary as a white card.
 * ------------------------------------------------------------------ */

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-section .elementor-widget-wrap,
body.wem-ds:is(.page-id-34663, .page-id-32848) .e-con-inner {
	max-width: 860px;
	margin: 0 auto;
}

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-section .elementor-widget-wrap {
	justify-content: center;
	text-align: center;
}

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-section {
	padding: clamp(48px, 7vw, 110px) clamp(22px, 5.5vw, 88px) clamp(40px, 5vw, 72px) !important;
}

/* The thanks: the design's title. */
body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-wrap > .elementor-widget-heading:first-child .elementor-heading-title {
	max-width: 18ch;
	margin: 0 auto !important;
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: clamp(40px, 5.6vw, 76px) !important;
	font-weight: 900 !important;
	line-height: .92 !important;
	letter-spacing: -.01em !important;
	text-transform: uppercase !important;
	text-wrap: balance;
}

/* The next heading: a lead sentence. */
body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-heading + .elementor-widget-heading .elementor-heading-title {
	max-width: 46ch;
	margin: clamp(18px, 2vw, 26px) auto 0 !important;
	color: var(--wem-stone) !important;
	font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif !important;
	font-size: clamp(17px, 1.5vw, 21px) !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-button {
	display: inline-block;
	width: auto !important;
	margin: clamp(28px, 3vw, 40px) 6px 0 !important;
}

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-button .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 12px 30px !important;
	border: 1.5px solid var(--wem-ink) !important;
	border-radius: 999px !important;
	background: transparent !important;
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

/* The first button on the page is the step forward: brand blue. */
body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-heading + .elementor-widget-heading + .elementor-widget-button .elementor-button {
	border-color: var(--wem-blue) !important;
	background: var(--wem-blue) !important;
	color: #fff !important;
}

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-button .elementor-button:is(:hover, :focus-visible) {
	border-color: var(--wem-blue-pressed) !important;
	background: var(--wem-blue-pressed) !important;
	color: #fff !important;
}

/* The order summary: a white card. */
body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-woocommerce-purchase-summary {
	width: 100%;
	margin-top: clamp(40px, 5vw, 64px) !important;
	padding: clamp(24px, 3vw, 40px);
	border: 1px solid var(--wem-hairline);
	background: #fff;
	text-align: left;
}

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-woocommerce-purchase-summary :is(h2, h3, .woocommerce-column__title, .woocommerce-order-details__title) {
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 26px !important;
	font-weight: 900 !important;
	text-transform: uppercase !important;
}

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-woocommerce-purchase-summary :is(p, li, td, th) {
	color: var(--wem-stone) !important;
	font-size: 15px !important;
}

body.wem-ds:is(.page-id-34663, .page-id-32848) .elementor-widget-woocommerce-purchase-summary :is(td, th) {
	padding: 12px 0 !important;
	border-color: var(--wem-hairline) !important;
}


/* ------------------------------------------------------------------ *
 * 27. Blog posts (single posts, past and future)
 *
 * Most posts are laid out in Elementor (headings, text, pictures, an author
 * box, related posts), the rest in the block editor; there is no shared
 * template. So the system is applied to what posts are made of, wherever
 * it sits: headings in Big Shoulders, the text in stone at a reading size
 * and measure, links in brand blue, square pictures, pill buttons, the
 * author box and quotes in the design's terms. A post written tomorrow, in
 * either editor, takes the same.
 * ------------------------------------------------------------------ */

body.wem-ds.single-post.single-post {
	background: var(--wem-paper);
}

body.wem-ds.single-post.single-post :is(.elementor-widget-heading .elementor-heading-title, .entry-title, .entry-content :is(h1, h2, h3, h4), .elementor-widget-text-editor :is(h1, h2, h3, h4)) {
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-weight: 900 !important;
	letter-spacing: -.005em !important;
	text-transform: uppercase !important;
	text-shadow: none !important; /* a shadow only suits white type on a photo; these are ink */
	text-wrap: balance;
}

body.wem-ds.single-post.single-post :is(h1.elementor-heading-title, .entry-title) {
	font-size: clamp(40px, 5.6vw, 84px) !important;
	line-height: .92 !important;
}

/* One big headline: the post's first. Any H1 after it (posts often repeat
   the title as an opening heading) is set as a section heading. */
body.wem-ds.single-post.single-post :is(.elementor-element:has(h1.elementor-heading-title) ~ .elementor-element h1.elementor-heading-title, .entry-content h1),
body.wem-ds.single-post.single-post :is(h2.elementor-heading-title, .entry-content h2, .elementor-widget-text-editor h2) {
	margin-top: 1.4em;
	font-size: clamp(28px, 3vw, 44px) !important;
	line-height: .95 !important;
}

body.wem-ds.single-post.single-post :is(h3.elementor-heading-title, h4.elementor-heading-title, .entry-content :is(h3, h4), .elementor-widget-text-editor :is(h3, h4)) {
	margin-top: 1.2em;
	font-size: clamp(21px, 2vw, 28px) !important;
	line-height: 1 !important;
}

/* The text: stone, a reading size, a reading measure. */
body.wem-ds.single-post.single-post :is(.elementor-widget-text-editor, .entry-content) {
	color: var(--wem-stone) !important;
	font-size: clamp(17px, 1.25vw, 19px) !important;
	line-height: 1.7 !important;
}

body.wem-ds.single-post.single-post .elementor-widget-text-editor .elementor-widget-container,
body.wem-ds.single-post.single-post .entry-content > :is(p, ul, ol, blockquote, h2, h3, h4) {
	max-width: 72ch;
}

body.wem-ds.single-post.single-post :is(.elementor-widget-text-editor, .entry-content) :is(p, li) {
	color: var(--wem-stone) !important;
	font-size: inherit !important;
	line-height: inherit !important;
}

body.wem-ds.single-post.single-post :is(.elementor-widget-text-editor, .entry-content) p {
	margin: 0 0 1em;
	text-align: left !important; /* Many posts were set justified: ragged right reads better. */
}

body.wem-ds.single-post.single-post :is(.elementor-widget-text-editor, .entry-content) strong {
	color: var(--wem-ink);
}

body.wem-ds.single-post.single-post :is(.elementor-widget-text-editor, .entry-content) a {
	color: var(--wem-blue) !important;
	text-decoration: underline;
	text-underline-offset: 2px;
}

body.wem-ds.single-post.single-post :is(.elementor-widget-text-editor, .entry-content) blockquote {
	margin: 1.6em 0;
	padding: 0 0 0 22px;
	border: 0;
	border-left: 3px solid var(--wem-blue);
	background: none;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(22px, 2vw, 30px);
	font-style: normal;
	font-weight: 800;
	line-height: 1.1;
	text-transform: uppercase;
}

body.wem-ds.single-post.single-post :is(.elementor-widget-image, .entry-content figure, .entry-content) img {
	border-radius: 0 !important;
}

body.wem-ds.single-post.single-post .elementor-widget-button .elementor-button {
	min-height: 52px;
	padding: 12px 30px !important;
	border: 1.5px solid var(--wem-blue) !important;
	border-radius: 999px !important;
	background: var(--wem-blue) !important;
	color: #fff !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: .05em !important;
	text-transform: uppercase !important;
	box-shadow: none !important;
}

body.wem-ds.single-post.single-post .elementor-widget-button .elementor-button:is(:hover, :focus-visible) {
	border-color: var(--wem-blue-pressed) !important;
	background: var(--wem-blue-pressed) !important;
}

/* The author: a hairline card. */
body.wem-ds.single-post.single-post .elementor-author-box {
	padding: clamp(20px, 2.4vw, 30px);
	border: 1px solid var(--wem-hairline);
	background: #fff;
}

body.wem-ds.single-post.single-post .elementor-author-box__name {
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 24px !important;
	font-weight: 900 !important;
	text-transform: uppercase;
}

body.wem-ds.single-post.single-post .elementor-author-box__bio {
	color: var(--wem-stone) !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
}

/* Related posts: their titles in the system, their pictures square. */
body.wem-ds.single-post.single-post .elementor-widget-loop-carousel :is(.elementor-heading-title, h2, h3) {
	font-size: clamp(20px, 1.6vw, 24px) !important;
	line-height: 1 !important;
}

body.wem-ds.single-post.single-post .elementor-widget-loop-carousel img {
	border-radius: 0 !important;
}

/* ------------------------------------------------------------------ *
 * 28. A member's profile: "My courses" (/members/<name>/courses/)
 *
 * The "WEMountain My Courses" design. The member's header sits on a
 * photograph under a dark wash, full width: a square avatar (or the
 * initial on sky), the rank and joining date in sky, the name in Big
 * Shoulders, Runs and badges in glass boxes, the profile's tabs along the
 * foot on a hairline. Below, on paper, the tab's content beside a 340px
 * sidebar: My courses / My certificates as pills, the count and the
 * grid/list switch, the courses as white cards 3px apart with a 4px blue
 * progress bar; the sidebar's Resume course as the blue pill, then Complete
 * your profile and User ranks as white cards. Markup:
 * buddypress/members/single/home.php and cover-image-header.php; BuddyBoss's
 * own sheets still load, so the body class is repeated for weight.
 * ------------------------------------------------------------------ */

body.wem-ds.bp-user.bp-user {
	background: var(--wem-paper);
}

body.wem-ds.bp-user.bp-user :is(.site-content, #content, #primary, .site-main, #buddypress) {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body.wem-ds.bp-user.bp-user .wem-member {
	--wem-member-gutter: clamp(22px, 5.5vw, 88px);
	--wem-member-width: min(100%, 1540px);
	color: var(--wem-ink);
}

/* The header: the photograph, full width, under a dark wash. */
body.wem-ds.bp-user.bp-user .wem-member-hero {
	margin: 0 calc(50% - 50vw);
	padding: clamp(40px, 5vw, 72px) var(--wem-member-gutter) 0;
	background: linear-gradient(rgba(12, 15, 18, .55), rgba(12, 15, 18, .55)), var(--wem-member-cover, none) center / cover, var(--wem-night);
	color: #fff;
}

body.wem-ds.bp-user.bp-user .wem-member-hero-inner {
	width: var(--wem-member-width);
	margin: 0 auto;
}

body.wem-ds.bp-user.bp-user .wem-member-hero #item-header {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

/* The ID outranks BuddyBoss's own #cover-image-container card (white, bordered). */
body.wem-ds.bp-user.bp-user #cover-image-container.wem-member-head {
	position: relative;
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: clamp(20px, 3vw, 40px);
	margin: 0 !important;
	padding: 0 0 clamp(28px, 4vw, 44px) !important;
	border: 0;
	border-radius: 0;
	background: none;
}

body.wem-ds.bp-user.bp-user .wem-member-avatar {
	position: relative;
	flex: none;
	width: clamp(96px, 10vw, 132px);
	height: clamp(96px, 10vw, 132px);
	margin: 0;
	background: var(--wem-sky);
}

body.wem-ds.bp-user.bp-user .wem-member-avatar img.avatar {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.wem-ds.bp-user.bp-user .wem-member-initial {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	color: var(--wem-blue-nav);
	font-family: 'Big Shoulders', sans-serif;
	font-size: clamp(40px, 4vw, 56px);
	font-weight: 900;
	line-height: 1;
}

/* A member's own links to change the photos: small, on the photograph. */
body.wem-ds.bp-user.bp-user :is(.wem-member-avatar-link, .wem-member-cover-link) {
	position: absolute !important;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 999px;
	background: rgba(12, 15, 18, .55);
	color: #fff !important;
	font-size: 16px;
	text-decoration: none;
	opacity: .85;
	transition: opacity var(--wem-dur-state) var(--wem-ease-standard), background var(--wem-dur-state) var(--wem-ease-standard);
}

body.wem-ds.bp-user.bp-user .wem-member-head .wem-member-avatar .wem-member-avatar-link {
	inset: auto 6px 6px auto !important;
	margin: 0 !important;
}

body.wem-ds.bp-user.bp-user .wem-member-head .wem-member-cover-link {
	inset: calc(16px - clamp(40px, 5vw, 72px)) 0 auto auto !important;
	margin: 0 !important;
}

body.wem-ds.bp-user.bp-user :is(.wem-member-avatar-link, .wem-member-cover-link):is(:hover, :focus-visible) {
	opacity: 1;
	background: var(--wem-blue);
}

body.wem-ds.bp-user.bp-user .wem-member-words {
	flex: 1;
	min-width: 220px;
	margin: 0 !important;
	padding: 0 !important;
	text-align: left !important;
}

body.wem-ds.bp-user.bp-user .wem-member-eyebrow {
	margin: 0 0 10px;
	color: var(--wem-sky);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	line-height: 1.4;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member-name {
	margin: 0;
	color: #fff !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: clamp(46px, 5.4vw, 80px) !important;
	font-weight: 900 !important;
	line-height: .88 !important;
	letter-spacing: -.01em;
	text-transform: uppercase;
	overflow-wrap: anywhere;
}

body.wem-ds.bp-user.bp-user .wem-member-stats {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 3px;
}

body.wem-ds.bp-user.bp-user .wem-member-stat {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-width: 120px;
	padding: 18px 22px;
	background: rgba(255, 255, 255, .1);
	border: 1px solid rgba(255, 255, 255, .22);
	-webkit-backdrop-filter: blur(6px);
	backdrop-filter: blur(6px);
}

body.wem-ds.bp-user.bp-user .wem-member-stat p {
	margin: 0;
}

body.wem-ds.bp-user.bp-user .wem-member-stat-label {
	margin-bottom: 6px !important;
	color: rgba(255, 255, 255, .72);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member-stat-value {
	color: #fff;
	font-family: 'Big Shoulders', sans-serif;
	font-size: 34px;
	font-weight: 900;
	line-height: 1;
}

body.wem-ds.bp-user.bp-user .wem-member-stat-link {
	display: inline-block;
	margin-top: 8px;
	color: #8fb2ff;
	font-size: 13px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.wem-ds.bp-user.bp-user .wem-member-stat-link:hover {
	color: #fff;
}

body.wem-ds.bp-user.bp-user .wem-member-stat-none {
	color: rgba(255, 255, 255, .85);
	font-size: 14px;
}

body.wem-ds.bp-user.bp-user .wem-member-badges {
	display: flex;
	gap: 8px;
}

body.wem-ds.bp-user.bp-user .wem-member-badges img {
	display: block;
	width: 38px;
	height: 38px;
	object-fit: contain;
}

body.wem-ds.bp-user.bp-user .wem-member-stats .member-header-actions:empty {
	display: none;
}

/* The profile's tabs, along the foot of the photograph. */
body.wem-ds.bp-user.bp-user .wem-member-hero #object-nav {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	border-top: 1px solid rgba(255, 255, 255, .22);
	box-shadow: none;
}

body.wem-ds.bp-user.bp-user .wem-member-hero #object-nav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 0 28px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member-hero #object-nav li {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member-hero #object-nav li a {
	display: block;
	margin: 0;
	padding: 18px 0 16px !important;
	background: none !important;
	border: 0;
	border-bottom: 3px solid transparent;
	color: rgba(255, 255, 255, .62) !important;
	font-family: 'Big Shoulders', sans-serif;
	font-size: 17px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
	transition: color var(--wem-dur-state) var(--wem-ease-standard);
}

body.wem-ds.bp-user.bp-user .wem-member-hero #object-nav li a .bb-single-nav-item-point {
	color: inherit;
	font: inherit;
}

body.wem-ds.bp-user.bp-user .wem-member-hero #object-nav li a:is(:hover, :focus-visible) {
	color: #fff !important;
}

body.wem-ds.bp-user.bp-user .wem-member-hero #object-nav li:is(.current, .selected) a {
	color: #fff !important;
	border-bottom-color: var(--wem-sky);
}

body.wem-ds.bp-user.bp-user .wem-member-hero #object-nav li a .count {
	margin-left: 6px;
	color: var(--wem-sky);
	background: none;
}

/* The page: the tab's content beside the sidebar. */
body.wem-ds.bp-user.bp-user .wem-member-body {
	margin: 0 calc(50% - 50vw);
	padding: clamp(36px, 4vw, 56px) var(--wem-member-gutter) clamp(64px, 8vw, 110px);
	background: none;
}

body.wem-ds.bp-user.bp-user .wem-member-grid {
	width: var(--wem-member-width);
	margin: 0 auto;
}

body.wem-ds.bp-user.bp-user .wem-member-grid.has-side {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 340px;
	gap: clamp(24px, 3vw, 48px);
	align-items: start;
}

@media (max-width: 1000px) {
	body.wem-ds.bp-user.bp-user .wem-member-grid.has-side {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.wem-ds.bp-user.bp-user .wem-member-grid .item-body,
body.wem-ds.bp-user.bp-user .wem-member-grid .item-body-inner {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

/* My courses / My certificates as pills. */
body.wem-ds.bp-user.bp-user .wem-member nav#subnav {
	position: relative;
	z-index: 1;
	margin: 0 0 18px;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

body.wem-ds.bp-user.bp-user .wem-member nav#subnav ul {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member nav#subnav li {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
}

body.wem-ds.bp-user.bp-user .wem-member nav#subnav li a {
	display: inline-flex;
	align-items: center;
	min-height: 0;
	margin: 0;
	padding: 9px 18px !important;
	background: transparent !important;
	border: 1px solid rgba(20, 20, 20, .28) !important;
	border-radius: 999px !important;
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
	text-decoration: none;
	transition: background var(--wem-dur-state) var(--wem-ease-standard), border-color var(--wem-dur-state) var(--wem-ease-standard), color var(--wem-dur-state) var(--wem-ease-standard);
}

body.wem-ds.bp-user.bp-user .wem-member nav#subnav li a:is(:hover, :focus-visible) {
	border-color: var(--wem-ink) !important;
}

body.wem-ds.bp-user.bp-user .wem-member nav#subnav li:is(.current, .selected) a {
	background: var(--wem-blue) !important;
	border-color: var(--wem-blue) !important;
	color: #fff !important;
}

/* On My courses, the pills share a line with the count and the switch. */
body.wem-ds.bp-user.bp-user .wem-member .item-body-inner:has(#bb-learndash_profile) nav#subnav {
	width: max-content;
	max-width: calc(100% - 240px);
	margin-bottom: -38px;
}

/* The count and the grid/list switch, on one line. */
body.wem-ds.bp-user.bp-user .wem-member #bb-learndash_profile {
	position: relative;
}

body.wem-ds.bp-user.bp-user .wem-member #bb-learndash_profile .bb-item-count {
	position: absolute;
	top: 0;
	right: 90px;
	margin: 0;
	line-height: 36px;
	color: var(--wem-stone);
	font-size: 14px;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-courses-header {
	justify-content: flex-end;
	min-height: 36px;
	margin: 0 0 26px;
	padding: 0;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-courses-header .bs-dir-search:empty {
	display: none;
}

body.wem-ds.bp-user.bp-user .wem-member .grid-filters {
	display: flex;
	gap: 6px;
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .grid-filters .layout-view {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	margin: 0;
	padding: 0;
	background: transparent;
	border: 1px solid rgba(20, 20, 20, .28);
	border-radius: 0;
	color: var(--wem-ink);
	opacity: 1;
}

body.wem-ds.bp-user.bp-user .wem-member .grid-filters .layout-view.active {
	background: var(--wem-ink);
	border-color: var(--wem-ink);
	color: #fff;
}

body.wem-ds.bp-user.bp-user .wem-member .grid-filters .layout-view .dashicons {
	color: inherit;
	font-size: 16px;
	width: 16px;
	height: 16px;
}

/* The courses: white cards, 3px apart, three across. */
body.wem-ds.bp-user.bp-user .wem-member .bb-course-items.grid-view,
body.wem-ds.bp-user.bp-user .wem-member .bb-course-items.bb-grid {
	display: grid !important;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 3px;
	margin: 0 !important;
	padding: 0;
	list-style: none;
}

@media (max-width: 1180px) {
	body.wem-ds.bp-user.bp-user .wem-member .bb-course-items.grid-view,
	body.wem-ds.bp-user.bp-user .wem-member .bb-course-items.bb-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	body.wem-ds.bp-user.bp-user .wem-member .bb-course-items.grid-view,
	body.wem-ds.bp-user.bp-user .wem-member .bb-course-items.bb-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

body.wem-ds.bp-user.bp-user .wem-member .bb-course-items.list-view {
	display: grid !important;
	grid-template-columns: minmax(0, 1fr);
	gap: 3px;
	margin: 0 !important;
	padding: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-course-items .bb-course-item-wrap {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	flex: none !important;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-cover-list-item {
	height: 100%;
	margin: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--wem-hairline) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	transition: border-color var(--wem-dur-state) var(--wem-ease-standard);
}

body.wem-ds.bp-user.bp-user .wem-member .bb-cover-list-item:hover {
	border-color: rgba(20, 20, 20, .3) !important;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-course-cover,
body.wem-ds.bp-user.bp-user .wem-member .bb-course-cover .bb-cover-wrap {
	border-radius: 0 !important;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-course-cover .ld-status {
	border-radius: 0 !important;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-card-course-details {
	display: flex;
	flex-direction: column;
	gap: 12px;
	padding: 22px 22px 26px !important;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-card-course-details .course-lesson-count {
	margin: 0;
	color: var(--wem-stone) !important;
	font-size: 12px !important;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-card-course-details .bb-course-title {
	margin: 0 !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 22px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-card-course-details .bb-course-title a {
	color: var(--wem-ink) !important;
	text-decoration: none;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-card-course-details .bb-course-title a:is(:hover, :focus-visible) {
	color: var(--wem-blue) !important;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-card-course-details .bb-course-excerpt {
	display: none;
}

/* The progress: a 4px bar, then the percentage and the steps. */
body.wem-ds.bp-user.bp-user .wem-member .course-progress-wrap .ld-progress {
	display: flex !important;
	flex-direction: column !important;
	gap: 12px;
	margin: 0;
	padding: 0;
	background: none;
}

body.wem-ds.bp-user.bp-user .wem-member .course-progress-wrap .ld-progress-heading {
	order: 2;
	width: 100%;
	margin: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .course-progress-wrap .ld-progress-bar {
	order: 1;
	width: 100%;
	height: 4px !important;
	margin: 0 !important;
	border-radius: 0 !important;
	background: rgba(20, 20, 20, .12) !important;
}

body.wem-ds.bp-user.bp-user .wem-member .course-progress-wrap .ld-progress-bar-percentage {
	height: 4px !important;
	border-radius: 0 !important;
	background: var(--wem-blue) !important;
}

body.wem-ds.bp-user.bp-user .wem-member .course-progress-wrap .ld-progress-stats {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .course-progress-wrap .ld-progress-percentage {
	color: var(--wem-ink) !important;
	font-size: 13px !important;
	font-weight: 600;
	text-transform: none;
}

body.wem-ds.bp-user.bp-user .wem-member .course-progress-wrap :is(.ld-progress-steps, .ld-progress-label) {
	color: var(--wem-stone) !important;
	font-size: 13px !important;
	font-weight: 400;
	text-transform: none;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-lms-pagination {
	margin-top: 28px;
}

/* Nothing yet (no courses, no certificates): a white panel. */
body.wem-ds.bp-user.bp-user .wem-member .item-body :is(.bp-feedback, .bp-messages) {
	margin: 0;
	padding: clamp(36px, 5vw, 64px);
	background: #fff;
	border: 1px solid var(--wem-hairline);
	border-radius: 0;
	box-shadow: none;
	color: var(--wem-stone);
}

body.wem-ds.bp-user.bp-user .wem-member .item-body :is(.bp-feedback, .bp-messages) .bp-icon {
	display: none;
}

body.wem-ds.bp-user.bp-user .wem-member .item-body :is(.bp-feedback, .bp-messages) p {
	margin: 0;
	font-size: 16px;
}

/* The sidebar: Resume course as the blue pill, the rest as white cards. */
body.wem-ds.bp-user.bp-user .wem-member-side {
	display: flex;
	flex-direction: column;
	gap: 3px;
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0 !important;
}

body.wem-ds.bp-user.bp-user .wem-member-side > .widget {
	margin: 0;
	padding: 26px 24px 30px;
	background: #fff;
	border: 1px solid var(--wem-hairline);
	border-radius: 0;
	box-shadow: none;
}

body.wem-ds.bp-user.bp-user .wem-member-side > .widget:first-child:has(.ld-course-resume),
body.wem-ds.bp-user.bp-user .wem-member-side > .widget:has(> .ld-course-resume:only-child),
body.wem-ds.bp-user.bp-user .wem-member-side > .widget_block:has(.ld-course-resume) {
	margin-bottom: 13px;
	padding: 0;
	background: none;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member-side > .widget_block:not(:has(*)) {
	display: none;
}

body.wem-ds.bp-user.bp-user .wem-member-side .ld-course-resume {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 100%;
	margin: 0 !important;
	padding: 16px 28px !important;
	background: var(--wem-blue) !important;
	border: 0 !important;
	border-radius: 999px !important;
	color: #fff !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 17px !important;
	font-weight: 800 !important;
	letter-spacing: .04em;
	line-height: 1.1;
	text-transform: uppercase;
	text-decoration: none !important;
	transition: background var(--wem-dur-state) var(--wem-ease-standard);
}

body.wem-ds.bp-user.bp-user .wem-member-side .ld-course-resume:is(:hover, :focus-visible) {
	background: var(--wem-blue-pressed) !important;
}

body.wem-ds.bp-user.bp-user .wem-member-side .widget :is(.widget-title, .widgettitle, h2.widget-title, .widget-title a) {
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 20px !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	letter-spacing: 0;
	text-transform: uppercase;
	text-decoration: none;
}

/* Complete your profile: the arc in green, the figure in Big Shoulders. */
body.wem-ds.bp-user.bp-user .wem-member-side .pc_progress_wrap {
	margin: 0 auto 22px;
	text-align: center;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_progress_graph {
	width: min(100%, 220px);
	height: auto;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_progress_graph path:first-child {
	stroke: rgba(20, 20, 20, .1);
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_progress_graph .pc_progress_rate {
	stroke: #4cb81a;
}

body.wem-ds.bp-user.bp-user .wem-member-side .progress_text_wrap h3 {
	margin: 0;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 56px;
	font-weight: 900;
	line-height: .9;
}

body.wem-ds.bp-user.bp-user .wem-member-side .progress_text_wrap .progress_text_unit {
	margin-left: 4px;
	color: var(--wem-stone);
	font-family: inherit;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
}

body.wem-ds.bp-user.bp-user .wem-member-side .progress_text_label {
	display: block;
	margin-top: 8px;
	color: var(--wem-stone);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .25em;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .single_section_wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 14px;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress :is(.single_section_wrap, .section_ico)::before,
body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress :is(.single_section_wrap, .section_ico)::after {
	display: none !important;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .section_ico {
	flex: none;
	width: 12px;
	height: 12px;
	border: 1px solid rgba(20, 20, 20, .28);
	border-radius: 999px;
	background: transparent;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .section_ico i,
body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .section_number {
	display: none;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .completed .section_ico {
	border-color: var(--wem-blue);
	background: var(--wem-blue);
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .section_name {
	flex: 1;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .section_name a {
	color: var(--wem-ink);
	text-decoration: none;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .progress {
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 18px;
	font-weight: 900;
}

body.wem-ds.bp-user.bp-user .wem-member-side .pc_detailed_progress .completed .progress {
	color: var(--wem-blue);
}

/* User ranks: the rank in Big Shoulders, its words in stone. */
body.wem-ds.bp-user.bp-user .wem-member-side .gamipress-rank {
	display: block;
	margin: 0 0 14px;
	padding: 0;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member-side .gamipress-rank-image img {
	max-width: 56px;
	height: auto;
	margin-bottom: 10px;
}

body.wem-ds.bp-user.bp-user .wem-member-side .gamipress-rank-title,
body.wem-ds.bp-user.bp-user .wem-member-side .gamipress-rank-title a {
	margin: 0 0 8px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 26px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
}

body.wem-ds.bp-user.bp-user .wem-member-side :is(.gamipress-rank-excerpt, .gamipress-rank-requirements) {
	color: var(--wem-stone);
	font-size: 15px;
	line-height: 1.55;
}

/* Phones: the header stacks, the stats run full width. */
@media (max-width: 640px) {
	body.wem-ds.bp-user.bp-user .wem-member-stats {
		width: 100%;
	}

	body.wem-ds.bp-user.bp-user .wem-member-stat {
		flex: 1;
	}

	body.wem-ds.bp-user.bp-user .wem-member #bb-learndash_profile .bb-item-count {
		position: static;
	}

	body.wem-ds.bp-user.bp-user .wem-member .bb-courses-header {
		margin-top: -36px; /* the switch on the count's line */
	}

	body.wem-ds.bp-user.bp-user .wem-member .item-body-inner:has(#bb-learndash_profile) nav#subnav {
		max-width: none;
		margin-bottom: 18px;
	}
}

/* ------------------------------------------------------------------ *
 * 29. A member's profile: the other tabs and screens
 *
 * Profile (the design's white cards: the group of fields' name as a blue
 * eyebrow, label and value rows, an Activity card; members/single/profile/
 * profile-loop.php), Level (GamiPress's ranks as white cards, the earned
 * ones ruled in blue), My certificates (white cards with the download as a
 * pill), and the screens with forms — edit profile, profile and cover
 * photo, account settings — on a white card under the member's header:
 * the screen's title in Big Shoulders, its sub-pages as pills, labels as
 * eyebrows over underlined fields, the blue pill to save and outlined
 * pills for the rest, notices as quiet panels. No design exists for Level,
 * certificates or the forms; this is the system applied to them, after the
 * Registration design.
 * ------------------------------------------------------------------ */

/* ---- Profile: the design's cards -------------------------------- */

body.wem-ds.bp-user.bp-user .wem-member .bp-profile-wrapper,
body.wem-ds.bp-user.bp-user .wem-member .bp-profile-content {
	margin: 0;
	padding: 0;
	background: none;
	border: 0;
	box-shadow: none;
}

body.wem-ds.bp-user.bp-user .wem-profile-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
	gap: 3px;
	align-items: start;
}

body.wem-ds.bp-user.bp-user .wem-profile-card {
	margin: 0;
	padding: 28px 26px 32px;
	background: #fff;
	border: 1px solid var(--wem-hairline);
}

body.wem-ds.bp-user.bp-user .wem-profile-card-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin: 0 0 18px;
	padding: 0;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-profile-card-eyebrow {
	margin: 0 !important;
	color: var(--wem-blue) !important;
	font-family: inherit !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	line-height: 1.4 !important;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-profile-card-edit {
	color: var(--wem-blue);
	font-size: 14px;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 3px;
}

body.wem-ds.bp-user.bp-user .wem-profile-fields {
	display: flex;
	flex-direction: column;
	margin: 0;
}

body.wem-ds.bp-user.bp-user .wem-profile-field {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 3fr);
	gap: 4px 16px;
	padding: 11px 0;
	border-top: 1px solid var(--wem-hairline);
}

body.wem-ds.bp-user.bp-user .wem-profile-field:first-child {
	border-top: 0;
	padding-top: 0;
}

body.wem-ds.bp-user.bp-user .wem-profile-field dt {
	margin: 0;
	color: var(--wem-stone);
	font-size: 14px;
	font-weight: 500;
}

body.wem-ds.bp-user.bp-user .wem-profile-field dd {
	margin: 0;
	color: var(--wem-ink);
	font-size: 15px;
	overflow-wrap: anywhere;
}

body.wem-ds.bp-user.bp-user .wem-profile-field dd :is(p, ul) {
	margin: 0;
}

body.wem-ds.bp-user.bp-user .wem-profile-field dd a {
	color: var(--wem-blue);
}

@media (max-width: 480px) {
	body.wem-ds.bp-user.bp-user .wem-profile-field {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---- Level: GamiPress's ranks ----------------------------------- */

body.wem-ds.bp-user.bp-user .wem-member :is(.gamipress-ranks-container, .gamipress-achievements-container) {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 3px;
	margin: 0;
}

body.wem-ds.bp-user.bp-user .wem-member :is(.gamipress-ranks-container, .gamipress-achievements-container) > :is(.gamipress-rank, .gamipress-achievement) {
	width: auto !important;
	margin: 0 !important;
	padding: 26px 24px 30px;
	background: #fff;
	border: 1px solid var(--wem-hairline);
	border-top: 3px solid transparent;
	text-align: left;
}

body.wem-ds.bp-user.bp-user .wem-member :is(.gamipress-rank, .gamipress-achievement).user-has-earned {
	border-top-color: var(--wem-blue);
}

body.wem-ds.bp-user.bp-user .wem-member :is(.gamipress-rank, .gamipress-achievement).user-has-not-earned :is(.gamipress-rank-image, .gamipress-achievement-image) {
	opacity: .45;
	filter: grayscale(1);
}

body.wem-ds.bp-user.bp-user .wem-member :is(.gamipress-rank-image, .gamipress-achievement-image) img {
	width: 72px;
	height: 72px;
	margin: 0 0 14px;
	object-fit: contain;
}

body.wem-ds.bp-user.bp-user .wem-member :is(.gamipress-rank-title, .gamipress-achievement-title),
body.wem-ds.bp-user.bp-user .wem-member :is(.gamipress-rank-title, .gamipress-achievement-title) a {
	margin: 0 0 10px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
	text-decoration: none;
}

body.wem-ds.bp-user.bp-user .wem-member :is(.gamipress-rank-excerpt, .gamipress-achievement-excerpt, .gamipress-rank-requirements, .gamipress-achievement-requirements) {
	color: var(--wem-stone);
	font-size: 15px;
	line-height: 1.55;
}

body.wem-ds.bp-user.bp-user .wem-member .gamipress-open-close-switch a {
	color: var(--wem-blue);
	font-size: 14px;
	font-weight: 600;
}

/* ---- My certificates ------------------------------------------- */

body.wem-ds.bp-user.bp-user .wem-member #certificate_list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr));
	gap: 3px;
	margin: 0;
	padding: 0;
	list-style: none;
}

body.wem-ds.bp-user.bp-user .wem-member #certificate_list > li {
	width: auto;
	max-width: none;
	margin: 0;
	padding: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-wrap {
	height: 100%;
	margin: 0;
	padding: 26px 24px 28px;
	background: #fff;
	border: 1px solid var(--wem-hairline);
	border-top: 3px solid var(--wem-blue);
	border-radius: 0;
	box-shadow: none;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-title {
	margin: 0 0 10px;
	font-family: 'Big Shoulders', sans-serif;
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-title span,
body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-date span {
	display: block;
	margin-bottom: 6px;
	color: var(--wem-blue);
	font-family: inherit;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-title a {
	color: var(--wem-ink);
	text-decoration: none;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-date {
	color: var(--wem-stone);
	font-size: 15px;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-download {
	margin: 20px 0 0;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-download a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 10px 20px;
	border: 1px solid rgba(20, 20, 20, .28);
	border-radius: 999px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
}

body.wem-ds.bp-user.bp-user .wem-member .bb-certificate-download a:is(:hover, :focus-visible) {
	background: var(--wem-blue);
	border-color: var(--wem-blue);
	color: #fff;
}

/* ---- The screens with forms: a white card under the header ----- */

body.wem-ds.bp-user.bp-user .wem-member-full .wem-member-grid {
	width: min(100%, 980px);
}

body.wem-ds.bp-user.bp-user .wem-member-full .item-body-inner {
	padding: clamp(28px, 4vw, 56px) !important;
	background: #fff !important;
	border: 1px solid var(--wem-hairline) !important;
}

/* The screen's title and its "View profile" button. */
body.wem-ds.bp-user.bp-user .wem-member :is(.settings-header, .profile-header:not(.profile-loop-header)) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 20px;
	margin: 0 0 clamp(22px, 3vw, 32px);
	padding: 0;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member :is(.settings-title, .bb-profile-title) {
	margin: 0 auto 0 0 !important;
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: clamp(36px, 4vw, 56px) !important;
	font-weight: 900 !important;
	line-height: .9 !important;
	letter-spacing: -.01em;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member .screen-heading {
	margin: 0 0 18px !important;
	padding: 0 !important;
	border: 0 !important;
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: clamp(24px, 2.4vw, 32px) !important;
	font-weight: 900 !important;
	line-height: 1 !important;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member .screen-heading.warn {
	color: #b3122c !important;
}

/* The settings' and editing's sub-pages: pills, in a row above the form. */
body.wem-ds.bp-user.bp-user .wem-member :is(.bp-settings-container, .bp-profile-wrapper) {
	display: block !important;
}

body.wem-ds.bp-user.bp-user .wem-member-full nav#subnav {
	width: auto;
	max-width: none;
	margin: 0 0 clamp(24px, 3vw, 36px) !important;
	float: none;
}

body.wem-ds.bp-user.bp-user .wem-member-full nav#subnav,
body.wem-ds.bp-user.bp-user .wem-member-full nav#subnav ul {
	height: auto !important;
	min-height: 0 !important;
}

body.wem-ds.bp-user.bp-user .wem-member-full nav#subnav ul {
	flex-direction: row !important;
}

body.wem-ds.bp-user.bp-user .wem-member nav#subnav li a::before,
body.wem-ds.bp-user.bp-user .wem-member nav#subnav li a > i {
	display: none !important;
}

body.wem-ds.bp-user.bp-user .wem-member :is(.bb-bp-settings-content, .bp-profile-content) {
	width: auto !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Help text and notices. */
body.wem-ds.bp-user.bp-user .wem-member :is(.bp-help-text, .info.email-pwd-info, .description) {
	color: var(--wem-stone);
	font-size: 15px;
	line-height: 1.55;
}

body.wem-ds.bp-user.bp-user .wem-member-full .item-body :is(.bp-feedback, .bp-messages, .info.bp-feedback) {
	margin: 0 0 24px;
	padding: 14px 18px;
	background: var(--wem-paper);
	border: 0;
	border-left: 3px solid var(--wem-blue);
	color: var(--wem-ink);
	font-size: 15px;
}

/* Fields: the label as an eyebrow, the field underlined. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body :is(.standard-form, form) :is(label:not(.bp-screen-reader-text):not([for*="checkbox"]):not(.option-label), legend, .field-visibility-settings-header) {
	display: block !important;
	margin: 0 0 8px !important;
	padding: 0 !important;
	color: var(--wem-stone) !important;
	font-size: 11px !important;
	font-weight: 700 !important;
	letter-spacing: .14em !important;
	line-height: 1.4 !important;
	text-transform: uppercase !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form :is(input[type="text"], input[type="email"], input[type="password"], input[type="url"], input[type="tel"], input[type="number"], input[type="date"], select, textarea) {
	width: 100% !important;
	max-width: 100% !important;
	min-height: 48px !important;
	margin: 0 0 20px !important;
	padding: 10px 2px !important;
	background: transparent !important;
	border: 0 !important;
	border-bottom: 2px solid var(--wem-field-underline) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: var(--wem-ink) !important;
	font-size: 17px !important;
	transition: border-color var(--wem-dur-state) var(--wem-ease-standard) !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form textarea {
	min-height: 120px !important;
	padding: 12px 14px !important;
	border: 1px solid var(--wem-field-underline) !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form :is(input, select, textarea):focus {
	border-color: var(--wem-blue) !important;
	outline: 0 !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form :is(.editfield, .bb-field-wrap) {
	margin: 0 0 8px !important;
	padding: 0 !important;
	border: 0 !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form fieldset {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
}

/* Buttons: the blue pill to save, outlined pills for the rest. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body :is(input[type="submit"], button[type="submit"], .button, a.button) {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	padding: 10px 22px !important;
	background: transparent !important;
	border: 1px solid rgba(20, 20, 20, .28) !important;
	border-radius: 999px !important;
	box-shadow: none !important;
	color: var(--wem-ink) !important;
	font-family: 'Big Shoulders', sans-serif !important;
	font-size: 16px !important;
	font-weight: 800 !important;
	letter-spacing: .04em;
	line-height: 1.1 !important;
	text-shadow: none !important;
	text-transform: uppercase;
	text-decoration: none !important;
	cursor: pointer;
	transition: background var(--wem-dur-state) var(--wem-ease-standard), border-color var(--wem-dur-state) var(--wem-ease-standard), color var(--wem-dur-state) var(--wem-ease-standard);
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body :is(input[type="submit"], button[type="submit"], .button, a.button):is(:hover, :focus-visible) {
	border-color: var(--wem-ink) !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form :is(input[type="submit"], button[type="submit"]):not(.button-secondary):not(.cancel),
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form .submit :is(input, button),
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .drag-drop-buttons .button {
	min-height: 52px;
	padding: 14px 32px !important;
	background: var(--wem-blue) !important;
	border-color: var(--wem-blue) !important;
	color: #fff !important;
	font-size: 17px !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form :is(input[type="submit"], button[type="submit"]):not(.button-secondary):not(.cancel):is(:hover, :focus-visible),
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .drag-drop-buttons .button:is(:hover, :focus-visible) {
	background: var(--wem-blue-pressed) !important;
	border-color: var(--wem-blue-pressed) !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .button i {
	display: none;
}

/* Deleting the account stays red: it cannot be undone. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body #delete-account-form :is(input[type="submit"], button[type="submit"]) {
	background: #b3122c !important;
	border-color: #b3122c !important;
}

/* Edit profile: the groups of fields as pills. */
body.wem-ds.bp-user.bp-user .wem-member .button-tabs.button-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0 0 26px;
	padding: 0;
	list-style: none;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .button-tabs.button-nav li {
	margin: 0;
	border: 0;
	background: none;
}

body.wem-ds.bp-user.bp-user .wem-member .button-tabs.button-nav li a {
	display: inline-flex;
	padding: 8px 16px;
	border: 1px solid rgba(20, 20, 20, .28);
	border-radius: 999px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 15px;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
	text-decoration: none;
}

body.wem-ds.bp-user.bp-user .wem-member .button-tabs.button-nav li.current a {
	background: var(--wem-ink);
	border-color: var(--wem-ink);
	color: #fff;
}

/* Profile and cover photo: the upload area as a dashed panel. */
body.wem-ds.bp-user.bp-user .wem-member .bp-avatar-nav {
	margin: 0 0 20px;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .bp-avatar-nav .avatar-nav-items {
	display: flex;
	gap: 8px;
	margin: 0;
	padding: 0;
	border: 0;
}

body.wem-ds.bp-user.bp-user .wem-member .bp-avatar-nav .avatar-nav-item a {
	padding: 8px 16px;
	border: 1px solid rgba(20, 20, 20, .28);
	border-radius: 999px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 15px;
	font-weight: 800;
	text-transform: uppercase;
	text-decoration: none;
}

body.wem-ds.bp-user.bp-user .wem-member .bp-avatar-nav .avatar-nav-item.current a {
	background: var(--wem-ink);
	border-color: var(--wem-ink);
	color: #fff;
}

body.wem-ds.bp-user.bp-user .wem-member :is(.drag-drop, .bp-uploader-window) {
	background: var(--wem-paper) !important;
	border: 2px dashed rgba(20, 20, 20, .22) !important;
	border-radius: 0 !important;
}

body.wem-ds.bp-user.bp-user .wem-member .drag-drop.drag-over {
	border-color: var(--wem-blue) !important;
}

body.wem-ds.bp-user.bp-user .wem-member .drag-drop-info {
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 22px;
	font-weight: 900;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user .wem-member :is(#avatar-crop-pane, .avatar-crop-management, #header-cover-image) {
	border-radius: 0 !important;
}

/* Email preferences: a table on hairlines. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body :is(table.notification-settings, table.profile-settings, .bp-tables-user) {
	width: 100%;
	margin: 0 0 24px;
	border: 0;
	border-collapse: collapse;
	background: none;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body :is(table.notification-settings, table.profile-settings, .bp-tables-user) :is(th, td) {
	padding: 12px 10px;
	background: none !important;
	border: 0;
	border-bottom: 1px solid var(--wem-hairline);
	color: var(--wem-ink);
	font-size: 15px;
	text-align: left;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body :is(table.notification-settings, table.profile-settings, .bp-tables-user) th {
	color: var(--wem-stone);
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .14em;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body :is(.notification_info, .notification_type) {
	color: var(--wem-stone);
	font-size: 14px;
}

/* Checkboxes and radios: square, blue when on. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form input:is([type="checkbox"], [type="radio"]) {
	accent-color: var(--wem-blue);
}

/* Email preferences: BuddyBoss's notification table and its switches. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body table.main-notification-settings {
	width: 100%;
	margin: 0 0 28px;
	border: 0;
	border-collapse: collapse;
	background: none;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body table.main-notification-settings :is(th, td) {
	padding: 13px 10px;
	background: none !important;
	border: 0;
	border-bottom: 1px solid var(--wem-hairline);
	color: var(--wem-ink);
	font-size: 15px;
	font-weight: 400;
	text-align: left;
	vertical-align: middle;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body table.main-notification-settings :is(.notification_heading td.title, th.title) {
	padding-top: 26px;
	color: var(--wem-ink);
	font-family: 'Big Shoulders', sans-serif;
	font-size: 20px;
	font-weight: 900;
	letter-spacing: .02em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--wem-ink);
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .notification_info {
	display: flex;
	flex-wrap: wrap;
	gap: 3px;
	margin: 0 0 24px;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .notification_type {
	display: flex;
	flex: 1 1 200px;
	gap: 12px;
	align-items: flex-start;
	padding: 16px 18px;
	background: var(--wem-paper);
	border: 0;
	border-radius: 0;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .notification_type_info h3 {
	margin: 0 0 4px;
	font-family: 'Big Shoulders', sans-serif;
	font-size: 18px;
	font-weight: 900;
	text-transform: uppercase;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .notification_type_info p {
	margin: 0;
	color: var(--wem-stone);
	font-size: 14px;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .notification_learn_more {
	flex-basis: 100%;
	margin: 6px 0 0;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .notification_learn_more a {
	color: var(--wem-blue);
	font-size: 14px;
	font-weight: 600;
}

/* Labels beside a checkbox stay sentence text, not eyebrows. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body.wem-member-body.wem-member-body.wem-member-body :is(.standard-form, form) :is(input[type="checkbox"], input[type="radio"]) + label,
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body.wem-member-body.wem-member-body.wem-member-body :is(.standard-form, form) .bp-checkbox-wrap label {
	display: inline-block !important;
	margin: 0 !important;
	color: var(--wem-ink) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
}

/* BuddyBoss draws its checkboxes on the label: square, blue when on. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .bs-styled-checkbox + label {
	position: relative !important;
	padding-left: 30px !important;
	cursor: pointer;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .bs-styled-checkbox + label::before {
	content: '' !important;
	position: absolute !important;
	top: 50% !important;
	left: 0 !important;
	width: 18px !important;
	height: 18px !important;
	margin: -9px 0 0 !important;
	background: #fff !important;
	border: 1.5px solid rgba(20, 20, 20, .45) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .bs-styled-checkbox:checked + label::before {
	background: var(--wem-blue) !important;
	border-color: var(--wem-blue) !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .bs-styled-checkbox:checked + label::after {
	content: '' !important;
	position: absolute !important;
	top: 50% !important;
	left: 6px !important;
	width: 6px !important;
	height: 10px !important;
	margin-top: -7px !important;
	border: solid #fff !important;
	border-width: 0 2px 2px 0 !important;
	background: none !important;
	transform: rotate(45deg) !important;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body .bs-styled-checkbox:focus-visible + label::before {
	outline: 2px solid var(--wem-blue);
	outline-offset: 2px;
}

/* Delete account: the warning in red, the box above the button. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body form .bp-checkbox-wrap {
	margin: 0 0 24px;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body.wem-member-body.wem-member-body.wem-member-body :is(.standard-form, form) .bp-checkbox-wrap label.warn {
	color: #b3122c !important;
	font-weight: 600 !important;
}

/* In the email table the column says what the box is for: the box alone. */
body.wem-ds.bp-user.bp-user #buddypress .wem-member-body.wem-member-body.wem-member-body.wem-member-body table.main-notification-settings .bs-styled-checkbox + label {
	width: 18px !important;
	height: 18px !important;
	padding: 0 !important;
	overflow: hidden !important;
	color: transparent !important;
	font-size: 0 !important;
	vertical-align: middle;
}

body.wem-ds.bp-user.bp-user #buddypress .wem-member-body table.main-notification-settings td:last-child:not(.title) {
	width: 60px;
	text-align: center;
}
