/* =====================================================================
   Hebriteas 1.1 · the look
   Ink and paper from the lino-cut logo, colour from the labels.
   Anton for headings, Noteworthy Bold on Apple devices, Handlee (bold) everywhere else (1.1.39; Sue Ellen Francisco in 1.1.37, Handlee, Itim, Patrick Hand and Gochi Hand before) for blend names and asides, Figtree for everything else.
   ===================================================================== */
/* 1.1.37: the stand-in for Noteworthy, declared here rather than in theme.json. WordPress names a theme.json font
   after the first font in the list, which made the stand-in pose as "Noteworthy" and hid the real one on Apple devices. */
@font-face { font-family: "Heb Hand"; src: url("../fonts/handlee-latin-400-normal.woff2") format("woff2"); font-weight: 400; font-style: normal; font-display: swap; }

:root {
	--ink: var(--wp--preset--color--ink, #171512);
	--paper: var(--wp--preset--color--paper, #F6F1E6);
	--card: var(--wp--preset--color--card, #FFFDF8);
	--oat: var(--wp--preset--color--oatmeal, #E9DFC9);
	--kraft: var(--wp--preset--color--kraft, #C9A06A);
	--gorse: var(--wp--preset--color--gorse, #F4C430);
	--machair: var(--wp--preset--color--machair, #4F7F2A);
	--sound: var(--wp--preset--color--sound, #1F6FA8);
	--heather: var(--wp--preset--color--heather, #7A4E9C);
	--wonky: var(--wp--preset--color--wonky, #EE7326);
	--muted: var(--wp--preset--color--muted, #4A4540);
	--line: 2px solid var(--ink);
	--radius: 6px;
	--radius-btn: 4px;
	--shadow: 4px 4px 0 var(--ink);
	--shadow-lg: 8px 8px 0 var(--ink);
	--display: var(--wp--preset--font-family--anton, Anton, Impact, sans-serif);
	--hand: var(--wp--preset--font-family--gochi, "Noteworthy", "Heb Hand", cursive); /* slug stays "gochi" so her saved pages keep working */
	--body: var(--wp--preset--font-family--figtree, Figtree, sans-serif);
	--gutter: clamp(1rem, 4vw, 1.5rem);
	--sec: clamp(2.75rem, 6vw, 4.5rem);
}

/* ---------- Base ---------- */
html { scroll-padding-top: 96px; }
body { background: var(--paper); color: var(--ink); -webkit-font-smoothing: antialiased; overflow-x: clip; }
body .wp-site-blocks { overflow-x: clip; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }
img { max-width: 100%; height: auto; }
a { text-underline-offset: 0.18em; text-decoration-thickness: 1.5px; }
:focus-visible { outline: 3px solid var(--sound); outline-offset: 3px; }
.screen-reader-text:focus { clip: auto !important; clip-path: none; height: auto; width: auto; background: var(--gorse); color: var(--ink); padding: 0.75rem 1rem; z-index: 100000; position: fixed !important; top: 0.5rem; left: 0.5rem; font-weight: 800; }

h1, h2, h3, h4, .wp-block-heading { overflow-wrap: break-word; }
.heb-hand, .has-gochi-font-family { font-family: var(--hand); font-weight: 700; letter-spacing: 0; text-transform: none; }
.heb-hand-title, .wp-block-heading.heb-hand-title { font-family: var(--hand) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 700 !important; line-height: 1 !important; }
.heb-eyebrow { font-family: var(--body); font-size: 0.78rem !important; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; margin-block: 0; }
.heb-aside { font-size: clamp(1.25rem, 2.2vw, 1.5rem); line-height: 1.15; margin-top: 0; margin-bottom: 0.35rem; }
.heb-lede { font-size: clamp(1.08rem, 1.6vw, 1.25rem); line-height: 1.55; }
.heb-measure { max-width: 38rem; }
.heb-small { font-size: 0.9rem; }
.heb-gorse-text { color: var(--gorse) !important; }
.heb-heather-text { color: var(--heather) !important; }
.heb-hand-lg { font-size: clamp(1.4rem, 2.6vw, 1.8rem); line-height: 1.15; }
.heb-more-link { font-weight: 800; margin-block: 0; }
.heb-more-link a { color: inherit; }
.heb-h2-sm { font-size: clamp(1.9rem, 3.4vw, 2.6rem) !important; margin-bottom: 1rem !important; }

/* Editor-only notes (visitors never get them) */
.heb-to-confirm, .heb-editor-note { background: #FFF4C2 !important; color: var(--ink) !important; border: 2px dashed var(--ink); border-radius: 4px; padding: 0.55rem 0.8rem !important; font-family: var(--body) !important; font-size: 0.85rem !important; font-weight: 600; line-height: 1.4 !important; text-transform: none !important; letter-spacing: 0 !important; }
.heb-to-confirm::before { content: "Editors only · "; font-weight: 800; }
.is-empty-for-visitors { outline: 3px dashed #C0392B; outline-offset: -3px; position: relative; }
.is-empty-for-visitors::before { content: "Hidden from visitors until filled in"; display: block; background: #C0392B; color: #fff; font: 700 0.8rem/1.6 var(--body); padding: 0.1rem 0.6rem; }

/* ---------- Buttons ---------- */
.wp-element-button, .wp-block-button__link, .heb-btn, .heb-add__button, .wc-block-components-button:not(.is-link), .woocommerce .button, .woocommerce button.button, .woocommerce a.button {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
	min-height: 48px; padding: 0.7rem 1.4rem; box-sizing: border-box;
	background: var(--ink); color: var(--paper); border: var(--line); border-radius: var(--radius-btn);
	font-family: var(--body); font-weight: 800; font-size: 1rem; line-height: 1.2; text-decoration: none; text-align: center; cursor: pointer;
	transition: transform 120ms ease, box-shadow 120ms ease, background-color 120ms ease;
}
.wp-element-button:hover, .wp-block-button__link:hover, .heb-btn:hover, .heb-add__button:hover { background: #2E2A25; color: var(--paper); }
.is-style-offer .wp-block-button__link, .heb-btn--offer, .heb-add__button--offer, .heb-add--offer .heb-add__button {
	background: var(--gorse); color: var(--ink); box-shadow: var(--shadow);
}
.is-style-offer .wp-block-button__link:hover, .heb-btn--offer:hover, .heb-add__button--offer:hover, .heb-add--offer .heb-add__button:hover { background: #FFD24D; color: var(--ink); transform: translate(-1px, -1px); box-shadow: 5px 5px 0 var(--ink); }
.is-style-outline .wp-block-button__link, .heb-add__button--outline, .heb-btn--outline { background: transparent; color: var(--ink); }
.is-style-outline .wp-block-button__link:hover, .heb-add__button--outline:hover { background: var(--ink); color: var(--paper); }
.is-style-paper .wp-block-button__link, .heb-btn--paper { background: var(--card); color: var(--ink); box-shadow: var(--shadow); }
.is-style-paper .wp-block-button__link:hover, .heb-btn--paper:hover { background: #fff; color: var(--ink); }
.is-style-outline-light .wp-block-button__link { background: transparent; color: var(--paper); border-color: var(--paper); }
.is-style-outline-light .wp-block-button__link:hover { background: var(--paper); color: var(--ink); }
.heb-btn--ink { background: var(--ink); color: var(--paper); }
.heb-btn--wide { width: 100%; }
.wp-block-buttons { gap: 0.75rem; }

/* ---------- Announcement bar ---------- */
.heb-announcement { font-size: 0.875rem !important; letter-spacing: 0.01em; }
.heb-announcement p { margin-block: 0; text-align: center; }
.heb-announcement .heb-promo { color: var(--gorse); }

/* ---------- Header ---------- */
.heb-header { position: sticky; top: 0; z-index: 50; border-bottom: var(--line); }
body.admin-bar .heb-header { top: 32px; }
@media (max-width: 782px) { body.admin-bar .heb-header { top: 46px; } }
.heb-header__bar { min-height: 72px; padding: 0.5rem 0; gap: 1.25rem; }
.heb-logo { margin-block: 0 !important; flex-shrink: 0; }
.heb-logo img { display: block; width: 164px; height: auto; }
.heb-main-nav { flex: 1 1 auto; font-size: 1rem; }
.heb-main-nav .wp-block-navigation-item__content { text-decoration: none; padding: 0.55rem 0; border-bottom: 3px solid transparent; }
.heb-main-nav .wp-block-navigation-item__content:hover, .heb-main-nav .current-menu-item > .wp-block-navigation-item__content, .heb-main-nav [aria-current="page"] { border-bottom-color: var(--ink); color: var(--ink); }
.heb-header__tools { flex-shrink: 0; align-items: center; }
.heb-header__tools > * { margin-block: 0 !important; }
.heb-search .wp-block-search__button { background: transparent; border: 0; color: var(--ink); min-height: 44px; min-width: 44px; padding: 0; box-shadow: none; }
.heb-search .wp-block-search__button svg { width: 24px; height: 24px; fill: currentColor; }
.heb-search.wp-block-search__searchfield-hidden .wp-block-search__inside-wrapper { border: 0; }
.heb-search:not(.wp-block-search__searchfield-hidden) .wp-block-search__input { border: var(--line); border-radius: var(--radius-btn); min-height: 44px; background: var(--card); }
.heb-account a { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; color: var(--ink); }
.heb-account svg { width: 24px; height: 24px; }
.heb-minicart .wc-block-mini-cart__button { min-height: 44px; padding: 0.4rem 0.9rem; background: var(--ink); color: var(--paper); border-radius: var(--radius-btn); font-weight: 800; }
.heb-minicart .wc-block-mini-cart__button:hover { background: #2E2A25; }
.heb-minicart .wc-block-mini-cart__quantity-badge svg { color: var(--paper); }
.heb-minicart .wc-block-mini-cart__badge { background: var(--gorse); color: var(--ink); border: 0; font-weight: 800; }
.wp-block-navigation__responsive-container-open, .wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-family: var(--display); text-transform: uppercase; font-size: 1.9rem; font-weight: 400; padding: 0.25rem 0; }
@media (max-width: 1180px) and (min-width: 600px) {
	.heb-main-nav { font-size: 0.92rem; }
	.heb-main-nav .wp-block-navigation__container { gap: 0.4rem 1rem !important; }
	.heb-header .heb-logo img { width: 140px; }
}
@media (max-width: 1119px) { /* 1.1.8: the menu button below 1120px, so the bar never wraps */
	.heb-header__bar { position: relative; justify-content: space-between !important; min-height: 64px; }
	.heb-main-nav { order: -1; flex: 0 0 auto; }
	.heb-main-nav .wp-block-navigation__responsive-container-open { display: inline-flex !important; }
	.heb-main-nav .wp-block-navigation__responsive-container:not(.is-menu-open) { display: none !important; }
	.heb-header .heb-logo { position: absolute; left: 50%; transform: translateX(-50%); }
	.heb-header .heb-logo img { width: 132px; }
	.heb-account { display: none !important; }
	.heb-minicart .wc-block-mini-cart__amount { display: none; }
}
@media (min-width: 1120px) {
	.heb-main-nav .wp-block-navigation__responsive-container-open { display: none !important; }
	.heb-main-nav .wp-block-navigation__responsive-container { display: block !important; position: static !important; background: transparent !important; }
	.heb-main-nav .wp-block-navigation__responsive-container-content { display: block !important; padding: 0 !important; }
	.heb-main-nav .wp-block-navigation__container { display: flex !important; flex-wrap: wrap; gap: 0.25rem 1.35rem; }
}

/* ---------- Footer ---------- */
.heb-footer { margin-top: 0 !important; }
.heb-footer a { text-decoration: none; }
.heb-footer a:hover { text-decoration: underline; color: var(--gorse); }
.heb-footer__head { font-family: var(--body) !important; font-size: 0.8rem !important; font-weight: 800 !important; letter-spacing: 0.14em !important; text-transform: uppercase; margin-top: 0 !important; margin-bottom: 0.9rem !important; color: #D9D2C4; }
.heb-plain-list { list-style: none; padding: 0; margin-block: 0; display: flex; flex-direction: column; gap: 0.45rem; }
.heb-footer-nav .wp-block-navigation-item__content { padding: 0; }
.heb-footer-nav .wp-block-navigation__container { gap: 0.45rem !important; }
.heb-house-stamp { margin-top: 0 !important; margin-bottom: 1rem !important; }
.heb-house-stamp img { background: var(--card); border-radius: 6px; padding: 10px; transform: rotate(-3deg); box-sizing: content-box; width: 100px !important; }
.heb-logo--footer img { outline: 2px solid var(--paper); outline-offset: 4px; }
.heb-footer__line { color: #D9D2C4; max-width: 22rem; }
.heb-footer__line a { color: var(--paper); text-decoration: underline; }
.heb-footer__rule { border: 0 !important; height: 1px !important; margin-top: 2rem !important; margin-bottom: 1rem !important; }
.heb-footer__base p { margin-block: 0; color: #D9D2C4; }
.heb-social-links { list-style: none; margin-block: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.heb-social-link { display: inline-flex; align-items: center; min-height: 40px; padding: 0 0.9rem; border: 2px solid #5a544c; border-radius: 999px; font-weight: 700; font-size: 0.9rem; }
@media (max-width: 781px) {
	.heb-footer__cols { display: grid !important; grid-template-columns: 1fr 1fr; gap: 2rem 1.25rem !important; }
	.heb-footer__brand { grid-column: 1 / -1; }
}

/* ---------- Page shells ---------- */
.heb-main { margin-top: 0 !important; }
.heb-main > * { margin-block-start: 0; }
.heb-page-head { padding-top: clamp(2rem, 5vw, 3.5rem); padding-bottom: 0.5rem; }
.heb-page-title { font-size: clamp(2.4rem, 6vw, 4.25rem) !important; margin-block: 0 !important; }
.heb-page-body { padding-top: 1rem; }

/* Long-form text: policies, product descriptions, her words */
.heb-prose { font-size: 1.0625rem; line-height: 1.65; }
.heb-prose > * + * { margin-block-start: 1em; }
.heb-prose h2 { font-size: clamp(1.7rem, 3.2vw, 2.3rem); margin-top: 2.25rem; margin-bottom: 0.6rem; }
.heb-prose h3 { font-family: var(--body); text-transform: none; font-weight: 800; font-size: 1.25rem; letter-spacing: 0; line-height: 1.3; margin-top: 1.75rem; margin-bottom: 0.4rem; }
.heb-prose h4, .heb-prose h5, .heb-prose h6 { font-family: var(--body); text-transform: none; font-weight: 800; font-size: 1.05rem; letter-spacing: 0; line-height: 1.3; }
.heb-prose ul, .heb-prose ol { padding-left: 1.4em; }
.heb-prose ul li::marker { color: var(--ink); }
.heb-prose li + li { margin-top: 0.35em; }
.heb-prose a { color: var(--ink); font-weight: 600; }
.heb-prose a:hover { color: var(--sound); }
.heb-prose hr, .heb-prose .wp-block-separator { border: 0; border-top: 2px solid var(--ink); opacity: 1; margin-block: 2rem; width: 100%; }
.heb-prose table { width: 100%; border-collapse: collapse; background: var(--card); border: var(--line); font-size: 0.95rem; }
.heb-prose th, .heb-prose td { border: 1px solid #CFC5AE; padding: 0.55rem 0.7rem; text-align: left; vertical-align: top; }
.heb-prose th { background: var(--oat); font-weight: 800; }
.heb-prose .wp-block-table { overflow-x: auto; margin-block: 1.5rem; }
.heb-prose img { border-radius: var(--radius); }
.heb-prose figure { margin-block: 1.5rem; }
.heb-prose figcaption { font-size: 0.9rem; color: var(--muted); }
.heb-prose blockquote { border-left: 4px solid var(--gorse); margin-block: 1.5rem; padding: 0.25rem 0 0.25rem 1rem; font-family: var(--hand); font-weight: 700; font-size: 1.4rem; line-height: 1.25; }
.heb-prose em { color: var(--muted); }
.heb-page-body .wp-block-heading:first-child { margin-top: 0; }

/* ---------- Sections and bands ---------- */
.heb-sec { padding-top: var(--sec); padding-bottom: var(--sec); }
.heb-sec + .heb-sec { padding-top: 0; }
.heb-sec--narrow { padding-top: calc(var(--sec) * 0.7); }
.heb-sec__title { font-size: clamp(2.3rem, 5vw, 3.4rem) !important; line-height: 0.98 !important; margin-top: 0 !important; margin-bottom: 1.25rem !important; }
.heb-sec__head { gap: 0.75rem 2rem; margin-bottom: 1.25rem; align-items: flex-end; }
.heb-sec__head .heb-sec__title { margin-bottom: 0 !important; }
.heb-band { padding-top: var(--sec); padding-bottom: var(--sec); }
.heb-band--ink { background: var(--ink); color: var(--paper); }
.heb-band--ink a:not(.wp-element-button):not(.heb-add__button):not(.heb-btn) { color: var(--paper); }
.heb-band--card { background: var(--card); border-top: var(--line); border-bottom: var(--line); }
.heb-band--machair { background: var(--machair); color: var(--card); border-top: var(--line); border-bottom: var(--line); }
.heb-band--machair a:not(.wp-element-button):not(.heb-add__button):not(.heb-btn) { color: var(--card); }
.heb-band--heather { background: var(--heather); color: var(--card); border-top: var(--line); border-bottom: var(--line); }
.heb-band--heather a:not(.wp-element-button):not(.heb-add__button):not(.heb-btn) { color: var(--card); }
.heb-band--gorse { background: var(--gorse); color: var(--ink); border-top: var(--line); border-bottom: var(--line); }
.heb-band--paper { background: var(--paper); }
.heb-band-sound { background: var(--sound); color: var(--card); border-bottom: var(--line); padding-top: clamp(2.25rem, 5vw, 3.5rem); padding-bottom: clamp(2.25rem, 5vw, 3.5rem); }
.heb-band-sound a { color: var(--card); }
.heb-band-intro { background: var(--card); border-bottom: var(--line); padding-top: clamp(1.5rem, 4vw, 2.75rem); padding-bottom: clamp(1.5rem, 3vw, 2rem); }
.heb-main > .heb-band:first-child, .heb-main .wp-block-post-content > .heb-band:first-child { border-top: 0; }
.heb-page-hero { padding-top: clamp(2.5rem, 6vw, 4.5rem); padding-bottom: clamp(2.5rem, 6vw, 4.5rem); }
.heb-page-hero--simple { padding-bottom: clamp(1.5rem, 4vw, 2.5rem); }
.heb-divider { display: flex; align-items: center; gap: 1rem; padding-top: 1rem !important; padding-bottom: 1rem !important; }
.heb-divider::before, .heb-divider::after { content: ""; flex: 1 1 auto; border-top: 2px solid var(--ink); }
.heb-divider .wp-block-image { margin-block: 0 !important; flex: 0 0 auto; }
.heb-divider img { width: 72px !important; min-width: 72px; }

/* ---------- Hero ---------- */
.heb-hero-title { font-size: clamp(2.9rem, 7vw, 5.75rem) !important; line-height: 0.92 !important; margin-top: 0.4rem !important; margin-bottom: 1rem !important; }
.heb-hero-title.heb-hand-title { font-size: clamp(3rem, 7.5vw, 6rem) !important; }
.heb-hero { padding: clamp(1.5rem, 4vw, 3rem) 0 clamp(2rem, 5vw, 3.5rem); margin-block: 0 !important; }
.heb-hero .heb-lede { max-width: 34rem; }
.heb-hero__kicker { font-size: 1.5rem; margin-block: 0; display: flex; align-items: center; gap: 0.6rem; flex-wrap: wrap; }
.heb-inline-logo { display: inline-block; background: var(--ink); color: var(--paper); font-family: var(--display); text-transform: uppercase; font-size: 1.45rem; letter-spacing: 0.04em; padding: 0.1rem 0.6rem 0.15rem; transform: rotate(-2deg); line-height: 1.2; }
.heb-hero__buttons { margin-top: 1.5rem !important; margin-bottom: 1rem !important; }
.heb-hero__proof { font-weight: 600; margin-top: 0.25rem; margin-bottom: 0; }
.heb-hero__seen { font-size: 0.85rem; font-weight: 700; margin-top: 0.35rem; margin-bottom: 0; }
.heb-stars { color: var(--ink); letter-spacing: 0.08em; }
.heb-hero--ink, .heb-hero--heather { color: var(--card); border-radius: var(--radius); border: var(--line); padding-left: clamp(1.25rem, 4vw, 3rem) !important; padding-right: clamp(1.25rem, 4vw, 3rem) !important; margin-top: 1.5rem !important; margin-bottom: 2rem !important; }
.heb-hero--ink { background: var(--ink); }
.heb-hero--heather { background: var(--heather); }
.heb-stamp-label { display: inline-block; background: var(--gorse); color: var(--ink); font-family: var(--display); text-transform: uppercase; font-size: 1.35rem; padding: 0.15rem 0.75rem; transform: rotate(-3deg); margin-top: 0; margin-bottom: 0.25rem; border: 2px solid var(--ink); }
.heb-hero__art { display: flex; justify-content: center; }

/* Hero switch (Tea | Coffee | Wool) */
.heb-hero-switch__controls { justify-content: flex-start; margin-top: 1.25rem; margin-bottom: 0; gap: 0.75rem 1rem; }
.heb-hero-switch__controls::after { content: "Which do you fancy?"; font-family: var(--hand); font-weight: 700; font-size: 1.35rem; }
.heb-hero-switch__tab { min-width: 72px; }
.heb-hero-switch.is-enhanced .heb-hero-slide { align-self: start; }

/* Three product photos, fanned (real photos in clean tiles) */
.heb-stack { position: relative; width: min(100%, 520px); aspect-ratio: 1 / 0.86; margin: 0 auto; }
.heb-stack__item { position: absolute; width: 56%; aspect-ratio: 1; background: #fff; border: var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lg); overflow: hidden; display: block; transition: transform 200ms ease; }
.heb-stack__item img { width: 100%; height: 100%; object-fit: contain; display: block; padding: 6%; box-sizing: border-box; }
.heb-stack__name { position: absolute; left: 0.6rem; bottom: 0.5rem; background: var(--ink); color: var(--paper); font-family: var(--hand); font-weight: 700; font-size: 1.15rem; padding: 0.05rem 0.55rem; border-radius: 3px; }
.heb-stack--3 .heb-stack__item:nth-child(1) { left: 3%; top: 14%; transform: rotate(-6deg); }
.heb-stack--3 .heb-stack__item:nth-child(2) { left: 22%; top: 0; z-index: 2; transform: rotate(1deg); }
.heb-stack--3 .heb-stack__item:nth-child(3) { right: 4%; top: 18%; transform: rotate(6deg); } /* 1.1.10: inset so the turned card and its shadow stay inside the column */
.heb-stack--2 .heb-stack__item:nth-child(1) { left: 2%; top: 6%; transform: rotate(-4deg); }
.heb-stack--2 .heb-stack__item:nth-child(2) { right: 2%; top: 14%; transform: rotate(4deg); }
.heb-stack--1 .heb-stack__item { left: 22%; top: 4%; }
.heb-stack__item:hover { transform: rotate(0) translateY(-4px); z-index: 3; }
@media (prefers-reduced-motion: reduce) { .heb-stack__item { transition: none; } }

/* Label artwork (Cranky Ewe and the island labels) */
.heb-label-art { margin: 0 auto !important; max-width: 420px; }
.heb-label-art img { display: block; width: 100%; height: auto; border: var(--line); border-radius: 4px; background: #fff; }
.heb-label-art--tilt img { transform: rotate(3deg); box-shadow: 10px 10px 0 var(--gorse); }
.heb-band--ink .heb-label-art--tilt img, .heb-hero--ink .heb-label-art--tilt img { border-color: var(--paper); }

/* Optional kraft pouch frame, for label artwork only (off by default) */
.is-style-kraft-pouch img, .wp-block-image.is-style-kraft-pouch img { background: var(--kraft); padding: 1.1rem 0.8rem 0.8rem; border: var(--line); border-radius: 12px 12px 4px 4px; box-sizing: border-box; }

/* Photos that hide until set */
.heb-photo { margin-block: 0; position: relative; }
.heb-photo img { display: block; width: 100%; height: auto; border: var(--line); border-radius: var(--radius); background: var(--card); }
.heb-photo--square img { aspect-ratio: 1; object-fit: cover; }
.heb-photo--wide img { aspect-ratio: 4 / 3; object-fit: cover; }
.heb-photo--tall img { aspect-ratio: 3 / 4; object-fit: cover; }
.heb-photo--round img { width: 96px; height: 96px; border-radius: 50%; object-fit: cover; }
.heb-photo.is-product img { object-fit: contain; background: #fff; padding: 5%; box-sizing: border-box; }
.heb-photo--tilt img { transform: rotate(-1.5deg); box-shadow: var(--shadow-lg); }
.heb-band--ink .heb-photo--tilt img, .heb-band--machair .heb-photo--tilt img, .heb-band--heather .heb-photo--tilt img { box-shadow: 10px 10px 0 var(--ink); }
.heb-photo figcaption { margin-top: 0.75rem; font-size: 0.9rem; }

/* Full-width photo band */
.heb-band { position: relative; }
div.heb-band.alignfull:has(> img) { padding: 0; border-top: var(--line); border-bottom: var(--line); }
.heb-band > img { display: block; width: 100%; height: clamp(260px, 38vw, 520px); object-fit: cover; }
.heb-stamp { position: absolute; left: clamp(1rem, 4vw, 3rem); bottom: clamp(1rem, 3vw, 2rem); margin-block: 0; background: var(--ink); color: var(--paper); font-family: var(--display); text-transform: uppercase; font-size: clamp(1.4rem, 3vw, 2.2rem); padding: 0.4rem 1rem; transform: rotate(-3deg); }

/* ---------- Proof strip ---------- */
.heb-proof { background: var(--card); border-top: var(--line); border-bottom: var(--line); }
.heb-proof__row { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem 2rem; padding: 1.25rem 0; align-items: center; }
.heb-proof__row > * { margin-block: 0 !important; }
.heb-proof__item { font-size: 0.95rem; line-height: 1.35; padding-left: 3.1rem; position: relative; min-height: 2.6rem; display: flex; flex-direction: column; justify-content: center; }
.heb-proof__item::before { content: ""; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 2.4rem; height: 2.4rem; background: var(--ink); border-radius: 4px; }
.heb-proof__item--award::before { content: "GT★"; color: var(--paper); font: 400 0.8rem/2.4rem var(--display); text-align: center; transform: translateY(-50%) rotate(-4deg); }
.heb-proof__item--house::before { background: url(../images/house-mark-ink-240.png) center / contain no-repeat; }
.heb-proof__item--post::before { background: transparent; border: 2px solid var(--ink); width: 2.1rem; height: 1.6rem; border-radius: 3px; }
.heb-proof--wool .heb-proof__item { padding-left: 0; min-height: 0; }
.heb-proof--wool .heb-proof__item::before { display: none; }
.heb-stat { display: flex; align-items: center; gap: 0.75rem; margin-block: 0; }
.heb-stat__n { font-family: var(--display); font-size: 2.6rem; line-height: 1; margin-block: 0; }
.heb-stat__n::after { content: ""; }
.heb-stat__l { margin-block: 0; font-size: 0.95rem; font-weight: 600; line-height: 1.3; max-width: 9rem; }
.heb-proof .heb-stat__n::after { content: " ★"; font-size: 1.6rem; vertical-align: 0.3em; }
@media (max-width: 900px) { .heb-proof__row { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .heb-proof__row { grid-template-columns: 1fr; gap: 0.85rem; } }

/* ---------- Product cards ---------- */
.heb-grid, .heb-shelf__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(0.75rem, 2vw, 1.25rem); align-items: stretch; }
.heb-shelf__grid:has(> .heb-card:nth-child(5):last-child) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 1100px) { .heb-shelf__grid:has(> .heb-card:nth-child(5):last-child) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 960px) { .heb-grid, .heb-shelf__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 700px) { .heb-grid, .heb-shelf__grid, .heb-shelf__grid:has(> .heb-card:nth-child(5):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.heb-card {
	container-type: inline-size; position: relative;
	display: flex; flex-direction: column; min-width: 0;
	background: var(--card); color: var(--ink); border: var(--line); border-radius: var(--radius); overflow: hidden;
}
.heb-card__media { display: block; position: relative; aspect-ratio: 1; background: #fff; border-bottom: var(--line); text-decoration: none; overflow: hidden; }
.heb-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; transition: transform 250ms ease; }
.heb-card:hover .heb-card__media img { transform: scale(1.03); }
@media (prefers-reduced-motion: reduce) { .heb-card__media img { transition: none; } .heb-card:hover .heb-card__media img { transform: none; } }
.heb-card__body { display: flex; flex-direction: column; gap: 0.2rem; padding: 0.85rem 0.9rem 0.95rem; flex: 1 1 auto; }
.heb-card__title { font-family: var(--hand) !important; font-weight: 700 !important; font-size: clamp(1.45rem, 2.2vw, 1.85rem) !important; line-height: 1 !important; text-transform: none !important; letter-spacing: 0 !important; margin-block: 0 !important; }
.heb-card:not(.is-blend) .heb-card__title { font-family: var(--body) !important; font-weight: 800 !important; font-size: 1.05rem !important; line-height: 1.25 !important; }
.heb-card__title a { color: inherit; text-decoration: none; }
.heb-card__title a::after { content: ""; position: absolute; inset: 0; z-index: 1; }
.heb-card__title a:focus-visible { outline: none; }
.heb-card:has(.heb-card__title a:focus-visible) { outline: 3px solid var(--sound); outline-offset: 3px; }
.heb-card__sub { margin-block: 0; font-size: 0.9rem; color: var(--muted); line-height: 1.3; }
.heb-card__rating { margin-top: 0.15rem; margin-bottom: 0; font-size: 0.82rem; font-weight: 600; min-height: 1.2em; }
.heb-card__note { color: var(--muted); }
.heb-card__buy { margin-top: auto; padding-top: 0.7rem; display: flex; flex-direction: column; gap: 0.5rem; position: relative; z-index: 2; }
.heb-card__price { margin-block: 0; font-size: 1.3rem; font-weight: 800; line-height: 1.1; }
.heb-card__per { font-size: 0.85rem; font-weight: 600; color: var(--muted); }
.heb-card__price del { font-weight: 600; color: var(--muted); font-size: 0.9rem; }
.heb-card__price ins { text-decoration: none; }
.heb-card__stock { margin-block: 0; font-weight: 700; color: var(--muted); font-size: 0.9rem; padding: 0.6rem 0; border-top: 1px dashed #CFC5AE; }
.heb-card .heb-add { display: flex; flex-direction: column; gap: 0.35rem; margin-block: 0; }
.heb-card .heb-add__button, .heb-card .heb-add__button--choose { width: 100%; min-height: 44px; padding: 0.55rem 0.6rem; font-size: 0.95rem; }
.heb-add__button--choose { background: var(--card); color: var(--ink); }
.heb-add__button--choose:hover { background: var(--ink); color: var(--paper); }
.heb-add__save { margin-block: 0; font-size: 0.78rem; line-height: 1.3; color: var(--muted); text-align: left; }
.heb-card.is-out .heb-card__media img { opacity: 0.55; }
@container (max-width: 210px) {
	.heb-card .heb-add__sep, .heb-card .heb-add__price { display: none; }
	.heb-card__title { font-size: 1.4rem !important; }
	.heb-card__body { padding: 0.7rem 0.7rem 0.8rem; }
}
.heb-award--card { position: absolute; top: 0.45rem; right: 0.45rem; z-index: 2; }
.heb-award--text { background: var(--ink); color: var(--paper); font-family: var(--display); text-transform: uppercase; font-size: 0.72rem; letter-spacing: 0.03em; line-height: 1; padding: 0.4rem 0.5rem; border-radius: 3px; transform: rotate(-3deg); }
.heb-award--card .heb-award__img { width: 56px !important; }
.heb-last-chance { position: absolute; left: 0.5rem; bottom: 0.5rem; z-index: 2; }

/* Compact cards (related products, picks) */
.heb-card--compact { flex-direction: row; align-items: stretch; }
.heb-card--compact .heb-card__media { width: 34%; flex: 0 0 34%; aspect-ratio: auto; min-height: 100%; border-bottom: 0; border-right: var(--line); }
.heb-card--compact .heb-card__media img { position: absolute; inset: 0; }
.heb-card--compact .heb-card__body { padding: 0.75rem; }
.heb-card--compact .heb-card__title { font-size: 1.45rem !important; }
.heb-card--compact .heb-add__size, .heb-card--compact .heb-add__save { display: none; }

/* Pack size toggle above shelves */
.heb-shelf { gap: 1rem; }
.heb-sizes { align-self: flex-end; margin-top: -3.75rem; background: var(--card); }
@media (max-width: 700px) { .heb-sizes { margin-top: 0; align-self: flex-start; } }
.heb-sizes__btn { min-height: 44px; }

/* ---------- Taster box builder (homepage, dark) ---------- */
.heb-band--ink .heb-taster { margin-top: 1.5rem; }
.heb-taster__grid { grid-template-columns: repeat(auto-fill, minmax(min(132px, 44%), 1fr)); }
.heb-pick__card { background: #221F1B; border-color: #3A352F; border-width: 2px; color: var(--paper); }
.heb-pick__img { display: block; background: #fff; border-radius: 4px; overflow: hidden; aspect-ratio: 1; }
.heb-pick__img img { width: 100%; height: 100% !important; aspect-ratio: 1 !important; object-fit: contain !important; padding: 6%; box-sizing: border-box; }
.heb-pick.is-picked .heb-pick__card { border-color: var(--gorse); box-shadow: 0 0 0 1px var(--gorse); }
.heb-pick__state { margin-top: auto; padding-top: 0.25rem; color: var(--gorse); }
.heb-taster__box { border: var(--line); }
.heb-slot { background: var(--card); }
.heb-slot img { object-fit: contain !important; background: #fff; padding: 6%; box-sizing: border-box; }
.heb-taster .heb-chips { margin-bottom: 0.25rem; }
.heb-band--ink .heb-chip { color: var(--paper); border-color: #6B645C; }
.heb-band--ink .heb-chip[aria-pressed="true"] { background: var(--paper); color: var(--ink); border-color: var(--paper); }
.heb-taster__submit { background: var(--gorse) !important; color: var(--ink) !important; box-shadow: var(--shadow); }

/* ---------- Island Blends strip (homepage) ---------- */
.heb-isles { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 1rem; }
.heb-isle { display: flex; flex-direction: column; background: var(--card); border: var(--line); border-radius: var(--radius); overflow: hidden; text-decoration: none; color: var(--ink); transition: transform 150ms ease, box-shadow 150ms ease; }
.heb-isle:hover { transform: translateY(-3px); box-shadow: var(--shadow); color: var(--ink); }
.heb-isle__img { display: block; aspect-ratio: 4 / 5; overflow: hidden; border-bottom: var(--line); background: var(--oat); }
.heb-isle__img img { width: 100%; height: 100%; object-fit: cover; object-position: top; display: block; }
.heb-isle__text { padding: 0.7rem 0.75rem 0.85rem; display: flex; flex-direction: column; gap: 0.1rem; }
.heb-isle__name { font-family: var(--hand); font-weight: 700; font-size: 1.45rem; line-height: 1; }
.heb-isle__type { font-size: 0.85rem; color: var(--muted); }
@media (max-width: 1000px) { .heb-isles { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 600px) { .heb-isles { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; } }

/* ---------- Great Taste strip ---------- */
.heb-awards { display: grid; grid-template-columns: minmax(260px, 1fr) 2fr; gap: 1.5rem 2.5rem; align-items: center; }
.heb-awards__text { display: flex; gap: 1.25rem; align-items: center; }
.heb-awards__text > div { flex: 1 1 auto; }
.heb-awards__title { font-size: clamp(1.9rem, 3.4vw, 2.5rem) !important; line-height: 0.98 !important; margin-top: 0 !important; margin-bottom: 0.5rem !important; }
.heb-awards__text p { margin-block: 0; }
.heb-award--large.heb-award--text { width: 96px; height: 96px; border-radius: 50%; border: 4px solid var(--gorse); display: inline-flex; flex-direction: column; justify-content: center; text-align: center; font-size: 1rem; padding: 0.5rem; box-sizing: border-box; flex: 0 0 96px; transform: rotate(-6deg); }
.heb-awards__items { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.75rem; }
.heb-awards__item { display: flex; flex-direction: column; align-items: center; gap: 0.35rem; text-decoration: none; color: var(--ink); }
.heb-awards__item img { width: 100%; aspect-ratio: 1; object-fit: contain; background: #fff; border: var(--line); border-radius: var(--radius); padding: 6%; box-sizing: border-box; }
.heb-awards__item span { font-size: 1.15rem; }
@media (max-width: 900px) { .heb-awards { grid-template-columns: 1fr; } }
@media (max-width: 520px) { .heb-awards__items { grid-template-columns: repeat(3, minmax(0, 1fr)); } }

/* ---------- Mini product cards (picks) ---------- */
.heb-picks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.9rem; margin-top: 1.25rem; margin-bottom: 1rem; }
@media (max-width: 600px) { .heb-picks { grid-template-columns: 1fr; } }
.heb-pick-card { display: flex; gap: 0.85rem; align-items: center; background: var(--card); color: var(--ink); border: var(--line); border-radius: var(--radius); padding: 0.7rem; position: relative; }
.heb-pick-card a { color: var(--ink); }
.heb-pick-card__media { flex: 0 0 76px; width: 76px; aspect-ratio: 1; background: #fff; border: 1.5px solid var(--ink); border-radius: 4px; overflow: hidden; display: block; }
.heb-pick-card__media img { width: 100%; height: 100%; object-fit: contain; padding: 4%; box-sizing: border-box; display: block; }
.heb-pick-card__body { display: flex; flex-direction: column; gap: 0.3rem; min-width: 0; flex: 1 1 auto; }
.heb-pick-card__name { font-family: var(--hand) !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 1.5rem !important; line-height: 1 !important; margin-block: 0 !important; }
.heb-pick-card__name a { text-decoration: none; }
.heb-pick-card__note { margin-block: 0; font-size: 0.85rem; color: var(--muted); line-height: 1.3; }
.heb-pick-card .heb-add { margin-top: 0.2rem; margin-bottom: 0; }
.heb-pick-card .heb-add__button { min-height: 40px; padding: 0.4rem 0.9rem; font-size: 0.9rem; }
.heb-pick-card .heb-add__save { display: none; }
.heb-pick-card--card { flex-direction: column; align-items: stretch; padding: 0; overflow: hidden; height: 100%; }
.heb-pick-card--card .heb-pick-card__media { flex: none; width: 100%; border: 0; border-bottom: var(--line); border-radius: 0; }
.heb-pick-card--card .heb-pick-card__body { padding: 1rem; }
.heb-pick-card--card .heb-pick-card__name { font-size: 1.9rem !important; }
.heb-pick-card--card .heb-add__button { width: 100%; min-height: 46px; }
.heb-pick-card .heb-eyebrow { color: var(--muted); }

/* ---------- Social feed in a card ---------- */
.heb-social-card { background: var(--card); color: var(--ink); border: var(--line); border-radius: var(--radius); box-shadow: 8px 8px 0 var(--ink); padding: clamp(1rem, 3vw, 1.75rem); margin-top: var(--sec) !important; }
.heb-social-card a { color: var(--ink) !important; }

/* ---------- Gifts by budget, deadline ---------- */
/* Gifts by type (category tiles) */
.heb-types { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: 1rem; }
.heb-types__link { display: flex; flex-direction: column; height: 100%; background: var(--card); border: var(--line); border-radius: var(--radius); padding: 0.6rem; color: var(--ink) !important; text-decoration: none !important; transition: transform 150ms ease, box-shadow 150ms ease; }
.heb-types__link:hover, .heb-types__link:focus-visible { transform: translate(-2px, -2px); box-shadow: var(--shadow); }
.heb-types__photo { display: block; aspect-ratio: 1; background: #fff; border-radius: 4px; overflow: hidden; margin-bottom: 0.6rem; }
.heb-types__photo.is-empty { background: var(--oat); }
.heb-types__img { width: 100%; height: 100%; object-fit: contain; display: block; }
.heb-types__name { font-family: var(--display); text-transform: uppercase; font-size: 1.35rem; line-height: 1.05; }
.heb-types__count { font-size: 0.85rem; color: var(--muted); margin-top: 0.15rem; }
@media (max-width: 600px) { .heb-types { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.75rem; } .heb-types__name { font-size: 1.15rem; } }
@media (prefers-reduced-motion: reduce) { .heb-types__link { transition: none; } .heb-types__link:hover { transform: none; } }
.heb-budget { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1.25rem; }
@media (max-width: 860px) { .heb-budget { grid-template-columns: 1fr; } }
.heb-budget__col { background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1.25rem 1.25rem 0.75rem; }
.heb-budget__title { font-size: clamp(1.7rem, 3vw, 2.1rem) !important; margin-top: 0 !important; margin-bottom: 0.5rem !important; }
.heb-budget__list { list-style: none; margin-block: 0; padding: 0; }
.heb-budget__list li { display: flex; justify-content: space-between; gap: 1rem; align-items: baseline; padding: 0.8rem 0; border-top: 1.5px dashed #8A8178; }
.heb-budget__list a { color: var(--ink); text-decoration: none; font-weight: 500; }
.heb-budget__list a:hover { text-decoration: underline; }
.heb-budget__price { font-weight: 800; white-space: nowrap; }
.heb-deadline { display: inline-block; margin-block: 0; background: var(--gorse); color: var(--ink); border: var(--line); border-radius: var(--radius-btn); box-shadow: var(--shadow); font-weight: 800; padding: 0.6rem 1rem; }
.heb-band--gorse .heb-deadline { background: var(--card); }

/* ---------- Duo / pair ---------- */
.heb-duo { background: var(--ink); color: var(--paper); border-radius: var(--radius); box-shadow: 10px 10px 0 var(--gorse); padding: clamp(1.5rem, 4vw, 2.5rem); margin-top: 2.5rem !important; }
.heb-duo a:not(.wp-element-button):not(.heb-add__button) { color: var(--paper); }
.heb-pair { display: flex; flex-direction: column; gap: 0.85rem; align-items: flex-start; }
.heb-pair__imgs { display: flex; align-items: center; gap: 0.75rem; width: 100%; max-width: 440px; }
.heb-pair__img { flex: 1 1 0; background: #fff; border: var(--line); border-radius: var(--radius); overflow: hidden; aspect-ratio: 1; display: flex; }
.heb-pair__img img { width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; }
.heb-pair__img--label img { object-fit: cover; padding: 0; }
.heb-pair__img:first-child { transform: rotate(-3deg); }
.heb-pair__img:last-child { transform: rotate(3deg); }
.heb-pair__plus { font-family: var(--display); font-size: 2rem; }
.heb-pair__sep { margin-block: 0; font-size: 0.85rem; opacity: 0.85; }
.heb-pair__soon { margin-block: 0; }
.heb-pair--waiting .heb-pick-card { width: 100%; max-width: 440px; }
.heb-pair .heb-add-multi { margin-block: 0; }
.heb-band--machair .heb-pair__img, .heb-duo .heb-pair__img { border-color: var(--ink); }

/* ---------- Reviews band ---------- */
.heb-reviews-row { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: 1.5rem; align-items: center; }
@media (max-width: 760px) { .heb-reviews-row { grid-template-columns: 1fr; } }
.heb-score { background: var(--ink); color: var(--paper); border-radius: var(--radius); padding: 1.5rem 1.6rem; }
.heb-score--tilt { transform: rotate(-2deg); }
.heb-score__n { font-family: var(--display); font-size: clamp(3.5rem, 7vw, 5rem); line-height: 0.9; margin-block: 0; }
.heb-score__l { margin-top: 0.4rem; margin-bottom: 0; font-weight: 700; }
.heb-score__a { margin-top: 0.9rem; margin-bottom: 0; }
.heb-score__a a { color: var(--gorse) !important; font-weight: 800; }
.heb-quotes { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1rem; }
.heb-quote { margin-block: 0; background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1.25rem; display: flex; flex-direction: column; justify-content: space-between; gap: 1rem; }
.heb-quote blockquote { margin-block: 0; padding: 0; border: 0; }
.heb-quote blockquote p { font-family: var(--hand); font-weight: 700; font-size: 1.45rem; line-height: 1.2; margin-block: 0; }
.heb-quote figcaption { font-size: 0.85rem; }

/* ---------- Name change and Gaelic ---------- */
.wp-block-details { border-top: var(--line); padding: 0.9rem 0; }
.wp-block-details.heb-last { border-bottom: var(--line); }
.wp-block-details summary { font-weight: 800; cursor: pointer; min-height: 32px; }
.wp-block-details summary::marker { color: var(--ink); }

/* ---------- Faces ---------- */
.heb-faces__photos { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.heb-faces .wp-block-columns:has(> .wp-block-column:only-child) .wp-block-column { flex-basis: 100% !important; }

/* ---------- Signup ---------- */
.heb-signup { background: var(--gorse); border-top: var(--line); padding: clamp(2rem, 5vw, 3rem) var(--gutter); }
.heb-signup__inner { max-width: 1240px; margin: 0 auto; display: flex; flex-wrap: wrap; gap: 1rem 3rem; align-items: center; justify-content: space-between; }
.heb-signup__title { font-size: clamp(2.2rem, 5vw, 3.2rem) !important; margin-top: 0 !important; margin-bottom: 0.4rem !important; }
.heb-signup p { margin-block: 0; }

/* ---------- Shop and category pages ---------- */
.heb-crumbs { margin-top: 0 !important; margin-bottom: 0.75rem !important; font-size: 0.85rem !important; }
.heb-crumbs a { color: inherit; }
.heb-crumbs--light, .heb-crumbs--light a { color: var(--card) !important; }
.heb-shop-title { font-size: clamp(2.8rem, 7vw, 5rem) !important; line-height: 0.92 !important; margin-top: 0 !important; margin-bottom: 0.75rem !important; }
.heb-shop-lede { max-width: 42rem; font-size: 1.1rem; margin-block: 0 !important; }
.heb-shop-lede p { margin-top: 0; margin-bottom: 0.5rem; }
.heb-shop .heb-grid-wrap, .heb-grid-wrap { padding-top: 1.25rem; }
.heb-chips--links { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-top: 0; margin-bottom: 1.25rem; }
.heb-chip { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1rem; border-radius: 999px; border: var(--line); background: var(--card); color: var(--ink); font-weight: 700; font-size: 0.95rem; text-decoration: none; }
a.heb-chip:hover { background: var(--oat); color: var(--ink); }
.heb-chip[aria-current="page"] { background: var(--ink); color: var(--paper); }
.heb-grid-head { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; margin-bottom: 1rem; }
.heb-grid-count { margin-block: 0; font-weight: 700; font-size: 0.95rem; }
.heb-grid-head .woocommerce-ordering { margin-block: 0; }
.heb-grid-head select.orderby { min-height: 44px; border: var(--line); border-radius: var(--radius-btn); background: var(--card); padding: 0 2.25rem 0 0.75rem; font: inherit; font-weight: 600; color: var(--ink); }
.heb-grid-empty { padding: 2rem; border: 2px dashed var(--ink); border-radius: var(--radius); background: var(--card); font-weight: 600; }
.heb-pagination { margin-top: 2rem; display: flex; justify-content: center; }
.heb-pagination .page-numbers { display: inline-flex; align-items: center; justify-content: center; min-width: 44px; min-height: 44px; padding: 0 0.75rem; margin: 0 0.15rem; border: var(--line); border-radius: var(--radius-btn); background: var(--card); color: var(--ink); text-decoration: none; font-weight: 800; }
.heb-pagination .page-numbers.current { background: var(--ink); color: var(--paper); }
.heb-taster-tile { grid-column: span 2; display: flex; gap: 1.25rem; align-items: center; background: var(--ink); color: var(--paper); border: var(--line); border-radius: var(--radius); box-shadow: 8px 0 0 var(--gorse); padding: clamp(1.25rem, 3vw, 2rem); overflow: hidden; }
.heb-taster-tile__text { flex: 1 1 55%; min-width: 0; }
.heb-taster-tile__aside { color: var(--gorse); font-size: 1.4rem; margin-block: 0; }
.heb-taster-tile__title { color: var(--paper); font-size: clamp(1.9rem, 3.4vw, 2.6rem) !important; line-height: 0.98 !important; margin-top: 0.2rem !important; margin-bottom: 0.6rem !important; }
.heb-taster-tile p { margin-top: 0; margin-bottom: 0.9rem; }
.heb-taster-tile__imgs { flex: 1 1 45%; display: grid; grid-template-columns: 1fr 1fr; gap: 0.5rem; }
.heb-taster-tile__imgs span { background: #fff; border-radius: 4px; aspect-ratio: 1; overflow: hidden; display: block; }
.heb-taster-tile__imgs img { width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; display: block; }
@media (max-width: 700px) { .heb-taster-tile { grid-column: 1 / -1; } }
@media (max-width: 460px) { .heb-taster-tile__imgs { display: none; } }
.heb-link-tiles { list-style: none; margin-block: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
.heb-link-tiles--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.heb-link-tiles li { margin-block: 0; background: var(--card); border: var(--line); border-radius: var(--radius); display: flex; flex-direction: column; justify-content: center; min-height: 64px; padding: 1rem 1.1rem; gap: 0.2rem; }
.heb-link-tiles li:has(> a) { padding: 0; }
.heb-link-tiles a { display: flex; flex-direction: column; justify-content: center; gap: 0.2rem; min-height: 64px; padding: 1rem 2.5rem 1rem 1.1rem; color: var(--ink); text-decoration: none; font-weight: 800; position: relative; }
.heb-link-tiles a::after { content: "→"; position: absolute; right: 1.1rem; top: 50%; transform: translateY(-50%); }
.heb-link-tiles a:hover { background: var(--oat); }
.heb-link-tiles span { font-weight: 500; font-size: 0.9rem; color: var(--muted); }
@media (max-width: 900px) { .heb-link-tiles, .heb-link-tiles--3 { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .heb-link-tiles, .heb-link-tiles--3 { grid-template-columns: 1fr; } }
.heb-also { padding-bottom: 1rem; }

/* ---------- Island Blends landing ---------- */
.heb-hero-cols { margin-block: 0 !important; }
.heb-band-sound .heb-hero-title { color: var(--card); }
.heb-band-sound .heb-lede { color: var(--card); }
.heb-term-intro { font-size: 1.1rem; margin-top: 0; margin-bottom: 1rem; }
.heb-labels { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.6rem; }
.heb-labels__item img { display: block; width: 100%; height: auto; border: 2px solid var(--ink); border-radius: 4px; background: #fff; box-shadow: 4px 4px 0 var(--ink); }
.heb-labels__item:nth-child(odd) img { transform: rotate(-2deg); }
.heb-labels__item:nth-child(even) img { transform: rotate(2deg) translateY(8px); }
@media (max-width: 600px) { .heb-labels { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.35rem; } }
.heb-islands { display: flex; flex-direction: column; gap: 1rem; }
.heb-island { display: grid; grid-template-columns: 220px minmax(0, 1fr) 260px; background: var(--card); border: var(--line); border-radius: var(--radius); overflow: hidden; position: relative; }
.heb-island__media { display: block; background: #fff; border-right: var(--line); position: relative; }
.heb-island__media img { width: 100%; height: 100%; aspect-ratio: 1; object-fit: contain; padding: 6%; box-sizing: border-box; display: block; }
.heb-island__text { padding: 1.25rem 1.5rem; display: flex; flex-direction: column; gap: 0.3rem; justify-content: center; }
.heb-island__name { font-family: var(--hand) !important; font-weight: 700 !important; text-transform: none !important; letter-spacing: 0 !important; font-size: clamp(2rem, 3.4vw, 2.6rem) !important; line-height: 1 !important; margin-block: 0 !important; }
.heb-island__name a { color: var(--ink); text-decoration: none; }
.heb-island__type { margin-block: 0; font-weight: 700; }
.heb-island__line { margin-top: 0.2rem; margin-bottom: 0; color: var(--muted); max-width: 40rem; }
.heb-island__buy { padding: 1.25rem; border-left: 2px dashed #8A8178; display: flex; flex-direction: column; justify-content: center; gap: 0.5rem; }
.heb-island__buy .heb-add__button { width: 100%; }
.heb-island__more { margin-block: 0; font-size: 0.85rem; font-weight: 700; }
.heb-island__more a { color: var(--ink); }
@media (max-width: 860px) {
	.heb-island { grid-template-columns: 140px minmax(0, 1fr); }
	.heb-island__buy { grid-column: 1 / -1; border-left: 0; border-top: 2px dashed #8A8178; }
	.heb-island__text { padding: 1rem; }
}
@media (max-width: 480px) { .heb-island { grid-template-columns: 110px minmax(0, 1fr); } .heb-island__line { display: none; } }
.heb-cta { background: var(--card); border: var(--line); border-radius: var(--radius); padding: clamp(1.25rem, 3vw, 1.75rem) clamp(1.25rem, 3vw, 2rem); gap: 1rem 2rem; align-items: center; }
.heb-cta--gorse { background: var(--gorse); }
.heb-cta__title { font-size: clamp(1.8rem, 3.6vw, 2.4rem) !important; margin-top: 0 !important; margin-bottom: 0.3rem !important; }
.heb-cta p { margin-block: 0; }
.heb-section { padding-top: 1.5rem; padding-bottom: 1.5rem; }
.heb-islands-page .heb-section:first-of-type { padding-top: 2rem; }
.heb-about-islands { border-top: var(--line); margin-top: 2.5rem !important; padding-top: 2.5rem; }
.heb-term-description h2 { font-size: clamp(1.8rem, 3.6vw, 2.4rem); margin-top: 0; margin-bottom: 0.75rem; }
.heb-panel { border: var(--line); border-radius: var(--radius); padding: 1.5rem; }
.heb-panel--heather { background: var(--heather); color: var(--card); }
.heb-panel .heb-eyebrow { margin-bottom: 0.75rem; }

/* ---------- Single product ---------- */
.heb-product { padding-top: 1rem; }
.heb-product__top { margin-top: 0.5rem !important; }
.heb-gallery, .heb-product__media .woocommerce-product-gallery { position: sticky; top: 100px; }
.heb-product__media .woocommerce-product-gallery { margin-block: 0 !important; width: 100% !important; float: none !important; opacity: 1 !important; }
.heb-product__media .woocommerce-product-gallery__wrapper { margin-block: 0; }
.heb-product__media .woocommerce-product-gallery__image, .heb-product__media .flex-viewport { background: #fff; border: var(--line); border-radius: var(--radius); overflow: hidden; }
.heb-product__media .flex-viewport .woocommerce-product-gallery__image { border: 0; border-radius: 0; }
.heb-product__media .woocommerce-product-gallery__image a { display: block; aspect-ratio: 1; }
.heb-product__media .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; object-fit: contain; display: block; }
.heb-product__media .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 0.6rem; margin-top: 0.75rem !important; margin-bottom: 0 !important; padding: 0 !important; list-style: none; }
/* 1.1.26 layout shift: until the gallery script has built the thumbnails, show only the main photo and keep room for
   the thumbnail row (5 to a row, as below), so the page doesn't jump when the gallery builds. */
.heb-js .heb-product__media .woocommerce-product-gallery { container-type: inline-size; }
.heb-js .heb-product__media .flex-viewport .woocommerce-product-gallery__image:not(:first-child):not([style*="width"]) { display: none; }
.heb-js .heb-product__media .flex-viewport .woocommerce-product-gallery__image:first-child:not([style*="width"]) { width: 100cqw; }
.heb-js .heb-product__media .woocommerce-product-gallery:not(:has(.flex-control-thumbs)) .woocommerce-product-gallery__image:not(:first-child) { display: none; }
.heb-js .heb-product__media .woocommerce-product-gallery:not(:has(.flex-control-thumbs)):has(.woocommerce-product-gallery__image:nth-child(2))::after { content: ""; display: block; margin-top: 0.75rem; height: calc((100cqw - 2.4rem) / 5); }
.heb-js .heb-product__media .woocommerce-product-gallery:not(:has(.flex-control-thumbs)):has(.woocommerce-product-gallery__image:nth-child(6))::after { height: calc((100cqw - 2.4rem) / 5 * 2 + 0.6rem); }
.heb-product__media .flex-control-thumbs li { width: auto !important; float: none !important; margin-block: 0 !important; }
.heb-product__media .flex-control-thumbs img { aspect-ratio: 1; object-fit: contain; background: #fff; border: 2px solid #CFC5AE; border-radius: 4px; opacity: 1 !important; cursor: pointer; }
.heb-product__media .flex-control-thumbs img.flex-active, .heb-product__media .flex-control-thumbs img:hover { border-color: var(--ink); }
.heb-product__media .woocommerce-product-gallery__trigger { position: absolute; top: 0.75rem; right: 0.75rem; z-index: 9; width: 44px; height: 44px; border-radius: 50%; background: var(--card); border: var(--line); display: flex; align-items: center; justify-content: center; text-indent: -9999px; overflow: hidden; }
.heb-product__media .woocommerce-product-gallery__trigger::before { content: ""; position: absolute; width: 14px; height: 14px; border: 2px solid var(--ink); border-radius: 50%; top: 11px; left: 11px; }
.heb-product__media .woocommerce-product-gallery__trigger::after { content: ""; position: absolute; width: 2px; height: 8px; background: var(--ink); top: 24px; left: 27px; transform: rotate(-45deg); }
.heb-ptitle__h1 { margin-top: 0 !important; margin-bottom: 0.35rem !important; line-height: 1 !important; font-size: inherit !important; text-transform: none !important; font-family: var(--body) !important; letter-spacing: 0 !important; }
.heb-ptitle__name { display: block; font-family: var(--hand); font-weight: 700; font-size: clamp(3rem, 6vw, 4.6rem); line-height: 0.95; }
.heb-is-box .heb-ptitle__name, body:not(.heb-is-blend) .heb-ptitle__name { font-family: var(--display); text-transform: uppercase; font-size: clamp(2.3rem, 4.6vw, 3.6rem); }
.heb-ptitle__sub { display: block; font-size: 1.2rem; font-weight: 700; margin-top: 0.4rem; }
.heb-ptitle__meta { margin-top: 0; margin-bottom: 0.35rem; font-weight: 600; color: var(--muted); }
.heb-ptitle__rating { margin-top: 0; margin-bottom: 1rem; font-weight: 700; }
.heb-ptitle__rating a { color: var(--ink); }
.heb-ptitle__rating .heb-stars { position: relative; color: #CFC5AE; }
.heb-ptitle__rating .heb-stars::before { content: "★★★★★"; position: absolute; left: 0; top: 0; width: var(--heb-rating, 100%); overflow: hidden; color: var(--ink); white-space: nowrap; }
.heb-summary { font-size: 1.1rem; }
.heb-summary ul, .heb-summary ol { margin-block: 0.6rem; }
.heb-summary ul:has(li:nth-child(7)) { columns: 2; column-gap: 2rem; }
.heb-summary ul:has(li:nth-child(7)) li { break-inside: avoid; }
@media (max-width: 600px) { .heb-summary ul:has(li:nth-child(7)) { columns: 1; } }
.heb-hints { font-family: var(--hand); font-weight: 700; font-size: 1.45rem; line-height: 1.15; margin-top: 0.75rem; margin-bottom: 1rem; }
.heb-buy { margin-top: 1.25rem; }
.heb-buy__price { font-size: 1.75rem; font-weight: 800; margin-top: 0; margin-bottom: 0.25rem; }
.heb-buy__price del { color: var(--muted); font-size: 1.1rem; font-weight: 600; }
.heb-buy__price ins { text-decoration: none; }
.heb-vat { margin-top: 0; margin-bottom: 0.75rem; font-size: 0.85rem; color: var(--muted); }
.heb-buy form.cart { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: stretch; margin-top: 0.5rem; margin-bottom: 0.75rem; }
.heb-buy form.variations_form { display: block; }
.heb-buy table.variations { margin-top: 0; margin-bottom: 0.75rem; border: 0; }
.heb-buy table.variations th.label label { font-weight: 800; font-size: 1rem; }
.heb-buy table.variations select { min-height: 48px; border: var(--line); border-radius: var(--radius-btn); background: var(--card); padding: 0 0.75rem; font: inherit; width: 100%; max-width: 420px; }
.heb-buy .reset_variations { font-size: 0.85rem; margin-left: 0.5rem; }
.heb-buy .single_variation_wrap { display: flex; flex-direction: column; gap: 0.5rem; }
.heb-buy .woocommerce-variation-price .price { font-size: 1.6rem; font-weight: 800; }
.heb-buy .woocommerce-variation-add-to-cart { display: flex; gap: 0.75rem; flex-wrap: wrap; }
.heb-buy .quantity { display: inline-flex; }
.heb-buy .quantity .qty { width: 5rem; min-height: 52px; border: var(--line); border-radius: var(--radius-btn); background: var(--card); text-align: center; font: inherit; font-weight: 800; font-size: 1.1rem; }
.heb-buy .single_add_to_cart_button { flex: 1 1 240px; min-height: 52px; font-size: 1.1rem; }
.heb-buy .single_add_to_cart_button.disabled { opacity: 0.55; cursor: not-allowed; }
.heb-buy .stock { font-weight: 700; margin-top: 0; margin-bottom: 0.5rem; }
.heb-buy .stock.out-of-stock { color: #9b2c1a; }
.heb-pack-buttons { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0.35rem; margin-bottom: 0.25rem; }
.heb-pack-buttons__btn { min-height: 64px; box-sizing: border-box; }
.heb-pack-buttons__btn[aria-checked="true"] { background: var(--gorse); box-shadow: var(--shadow); }
.heb-pack-buttons__btn:focus-visible { outline: 3px solid var(--sound); outline-offset: 2px; }
.heb-nudge { margin-block: 1rem; }
.heb-upsell { background: var(--gorse); border: var(--line); border-radius: var(--radius); box-shadow: var(--shadow); padding: 1rem 1.15rem; margin-top: 1rem; margin-bottom: 1.5rem; }
.heb-upsell p { margin-block: 0; }
.heb-upsell__link { margin-top: 0.4rem !important; font-weight: 800; }
.heb-upsell a { color: var(--ink); }
.heb-info { margin-top: 1rem; }
.heb-acc { border-top: var(--line); }
.heb-acc:last-child { border-bottom: var(--line); }
.heb-acc__summary { list-style: none; cursor: pointer; font-weight: 800; font-size: 1.05rem; padding: 0.95rem 2rem 0.95rem 0; position: relative; min-height: 28px; }
.heb-acc__summary::-webkit-details-marker { display: none; }
.heb-acc__summary::after { content: "+"; position: absolute; right: 0.25rem; top: 50%; transform: translateY(-50%); font-size: 1.5rem; font-weight: 400; line-height: 1; }
.heb-acc[open] > .heb-acc__summary::after { content: "−"; }
.heb-acc__body { padding: 0 0 1.25rem; font-size: 1rem; }
.heb-acc__body > *:first-child { margin-top: 0; }
.heb-acc__body img { max-width: 100%; height: auto; }

/* Box builder (Mix and Match taster box and gift sets) */
.heb-builder { background: var(--ink); color: var(--paper); border-top: var(--line); border-bottom: var(--line); padding: var(--sec) max(var(--gutter), calc((100% - 1240px) / 2)); margin-top: var(--sec) !important; scroll-margin-top: 90px; }
.heb-builder a { color: var(--paper); }
.heb-builder__aside { color: var(--gorse); font-size: 1.4rem; margin-block: 0; }
.heb-builder__title { color: var(--paper); font-size: clamp(2.3rem, 5vw, 3.4rem) !important; margin-top: 0.2rem !important; margin-bottom: 0.5rem !important; }
.heb-builder__intro { margin-top: 0; margin-bottom: 1.5rem; font-size: 1.1rem; }
form.mnm_form { margin-block: 0; }
form.mnm_form.heb-mnm { display: grid; grid-template-columns: minmax(0, 1fr) 320px; gap: 1.75rem; align-items: start; }
.mnm_form table.mnm_table { border: 0; margin-block: 0; width: 100%; background: transparent; display: block; }
.mnm_form table.mnm_table thead { display: none; }
.mnm_form table.mnm_table tbody { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.9rem; }
.mnm_form tr.mnm_item { display: flex; flex-direction: column; background: #221F1B; border: 2px solid #3A352F; border-radius: var(--radius); padding: 0.55rem; position: relative; transition: border-color 150ms ease, box-shadow 150ms ease; }
.mnm_form tr.mnm_item.is-picked { border-color: var(--gorse); box-shadow: 0 0 0 1px var(--gorse); }
.mnm_form tr.mnm_item td { display: block; padding: 0; border: 0; background: transparent; text-align: left; }
.mnm_form .product-thumbnail { order: 1; }
.mnm_form .mnm_child_product_images, .mnm_form .mnm_child_product_image { margin-block: 0; }
.mnm_form .mnm_child_product_image a { display: block; background: #fff; border-radius: 4px; overflow: hidden; aspect-ratio: 1; }
.mnm_form .mnm_child_product_image img { width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; display: block; }
.mnm_form .product-details { order: 2; padding: 0.55rem 0.15rem 0.2rem !important; flex: 1 1 auto; }
.mnm_form .product-details h4 { margin-block: 0; font-family: var(--hand); font-weight: 700; text-transform: none; letter-spacing: 0; font-size: 1.35rem; line-height: 1.05; color: var(--paper); }
.mnm_form:not(.heb-mnm) .product-details h4 { font-family: var(--body); font-weight: 700; font-size: 0.95rem; }
.mnm_form .product-details h4 a { color: var(--paper); text-decoration: none; }
.mnm_form .heb-mnm__type { display: block; font-size: 0.78rem; line-height: 1.25; opacity: 0.85; margin-top: 0.15rem; }
.mnm_form.heb-mnm dl.variation { display: none; }
.mnm_form dl.variation { margin-top: 0.25rem; margin-bottom: 0; font-size: 0.75rem; opacity: 0.8; display: flex; gap: 0.25rem; }
.mnm_form dl.variation dd { margin-block: 0; }
.mnm_form .product-details .price { margin-top: 0.25rem; margin-bottom: 0; font-weight: 800; font-size: 0.9rem; color: var(--gorse); }
.mnm_form .product-quantity { order: 3; padding-top: 0.5rem !important; }
.mnm_form .product-quantity .quantity { display: block; }
.mnm_form .product-quantity .qty { width: 100%; min-height: 40px; border: 2px solid #6B645C; border-radius: var(--radius-btn); background: var(--card); color: var(--ink); text-align: center; font: inherit; font-weight: 800; box-sizing: border-box; }
.heb-stepper { display: grid; grid-template-columns: 40px minmax(0, 1fr) 40px; align-items: center; border: 2px solid #6B645C; border-radius: var(--radius-btn); overflow: hidden; background: var(--card); }
.heb-stepper .qty { border: 0 !important; border-radius: 0 !important; min-height: 40px; -moz-appearance: textfield; appearance: textfield; padding: 0; width: 100% !important; }
.heb-stepper .qty::-webkit-outer-spin-button, .heb-stepper .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin-block: 0; }
.heb-stepper__btn { min-height: 40px; border: 0; background: var(--oat); color: var(--ink); font: 800 1.3rem/1 var(--body); cursor: pointer; padding: 0; }
.heb-stepper__btn:hover:not(:disabled) { background: var(--gorse); }
.heb-stepper__btn:disabled { opacity: 0.4; cursor: not-allowed; }
.mnm_form tr.mnm_item.is-picked .heb-stepper { border-color: var(--gorse); }
.mnm_form tr.mnm_item.is-unavailable { opacity: 0.55; }
.mnm_form .stock.out-of-stock { margin-block: 0; font-size: 0.85rem; font-weight: 700; }
.heb-mnm-summary { position: sticky; top: 100px; background: var(--paper); color: var(--ink); border: var(--line); border-radius: var(--radius); box-shadow: 8px 8px 0 var(--gorse); padding: 1.25rem; display: flex; flex-direction: column; gap: 0.85rem; }
.heb-mnm-summary a { color: var(--ink) !important; }
.heb-mnm-summary__title { font-family: var(--display); text-transform: uppercase; font-size: 1.75rem; line-height: 1; margin-block: 0; }
.heb-mnm-summary__slots { list-style: none; margin-block: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.45rem; }
.heb-mnm-summary__slots:has(li:nth-child(5)) { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.heb-mnm-summary__slots:has(li:nth-child(6)):not(:has(li:nth-child(7))) { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 75%; }
.heb-mnm-summary__slots:has(li:nth-child(3)):not(:has(li:nth-child(4))) { grid-template-columns: repeat(3, minmax(0, 1fr)); max-width: 75%; }
.heb-mnm-summary__slot { aspect-ratio: 1; border: 2px dashed #8A8178; border-radius: 4px; display: flex; align-items: center; justify-content: center; font-family: var(--hand); font-weight: 700; font-size: 1.2rem; color: #6B645C; background: var(--card); overflow: hidden; position: relative; }
.heb-mnm-summary__slot.is-filled { border: 2px solid var(--ink); background: #fff; }
.heb-mnm-summary__slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; }
.heb-mnm-summary__total { margin-block: 0; font-weight: 800; font-size: 1.1rem; }
.heb-mnm-summary__total:empty { display: none; }
.heb-mnm-summary__msg { margin-block: 0; font-weight: 700; padding: 0.55rem 0.7rem; border-radius: 4px; background: var(--card); border: 1.5px solid #CFC5AE; }
.heb-mnm-summary__msg.is-error { background: #FDE2DC; border-color: #9b2c1a; color: #7a1f10; }
.heb-mnm-summary.is-ready .heb-mnm-summary__msg { background: #E5F0DA; border-color: var(--machair); color: #2f4f17; }
.heb-mnm-summary .mnm_cart { margin-block: 0; }
.heb-mnm-summary .mnm_message { display: none !important; }
.heb-mnm-summary .mnm_button_wrap { display: flex; gap: 0.5rem; flex-wrap: wrap; margin-block: 0; }
.heb-mnm-summary .mnm_button_wrap .quantity { display: none; }
.heb-mnm-summary .single_add_to_cart_button { width: 100%; min-height: 54px; background: var(--gorse); color: var(--ink); box-shadow: var(--shadow); font-size: 1.05rem; }
.heb-mnm-summary .single_add_to_cart_button[aria-disabled="true"] { background: #D9D2C4; color: #4A4540; box-shadow: none; border-color: #8A8178; }
.heb-mnm-summary .mnm_reset { background: transparent; color: var(--ink); border: 0; min-height: 36px; padding: 0; text-decoration: underline; font-weight: 700; align-self: flex-start; }
.mnm_form:not(.heb-mnm) .mnm_button_wrap { margin-top: 1.25rem; display: flex; gap: 0.75rem; }
.mnm_form:not(.heb-mnm) .mnm_message { margin-top: 1rem; }
@media (max-width: 900px) {
	form.mnm_form.heb-mnm { grid-template-columns: 1fr; }
	.heb-mnm-summary { position: sticky; bottom: 0; top: auto; z-index: 40; flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0.5rem 0.75rem; padding: 0.75rem 0.9rem; box-shadow: 0 -6px 18px rgba(23, 21, 18, 0.25); border-radius: var(--radius) var(--radius) 0 0; margin: 0 calc(var(--gutter) * -1); }
	.heb-mnm-summary__title { font-size: 1.25rem; flex: 1 1 auto; }
	.heb-mnm-summary__slots { display: none; }
	.heb-mnm-summary__total { font-size: 1rem; }
	.heb-mnm-summary__msg { flex: 1 1 100%; order: 3; padding: 0.35rem 0.5rem; font-size: 0.9rem; }
	.heb-mnm-summary .mnm_button_wrap { flex: 1 1 100%; order: 4; }
	.heb-mnm-summary .single_add_to_cart_button { min-height: 48px; }
	.heb-mnm-summary .mnm_reset { display: none !important; }
	.mnm_form table.mnm_table tbody { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
	body.has-heb-builder .heb-basket-bar { display: none; }
}
.heb-buy--box .heb-btn { margin-top: 0.75rem; }

/* Related and reviews */
.heb-blend-faq { margin-top: var(--sec); display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 2rem 4rem; align-items: start; }
.heb-blend-faq__title { font-size: clamp(1.6rem, 3vw, 2.2rem) !important; margin-top: 0 !important; margin-bottom: 1rem !important; }
.heb-blend-faq__what p { max-width: 60ch; }
@media (max-width: 900px) { .heb-blend-faq { grid-template-columns: 1fr; } }
.heb-related { margin-top: var(--sec); }
.heb-related__title { font-size: clamp(2rem, 4vw, 3rem) !important; margin-top: 0 !important; margin-bottom: 1.25rem !important; }
.heb-related__grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 1100px) { .heb-related__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 560px) { .heb-related__grid { grid-template-columns: 1fr; } }
.heb-reviews { margin-top: var(--sec); display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 2rem; align-items: start; scroll-margin-top: 100px; }
@media (max-width: 860px) { .heb-reviews { grid-template-columns: 1fr; } .heb-reviews .heb-score { max-width: 320px; } }
.heb-reviews__list .woocommerce-Reviews-title { font-family: var(--display); text-transform: uppercase; font-weight: 400; font-size: clamp(1.8rem, 3.4vw, 2.4rem); line-height: 1; margin-top: 0; margin-bottom: 1rem; }
.heb-reviews__list ol.commentlist { list-style: none; margin-block: 0; padding: 0; display: flex; flex-direction: column; gap: 0.85rem; }
.heb-reviews__list ol.commentlist li { margin-block: 0; }
.heb-reviews__list .comment_container { background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; display: flex; gap: 0.9rem; }
.heb-reviews__list .comment_container img.avatar { width: 40px; height: 40px; border-radius: 50%; border: 2px solid var(--ink); flex: 0 0 40px; }
.heb-reviews__list .comment-text { flex: 1 1 auto; }
.heb-reviews__list .star-rating { float: right; color: var(--ink); }
.heb-reviews__list .meta { margin-top: 0; margin-bottom: 0.35rem; font-size: 0.9rem; color: var(--muted); }
.heb-reviews__list .description p { margin-block: 0; }
.heb-reviews__list .woocommerce-pagination, .heb-reviews__list nav.woocommerce-pagination { margin-block: 1.25rem; }
.heb-reviews__list .page-numbers { display: inline-flex; min-width: 40px; min-height: 40px; align-items: center; justify-content: center; border: var(--line); border-radius: 4px; background: var(--card); color: var(--ink); text-decoration: none; font-weight: 800; margin: 0 0.15rem; padding: 0 0.6rem; }
.heb-reviews__list .page-numbers.current { background: var(--ink); color: var(--paper); }
.heb-reviews__list #review_form_wrapper { margin-top: 2rem; background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1.25rem; }
.heb-reviews__list #reply-title { font-family: var(--display); text-transform: uppercase; font-size: 1.6rem; }
.heb-reviews__list textarea, .heb-reviews__list input[type="text"], .heb-reviews__list input[type="email"], .heb-reviews__list select { width: 100%; border: var(--line); border-radius: 4px; padding: 0.6rem; font: inherit; background: #fff; box-sizing: border-box; }
.heb-reviews__list .stars a { color: var(--ink); }

/* ---------- Coffee ---------- */
.heb-coffee { margin-block: 1.25rem; }
.heb-coffee--hero .heb-add__button { min-height: 52px; font-size: 1.1rem; }
.heb-coffee__soon { display: inline-block; margin-top: 0; margin-bottom: 0.9rem; background: var(--gorse); color: var(--ink); font-weight: 800; padding: 0.5rem 0.9rem; border: var(--line); border-radius: var(--radius-btn); box-shadow: var(--shadow); }
.heb-band--ink .heb-coffee__soon { border-color: var(--gorse); }
.heb-audit { padding-top: clamp(1.75rem, 4vw, 2.5rem); padding-bottom: clamp(1.75rem, 4vw, 2.5rem); }
.heb-audit__row { display: grid; grid-template-columns: 1.3fr repeat(3, 1fr); gap: 1rem; align-items: center; }
.heb-audit__title { font-size: clamp(1.8rem, 3.4vw, 2.4rem) !important; margin-block: 0 !important; line-height: 1 !important; }
.heb-audit__card { border: var(--line); border-radius: var(--radius); background: var(--card); padding: 0.85rem 1rem; }
.heb-audit__card p { margin-block: 0; }
.heb-audit__card .heb-hand { font-size: 1.6rem; line-height: 1.1; }
.heb-audit__card--you { background: var(--gorse); }
@media (max-width: 860px) { .heb-audit__row { grid-template-columns: 1fr 1fr 1fr; } .heb-audit__title { grid-column: 1 / -1; } }
@media (max-width: 520px) { .heb-audit__row { grid-template-columns: 1fr; } }
.heb-label-panel { background: var(--oat); border: var(--line); border-radius: var(--radius); padding: clamp(1.25rem, 4vw, 2.5rem); }
.heb-label-panel .heb-label-art { max-width: 380px; }
.heb-product-meta { font-weight: 700; font-size: 1.1rem; margin-top: 0.25rem; margin-bottom: 0.75rem; }
.heb-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.6rem; margin-block: 1.25rem; }
.heb-fact { background: var(--ink); color: var(--paper); border-radius: var(--radius); padding: 0.9rem 0.6rem; text-align: center; margin-block: 0 !important; font-size: 0.85rem; }
.heb-fact strong { display: block; font-family: var(--display); font-weight: 400; font-size: 2.2rem; line-height: 1; margin-bottom: 0.3rem; }

/* ---------- About ---------- */
.heb-house-small { margin-top: 0 !important; margin-bottom: 1rem !important; }
.heb-people .wp-block-column > * + * { margin-top: 1rem; }
.heb-person__head { gap: 1rem; align-items: center; margin-bottom: 0.5rem; }
.heb-person__head .heb-photo--round { flex: 0 0 96px; }
.heb-person__name { font-size: clamp(2.6rem, 5vw, 3.4rem) !important; margin-block: 0 !important; }
.heb-gaelic { text-align: center; }
.heb-gaelic__quote { font-size: clamp(1.6rem, 3.6vw, 2.4rem); line-height: 1.2; margin-top: 0; margin-bottom: 0.75rem; }
.heb-helpers { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1.5rem; }
@media (max-width: 760px) { .heb-helpers { grid-template-columns: 1fr 1fr; } }
.heb-helpers .heb-photo img { aspect-ratio: 1; object-fit: cover; }
.heb-helpers .heb-photo.is-product img { object-fit: contain; }
.heb-fergie { background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1.25rem; gap: 1.25rem; align-items: center; }
.heb-fergie .heb-label-art { flex: 0 0 72px; width: 72px; margin-block: 0 !important; }
.heb-fergie p { margin-block: 0; font-size: 1.05rem; }
.heb-stats { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; margin-bottom: 2.5rem; }
.heb-stats .heb-stat { flex-direction: column; align-items: flex-start; gap: 0.35rem; background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; }
@media (max-width: 760px) { .heb-stats { grid-template-columns: 1fr 1fr; } }
.heb-kettle { padding-top: 2rem; padding-bottom: 2rem; }
.heb-kettle .heb-sec__title { margin-block: 0 !important; }
.heb-why .heb-sec__title { color: var(--paper); }

/* ---------- Wool ---------- */
.heb-duo-photos { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; align-items: center; }
.heb-card--yarn .heb-card__title { font-family: var(--hand) !important; font-weight: 700 !important; font-size: 1.65rem !important; line-height: 1 !important; }
.heb-card__buy--two { flex-direction: row; flex-wrap: wrap; gap: 0.5rem; }
.heb-card__buy--two .heb-add { flex: 1 1 120px; }
.heb-card__buy--two .heb-add__button { width: 100%; min-height: 44px; font-size: 0.88rem; padding: 0.4rem 0.5rem; }
.heb-soon { border: 2px dashed var(--heather); border-radius: var(--radius); background: var(--card); padding: clamp(1.25rem, 3vw, 1.75rem); margin-top: 1.5rem !important; }
.heb-soon h3 { font-size: 2.2rem !important; margin-top: 0.15rem !important; margin-bottom: 0.4rem !important; }
.heb-also-line { margin-top: 1rem; font-size: 0.95rem; }
.heb-patterns { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; }
@media (max-width: 980px) { .heb-patterns { grid-template-columns: 1fr 1fr; } }
@media (max-width: 560px) { .heb-patterns { grid-template-columns: 1fr; } }
.heb-pattern-card { background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1.1rem; display: flex; flex-direction: column; gap: 0.4rem; }
.heb-pattern-card h3 { font-family: var(--body) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 800 !important; font-size: 1.1rem !important; line-height: 1.25 !important; margin-block: 0 !important; }
.heb-pattern-card p { margin-block: 0; font-size: 0.92rem; }
.heb-pattern-card__pair { margin-top: auto !important; padding-top: 0.6rem !important; border-top: 1.5px dashed #8A8178; }
.heb-pattern-card__pair a { color: var(--ink); }
.heb-pattern-card__link { font-weight: 800; color: var(--ink); text-underline-offset: 3px; }
.heb-notify { margin-block: 0; }
.heb-notify__hp { position: absolute; left: -9999px; }
.heb-notify__row { margin-top: 0; margin-bottom: 0.5rem; }
.heb-notify__label { display: block; font-weight: 800; margin-bottom: 0.35rem; }
.heb-notify__field { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.heb-notify__field input { flex: 1 1 200px; min-height: 48px; border: var(--line); border-radius: var(--radius-btn); padding: 0 0.85rem; font: inherit; background: var(--card); color: var(--ink); }
.heb-notify__consent { margin-block: 0; font-size: 0.85rem; }
.heb-notify__consent input { width: 18px; height: 18px; vertical-align: -3px; margin-right: 0.35rem; }
.heb-notify--done { font-weight: 800; background: #E5F0DA; color: #2f4f17; padding: 0.75rem 1rem; border-radius: 4px; border: 2px solid var(--machair); }
.heb-band--ink .heb-notify__field input { border-color: var(--paper); }
.heb-band--ink .heb-notify .heb-add__button { background: var(--gorse); color: var(--ink); border-color: var(--gorse); }

/* ---------- Gifts: card designs ---------- */
.heb-cards__grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0.85rem; margin-bottom: 1rem; }
.heb-cards__item { margin-block: 0; }
.heb-cards__item img { width: 100%; aspect-ratio: 1; object-fit: cover; border: var(--line); border-radius: var(--radius); display: block; }
.heb-cards__item figcaption { font-family: var(--hand); font-weight: 700; font-size: 1.15rem; margin-top: 0.35rem; text-align: center; }
.heb-cta--outline { background: var(--card); }

/* ---------- Contact, wholesale, corporate ---------- */
.heb-contact-grid { display: grid; grid-template-columns: 1.3fr 1fr 1fr; gap: 1rem; }
@media (max-width: 860px) { .heb-contact-grid { grid-template-columns: 1fr; } }
.heb-contact-card { background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1.35rem; }
.heb-contact-card--main { background: var(--gorse); box-shadow: var(--shadow); }
.heb-contact-card p { margin-top: 0; margin-bottom: 0.5rem; }
.heb-contact-email { font-size: clamp(1.3rem, 2.6vw, 1.7rem); font-weight: 800; overflow-wrap: anywhere; }
.heb-contact-email a { color: var(--ink); }
.heb-contact-card__title { font-family: var(--body) !important; text-transform: none !important; letter-spacing: 0 !important; font-weight: 800 !important; font-size: 1.15rem !important; margin-top: 0 !important; margin-bottom: 0.6rem !important; }
.heb-arrow-list { list-style: none; padding: 0; margin-block: 0; }
.heb-arrow-list li { border-top: 1.5px dashed #8A8178; }
.heb-arrow-list a { display: flex; justify-content: space-between; padding: 0.7rem 0; color: var(--ink); text-decoration: none; font-weight: 700; }
.heb-arrow-list a::after { content: "→"; }
.heb-arrow-list a:hover { color: var(--sound); }
.heb-card-box { background: var(--card); border: var(--line); border-radius: var(--radius); padding: clamp(1.25rem, 3vw, 2rem); }
.heb-carry > :first-child { margin-top: 0; }
.heb-story { font-size: 1.1rem; }
.heb-story p { margin-top: 0; margin-bottom: 0.9rem; }
.heb-story img { border: var(--line); border-radius: var(--radius); }

/* ---------- WooCommerce pages: basket and checkout ---------- */
.heb-wcpage .heb-page-title { margin-bottom: 1.25rem !important; }
.wc-block-cart, .wc-block-checkout { margin-top: 0 !important; }
.wp-block-woocommerce-cart .wc-block-cart-items, .wc-block-components-sidebar .wc-block-components-totals-wrapper { border-color: #CFC5AE; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background: var(--ink) !important; color: var(--paper) !important; border-radius: var(--radius-btn) !important; min-height: 54px; font-weight: 800 !important; }
.wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 2rem; }
.wc-block-components-text-input input, .wc-block-components-combobox .components-combobox-control__input, .wc-block-components-select select { border-color: var(--ink) !important; }
.wc-block-cart-item__image img { background: #fff; border: 2px solid var(--ink); border-radius: 4px; object-fit: contain; }
.wc-block-components-product-name { font-weight: 800; color: var(--ink) !important; }
.heb-bump { margin-bottom: 1.25rem; }
.woocommerce-message, .woocommerce-info, .woocommerce-error, .wc-block-components-notice-banner { border-radius: var(--radius) !important; border: var(--line) !important; }

/* ---------- 404 and search ---------- */
.heb-404 h1 { font-size: clamp(2.6rem, 7vw, 5rem) !important; }
.heb-search-big .wp-block-search__inside-wrapper { max-width: 560px; border: 0; padding: 0; gap: 0.5rem; }
.heb-search-big .wp-block-search__input { border: var(--line); border-radius: var(--radius-btn); min-height: 52px; padding: 0 0.9rem; background: var(--card); font-size: 1.05rem; }
.heb-search-big .wp-block-search__button { margin-block: 0; }
.heb-shop-title--search { font-size: clamp(2rem, 5vw, 3.2rem) !important; }

/* ---------- Phones ---------- */
@media (max-width: 781px) {
	.heb-hero { padding-top: 1.25rem; }
	.heb-hero .wp-block-column.heb-hero__art { order: -1; }
	.heb-hero:not(.heb-hero--ink):not(.heb-hero--heather) .heb-hero__art { order: 0; }
	.heb-stack { width: 100%; max-width: 420px; }
	.heb-sec__head { margin-bottom: 0.75rem; }
	.heb-hero__buttons .wp-block-button { width: 100%; }
	.heb-hero__buttons .wp-block-button__link { width: 100%; }
	.heb-label-art { max-width: 300px; }
	.heb-hero-switch__controls { margin-top: 0.75rem; }
	.heb-hero-switch__controls::after { flex-basis: 100%; font-size: 1.15rem; }
	.heb-duo { box-shadow: 6px 6px 0 var(--gorse); }
	.heb-social-card { box-shadow: 5px 5px 0 var(--ink); }
	.heb-taster__box { box-shadow: 5px 5px 0 var(--gorse); }
	.heb-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.heb-fact strong { font-size: 1.7rem; }
	.heb-gallery, .heb-product__media .woocommerce-product-gallery { position: static; }
	.heb-pack-buttons { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 420px) {
	.heb-card__title { font-size: 1.35rem !important; }
	.heb-card__price { font-size: 1.15rem; }
	.heb-card .heb-add__button { font-size: 0.9rem; padding: 0.5rem 0.4rem; }
}

/* ---------- Layout fixes ---------- */
figure.heb-photo, figure.heb-quote, figure.heb-cards__item, .heb-quote blockquote, .mnm_form figure, .heb-prose figure, figure.heb-label-art { margin-inline: 0; }
figure.heb-label-art { margin-inline: auto; }
/* Narrow text inside a full-width band lines up with the content edge, not the middle. */
.is-layout-constrained > .heb-measure, .is-layout-constrained > .heb-lede.heb-measure { margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; }
.heb-band--ink .heb-chip { background: transparent; }
.heb-band--ink .heb-chip:hover { background: #2E2A25; color: var(--paper); }
/* Links on coloured bands stay readable inside white cards */
.heb-pick-card a, .heb-pick-card .heb-pick-card__name a, .heb-follow__btn, .heb-social-card a, .heb-card a, .heb-quote a, .heb-budget__col a, .heb-isle, .heb-pair .heb-pick-card a { color: var(--ink) !important; }
.heb-follow__btn:hover { color: var(--paper) !important; }
/* WooCommerce clearfix pseudo-elements would become grid/flex items */
form.mnm_form.heb-mnm::before, form.mnm_form.heb-mnm::after, .heb-buy form.cart::before, .heb-buy form.cart::after { content: none !important; display: none !important; }
.heb-gallery, .heb-product__media .woocommerce-product-gallery { position: relative !important; top: auto !important; }
.heb-reviews__list .comment-text { border: 0 !important; margin: 0 !important; padding: 0 !important; }
.heb-reviews__list .comment_container img.avatar { position: static !important; float: none !important; padding: 0 !important; background: none !important; }
.heb-reviews__list ol.commentlist li { border: 0 !important; padding: 0 !important; }
.heb-reviews__list .woocommerce-Reviews-title { font-size: clamp(1.6rem, 3vw, 2.1rem) !important; }
.is-layout-constrained > .heb-shop-lede { margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; }
.heb-reviews__list .comment_container img.avatar { display: none !important; }
.heb-pair .heb-add__save { display: none; }
.heb-sec > .heb-duo:first-child { margin-top: 0 !important; }
.heb-footer-nav .wp-block-navigation-item__content { font-weight: 400; }
.heb-footer-nav { font-weight: 400 !important; }
.heb-pick-card--card .heb-pick-card__media { aspect-ratio: 16 / 10; }
.heb-pick-card--card .heb-pick-card__media img { padding: 3%; }

.heb-footer .heb-logo img { width: 180px !important; }
.heb-footer-nav { font-size: 1rem !important; }
.heb-proof__item { display: block; padding-top: 0.15rem; padding-bottom: 0.15rem; }
.heb-proof__item strong { display: inline-block; margin-bottom: 0.1rem; }
@media (max-width: 480px) {
	.heb-header .heb-search { display: none !important; }
	.heb-header .heb-logo img { width: 124px; }
	.heb-stack { width: 86%; }
	.heb-stack--3 .heb-stack__item:nth-child(1) { transform: rotate(-4deg); }
	.heb-stack--3 .heb-stack__item:nth-child(3) { transform: rotate(4deg); }
	.heb-taster__grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 0.5rem; }
	.heb-pick__card { padding: 0.35rem; }
	.heb-pick__name { font-size: 1.05rem; }
	.heb-pick__sub { display: none; }
	.heb-hero { padding-bottom: 1rem; }
}

form.mnm_form.heb-mnm > table.mnm_table { grid-column: 1; grid-row: 1; }
form.mnm_form.heb-mnm > .heb-mnm-summary { grid-column: 2; grid-row: 1; }
@media (max-width: 900px) {
	form.mnm_form.heb-mnm > table.mnm_table { grid-column: 1; grid-row: 2; }
	form.mnm_form.heb-mnm > .heb-mnm-summary { grid-column: 1; grid-row: 1; }
}

/* ---- 1.1.0 QA pass 2 ---- */
/* Hero: keep the coffee and wool slides close to the tea slide's height, so no gap shows under it. */
.heb-hero-slide .heb-hero__art .heb-label-art { max-width: 360px; }
.heb-hero-slide .heb-hero__art .heb-photo { max-width: 400px; margin-inline: auto; }
@media (max-width: 781px) {
	.heb-hero-slide .heb-hero__art .heb-label-art { max-width: 210px; }
	.heb-hero-slide .heb-hero__art .heb-photo { max-width: 230px; }
	.heb-hero--ink .heb-hero-title, .heb-hero--heather .heb-hero-title { font-size: 2.6rem !important; }
}
/* Free postage: a small parcel, not an empty box. */
.heb-proof__item--post::before { border: 0; width: 2.4rem; height: 2.4rem; border-radius: 0; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 48 48' fill='none' stroke='%23171512' stroke-width='3' stroke-linejoin='round'%3E%3Cpath d='M6 15 24 7l18 8v18l-18 8-18-8z'/%3E%3Cpath d='M6 15l18 8 18-8M24 23v18M15 11l18 8v7'/%3E%3C/svg%3E") center / contain no-repeat; }
/* Phones: the five bestsellers scroll sideways in one row (the page itself never scrolls sideways). */
@media (max-width: 700px) {
	.heb-shelf__grid:has(> .heb-card:nth-child(5):last-child) { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 0.75rem; padding-bottom: 0.75rem; margin-inline: -16px; padding-inline: 16px; scroll-padding-inline: 16px; }
	.heb-shelf__grid:has(> .heb-card:nth-child(5):last-child) > .heb-card { flex: 0 0 62%; scroll-snap-align: start; }
}
/* Homepage taster: four small slots in a row on phones. */
@media (max-width: 700px) {
	.heb-taster__slots { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 0.4rem; }
}
/* Phones (as the Mobile design): the taster tiles, the chips and the island cards each scroll sideways in one row. */
@media (max-width: 700px) {
	.heb-taster__grid, .heb-isles, .heb-taster .heb-chips { display: flex !important; flex-wrap: nowrap; overflow-x: auto; scroll-snap-type: x proximity; margin-inline: -16px; padding: 0 16px 0.6rem; scroll-padding-inline: 16px; }
	.heb-taster__grid > .heb-pick { flex: 0 0 31%; scroll-snap-align: start; }
	.heb-taster__grid > .heb-pick[hidden] { display: none; }
	.heb-isles > * { flex: 0 0 44%; scroll-snap-align: start; }
	.heb-taster .heb-chips > * { flex: 0 0 auto; }
	.heb-taster__grid::-webkit-scrollbar, .heb-isles::-webkit-scrollbar, .heb-taster .heb-chips::-webkit-scrollbar, .heb-shelf__grid::-webkit-scrollbar { height: 6px; }
}
@media (max-width: 700px) {
	.heb-awards__items { display: flex !important; flex-wrap: wrap; justify-content: center; gap: 0.6rem; }
	.heb-awards__item { flex: 0 0 calc((100% - 1.2rem) / 3); }
	.heb-band--machair .heb-photo { max-width: 300px; margin-inline: auto; }
}
@media (max-width: 700px) {
	.heb-chips--links { flex-wrap: nowrap; overflow-x: auto; margin-inline: -16px; padding: 0 16px 0.5rem; }
	.heb-chips--links > * { flex: 0 0 auto; }
}
.heb-reviews__list ol.commentlist > li { margin: 0 !important; }
.heb-reviews__list .description p:last-child { margin-bottom: 0; }
.heb-reviews__list p.meta { margin-bottom: 0.5rem !important; }
.heb-pack-buttons__btn { line-height: 1.25; }
.heb-pair__img--label img { object-fit: contain; padding: 4%; background: #fff; }
.heb-wcpage > .heb-page-title { max-width: 1240px !important; }

/* ---- 1.1.2 ---- */
/* The house logo is never shown smaller than 72px (its HEBRITEAS bar stays legible). */
.heb-house-stamp img, .heb-house-small img, .heb-divider img { min-width: 72px; }
.heb-proof__item--house { padding-left: calc(72px + 0.85rem); min-height: 72px; }
.heb-proof__item--house::before { width: 72px; height: 72px; border-radius: 0; }
/* Footer: the house stamp is the logo; no second wordmark under it. */
.heb-footer__brand .heb-house-stamp { margin-bottom: 1.25rem !important; }

/* About: her words in the design's places. */
.heb-about-intro p { font-size: clamp(1.08rem, 1.6vw, 1.25rem); line-height: 1.55; margin-top: 0; margin-bottom: 0.75rem; }
.heb-about-intro p:last-child { margin-bottom: 0; }
.heb-about-intro h2, .heb-carry--more h2 { font-size: clamp(1.5rem, 2.6vw, 2rem) !important; margin-top: 1.5rem; margin-bottom: 0.5rem; }
.heb-person__words > * { margin-top: 0; margin-bottom: 0.9rem; }
.heb-person__words > *:last-child { margin-bottom: 0; }
.heb-people .wp-block-column > .heb-person__words + * { margin-top: 1.25rem; }
.heb-gaelic__quote p, .heb-gaelic__quote { font-family: var(--hand); font-weight: 700; font-size: clamp(1.6rem, 3.6vw, 2.4rem); line-height: 1.2; text-align: center; margin-top: 0; margin-bottom: 0.75rem; }
.heb-gaelic:has(> .heb-carry:empty) { display: none; }
.heb-fergie__text > * { margin-block: 0 !important; }
.heb-fergie__text > * + * { margin-top: 0.4rem !important; }
.heb-fergie__text .heb-carry p { margin-block: 0; font-size: 1.05rem; }
/* The helpers: one photo is laid out as a card on purpose, not as a gallery with gaps. */
.heb-helpers:has(> figure.heb-photo:only-of-type) { display: block; }
.heb-helpers > figure.heb-photo:only-of-type { display: grid; grid-template-columns: minmax(0, 220px) 1fr; align-items: center; gap: 1.25rem; background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1.25rem; max-width: 640px; }
.heb-helpers > figure.heb-photo:only-of-type img { border: var(--line); border-radius: var(--radius); background: #fff; }
.heb-helpers > figure.heb-photo:only-of-type figcaption { margin: 0; font-family: var(--hand); font-weight: 700; font-size: clamp(1.4rem, 2.4vw, 1.9rem); line-height: 1.15; }
.heb-helpers:has(> figure.heb-photo:nth-of-type(2):last-of-type) { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 640px; }
.heb-helpers:has(> figure.heb-photo:nth-of-type(3):last-of-type) { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 520px) {
	.heb-helpers > figure.heb-photo:only-of-type { grid-template-columns: 120px 1fr; padding: 1rem; gap: 1rem; }
}

/* Wonky: her wide banner photo runs full width under the hero. */
.heb-wonky-banner { margin-top: 0 !important; border-bottom: var(--line); background: var(--ink); }
.heb-wonky-banner .wp-block-image { margin: 0 !important; }
.heb-wonky-banner img { display: block; width: 100%; height: auto; max-height: 520px; object-fit: cover; }
.heb-wonky-banner figcaption { background: var(--card); margin: 0; padding: 0.5rem var(--gutter); font-size: 0.9rem; }
.heb-wonky-photo > * { margin-block: 0 !important; }
.heb-wonky-photo .wp-block-image img { border: var(--line); border-radius: var(--radius); box-shadow: 10px 10px 0 var(--ink); }

/* 404: proper rhythm between title, words, buttons, search and the bestsellers. */
.heb-404 > * { margin-block: 0 !important; }
.heb-404 > h1 { margin-bottom: 1rem !important; line-height: 0.95; }
.heb-404 > p.has-large-font-size { max-width: 40rem; margin-bottom: 1.75rem !important; margin-left: max(0px, calc((100% - 1240px) / 2)) !important; margin-right: auto !important; }
.heb-404 > .wp-block-buttons { margin-bottom: 2.5rem !important; }
.heb-404 > .wp-block-search { margin-bottom: 3rem !important; }
.heb-404 > .wp-block-search .wp-block-search__label { display: block; font-weight: 800; margin-bottom: 0.5rem; }
.heb-404 > h2 { margin-bottom: 1.25rem !important; }
.heb-404 > .heb-shelf { margin-bottom: 1.5rem !important; }

/* Basket: one notice, stacked lines, no "View basket" button on the basket itself. */
.heb-notice-stack { margin: 0; padding: 0; list-style: none; }
.heb-notice-stack li + li { margin-top: 0.3rem; }
.wc-block-components-notice-banner + .wc-block-components-notice-banner { margin-top: 0.75rem; }
.heb-wcpage .wc-block-components-notice-banner { margin-bottom: 1rem; }

/* Checkout on phones: fields line up with the headings and the order summary (16px gutter). */
@media (max-width: 781px) {
	.wc-block-checkout .wc-block-components-main, .wc-block-components-sidebar-layout .wc-block-components-main { padding-right: 0 !important; }
	.wc-block-checkout .wc-block-components-checkout-step__container, .wc-block-checkout .wc-block-components-checkout-step__content { padding-right: 0 !important; margin-right: 0 !important; }
	.wc-block-checkout .wc-block-components-address-form, .wc-block-checkout .wc-block-components-checkout-step__content > * { max-width: none; }
}
.wc-block-components-select select, .wc-blocks-components-select select { padding-right: 2.6rem !important; text-overflow: ellipsis; }

/* Review pages: the current page box in brand colours. */
.heb-reviews .page-numbers.current, .woocommerce-pagination .page-numbers.current, .heb-pagination .page-numbers.current, nav.woocommerce-pagination ul li span.current { background: var(--ink) !important; color: var(--paper) !important; border-color: var(--ink) !important; }

/* Phones: the announcement bar keeps to two short lines (the name change and the offer); free postage is in the basket bar. */
@media (max-width: 600px) {
	.heb-announcement { padding-top: 0.4rem !important; padding-bottom: 0.4rem !important; row-gap: 0.15rem !important; }
	.heb-announcement > *:nth-child(n+3) { display: none !important; }
	.heb-announcement > * { line-height: 1.3; }
}
/* Wool: a size that's out of stock still shows its real price, greyed, not as a button. */
.heb-add--sold { margin: 0; }
.heb-add--sold .heb-add__button { display: flex; flex-direction: column; align-items: center; justify-content: center; border: 2px dashed #8A8178; color: #4A4540; background: transparent; cursor: default; box-shadow: none; line-height: 1.2; }
.heb-add--sold .heb-add__button:hover { background: transparent; color: #4A4540; }
.heb-add__sold { font-size: 0.75rem; font-weight: 600; }
/* Gift sets (3 to 5): the slots past the minimum are optional, drawn lighter. */
.heb-mnm-summary__slot.is-optional:not(.is-filled) { border-style: dotted; opacity: 0.6; }
.heb-fergie > figure.heb-label-art { margin-inline: 0 !important; }
.heb-fergie > .heb-fergie__text { flex: 1 1 auto; min-width: 0; }
.heb-wonky-banner > figure.wp-block-image, .heb-wonky-banner > .wp-block-image { display: block !important; width: 100% !important; max-width: none !important; margin: 0 !important; }
@media (max-width: 600px) { .heb-wonky-banner img { max-height: none; } }
/* Product text fields (the card message): full width above the quantity and Add button. */
.heb-buy .heb-text-field, form.cart .heb-text-field { flex: 0 0 100%; width: 100%; display: block; margin: 0 0 0.25rem; }
.heb-text-field label { display: block; font-weight: 800; margin-bottom: 0.4rem; }
.heb-text-field textarea, .heb-text-field input[type="text"] { display: block; width: 100%; box-sizing: border-box; border: var(--line); border-radius: var(--radius-btn); background: var(--card); padding: 0.65rem 0.8rem; font: inherit; font-size: 1rem; min-height: 48px; }
.heb-text-field textarea { min-height: 96px; resize: vertical; }
.heb-text-field__hint { display: block; margin-top: 0.3rem; font-size: 0.85rem; color: var(--muted); }
/* Phones: photo name tags stay on one line (no "Tiree / Box" break behind the front card). */
@media (max-width: 600px) { .heb-stack__name { white-space: nowrap; max-width: calc(100% - 0.5rem); overflow: hidden; text-overflow: ellipsis; } }

/* ---------- Boxes side by side (1.1.3): taster 4, taster 6, 3 for £20, mys-tea-ry ---------- */
.heb-boxes { margin-top: clamp(2rem, 4vw, 3rem) !important; }
.heb-boxes__head { margin-bottom: 1.1rem; }
.heb-boxes__aside { font-size: 1.5rem; margin-block: 0; }
.heb-boxes--dark .heb-boxes__aside { color: var(--gorse); }
.heb-boxes__title { font-size: clamp(2rem, 4.5vw, 3rem) !important; margin-top: 0.2rem !important; margin-bottom: 0 !important; }
.heb-boxes--dark .heb-boxes__title { color: var(--paper); }
.heb-boxes__list { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 420px), 1fr)); gap: 1.5rem; align-items: stretch; }
.heb-boxes--n2 .heb-boxes__list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.heb-boxcard { position: relative; display: grid; grid-template-columns: minmax(0, 42%) minmax(0, 1fr); background: var(--card); color: var(--ink); border: var(--line); border-radius: var(--radius); box-shadow: var(--shadow); margin: 0; }
.heb-boxes--dark .heb-boxcard { box-shadow: 6px 6px 0 var(--gorse); }
.heb-boxcard__flag { position: absolute; top: -0.75rem; left: 0.8rem; z-index: 1; background: var(--gorse); color: var(--ink); border: var(--line); border-radius: 999px; padding: 0.05rem 0.7rem; font-weight: 800; font-size: 0.85rem; transform: rotate(-4deg); }
.heb-boxcard__packs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); align-content: center; gap: 0.3rem; padding: 0.9rem 0.7rem; background: #fff; border-right: var(--line); border-radius: var(--radius) 0 0 var(--radius); }
.heb-boxcard__packs--4, .heb-boxcard__packs--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); padding-inline: 12%; }
.heb-boxcard__packs span { aspect-ratio: 1; display: block; overflow: hidden; }
.heb-boxcard__packs img, .heb-boxcard__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.heb-boxcard__img { display: flex; align-items: center; padding: 0.75rem; background: #fff; border-right: var(--line); border-radius: var(--radius) 0 0 var(--radius); box-sizing: border-box; }
.heb-boxcard__body { display: flex; flex-direction: column; justify-content: center; gap: 0.3rem; padding: 1.1rem 1.2rem 1.2rem; min-width: 0; }
.heb-boxcard__title { font-family: var(--display); text-transform: uppercase; font-size: clamp(1.9rem, 3vw, 2.5rem); line-height: 1; letter-spacing: 0.01em; }
.heb-boxcard__what { font-weight: 600; }
.heb-boxcard__save { color: var(--machair); font-weight: 800; font-size: 0.95rem; }
.heb-boxcard__go { margin-top: 0.8rem; align-self: flex-start; text-align: center; }
.heb-boxcard.is-new .heb-boxcard__go { background: var(--gorse); color: var(--ink); box-shadow: var(--shadow); }
.heb-boxcard.is-new .heb-boxcard__go:hover { background: #FFD24D; color: var(--ink); }
.heb-builder .heb-boxes { margin-top: var(--sec) !important; }
/* Three boxes: three upright cards in a row on wide screens */
@media (min-width: 1000px) {
	.heb-boxes--n3 .heb-boxes__list { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.heb-boxes--n3 .heb-boxcard { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
	.heb-boxes--n3 .heb-boxcard__packs, .heb-boxes--n3 .heb-boxcard__img { height: 190px; box-sizing: border-box; border-right: 0; border-bottom: var(--line); border-radius: var(--radius) var(--radius) 0 0; }
	.heb-boxes--n3 .heb-boxcard__packs { grid-auto-rows: minmax(0, 1fr); justify-content: center; padding: 0.7rem; }
	.heb-boxes--n3 .heb-boxcard__packs--4, .heb-boxes--n3 .heb-boxcard__packs--6 { grid-template-rows: repeat(2, minmax(0, 1fr)); }
	.heb-boxes--n3 .heb-boxcard__packs--4 { grid-template-columns: repeat(2, 80px); }
	.heb-boxes--n3 .heb-boxcard__packs--6 { grid-template-columns: repeat(3, 80px); }
	.heb-boxes--n3 .heb-boxcard__packs--3 { grid-template-columns: repeat(3, 110px); align-content: center; }
	.heb-boxes--n3 .heb-boxcard__packs span { aspect-ratio: auto; height: 100%; }
	.heb-boxes--n3 .heb-boxcard__img { justify-content: center; }
	.heb-boxes--n3 .heb-boxcard__img img { width: auto; height: 100%; max-width: 100%; }
	.heb-boxes--n3 .heb-boxcard__body { justify-content: flex-start; }
}
@media (max-width: 900px) {
	.heb-boxes__list, .heb-boxes--n2 .heb-boxes__list { grid-template-columns: minmax(0, 1fr); max-width: 560px; }
}
@media (max-width: 600px) {
	.heb-boxes__list { gap: 1.25rem; }
	/* Phones: picture on top, so the packets are big enough to see */
	.heb-boxcard { grid-template-columns: minmax(0, 1fr); }
	.heb-boxcard__packs, .heb-boxcard__img { border-right: 0; border-bottom: var(--line); border-radius: var(--radius) var(--radius) 0 0; height: 150px; box-sizing: border-box; }
	.heb-boxcard__packs { grid-auto-rows: minmax(0, 1fr); justify-content: center; padding: 0.6rem !important; }
	.heb-boxcard__packs--4, .heb-boxcard__packs--6 { grid-template-rows: repeat(2, minmax(0, 1fr)); }
	.heb-boxcard__packs--4 { grid-template-columns: repeat(2, 64px); }
	.heb-boxcard__packs--6 { grid-template-columns: repeat(3, 64px); }
	.heb-boxcard__packs--3 { grid-template-columns: repeat(3, 92px); align-content: center; }
	.heb-boxcard__packs span { aspect-ratio: auto; height: 100%; }
	.heb-boxcard__img { justify-content: center; }
	.heb-boxcard__img img { width: auto; height: 100%; }
	.heb-taster-tile__more a { display: inline-block; }
	.heb-boxcard__body { padding: 0.8rem 0.85rem 0.9rem; }
	.heb-boxcard__title { font-size: 1.6rem; }
	.heb-boxcard__what, .heb-boxcard__save { font-size: 0.88rem; }
	.heb-boxcard__go { font-size: 0.9rem; padding-inline: 0.75rem; }
	.heb-boxes--dark .heb-boxcard { box-shadow: 4px 4px 0 var(--gorse); }
}

/* Step up to the box of 6, under the taster box builder */
.heb-boxup { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem 1.5rem; margin-top: 2rem; padding: 1rem 1.25rem; background: var(--card); color: var(--ink); border: var(--line); border-radius: var(--radius); box-shadow: 6px 6px 0 var(--gorse); }
.heb-boxup__text { margin: 0; font-size: 1.1rem; }
.heb-builder .heb-boxup a.heb-boxup__go { color: var(--ink); }
/* The taster tile in the shop: the other boxes */
.heb-taster-tile__more { font-size: 0.95rem; margin-bottom: 0 !important; }
.heb-taster-tile__more span:first-child { color: var(--gorse); font-family: var(--hand); font-weight: 700; font-size: 1.15rem; }
.heb-taster-tile__more a { color: var(--paper); font-weight: 700; }

/* ---------- Product add-ons (YITH, Add a Card's "What should we write in the card?") (1.1.4) ----------
   YITH puts its box inside the quantity and Add row: give it the full width above them, in the house style. */
.heb-buy #yith-wapo-container, .heb-buy .yith-wapo-container { flex: 1 1 100%; width: 100%; order: -1; margin: 0 0 0.25rem; padding: 0; background: transparent; }
.heb-buy .yith-wapo-block { margin: 0; padding: 0; }
.heb-buy .yith-wapo-addon { background: transparent !important; padding: 0 !important; margin: 0 0 0.75rem !important; border: 0 !important; box-shadow: none !important; }
.heb-buy .yith-wapo-addon .addon-header { margin: 0; padding: 0; }
.heb-buy .yith-wapo-addon .wapo-addon-title { font-family: var(--body) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 1rem !important; font-weight: 800 !important; line-height: 1.3 !important; margin: 0 0 0.45rem !important; padding: 0 !important; color: var(--ink); cursor: default; }
.heb-buy .yith-wapo-addon .wapo-addon-title::before, .heb-buy .yith-wapo-addon .wapo-addon-title::after { display: none !important; }
.heb-buy .yith-wapo-addon:has(input[required], textarea[required], select[required]) .wapo-addon-title span::after { content: " *"; color: #9b2c1a; }
.heb-buy .yith-wapo-addon .options-container, .heb-buy .yith-wapo-addon .options-container.default-closed { display: block !important; margin: 0; padding: 0; }
.heb-buy .yith-wapo-addon .options { gap: 0.5rem !important; }
.heb-buy .yith-wapo-option, .heb-buy .yith-wapo-option .label, .heb-buy .yith-wapo-option .option-container { margin: 0 !important; padding: 0 !important; }
.heb-buy .yith-wapo-option .option-container label:not(:has(img)):not(:has(.option-price)) { display: none; }
.heb-buy .yith-wapo-option .option-container label { font-weight: 700; margin-bottom: 0.3rem; }
.heb-buy .yith-wapo-addon input[type="text"], .heb-buy .yith-wapo-addon input[type="number"], .heb-buy .yith-wapo-addon input[type="email"], .heb-buy .yith-wapo-addon textarea, .heb-buy .yith-wapo-addon select { width: 100% !important; max-width: none; min-height: 52px; box-sizing: border-box; border: var(--line) !important; border-radius: var(--radius-btn) !important; background: var(--card) !important; color: var(--ink); padding: 0.6rem 0.8rem !important; font: inherit; font-size: 1rem; box-shadow: none !important; }
.heb-buy .yith-wapo-addon textarea { min-height: 96px; }
.heb-buy .yith-wapo-addon input:focus-visible, .heb-buy .yith-wapo-addon textarea:focus-visible { outline: 3px solid var(--sound); outline-offset: 2px; }
.heb-buy .yith-wapo-addon .description, .heb-buy .yith-wapo-addon .addon-description { font-size: 0.9rem; color: var(--muted); margin: 0.35rem 0 0; }
.heb-buy .yith-wapo-addon .required-error, .heb-buy .yith-wapo-addon .min-error-message { color: #9b2c1a; font-weight: 700; font-size: 0.9rem; margin-top: 0.35rem; }
/* An empty add-ons box (most products) takes no space. Its hidden fields still send. */
.heb-buy #yith-wapo-container:not(:has(.yith-wapo-addon)) { display: none !important; }
.heb-buy table.variations .reset_variations[style*="hidden"] { display: none !important; }
/* The price is already shown above the form; YITH's "Product price / Total options / Order total" table only repeats it. */
.heb-buy #wapo-total-price-table { display: none !important; }
.heb-buy .woocommerce-variation-add-to-cart { align-items: stretch; }
.heb-buy .yith-wapo-addon { margin-bottom: 0.25rem !important; }
@media (max-width: 600px) { .heb-buy .single_add_to_cart_button { flex-basis: 160px; } }

/* ---------- Drop-downs on product pages (1.1.4): another stylesheet sets a 34px line height inside
   a 48px box, which cut the words off ("Choose an option"). */
.heb-buy select, .heb-buy table.variations select { height: auto !important; min-height: 52px; line-height: 1.3 !important; padding: 0.75rem 2.6rem 0.75rem 0.9rem !important; font-size: 1rem !important; box-sizing: border-box; border: var(--line); border-radius: var(--radius-btn); background-color: var(--card); color: var(--ink); width: 100%; max-width: 460px; }

/* ---------- Product Bundles (1.1.4): "Build your own subscription box" and "Frequently bought together" ---------- */
.heb-buy form.bundle_form { display: grid !important; grid-template-columns: minmax(0, 1fr); gap: 0.6rem; }
.heb-buy form.bundle_form > *:not(.bundled_product) { grid-column: 1 / -1; }
.heb-buy form.bundle_form::before, .heb-buy form.bundle_form::after, .heb-buy .bundled_product::before, .heb-buy .bundled_product::after, .heb-buy .bundle_sells_form::before, .heb-buy .bundle_sells_form::after { content: none !important; display: none !important; }
.heb-buy .bundled_product { display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 0.6rem 0.75rem; align-items: start; background: var(--card); border: var(--line); border-radius: var(--radius); padding: 0.7rem; margin: 0 !important; }
/* YITH Product Add-ons forces the form to display:block (with an ID selector we can't outrank), which drops the grid gap. Space the cards with margins instead when that happens. */
.heb-buy form.bundle_form:has(#yith-wapo-container) .bundled_product { margin: 0 0 0.9rem !important; }
.heb-buy form.bundle_form:has(#yith-wapo-container) .bundled_product + :not(.bundled_product) { margin-top: 0.4rem; }
.heb-buy .bundled_product_images, .heb-buy .bundled_product_images figure { margin: 0 !important; width: 64px !important; float: none !important; }
.heb-buy .bundled_product_images img { width: 64px; height: 64px; object-fit: contain; background: #fff; border-radius: 4px; display: block; }
.heb-buy .bundled_product_images a { pointer-events: none; }
.heb-buy .bundled_product .details { min-width: 0; margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
.heb-buy .bundled_product_title { font-family: var(--body) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 0.98rem !important; font-weight: 800 !important; line-height: 1.25 !important; margin: 0 0 0.4rem !important; }
.heb-buy .bundled_product_title_link a { font-size: 0.8rem; }
.heb-buy .bundled_product table.variations { margin: 0 !important; width: 100%; }
.heb-buy .bundled_product table.variations tr, .heb-buy .bundled_product table.variations td { display: block; padding: 0 !important; border: 0; width: 100%; }
.heb-buy .bundled_product table.variations td.label label { font-size: 0.85rem; font-weight: 700; margin-bottom: 0.2rem; display: block; }
.heb-buy .bundled_product table.variations abbr.required { text-decoration: none; color: #9b2c1a; }
.heb-buy .bundled_product select { min-height: 44px; padding-top: 0.5rem !important; padding-bottom: 0.5rem !important; font-size: 0.95rem !important; max-width: none; }
.heb-buy .bundled_product .reset_bundled_variations_fixed { font-size: 0.8rem; margin: 0.2rem 0 0; }
.heb-buy .bundled_product .single_variation_wrap { display: flex; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.5rem; margin-top: 0.5rem; }
.heb-buy .bundled_product .bundled_item_cart_details .price, .heb-buy .bundled_product .bundled_item_cart_details p { font-size: 1rem !important; font-weight: 800; margin: 0; }
.heb-buy .bundled_product .bundled_item_cart_details .stock { font-size: 0.85rem; margin: 0; }
.heb-buy .bundled_product .woocommerce-variation-add-to-cart { flex: 0 0 auto; margin-left: auto; }
.heb-buy .bundled_product .quantity .qty { width: 4.2rem; min-height: 44px; font-size: 1rem; }
.heb-buy .bundled_product_excerpt { font-size: 0.92rem; margin: 0 0 0.4rem; }
.heb-buy .bundled_product_excerpt p { margin: 0; }
.heb-buy .bundled_product .details > *, .heb-buy .bundled_product .bundled_item_cart_content, .heb-buy .bundled_product .single_variation_wrap > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.heb-buy .bundled_product .bundled_item_cart_details:empty { display: none; }
.heb-buy .bundled_product .bundled_item_cart_details .price { margin: 0 !important; }
.heb-buy .bundled_product_optional_checkbox .price { display: inline !important; font-size: inherit !important; margin: 0 !important; }
.heb-buy .bundle_sells_title { margin: 0.25rem 0 0 !important; padding: 0 !important; flex: 1 1 100%; }
.heb-buy .bundle_sells_title h3 { margin: 0 !important; padding: 0 !important; }
.heb-buy .bundle_sells_form { flex: 1 1 100%; }
.heb-buy .bundled_product_optional_checkbox { display: flex; align-items: center; gap: 0.5rem; font-weight: 700; cursor: pointer; }
.heb-buy .bundled_product_optional_checkbox input { width: 20px; height: 20px; accent-color: var(--ink); margin: 0; }
.heb-buy .bundle_sells_title h3 { font-size: 1.05rem !important; font-family: var(--body) !important; text-transform: none !important; font-weight: 800 !important; }
.heb-buy .bundle_sells_form { display: grid; grid-template-columns: minmax(0, 1fr); gap: 0.75rem; margin-bottom: 0.75rem; }
.heb-buy .bundle_wrap { display: flex; flex-direction: column; gap: 0.5rem; margin-top: 0.25rem; }
.heb-buy .bundle_wrap .bundle_price .price { font-size: 1.5rem; font-weight: 800; margin: 0; }
.heb-buy .bundle_button { display: flex; flex-wrap: wrap; gap: 0.75rem; }
/* Subscribe-and-save choices (All Products for Subscriptions) */
.heb-buy .wcsatt-options-wrapper { margin: 0.25rem 0 0; }
.heb-buy .wcsatt-options-prompt-text, .heb-buy .wcsatt-options-wrapper h3 { font-family: var(--body) !important; text-transform: none !important; font-size: 1rem !important; font-weight: 800 !important; margin: 0 0 0.4rem !important; }
.heb-buy .wcsatt-options-product, .heb-buy .wcsatt-options-wrapper ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; }
.heb-buy .wcsatt-options-wrapper li label { display: flex; gap: 0.6rem; align-items: center; background: var(--card); border: var(--line); border-radius: var(--radius-btn); padding: 0.65rem 0.8rem; cursor: pointer; font-weight: 600; }
.heb-buy .wcsatt-options-wrapper li label:has(input:checked) { background: var(--gorse); box-shadow: var(--shadow); }
.heb-buy .wcsatt-options-wrapper input[type="radio"] { accent-color: var(--ink); width: 18px; height: 18px; margin: 0; flex: 0 0 auto; }
.heb-buy .wcsatt-options-wrapper .price { font-size: inherit !important; font-weight: inherit; }

/* ---------- Cookie notice (CookieYes / cookie-law-info) in the house style (1.1.4) ---------- */
#cookie-law-info-bar { background: var(--card) !important; color: var(--ink) !important; border-top: var(--line) !important; box-shadow: 0 -4px 0 rgba(23, 21, 18, 0.08) !important; font-family: var(--body) !important; font-size: 0.95rem !important; padding: 0.75rem var(--gutter) !important; }
#cookie-law-info-bar .cli-bar-message { color: var(--ink) !important; }
#cookie-law-info-bar .cli_settings_button { color: var(--ink) !important; font-weight: 700; text-decoration: underline !important; }
#cookie-law-info-bar .cli-plugin-main-button, #cookie-law-info-bar .wt-cli-accept-btn { background: var(--ink) !important; color: var(--paper) !important; border-radius: var(--radius-btn) !important; font-weight: 800 !important; padding: 0.55rem 1.1rem !important; border: 0 !important; }
/* Tighter gap between the chosen pack's price and the Add row (1.1.4) */
.heb-buy .single_variation { margin: 0 !important; }
.heb-buy .single_variation > * { margin-top: 0 !important; margin-bottom: 0 !important; }
.heb-buy .single_variation .woocommerce-variation-availability:empty, .heb-buy .single_variation .woocommerce-variation-description:empty { display: none; }
.heb-buy .single_variation .price { margin: 0 0 0.25rem !important; }

/* WooCommerce product buttons in older pages (Yarn, New in store): a page link colour turned the
   words ink on ink, so "Select options" was invisible (1.1.4). */
a.wc-block-components-product-button__button, .wc-block-components-product-button__button span, .wc-block-grid__product-add-to-cart a.wp-block-button__link { color: var(--paper) !important; }
a.wc-block-components-product-button__button:hover { color: var(--paper) !important; }

/* Old-layout photo placeholders ("Photo of Rhoda (and Wisp)") are for editors only: visitors never
   see an empty box or its label (1.1.4). Rebuilding About us in step 3 removes them for good. */
body:not(.logged-in) .is-style-placeholder { display: none !important; }

/* "Choose a card first." under a greyed-out Add button (1.1.5) */
.heb-buy .heb-choose-hint { flex: 1 1 100%; margin: 0.35rem 0 0; font-weight: 700; font-size: 0.95rem; color: var(--ink); }
.heb-buy .heb-choose-hint[hidden] { display: none; }
.heb-buy .heb-choose-hint::before { content: "↑ "; }
.heb-buy .heb-choose-hint.is-nudged { color: #9b2c1a; }

/* ---------- Social feed: Curator.io's own grid, in the house style (1.1.6) ----------
   Curator lays its grid out with its own script (columns, rows, heights), so only the look is
   changed here: gaps, ink borders, a small play button and a dark caption on hover. */
.heb-social .crt-widget, .heb-social .crt-widget-grid { background: transparent !important; font-family: var(--body) !important; }
.heb-social .crt-feed-window { margin-inline: -6px; }
.heb-social .crt-grid-post { padding: 6px !important; background: transparent !important; box-sizing: border-box; }
.heb-social .crt-grid-post .crt-post-c { border: var(--line) !important; border-radius: var(--radius) !important; overflow: hidden; background: var(--oat) !important; box-shadow: none !important; transition: transform 160ms ease, box-shadow 160ms ease; }
.heb-social .crt-grid-post:hover .crt-post-c, .heb-social .crt-grid-post:focus-within .crt-post-c { transform: translate(-2px, -2px); box-shadow: var(--shadow) !important; }
.heb-social .crt-grid-post-image { background-size: cover !important; background-position: center !important; }
/* Play button: small, in the corner, not a giant circle over her face. */
.heb-social .crt-play { position: absolute !important; inset: auto auto 10px 10px !important; width: 40px !important; height: 40px !important; margin: 0 !important; transform: none !important; background: var(--ink) !important; border: 2px solid var(--paper) !important; border-radius: 999px !important; display: flex !important; align-items: center; justify-content: center; opacity: 0.92; }
.heb-social .crt-play .crt-play-icon, .heb-social .crt-play i { width: 0 !important; height: 0 !important; margin: 0 0 0 3px !important; background: none !important; border-style: solid !important; border-width: 8px 0 8px 13px !important; border-color: transparent transparent transparent var(--paper) !important; border-radius: 0 !important; transform: none !important; position: static !important; }
.heb-social .crt-play::before, .heb-social .crt-play::after, .heb-social .crt-play-icon::before, .heb-social .crt-play-icon::after { content: none !important; display: none !important; }
.heb-social .crt-social-icon { opacity: 0.9; }
.heb-social .crt-social-icon svg { width: 22px !important; height: 22px !important; }
/* Caption on hover: ink, the hand font, links in paper. */
.heb-social .crt-post-hover { background: rgba(23, 21, 18, 0.9) !important; color: var(--paper) !important; }
.heb-social .crt-post-hover .crt-post-text { font-family: var(--hand) !important; font-weight: 700 !important; font-size: 1.1rem !important; line-height: 1.2 !important; color: var(--paper) !important; }
.heb-social-card .heb-social .crt-post-hover a, .heb-social .crt-post-hover a, .heb-social .crt-post-fullname a { color: var(--gorse) !important; text-decoration: none !important; }
.heb-social .crt-post-footer, .heb-social .crt-post-date, .heb-social .crt-post-date-link { color: var(--paper) !important; border-color: rgba(246, 241, 230, 0.25) !important; background: transparent !important; }
.heb-social .crt-post-footer img, .heb-social .crt-share-button svg { filter: invert(1); }
/* Text-only posts: card colour, readable. */
.heb-social .crt-grid-post:not(.crt-post-has-image) .crt-post-c, .heb-social .crt-post-c .crt-post-text-only { background: var(--card) !important; }
.heb-social .crt-logo { display: inline-block; margin-top: 0.5rem; font-size: 0.8rem; color: var(--muted) !important; }
.heb-social .crt-load-more, .heb-social .crt-load-more a, .heb-social .crt-load-more button { background: var(--ink) !important; color: var(--paper) !important; border-radius: var(--radius-btn) !important; font-family: var(--body) !important; font-weight: 800 !important; border: 0 !important; }
@media (max-width: 600px) {
	.heb-social .crt-grid-post { padding: 4px !important; }
	.heb-social .crt-feed-window { margin-inline: -4px; }
	.heb-social .crt-play { width: 34px !important; height: 34px !important; inset: auto auto 8px 8px !important; }
	.heb-social .crt-play .crt-play-icon, .heb-social .crt-play i { border-width: 7px 0 7px 11px !important; }
}
@media (prefers-reduced-motion: reduce) { .heb-social .crt-grid-post .crt-post-c { transition: none; } }
/* The feed sits in the homepage card: phones get the header lines on one line each, not wrapped buttons. */
@media (max-width: 600px) { .heb-social .heb-follow__btn { min-height: 40px; padding: 0 0.8rem; } }

/* Footer: company details (1.1.7) */
.heb-footer__legal p { margin: 0; }
.heb-footer__company { font-size: 0.78rem; opacity: 0.8; margin-top: 0.3rem !important; }

/* Great Taste: one official badge per year (1.1.7) */
.heb-awards__badges { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.heb-awards__years { font-weight: 700; margin-top: 0.4rem; }
.heb-award--year { background: transparent !important; border: 0 !important; padding: 0 !important; box-shadow: none !important; }
.heb-award--year img { display: block; border-radius: 50%; }

/* ---------- Wool page: Knit and sip, Sheep facts (1.1.7) ---------- */
.heb-knitsip__cards { gap: 1.5rem !important; margin-top: 1rem; }
.heb-knitsip__card { background: var(--card); border: var(--line); border-top: 10px solid var(--heather); border-radius: var(--radius); padding: 1.5rem 1.4rem 1.4rem !important; box-shadow: var(--shadow); }
.heb-knitsip__card h3 { margin-top: 0.25rem !important; margin-bottom: 0.6rem !important; font-size: 1.6rem !important; }
.heb-knitsip__card p { margin-top: 0; margin-bottom: 1rem; }
/* Blog post cards (Sheep facts, the blog page, "More from the croft") */
.heb-post-cards .wp-block-post-template { gap: 1.25rem; margin: 0; padding: 0; list-style: none; }
.heb-post-card { height: 100%; display: flex; flex-direction: column; background: var(--card); border: var(--line); border-radius: var(--radius); overflow: hidden; transition: transform 160ms ease, box-shadow 160ms ease; }
.heb-post-card:hover, .heb-post-card:focus-within { transform: translate(-2px, -2px); box-shadow: var(--shadow); }
.heb-post-card .wp-block-post-featured-image { margin: 0; border-bottom: var(--line); background: var(--oat); }
.heb-post-card .wp-block-post-featured-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.heb-post-card__body { padding: 1rem 1.1rem 1.2rem; display: flex; flex-direction: column; gap: 0.35rem; }
.heb-post-card__body > * { margin: 0 !important; }
.heb-post-card__title { font-family: var(--body) !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 1.12rem !important; font-weight: 800 !important; line-height: 1.25 !important; }
.heb-post-card__title a { color: var(--ink); text-decoration: none; }
.heb-post-card__title a:hover { text-decoration: underline; }
.heb-post-card .wp-block-post-excerpt__excerpt { font-size: 0.95rem; color: var(--muted); margin: 0; }
.heb-post-card .wp-block-post-excerpt__more-text { display: none; }
@media (max-width: 860px) { .heb-post-cards .wp-block-post-template { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 560px) { .heb-post-cards .wp-block-post-template { grid-template-columns: minmax(0, 1fr) !important; } }

/* ---------- Blog: list and post (1.1.7) ---------- */
.heb-blog__head { padding-block: clamp(2rem, 5vw, 3.5rem) !important; margin-bottom: clamp(1.5rem, 4vw, 2.5rem) !important; border-top: 0 !important; }
.heb-blog__head .heb-aside { margin-bottom: 0.2rem; }
.heb-blog__head .heb-hero-title { margin-block: 0 !important; }
.heb-blog__list .wp-block-post-template { margin-bottom: 2rem; }
.heb-pagination { gap: 0.4rem; font-weight: 800; }
.heb-pagination a, .heb-pagination .page-numbers { display: inline-flex; min-width: 44px; min-height: 44px; align-items: center; justify-content: center; padding: 0 0.75rem; border: var(--line); border-radius: var(--radius-btn); background: var(--card); color: var(--ink); text-decoration: none; }
.heb-pagination .page-numbers.current { background: var(--ink); color: var(--paper); }
.heb-post__head { padding-block: clamp(2rem, 5vw, 3.5rem) !important; border-top: 0 !important; }
.heb-post__meta { gap: 0.4rem 1rem; align-items: center; font-weight: 700; font-size: 0.9rem; margin-bottom: 0.5rem; }
.heb-post__cat a { display: inline-block; background: var(--gorse); color: var(--ink); border: var(--line); border-radius: 999px; padding: 0.1rem 0.7rem; text-decoration: none; text-transform: uppercase; font-size: 0.75rem; letter-spacing: 0.04em; }
.heb-post__title { font-size: clamp(2.2rem, 6vw, 4rem) !important; line-height: 0.98 !important; margin-block: 0 !important; }
.heb-post__image { margin-top: clamp(1.5rem, 4vw, 2.5rem) !important; margin-bottom: 0 !important; }
.heb-post__image img { width: 100%; max-height: 560px; object-fit: cover; border: var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lg); display: block; }
.heb-post__content { margin-top: clamp(1.5rem, 4vw, 2.5rem) !important; }
.heb-post__content img { border-radius: var(--radius); height: auto; }
.heb-post__content figure { margin-block: 1.5rem; }
.heb-post__content blockquote { border-left: 6px solid var(--gorse); margin-left: 0; padding: 0.25rem 0 0.25rem 1.1rem; font-family: var(--hand); font-weight: 700; font-size: 1.35rem; }
.heb-post__content a { color: var(--ink); text-decoration-color: var(--gorse); text-decoration-thickness: 3px; }
.heb-post__nav { margin-top: 2.5rem !important; padding-top: 1.25rem; border-top: var(--line); gap: 1rem; font-weight: 700; }
.heb-post__nav a { color: var(--ink); }
.heb-post__more { margin-top: var(--sec) !important; }
@media (max-width: 600px) { .heb-post__image img { box-shadow: var(--shadow); max-height: 340px; } }
.heb-post-card:not(:has(.wp-block-post-featured-image))::before { content: ""; display: block; aspect-ratio: 4 / 3; background: var(--oat) url("../images/house-mark-ink-240.png") center / 72px no-repeat; border-bottom: var(--line); }

/* ---------- Wonky's colour is orange: her mark (Rhoda, 20 Oct 2026) (1.1.7) ----------
   The homepage Wonky band (#wonky) and the Wonky page hero, without rebuilding either page. */
.heb-band--wonky, #wonky.heb-band--machair, .heb-band--machair.heb-page-hero { background: var(--wonky) !important; color: var(--ink) !important; }
.heb-band--wonky a:not(.wp-element-button):not(.heb-add__button):not(.heb-btn), #wonky.heb-band--machair a:not(.wp-element-button):not(.heb-add__button):not(.heb-btn), .heb-wonky-hero a:not(.wp-element-button), .heb-band--machair.heb-page-hero a:not(.wp-element-button):not(.heb-add__button):not(.heb-btn) { color: var(--ink) !important; }
.heb-band--wonky .heb-sec__title, #wonky .heb-sec__title, .heb-wonky-hero .heb-hero-title, .heb-wonky-hero h1, .heb-wonky-hero h2, .heb-wonky-hero p, .heb-band--machair.heb-page-hero :is(h1, h2, p) { color: var(--ink) !important; }
#wonky .heb-gorse-text, .heb-wonky-hero .heb-gorse-text, .heb-band--machair.heb-page-hero .heb-gorse-text { color: var(--ink) !important; }

/* 1.1.7: merch sections and range links */
.heb-merch .heb-grid { margin-top: 1rem; }
.heb-range-link { margin: 0.8rem 0 0; font-weight: 800; }
.heb-range-link a { color: var(--ink); text-underline-offset: 3px; }
.heb-card__loose { margin: 0.45rem 0 0 !important; font-size: 0.82rem; line-height: 1.3; text-align: center; }
.heb-card__loose a { color: var(--ink); text-underline-offset: 3px; }
.heb-shelf--dark .heb-card__loose a { color: inherit; }

/* 1.1.7: Mailchimp signup form (house style) and the "Fresh off the croft" pop-up */
.heb-mc { display: grid; gap: 0.45rem; width: min(100%, 30rem); margin: 0; }
.heb-mc__label { font-weight: 800; font-size: 0.95rem; }
.heb-mc__row { display: flex; gap: 0.5rem; flex-wrap: wrap; }
.heb-mc__email { flex: 1 1 13rem; min-width: 0; font: inherit; font-size: 1rem; padding: 0.8rem 0.9rem; border: var(--line); border-radius: var(--radius-btn); background: #fff; color: var(--ink); }
.heb-mc__email:focus { outline: 3px solid var(--ink); outline-offset: 2px; }
.heb-mc__btn { flex: 0 0 auto; font: inherit; font-weight: 800; font-size: 1rem; padding: 0.8rem 1.3rem; border: var(--line); border-radius: var(--radius-btn); background: var(--ink); color: var(--paper); cursor: pointer; box-shadow: var(--shadow); }
.heb-mc__btn:hover { transform: translateY(-1px); }
.heb-mc__btn:disabled { opacity: 0.6; cursor: wait; transform: none; }
.heb-mc__trap { position: absolute; left: -5000px; width: 1px; height: 1px; overflow: hidden; }
.heb-mc__small { margin: 0 !important; font-size: 0.82rem; color: var(--ink); opacity: 0.8; }
.heb-mc__small a { color: inherit; }
.heb-mc__msg { margin: 0 !important; font-weight: 800; min-height: 0; }
.heb-mc__msg:empty { display: none; }
.heb-mc.is-error .heb-mc__msg { color: #A3261B; }
.heb-mc.is-error .heb-mc__email { border-color: #A3261B; }
.heb-mc.is-done .heb-mc__row, .heb-mc.is-done .heb-mc__label, .heb-mc.is-done .heb-mc__small { display: none; }
.heb-pop__title:focus { outline: none; }
.heb-pop__close:focus-visible, .heb-pop__later:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
.heb-mc.is-done .heb-mc__msg { font-size: 1.05rem; }
.heb-signup .heb-mc { flex: 0 1 30rem; }

.heb-pop { box-sizing: border-box; width: min(92vw, 27rem); max-width: calc(100% - 2rem); max-height: 92vh; overflow: auto; padding: 1.6rem 1.5rem 1.2rem; border: var(--line); border-radius: var(--radius); background: var(--gorse); color: var(--ink); box-shadow: var(--shadow-lg); text-align: left; }
.heb-pop::backdrop { background: rgba(23, 21, 18, 0.55); }
.heb-pop[open] { animation: heb-pop-in 0.28s ease-out; }
@keyframes heb-pop-in { from { opacity: 0; transform: translateY(18px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .heb-pop[open] { animation: none; } }
.heb-pop__close { position: absolute; top: 0.5rem; right: 0.6rem; width: 2.5rem; height: 2.5rem; border: 0; background: transparent; color: var(--ink); font-size: 1.9rem; line-height: 1; cursor: pointer; border-radius: 50%; }
.heb-pop__close:hover, .heb-pop__close:focus-visible { background: rgba(23, 21, 18, 0.1); }
.heb-pop__art img { width: 84px; height: auto; display: block; margin: 0 0 0.6rem; }
.heb-pop__eyebrow { margin: 0; font-family: var(--hand); font-weight: 700; font-size: 1.25rem; }
.heb-pop__title { margin: 0 0 0.5rem !important; font-family: var(--display); text-transform: uppercase; font-size: clamp(2rem, 7vw, 2.6rem) !important; line-height: 1 !important; }
.heb-pop__text { margin: 0 0 1rem; font-size: 1.02rem; }
.heb-pop .heb-mc { width: 100%; }
.heb-pop__no { margin: 0.7rem 0 0; text-align: center; }
.heb-pop__later { border: 0; background: none; font: inherit; font-size: 0.9rem; color: var(--ink); text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 0.4rem; }
@media (max-width: 600px) {
	.heb-pop { margin: auto 0 0; width: 100%; max-width: 100%; max-height: 88vh; border-radius: var(--radius) var(--radius) 0 0; border-bottom: 0; padding: 1.3rem 1.1rem 1rem; }
	.heb-pop__art img { width: 72px; }
	@keyframes heb-pop-in { from { transform: translateY(100%); } to { transform: none; } }
}

/* 1.1.8: old subscription boxes point to Build your own */
.heb-legacy-sub { background: var(--gorse); border: var(--line); border-radius: var(--radius); padding: 1rem 1.1rem; margin: 0 0 1.2rem; }
.heb-legacy-sub p { margin: 0 0 0.6rem; }
.heb-legacy-sub p:last-child { margin: 0; }
.heb-legacy-sub__small { font-size: 0.88rem; }

/* 1.1.8: the Shop drop-down */
@media (min-width: 1120px) {
	.heb-main-nav .heb-nav-shop > .wp-block-navigation__submenu-container { min-width: 0 !important; width: 25rem; padding: 0.7rem !important; border: var(--line) !important; border-radius: var(--radius); background: var(--card) !important; box-shadow: var(--shadow-lg); display: grid !important; grid-template-columns: 1fr 1fr; gap: 0 0.6rem; top: calc(100% + 2px) !important; }
	.heb-main-nav .heb-nav-shop > .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 0.6rem !important; border-bottom: 0 !important; border-radius: 4px; font-weight: 700; white-space: nowrap; }
	.heb-main-nav .heb-nav-shop > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover,
	.heb-main-nav .heb-nav-shop > .wp-block-navigation__submenu-container .wp-block-navigation-item__content:focus-visible { background: var(--gorse); }
	.heb-main-nav .heb-nav-shop .wp-block-navigation__submenu-icon { margin-left: 0.25rem; }
	/* A see-through strip over the gap, so the menu stays open while the pointer moves down into it. */
	.heb-main-nav .heb-nav-shop > .wp-block-navigation__submenu-container::before { content: ""; position: absolute; left: 0; right: 0; top: -14px; height: 14px; }
}
.wp-block-navigation__responsive-container.is-menu-open .heb-nav-shop .wp-block-navigation__submenu-container .wp-block-navigation-item__content { font-family: var(--body); text-transform: none; font-size: 1.1rem; font-weight: 700; padding: 0.3rem 0 0.3rem 0.8rem; }
@media (max-width: 1119px) {
	.heb-main-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.25rem 1.25rem 2rem !important; }
	.heb-main-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
}
.wp-block-navigation__responsive-container.is-menu-open :focus { outline-color: var(--ink) !important; }

/* 1.1.9: account pages, at the site's full width */
.heb-acct-page__body { padding-top: clamp(1.5rem, 4vw, 2.5rem); }
.heb-acct-page__body > * { max-width: 1240px !important; }
/* Rhoda's wholesale note on the page: a card above the login, and not repeated on every tab once logged in. */
.heb-acct-page__body > p:first-child { background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1rem 1.2rem; font-size: 0.98rem; margin: 0 0 1.75rem !important; }
.logged-in .heb-acct-page__body > p:first-child { display: none; }

.woocommerce-account .woocommerce { display: grid; grid-template-columns: 15rem minmax(0, 1fr); gap: 1.5rem 2.5rem; align-items: start; }
.woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; }
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper, .woocommerce-account .woocommerce > .wc-block-components-notice-banner, .woocommerce-account .woocommerce > .woocommerce-message, .woocommerce-account .woocommerce > .woocommerce-error, .woocommerce-account .woocommerce > .woocommerce-info { grid-column: 1 / -1; }
.woocommerce-account:not(.logged-in) .woocommerce { display: block; }
.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content { float: none !important; width: auto !important; }

/* Tab menu */
.woocommerce-MyAccount-navigation { background: var(--card); border: var(--line); border-radius: var(--radius); padding: 0.5rem; position: sticky; top: 1rem; }
.woocommerce-MyAccount-navigation ul { list-style: none; margin: 0; padding: 0; }
.woocommerce-MyAccount-navigation li { margin: 0; }
.woocommerce-MyAccount-navigation a { display: block; padding: 0.65rem 0.8rem; border-radius: 4px; font-weight: 700; color: var(--ink); text-decoration: none; }
.woocommerce-MyAccount-navigation a:hover, .woocommerce-MyAccount-navigation a:focus-visible { background: var(--oat); }
.woocommerce-MyAccount-navigation .is-active a { background: var(--gorse); }
.woocommerce-MyAccount-navigation-link--customer-logout { border-top: 1.5px dashed #8A8178; margin-top: 0.4rem !important; padding-top: 0.4rem; }
.woocommerce-MyAccount-navigation-link--customer-logout a { font-weight: 400; }

/* Content */
.woocommerce-MyAccount-content { min-width: 0; }
.woocommerce-MyAccount-content > p:first-child { font-size: 1.05rem; }
.woocommerce-MyAccount-content a:not(.button):not(.woocommerce-button) { color: var(--ink); text-underline-offset: 3px; }
.woocommerce-MyAccount-content h2, .woocommerce-MyAccount-content h3, .woocommerce-account .woocommerce h2 { font-family: var(--display); text-transform: uppercase; font-size: clamp(1.6rem, 3vw, 2.1rem) !important; line-height: 1 !important; margin: 1.6rem 0 0.8rem !important; }
.woocommerce-MyAccount-content > h2:first-child, .woocommerce-MyAccount-content > h3:first-child { margin-top: 0 !important; }

/* Tables (orders, order details, subscriptions) */
.woocommerce-account table.shop_table { width: 100%; border: var(--line) !important; border-radius: var(--radius); border-collapse: separate !important; border-spacing: 0; overflow: hidden; background: var(--card); margin: 0 0 1.5rem; }
.woocommerce-account table.shop_table th, .woocommerce-account table.shop_table td { border: 0 !important; border-bottom: 1px solid #D9CFBF !important; padding: 0.8rem 1rem !important; text-align: left; vertical-align: middle; background: transparent !important; }
.woocommerce-account table.shop_table thead th { background: var(--oat) !important; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.06em; }
.woocommerce-account table.shop_table tr:last-child > * { border-bottom: 0 !important; }
.woocommerce-account table.shop_table tfoot th { font-weight: 700; }
.woocommerce-account table.shop_table .woocommerce-button, .woocommerce-account table.shop_table .button { padding: 0.45rem 0.9rem !important; font-size: 0.9rem !important; margin: 0.15rem 0.3rem 0.15rem 0; }
.woocommerce-account mark { background: transparent; font-weight: 700; color: inherit; }

/* Buttons and forms */
.woocommerce-account .button, .woocommerce-account button.button, .woocommerce-account .woocommerce-button { background: var(--ink) !important; color: var(--paper) !important; border: var(--line) !important; border-radius: var(--radius-btn) !important; font-weight: 800 !important; padding: 0.75rem 1.3rem !important; text-decoration: none !important; box-shadow: var(--shadow); line-height: 1.2 !important; }
.woocommerce-account .button:hover { transform: translateY(-1px); }
.woocommerce-account form .form-row { margin: 0 0 1rem; padding: 0; }
.woocommerce-account form .form-row label { font-weight: 700; display: block; margin-bottom: 0.35rem; }
.woocommerce-account form .form-row input.input-text, .woocommerce-account form .form-row select, .woocommerce-account form .form-row textarea, .woocommerce-account .select2-container .select2-selection { font: inherit; width: 100%; padding: 0.75rem 0.85rem; border: var(--line) !important; border-radius: var(--radius-btn) !important; background: #fff; color: var(--ink); min-height: 48px; box-sizing: border-box; }
.woocommerce-account .select2-container .select2-selection__rendered { line-height: 1.4 !important; padding: 0 !important; }
.woocommerce-account .select2-container .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); }
.woocommerce-account form .form-row input:focus, .woocommerce-account form .form-row select:focus { outline: 3px solid var(--ink); outline-offset: 2px; }
.woocommerce-account form .form-row-first, .woocommerce-account form .form-row-last { width: calc(50% - 0.5rem) !important; }
.woocommerce-account .required { color: #A3261B; text-decoration: none; }
.woocommerce-account fieldset { border: var(--line); border-radius: var(--radius); padding: 1rem 1.2rem 0.4rem; margin: 1.5rem 0; background: var(--card); }
.woocommerce-account fieldset legend { font-family: var(--display); text-transform: uppercase; font-size: 1.3rem; padding: 0 0.4rem; }
.woocommerce-account em, .woocommerce-account .description, .woocommerce-account #account_display_name_description { font-size: 0.85rem; color: var(--ink); opacity: 0.8; }

/* Logged out: login and register side by side, each on a card */
.woocommerce-account:not(.logged-in) .woocommerce > h2 { margin-top: 0 !important; }
.woocommerce-account .u-columns.col2-set { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 2rem; width: 100%; }
.woocommerce-account .u-columns .u-column1, .woocommerce-account .u-columns .u-column2 { float: none !important; width: auto !important; }
.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.lost_reset_password { background: var(--card); border: var(--line) !important; border-radius: var(--radius) !important; padding: 1.4rem 1.4rem 1rem !important; margin: 0 !important; max-width: 36rem; }
.woocommerce-account .u-columns form.login, .woocommerce-account .u-columns form.register { max-width: none; }
.woocommerce-account form.login .form-row:has(.woocommerce-form-login__rememberme) { display: flex; flex-wrap: wrap; align-items: center; gap: 0.8rem 1.2rem; }
.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 0.4rem; font-weight: 400 !important; margin: 0 !important; order: 2; }
.woocommerce-account .lost_password { margin: 0.4rem 0 0; }
.woocommerce-account .lost_password a { color: var(--ink); }
.woocommerce-account .password-input { display: block; position: relative; }
.woocommerce-account .show-password-input { top: 50% !important; transform: translateY(-50%); right: 0.8rem !important; }

/* Addresses */
.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem; }
.woocommerce-account .woocommerce-Addresses::before, .woocommerce-account .woocommerce-Addresses::after { display: none !important; }
.woocommerce-account .woocommerce-Address { float: none !important; width: auto !important; background: var(--card); border: var(--line); border-radius: var(--radius); padding: 1.1rem 1.2rem; }
.woocommerce-account .woocommerce-Address-title { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 0.4rem 1rem; }
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title h3 { margin: 0 0 0.6rem !important; font-size: 1.4rem !important; }
.woocommerce-account .woocommerce-Address-title .edit { font-weight: 700; color: var(--ink); }
.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.6; }
.woocommerce-account .woocommerce-customer-details address { font-style: normal; background: var(--card); border: var(--line) !important; border-radius: var(--radius); padding: 1rem 1.2rem !important; }

/* Notices inside the account */
.woocommerce-account .wc-block-components-notice-banner { border: var(--line) !important; border-radius: var(--radius) !important; background: var(--card) !important; color: var(--ink) !important; }
.woocommerce-account .wc-block-components-notice-banner.is-info > svg { background: var(--ink) !important; fill: var(--paper) !important; }
.woocommerce-account .wc-block-components-notice-banner.is-success { background: #EAF2DA !important; }
.woocommerce-account .wc-block-components-notice-banner.is-error { background: #F8E3DF !important; }
.woocommerce-account .wc-block-components-notice-banner a, .woocommerce-account .woocommerce-info a { color: var(--ink) !important; font-weight: 800; }
.woocommerce-account .woocommerce-info, .woocommerce-account .woocommerce-message { border: var(--line); border-radius: var(--radius); background: var(--card); padding: 0.9rem 1.1rem; list-style: none; }

@media (max-width: 781px) {
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; gap: 1.25rem; }
	.woocommerce-MyAccount-navigation { position: static; }
	.woocommerce-MyAccount-navigation ul { display: flex; flex-wrap: wrap; gap: 0.35rem; }
	.woocommerce-MyAccount-navigation li { flex: 1 1 auto; }
	.woocommerce-MyAccount-navigation a { text-align: center; padding: 0.55rem 0.7rem; background: var(--paper); border: 1.5px solid var(--ink); }
	.woocommerce-MyAccount-navigation-link--customer-logout { border-top: 0; margin-top: 0 !important; padding-top: 0; }
	.woocommerce-account .u-columns.col2-set, .woocommerce-account .woocommerce-Addresses { grid-template-columns: minmax(0, 1fr); }
	.woocommerce-account form .form-row-first, .woocommerce-account form .form-row-last { width: 100% !important; }
}
.heb-acct-page__head .wp-block-post-title, .heb-acct-page__head > * { max-width: 1240px !important; margin-left: auto !important; margin-right: auto !important; }
.woocommerce-account form .form-row .button, .woocommerce-account form .woocommerce-form-login__submit { margin: 0 !important; float: none !important; }
.woocommerce-MyAccount-navigation ul { margin: 0 !important; }
.woocommerce-MyAccount-navigation li { padding: 0 !important; margin: 0 !important; }
.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { padding-top: 0.4rem !important; }
.woocommerce-MyAccount-navigation li.is-active a { text-decoration: none; }
.woocommerce-account .button, .woocommerce-account .woocommerce-button, .woocommerce-account a.button { display: inline-flex !important; align-items: center; justify-content: center; height: auto !important; min-height: 0 !important; }
.woocommerce-account .wc-block-components-notice-banner .button, .woocommerce-account .wc-block-components-notice-banner a.wc-forward { background: var(--paper) !important; color: var(--ink) !important; border: 2px solid var(--ink) !important; border-radius: var(--radius-btn) !important; box-shadow: none !important; padding: 0.5rem 0.9rem !important; opacity: 1 !important; font-weight: 800 !important; text-decoration: none !important; }
.woocommerce-account .select2-container .select2-selection__rendered, .woocommerce-account form .form-row select { font-size: 1rem !important; color: var(--ink) !important; }
.woocommerce-account .select2-container--default .select2-selection--single { height: auto !important; display: flex; align-items: center; }
@media (max-width: 781px) {
	.woocommerce-MyAccount-navigation li.woocommerce-MyAccount-navigation-link--customer-logout { padding-top: 0 !important; }
}
.woocommerce-account form .form-row input[type="hidden"] { display: none; }
.woocommerce-account .woocommerce-Address-title h2, .woocommerce-account .woocommerce-Address-title h3 { text-align: left; margin: 0 !important; }
.woocommerce-account .woocommerce-Address-title { margin-bottom: 0.7rem; }
.woocommerce-account .woocommerce-Address-title::before, .woocommerce-account .woocommerce-Address-title::after { display: none !important; }
.woocommerce-account .woocommerce-Address-title .edit { float: none !important; }
@media (max-width: 781px) {
	.woocommerce-account table.shop_table_responsive tbody th, .woocommerce-account table.shop_table_responsive td { display: block !important; text-align: right !important; border-bottom: 1px dashed #D9CFBF !important; padding: 0.65rem 1rem !important; }
	.woocommerce-account table.shop_table_responsive tbody th::before, .woocommerce-account table.shop_table_responsive td::before { content: attr(data-title) ": "; float: left !important; font-weight: 700; text-align: left; }
	/* WooCommerce's (and Subscriptions') stacked tables on phones: one card per order, label on the left. */
	.woocommerce-account table.shop_table_responsive thead { display: none; }
	.woocommerce-account table.shop_table_responsive tr { display: block; border-bottom: var(--line); }
	.woocommerce-account table.shop_table_responsive tr:last-child { border-bottom: 0; }
	.woocommerce-account table.shop_table_responsive td:not([data-title])::before, .woocommerce-account table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions::before, .woocommerce-account table.shop_table_responsive td.order-actions::before, .woocommerce-account table.shop_table_responsive td.subscription-actions::before { content: none !important; display: none !important; }
	.woocommerce-account table.shop_table_responsive td.woocommerce-orders-table__cell-order-actions, .woocommerce-account table.shop_table_responsive td.order-actions, .woocommerce-account table.shop_table_responsive td.subscription-actions { text-align: left !important; }
	.woocommerce-account table.shop_table_responsive tbody tr > :first-child { background: var(--oat) !important; }
}
.woocommerce-account form .form-row::before, .woocommerce-account form .form-row::after { display: none !important; }
.woocommerce-MyAccount-content > p:first-of-type { font-size: 1.15rem; }
.woocommerce-account .woocommerce-MyAccount-content > p { max-width: 46rem; }
.woocommerce-account .u-columns.col2-set::before, .woocommerce-account .u-columns.col2-set::after, .woocommerce-account .woocommerce::before, .woocommerce-account .woocommerce::after { display: none !important; content: none !important; }
.woocommerce-account .u-columns.col2-set > div > h2 { margin-top: 0 !important; }
.woocommerce-account form .button:disabled, .woocommerce-account form .button.disabled { opacity: 0.55 !important; background: var(--ink) !important; }
.woocommerce-account form.register .form-row label.woocommerce-form__label-for-checkbox, .woocommerce-account form.register label.checkbox { display: flex; gap: 0.5rem; align-items: flex-start; font-weight: 400 !important; line-height: 1.45; }
.woocommerce-account form.register .woocommerce-privacy-policy-text p { font-size: 0.9rem; }

/* 1.1.9 review: small phones, focus in notices, Subscriptions' secondary buttons */
.woocommerce-account .wc-block-components-notice-banner .button:focus-visible, .woocommerce-account .wc-block-components-notice-banner a.wc-forward:focus-visible { outline: 3px solid var(--ink) !important; outline-offset: 2px; }
.woocommerce-account .button.cancel, .woocommerce-account .button.suspend { background: var(--paper) !important; color: var(--ink) !important; box-shadow: none !important; }
@media (max-width: 380px) {
	.woocommerce-account form.login, .woocommerce-account form.register, .woocommerce-account form.lost_reset_password { padding: 1rem 0.9rem 0.8rem !important; }
	.woocommerce-account .g-recaptcha { transform: scale(0.88); transform-origin: 0 0; }
}

/* 1.1.10: full-width bands that follow one another butt up, with no strip of background between (Rhoda) */
:is(.heb-band, .heb-proof, .heb-carry, .heb-signup, .heb-page-hero).alignfull + :is(.heb-band, .heb-proof, .heb-carry, .heb-signup, .heb-page-hero).alignfull { margin-block-start: 0 !important; }
/* Where both bands have a dividing line, keep one line, not two */
.heb-band--heather + .heb-proof, .heb-band--card + .heb-band--heather, .heb-band--card + .heb-band--card { border-top-width: 0 !important; }
/* Product picks side by side (Wonky on the homepage, About us): same size, tops level */
.heb-picks > * { margin: 0 !important; }
.heb-picks { align-items: stretch; }
.heb-picks > .heb-pick-card, .heb-picks > * > .heb-pick-card { height: 100%; box-sizing: border-box; }
.heb-pick-card__name { font-size: 1.4rem !important; }
/* About us favourites: cards level along the bottom of their columns */
.heb-about .wp-block-column:has(> .heb-pick-card), .wp-block-column:has(> .heb-pick-card) { display: flex; flex-direction: column; }
.wp-block-column > .heb-pick-card:last-child { margin-top: auto !important; }

/* 1.1.11: Build your own subscription box (Product Bundles + YITH + subscriptions): space between the parts */
.single-product form.cart .yith-wapo-container { margin: 1.75rem 0 0 !important; }
.single-product form.cart .yith-wapo-addon { margin-bottom: 0 !important; }
.single-product .bundle_wrap { margin-top: 1.25rem !important; }
.single-product .bundle_wrap .bundle_price { margin: 0 0 1.25rem !important; }
.single-product .bundle_wrap .bundle_price p.price { margin: 0 !important; }
.single-product .bundle_wrap .wcsatt-options-wrapper { margin: 0 0 1.25rem !important; }
.single-product .bundle_wrap .wcsatt-options-product-prompt { margin-bottom: 0.5rem !important; }
.single-product .bundle_wrap .bundle_error .wc-block-components-notice-banner { margin: 0 0 1rem !important; }

/* 1.1.11: the header (and its Shop drop-down) sits above the product gallery's magnifier */
.heb-header, header.wp-block-template-part { position: relative; z-index: 1000; } /* above the product gallery magnifier (WooCommerce gives it z-index 99) */
/* The subscription plugin hides its option list when it's set to show a drop-down: keep it hidden */
.wcsatt-options-product.wcsatt-options-product--hidden { display: none !important; }
.single-product .wcsatt-options-product-dropdown { font: inherit; font-size: 1rem; min-height: 48px; padding: 0.6rem 2.2rem 0.6rem 0.85rem; border: var(--line); border-radius: var(--radius-btn); background-color: #fff; color: var(--ink); max-width: 100%; }
.single-product .bundle_price.heb-is-zero { display: none !important; }

/* 1.1.11: header search with Advanced Woo Search (live results as you type), in the house style */
.heb-search--aws { position: static; display: flex; align-items: center; }
.heb-search__toggle { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border: 0; background: transparent; color: var(--ink); border-radius: 50%; cursor: pointer; padding: 0; }
.heb-search__toggle:hover, .heb-search.is-open .heb-search__toggle { background: var(--oat); }
.heb-search__toggle:focus-visible, .heb-search__close:focus-visible { outline: 3px solid var(--ink); outline-offset: 2px; }
.heb-search__panel { position: absolute; left: 0; right: 0; top: 100%; background: var(--card); border-top: var(--line); border-bottom: var(--line); box-shadow: 0 10px 0 rgba(23, 21, 18, 0.08); z-index: 70; padding: 1rem var(--gutter, 1.25rem) 1.1rem; }
.heb-search__panel[hidden] { display: none !important; }
.heb-search__inner { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "label label" "form close"; gap: 0.35rem 0.75rem; align-items: center; }
.heb-search__label { grid-area: label; margin: 0; font-family: var(--hand); font-weight: 700; font-size: 1.15rem; }
.heb-search__panel .aws-container { grid-area: form; width: 100%; }
.heb-search__close { grid-area: close; width: 44px; height: 44px; border: 0; background: transparent; font-size: 1.9rem; line-height: 1; cursor: pointer; color: var(--ink); border-radius: 50%; }
.heb-search__close:hover { background: var(--oat); }
.heb-search__panel .aws-container .aws-search-form { height: 52px !important; background: transparent !important; }
.heb-search__panel .aws-container .aws-search-field { height: 52px !important; font: inherit !important; font-size: 1.05rem !important; padding: 0 3rem 0 1rem !important; border: var(--line) !important; border-radius: var(--radius-btn) !important; background: #fff !important; color: var(--ink) !important; box-shadow: none !important; }
.heb-search__panel .aws-container .aws-search-field:focus { outline: 3px solid var(--ink) !important; outline-offset: 2px; }
.heb-search__panel .aws-container .aws-search-form .aws-search-clear, .heb-search__panel .aws-container .aws-search-form .aws-loader { right: 10px !important; }
/* The results list Advanced Woo Search opens under the box */
.aws-search-result { border: var(--line) !important; border-radius: var(--radius) !important; background: var(--card) !important; box-shadow: var(--shadow-lg) !important; overflow: hidden; font-family: var(--body) !important; z-index: 1001 !important; }
.aws-search-result ul li { border-bottom: 1px solid #D9CFBF !important; }
.aws-search-result ul li:last-child { border-bottom: 0 !important; }
.aws-search-result .aws_result_link { padding: 0.65rem 0.8rem !important; }
.aws-search-result .aws_result_item:hover, .aws-search-result .aws_result_item.hovered { background: var(--gorse) !important; }
.aws-search-result .aws_result_image img { border: 1.5px solid var(--ink); border-radius: 4px; background: #fff; }
.aws-search-result .aws_result_title { color: var(--ink) !important; font-weight: 800 !important; font-size: 0.98rem !important; }
.aws-search-result .aws_result_title b, .aws-search-result .aws_result_excerpt b, .aws-search-result strong { background: rgba(242, 194, 48, 0.55); text-decoration: none; padding: 0 1px; }
.aws-search-result .aws_result_excerpt { color: var(--ink) !important; opacity: 0.8; font-size: 0.85rem !important; }
.aws-search-result .aws_result_price { color: var(--ink) !important; font-weight: 800; font-size: 0.92rem !important; }
.aws-search-result .aws_search_more a, .aws-search-result .aws_result_item.aws_search_more { background: var(--ink) !important; color: var(--paper) !important; font-weight: 800; text-align: center; }
@media (max-width: 1119px) {
	.heb-header .heb-search.heb-search--aws { display: flex !important; }
	.heb-search__panel { padding: 0.8rem 1rem 0.9rem; }
}
.heb-search__panel .aws-container .aws-search-form .aws-search-btn { background: var(--ink) !important; border: var(--line) !important; border-left: 0 !important; border-radius: 0 var(--radius-btn) var(--radius-btn) 0 !important; }
.heb-search__panel .aws-container .aws-search-form .aws-search-btn svg { fill: var(--paper) !important; }
.heb-search__panel .aws-container .aws-search-form .aws-search-btn:hover { background: #2E2A25 !important; }
.heb-search__panel .aws-container .aws-search-form .aws-form-btn { background: var(--ink) !important; border: var(--line) !important; }
.heb-search__panel .aws-container .aws-search-form:has(.aws-search-btn) .aws-search-field, .heb-search__panel .aws-container .aws-search-form:has(.aws-form-btn) .aws-search-field { border-radius: var(--radius-btn) 0 0 var(--radius-btn) !important; }

/* 1.1.12: Wonky's page hero is Wonky herself (Rhoda: "our biggest asset") */
.heb-wonky-hero--photo { padding-top: clamp(1.75rem, 4vw, 3rem) !important; padding-bottom: clamp(2rem, 5vw, 3.5rem) !important; }
.heb-wonky-hero__head { text-align: center; }
.heb-wonky-hero__head > * { margin-inline: auto; }
.heb-wonky-hero__tag { font-size: clamp(1.4rem, 3.2vw, 2rem) !important; margin: 0 0 0.2rem !important; }
.heb-wonky-hero--photo .heb-hero-title { font-size: clamp(3rem, 10vw, 7.5rem) !important; line-height: 0.9 !important; margin: 0 0 clamp(1rem, 2.5vw, 1.75rem) !important; }
.heb-wonky-hero__photo { margin: 0 auto !important; max-width: 1240px; }
.heb-wonky-hero__photo > * { margin: 0 !important; }
.heb-wonky-hero__photo img, .heb-wonky-hero__photo .heb-photo img { display: block; width: 100% !important; height: auto !important; aspect-ratio: 3 / 1; object-fit: cover; object-position: 48% 40%; background: #fff; border: var(--line); border-radius: var(--radius); box-shadow: 10px 10px 0 var(--ink); transform: rotate(-0.6deg); }
.heb-wonky-hero__photo .heb-photo { max-width: none !important; width: 100%; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; transform: none !important; }
.heb-wonky-hero__photo figcaption { display: none; }
.heb-wonky-hero__foot { margin-top: clamp(1.25rem, 3vw, 2rem) !important; gap: 1rem 2rem !important; }
.heb-wonky-hero__lede { font-size: clamp(1.1rem, 2vw, 1.35rem); font-weight: 700; max-width: 34rem; margin: 0 !important; }
.heb-wonky-hero--photo .is-style-outline .wp-block-button__link { border-color: var(--ink); color: var(--ink) !important; background: var(--paper); }
.heb-wonky-hero--photo .is-style-outline .wp-block-button__link:hover { background: var(--ink); color: var(--paper) !important; }
.heb-wonky-story__art .heb-label-art { max-width: 340px; margin-inline: auto; }
@media (max-width: 781px) {
	.heb-wonky-hero__photo img, .heb-wonky-hero__photo .heb-photo img { aspect-ratio: 4 / 3; object-position: 47% 35%; transform: none; box-shadow: 6px 6px 0 var(--ink); }
	.heb-wonky-hero__foot { flex-direction: column; align-items: stretch !important; }
	.heb-wonky-hero__foot .wp-block-buttons { flex-direction: column; align-items: stretch; }
	.heb-wonky-hero__foot .wp-block-button, .heb-wonky-hero__foot .wp-block-button__link { width: 100%; text-align: center; }
	.heb-wonky-story__art { order: -1; }
	.heb-wonky-story__art .heb-label-art { max-width: 220px; }
}

/* 1.1.13: box builder cards fit their grid slots, so they no longer overlap and hide each other's borders */
.mnm_form table.mnm_table tr.mnm_item { box-sizing: border-box !important; width: auto !important; min-width: 0 !important; max-width: 100%; }
.mnm_form table.mnm_table tr.mnm_item td { min-width: 0; max-width: 100%; box-sizing: border-box; }

/* 1.1.13: no house motif dividers (Rhoda, 20 Oct). Pages built before 1.1.13 still carry the
   pattern, so it's hidden here as well as taken out of the layouts. */
.heb-divider { display: none !important; }

/* 1.1.13: a visible focus ring on Wonky's orange */
.heb-band--wonky :focus-visible, #wonky.heb-band--machair :focus-visible, .heb-band--machair.heb-page-hero :focus-visible { outline-color: var(--ink) !important; }

/* 1.1.13: every blog card photo is the same size (4:3, filled), whatever shape the photo is */
.heb-post-card .wp-block-post-featured-image { aspect-ratio: 4 / 3; overflow: hidden; }
.heb-post-card .wp-block-post-featured-image a { display: block; height: 100%; }
.heb-post-card .wp-block-post-featured-image img { height: 100% !important; aspect-ratio: auto !important; }
/* Sheep facts: no dates (Rhoda, 20 Oct). Hidden here too for pages built before 1.1.13. */
.heb-sheepfacts .wp-block-post-date { display: none !important; }

/* 1.1.14: no 32px shove under the admin bar. The old sticky offset (top: 32px when logged in) moved
   the header down over the page once it became position: relative in 1.1.11. */
.heb-header, body.admin-bar .heb-header { top: 0 !important; }

/* 1.1.27: the sign-up band sits straight on the footer (Rhoda, 27 Oct). The block editor leaves an
   empty paragraph at the end of a page, which added a strip of background (the block gap) between
   the band and the footer. Empty paragraphs at the very end of a page's content are hidden; empty
   paragraphs anywhere else are left alone. */
.wp-block-post-content > p:empty:last-child,
.wp-block-post-content > p:empty:not(:has(~ :not(p:empty))) { display: none !important; }
.wp-block-post-content > .heb-signup.alignfull:last-child,
.wp-block-post-content > .heb-signup.alignfull:not(:has(~ :not(p:empty))) { margin-block-end: 0 !important; }

/* =====================================================================
   1.1.28: polaroid headers (Rhoda, 27 Oct). Homepage: Rhoda and Becca, Wonky, Crofter.
   Wool page: the Wonky drawing with Wonky, The AT and HebTex. The pile is laid out on a fixed
   box so nothing hides a caption or Wonky's face, at any width.
   ===================================================================== */
.heb-pols { position: relative; width: 100%; margin: 1.75rem auto 0; }
.heb-pols--home, .heb-pols--flock { aspect-ratio: 1 / 1.02; max-width: 600px; }
.heb-pols--wool { aspect-ratio: 600 / 540; max-width: 600px; }
/* 1.1.31: cartoon frames, the same as the cards and the old fanned stack (Rhoda: "the cartoon style
   frames we have on the rest of the site"). Ink outline, rounded corners, hard ink shadow, the photo
   fills the frame and the name sits on it as an ink tag. No white polaroid mat. */
.heb-pol { position: absolute; margin: 0; background: var(--card); border: var(--line); border-radius: var(--radius); box-shadow: var(--shadow-lg); padding: 0; overflow: hidden; box-sizing: border-box; transition: transform 200ms ease; }
.heb-pol__pic { display: block; }
.heb-pol__pic img { display: block; width: 100%; height: auto; aspect-ratio: 1; object-fit: cover; padding: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; }
.heb-pol__people { position: relative; aspect-ratio: 4 / 5; background: var(--gorse); overflow: hidden; }
.heb-pol__people img { position: absolute; left: 0; top: 7%; width: 100%; height: auto; aspect-ratio: auto; object-fit: initial; }
.heb-pol figcaption { position: absolute; left: 0.6rem; bottom: 0.55rem; height: auto; margin: 0; pointer-events: none; }
.heb-pol figcaption span { display: inline-block; font-family: var(--hand); font-weight: 700; font-size: clamp(1rem, 2vw, 1.3rem); line-height: 1.1; white-space: nowrap; background: var(--ink); color: var(--paper); padding: 0.1rem 0.55rem 0.15rem; border-radius: 3px; }
a.heb-pol__pic:focus-visible { outline: 3px solid var(--sound); outline-offset: -3px; } /* inside the frame, which clips anything outside it */
@media (hover: hover) { .heb-pol:has(a.heb-pol__pic:hover) { z-index: 9 !important; } }
/* Homepage pile */
.heb-pols--home .heb-pol--rb { left: 0; top: 6%; width: 53%; transform: rotate(-4deg); z-index: 2; }
.heb-pols--home .heb-pol--wk { right: 0; top: 0; width: 44%; transform: rotate(5deg); z-index: 1; }
.heb-pols--home .heb-pol--cr { left: 50%; top: 50%; width: 43%; transform: rotate(-2.5deg); z-index: 3; }
/* Homepage Wool slide: same shape, the flock */
.heb-pols--flock .heb-pol--wk { left: 0; top: 4%; width: 52%; transform: rotate(-4deg); z-index: 2; }
.heb-pols--flock .heb-pol--at { right: 0; top: 0; width: 44%; transform: rotate(5deg); z-index: 1; }
.heb-pols--flock .heb-pol--yn { left: 50%; top: 50%; width: 43%; transform: rotate(-2.5deg); z-index: 3; }
/* Wool page: the drawing, with the polaroids kept clear of Wonky's face */
.heb-pols__lamb { position: absolute; left: -2%; bottom: 0; height: 94%; width: auto; max-width: none; z-index: 1; }
.heb-pols--wool .heb-pol--wk { right: 0; top: -4%; width: 39%; transform: rotate(6deg); z-index: 2; }
.heb-pols--wool .heb-pol--at { left: 52%; top: 47%; width: 31%; transform: rotate(-5deg); z-index: 3; }
.heb-pols--wool .heb-pol--yn { right: 0; top: 59%; width: 26%; transform: rotate(7deg); z-index: 4; }
@media (min-width: 782px) {
	.heb-pols { margin-top: 0; }
	/* The drawing stands on the bottom edge of the purple band */
	.heb-page-hero:has(.heb-pols--wool) { padding-bottom: 0 !important; }
	.heb-page-hero:has(.heb-pols--wool) > .wp-block-columns { align-items: stretch !important; }
	.heb-page-hero:has(.heb-pols--wool) > .wp-block-columns > .wp-block-column:first-child { padding-bottom: clamp(2.5rem, 6vw, 4.5rem); align-self: center; }
	.heb-page-hero .wp-block-column:has(> .heb-pols--wool) { display: flex; align-items: flex-end; align-self: stretch !important; }
}
@media (min-width: 782px) and (max-width: 1199px) {
	.heb-pols--wool .heb-pol--at { left: 48%; }
	.heb-pol figcaption span { font-size: 1rem; }
}
/* Wide screens: the pile spreads a little into the gutter (Rhoda: "a bit too much dead space") */
@media (min-width: 1200px) {
	.heb-pols--home, .heb-pols--flock { width: min(112%, 660px); max-width: none; margin-left: -6%; margin-right: -6%; }
	.heb-pols--wool { width: min(114%, 680px); max-width: none; margin-left: -7%; margin-right: -7%; }
}
@media (prefers-reduced-motion: reduce) { .heb-pol { transition: none; } }

/* 1.1.28: the real Hebriteas logo in "Tiree Tea is now ..." (was lettering) */
.heb-inline-logo { background: url(../images/logo-wordmark.png) center / contain no-repeat !important; color: transparent !important; width: 6.9em; height: 1.7em; padding: 0 !important; font-size: 1em !important; vertical-align: middle; overflow: hidden; white-space: nowrap; text-indent: 110%; margin-left: 0.2em; }

/* 1.1.29: phone and tablet header and hero (Rhoda, 27 Oct) */
@media (max-width: 1119px) {
	/* Logo on the left; search, basket and the menu button on the right */
	.heb-header .heb-logo { position: static; transform: none; order: -2; margin-right: auto; }
	.heb-header__tools { order: 1; }
	.heb-main-nav { order: 2; }
}
/* A little room between "Tiree Tea is now HEBRITEAS" and the heading */
.heb-hero__kicker { margin-bottom: 1.4rem !important; } /* 1.1.34: more room (Rhoda, 28 Oct; was 0.6rem) */
@media (max-width: 781px) {
	.heb-hero__kicker { margin-bottom: 1.1rem !important; } /* was 0.9rem */
	/* "Which do you fancy?" on the same line as the Tea / Wool switch */
	.heb-hero-switch__controls { flex-wrap: nowrap !important; align-items: center; gap: 0.6rem !important; }
	.heb-hero-switch__controls::after { flex-basis: auto !important; white-space: nowrap; font-size: 1.05rem !important; }
}
@media (max-width: 360px) {
	.heb-hero-switch__controls::after { font-size: 0.95rem !important; }
}

/* 1.1.30: desktop - the Tea / Wool switch floats over the top of the hero, so the first slide sits
   higher (Rhoda, 27 Oct: "too big a gap"). The purple and dark slides keep their room under it. */
@media (min-width: 1024px) {
	.heb-hero-switch { position: relative; padding-top: 1px; } /* keeps the purple slide's top margin inside */
	.heb-hero-switch__controls { position: absolute; top: 0; left: 0; right: auto; z-index: 6; margin-top: 1.25rem !important; }
	/* 1.1.32: the Tea slide drops a little so the space above and below the pictures matches
	   (Rhoda, 28 Oct). What it gains at the top comes off the bottom, so the hero is no taller. */
	.heb-hero-switch .heb-hero:not(.heb-hero--ink):not(.heb-hero--heather) { --heb-drop: clamp(2.1rem, 3.4vw, 2.9rem); padding-top: calc(1.75rem + var(--heb-drop)); padding-bottom: calc(3.5rem - var(--heb-drop)); }
	.heb-hero-switch .heb-hero--ink, .heb-hero-switch .heb-hero--heather { margin-top: 5.25rem !important; }
}

/* 1.1.33: the four under the hero are one size (Rhoda, 28 Oct: "all different sizes"). Each sits in
   the same 72px slot (the house logo's minimum), the pictures are sized to match by eye, and every
   line of text starts at the same place, on phones and desktops. */
.heb-proof { --heb-slot: 72px; }
.heb-proof .heb-proof__item, .heb-proof .heb-proof__item--house { position: relative; display: block; box-sizing: border-box; padding: max(0px, calc((var(--heb-slot) - 2.7em) / 2)) 0 0 calc(var(--heb-slot) + 0.85rem); min-height: var(--heb-slot); }
.heb-proof .heb-proof__item::before { left: 0; top: 50%; }
.heb-proof .heb-proof__item--award::before { width: 56px; height: 56px; left: 8px; font-size: 1.05rem; line-height: 56px; }
.heb-proof .heb-proof__item--house::before { width: var(--heb-slot); height: var(--heb-slot); left: 0; }
.heb-proof .heb-proof__item--post::before { width: 56px; height: 56px; left: 8px; }
.heb-proof .heb-stat { gap: 0.85rem; min-height: var(--heb-slot); }
.heb-proof .heb-stat__n { flex: 0 0 var(--heb-slot); width: var(--heb-slot); font-size: 2.05rem; white-space: nowrap; text-align: center; }
.heb-proof .heb-stat__n::after { font-size: 1.05rem; vertical-align: 0.35em; }
.heb-proof .heb-stat__l { max-width: none; font-weight: 400; }
.heb-proof .heb-stat__l, .heb-proof .heb-proof__item { font-size: 0.95rem; line-height: 1.35; }
@media (max-width: 520px) { .heb-proof__row { gap: 1rem; } }
/* The Wool page's row has no pictures, so no slot either. */
.heb-proof--wool .heb-proof__item { padding: 0; min-height: 0; }

/* 1.1.34: taster bundle on laptops and desktops (Rhoda, 28 Oct: "off spacing", "the bundle could be less
   squashed if row 3 was better used"). The blends run full width, 7 to a row (13 blends = two rows), and
   Your bundle is a wide bar underneath: title and count, the four spaces in a row, then price and button. */
@media (min-width: 1024px) {
	.heb-taster__layout { flex-direction: column; flex-wrap: nowrap; gap: 1.5rem; }
	.heb-taster__pick { flex: none; }
	.heb-taster__grid { grid-template-columns: repeat(7, minmax(0, 1fr)) !important; gap: 0.75rem; }
	.heb-taster__box { flex: none; align-self: stretch; display: grid; grid-template-columns: minmax(12rem, 1fr) auto minmax(14rem, 1fr); grid-template-areas: "title slots saving" "status slots submit"; align-items: center; column-gap: 2rem; row-gap: 0.5rem; padding: 1.1rem 1.5rem; }
	.heb-taster__title { grid-area: title; align-self: end; }
	.heb-taster__slots { grid-area: slots; grid-template-columns: repeat(4, 104px) !important; gap: 0.6rem; }
	.heb-taster__saving { grid-area: saving; align-self: end; margin: 0; }
	.heb-taster__status { grid-area: status; align-self: start; }
	.heb-taster__submit { grid-area: submit; align-self: start; }
	.heb-taster__box > input[type="hidden"] { display: none; }
}
@media (min-width: 1024px) and (max-width: 1239px) {
	.heb-taster__box { grid-template-columns: minmax(10rem, 1fr) auto minmax(13rem, 1fr); column-gap: 1.25rem; }
	.heb-taster__slots { grid-template-columns: repeat(4, 84px) !important; }
	.heb-taster__submit { white-space: nowrap; }
}
/* 1.1.34: on smaller laptops the taller text column sat up against the Tea / Wool switch */
@media (min-width: 1024px) and (max-width: 1279px) {
	.heb-hero-switch .heb-hero:not(.heb-hero--ink):not(.heb-hero--heather) > .wp-block-column:first-child { padding-top: 2.5rem; }
}

/* 1.1.40: a homepage slide that is a page's own header (Rhoda, 29 Oct: "would do better if it was the
   wool page hero? full width and with the wonky pic"). The Wool slide shows the Wool page's header band,
   edge to edge, and the Tea / Wool switch sits on the purple. */
.heb-hero-switch { transition: background-color 400ms ease, box-shadow 400ms ease; }
.heb-hero-switch.is-band { background: var(--heather); box-shadow: 0 0 0 100vmax var(--heather); clip-path: inset(0 -100vmax); }
.heb-hero-switch.is-band .heb-hero-switch__controls::after { color: var(--card); }
.heb-hero-switch.is-band { display: flow-root; } /* the switch's top margin stays on the purple (phones) */
.heb-hero-switch.is-band + .heb-proof { margin-block-start: 0 !important; border-top-width: 0 !important; } /* as on the Wool page */
.heb-hero-switch .heb-page-hero--slide { margin-left: calc(50% - 50vw) !important; margin-right: calc(50% - 50vw) !important; margin-top: 0 !important; margin-bottom: 0 !important; width: auto; max-width: none !important; border-top: 0; }
.heb-hero-switch.is-enhanced .heb-hero-slide--band:not(.is-active) .heb-page-hero--slide { visibility: hidden; }
@media (max-width: 1023px) {
	.heb-hero-switch.is-band .heb-hero-switch__controls { margin-bottom: 0 !important; }
	.heb-hero-switch .heb-page-hero--slide { padding-top: 1.25rem !important; }
}
@media (min-width: 1024px) {
	/* Room for the switch at the top, as the Wool page has under the header. */
	.heb-hero-switch .heb-page-hero--slide { padding-top: calc(clamp(2.5rem, 6vw, 4.5rem) + 3.25rem) !important; }
}
@media (prefers-reduced-motion: reduce) { .heb-hero-switch { transition: none; } }
/* 1.1.40 fix: between 1200px and 1399px wide the right-hand margin is too narrow for the pile to spread
   into, so the Wonky photo was cut off at the edge of the screen (on the Wool page too). */
@media (min-width: 1200px) and (max-width: 1399px) {
	.heb-pols--wool { width: min(107%, 680px); margin-right: 0; }
}

/* 1.1.45: free pattern cards (Rhoda, 29 Oct: "this looks wrong"). WordPress's block spacing put a top
   margin on every card after the first, so cards 2 to 4 sat lower and each was a different height. Cards
   now line up top and bottom, and "Get the pattern" sits on the same line in every card, with "Pairs with"
   just above it where there is one. */
.heb-patterns { align-items: stretch; }
.heb-patterns > .heb-pattern-card { margin: 0 !important; height: 100%; box-sizing: border-box; }
.heb-pattern-card > * { margin-block: 0 !important; }
.heb-pattern-card__pair { margin-top: auto !important; }
.heb-pattern-card__link { margin-top: 0.75rem !important; align-self: flex-start; }
.heb-pattern-card:not(:has(> .heb-pattern-card__pair)) > .heb-pattern-card__link { margin-top: auto !important; }
