/* GENERATED by bas-shield-css.py from bas-site.css — do not edit; edit the source and re-run release.sh.
   Every BAS selector carries :not(#bas-shield):not(#bas-shield) so Divi's boosted global CSS
   (.et-db #et-boc .et-l …) cannot override it. See CLAUDE.md "Divi boosted CSS". */
/* ═══════════════════════════════════════════════════════════════════════════
 * BAS Sales Pages — site templates + footer (1.10.0).
 *
 * The product category pages, the Articles page and its archives, blog posts,
 * and the site footer. Sections, tones and headings come from bas-pages.css and
 * the site kit (bas-header); this file is only what those pages add.
 * The footer part loads on every page; it has no dependency on bas-pages.css.
 *
 * Mobile first. Brand colours only (#70ac43 #313131 #ff4c25 #fffbef #ffda3d
 * #c2e86b #ff6600 #30b2b4 #1d741b #ffffff). No white section grounds.
 * Shielded at release (bas-shield-css.py) — edit THIS file, never .shield.css.
 * ═══════════════════════════════════════════════════════════════════════════ */

/* ── Divi's Theme Builder footer steps aside when ours is on ─────────────── */
body.bas-has-foot:not(#bas-shield):not(#bas-shield) footer.et-l--footer,
body.bas-has-foot:not(#bas-shield):not(#bas-shield) #main-footer { display: none !important; }

/* ═══ Shared bits ══════════════════════════════════════════════════════════ */
.bs-pills:not(#bas-shield):not(#bas-shield) { display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; margin: 18px 0 0; }
.bs-pill:not(#bas-shield):not(#bas-shield) {
	display: inline-flex; align-items: center; min-height: 38px; padding: 7px 16px; border-radius: 999px;
	border: 1.5px solid var(--bas-line, #ddd2b0); background: #fff; color: var(--bas-ink, #313131);
	font-family: var(--bas-font-body); font-size: 14px; font-weight: 700; line-height: 1.2; text-decoration: none;
	transition: border-color .15s, color .15s, background .15s;
}
.bs-pill:not(#bas-shield):not(#bas-shield):hover, .bs-pill:not(#bas-shield):not(#bas-shield):focus-visible { border-color: var(--bas-green-500, #70ac43); color: var(--bas-green-700, #1d741b); }
.bs-pill:not(#bas-shield):not(#bas-shield).is-on {
	background: linear-gradient(135deg, var(--bas-green-300, #c2e86b), var(--bas-green-500, #70ac43) 60%, var(--bas-green-700, #1d741b));
	border-color: transparent; color: #fff;
}
.bs-pill--sm:not(#bas-shield):not(#bas-shield) { min-height: 32px; padding: 5px 13px; font-size: 13px; }
.bs-pills--sub:not(#bas-shield):not(#bas-shield) { margin-top: 10px; }
.bs-pills--sub:not(#bas-shield):not(#bas-shield) .bs-pill { background: rgba(255, 255, 255, .7); }

/* ═══ Product category pages ═══════════════════════════════════════════════ */
.bp-sec:not(#bas-shield):not(#bas-shield).bs-cathero { padding-bottom: clamp(36px, 5vw, 64px); }
.bs-cathero:not(#bas-shield):not(#bas-shield) .bp-wrap { display: grid; gap: 28px; align-items: center; }
.bs-cathero__copy:not(#bas-shield):not(#bas-shield) { text-align: center; max-width: 820px; margin: 0 auto; }
.bs-cathero__eyebrow:not(#bas-shield):not(#bas-shield) { margin: 0 0 10px; }
.bs-cathero__title:not(#bas-shield):not(#bas-shield) { margin: 0 0 14px; color: var(--bas-ink, #313131); }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-cathero__desc { margin: 0 auto; }
.bs-cathero__art:not(#bas-shield):not(#bas-shield) { margin: 0; justify-self: center; width: 100%; max-width: 460px; }
.bs-cathero__art:not(#bas-shield):not(#bas-shield)[hidden] { display: none !important; }
.bs-cathero__art:not(#bas-shield):not(#bas-shield) img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; box-shadow: 0 24px 60px rgba(49, 49, 49, .18); }
@media (min-width: 900px) {
	.bs-cathero--img:not(#bas-shield):not(#bas-shield) .bp-wrap { grid-template-columns: 1.15fr .85fr; }
	.bs-cathero--img:not(#bas-shield):not(#bas-shield) .bs-cathero__copy { text-align: left; margin: 0; }
	.bs-cathero--img:not(#bas-shield):not(#bas-shield) .bs-pills { justify-content: flex-start; }
	.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-cathero--img .bs-cathero__desc { margin-left: 0; }
}
.bp-sec:not(#bas-shield):not(#bas-shield).bs-shop { padding-top: clamp(28px, 4vw, 48px); }
.bs-shop:not(#bas-shield):not(#bas-shield) .bas-sm__filters { background: #fff; border-radius: 18px; box-shadow: 0 10px 30px rgba(49, 49, 49, .06); }
.bs-shop:not(#bas-shield):not(#bas-shield) .bas-sm__canvas { border-radius: 18px; overflow: hidden; }
.bs-shop:not(#bas-shield):not(#bas-shield) .bas-sm__card { border-radius: 16px; overflow: hidden; }

/* ═══ Articles: hero + controls ════════════════════════════════════════════ */
.bp-sec:not(#bas-shield):not(#bas-shield).bs-ahero { text-align: center; padding-bottom: clamp(36px, 5vw, 56px); }
.bs-ahero__title:not(#bas-shield):not(#bas-shield) { margin: 6px 0 12px; color: var(--bas-ink, #313131); }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-ahero__lede { margin: 0 auto; }
.bs-controls:not(#bas-shield):not(#bas-shield) { display: flex; flex-direction: column; gap: 10px; max-width: 760px; margin: 26px auto 0; }
.bs-search:not(#bas-shield):not(#bas-shield) { position: relative; flex: 1; }
.bs-search:not(#bas-shield):not(#bas-shield) svg { position: absolute; left: 18px; top: 50%; transform: translateY(-50%); color: #6b6b5e; pointer-events: none; }
.bs-search__q:not(#bas-shield):not(#bas-shield), .bs-sort:not(#bas-shield):not(#bas-shield) {
	width: 100%; min-height: 52px; border-radius: 999px; border: 1.5px solid var(--bas-line, #ddd2b0); background: #fff;
	font-family: var(--bas-font-body); font-size: 16px; color: var(--bas-ink, #313131);
}
.bs-search__q:not(#bas-shield):not(#bas-shield) { padding: 12px 20px 12px 46px; }
.bs-sort:not(#bas-shield):not(#bas-shield) { padding: 12px 40px 12px 18px; appearance: none; -webkit-appearance: none; cursor: pointer;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23313131' stroke-width='1.8'/%3E%3C/svg%3E") no-repeat right 18px center; }
.bs-search__q:not(#bas-shield):not(#bas-shield):focus, .bs-sort:not(#bas-shield):not(#bas-shield):focus { outline: 3px solid rgba(48, 178, 180, .3); border-color: var(--bas-teal, #30b2b4); }
@media (min-width: 640px) { .bs-controls:not(#bas-shield):not(#bas-shield) { flex-direction: row; } .bs-sort:not(#bas-shield):not(#bas-shield) { width: 200px; flex: 0 0 200px; } }

/* ═══ Articles: cards ══════════════════════════════════════════════════════ */
.bp-sec:not(#bas-shield):not(#bas-shield).bs-loop { padding-top: clamp(36px, 5vw, 56px); }
.bs-card:not(#bas-shield):not(#bas-shield) {
	display: flex; flex-direction: column; background: #fff; border-radius: 18px; overflow: hidden;
	box-shadow: 0 10px 30px rgba(49, 49, 49, .08); transition: transform .2s ease, box-shadow .2s ease; min-width: 0;
}
.bs-card:not(#bas-shield):not(#bas-shield):hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(49, 49, 49, .12); }
.bs-card__img:not(#bas-shield):not(#bas-shield) { display: block; aspect-ratio: 16 / 10; overflow: hidden; background: #fffbef; }
.bs-card__img:not(#bas-shield):not(#bas-shield) img { width: 100%; height: 100% !important; object-fit: cover; display: block; transition: transform .35s ease; }
.bs-card:not(#bas-shield):not(#bas-shield):hover .bs-card__img img { transform: scale(1.04); }
.bs-card__noimg:not(#bas-shield):not(#bas-shield) { display: block; width: 100%; height: 100%; background: var(--bas-green-300, #c2e86b); opacity: .45; }
.bs-card__body:not(#bas-shield):not(#bas-shield) { display: flex; flex-direction: column; align-items: flex-start; gap: 8px; padding: 20px 22px 24px; flex: 1; }
.bs-card__tags:not(#bas-shield):not(#bas-shield) { display: flex; flex-wrap: wrap; gap: 6px; }
.bs-tag:not(#bas-shield):not(#bas-shield) { background: var(--bas-ink, #313131); color: #fff; border-radius: 4px; padding: 3px 8px; font-size: 10.5px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; line-height: 1.3; }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-card__title { font-family: var(--bas-font-display); font-weight: 700; font-size: 21px; line-height: 1.25; margin: 2px 0 0; padding: 0; }
.bs-card__title:not(#bas-shield):not(#bas-shield) a { color: var(--bas-ink, #313131); text-decoration: none; }
.bs-card__title:not(#bas-shield):not(#bas-shield) a:hover { color: var(--bas-green-700, #1d741b); }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-card__date { font-size: 13px; font-weight: 700; color: #6b6b5e; margin: 0; }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-card__excerpt { font-size: 15.5px; line-height: 1.6; margin: 0; }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-card__btn { margin-top: auto; }
.bs-card__body:not(#bas-shield):not(#bas-shield) .bs-card__btn { margin-top: auto; }
.bs-card__excerpt:not(#bas-shield):not(#bas-shield) { margin-bottom: 8px !important; }

/* The big card at the top */
.bs-lead:not(#bas-shield):not(#bas-shield) { margin: 0 0 28px; }
.bs-lead:not(#bas-shield):not(#bas-shield)[hidden] { display: none !important; }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-card--lead .bs-card__title { font-size: clamp(24px, 2.6vw, 34px); }
.bs-card--lead:not(#bas-shield):not(#bas-shield) .bs-card__body { padding: 24px 24px 28px; justify-content: center; }
@media (min-width: 800px) {
	.bs-card--lead:not(#bas-shield):not(#bas-shield) { display: grid; grid-template-columns: 1fr 1fr; }
	.bs-card--lead:not(#bas-shield):not(#bas-shield) .bs-card__img { aspect-ratio: auto; min-height: 340px; }
	.bs-card--lead:not(#bas-shield):not(#bas-shield) .bs-card__body { padding: 40px 44px; gap: 12px; }
	.bs-card--lead:not(#bas-shield):not(#bas-shield) .bs-card__btn { margin-top: 10px; }
}

/* The grid. Rows always come out even (Amy: "always the same number per
   column"): one column on phones, two on tablets, three on desktop — and when
   the posts run out mid-row, the last one or two cards widen to fill it.
   Built on a 4-track (tablet) / 6-track (desktop) grid so a card can span
   half or all of a row. */
.bs-grid:not(#bas-shield):not(#bas-shield) { display: grid; grid-template-columns: 1fr; gap: 24px; }
@media (min-width: 640px) {
	.bs-grid:not(#bas-shield):not(#bas-shield) { grid-template-columns: repeat(4, minmax(0, 1fr)); }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card { grid-column: span 2; }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
}
@media (min-width: 1000px) {
	.bs-grid:not(#bas-shield):not(#bas-shield) { grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 28px; }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card,
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(odd) { grid-column: span 2; }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(3n+1) { grid-column: 1 / -1; }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:nth-last-child(2):nth-child(3n+1),
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(3n+2) { grid-column: span 3; }
}
/* A card that fills a whole row lies on its side, like the big one. */
@media (min-width: 640px) and (max-width: 999.98px) {
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(odd) { display: grid; grid-template-columns: 1fr 1fr; }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(odd) .bs-card__img { aspect-ratio: auto; min-height: 240px; }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(odd) .bs-card__body { justify-content: center; }
}
@media (min-width: 1000px) {
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(3n+1) { display: grid; grid-template-columns: 1fr 1fr; }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(3n+1) .bs-card__img { aspect-ratio: auto; min-height: 280px; }
	.bs-grid:not(#bas-shield):not(#bas-shield) > .bs-card:last-child:nth-child(3n+1) .bs-card__body { justify-content: center; padding: 32px 36px; }
}
.bs-status:not(#bas-shield):not(#bas-shield) { text-align: center; font-weight: 700; color: #6b6b5e; margin: 18px 0 0; min-height: 1em; }
.bs-status:not(#bas-shield):not(#bas-shield):empty { margin: 0; }
.bs-more:not(#bas-shield):not(#bas-shield) { margin-top: 32px; }
.bs-more:not(#bas-shield):not(#bas-shield)[hidden] { display: none !important; }
.bs-empty:not(#bas-shield):not(#bas-shield) { text-align: center; font-size: 18px; }

/* ═══ A blog post ══════════════════════════════════════════════════════════ */
.bp-sec:not(#bas-shield):not(#bas-shield).bs-phead { text-align: center; padding-bottom: clamp(40px, 6vw, 72px); }
.bp-sec:not(#bas-shield):not(#bas-shield).bs-phead--img { padding-bottom: clamp(120px, 14vw, 190px); }
.bs-phead:not(#bas-shield):not(#bas-shield) .bp-wrap { max-width: 920px; }
.bs-pills--post:not(#bas-shield):not(#bas-shield) { margin: 0 0 16px; }
.bs-phead__title:not(#bas-shield):not(#bas-shield) { margin: 0 0 14px; color: var(--bas-ink, #313131); }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-phead__lede { margin: 0 auto 10px; }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-meta { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 10px; margin: 18px 0 0; font-size: 15px; color: #57574d; }
.bs-meta__avatar:not(#bas-shield):not(#bas-shield) { width: 40px; height: 40px; border-radius: 50%; border: 2px solid #fff; box-shadow: 0 2px 8px rgba(49, 49, 49, .15); }
.bs-meta:not(#bas-shield):not(#bas-shield) strong { color: var(--bas-ink, #313131); }
.bs-meta:not(#bas-shield):not(#bas-shield) a { color: var(--bas-green-700, #1d741b); font-weight: 700; }
.bs-meta__dot:not(#bas-shield):not(#bas-shield) { color: var(--bas-tomato, #ff4c25); font-weight: 900; }
/* Save · Rate · Print · Share (1.10.1) */
.bs-actions:not(#bas-shield):not(#bas-shield) { display: inline-flex; flex-wrap: wrap; justify-content: center; align-items: stretch; margin: 22px auto 0; background: #fff; border-radius: 999px; box-shadow: 0 6px 20px rgba(49, 49, 49, .08); padding: 5px; gap: 2px; }
.bs-act:not(#bas-shield):not(#bas-shield) {
	display: inline-flex; align-items: center; gap: 7px; min-height: 42px; padding: 8px 18px; border: 0; border-radius: 999px;
	background: transparent; color: var(--bas-ink, #313131); font-family: var(--bas-font-body); font-size: 13px; font-weight: 900;
	letter-spacing: .1em; text-transform: uppercase; text-decoration: none; cursor: pointer; line-height: 1; transition: background .15s, color .15s;
}
.bs-act:not(#bas-shield):not(#bas-shield):hover, .bs-act:not(#bas-shield):not(#bas-shield):focus-visible, .bs-act:not(#bas-shield):not(#bas-shield)[aria-expanded="true"] { background: #fffbef; color: var(--bas-green-700, #1d741b); }
.bs-act--save:not(#bas-shield):not(#bas-shield), .bs-act--save:not(#bas-shield):not(#bas-shield):hover, .bs-act--save:not(#bas-shield):not(#bas-shield):focus-visible { background: var(--bas-tomato, #ff4c25); color: #fff; box-shadow: 0 3px 0 rgba(196, 51, 24, .3); }
.bs-act--save:not(#bas-shield):not(#bas-shield):hover { filter: brightness(1.05); color: #fff; }
.bs-act-wrap:not(#bas-shield):not(#bas-shield) { position: relative; display: inline-flex; }
.bs-sharemenu:not(#bas-shield):not(#bas-shield) {
	position: absolute; z-index: 30; top: calc(100% + 10px); right: 0; min-width: 210px; display: flex; flex-direction: column;
	background: #fff; border-radius: 16px; padding: 8px; box-shadow: 0 18px 44px rgba(49, 49, 49, .18); text-align: left;
}
.bs-sharemenu:not(#bas-shield):not(#bas-shield)[hidden] { display: none !important; }
.bs-sharemenu__item:not(#bas-shield):not(#bas-shield) {
	display: flex; align-items: center; gap: 12px; padding: 8px 10px; border: 0; border-radius: 10px; background: transparent; cursor: pointer;
	font-family: var(--bas-font-body); font-size: 15px; font-weight: 700; color: var(--bas-ink, #313131); text-decoration: none; text-align: left;
}
.bs-sharemenu__item:not(#bas-shield):not(#bas-shield):hover, .bs-sharemenu__item:not(#bas-shield):not(#bas-shield):focus-visible { background: #fffbef; color: var(--bas-green-700, #1d741b); }
.bs-sharemenu__ico:not(#bas-shield):not(#bas-shield) { display: inline-grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; color: #fff; flex: 0 0 32px; }
.bs-sharemenu__ico:not(#bas-shield):not(#bas-shield) svg { width: 16px; height: 16px; }
.bs-sharemenu:not(#bas-shield):not(#bas-shield) .bs-share__done { margin-left: auto; font-size: 12px; }
/* The share menu opens over the photo, which overlaps the header. */
.bp-sec:not(#bas-shield):not(#bas-shield).bs-phead .bp-wrap { z-index: 3; }
@media (max-width: 520px) {
	.bs-actions:not(#bas-shield):not(#bas-shield) { display: flex; flex-wrap: nowrap; width: 100%; max-width: 380px; }
	.bs-act:not(#bas-shield):not(#bas-shield) { flex: 1 1 0; justify-content: center; gap: 5px; padding: 8px 6px; font-size: 11.5px; letter-spacing: .04em; }
	.bs-act-wrap:not(#bas-shield):not(#bas-shield) { flex: 1 1 0; }
	.bs-act-wrap:not(#bas-shield):not(#bas-shield) .bs-act { width: 100%; }
	.bs-act:not(#bas-shield):not(#bas-shield) svg { width: 15px; height: 15px; flex: 0 0 15px; }
	.bs-sharemenu:not(#bas-shield):not(#bas-shield) { right: auto; left: 50%; transform: translateX(-50%); }
}
.bs-pimg:not(#bas-shield):not(#bas-shield) { position: relative; z-index: 2; margin-top: clamp(-170px, -12vw, -96px); }
.bs-pimg:not(#bas-shield):not(#bas-shield) .bp-wrap { max-width: 1120px; }
.bs-pimg:not(#bas-shield):not(#bas-shield) img { width: 100%; max-height: 640px; object-fit: cover; border-radius: 22px; box-shadow: 0 24px 60px rgba(49, 49, 49, .18); display: block; }
.bs-pbody:not(#bas-shield):not(#bas-shield) { padding: clamp(36px, 5vw, 64px) 0 clamp(56px, 7vw, 88px); }

/* The article itself: a comfortable measure. Divi built the posts, so its
   section/row/column boxes are flattened to the column width here. */
.bs-prose:not(#bas-shield):not(#bas-shield) { max-width: 760px; margin: 0 auto; font-size: 18px; line-height: 1.75; color: var(--bas-ink, #313131); }
.bs-prose:not(#bas-shield):not(#bas-shield) .et_pb_section, .bs-prose:not(#bas-shield):not(#bas-shield) .et_block_section { padding: 0 !important; margin: 0 !important; background: transparent !important; width: auto !important; }
.bs-prose:not(#bas-shield):not(#bas-shield) .et_pb_row, .bs-prose:not(#bas-shield):not(#bas-shield) .et_block_row { width: 100% !important; max-width: none !important; padding: 0 !important; margin: 0 !important; }
.bs-prose:not(#bas-shield):not(#bas-shield) .et_pb_column, .bs-prose:not(#bas-shield):not(#bas-shield) .et_block_column { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.bs-prose:not(#bas-shield):not(#bas-shield) .et_pb_module { margin-bottom: 1.6em; }
.bs-prose:not(#bas-shield):not(#bas-shield) img { max-width: 100%; height: auto; }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > :is(p, ul, ol) { font-size: 18px; line-height: 1.75; margin: 0 0 1.15em; padding: 0; }
.bs-prose:not(#bas-shield):not(#bas-shield) > :is(p, ul, ol) { font-size: 18px; line-height: 1.75; margin: 0 0 1.15em; padding: 0; }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > :is(ul, ol), .bs-prose:not(#bas-shield):not(#bas-shield) > :is(ul, ol) { padding-left: 1.3em; }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > ul, .bs-prose:not(#bas-shield):not(#bas-shield) > ul { list-style: disc; }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > ol, .bs-prose:not(#bas-shield):not(#bas-shield) > ol { list-style: decimal; }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) li, .bs-prose:not(#bas-shield):not(#bas-shield) > :is(ul, ol) li { margin: 0 0 .45em; }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) li::marker, .bs-prose:not(#bas-shield):not(#bas-shield) > :is(ul, ol) li::marker { color: var(--bas-green-500, #70ac43); }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > h2, .bs-prose:not(#bas-shield):not(#bas-shield) > h2 {
	font-family: var(--bas-font-display); font-weight: 700; font-size: var(--bas-fs-h3, 28px); line-height: 1.22;
	color: var(--bas-ink, #313131); margin: 1.7em 0 .55em; padding: 0;
}
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > h3, .bs-prose:not(#bas-shield):not(#bas-shield) > h3 {
	font-family: var(--bas-font-display); font-weight: 700; font-size: 22px; line-height: 1.3;
	color: var(--bas-ink, #313131); margin: 1.5em 0 .45em; padding: 0;
}
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > :first-child, .bs-prose:not(#bas-shield):not(#bas-shield) > :first-child { margin-top: 0; }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > :is(p, ul, ol) a, .bs-prose:not(#bas-shield):not(#bas-shield) > :is(p, ul, ol) a {
	color: var(--bas-green-700, #1d741b); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px;
}
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > blockquote, .bs-prose:not(#bas-shield):not(#bas-shield) > blockquote {
	margin: 1.6em 0; padding: 4px 0 4px 22px; border-left: 4px solid var(--bas-green-500, #70ac43);
	font-family: var(--bas-font-display); font-style: italic; font-size: 22px; line-height: 1.45; color: var(--bas-green-700, #1d741b);
}
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > :is(figure, p) img, .bs-prose:not(#bas-shield):not(#bas-shield) > :is(figure, p) img { border-radius: 16px; height: auto; }

.bs-pfoot:not(#bas-shield):not(#bas-shield) { max-width: 760px; margin: 40px auto 0; padding-top: 24px; border-top: 1px solid #eee3c8; display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; }
.bs-pfoot__tags:not(#bas-shield):not(#bas-shield) { margin: 0; justify-content: flex-start; }
.bs-ptop:not(#bas-shield):not(#bas-shield) { max-width: 760px; margin: 0 auto 22px; display: flex; justify-content: flex-end; } /* 1.15.1 — share row above the article */
@media (max-width: 640px) { .bs-ptop:not(#bas-shield):not(#bas-shield) { justify-content: flex-start; } .bs-ptop:not(#bas-shield):not(#bas-shield) .bs-share { margin-left: 0; } }
.bs-share:not(#bas-shield):not(#bas-shield) { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin-left: auto; }
.bs-share__label:not(#bas-shield):not(#bas-shield) { font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--bas-green-700, #1d741b); margin-right: 4px; }
.bs-share__btn:not(#bas-shield):not(#bas-shield) {
	display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 0; cursor: pointer;
	color: #fff; text-decoration: none; transition: transform .15s ease;
}
.bs-share__btn:not(#bas-shield):not(#bas-shield):hover { transform: translateY(-2px); color: #fff; }
.bs-share__btn--facebook:not(#bas-shield):not(#bas-shield) { background: var(--bas-teal, #30b2b4); }
.bs-share__btn--pinterest:not(#bas-shield):not(#bas-shield) { background: var(--bas-tomato, #ff4c25); }
.bs-share__btn--copy:not(#bas-shield):not(#bas-shield) { background: var(--bas-ink, #313131); }
.bs-share__btn--x:not(#bas-shield):not(#bas-shield) { background: var(--bas-ink, #313131); }
.bs-share__btn--email:not(#bas-shield):not(#bas-shield) { background: var(--bas-green-500, #70ac43); }
.bs-share__done:not(#bas-shield):not(#bas-shield) { font-size: 13px; font-weight: 800; color: var(--bas-green-700, #1d741b); }
.bs-share__done:not(#bas-shield):not(#bas-shield)[hidden] { display: none !important; }

.bs-author:not(#bas-shield):not(#bas-shield) { max-width: 760px; margin: 32px auto 0; display: flex; gap: 18px; align-items: center; background: #fff; border-radius: 18px; padding: 22px 24px; box-shadow: 0 10px 30px rgba(49, 49, 49, .06); }
.bs-author__img:not(#bas-shield):not(#bas-shield) { width: 72px; height: 72px; border-radius: 50%; flex: 0 0 72px; }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-author .bas-eyebrow { margin: 0 0 2px; }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-author__name { font-family: var(--bas-font-display); font-weight: 700; font-size: 21px; margin: 0; }
.bas-pages-main:not(#bas-shield):not(#bas-shield) .bs-author__bio { font-size: 15.5px; margin: 6px 0 0; }

.bs-comments__box:not(#bas-shield):not(#bas-shield) { max-width: 760px; margin: 0 auto; background: #fff; border-radius: 18px; padding: clamp(22px, 4vw, 36px); box-shadow: 0 10px 30px rgba(49, 49, 49, .06); }
.bs-comments__box:not(#bas-shield):not(#bas-shield) h1, .bs-comments__box:not(#bas-shield):not(#bas-shield) h3, .bs-comments__box:not(#bas-shield):not(#bas-shield) #reply-title { font-family: var(--bas-font-display); font-size: 24px; line-height: 1.3; margin: 0 0 14px; }
.bs-comments__box:not(#bas-shield):not(#bas-shield) input[type="text"], .bs-comments__box:not(#bas-shield):not(#bas-shield) input[type="email"], .bs-comments__box:not(#bas-shield):not(#bas-shield) input[type="url"], .bs-comments__box:not(#bas-shield):not(#bas-shield) textarea {
	width: 100%; border: 1.5px solid var(--bas-line, #ddd2b0); border-radius: 12px; padding: 12px 14px; font: inherit; font-size: 16px; background: #fffbef;
}
.bs-comments__box:not(#bas-shield):not(#bas-shield) input[type="submit"], .bs-comments__box:not(#bas-shield):not(#bas-shield) .submit {
	display: inline-flex; border: 0; border-radius: 999px; padding: 12px 26px; cursor: pointer; font-weight: 800; font-size: 15px; color: #fff;
	background: linear-gradient(135deg, var(--bas-green-300, #c2e86b), var(--bas-green-500, #70ac43) 60%, var(--bas-green-700, #1d741b));
	box-shadow: 0 4px 0 rgba(29, 116, 27, .35);
}

/* ═══ Footer ═══════════════════════════════════════════════════════════════ */
.bas-foot:not(#bas-shield):not(#bas-shield) {
	font-family: var(--bas-font-body, 'Lato', system-ui, sans-serif); font-size: 16px; line-height: 1.6;
	color: var(--bas-ink, #313131); text-align: left; clear: both;
}
.bas-foot:not(#bas-shield):not(#bas-shield) *, .bas-foot:not(#bas-shield):not(#bas-shield) *::before, .bas-foot:not(#bas-shield):not(#bas-shield) *::after { box-sizing: border-box; }
.bas-foot:not(#bas-shield):not(#bas-shield) img { max-width: 100%; height: auto; display: block; }
.bas-foot:not(#bas-shield):not(#bas-shield) p { margin: 0; padding: 0; }
.bas-foot:not(#bas-shield):not(#bas-shield) ul { margin: 0; padding: 0; list-style: none; }
.bas-foot__wrap:not(#bas-shield):not(#bas-shield) { width: 100%; max-width: 1180px; margin: 0 auto; padding: 0 20px; }

/* Band: Your Neighborhood is Looking for You! */
.bas-foot__band:not(#bas-shield):not(#bas-shield) {
	padding: clamp(56px, 8vw, 104px) 0;
	background-color: #fffbef;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 1 54 16v30L28 61 2 46V16z M28 61 54 76v30M2 76l26-15' fill='none' stroke='%23ffda3d' stroke-opacity='.45' stroke-width='1.4'/%3E%3C/svg%3E");
	background-size: 56px 97px;
	border-top: 1px solid #eee3c8;
}
.bas-foot__band-in:not(#bas-shield):not(#bas-shield) { display: grid; gap: 40px; align-items: center; }
.bas-foot__art:not(#bas-shield):not(#bas-shield) { position: relative; max-width: 520px; width: 100%; justify-self: center; padding: 0 18px 30px 0; }
.bas-foot__photo:not(#bas-shield):not(#bas-shield) { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 22px; box-shadow: 0 24px 60px rgba(49, 49, 49, .18); }
.bas-foot__illo:not(#bas-shield):not(#bas-shield) { position: absolute; right: -6px; bottom: -6px; width: 34% !important; filter: drop-shadow(0 10px 18px rgba(49, 49, 49, .18)); }
.bas-foot__band-copy:not(#bas-shield):not(#bas-shield) { text-align: center; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__band-title { color: var(--bas-ink, #313131); margin: 0 0 14px; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__band-text { margin: 0 auto 24px; }
@media (min-width: 900px) {
	.bas-foot__band-in:not(#bas-shield):not(#bas-shield) { grid-template-columns: 1fr 1fr; gap: 64px; }
	.bas-foot__band-copy:not(#bas-shield):not(#bas-shield) { text-align: left; }
	.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__band-text { margin-left: 0; }
}

/* Main: charcoal */
.bas-foot__main:not(#bas-shield):not(#bas-shield) { background: var(--bas-ink, #313131); color: #fffbef; padding: clamp(56px, 7vw, 88px) 0 28px; }
.bas-foot__top:not(#bas-shield):not(#bas-shield) { display: grid; gap: 36px; align-items: start; padding-bottom: 44px; border-bottom: 1px solid rgba(255, 251, 239, .14); }
.bas-foot__badge:not(#bas-shield):not(#bas-shield) { width: 84px !important; height: 84px; border-radius: 50%; margin: 0 0 18px; background: #fffbef; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__tag { color: #fffbef; margin: 0 0 8px; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__tag em { color: var(--bas-green-300, #c2e86b); }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__sub { font-weight: 800; color: var(--bas-yellow, #ffda3d); margin: 0 0 14px; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__about { color: rgba(255, 251, 239, .8); font-size: 15.5px; max-width: 560px; margin: 0 0 22px; }
.bas-foot__news:not(#bas-shield):not(#bas-shield) { background: var(--bas-green-700, #1d741b); border-radius: 22px; padding: clamp(24px, 4vw, 36px); color: #fffbef; box-shadow: 0 18px 44px rgba(0, 0, 0, .22); }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__news-title { color: #fffbef; margin: 0 0 8px; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__news-sub { color: rgba(255, 251, 239, .88); margin: 0 0 18px; }
.bas-foot__fields:not(#bas-shield):not(#bas-shield) { display: grid; gap: 10px; }
.bas-foot__in:not(#bas-shield):not(#bas-shield) {
	width: 100%; min-height: 50px; border-radius: 999px; border: 0; padding: 12px 20px; background: #fffbef;
	font-family: var(--bas-font-body); font-size: 16px; color: var(--bas-ink, #313131);
}
.bas-foot__in:not(#bas-shield):not(#bas-shield):focus { outline: 3px solid var(--bas-green-300, #c2e86b); outline-offset: 2px; }
.bas-foot__go:not(#bas-shield):not(#bas-shield) { width: 100%; }
.bas-foot__news:not(#bas-shield):not(#bas-shield).is-done .bas-foot__fields { display: none; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__msg { margin: 12px 0 0; font-weight: 800; min-height: 1em; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__msg:empty { margin: 0; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__msg.is-ok { color: #fffbef; font-size: 17px; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__msg.is-err { color: var(--bas-yellow, #ffda3d); }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__promise { font-size: 13px; color: rgba(255, 251, 239, .7); margin: 12px 0 0; }
.bas-foot__sr:not(#bas-shield):not(#bas-shield) { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.bas-foot__hp:not(#bas-shield):not(#bas-shield) { position: absolute !important; left: -9999px; width: 1px; height: 1px; opacity: 0; }
@media (min-width: 640px) {
	.bas-foot__fields:not(#bas-shield):not(#bas-shield) { grid-template-columns: 1fr 1fr; }
	.bas-foot__go:not(#bas-shield):not(#bas-shield) { grid-column: 1 / -1; }
}
@media (min-width: 960px) {
	.bas-foot__top:not(#bas-shield):not(#bas-shield) { grid-template-columns: 1.1fr .9fr; gap: 56px; }
}

.bas-foot__cols:not(#bas-shield):not(#bas-shield) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 32px 24px; padding: 44px 0; }
.bas-foot:not(#bas-shield):not(#bas-shield) .bas-foot__head { font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--bas-green-300, #c2e86b); margin: 0 0 14px; }
.bas-foot__col:not(#bas-shield):not(#bas-shield) li { margin: 0 0 8px; line-height: 1.4; }
.bas-foot__col:not(#bas-shield):not(#bas-shield) a { color: rgba(255, 251, 239, .82); font-size: 14.5px; text-decoration: none; transition: color .15s; }
.bas-foot__col:not(#bas-shield):not(#bas-shield) a:hover, .bas-foot__col:not(#bas-shield):not(#bas-shield) a:focus-visible { color: var(--bas-green-300, #c2e86b); text-decoration: underline; text-underline-offset: 3px; }
@media (min-width: 760px) { .bas-foot__cols:not(#bas-shield):not(#bas-shield) { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1100px) { .bas-foot__cols:not(#bas-shield):not(#bas-shield) { grid-template-columns: repeat(5, minmax(0, 1fr)); } }

.bas-foot__bottom:not(#bas-shield):not(#bas-shield) { display: flex; flex-wrap: wrap; gap: 16px; align-items: center; justify-content: space-between; padding-top: 24px; border-top: 1px solid rgba(255, 251, 239, .14); }
.bas-foot__bottom:not(#bas-shield):not(#bas-shield) > p { font-size: 13.5px; color: rgba(255, 251, 239, .7); }
.bas-foot__social:not(#bas-shield):not(#bas-shield) { display: flex; gap: 10px; }
.bas-foot__soc:not(#bas-shield):not(#bas-shield) { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; color: #fff; text-decoration: none; transition: transform .15s ease; }
.bas-foot__soc:not(#bas-shield):not(#bas-shield):hover, .bas-foot__soc:not(#bas-shield):not(#bas-shield):focus-visible { transform: translateY(-2px); color: #fff; }
.bas-foot__soc--facebook:not(#bas-shield):not(#bas-shield)  { background: var(--bas-teal, #30b2b4); }
.bas-foot__soc--instagram:not(#bas-shield):not(#bas-shield) { background: var(--bas-tomato, #ff4c25); }
.bas-foot__soc--youtube:not(#bas-shield):not(#bas-shield)   { background: #ff6600; }
.bas-foot__soc--tiktok:not(#bas-shield):not(#bas-shield)    { background: var(--bas-yellow, #ffda3d); color: var(--bas-ink, #313131); }
.bas-foot__soc--tiktok:not(#bas-shield):not(#bas-shield):hover { color: var(--bas-ink, #313131); }
.bas-foot__soc--pinterest:not(#bas-shield):not(#bas-shield) { background: var(--bas-green-500, #70ac43); }
.bas-foot__soc:not(#bas-shield):not(#bas-shield) svg { width: 18px; height: 18px; }

/* ═══ Recipe card on a blog post (1.10.1) ═════════════════════════════════
 * bas-recipe 2.8.0 makes the card white everywhere and gives "Jump to Recipe"
 * the site button; nothing to do here for those. */

/* ═══ Print (1.10.1) ════════════════════════════════════════════════════════
 * A recipe prints the card on its own (bas-recipe's print sheet does the card;
 * it hides everything that isn't a Divi section, which used to include this
 * whole page). Any other article prints the article. */
@media print {
	body.bas-site--post:not(#bas-shield):not(#bas-shield) #et-main-area > main#bas-pages,
	body.bas-site--post:not(#bas-shield):not(#bas-shield) main#bas-pages .bs-post,
	body.bas-site--post:not(#bas-shield):not(#bas-shield) main#bas-pages .bs-pbody,
	body.bas-site--post:not(#bas-shield):not(#bas-shield) main#bas-pages .bs-prose { display: block !important; }
	body.bas-site--post:not(#bas-shield):not(#bas-shield) .bs-actions, body.bas-site--post:not(#bas-shield):not(#bas-shield) .bs-pfoot, body.bas-site--post:not(#bas-shield):not(#bas-shield) .bs-author,
	body.bas-site--post:not(#bas-shield):not(#bas-shield) .bs-related, body.bas-site--post:not(#bas-shield):not(#bas-shield) .bs-comments, body.bas-site--post:not(#bas-shield):not(#bas-shield) .bas-foot,
	body.bas-site--post:not(#bas-shield):not(#bas-shield) .bs-pills, body.bas-site--post:not(#bas-shield):not(#bas-shield) header.et-l--header { display: none !important; }
	body.bas-site--post:not(#bas-shield):not(#bas-shield) .bp-sec.bs-phead { padding: 0 0 12px !important; background: none !important; }
	body.bas-site--post:not(#bas-shield):not(#bas-shield) .bs-pimg { margin: 0 !important; }
	body.bas-site--post:not(#bas-shield):not(#bas-shield) .bs-pimg img { max-height: 3.5in; box-shadow: none !important; }
	body.bs-has-recipe:not(#bas-shield):not(#bas-shield) .bs-phead, body.bs-has-recipe:not(#bas-shield):not(#bas-shield) .bs-pimg,
	body.bs-has-recipe:not(#bas-shield):not(#bas-shield) .bs-prose .bas-jump-to-recipe,
	body.bs-has-recipe:not(#bas-shield):not(#bas-shield) .bs-prose .et_pb_module:not(:has(.bas-recipe-card)),
	body.bs-has-recipe:not(#bas-shield):not(#bas-shield) .bs-prose > :not(:has(.bas-recipe-card)):not(.bas-recipe-card) { display: none !important; }
}

/* ═══ 1.14.0 — Category colours ════════════════════════════════════════════
 * Every category wears one brand colour, everywhere (BAS_Pages_Site::cat_color). */
.bs-c-tomato:not(#bas-shield):not(#bas-shield) { --bs-c: var(--bas-tomato, #ff4c25); --bs-c-ink: #fff; }
.bs-c-teal:not(#bas-shield):not(#bas-shield)   { --bs-c: var(--bas-teal, #30b2b4);   --bs-c-ink: #fff; }
.bs-c-green:not(#bas-shield):not(#bas-shield)  { --bs-c: var(--bas-green-500, #70ac43); --bs-c-ink: #fff; }
.bs-c-orange:not(#bas-shield):not(#bas-shield) { --bs-c: #ff6600; --bs-c-ink: #fff; }
.bs-c-forest:not(#bas-shield):not(#bas-shield) { --bs-c: var(--bas-green-700, #1d741b); --bs-c-ink: #fff; }
.bs-c-yellow:not(#bas-shield):not(#bas-shield) { --bs-c: var(--bas-yellow, #ffda3d); --bs-c-ink: var(--bas-ink, #313131); }
.bs-tag:not(#bas-shield):not(#bas-shield)[class*="bs-c-"] { background: var(--bs-c); color: var(--bs-c-ink); }
.bs-pill:not(#bas-shield):not(#bas-shield).bs-pill--fill { background: var(--bs-c); color: var(--bs-c-ink); border-color: transparent; }
.bs-pill:not(#bas-shield):not(#bas-shield).bs-pill--fill:hover { filter: brightness(1.06); color: var(--bs-c-ink); }
.bs-pill--dot:not(#bas-shield):not(#bas-shield)::before { content: ""; width: 9px; height: 9px; border-radius: 50%; background: var(--bs-c); margin-right: 8px; flex: 0 0 9px; }
.bs-pill--dot:not(#bas-shield):not(#bas-shield):hover { border-color: var(--bs-c); color: var(--bas-ink, #313131); }
.bs-pill:not(#bas-shield):not(#bas-shield).bs-pill--dot.is-on { background: var(--bs-c); color: var(--bs-c-ink); border-color: transparent; }
.bs-pill:not(#bas-shield):not(#bas-shield).bs-pill--dot.is-on::before { background: var(--bs-c-ink); opacity: .55; }

/* ═══ 1.14.0 — Cards roll in as you scroll (bas-site.js adds .bs-reveal) ═══ */
.bs-reveal:not(#bas-shield):not(#bas-shield) { opacity: 0; transform: translateY(26px); transition: opacity .55s ease, transform .55s ease; }
.bs-reveal:not(#bas-shield):not(#bas-shield).is-in { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .bs-reveal:not(#bas-shield):not(#bas-shield) { opacity: 1; transform: none; transition: none; } }

/* ═══ 1.14.0 — The article: first letter + colour-coded headings ═══════════ */
.bs-prose:not(#bas-shield):not(#bas-shield) p.bs-first::first-letter {
	float: left; font-family: var(--bas-font-display); font-weight: 700; font-size: 4.3em; line-height: .82;
	padding: 6px 12px 0 0; color: var(--bas-tomato, #ff4c25);
}
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > h2::before, .bs-prose:not(#bas-shield):not(#bas-shield) > h2::before {
	content: ""; display: block; width: 56px; height: 6px; border-radius: 6px; margin: 0 0 14px;
	background: var(--bas-green-500, #70ac43);
}
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > h2:nth-of-type(5n+2)::before, .bs-prose:not(#bas-shield):not(#bas-shield) > h2:nth-of-type(5n+2)::before { background: var(--bas-tomato, #ff4c25); }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > h2:nth-of-type(5n+3)::before, .bs-prose:not(#bas-shield):not(#bas-shield) > h2:nth-of-type(5n+3)::before { background: var(--bas-teal, #30b2b4); }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > h2:nth-of-type(5n+4)::before, .bs-prose:not(#bas-shield):not(#bas-shield) > h2:nth-of-type(5n+4)::before { background: var(--bas-yellow, #ffda3d); }
.bs-prose:not(#bas-shield):not(#bas-shield) :is(.et_pb_text_inner, .bs-prose) > h2:nth-of-type(5n+5)::before, .bs-prose:not(#bas-shield):not(#bas-shield) > h2:nth-of-type(5n+5)::before { background: #ff6600; }
.bs-prose:not(#bas-shield):not(#bas-shield) h2[id] { scroll-margin-top: 140px; }

/* ═══ 1.14.0 — Building blocks (the blog skill writes these classes) ═══════
 * Promo · pull quote · tip/note/warning · figure · In this post · checklist. */

/* Promo (and every old inline-styled promo, redrawn by the template) */
.bs-promo:not(#bas-shield):not(#bas-shield) {
	position: relative; display: grid; gap: 18px; align-items: center; margin: 2.4em 0; padding: 30px 26px; overflow: hidden;
	border-radius: 24px; color: #fffbef; text-align: center;
	background-color: var(--bas-green-700, #1d741b);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 1 54 16v30L28 61 2 46V16z M28 61 54 76v30M2 76l26-15' fill='none' stroke='%23c2e86b' stroke-opacity='.18' stroke-width='1.4'/%3E%3C/svg%3E");
	background-size: 56px 97px; box-shadow: 0 18px 44px rgba(29, 116, 27, .25);
}
.bs-promo__bea:not(#bas-shield):not(#bas-shield) { width: 120px !important; height: auto; justify-self: center; filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .25)); }
.bs-promo__copy:not(#bas-shield):not(#bas-shield) { display: flex; flex-direction: column; align-items: center; gap: 10px; }
.bs-promo__eyebrow:not(#bas-shield):not(#bas-shield) { font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--bas-yellow, #ffda3d); }
.bs-promo__title:not(#bas-shield):not(#bas-shield) { font-family: var(--bas-font-display); font-weight: 700; font-size: clamp(24px, 2.4vw, 30px); line-height: 1.2; color: #fffbef; }
.bs-promo__text:not(#bas-shield):not(#bas-shield) { font-size: 16.5px; line-height: 1.65; color: rgba(255, 251, 239, .9); max-width: 520px; }
.bs-promo__btn:not(#bas-shield):not(#bas-shield) { margin-top: 6px; }
.bs-promo:not(#bas-shield):not(#bas-shield) br, .bs-promo__copy:not(#bas-shield):not(#bas-shield) > p:empty { display: none; }
.bs-promo__copy:not(#bas-shield):not(#bas-shield) > p { margin: 0 !important; }
.bs-promo__sign:not(#bas-shield):not(#bas-shield) { font-family: var(--bas-font-display); font-style: italic; color: var(--bas-green-300, #c2e86b); font-size: 15px; }
@media (min-width: 700px) {
	.bs-promo:not(#bas-shield):not(#bas-shield) { text-align: left; padding: 34px 36px; }
	.bs-promo:not(#bas-shield):not(#bas-shield):has(> .bs-promo__bea) { grid-template-columns: 150px 1fr; }
	.bs-promo__bea:not(#bas-shield):not(#bas-shield) { width: 150px !important; }
	.bs-promo__copy:not(#bas-shield):not(#bas-shield) { align-items: flex-start; }
}

/* Pull quote */
.bs-prose:not(#bas-shield):not(#bas-shield) blockquote.bs-pullquote, .bs-prose:not(#bas-shield):not(#bas-shield) .bs-pullquote {
	position: relative; margin: 2.2em 0; padding: 26px 8px 8px; border: 0; text-align: center;
	font-family: var(--bas-font-display); font-style: italic; font-weight: 600; font-size: clamp(22px, 2.3vw, 28px); line-height: 1.4; color: var(--bas-ink, #313131);
}
.bs-pullquote:not(#bas-shield):not(#bas-shield)::before {
	content: "\201C"; display: block; font-size: 84px; line-height: .6; font-style: normal; color: var(--bas-tomato, #ff4c25); margin-bottom: 6px;
}
.bs-pullquote:not(#bas-shield):not(#bas-shield) cite { display: block; margin-top: 12px; font-family: var(--bas-font-body); font-style: normal; font-size: 13px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--bas-green-700, #1d741b); }

/* Tip / note / warning */
.bs-tip:not(#bas-shield):not(#bas-shield) {
	margin: 1.8em 0; padding: 18px 20px 18px 62px; position: relative; border-radius: 16px; font-size: 16.5px; line-height: 1.65;
	background: rgba(112, 172, 67, .13); color: var(--bas-ink, #313131);
}
.bs-tip:not(#bas-shield):not(#bas-shield)::before {
	content: "✓"; position: absolute; left: 18px; top: 16px; width: 30px; height: 30px; border-radius: 50%;
	display: grid; place-items: center; font-weight: 900; font-size: 15px; background: var(--bas-green-500, #70ac43); color: #fff;
}
.bs-tip__label:not(#bas-shield):not(#bas-shield), .bs-tip:not(#bas-shield):not(#bas-shield) > strong:first-child { display: block; font-size: 12px; font-weight: 900; letter-spacing: .12em; text-transform: uppercase; color: var(--bas-green-700, #1d741b); margin-bottom: 2px; }
.bs-tip--note:not(#bas-shield):not(#bas-shield) { background: rgba(48, 178, 180, .13); }
.bs-tip--note:not(#bas-shield):not(#bas-shield)::before { content: "i"; font-family: Georgia, serif; font-style: italic; background: var(--bas-teal, #30b2b4); }
.bs-tip--note:not(#bas-shield):not(#bas-shield) .bs-tip__label, .bs-tip--note:not(#bas-shield):not(#bas-shield) > strong:first-child { color: #1f7f81; }
.bs-tip--warn:not(#bas-shield):not(#bas-shield) { background: rgba(255, 76, 37, .1); }
.bs-tip--warn:not(#bas-shield):not(#bas-shield)::before { content: "!"; background: var(--bas-tomato, #ff4c25); }
.bs-tip--warn:not(#bas-shield):not(#bas-shield) .bs-tip__label, .bs-tip--warn:not(#bas-shield):not(#bas-shield) > strong:first-child { color: #c43318; }
.bs-tip:not(#bas-shield):not(#bas-shield) p { margin: 0 0 .6em !important; font-size: inherit !important; }
.bs-tip:not(#bas-shield):not(#bas-shield) p:last-child { margin-bottom: 0 !important; }

/* Figure (a photo with a caption); --wide breaks out past the text column */
.bs-figure:not(#bas-shield):not(#bas-shield) { margin: 2em 0; }
.bs-figure:not(#bas-shield):not(#bas-shield) img { width: 100%; height: auto; border-radius: 18px; box-shadow: 0 16px 40px rgba(49, 49, 49, .14); display: block; }
.bs-figure:not(#bas-shield):not(#bas-shield) figcaption { margin-top: 10px; text-align: center; font-size: 14px; font-style: italic; color: #6b6b5e; }
@media (min-width: 1000px) {
	.bs-figure--wide:not(#bas-shield):not(#bas-shield) { width: min(1040px, calc(100vw - 40px)); margin-left: calc(50% - min(520px, 50vw - 20px)); }
}

/* In this post */
.bs-toc:not(#bas-shield):not(#bas-shield) { margin: 1.6em 0 2em; padding: 20px 24px; background: #fff; border-radius: 18px; box-shadow: 0 10px 30px rgba(49, 49, 49, .06); border-left: 6px solid var(--bas-yellow, #ffda3d); }
.bs-toc__title:not(#bas-shield):not(#bas-shield) { display: block; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--bas-tomato, #ff4c25); margin-bottom: 8px; }
.bs-prose:not(#bas-shield):not(#bas-shield) .bs-toc ol { margin: 0 !important; padding-left: 1.3em !important; list-style: decimal; font-size: 16.5px; line-height: 1.5; }
.bs-prose:not(#bas-shield):not(#bas-shield) .bs-toc li { margin: 0 0 6px; }
.bs-prose:not(#bas-shield):not(#bas-shield) .bs-toc a { color: var(--bas-ink, #313131); text-decoration: none; font-weight: 700; }
.bs-prose:not(#bas-shield):not(#bas-shield) .bs-toc a:hover { color: var(--bas-green-700, #1d741b); text-decoration: underline; }

/* Checklist */
.bs-prose:not(#bas-shield):not(#bas-shield) ul.bs-checklist { list-style: none !important; padding-left: 0 !important; }
.bs-prose:not(#bas-shield):not(#bas-shield) ul.bs-checklist li { position: relative; padding-left: 36px; margin-bottom: .6em; }
.bs-prose:not(#bas-shield):not(#bas-shield) ul.bs-checklist li::before {
	content: "✓"; position: absolute; left: 0; top: 3px; width: 24px; height: 24px; border-radius: 50%;
	display: grid; place-items: center; font-size: 13px; font-weight: 900; color: #fff; background: var(--bas-green-500, #70ac43);
}

/* ═══ 1.14.0 — Shop local strip (partway down every post) ══════════════════ */
.bs-shoplocal:not(#bas-shield):not(#bas-shield) {
	margin: 2.6em 0; padding: 26px 22px 28px; border-radius: 24px;
	background-color: #fffbef;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='56' height='97' viewBox='0 0 56 97'%3E%3Cpath d='M28 1 54 16v30L28 61 2 46V16z M28 61 54 76v30M2 76l26-15' fill='none' stroke='%23ffda3d' stroke-opacity='.55' stroke-width='1.4'/%3E%3C/svg%3E");
	background-size: 56px 97px; border: 2px solid var(--bas-yellow, #ffda3d);
}
@media (min-width: 1000px) {
	.bs-shoplocal:not(#bas-shield):not(#bas-shield) { width: min(1040px, calc(100vw - 40px)); margin-left: calc(50% - min(520px, 50vw - 20px)); padding: 30px 32px 32px; }
}
.bs-shoplocal__head:not(#bas-shield):not(#bas-shield) { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; margin-bottom: 18px; }
.bs-shoplocal__eyebrow:not(#bas-shield):not(#bas-shield) { width: 100%; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--bas-tomato, #ff4c25); }
.bs-shoplocal__title:not(#bas-shield):not(#bas-shield) { font-family: var(--bas-font-display); font-weight: 700; font-size: clamp(21px, 2.2vw, 27px); line-height: 1.2; color: var(--bas-ink, #313131); margin-right: auto; }
.bs-shoplocal__grid:not(#bas-shield):not(#bas-shield) { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
@media (min-width: 900px) { .bs-shoplocal__grid:not(#bas-shield):not(#bas-shield) { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; } }
.bs-shoplocal:not(#bas-shield):not(#bas-shield) .bas-sm__card { border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; box-shadow: 0 10px 26px rgba(49, 49, 49, .08); }
.bs-shoplocal:not(#bas-shield):not(#bas-shield) .bas-sm__body { flex: 1; }
.bs-shoplocal:not(#bas-shield):not(#bas-shield) .bas-sm__name { font-size: 15px; }
@media (max-width: 520px) { .bs-shoplocal:not(#bas-shield):not(#bas-shield) .bas-sm__btn { padding: 8px 12px; font-size: 12px; } }

/* ═══ 1.14.0 — Newsletter card (after the article) ═════════════════════════ */
.bs-news:not(#bas-shield):not(#bas-shield) {
	max-width: 760px; margin: 44px auto 0; display: grid; gap: 14px; align-items: center; padding: 28px 24px; border-radius: 24px;
	background: var(--bas-teal, #30b2b4); color: #fff; text-align: center; box-shadow: 0 18px 44px rgba(48, 178, 180, .28);
}
.bs-news__bea:not(#bas-shield):not(#bas-shield) { width: 110px !important; height: auto; justify-self: center; filter: drop-shadow(0 10px 16px rgba(0, 0, 0, .2)); }
.bs-news__form:not(#bas-shield):not(#bas-shield) { display: flex; flex-direction: column; gap: 8px; }
.bs-news__eyebrow:not(#bas-shield):not(#bas-shield) { font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: var(--bas-yellow, #ffda3d); }
.bs-news__title:not(#bas-shield):not(#bas-shield) { font-family: var(--bas-font-display); font-weight: 700; font-size: clamp(22px, 2.3vw, 28px); line-height: 1.2; }
.bs-news__text:not(#bas-shield):not(#bas-shield) { font-size: 15.5px; line-height: 1.55; color: rgba(255, 255, 255, .92); }
.bs-news__fields:not(#bas-shield):not(#bas-shield) { display: grid; gap: 10px; margin-top: 8px; }
.bs-news:not(#bas-shield):not(#bas-shield) .bas-foot__msg { color: #fff; font-weight: 800; }
.bs-news:not(#bas-shield):not(#bas-shield) .bas-foot__msg.is-err { color: var(--bas-yellow, #ffda3d); }
.bs-news:not(#bas-shield):not(#bas-shield).is-done .bs-news__fields, .bs-news__form:not(#bas-shield):not(#bas-shield).is-done .bs-news__fields { display: none; }
@media (min-width: 700px) {
	.bs-news:not(#bas-shield):not(#bas-shield) { grid-template-columns: 130px 1fr; text-align: left; padding: 32px 34px; }
	.bs-news__bea:not(#bas-shield):not(#bas-shield) { width: 130px !important; }
	.bs-news__fields:not(#bas-shield):not(#bas-shield) { grid-template-columns: 1fr 1fr auto; }
}

/* ═══ 1.14.0 — Ad slots (empty until ads are switched on) ═════════════════ */
.bs-ad:not(#bas-shield):not(#bas-shield) { margin: 2.2em 0; text-align: center; min-height: 90px; }
.bs-ad__label:not(#bas-shield):not(#bas-shield) { display: block; font-size: 10.5px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; color: #8a8a7c; margin-bottom: 6px; }
.bs-news:not(#bas-shield):not(#bas-shield) + .bs-ad { max-width: 760px; margin-left: auto; margin-right: auto; }
