/* =====================================================================
   Spirumanne – theme styles
   Palette/typography tokens come from theme.json (--wp--preset--*).
   Signature: the phycocyanin spiral (conic gradient) from the original logo.
   ===================================================================== */

:root {
	--sp-radius: 14px;
	--sp-radius-sm: 8px;
	--sp-shadow: 0 1px 2px rgba(15, 59, 53, .06), 0 12px 32px -16px rgba(15, 59, 53, .25);
	--sp-ease: cubic-bezier(.2, .7, .2, 1);
}

html { scroll-behavior: smooth; -webkit-font-smoothing: antialiased; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

body { text-rendering: optimizeLegibility; }

::selection { background: var(--wp--preset--color--olive-light); color: var(--wp--preset--color--phyco); }

:where(a, button, input, select, textarea, [tabindex]):focus-visible {
	outline: 2px solid var(--wp--preset--color--soleil);
	outline-offset: 3px;
	border-radius: 4px;
}

/* ---------- Signature: spiral mark ---------- */
.sp-spiral {
	--size: 64px;
	display: inline-block;
	width: var(--size);
	height: var(--size);
	border-radius: 50%;
	background: var(--wp--preset--gradient--phyco-spirale);
	-webkit-mask: radial-gradient(circle at 50% 50%, transparent 0 18%, #000 20% 100%);
	mask: radial-gradient(circle at 50% 50%, transparent 0 18%, #000 20% 100%);
	filter: saturate(.9);
}
.sp-spiral--soft { opacity: .85; filter: blur(.2px) saturate(.8); }
@media (prefers-reduced-motion: no-preference) {
	.sp-spiral--spin { animation: sp-spin 48s linear infinite; }
}
@keyframes sp-spin { to { transform: rotate(360deg); } }

/* ---------- Block styles ---------- */
.is-style-eyebrow {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--wp--preset--color--olive);
}
.is-style-mono { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--small); }

.is-style-card {
	background: var(--wp--preset--color--blanc);
	border-radius: var(--sp-radius);
	box-shadow: var(--sp-shadow);
	padding: var(--wp--preset--spacing--30);
}
.is-style-band-phyco {
	background: var(--wp--preset--gradient--montagne);
	color: var(--wp--preset--color--brume);
	border-radius: var(--sp-radius);
}
.is-style-band-phyco :is(h1, h2, h3, p, a) { color: inherit; }
.is-style-band-phyco .is-style-eyebrow { color: var(--wp--preset--color--olive-light); }

ul.is-style-spiral { list-style: none; padding-left: 0; }
ul.is-style-spiral li { position: relative; padding-left: 1.6rem; margin-bottom: .5rem; }
ul.is-style-spiral li::before {
	content: ""; position: absolute; left: 0; top: .45em; width: .9rem; height: .9rem; border-radius: 50%;
	background: var(--wp--preset--gradient--phyco-spirale);
	-webkit-mask: radial-gradient(circle, transparent 0 25%, #000 28% 100%);
	mask: radial-gradient(circle, transparent 0 25%, #000 28% 100%);
}

.wp-block-button.is-style-outline-phyco .wp-block-button__link {
	background: transparent; color: var(--wp--preset--color--phyco);
	box-shadow: inset 0 0 0 1.5px var(--wp--preset--color--phyco);
}
.wp-block-button.is-style-outline-phyco .wp-block-button__link:hover {
	background: var(--wp--preset--color--phyco); color: var(--wp--preset--color--brume);
}
.wp-block-button__link { transition: background-color .25s var(--sp-ease), color .25s var(--sp-ease), transform .25s var(--sp-ease); }
.wp-block-button__link:hover { transform: translateY(-1px); }

/* ---------- Header ---------- */
.sp-header {
	position: sticky; top: 0; z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--brume) 86%, transparent);
	backdrop-filter: saturate(1.2) blur(10px);
	-webkit-backdrop-filter: saturate(1.2) blur(10px);
	border-bottom: 1px solid var(--wp--preset--color--brume-deep);
}
.sp-header .wp-block-site-logo img { height: 44px; width: auto; }
.sp-header .wc-block-mini-cart__button { color: var(--wp--preset--color--phyco); }

/* ---------- Hero ---------- */
.sp-hero { position: relative; overflow: hidden; isolation: isolate; }
.sp-hero__title {
	font-family: var(--wp--preset--font-family--display);
	font-weight: 300;
	font-variation-settings: "opsz" 144;
	line-height: .98;
	letter-spacing: -.02em;
	max-width: 14ch;
}
.sp-hero__title em { font-style: italic; font-weight: 400; color: var(--wp--preset--color--olive); }
.sp-hero__spiral {
	position: absolute; right: -4vw; top: 2vw; z-index: -1;
	--size: clamp(260px, 36vw, 540px);
	opacity: .75;
	filter: saturate(1.1) blur(.5px);
	-webkit-mask: radial-gradient(circle at 50% 50%, transparent 0 44%, #000 46% 62%, transparent 64%);
	mask: radial-gradient(circle at 50% 50%, transparent 0 44%, #000 46% 62%, transparent 64%);
}
.sp-hero__spiral::after {
	content: ""; position: absolute; inset: 0; border-radius: 50%;
	background: radial-gradient(circle, rgba(255,255,255,.55), transparent 60%);
}
/* Mobile: the ring must never sit under text → push it to the top-right corner, smaller and fainter. */
@media (max-width: 781px) {
	.sp-hero__spiral { --size: 190px; right: -70px; top: -60px; opacity: .45; }
}

/* ---------- Reveal ---------- */
[data-reveal] { opacity: 0; transform: translateY(14px); transition: opacity .7s var(--sp-ease), transform .7s var(--sp-ease); }
[data-reveal].is-visible { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { [data-reveal] { opacity: 1; transform: none; transition: none; } }

/* ---------- WooCommerce: product grid ---------- */
.wc-block-product-template .wc-block-product,
ul.products li.product {
	background: var(--wp--preset--color--blanc);
	border-radius: var(--sp-radius);
	overflow: hidden;
	box-shadow: var(--sp-shadow);
	transition: transform .3s var(--sp-ease), box-shadow .3s var(--sp-ease);
}
.wc-block-product-template .wc-block-product:hover,
ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 2px 4px rgba(15, 59, 53, .06), 0 24px 40px -20px rgba(15, 59, 53, .35); }
.wc-block-product-template .wc-block-product img,
ul.products li.product img { aspect-ratio: 1; object-fit: cover; width: 100%; background: var(--wp--preset--color--brume); }
.wc-block-product-template .wc-block-product > :not(.wc-block-components-product-image):not(figure),
ul.products li.product > :not(a.woocommerce-LoopProduct-link) { padding-inline: 1rem; }
.wc-block-product-template .wc-block-product .wp-block-post-title,
ul.products li.product .woocommerce-loop-product__title {
	font-family: var(--wp--preset--font-family--display);
	font-size: 1.125rem; line-height: 1.25; font-weight: 500; margin: .5rem 0 .25rem;
}
.wc-block-product-template .wc-block-product .wp-block-post-title a { text-decoration: none; color: var(--wp--preset--color--phyco); }
.wc-block-components-product-price, .price {
	font-family: var(--wp--preset--font-family--mono); font-weight: 500; color: var(--wp--preset--color--phyco);
}
.sp-origin {
	display: inline-block; margin-top: .9rem;
	font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .1em; text-transform: uppercase;
	color: var(--wp--preset--color--lac);
}
.wc-block-components-product-button .wp-block-button__link,
ul.products li.product .button {
	border-radius: 999px; font-size: var(--wp--preset--font-size--small);
	background: var(--wp--preset--color--phyco); color: var(--wp--preset--color--brume);
}
.wc-block-grid__product-onsale, .onsale {
	background: var(--wp--preset--color--soleil); color: var(--wp--preset--color--phyco);
	border: 0; border-radius: 999px; font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .08em;
}

/* ---------- WooCommerce: single product ---------- */
.single-product div.product .product_title { font-size: var(--wp--preset--font-size--xx-large); }
.single-product div.product p.price { font-size: var(--wp--preset--font-size--large); }
.single-product div.product .woocommerce-product-gallery img { border-radius: var(--sp-radius); }
.single-product div.product form.cart .button { border-radius: 999px; padding: .9rem 1.6rem; }
.single-product div.product form.cart .quantity .qty { border-radius: 999px; border: 1.5px solid var(--wp--preset--color--brume-deep); padding: .7rem; }
.woocommerce-tabs ul.tabs li { border: 0; background: transparent; }
.woocommerce-tabs ul.tabs li a { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--xs); letter-spacing: .1em; text-transform: uppercase; }
.woocommerce-tabs ul.tabs::before { border-color: var(--wp--preset--color--brume-deep); }
.woocommerce-tabs ul.tabs li.active { border-bottom: 2px solid var(--wp--preset--color--olive); }

.sp-tiers { margin: 1rem 0 1.5rem; padding: 1rem 1.25rem; background: var(--wp--preset--color--blanc); border-radius: var(--sp-radius-sm); border: 1px solid var(--wp--preset--color--brume-deep); }
.sp-tiers__label { margin: 0 0 .5rem; font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--olive); }
.sp-tiers ul { list-style: none; margin: 0; padding: 0; }
.sp-tiers li { display: grid; grid-template-columns: 1fr auto auto; gap: 1rem; padding: .35rem 0; border-top: 1px dashed var(--wp--preset--color--brume-deep); font-size: var(--wp--preset--font-size--small); }
.sp-tiers li:first-child { border-top: 0; }
.sp-tiers__price { font-family: var(--wp--preset--font-family--mono); font-weight: 500; }
.sp-tiers__per { color: var(--wp--preset--color--roche); font-family: var(--wp--preset--font-family--mono); font-size: .8rem; }

.sp-fiche dt { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--olive); margin-top: 1rem; }
.sp-fiche dd { margin: .25rem 0 0; }
.sp-docs { list-style: none; padding: 0; }

/* ---------- Woo forms & notices ---------- */
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea, .woocommerce form .form-row select, .wc-block-components-text-input input {
	border: 1.5px solid var(--wp--preset--color--brume-deep); border-radius: var(--sp-radius-sm); padding: .75rem .9rem; background: var(--wp--preset--color--blanc);
}
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--wp--preset--color--olive); background: var(--wp--preset--color--blanc); border-radius: var(--sp-radius-sm); }
.woocommerce-message::before { color: var(--wp--preset--color--olive); }
.wc-block-components-button, .woocommerce #respond input#submit, .woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	border-radius: 999px; background: var(--wp--preset--color--phyco); color: var(--wp--preset--color--brume); font-weight: 500;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .wc-block-components-button:hover { background: var(--wp--preset--color--olive); color: #fff; }
.woocommerce .woocommerce-breadcrumb { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--xs); color: var(--wp--preset--color--roche); }

/* ---------- Footer ---------- */
.sp-footer { background: var(--wp--preset--color--phyco); color: var(--wp--preset--color--olive-light); }
.sp-footer :is(h2, h3, h4) { color: var(--wp--preset--color--brume); }
.sp-footer a { color: var(--wp--preset--color--brume); text-decoration: none; }
.sp-footer a:hover { color: var(--wp--preset--color--soleil); }
.sp-footer .wp-block-navigation { font-size: var(--wp--preset--font-size--small); }
.sp-footer .sp-legal { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--xs); opacity: .8; }

/* ---------- Category tiles (home) ---------- */
.sp-origins .wp-block-column {
	position: relative; min-height: 180px; border-radius: var(--sp-radius); overflow: hidden;
	background: var(--wp--preset--color--phyco-soft);
}
.sp-origins .wp-block-column h3 { color: var(--wp--preset--color--brume); margin: 0; }
.sp-origins .wp-block-column a { text-decoration: none; }

/* ---------- Utilities ---------- */
.sp-measure { max-width: 62ch; }
.sp-number { font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--hero); font-weight: 300; line-height: .9; letter-spacing: -.03em; }

/* ---------- Shop filters (horizontal bar) ---------- */
.sp-filters { width: 100%; display: flex; flex-wrap: wrap; gap: 1.5rem 2.5rem; align-items: flex-start; padding: 1rem 1.25rem; margin-bottom: 1.5rem; background: var(--wp--preset--color--blanc); border-radius: var(--sp-radius); border: 1px solid var(--wp--preset--color--brume-deep); font-size: var(--wp--preset--font-size--small); }
.sp-filters .wc-block-product-filter { min-width: 180px; }
.sp-filters .wc-block-product-filter__title, .sp-filters h3, .sp-filters h4 { font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .12em; text-transform: uppercase; color: var(--wp--preset--color--olive); margin: 0 0 .5rem; }
.sp-filters .wc-block-product-filters__apply-button, .sp-filters .wc-block-product-filters__open-overlay, .sp-filters .wc-block-product-filters__close-overlay, .sp-filters .wc-block-product-filters__heading { display: none; }
.wc-block-product-collection .wc-block-product-template { gap: 1.5rem; }

/* ---------- Editorial pages (sp-prose) ---------- */
.sp-page__head { border-bottom: 1px solid var(--wp--preset--color--brume-deep); margin-bottom: var(--wp--preset--spacing--40); }
.sp-page__title { font-size: var(--wp--preset--font-size--xx-large); margin: .35em 0 .3em; }
.sp-page__lead { font-size: 1.2rem; line-height: 1.45; color: var(--wp--preset--color--phyco-soft); max-width: 46ch; }
.sp-page__lead p { margin: 0; }
.sp-prose { font-size: var(--wp--preset--font-size--medium); }
.sp-prose > h2 { font-size: var(--wp--preset--font-size--x-large); margin-top: 2.2em; margin-bottom: .5em; }
.sp-prose > h2:first-child { margin-top: 0; }
.sp-prose > h3 { font-size: var(--wp--preset--font-size--large); font-style: italic; font-weight: 300; margin-top: 1.8em; margin-bottom: .4em; color: var(--wp--preset--color--phyco-soft); }
.sp-prose > p, .sp-prose > ul, .sp-prose > ol { margin-bottom: 1.1em; line-height: 1.65; }
.sp-prose > ul, .sp-prose > ol { padding-left: 1.3em; }
.sp-prose li { margin-bottom: .45em; }
.sp-prose a { color: var(--wp--preset--color--lac); text-decoration-thickness: 1px; text-underline-offset: .15em; }
.sp-prose .wp-block-quote { border: 0; border-left: 3px solid var(--wp--preset--color--olive); padding: .25em 0 .25em 1.4em; margin: 2em 0; font-family: var(--wp--preset--font-family--display); font-size: var(--wp--preset--font-size--large); font-weight: 300; line-height: 1.35; color: var(--wp--preset--color--phyco); }
.sp-prose .wp-block-quote p { margin-bottom: .8em; }
.sp-prose .wp-block-quote p:last-child { margin-bottom: 0; }
.sp-prose .sp-manifesto { font-style: italic; }
.sp-prose hr.wp-block-separator { border: 0; height: 1px; background: var(--wp--preset--color--brume-deep); margin: 2.5em 0; }
mark.sp-todo { background: var(--wp--preset--color--soleil); color: var(--wp--preset--color--phyco); font-family: var(--wp--preset--font-family--mono); font-size: .8em; padding: .1em .35em; border-radius: 3px; }
.sp-kicker { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--olive); margin: 0 0 .5rem; }
.sp-page__head > * { max-width: 760px; margin-left: auto; margin-right: auto; }
.sp-page__head .sp-page__lead { max-width: 760px; }
.sp-page__lead p { max-width: 52ch; }

/* ---------- Contact form ---------- */
.sp-form { margin: 1.5em 0 2.5em; }
.sp-form__field { display: grid; gap: .35rem; margin-bottom: 1.1rem; }
.sp-form label { font-family: var(--wp--preset--font-family--mono); font-size: .72rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--phyco-soft); }
.sp-form input[type=text], .sp-form input[type=email], .sp-form select, .sp-form textarea { width: 100%; font: inherit; padding: .7em .9em; border: 1px solid var(--wp--preset--color--brume-deep); border-radius: 8px; background: #fff; color: var(--wp--preset--color--phyco); }
.sp-form input:focus, .sp-form select:focus, .sp-form textarea:focus { outline: 2px solid var(--wp--preset--color--lac); outline-offset: 1px; border-color: var(--wp--preset--color--lac); }
.sp-form small { color: var(--wp--preset--color--roche); font-size: .85rem; }
.sp-form__note, .sp-form__privacy { font-size: .9rem; color: var(--wp--preset--color--roche); }
.sp-form__error { color: #8a2d1c; font-size: .88rem; }
.sp-form__error--global { background: #fbe9e3; padding: .8em 1em; border-radius: 8px; margin-bottom: 1rem; }
.sp-form .is-error input, .sp-form .is-error select, .sp-form .is-error textarea { border-color: #8a2d1c; }
.sp-form__hp { position: absolute; left: -9999px; }
.sp-form__ok { background: var(--wp--preset--color--olive-light); color: var(--wp--preset--color--phyco); padding: 1em 1.2em; border-radius: 8px; font-family: var(--wp--preset--font-family--display); font-size: 1.15rem; }

/* ---------- Language switcher ---------- */
.sp-lang { display: flex; gap: .15rem; align-items: center; font-family: var(--wp--preset--font-family--mono); font-size: .7rem; letter-spacing: .08em; margin-right: .5rem; }
.sp-lang__item { padding: .25rem .4rem; border-radius: 999px; color: var(--wp--preset--color--roche); text-decoration: none; }
.sp-lang__item.is-current { color: var(--wp--preset--color--phyco); background: var(--wp--preset--color--brume-deep); }
.sp-lang__item:hover { color: var(--wp--preset--color--phyco); }

/* ---------- Mobile & touch (F6 audit: 44px targets, ≥14px text, header order) ---------- */
/* Burger: core hides it ≥600px – only enlarge it, never force display on desktop. */
@media (max-width: 599.98px) {
	.sp-header .wp-block-navigation__responsive-container-open:not(.always-shown) { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
}
.sp-header .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.sp-header .wc-block-customer-account__link,
.sp-header .wc-block-mini-cart__button { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.sp-header .wp-block-site-title a { display: inline-flex; align-items: center; min-height: 44px; }
.sp-lang__item { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; font-size: .875rem; }
.sp-footer .wp-block-navigation-item__content { display: inline-flex; align-items: center; min-height: 44px; }
.sp-footer .wp-block-navigation { row-gap: 0 !important; }
.sp-footer .wp-block-social-links .wp-block-social-link-anchor { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.sp-footer p a[href^="tel:"], .sp-footer p a[href^="mailto:"] { display: inline-block; padding: .35rem 0; }
.wc-block-components-totals-shipping__via { font-size: .8125rem; }

@media (max-width: 781px) {
	/* Header: brand left, then language · account · cart · menu on the right (thumb zone). */
	.sp-header > .alignwide { gap: .25rem; }
	.sp-header > .alignwide > .wp-block-navigation { order: 3; }
	.sp-header > .alignwide > .wp-block-group:last-child { order: 2; margin-left: auto; gap: 0; }
	.sp-header .wp-block-site-title { font-size: 1.1rem; }
	.sp-lang { margin-right: 0; gap: 0; }
	.sp-lang__item { min-width: 40px; }
	/* Overlay menu: big, spaced, tappable. */
	.sp-header .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.5rem 2rem; }
	.sp-header .is-menu-open .wp-block-navigation__container { gap: 0 !important; width: 100%; }
	.sp-header .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid var(--wp--preset--color--brume-deep); }
	.sp-header .is-menu-open .wp-block-navigation-item__content { display: flex; align-items: center; min-height: 56px; width: 100%; font-family: var(--wp--preset--font-family--display); font-size: 1.5rem; }
	/* Text never below 14px on phones (labels keep their mono/uppercase look). */
	.is-style-eyebrow, .sp-kicker, .sp-origin, .sp-tiers__label, .sp-fiche dt, .sp-form label, .sp-filters h3, .sp-filters h4, .sp-filters .wc-block-product-filter__title,
	.woocommerce-tabs ul.tabs li a, .woocommerce .woocommerce-breadcrumb, .wc-block-breadcrumbs, .onsale, .wc-block-grid__product-onsale { font-size: .875rem; letter-spacing: .08em; }
	.sp-footer, .sp-footer p, .sp-footer .wp-block-navigation { font-size: .9375rem; }
	.sp-footer .sp-legal { font-size: .8125rem; }
	.sp-tiers li, .sp-tiers__per { font-size: .9375rem; }
	.wc-block-components-product-price, .wc-block-components-product-price * { font-size: 1rem; }
	.wc-block-components-product-button .wp-block-button__link, .wc-block-components-product-button__button { font-size: .9375rem !important; min-height: 44px; }
	.wp-block-button__link { font-size: .9375rem; min-height: 48px; display: inline-flex; align-items: center; justify-content: center; }
	.wc-block-components-totals-item__label, .wc-block-components-panel__button, .wc-block-components-totals-footer-item-tax, .wc-block-components-radio-control__label-group { font-size: .9375rem; }
	.wc-block-components-totals-shipping__via { font-size: .875rem; }
	/* Product page: comfortable buy zone. */
	.single-product div.product form.cart { display: flex; gap: .75rem; flex-wrap: wrap; }
	.single-product div.product form.cart .button { flex: 1 1 12rem; min-height: 52px; font-size: 1rem; }
	.single-product div.product form.cart .quantity .qty { min-height: 52px; width: 5rem; }
	.woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; -webkit-overflow-scrolling: touch; scrollbar-width: none; white-space: nowrap; padding: 0; }
	.woocommerce-tabs ul.tabs li a { display: inline-flex; align-items: center; min-height: 44px; }
	/* Forms: 16px inputs prevent iOS zoom-on-focus. */
	input, select, textarea, .wc-block-components-text-input input { font-size: 16px !important; }
	.wc-block-product-collection .wc-block-product-template { gap: 1rem; }
}
@media (max-width: 781px) {
	/* Only the other language is shown on phones (the current one is implicit) – keeps the burger on screen at 320–360px. */
	.sp-lang__item.is-current { display: none; }
	.sp-header > .alignwide > .wp-block-group:first-child { min-width: 0; flex-shrink: 1; }
	.sp-header .wp-block-site-title { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
}
/* Below 400px the logo (which contains the wordmark) carries the brand; the text title stays for screen readers. */
@media (max-width: 399px) { .sp-header .wp-block-site-title { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; } }
@media (max-width: 781px) {
	.sp-header { padding-left: 14px !important; padding-right: 10px !important; }
	.sp-header > .alignwide { gap: 0 !important; }
	.sp-header > .alignwide > .wp-block-group:first-child { gap: .4rem !important; }
	.sp-header > .alignwide > .wp-block-group:last-child { gap: 0 !important; }
	.sp-header .wp-block-site-title { font-size: 1.05rem; }
}

/* Small targets found by the after-audit: breadcrumbs, pagination, origin chips, cookie banner text. */
.woocommerce-breadcrumb a, .wc-block-breadcrumbs a { display: inline-block; padding-block: .6rem; }
.woocommerce-pagination .page-numbers li > *, .wp-block-query-pagination a, .wc-block-pagination button,
.woocommerce nav.woocommerce-pagination ul li a, .woocommerce nav.woocommerce-pagination ul li span { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.woocommerce-ordering select, .orderby { min-height: 44px; }
.woocommerce-result-count { font-size: .875rem; }
.cmplz-cookiebanner .cmplz-message { font-size: 14px !important; }
@media (max-width: 781px) {
	.single-product .product_meta a, .sp-origin a, .is-style-eyebrow a { display: inline-block; padding-block: .6rem; }
	.wp-block-woocommerce-product-price .amount, .single-product .price .amount { font-size: 1.125rem; }
	.sp-form small { font-size: .875rem; }
	mark.sp-todo { font-size: .875rem; }
}
h3.wp-block-heading > a:only-child { display: inline-block; padding-block: .5rem; }
.sp-form input, .sp-form textarea, .sp-form select { box-sizing: border-box; max-width: 100%; }
/* After-audit 2 */
@media (max-width: 781px) {
	.woocommerce div.product .woocommerce-tabs ul.tabs { overflow-x: auto !important; overflow-y: hidden; flex-wrap: nowrap; }
	.woocommerce div.product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
	/* Ring sits fully above the kicker on phones. */
	.sp-hero__spiral { --size: 150px; right: -60px; top: -80px; opacity: .4; }
	.cmplz-cookiebanner .cmplz-links a { display: inline-block; padding-block: .55rem; }
	.wc-block-components-panel__button, .wc-block-components-address-form__address_2-toggle { min-height: 44px; display: flex; align-items: center; }
	.sp-footer .wp-block-navigation-item__content { min-width: 44px; justify-content: flex-start; }
}
/* Desktop: keep the ring right of the title's last word. */
@media (min-width: 782px) {
	.sp-hero__title { max-width: 11ch; }
	.sp-hero__spiral { right: -8vw; }
}
/* After-audit 3: last sub-44px targets and sub-14px texts. */
h3.wp-block-heading > a:only-child { padding-block: .7rem; }
.woocommerce-breadcrumb a { display: inline-block; padding-block: .75rem; }
.woocommerce div.product .woocommerce-product-gallery__trigger { width: 44px !important; height: 44px !important; display: flex; align-items: center; justify-content: center; }
.product_meta a { display: inline-block; padding: .65rem .1rem; }
.wc-block-cart-link { min-width: 44px; min-height: 44px; display: inline-flex !important; align-items: center; justify-content: center; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { min-width: 24px; min-height: 24px; }
.wc-block-components-checkbox label { min-height: 44px; align-items: center; }
.woocommerce form .show-password-input { width: 44px; height: 44px; }
.woocommerce-LostPassword a, .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; min-height: 44px; }
p.wp-block-site-title a { display: inline-flex; align-items: center; min-height: 44px; }
p.woocommerce-result-count, .woocommerce-result-count { font-size: .875rem !important; }
.wc-block-components-totals-shipping__via, .wc-blocks-components-select__label { font-size: .875rem !important; }
/* Short words ("Inde", "Home"): widen the hit area without moving the text. */
h3.wp-block-heading > a:only-child, .woocommerce-breadcrumb a, .product_meta a { min-width: 44px; }
