/* Hebriteas Shop. Uses the theme's colour variables when present, with fallbacks. */
:root {
	--hs-ink: var(--wp--preset--color--ink, #171512);
	--hs-paper: var(--wp--preset--color--paper, #F6F1E6);
	--hs-card: var(--wp--preset--color--card, #FFFDF8);
	--hs-oat: var(--wp--preset--color--oatmeal, #E9DFC9);
	--hs-kraft: var(--wp--preset--color--kraft, #C9A06A);
	--hs-gorse: var(--wp--preset--color--gorse, #F4C430);
	--hs-green: var(--wp--preset--color--machair, #4F7F2A);
	--hs-muted: var(--wp--preset--color--muted, #4A4540);
	--hs-line: 2px solid var(--hs-ink);
	--hs-hand: var(--wp--preset--font-family--gochi, cursive);
	--hs-display: var(--wp--preset--font-family--anton, Impact, sans-serif);
}

.screen-reader-text, .heb-visually-hidden {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}
.heb-editor-note {
	background: #FFF4C2; border: 2px dashed var(--hs-ink); border-radius: 4px;
	padding: 0.6rem 0.8rem; font-size: 0.9rem; color: var(--hs-ink);
}

/* ---------- Buttons ---------- */
.heb-add { margin: 0; }
.heb-add__button {
	display: inline-flex; align-items: center; justify-content: center; gap: 0.4rem;
	min-height: 44px; padding: 0.55rem 1.1rem;
	background: var(--hs-ink); color: var(--hs-paper);
	border: var(--hs-line); border-radius: 4px;
	font: inherit; font-weight: 800; font-size: 1rem; line-height: 1.2;
	text-decoration: none; cursor: pointer;
}
.heb-add__button:hover { background: #2E2A25; color: var(--hs-paper); }
.heb-add__button:focus-visible { outline: 3px solid #1F6FA8; outline-offset: 3px; }
.heb-add__button--offer { background: var(--hs-gorse); color: var(--hs-ink); box-shadow: 4px 4px 0 var(--hs-ink); }
.heb-add__button--offer:hover { background: #FFD24D; color: var(--hs-ink); }
.heb-add__button--choose { background: var(--hs-card); color: var(--hs-ink); }
.heb-add__button[disabled], .heb-add__button[aria-disabled="true"] { background: #D9D2C4; color: var(--hs-muted); border-color: #8A8178; cursor: not-allowed; box-shadow: none; }
.heb-add__button.is-loading { opacity: 0.75; }
.heb-add__button.is-added { background: var(--hs-green); border-color: var(--hs-ink); }
.heb-product-button .heb-add__button { width: 100%; }

/* ---------- Shelf ---------- */
.heb-shelf { display: flex; flex-direction: column; gap: 1.25rem; }
.heb-sizes { display: inline-flex; align-self: flex-start; border: var(--hs-line); border-radius: 4px; overflow: hidden; }
.heb-sizes[hidden] { display: none; }
.heb-sizes__btn {
	min-height: 44px; padding: 0 1rem; border: 0; border-right: var(--hs-line);
	background: var(--hs-card); color: var(--hs-ink); font: inherit; font-weight: 800; cursor: pointer;
}
.heb-sizes__btn:last-child { border-right: 0; }
.heb-sizes__btn[aria-pressed="true"] { background: var(--hs-ink); color: var(--hs-paper); }
.heb-shelf__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 210px), 1fr)); gap: 1.25rem; }
.heb-shelf--compact .heb-shelf__grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 240px), 1fr)); gap: 0.9rem; }

/* ---------- Card (clean square photo tile: product photos already show the pouch) ---------- */
.heb-card {
	background: var(--hs-card); color: var(--hs-ink);
	border: var(--hs-line); border-radius: 6px; overflow: hidden;
	display: flex; flex-direction: column; position: relative;
}
.heb-card__media { display: block; position: relative; aspect-ratio: 1; background: #fff; border-bottom: var(--hs-line); text-decoration: none; }
.heb-card__media img { display: block; width: 100%; height: 100%; object-fit: contain; padding: 6%; box-sizing: border-box; }
.heb-card__body { padding: 0.9rem 1rem 1.1rem; display: flex; flex-direction: column; gap: 0.3rem; flex-grow: 1; }
.heb-card__title { font-family: var(--hs-hand); font-weight: 700; font-size: 1.85rem; line-height: 1; margin: 0; text-transform: none; letter-spacing: 0; }
.heb-card__title a { color: inherit; text-decoration: none; }
.heb-card__sub { margin: 0; font-size: 0.95rem; color: var(--hs-muted); }
.heb-card__rating { margin: 0; font-size: 0.875rem; font-weight: 600; }
.heb-card__buy { margin-top: auto; padding-top: 0.6rem; display: flex; flex-direction: column; gap: 0.5rem; }
.heb-card__price { margin: 0; font-size: 1.35rem; font-weight: 800; }
.heb-card .heb-add__button { width: 100%; }
.heb-card.is-size-missing .heb-card__price { color: var(--hs-muted); font-size: 0.95rem; font-weight: 600; }
.heb-card--compact { flex-direction: row; align-items: stretch; }
.heb-card--compact .heb-card__media { width: 34%; flex: 0 0 34%; aspect-ratio: auto; border-bottom: 0; border-right: var(--hs-line); }
.heb-card--compact .heb-card__title { font-size: 1.5rem; }
.heb-shelf--dark .heb-card { box-shadow: 6px 6px 0 var(--hs-gorse); }
.heb-notify__hp { position: absolute; left: -9999px; }

/* ---------- Award badge ---------- */
.heb-award { display: inline-flex; align-items: center; justify-content: center; }
.heb-award--card { position: absolute; top: 0.5rem; right: 0.5rem; z-index: 2; }
.heb-award-wrap { position: relative; }
.heb-award--classic { position: relative; top: auto; right: auto; margin-bottom: 0.5rem; }
.heb-award--text {
	background: var(--hs-ink); color: var(--hs-paper);
	font-family: var(--hs-display); text-transform: uppercase; letter-spacing: 0.03em;
	font-size: 0.8rem; line-height: 1; padding: 0.4rem 0.55rem; border-radius: 3px; transform: rotate(-3deg);
}
.heb-award--large.heb-award--text { font-size: 1.6rem; padding: 0.9rem 1.1rem; }
.heb-award--product.heb-award--text { font-size: 1rem; }
.heb-award__img { display: block; }

/* ---------- Progress bar, nudge, basket bar ---------- */
.heb-progress { height: 10px; background: var(--hs-oat); border: 1.5px solid var(--hs-ink); border-radius: 6px; overflow: hidden; }
.heb-progress__fill { display: block; height: 100%; background: var(--hs-green); transition: width 300ms ease; }
.heb-nudge { background: var(--hs-card); border: var(--hs-line); border-radius: 6px; padding: 0.8rem 1rem; margin: 1rem 0; display: flex; flex-direction: column; gap: 0.5rem; }
.heb-nudge__msg { margin: 0; font-weight: 700; font-size: 0.95rem; }

.heb-basket-bar {
	position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990;
	background: var(--hs-card); color: var(--hs-ink);
	border-top: var(--hs-line); box-shadow: 0 -6px 18px rgba(23, 21, 18, 0.12);
	font-size: 0.95rem;
}
.heb-basket-bar__inner { max-width: 1240px; margin: 0 auto; padding: 0.6rem 1.25rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem 1.25rem; box-sizing: border-box; }
.heb-basket-bar__progress { flex: 1 1 320px; min-width: 0; display: flex; flex-direction: column; gap: 0.35rem; }
.heb-basket-bar__msg, .heb-basket-bar__summary { margin: 0; }
.heb-basket-bar__msg { font-weight: 700; }
.heb-basket-bar__go { display: inline-flex; align-items: center; min-height: 44px; padding: 0 1.25rem; background: var(--hs-ink); color: var(--hs-paper); border-radius: 4px; font-weight: 800; text-decoration: none; }
.heb-basket-bar__go:hover { background: #2E2A25; color: var(--hs-paper); }
body.has-heb-basket-bar { padding-bottom: 76px; }
@media (max-width: 600px) {
	.heb-basket-bar__summary { display: none; }
	body.has-heb-basket-bar { padding-bottom: 96px; }
}

/* ---------- Product page pack buttons ---------- */
.heb-pack-buttons { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.6rem; margin: 0.4rem 0 0.8rem; }
.heb-pack-buttons__btn {
	text-align: left; min-height: 60px; padding: 0.6rem 0.9rem;
	background: var(--hs-card); color: var(--hs-ink); border: var(--hs-line); border-radius: 4px;
	font: inherit; cursor: pointer; display: flex; flex-direction: column; gap: 0.15rem;
}
.heb-pack-buttons__btn[aria-checked="true"] { background: var(--hs-gorse); box-shadow: 3px 3px 0 var(--hs-ink); }
.heb-pack-buttons__label { font-weight: 800; }
.heb-pack-buttons__price { font-size: 0.9rem; }

/* ---------- Taster box ---------- */
.heb-taster__layout { display: flex; flex-wrap: wrap; gap: 2rem; }
.heb-taster__pick { flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 1rem; }
.heb-taster__fieldset { border: 0; margin: 0; padding: 0; min-width: 0; }
.heb-chips { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.heb-chips[hidden] { display: none; }
.heb-chip {
	min-height: 44px; padding: 0 1rem; border-radius: 999px;
	border: 2px solid currentColor; background: transparent; color: inherit;
	font: inherit; font-weight: 700; cursor: pointer;
}
.heb-chip[aria-pressed="true"] { background: var(--hs-paper); color: var(--hs-ink); border-color: var(--hs-paper); }
.heb-taster__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(118px, 1fr)); gap: 0.9rem; }
.heb-pick { position: relative; display: block; }
.heb-pick[hidden] { display: none; }
/* 1.1.33: the card is a button (one tap adds one); the number box is the no-scripts way in. */
.heb-pick__card { display: flex; flex-direction: column; gap: 0.2rem; width: 100%; padding: 0.5rem 0.5rem 0.65rem; border: 3px solid #3A352F; border-radius: 6px; height: 100%; box-sizing: border-box; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; -webkit-tap-highlight-color: transparent; }
.heb-pick__card:focus-visible { outline: 3px solid var(--hs-gorse); outline-offset: 3px; }
.heb-pick__img img { display: block; width: 100%; height: auto; aspect-ratio: 1 / 1.1; object-fit: cover; object-position: top; border-radius: 3px; }
.heb-pick__name { font-family: var(--hs-hand); font-weight: 700; font-size: 1.3rem; line-height: 1; margin-top: 0.35rem; }
.heb-pick__sub { font-size: 0.75rem; line-height: 1.25; opacity: 0.85; }
.heb-pick__state::before { content: "+ Add to bundle"; font-size: 0.75rem; font-weight: 800; }
.heb-pick.is-picked .heb-pick__card { border-color: var(--hs-gorse); background: rgba(255, 255, 255, 0.06); }
.heb-pick.is-picked .heb-pick__state::before { content: "+ Add another"; }
.heb-pick.is-unavailable .heb-pick__card { opacity: 0.5; }
.heb-pick.is-unavailable .heb-pick__state::before { content: "Bundle is full"; }
.heb-taster.is-full .heb-pick.is-picked .heb-pick__state::before { content: "✓ In your bundle"; }
.heb-pick__count { position: absolute; top: 0.35rem; right: 0.35rem; z-index: 2; min-width: 2rem; height: 2rem; padding: 0 0.4rem; box-sizing: border-box; display: flex; align-items: center; justify-content: center; border-radius: 999px; background: var(--hs-gorse); color: var(--hs-ink); border: 2px solid var(--hs-ink); font-weight: 800; font-size: 0.95rem; pointer-events: none; }
.heb-pick__less { position: absolute; top: 0.25rem; left: 0.25rem; z-index: 2; width: 2.5rem; height: 2.5rem; border-radius: 999px; border: 2px solid var(--hs-ink); background: var(--hs-paper); color: var(--hs-ink); font-family: inherit; font-weight: 800; font-size: 1.4rem; line-height: 1; cursor: pointer; padding: 0; display: flex; align-items: center; justify-content: center; }
.heb-pick__less:focus-visible { outline: 3px solid var(--hs-gorse); outline-offset: 2px; }
.heb-pick__count[hidden], .heb-pick__less[hidden] { display: none; }
.heb-pick__qty { display: flex; align-items: center; gap: 0.5rem; margin-top: 0.4rem; font-size: 0.85rem; font-weight: 700; }
.heb-pick__qty input { width: 4.5rem; min-height: 40px; font: inherit; font-size: 1rem; }
.heb-taster.is-enhanced .heb-pick__qty { display: none; }
.heb-taster:not(.is-enhanced) .heb-pick__card { cursor: default; }
.heb-pick__card:disabled, .heb-slot__btn:disabled { color: inherit; opacity: 1; cursor: default; }
.heb-taster:not(.is-enhanced) .heb-pick__state { display: none; }
.heb-taster__box {
	flex: 1 1 280px; align-self: flex-start;
	background: var(--hs-paper); color: var(--hs-ink); border-radius: 6px; padding: 1.4rem;
	box-shadow: 8px 8px 0 var(--hs-gorse); display: flex; flex-direction: column; gap: 0.9rem;
}
.heb-taster__title { margin: 0; font-family: var(--hs-display); font-weight: 400; text-transform: uppercase; font-size: 1.8rem; }
.heb-taster__slots { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0.6rem; }
.heb-slot { aspect-ratio: 1 / 1; border: 2px dashed #8A8178; border-radius: 4px; display: flex; align-items: center; justify-content: center; overflow: hidden; position: relative; }
.heb-slot.is-filled { border-style: solid; border-color: var(--hs-ink); }
.heb-slot__btn { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; padding: 0; margin: 0; background: transparent; color: inherit; font: inherit; cursor: pointer; display: flex; align-items: center; justify-content: center; -webkit-tap-highlight-color: transparent; }
.heb-slot__btn:focus-visible { outline: 3px solid var(--hs-sound, #1F6FA8); outline-offset: 2px; }
.heb-taster:not(.is-enhanced) .heb-slot__btn { cursor: default; pointer-events: none; }
.heb-slot img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top; }
/* An empty space says "tap me"; a filled one has a little x to take it out. */
.heb-taster.is-enhanced .heb-slot:not(.is-filled) .heb-slot__btn::after { content: "+"; position: absolute; right: 0.3rem; bottom: 0.15rem; font-weight: 800; font-size: 1rem; color: #6B645C; }
.heb-slot.is-filled .heb-slot__btn::after { content: "×"; position: absolute; top: 0.2rem; right: 0.2rem; width: 1.4rem; height: 1.4rem; border-radius: 999px; background: var(--hs-ink); color: var(--hs-paper); font-weight: 800; font-size: 1rem; line-height: 1.4rem; text-align: center; z-index: 1; }
.heb-taster.is-full .heb-slot:not(.is-filled) .heb-slot__btn { cursor: default; }
/* The chooser: a sheet from the bottom on phones, a box in the middle on bigger screens. */
.heb-chooser { box-sizing: border-box; width: min(100vw, 32rem); max-width: 100vw; max-height: 85vh; margin: auto auto 0; padding: 0; border: 2px solid var(--hs-ink); border-bottom: 0; border-radius: 10px 10px 0 0; background: var(--hs-paper); color: var(--hs-ink); overflow: hidden; display: flex; flex-direction: column; }
.heb-chooser:not([open]) { display: none; }
.heb-chooser::backdrop { background: rgba(23, 21, 18, 0.55); }
@media (min-width: 700px) { .heb-chooser { margin: auto; border-bottom: 2px solid var(--hs-ink); border-radius: 8px; box-shadow: 8px 8px 0 var(--hs-gorse); } }
.heb-chooser__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 0.9rem 1rem; border-bottom: 2px solid var(--hs-ink); }
.heb-chooser__h { margin: 0; font-weight: 800; font-size: 1rem; }
.heb-chooser__done { min-height: 44px; padding: 0 1.1rem; border: 2px solid var(--hs-ink); border-radius: 4px; background: var(--hs-gorse); color: var(--hs-ink); font: inherit; font-weight: 800; cursor: pointer; }
.heb-chooser__list { list-style: none; margin: 0; padding: 0.5rem; overflow-y: auto; display: grid; gap: 0.4rem; }
.heb-chooser__item { width: 100%; display: flex; align-items: center; gap: 0.75rem; padding: 0.4rem 0.6rem 0.4rem 0.4rem; min-height: 56px; border: 2px solid var(--hs-ink); border-radius: 6px; background: var(--hs-card); color: var(--hs-ink); font: inherit; text-align: left; cursor: pointer; }
.heb-chooser__item.is-picked { background: #FFF3C4; }
.heb-chooser__item:disabled { opacity: 0.5; cursor: default; }
.heb-chooser__item:focus-visible { outline: 3px solid var(--hs-sound, #1F6FA8); outline-offset: 2px; }
.heb-chooser__img { flex: 0 0 48px; width: 48px; height: 48px; background: #fff; border-radius: 4px; overflow: hidden; }
.heb-chooser__img img { width: 100%; height: 100%; object-fit: contain; display: block; }
.heb-chooser__name { flex: 1 1 auto; font-family: var(--hs-hand); font-weight: 700; font-size: 1.3rem; line-height: 1.1; }
.heb-chooser__n { flex: 0 0 auto; min-width: 2.2rem; height: 2.2rem; display: flex; align-items: center; justify-content: center; border-radius: 999px; border: 2px solid var(--hs-ink); font-weight: 800; }
.heb-chooser__item.is-picked .heb-chooser__n { background: var(--hs-gorse); }
.heb-slot__n { font-family: var(--hs-hand); font-weight: 700; font-size: 1.4rem; color: #6B645C; }
.heb-taster__status { margin: 0; font-weight: 700; }
.heb-taster__submit { width: 100%; min-height: 52px; }
.heb-taster--fallback { padding: 1rem 0; }

/* ---------- Hero switch ---------- */
.heb-hero-switch { position: relative; }
.heb-hero-switch__controls { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; justify-content: center; margin: 32px auto 28px; }
.heb-hero-switch__controls[hidden] { display: none; }
/* 1.1.26 layout shift: with scripts on (html.heb-js, set in the head before anything paints), the
   tabs keep their space from the start and only the first slide shows, so nothing jumps when the
   switch wakes up. Without scripts, every slide still shows in turn, as before. */
.heb-js .heb-hero-switch__controls[hidden] { display: flex; visibility: hidden; }
.heb-js .heb-hero-switch:not(.is-enhanced) .heb-hero-switch__slides > .heb-hero-slide:not(:first-child) { display: none; }
.heb-hero-switch__tabs { display: inline-flex; border: var(--hs-line); border-radius: 999px; overflow: hidden; background: var(--hs-card); }
.heb-hero-switch__tab, .heb-hero-switch__play {
	min-height: 44px; padding: 0 1.25rem; border: 0; background: transparent; color: var(--hs-ink);
	font: inherit; font-weight: 800; cursor: pointer;
}
.heb-hero-switch__tab[aria-pressed="true"] { background: var(--hs-ink); color: var(--hs-paper); }
.heb-hero-switch__play { border: var(--hs-line); border-radius: 999px; background: var(--hs-card); }
/* The showing slide sets the height, so a short slide (tea) has no gap below it sized for a deeper
   one (coffee, wool). The others sit on top, faded out, and are clipped to the showing slide. */
.heb-hero-switch.is-enhanced .heb-hero-switch__slides { position: relative; clip-path: inset(-100vh -100vw 0 -100vw); } /* 1.1.10: clip the bottom only, so a slide fading out never shows over the next band, and the photo fan is never cut at the sides. */
.heb-hero-switch.is-enhanced .heb-hero-slide { transition: opacity 400ms ease, visibility 400ms; }
.heb-hero-switch.is-enhanced .heb-hero-slide:not(.is-active) { position: absolute; top: 0; left: 0; right: 0; opacity: 0; visibility: hidden; pointer-events: none; }
@media (prefers-reduced-motion: reduce) {
	.heb-hero-switch.is-enhanced .heb-hero-slide, .heb-progress__fill { transition: none; }
}
.heb-hero-switch.is-editing > .block-editor-inner-blocks > .block-editor-block-list__layout > * { border: 2px dashed #8A8178; margin-bottom: 1rem; }

/* Add both */
.heb-add-multi { margin: 0; }

/* ---------- Social feed (Curator.io restyled) ---------- */
.heb-social { display: flex; flex-direction: column; gap: 1.25rem; }
.heb-social__head { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0.5rem 1.25rem; }
.heb-social__title { margin: 0; font-family: var(--hs-display); font-weight: 400; text-transform: uppercase; font-size: clamp(2.2rem, 5vw, 3.25rem); line-height: 1; flex-basis: 100%; }
.heb-social__sub { margin: 0; font-family: var(--hs-hand); font-weight: 700; font-size: 1.5rem; flex-basis: 100%; }
.heb-follow { display: flex; flex-wrap: wrap; gap: 0.5rem; }
.heb-follow__btn { display: inline-flex; align-items: center; gap: 0.4rem; min-height: 44px; padding: 0 1rem; border: var(--hs-line); border-radius: 999px; background: var(--hs-card); color: var(--hs-ink); font-weight: 800; text-decoration: none; }
.heb-follow__btn:hover { background: var(--hs-ink); color: var(--hs-paper); }
.heb-follow__count { font-weight: 600; font-size: 0.85rem; }
.heb-social__tag { margin: 0; font-weight: 700; }
.heb-social__consent { border: 2px dashed var(--hs-ink); border-radius: 6px; padding: 1rem; display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: center; justify-content: space-between; }
.heb-social__consent[hidden] { display: none; }
.heb-social__consent p { margin: 0; }
.heb-social__feed { min-height: 60px; }
/* Curator's own posts are styled in the theme (theme.css, "Social feed"). */

/* ---------- Conversion extras ---------- */
.heb-add__save { margin: 0.35rem 0 0; font-size: 0.8rem; color: var(--hs-muted); flex-basis: 100%; }
.heb-add__save[hidden] { display: none; }
.heb-card__buy .heb-add { display: flex; flex-direction: column; align-items: stretch; }
.heb-taster__saving { margin: 0; font-weight: 800; color: var(--hs-green); }
.heb-trust { margin: 1rem 0; padding: 0.7rem 1rem; border: 2px dashed var(--hs-ink); border-radius: 6px; font-weight: 700; font-size: 0.95rem; text-align: center; }
.heb-bump { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 0.75rem; margin: 1rem 0; padding: 0.9rem 1rem; background: var(--hs-gorse); border: var(--hs-line); border-radius: 6px; }
.heb-bump__label { margin: 0; font-weight: 800; }
.heb-dispatch { margin: 0 0 1rem; padding: 0.7rem 1rem; background: var(--hs-card); border: var(--hs-line); border-left-width: 8px; border-radius: 4px; font-weight: 700; }
.heb-basket-bar__deadline { margin: 0; flex-basis: 100%; font-weight: 800; color: #8a5a00; }
.heb-basket-bar { transition: transform 250ms ease; }
@media (max-width: 600px) {
	.heb-basket-bar__inner { flex-wrap: nowrap; padding: 0.45rem 0.9rem; gap: 0.6rem; }
	.heb-basket-bar__inner.is-empty { display: none; }
	.heb-basket-bar:has(.is-empty) { border-top: 0; box-shadow: none; }
	.heb-basket-bar__progress { flex: 1 1 auto; gap: 0.2rem; }
	.heb-basket-bar__msg { font-size: 0.85rem; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
	.heb-basket-bar__deadline { display: none; }
	.heb-basket-bar .heb-progress { height: 6px; }
	.heb-basket-bar__go { min-height: 40px; padding: 0 0.9rem; }
	.heb-basket-bar.is-tucked { transform: translateY(110%); }
	body.has-heb-basket-bar { padding-bottom: 64px; }
}
@media (prefers-reduced-motion: reduce) { .heb-basket-bar { transition: none; } }
/* The pack-size drop-down stays in the page for WooCommerce's script, hidden behind the buttons. */
select.heb-select-replaced { display: none !important; }
.heb-gift-nudge { margin: 0 0 1rem; padding: 0.7rem 1rem; background: var(--hs-card); border: var(--hs-line); border-radius: 6px; font-weight: 700; }
/* Product page: pack buttons take the full width of the form */
form.variations_form table.variations, form.variations_form table.variations tbody, form.variations_form table.variations tr, form.variations_form table.variations th, form.variations_form table.variations td { display: block; width: 100%; padding: 0; text-align: left; }
form.variations_form table.variations th.label { font-weight: 800; margin-bottom: 0.25rem; }

.heb-last-chance {
	position: absolute; left: 0.5rem; bottom: 0.5rem; z-index: 2;
	background: var(--hs-gorse); color: var(--hs-ink); border: 2px solid var(--hs-ink); border-radius: 3px;
	font-weight: 800; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.04em; padding: 0.3rem 0.5rem; transform: rotate(-2deg);
}
.heb-last-chance-line { margin: 0 0 0.5rem; }
.heb-last-chance-line .heb-last-chance { position: static; display: inline-block; font-size: 0.9rem; }
.heb-vat { margin: 0.2rem 0 0; font-size: 0.85rem; color: var(--hs-muted); }
.heb-basket-bar__gift { font-weight: 700; font-size: 0.9rem; }
@media (max-width: 600px) { .heb-basket-bar__gift { display: none; } }
.heb-pack-buttons__btn[disabled] { opacity: 0.45; cursor: not-allowed; box-shadow: none; }
/* An empty basket needs no bar, at any width. */
.heb-basket-bar__inner.is-empty { display: none; }
.heb-basket-bar:has(.is-empty) { border-top: 0; box-shadow: none; }
body.has-heb-basket-bar:has(.heb-basket-bar__inner.is-empty) { padding-bottom: 0; }
