/*
 * Daymark front-end styles.
 * Colours and fonts come from theme.json presets (var(--wp--preset--color--*) and
 * var(--wp--preset--font-family--*)), so changing them in Styles restyles everything here too.
 */

:root {
	--dm-ink: var(--wp--preset--color--ink);
	--dm-ground: var(--wp--preset--color--ground);
	--dm-paper: var(--wp--preset--color--paper);
	--dm-muted: var(--wp--preset--color--muted);
	--dm-line: var(--wp--preset--color--line);
	--dm-mono: var(--wp--preset--font-family--mono);
	--dm-display: var(--wp--preset--font-family--display);
	--dm-r-card: var(--wp--custom--radius--card, 18px);
	--dm-r-label: var(--wp--custom--radius--label, 6px);
	--dm-r-pill: var(--wp--custom--radius--pill, 999px);
	--dm-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Accessibility helpers ----------------------------------------------------- */
:where(a, button, input, select, textarea, summary):focus-visible {
	outline: 2px solid var(--wp--preset--color--sleep);
	outline-offset: 3px;
}
.screen-reader-text { border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%); height: 1px; margin: -1px; overflow: hidden; padding: 0; position: absolute !important; width: 1px; word-wrap: normal !important; }
.dm-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.dm-mono, .is-style-dm-mono { font-family: var(--dm-mono); font-size: 0.8125rem; letter-spacing: 0.04em; text-transform: uppercase; }
.dm-icon { flex-shrink: 0; vertical-align: middle; }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* Header ------------------------------------------------------------------- */
.dm-utility { font-family: var(--dm-mono); font-size: 0.75rem; letter-spacing: .04em; text-transform: uppercase; }
.dm-header { border-bottom: 2px solid var(--dm-ink); }
.dm-header .wp-block-navigation a { text-decoration: none; }
.dm-header .wp-block-navigation a:hover,
.dm-header .wp-block-navigation .current-menu-item > a { text-decoration: underline; text-underline-offset: 6px; text-decoration-thickness: 2px; }
.dm-header .wp-block-search__inside-wrapper { border: 2px solid var(--dm-ink); border-radius: var(--dm-r-pill); background: var(--dm-paper); padding: 2px; }
.dm-header .wp-block-search__input { border: 0; background: transparent; min-height: 40px; padding: 0 .9rem; }
.dm-header .wp-block-search__button { border-radius: var(--dm-r-pill); min-width: 44px; min-height: 44px; }
.wc-block-mini-cart__button { min-height: 44px; min-width: 44px; border-radius: var(--dm-r-pill); }
.wc-block-mini-cart__badge { background: var(--wp--preset--color--energy) !important; color: var(--wp--preset--color--on-energy) !important; }

/* Need colours: any element with --dm-need ------------------------------------ */
.dm-need-sleep { --dm-page-need: var(--wp--preset--color--sleep); }
.dm-need-energy { --dm-page-need: var(--wp--preset--color--energy); }
.dm-need-gut { --dm-page-need: var(--wp--preset--color--gut); }
.dm-need-immunity { --dm-page-need: var(--wp--preset--color--immunity); }

.dm-badge {
	display: inline-block;
	font-family: var(--dm-mono);
	font-size: .8125rem;
	letter-spacing: .04em;
	text-transform: uppercase;
	background: var(--dm-need, var(--dm-ink));
	color: var(--dm-on-need, var(--dm-ground));
	padding: .2rem .6rem;
	border-radius: 4px;
}

/* The label (product "packshot" without a photo) ------------------------------ */
.dm-pack {
	container-type: inline-size;
	background: var(--dm-need, var(--dm-ink));
	color: var(--dm-on-need, var(--dm-ground));
	border-radius: var(--dm-r-card);
	aspect-ratio: 4 / 5;
	padding: 7%; /* % (of the card width): cqi can't be used on the container itself */
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	transition: transform .2s var(--dm-ease);
	width: 100%;
}
.dm-pack-link { display: block; text-decoration: none; color: inherit; }
.dm-pack-link:hover .dm-pack { transform: translateY(-4px); }
.dm-pack__top { display: flex; justify-content: space-between; gap: 8px; font-family: var(--dm-mono); font-size: max(.75rem, 4.6cqi); letter-spacing: .04em; text-transform: uppercase; }
.dm-pack__label { background: var(--dm-paper); color: var(--dm-ink); border-radius: var(--dm-r-label); padding: 5.5cqi; display: flex; flex-direction: column; gap: 2cqi; }
.dm-pack__brand { font-family: var(--dm-mono); font-size: max(.6875rem, 2.6cqi); color: var(--dm-muted); text-transform: uppercase; letter-spacing: .04em; }
.dm-pack__name { font-family: var(--dm-display); font-weight: 800; font-size: max(1.125rem, 8.5cqi); line-height: 1; letter-spacing: -.03em; margin: 0; }
.dm-pack__dose { font-family: var(--dm-mono); font-size: max(.6875rem, 4cqi); color: var(--dm-muted); text-transform: uppercase; letter-spacing: .03em; }
.dm-pack--large { aspect-ratio: 1 / 1; border-radius: calc(var(--dm-r-card) + 4px); padding: 6%; }
.dm-pack--large .dm-pack__label { max-width: 34rem; padding: 4cqi; }
.dm-pack--large .dm-pack__name { font-size: max(1.75rem, 7cqi); }
.dm-pack--large .dm-pack__top { font-size: max(.8125rem, 2.4cqi); }
.dm-pack--large .dm-pack__dose { font-size: max(.75rem, 2.2cqi); }
.dm-pack-wrap { position: relative; margin-bottom: .75rem; }
.wc-block-cart-item__image .dm-pack, .woocommerce-cart-form .dm-pack { aspect-ratio: 1; }

/* Product cards in grids -------------------------------------------------------- */
.wc-block-product .wc-block-components-product-image img,
.wc-block-product .wc-block-components-product-image { border-radius: var(--dm-r-card); overflow: hidden; }
.wc-block-product .wp-block-post-title,
.wc-block-product .wp-block-woocommerce-product-title { font-family: var(--dm-display); font-weight: 800; letter-spacing: -.02em; }
.wc-block-product .wp-block-post-title a { text-decoration: none; }
.wc-block-components-product-button { align-items: flex-start !important; justify-content: flex-start !important; }
.wc-block-components-product-button .wp-block-button__link,
.wp-block-woocommerce-product-button .wc-block-components-product-button__button {
	border-radius: var(--dm-r-pill);
	background: var(--dm-ink);
	color: var(--dm-ground);
	font-weight: 600;
	min-height: 44px;
	border: 0;
}
.wc-block-components-product-button .wp-block-button__link:hover { background: var(--wp--preset--color--sleep); color: var(--wp--preset--color--on-sleep); }
.wc-block-components-product-sale-badge { border-radius: 4px; font-family: var(--dm-mono); text-transform: uppercase; border: 0; background: var(--wp--preset--color--energy); color: var(--wp--preset--color--on-energy); }

/* Category hero ---------------------------------------------------------------- */
.dm-need-hero { background: var(--dm-need); color: var(--dm-on-need); margin-block-end: var(--wp--preset--spacing--50); }
.dm-need-hero__inner { max-width: var(--wp--style--global--wide-size); margin-inline: auto; padding: clamp(2rem, 4vw, 3rem) var(--wp--style--root--padding-right, 1.5rem) clamp(2rem, 4vw, 3rem) var(--wp--style--root--padding-left, 1.5rem); display: flex; flex-direction: column; gap: 1.5rem; }
.dm-need-hero__title { margin: 0; font-family: var(--dm-display); font-weight: 800; font-size: clamp(4rem, 11vw, 10.5rem); line-height: .85; letter-spacing: -.055em; color: inherit; }
.dm-need-hero__desc { max-width: 28rem; font-size: 1.125rem; }
.dm-need-hero__desc p { margin: 0; }
.dm-need-pills { display: flex; flex-wrap: wrap; gap: .5rem; }
.dm-need-pill { display: inline-flex; align-items: center; gap: .5rem; min-height: 44px; padding: 0 1.1rem; border-radius: var(--dm-r-pill); border: 1.5px solid currentColor; color: inherit; text-decoration: none; font-weight: 600; box-sizing: border-box; opacity: .92; }
.dm-need-hero .dm-need-pill { color: inherit; }
.dm-need-pill:hover { opacity: 1; text-decoration: underline; }
.dm-need-pill.is-current { background: var(--dm-paper); color: var(--dm-ink); border-color: var(--dm-paper); opacity: 1; }
.dm-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--dm-need); box-shadow: 0 0 0 1.5px var(--dm-paper); }

/* Single product ----------------------------------------------------------------- */
.dm-gallery-label .dm-pack { aspect-ratio: 1; }
.dm-facts { display: flex; flex-direction: column; gap: .75rem; }
.dm-claim { margin: 0; padding: .75rem 0; border-top: 1px solid var(--dm-line); border-bottom: 1px solid var(--dm-line); font-size: .9375rem; }
.dm-take { margin: 0; display: flex; flex-direction: column; gap: .25rem; font-family: var(--dm-display); font-weight: 700; font-size: 1.375rem; line-height: 1.15; letter-spacing: -.02em; }
.dm-take .dm-mono { font-family: var(--dm-mono); font-weight: 500; color: var(--dm-muted); letter-spacing: .04em; font-size: .8125rem; }

form.cart { display: flex; flex-wrap: wrap; gap: .75rem; align-items: stretch; }
form.cart.variations_form { display: block; }
form.cart .quantity .qty { min-height: 52px; width: 4.5rem; border: 2px solid var(--dm-ink); border-radius: var(--dm-r-pill); text-align: center; font-size: 1rem; background: var(--dm-paper); }
form.cart .single_add_to_cart_button,
.dm-button {
	min-height: 52px;
	padding: 0 1.75rem;
	border: 0;
	border-radius: var(--dm-r-pill);
	background: var(--dm-ink);
	color: var(--dm-ground);
	font: 600 1.0625rem/1 var(--wp--preset--font-family--body);
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	text-decoration: none;
	flex-grow: 1;
}
form.cart .single_add_to_cart_button:hover, .dm-button:hover { background: var(--wp--preset--color--sleep); color: var(--wp--preset--color--on-sleep); }
form.cart .single_add_to_cart_button.disabled { opacity: .55; cursor: not-allowed; }
.dm-button--line { background: transparent; color: var(--dm-ink); border: 2px solid var(--dm-ink); flex-grow: 0; }
.dm-button--line:hover { background: var(--dm-ink); color: var(--dm-ground); }
.woocommerce-variation-add-to-cart { display: flex; flex-wrap: wrap; gap: .75rem; margin-top: 1rem; }
table.variations { border: 0; margin: 0 0 .5rem; width: 100%; }
table.variations tr { display: flex; flex-direction: column; gap: .5rem; margin-bottom: 1rem; }
table.variations th, table.variations td { padding: 0; border: 0; text-align: left; }
table.variations th label { font-family: var(--dm-mono); font-size: .8125rem; text-transform: uppercase; letter-spacing: .04em; color: var(--dm-muted); font-weight: 500; }
.reset_variations { display: inline-block; margin-top: .5rem; font-size: .875rem; }

/* Swatches */
.dm-swatches__buttons { display: flex; flex-wrap: wrap; gap: .5rem; }
.dm-swatches__select { border: 0; clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute; width: 1px; }
.dm-swatch {
	min-height: 48px;
	min-width: 48px;
	padding: 0 1.1rem;
	border: 2px solid var(--dm-line);
	border-radius: 14px;
	background: var(--dm-paper);
	color: var(--dm-ink);
	font: 600 .9375rem/1 var(--wp--preset--font-family--body);
	cursor: pointer;
	transition: border-color .15s, background-color .15s, color .15s;
}
.dm-swatch:hover { border-color: var(--dm-ink); }
.dm-swatch[aria-pressed="true"] { background: var(--dm-ink); border-color: var(--dm-ink); color: var(--dm-ground); }
.dm-swatch.is-oos { text-decoration: line-through; color: var(--dm-muted); }
.dm-swatch.is-oos[aria-pressed="true"] { color: var(--dm-ground); }
.dm-swatch:disabled { opacity: .35; cursor: not-allowed; }

/* Dispatch + trust */
.dm-dispatch { display: flex; align-items: center; gap: .5rem; margin: 0; font-weight: 600; font-size: .9375rem; color: var(--wp--preset--color--success); }
.dm-trust { list-style: none; margin: 0; padding: 0; border-top: 2px solid var(--dm-ink); }
.dm-trust li { display: flex; gap: .75rem; align-items: center; padding: .75rem 0; border-bottom: 1px solid var(--dm-line); font-size: .9375rem; }

/* WhatsApp */
.dm-wa { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 48px; padding: 0 1.25rem; border-radius: var(--dm-r-pill); border: 2px solid var(--dm-ink); color: var(--dm-ink); text-decoration: none; font-weight: 600; margin-top: .75rem; width: 100%; box-sizing: border-box; }
.dm-wa:hover { background: var(--dm-ink); color: var(--dm-ground); }
.dm-wa-cart { margin: 1rem 0 0; }

/* Back in stock */
.dm-bis { margin: 1rem 0 0; padding: 1rem; background: var(--dm-paper); border: 2px solid var(--dm-ink); border-radius: var(--dm-r-label); display: flex; flex-direction: column; gap: .6rem; width: 100%; box-sizing: border-box; }
.dm-bis[hidden] { display: none; }
.dm-bis__title { margin: 0; display: flex; align-items: center; gap: .5rem; }
.dm-bis__row { display: flex; flex-wrap: wrap; gap: .5rem; }
.dm-bis__row input { flex: 1 1 14rem; min-height: 48px; border: 2px solid var(--dm-ink); border-radius: var(--dm-r-pill); padding: 0 1rem; font-size: 1rem; background: var(--dm-ground); }
.dm-bis__row button { min-height: 48px; border: 0; border-radius: var(--dm-r-pill); background: var(--dm-ink); color: var(--dm-ground); font-weight: 600; padding: 0 1.4rem; cursor: pointer; }
.dm-bis__note { margin: 0; font-size: .8125rem; color: var(--dm-muted); }
.dm-bis__msg { margin: 0; font-weight: 600; color: var(--wp--preset--color--success); min-height: 1lh; }
.dm-bis__msg:empty { min-height: 0; }

/* Stock text */
.stock.out-of-stock { font-weight: 600; color: var(--wp--preset--color--danger); }
.stock.in-stock { color: var(--wp--preset--color--success); font-weight: 600; }

/* Free-delivery bars -------------------------------------------------------------- */
.dm-fdb[hidden] { display: none; }
.dm-fdb { --dm-fill: var(--wp--preset--color--immunity); }
.dm-fdb.is-done { --dm-fill: var(--wp--preset--color--success); }
.dm-fdb__inner { display: flex; flex-direction: column; gap: .5rem; }
.dm-fdb__msg { margin: 0; display: flex; align-items: center; gap: .5rem; font-size: .9375rem; }
.dm-fdb__track { height: 8px; border-radius: var(--dm-r-pill); background: color-mix(in srgb, currentColor 16%, transparent); overflow: hidden; }
.dm-fdb__fill { display: block; height: 100%; width: 0; background: var(--dm-fill); border-radius: inherit; transition: width .5s var(--dm-ease); }
.dm-fdb__shop { align-self: flex-start; font-weight: 600; min-height: 44px; display: inline-flex; align-items: center; }
.dm-fdb__shop[hidden] { display: none; }

.dm-fdb--cart, .dm-fdb--checkout {
	background: var(--dm-paper);
	border: 2px solid var(--dm-ink);
	border-radius: var(--dm-r-label);
	padding: 1rem 1.25rem .5rem;
	margin-block-end: 1.5rem;
}
.dm-fdb--checkout { padding-bottom: 1rem; }
.dm-fdb--minicart { padding: 1rem 1rem .75rem; border-bottom: 1px solid var(--dm-line); }
.dm-fdb--global {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 60;
	background: var(--dm-ink);
	color: var(--dm-ground);
	--dm-fill: var(--wp--preset--color--immunity);
	transition: transform .35s var(--dm-ease), opacity .35s var(--dm-ease);
}
.dm-fdb--global.is-done { --dm-fill: var(--wp--preset--color--immunity); }
.dm-fdb--global.is-entering { transform: translateY(-100%); opacity: 0; }
.dm-fdb--global .dm-fdb__inner { max-width: var(--wp--style--global--wide-size); margin-inline: auto; padding: .55rem 1.5rem .6rem; flex-direction: row; align-items: center; gap: 1rem; }
.dm-fdb--global .dm-fdb__msg { font-size: .875rem; flex: 1 1 auto; }
.dm-fdb--global .dm-fdb__track { flex: 0 0 min(30%, 220px); height: 6px; background: rgba(255, 255, 255, .22); }
@media (max-width: 600px) {
	.dm-fdb--global .dm-fdb__inner { flex-direction: column; align-items: stretch; gap: .4rem; padding-inline: 1rem; }
	.dm-fdb--global .dm-fdb__track { flex-basis: auto; }
}

/* Sticky add-to-basket (phones only) ------------------------------------------------ */
.dm-satc {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 70;
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .75rem 1rem calc(.75rem + env(safe-area-inset-bottom));
	background: var(--dm-paper);
	border-top: 2px solid var(--dm-ink);
	box-shadow: 0 -8px 24px rgba(0, 0, 0, .08);
}
.dm-satc[hidden] { display: none; }
.dm-satc__info { display: flex; flex-direction: column; min-width: 0; flex: 1 1 auto; }
.dm-satc__name { font-weight: 600; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.dm-satc__price { font-size: .875rem; color: var(--dm-muted); }
.dm-satc__price del { opacity: .7; }
.dm-satc__btn { min-height: 48px; padding: 0 1.25rem; border: 0; border-radius: var(--dm-r-pill); background: var(--dm-ink); color: var(--dm-ground); font: 600 1rem var(--wp--preset--font-family--body); white-space: nowrap; cursor: pointer; }
@media (min-width: 782px) { .dm-satc { display: none !important; } }
@media (max-width: 781px) { body.has-dm-satc { padding-bottom: calc(80px + env(safe-area-inset-bottom)); } }

/* Live search ----------------------------------------------------------------------- */
.dm-live-wrap { position: relative; }
.dm-live {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	min-width: min(92vw, 360px);
	z-index: 80;
	background: var(--dm-paper);
	color: var(--dm-ink);
	border: 2px solid var(--dm-ink);
	border-radius: var(--dm-r-label);
	box-shadow: 6px 6px 0 var(--dm-ink);
	max-height: min(70vh, 480px);
	overflow-y: auto;
}
.dm-live[hidden] { display: none; }
.dm-live__item { display: flex; align-items: center; gap: .75rem; padding: .6rem .75rem; text-decoration: none; color: inherit; border-bottom: 1px solid var(--dm-line); min-height: 44px; }
.dm-live__item:hover, .dm-live__item[aria-selected="true"] { background: var(--dm-ground); }
.dm-live__item img, .dm-live__swatch { width: 44px; height: 44px; border-radius: 8px; object-fit: cover; flex-shrink: 0; }
.dm-live__swatch { background: var(--dm-need, var(--dm-ink)); }
.dm-live__text { display: flex; flex-direction: column; min-width: 0; }
.dm-live__name { font-weight: 600; }
.dm-live__meta { font-family: var(--dm-mono); font-size: .75rem; color: var(--dm-muted); text-transform: uppercase; letter-spacing: .03em; }
.dm-live__all, .dm-live__none { display: block; padding: .75rem; margin: 0; font-weight: 600; }

/* Tracking + invoices ----------------------------------------------------------------- */
.dm-tracking { background: var(--dm-paper); border: 2px solid var(--dm-ink); border-radius: var(--dm-r-label); padding: 1rem 1.25rem; margin-bottom: 1.5rem; }
.dm-tracking__title { font-size: 1.5rem; margin: 0 0 .25rem; }
.dm-tracking p { margin: .25rem 0; }
.dm-invoice-link { margin-top: 1rem; }

/* Home patterns ----------------------------------------------------------------------- */
.dm-shelf { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; align-items: end; height: clamp(320px, 38vw, 460px); }
.dm-shelf__bar { height: var(--dm-h, 100%); background: var(--dm-need); color: var(--dm-on-need); border-radius: 14px 14px 0 0; padding: 1rem .9rem; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; text-decoration: none; transition: transform .2s var(--dm-ease); }
.dm-shelf__bar:hover { transform: translateY(-4px); color: var(--dm-on-need); }
.dm-shelf__no { font-family: var(--dm-mono); font-size: .8125rem; }
.dm-shelf__name { font-family: var(--dm-display); font-weight: 700; font-size: clamp(1.1rem, 1.6vw, 1.4rem); line-height: 1; letter-spacing: -.02em; writing-mode: vertical-rl; transform: rotate(180deg); align-self: flex-start; }

.dm-need-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr)); gap: 1rem; }
.dm-need-card { background: var(--dm-need); color: var(--dm-on-need); border-radius: var(--dm-r-card); padding: 1.5rem; min-height: 280px; box-sizing: border-box; display: flex; flex-direction: column; justify-content: space-between; gap: 1.5rem; text-decoration: none; transition: transform .2s var(--dm-ease); }
.dm-need-card:hover { transform: translateY(-4px); color: var(--dm-on-need); }
.dm-need-card__top { display: flex; justify-content: space-between; font-family: var(--dm-mono); font-size: .8125rem; text-transform: uppercase; }
.dm-need-card__name { font-family: var(--dm-display); font-weight: 800; font-size: 2.75rem; line-height: .95; letter-spacing: -.04em; display: block; }
.dm-need-card__line { display: block; margin-top: .5rem; }
.dm-need-card__cta { display: inline-flex; align-items: center; gap: .5rem; font-weight: 600; margin-top: .75rem; }

.dm-label-demo { background: var(--dm-paper); border: 2px solid var(--dm-ink); border-radius: var(--dm-r-label); font-family: var(--dm-mono); font-size: .875rem; line-height: 1.5; box-shadow: 10px 10px 0 var(--wp--preset--color--sleep); max-width: 460px; width: 100%; margin-inline: auto; }
.dm-label-demo > * { margin: 0; padding: .85rem 1.1rem; }
.dm-label-demo > * + * { border-top: 1px solid var(--dm-ink); }
.dm-label-demo__head { display: flex; justify-content: space-between; border-bottom: 2px solid var(--dm-ink); }
.dm-label-demo__head span:last-child { background: var(--wp--preset--color--sleep); color: var(--wp--preset--color--on-sleep); padding: 0 .5rem; border-radius: 3px; }
.dm-label-demo__name { font-family: var(--dm-display); font-weight: 800; font-size: 2.1rem; line-height: 1; letter-spacing: -.03em; border-top: 0 !important; padding-bottom: .25rem; }
.dm-label-demo__name + p { border-top: 0 !important; padding-top: 0; color: var(--dm-muted); }

.dm-steps { list-style: none; margin: 0; padding: 0; }
.dm-steps li { display: flex; gap: 1.25rem; padding: 1.1rem 0; border-top: 1px solid var(--dm-line); }
.dm-steps li:first-child { border-top: 2px solid var(--dm-ink); }
.dm-steps li:last-child { border-bottom: 2px solid var(--dm-ink); }
.dm-steps__key { font-family: var(--dm-mono); font-size: .875rem; min-width: 2rem; }
.dm-steps p { margin: .25rem 0 0; color: var(--dm-muted); }

.dm-rule { border: 0; border-top: 2px solid var(--dm-ink); margin: 0; }
.is-style-dm-outline .wp-block-button__link { background: transparent !important; color: var(--dm-ink) !important; border: 2px solid var(--dm-ink); }
.is-style-dm-outline .wp-block-button__link:hover { background: var(--dm-ink) !important; color: var(--dm-ground) !important; }

/* Cart and checkout blocks -------------------------------------------------------------- */
.wc-block-components-button:not(.is-link) { border-radius: var(--dm-r-pill) !important; min-height: 52px; font-weight: 600; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--dm-ink) !important; color: var(--dm-ground) !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background: var(--wp--preset--color--sleep) !important; color: var(--wp--preset--color--on-sleep) !important; }
.wc-block-components-product-name { font-weight: 600; text-decoration: none; }
.wc-block-components-totals-wrapper { border-color: var(--dm-line) !important; }

/* Footer ----------------------------------------------------------------------------- */
.dm-footer { border-top: 2px solid var(--dm-ink); }
.dm-footer .wp-block-navigation a { text-decoration: none; }
.dm-footer .wp-block-navigation a:hover { text-decoration: underline; }
.dm-legal { font-size: .875rem; color: var(--dm-muted); max-width: 40rem; }

/* WooCommerce notices -------------------------------------------------------------------- */
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: var(--dm-r-label) !important; border-width: 2px !important; }

/* Product tabs: keep headings inside the panels modest */
.woocommerce-tabs .panel h2, .wp-block-woocommerce-product-details h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 1rem; }
.dm-dispatch { margin-bottom: .25rem; }
h1, h2, .dm-need-hero__title { overflow-wrap: normal; word-break: normal; hyphens: manual; }
.woocommerce-ordering select, .wc-block-catalog-sorting select, select.orderby {
	min-height: 44px; padding: 0 2.25rem 0 1rem; border: 2px solid var(--dm-ink); border-radius: var(--dm-r-pill);
	background-color: var(--dm-paper); color: var(--dm-ink); font: 600 .9375rem var(--wp--preset--font-family--body);
}
