@font-face {
  font-family:Golos;
  src:url('../fonts/golos-400.ttf') format('truetype');
  font-weight:400;
  font-display:swap;
}

@font-face {
  font-family:Golos;
  src:url('../fonts/golos-600.ttf') format('truetype');
  font-weight:600;
  font-display:swap;
}

@font-face {
  font-family:Golos;
  src:url('../fonts/golos-700.ttf') format('truetype');
  font-weight:700;
  font-display:swap;
}

@font-face {
  font-family:Golos;
  src:url('../fonts/golos-800.ttf') format('truetype');
  font-weight:800;
  font-display:swap;
}

:root {
  --paper:#f5f2e8;
  --product-backdrop:#f9f6ee;
  --cream:#eae6d5;
  --green:#28523b;
  --deep:#1d3c2b;
  --lime:#b8df61;
  --ink:#202b23;
  --muted:#6b7067;
  --line:#dadbcf;
  --shadow:4px 4px 0 var(--ink);
  --radius:5px;
  --font:Golos,'Trebuchet MS',sans-serif;
  color-scheme:light;
}

* {
  box-sizing:border-box;
}

html {
  scroll-behavior:smooth;
  scroll-padding-top:110px;
}

body.broccoli {
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--font);
  font-size:16px;
  line-height:1.55;
  -webkit-font-smoothing:antialiased;
}

body.broccoli * {
  box-sizing:border-box;
}

h1,h2,h3,h4,p {
  margin:0;
}

h1,h2,h3,h4 {
  font-weight:700;
  letter-spacing:-.04em;
  line-height:1.1;
}

h1 {
  font-size:clamp(36px,4.3vw,62px);
}

h2 {
  font-size:clamp(30px,3.2vw,44px);
}

h3 {
  font-size:24px;
}

a {
  color:inherit;
  text-decoration:none;
}

a:hover {
  color:var(--green);
}

img {
  max-width:100%;
  height:auto;
}

button,input,select,textarea {
  font:inherit;
}

button,a,input,select,textarea {
  -webkit-tap-highlight-color:transparent;
}

button {
  cursor:pointer;
}

button:disabled,[aria-disabled=true] {
  cursor:wait;
  opacity:.6;
}

button,input,select,textarea {
  border-radius:var(--radius);
}

input,select,textarea {
  max-width:100%;
}

:focus-visible {
  outline:3px solid #658a26;
  outline-offset:4px;
}

input[type=checkbox],input[type=radio] {
  accent-color:var(--green);
  width:18px;
  height:18px;
}

input:not([type=checkbox]):not([type=radio]):not([type=submit]),select,textarea {
  border:1px solid #a7ada0;
  background:#fffef8;
  color:var(--ink);
  padding:12px 14px;
  min-height:46px;
}

textarea {
  min-height:130px;
}

select {
  padding-right:30px;
}

.shell {
  width:min(1280px,calc(100% - 96px));
  margin-inline:auto;
}

.screen-reader-text {
  position:absolute!important;
  width:1px;
  height:1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
}

.skip-link {
  position:fixed;
  left:20px;
  top:-70px;
  background:var(--lime);
  z-index:10000;
  padding:14px;
}

.skip-link:focus {
  top:20px;
}

.eyebrow {
  font-size:11px;
  line-height:1.4;
  letter-spacing:.13em;
  font-weight:700;
  text-transform:uppercase;
  margin-bottom:20px;
}

.text-link {
  font-size:15px;
  font-weight:600;
  border-bottom:1px solid currentColor;
  padding-bottom:4px;
  display:inline-block;
}

.button,.broccoli .woocommerce a.button,.broccoli .woocommerce button.button,.broccoli .woocommerce input.button,.broccoli.woocommerce a.button,.broccoli.woocommerce button.button,.broccoli .woocommerce #respond input#submit,.broccoli .wc-block-components-button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:20px;
  background:var(--green);
  color:#fffef7;
  border:2px solid var(--ink);
  padding:15px 24px;
  min-height:48px;
  border-radius:5px;
  font-size:15px;
  font-family:var(--font);
  font-weight:600;
  line-height:1.25;
  text-decoration:none;
  box-shadow:3px 3px 0 var(--ink);
  transition:transform .16s,box-shadow .16s,background .16s;
}

.button:hover,.broccoli .woocommerce a.button:hover,.broccoli .woocommerce button.button:hover,.broccoli.woocommerce a.button:hover,.broccoli.woocommerce button.button:hover {
  transform:translate(-1px,-2px);
  box-shadow:4px 5px 0 var(--ink);
  background:var(--deep);
  color:#fff;
}

.button:active {
  transform:translate(2px,2px);
  box-shadow:none;
}

.button.button-lime {
  background:var(--lime);
  color:var(--ink);
}

.button-lime:hover {
  background:#c6ec78;
}

.icon-button {
  width:44px;
  height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:transparent;
  border:0;
  color:inherit;
  border-radius:50%;
  padding:8px;
}

.icon-button:hover {
  background:rgba(40,82,59,.07);
}

.announcement {
  background:var(--deep);
  color:#e6eddf;
  font-size:11px;
  letter-spacing:.02em;
}

.announcement .shell {
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:32px;
}

.announcement a:hover {
  color:var(--lime);
}

.store-header {
  position:sticky;
  top:0;
  z-index:50;
  background:rgba(245,242,232,.97);
  border-bottom:1px solid var(--line);
  backdrop-filter:blur(14px);
}

.admin-bar .store-header {
  top:32px;
}

.header-row {
  height:86px;
  display:flex;
  align-items:center;
  gap:32px;
}

.brand {
  display:flex;
  align-items:center;
  gap:8px;
  font-size:32px;
  letter-spacing:-.085em;
  font-weight:800;
  white-space:nowrap;
  line-height:1;
}

.brand img {
  width:41px;
  height:46px;
  object-fit:contain;
}

.brand-period {
  color:#659330;
}

.custom-logo-link img {
  max-width:180px;
  max-height:56px;
  width:auto;
}

.desktop-nav {
  margin:auto;
}

.menu {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:25px;
}

.menu li {
  position:relative;
}

.menu a {
  font-size:14px;
  font-weight:600;
  display:block;
  padding:13px 0;
}

.menu a:hover {
  color:#668932;
}

.menu .sub-menu {
  position:absolute;
  top:100%;
  left:-20px;
  min-width:220px;
  background:var(--paper);
  box-shadow:var(--shadow);
  border:1px solid var(--ink);
  padding:15px 20px;
  list-style:none;
  display:none;
}

.menu li:hover>.sub-menu,.menu li:focus-within>.sub-menu {
  display:block;
}

.menu .sub-menu a {
  padding:8px 0;
}

.header-actions {
  display:flex;
  align-items:center;
  gap:8px;
}

.cart-toggle {
  display:flex;
  gap:10px;
  align-items:center;
  font-size:13px;
  font-weight:600;
  padding:9px 13px;
  border:1px solid #b6bdad;
  border-radius:5px;
}

.broccoli-cart-count {
  background:var(--green);
  color:#fff;
  min-width:22px;
  height:22px;
  text-align:center;
  border-radius:50%;
  font-size:11px;
  line-height:22px;
}

.mobile-menu-toggle {
  display:none;
}

.hero {
  background:var(--green);
  color:var(--paper);
  overflow:hidden;
  position:relative;
}

.hero-grid {
  min-height:590px;
  display:grid;
  grid-template-columns:1.08fr 1fr;
  align-items:center;
  gap:40px;
}

.hero-copy {
  padding:60px 0;
  position:relative;
  z-index:2;
}

.hero .eyebrow {
  color:#c8d9b5;
  margin-bottom:34px;
}

.hero h1 {
  font-size:clamp(48px,5.4vw,78px);
  letter-spacing:-.065em;
  line-height:1.04;
  font-weight:800;
  max-width:650px;
}

.hero-lead {
  font-size:17px;
  max-width:440px;
  line-height:1.65;
  color:#e0e5d6;
  margin:26px 0 32px;
}

.hero-art {
  position:relative;
  min-height:530px;
  align-self:end;
  display:grid;
  place-items:center;
  isolation:isolate;
  --mx:0px;
  --my:0px;
}

.hero-orbit {
  width:470px;
  max-width:108%;
  aspect-ratio:1;
  position:absolute;
  background:#b8ca87;
  border:2px solid var(--ink);
  border-radius:50%;
  z-index:-2;
  bottom:33px;
  box-shadow:13px 11px 0 #1d3c2b;
  background-image:radial-gradient(#28523b30 1px,transparent 1px);
  background-size:7px 7px;
}

.hero-lettering {
  font-size:154px;
  font-weight:800;
  letter-spacing:-.065em;
  line-height:1;
  color:#dce6bd;
  position:absolute;
  top:38px;
  left:-6px;
  transform:rotate(-8deg);
  z-index:-1;
  opacity:.75;
}

.hero-broc {
  display:block;
  width:390px;
  height:475px;
  object-fit:contain;
  object-position:center bottom;
  transform:translate(var(--mx),var(--my));
  filter:drop-shadow(8px 12px 0 rgba(20,36,20,.15));
  transition:transform .3s ease;
  align-self:end;
  margin-bottom:32px;
  animation:broc-enter .8s ease-out both;
}

.speech-bubble {
  position:absolute;
  right:-6px;
  top:130px;
  max-width:188px;
  background:var(--paper);
  color:var(--ink);
  font-size:19px;
  font-weight:700;
  line-height:1.22;
  padding:18px 22px;
  border:2px solid var(--ink);
  border-radius:48% 48% 48% 5%;
  box-shadow:4px 4px 0 var(--ink);
  transform:rotate(7deg);
  animation:bubble-enter .5s .4s both;
}

.section {
  padding-block:76px;
}

.section-heading {
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:28px;
  margin-bottom:35px;
}

.section-heading .eyebrow {
  color:var(--green);
  margin-bottom:14px;
}

.category-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  border-top:1px solid #bac0b0;
  border-left:1px solid #bac0b0;
}

.category-card {
  display:flex;
  flex-direction:column;
  position:relative;
  justify-content:space-between;
  min-height:154px;
  padding:21px 23px 26px;
  border-right:1px solid #bac0b0;
  border-bottom:1px solid #bac0b0;
  transition:background .2s;
}

.category-card h3 {
  font-size:22px;
  line-height:1.15;
  max-width:200px;
  padding-right:20px;
}

.category-arrow {
  position:absolute;
  bottom:24px;
  right:22px;
  font-size:21px;
}

.category-card:hover {
  background:#e6ebd6;
  color:var(--ink);
}

.category-card:first-child {
  background:#e5eccf;
}

.category-card:first-child:hover {
  background:#dbe7bb;
}

.featured-section {
  background:#ebe9de;
  border-top:1px solid var(--line);
  border-bottom:1px solid var(--line);
}

.broccoli .woocommerce ul.products,.broccoli.woocommerce ul.products {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:24px;
  list-style:none;
  padding:0;
  margin:0 0 32px;
  clear:both;
}

.broccoli .woocommerce ul.products.columns-4,.broccoli.woocommerce ul.products.columns-4 {
  grid-template-columns:repeat(4,minmax(0,1fr));
}

.broccoli .woocommerce ul.products:before,.broccoli .woocommerce ul.products:after,.broccoli.woocommerce ul.products:before,.broccoli.woocommerce ul.products:after {
  display:none;
}

.broccoli .woocommerce ul.products li.product,.broccoli.woocommerce ul.products li.product {
  float:none;
  clear:none;
  width:auto;
  margin:0;
  display:flex;
  flex-direction:column;
  position:relative;
  background:#fbfaf4;
  border:1px solid #c3c7b8;
  border-radius:5px;
  padding:0 18px 19px;
  overflow:hidden;
  transition:border-color .2s,box-shadow .2s,transform .2s;
  min-width:0;
}

.broccoli .woocommerce ul.products li.product:hover,.broccoli.woocommerce ul.products li.product:hover {
  border-color:var(--green);
  box-shadow:3px 4px 0 #a7b494;
  transform:translateY(-2px);
}

.broccoli li.product .woocommerce-LoopProduct-link {
  display:flex;
  flex-direction:column;
  flex:1;
}

.product-visual {
  background:var(--product-backdrop);
  margin:0 -18px 18px;
  border-bottom:1px solid #dddeda;
  height:224px;
  display:flex;
  align-items:center;
  justify-content:center;
  position:relative;
}

.broccoli .woocommerce ul.products li.product a img,.broccoli.woocommerce ul.products li.product a img {
  height:184px;
  width:184px;
  max-width:calc(100% - 40px);
  object-fit:contain;
  margin:0;
  transition:transform .25s;
}

/* Blend only the empty image edges into the matching studio background. */
.broccoli .product-visual img,
.broccoli .cart-dialog .woocommerce-mini-cart-item img,
.broccoli .woocommerce .product-thumbnail img,
.broccoli.woocommerce .woocommerce-product-gallery__image img:not(.zoomImg) {
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(transparent,#000 4%,#000 96%,transparent);
  -webkit-mask-composite:source-in;
  mask-image:linear-gradient(90deg,transparent,#000 10%,#000 90%,transparent),linear-gradient(transparent,#000 4%,#000 96%,transparent);
  mask-composite:intersect;
}

.broccoli li.product:hover .product-visual img {
  transform:scale(1.035);
}

.product-category {
  font-size:10px;
  color:var(--muted);
  letter-spacing:.015em;
  display:block;
  margin-bottom:8px;
  line-height:1.4;
}

.broccoli .woocommerce ul.products li.product .woocommerce-loop-product__title,.broccoli.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size:20px;
  letter-spacing:-.035em;
  line-height:1.2;
  padding:0;
  margin:0 0 9px;
  color:var(--ink);
  overflow-wrap:anywhere;
}

.product-pack {
  font-size:13px;
  color:#5a6357;
  margin-bottom:12px;
  line-height:1.45;
}

.broccoli .stock-product-brand-badge {
  align-self:flex-start;
  width:fit-content;
  margin:0 0 12px;
  padding:3px 8px;
  border:1px solid #dde3d6;
  border-radius:5px;
  background:#f5f7f1;
  color:var(--muted);
  font-size:12px;
  line-height:1.5;
}

.broccoli .stock-product-brand {
  margin:0 0 12px;
  font-size:13px;
  line-height:1.5;
  color:var(--muted);
}

.broccoli .stock-product-brand a {
  color:inherit;
  text-decoration:underline;
  text-underline-offset:3px;
}

.broccoli .stock-product-brand a:hover {
  color:var(--ink);
}

.product-availability {
  font-size:11px;
  display:block;
  margin-bottom:15px;
  color:#527330;
  margin-top:auto;
}

.product-availability:before {
  content:'';
  display:inline-block;
  vertical-align:1px;
  width:5px;
  height:5px;
  border-radius:50%;
  background:currentColor;
  margin-right:6px;
}

.product-availability.unavailable {
  color:#7e7161;
}

.broccoli .woocommerce ul.products li.product .price,.broccoli.woocommerce ul.products li.product .price {
  font-size:22px;
  font-weight:700;
  letter-spacing:-.04em;
  color:var(--ink);
  line-height:1.3;
  margin:0;
}

.broccoli .woocommerce ul.products li.product .button,.broccoli.woocommerce ul.products li.product .button {
  margin-top:19px;
  align-self:stretch;
  display:flex;
  min-height:44px;
  padding:10px 12px;
  background:#fafbf2;
  box-shadow:2px 2px 0 var(--ink);
  color:var(--ink);
  font-size:13px;
  white-space:normal;
}

.broccoli .woocommerce ul.products li.product .button:hover,.broccoli.woocommerce ul.products li.product .button:hover {
  background:var(--lime);
}

.broccoli .woocommerce span.onsale,.broccoli.woocommerce span.onsale {
  min-height:0;
  min-width:0;
  border-radius:3px;
  background:var(--lime);
  color:var(--ink);
  line-height:1.2;
  padding:6px 9px;
  font-size:11px;
  top:12px;
  left:12px;
  right:auto;
  margin:0;
  z-index:3;
}

.broccoli .woocommerce a.added_to_cart,.broccoli.woocommerce a.added_to_cart {
  display:none;
}

.journal-grid {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:27px;
}

.journal-cover {
  height:170px;
  background:#dbe5c8;
  display:flex;
  justify-content:space-between;
  align-items:end;
  padding:26px;
  border:1px solid #b2bea0;
}

.journal-cover>span:first-child {
  font-size:27px;
  font-weight:700;
  letter-spacing:-.04em;
  max-width:180px;
}

.journal-cover>span:last-child {
  font-size:40px;
  line-height:1;
}

.journal-card:nth-child(2) .journal-cover {
  background:#e5d9bf;
}

.journal-card:nth-child(3) .journal-cover {
  background:#cfdbd4;
}

.journal-copy {
  padding-top:20px;
}

.journal-copy time {
  font-size:11px;
  color:var(--muted);
}

.journal-copy h2 {
  font-size:25px;
  line-height:1.2;
  margin:10px 0 12px;
}

.journal-copy p {
  font-size:14px;
  color:var(--muted);
  margin-bottom:20px;
}

.journal-card img {
  width:100%;
  aspect-ratio:1.7;
  object-fit:cover;
}

.store-footer {
  margin-top:30px;
  background:var(--deep);
  color:#edf1e5;
  padding:62px 0 28px;
}

.footer-grid {
  display:grid;
  grid-template-columns:1.6fr 1fr 1.2fr 1fr;
  gap:46px;
}

.footer-brand .brand {
  font-size:43px;
  margin-bottom:20px;
  color:var(--paper);
}

.footer-brand p {
  font-size:14px;
  line-height:1.8;
  color:#b4c6b2;
}

.footer-grid h2 {
  font-size:14px;
  letter-spacing:0;
  margin-bottom:20px;
}

.footer-grid>div>a:not(.brand) {
  display:block;
  font-size:13px;
  color:#c2cfbc;
  margin-bottom:11px;
}

.store-footer a:hover {
  color:var(--lime);
}

.footer-bottom {
  display:flex;
  gap:25px;
  border-top:1px solid #42614b;
  margin-top:46px;
  padding-top:24px;
  font-size:11px;
  color:#bdcab6;
}

.footer-bottom>span {
  margin-right:auto;
}

.research-note {
  font-size:10px;
  line-height:1.65;
  color:#9cb194;
  margin-top:19px;
}

.page-main,.shop-main {
  padding-top:25px;
  padding-bottom:60px;
  min-height:55vh;
}

.breadcrumbs,.broccoli .woocommerce-breadcrumb {
  font-size:11px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:11px;
  color:var(--muted);
  margin:0 0 32px;
}

.broccoli .woocommerce-breadcrumb a {
  color:var(--muted);
}

.page-heading {
  margin:40px 0;
}

.page-heading .eyebrow {
  color:var(--green);
}

.page-heading h1 {
  max-width:1000px;
}

.entry-content {
  font-size:16px;
  line-height:1.8;
}

.entry-content>p,.entry-content>ul,.entry-content>ol,.entry-content>blockquote {
  max-width:820px;
  margin-bottom:22px;
}

.entry-content a:not(.button) {
  text-decoration:underline;
  text-underline-offset:3px;
}

.entry-content h2 {
  font-size:32px;
  margin:38px 0 18px;
}

.entry-content h3 {
  font-size:24px;
  margin:26px 0 15px;
}

.entry-content details {
  border-block-end:1px solid #bdc5b1;
  padding:20px 0;
  max-width:850px;
}

.entry-content summary {
  cursor:pointer;
  font-size:21px;
  font-weight:600;
  line-height:1.4;
}

.entry-content details p {
  padding-top:14px;
  color:var(--muted);
  font-size:16px;
}

.entry-content blockquote {
  border-left:4px solid var(--green);
  margin-left:0;
  padding:20px 28px;
  background:var(--cream);
}

.entry-content table {
  border-collapse:collapse;
  width:100%;
  font-size:14px;
}

.entry-content td,.entry-content th {
  padding:13px;
  text-align:left;
  border:1px solid var(--line);
}

.article-main {
  max-width:960px;
}

.article-main .entry-content {
  max-width:780px;
}

.article-main .page-heading h1 {
  font-size:54px;
}

.post-navigation,.pagination {
  margin-top:45px;
}

.nav-links {
  display:flex;
  justify-content:space-between;
  gap:25px;
}

.not-found {
  display:grid;
  grid-template-columns:260px 1fr;
  align-items:center;
  gap:60px;
  min-height:65vh;
}

.not-found p {
  margin:20px 0;
}

.not-found h1 {
  max-width:680px;
}

.empty-state {
  padding:55px 20px;
  text-align:center;
  grid-column:1/-1;
}

.empty-state p {
  margin:18px 0 25px;
}

.catalog-heading {
  display:flex;
  justify-content:space-between;
  gap:70px;
  align-items:end;
  margin:38px 0 45px;
}

.catalog-heading h1 {
  font-size:52px;
}

.catalog-heading .eyebrow {
  color:var(--green);
  margin-bottom:16px;
}

.catalog-heading .term-description {
  max-width:660px;
  font-size:14px;
  color:var(--muted);
  margin-top:15px;
}

.catalog-layout {
  display:grid;
  grid-template-columns:224px minmax(0,1fr);
  gap:40px;
}

.catalog-filters {
  align-self:start;
  padding-right:24px;
  border-right:1px solid var(--line);
}

.filter-heading {
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin:8px 0 28px;
}

.filter-heading h2 {
  font-size:20px;
}

.catalog-filters fieldset {
  border:0;
  border-bottom:1px solid var(--line);
  padding:0 0 23px;
  margin:0 0 23px;
  min-width:0;
}

.catalog-filters legend {
  font-size:12px;
  font-weight:700;
  margin-bottom:14px;
}

.filter-choice {
  display:flex;
  align-items:center;
  gap:9px;
  font-size:12px;
  line-height:1.45;
  min-height:34px;
  cursor:pointer;
  padding:5px 0;
}

.filter-choice input {
  margin:0;
  flex-shrink:0;
  width:16px;
  height:16px;
}

.filter-choice small {
  margin-left:auto;
  color:#8a9181;
  font-size:10px;
}

.filter-choice:has(input:checked) {
  color:var(--green);
  font-weight:600;
}

.price-inputs {
  display:flex;
  gap:9px;
}

.price-inputs label {
  font-size:10px;
  display:block;
  flex:1;
  min-width:0;
}

.price-inputs span {
  display:block;
  margin-bottom:7px;
}

.price-inputs input {
  width:100%;
  min-width:0;
  padding:9px!important;
  min-height:39px!important;
  font-size:12px;
}

.apply-filters {
  width:100%;
  font-size:12px;
  min-height:42px;
  padding:12px;
}

.filter-reset {
  display:block;
  text-align:center;
  font-size:11px;
  color:var(--muted);
  margin:18px 0;
}

.catalog-toolbar {
  display:flex;
  align-items:center;
  gap:15px;
  justify-content:space-between;
  min-height:46px;
  margin:0 0 25px;
  border-bottom:1px solid var(--line);
  padding-bottom:17px;
}

.broccoli .woocommerce-result-count {
  font-size:12px;
  float:none;
  margin:0!important;
}

.broccoli .woocommerce-ordering {
  float:none;
  margin:0!important;
}

.broccoli .woocommerce-ordering select {
  font-size:12px;
  background:transparent;
  min-height:34px;
  padding:6px 22px 6px 10px;
  border-color:transparent;
  max-width:230px;
}


.broccoli.woocommerce nav.woocommerce-pagination ul {
  border:0;
  display:flex;
  justify-content:center;
  gap:9px;
}

.broccoli.woocommerce nav.woocommerce-pagination ul li {
  border:0;
  float:none;
}

.broccoli.woocommerce nav.woocommerce-pagination ul li a,.broccoli.woocommerce nav.woocommerce-pagination ul li span {
  min-width:40px;
  min-height:40px;
  display:grid;
  place-items:center;
  font-size:13px;
  border:1px solid var(--line);
}

.broccoli.woocommerce nav.woocommerce-pagination ul li span.current {
  background:var(--green);
  color:var(--paper);
}

[aria-busy=true] .catalog-results {
  opacity:.5;
  transition:opacity .15s;
}

.filter-toggle,.filter-close {
  display:none;
}

.product-back {
  font-size:12px;
  margin:15px 0 30px;
}

.broccoli.woocommerce .product-overview {
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:34px 65px;
}

.broccoli.woocommerce div.product div.images {
  float:none;
  width:100%;
  margin:0;
  background:var(--product-backdrop);
  border:1px solid #cbd0bf;
  border-radius:6px;
  padding:50px;
  align-self:start;
  position:relative;
  top:auto;
}

.broccoli.woocommerce div.product div.images img {
  max-height:490px;
  object-fit:contain;
  width:100%;
  height:490px;
}

.broccoli.woocommerce div.product div.images .flex-control-thumbs img {
  height:75px;
  max-height:75px;
  padding:6px;
}

.broccoli.woocommerce div.product div.summary {
  float:none;
  width:100%;
  margin:0;
  padding:15px 0;
}

.broccoli.woocommerce div.product .product_title {
  font-size:48px;
  letter-spacing:-.05em;
  line-height:1.08;
  margin-bottom:21px;
  overflow-wrap:anywhere;
}

.broccoli.woocommerce div.product .summary .price {
  font-size:30px;
  letter-spacing:-.04em;
  color:var(--ink);
  font-weight:700;
  margin:20px 0;
}

.broccoli.woocommerce div.product .woocommerce-product-details__short-description {
  font-size:15px;
  color:#646b5e;
  line-height:1.75;
  margin:23px 0;
}

.broccoli.woocommerce div.product .woocommerce-product-details__short-description p {
  margin-bottom:12px;
}

.broccoli.woocommerce div.product form.cart {
  margin:28px 0;
}

.broccoli.woocommerce div.product form.cart .variations {
  margin:20px 0;
  border:0;
  display:table;
  width:100%;
}

.broccoli.woocommerce div.product form.cart .variations tr {
  display:block;
  margin-bottom:17px;
}

.broccoli.woocommerce div.product form.cart .variations td,.broccoli.woocommerce div.product form.cart .variations th {
  display:block;
  padding:0;
  text-align:left;
  line-height:1.5;
}

.broccoli.woocommerce div.product form.cart .variations label {
  font-size:13px;
  font-weight:600;
  display:block;
  margin-bottom:9px;
}

.broccoli.woocommerce div.product form.cart .variations select {
  width:100%;
  max-width:100%;
  background:#fffef8;
  min-height:48px;
  font-size:15px;
  margin:0;
}

.broccoli.woocommerce .reset_variations {
  font-size:11px!important;
  margin-top:8px;
  display:inline-block!important;
}

.broccoli.woocommerce .woocommerce-variation-price {
  margin:10px 0 20px;
}

.broccoli.woocommerce div.product .stock {
  color:var(--green);
  font-size:13px;
  margin:15px 0;
}

.broccoli.woocommerce div.product .stock.out-of-stock {
  color:#8a6b4b;
}

.broccoli .quantity .qty {
  width:75px;
  min-height:49px;
  text-align:center;
  font-size:16px;
}

.broccoli.woocommerce div.product form.cart div.quantity {
  margin-right:14px;
}

.broccoli.woocommerce div.product form.cart .single_add_to_cart_button {
  min-width:225px;
  background:var(--lime);
  color:var(--ink);
  min-height:49px;
}

.broccoli.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background:#c7e98b;
}

.product-order-note {
  padding-top:24px;
  border-top:1px solid #c7cdbd;
  margin-top:24px;
  font-size:13px;
}

.product-order-note>a {
  font-weight:600;
}

.product-order-note p {
  font-size:12px;
  color:var(--muted);
  margin-top:9px;
  max-width:400px;
}

.broccoli.woocommerce div.product .woocommerce-tabs,.broccoli.woocommerce div.product .related,.broccoli.woocommerce div.product .upsells {
  grid-column:1/-1;
  width:100%;
  clear:both;
  min-width:0;
}

.broccoli.woocommerce div.product .woocommerce-tabs {
  border-top:1px solid #bcc5ad;
  padding-top:35px;
  margin-top:25px;
}

.broccoli.woocommerce div.product .woocommerce-tabs ul.tabs {
  padding:0;
  display:flex;
  gap:30px;
  overflow-x:auto;
  margin-bottom:30px;
}

.broccoli.woocommerce div.product .woocommerce-tabs ul.tabs li {
  background:none;
  border:0;
  border-radius:0;
  padding:0;
  margin:0;
  white-space:nowrap;
  box-shadow:none!important;
}

.broccoli.woocommerce div.product .woocommerce-tabs ul.tabs li a {
  font-size:16px;
  color:var(--muted);
  padding:13px 0;
  font-weight:600;
}

.broccoli.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
  color:var(--green);
  border-bottom:3px solid var(--green);
}

.broccoli.woocommerce div.product .woocommerce-tabs ul.tabs:before,.broccoli.woocommerce div.product .woocommerce-tabs ul.tabs li:before,.broccoli.woocommerce div.product .woocommerce-tabs ul.tabs li:after {
  display:none;
}

.broccoli.woocommerce div.product .woocommerce-tabs .panel {
  margin:0 0 30px;
  max-width:900px;
  font-size:15px;
  line-height:1.8;
}

.broccoli.woocommerce div.product .woocommerce-tabs .panel h2 {
  font-size:29px;
  margin-bottom:20px;
}

.broccoli.woocommerce div.product .woocommerce-tabs .panel p {
  margin-bottom:15px;
}

.broccoli.woocommerce table.shop_attributes {
  border:0;
}

.broccoli.woocommerce table.shop_attributes th,.broccoli.woocommerce table.shop_attributes td {
  font-size:14px;
  background:none!important;
  padding:13px 20px;
  border-bottom:1px solid var(--line);
  font-style:normal;
  text-align:left;
}

.broccoli.woocommerce table.shop_attributes th {
  width:38%;
  font-weight:600;
}

.broccoli.woocommerce table.shop_attributes td p {
  margin:0!important;
  padding:0;
}

.broccoli .related>h2 {
  margin-bottom:30px;
}

.broccoli .woocommerce-info,.broccoli .woocommerce-message,.broccoli .woocommerce-error {
  background:#e9eee0;
  color:var(--ink);
  border-top:3px solid #7c9c50;
  padding:20px 25px 20px 48px;
  font-size:14px;
  border-radius:4px;
  line-height:1.6;
}

.broccoli .woocommerce-error {
  border-top-color:#9a5542;
  background:#f3e8e0;
}

.broccoli .woocommerce-info:before,.broccoli .woocommerce-message:before {
  color:var(--green);
}

.broccoli .woocommerce table.shop_table {
  border:1px solid #c6cebb;
  border-radius:5px;
  background:#fbfaf5;
  font-size:14px;
}

.broccoli .woocommerce table.woocommerce-cart-form__contents {
  background:var(--product-backdrop);
}

.broccoli .woocommerce table.shop_table th {
  padding:18px 16px;
  font-size:12px;
  text-transform:none;
}

.broccoli .woocommerce table.shop_table td {
  padding:17px 16px;
  border-color:#dfe3d6;
  font-size:14px;
}

.broccoli .woocommerce .product-thumbnail img {
  width:64px;
  height:64px;
  object-fit:contain;
}

.broccoli .woocommerce-cart-form .product-name a {
  font-size:16px;
  font-weight:600;
}

.broccoli .woocommerce td.product-quantity .qty {
  min-height:40px;
  width:65px;
}

.broccoli .woocommerce table.cart td.actions .input-text {
  width:170px;
  min-height:46px;
}

.broccoli .woocommerce .cart-collaterals .cart_totals {
  width:43%;
  background:#e6ebda;
  border:1px solid #c3ceb0;
  padding:30px;
  border-radius:5px;
}

.broccoli .cart_totals h2 {
  font-size:30px;
  margin-bottom:25px;
}

.broccoli .woocommerce .cart_totals table.shop_table {
  background:transparent;
  border:0;
}

.broccoli .woocommerce .wc-proceed-to-checkout a.checkout-button {
  display:flex;
  width:100%;
  font-size:16px;
  background:var(--green);
  color:#fff;
}

.checkout-steps {
  display:flex;
  align-items:center;
  gap:24px;
  font-size:13px;
  color:#939985;
  margin:0 0 36px;
  max-width:700px;
}

.checkout-steps [aria-current=step] {
  color:var(--green);
  font-weight:700;
}

.step-divider {
  height:1px;
  background:#cbd1be;
  flex:1;
}

.broccoli .woocommerce form .form-row {
  padding:0;
  margin-bottom:20px;
}

.broccoli .woocommerce form .form-row label {
  font-size:13px;
  line-height:1.5;
  margin-bottom:8px;
}

.broccoli .woocommerce form .form-row input.input-text,.broccoli .woocommerce form .form-row textarea {
  background:#fffef8;
  line-height:1.5;
  border:1px solid #a7b297;
  min-height:47px;
  padding:12px 14px;
}

.broccoli .woocommerce form .form-row .required {
  color:#896737;
}

.broccoli .select2-container .select2-selection--single {
  height:47px;
  border-color:#a7b297;
  background:#fffef8;
  border-radius:4px;
}

.broccoli .select2-container .select2-selection--single .select2-selection__rendered {
  line-height:47px;
  padding-left:14px;
  font-size:14px;
}

.broccoli .select2-container .select2-selection--single .select2-selection__arrow {
  height:47px;
}

.broccoli form.checkout {
  display:grid;
  grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);
  gap:20px 60px;
  align-items:start;
}

.broccoli form.checkout #customer_details {
  grid-row:1/4;
  width:100%;
}

.broccoli form.checkout #customer_details .col-1,.broccoli form.checkout #customer_details .col-2 {
  float:none;
  width:100%;
}

.broccoli form.checkout #customer_details .col-2 {
  margin-top:25px;
}

.broccoli form.checkout h3 {
  font-size:26px;
  line-height:1.2;
  margin:0 0 24px;
}

.broccoli form.checkout #order_review_heading {
  margin:0;
  align-self:end;
}

.broccoli form.checkout #order_review {
  grid-column:2;
}

.broccoli form.checkout #payment {
  background:#e6ebda;
  border-radius:5px;
  font-size:13px;
}

.broccoli form.checkout #payment ul.payment_methods {
  border-color:#c4cdb6;
}

.broccoli form.checkout #payment .payment_box {
  background:#dbe3cd;
}

.broccoli form.checkout #payment .payment_box:before {
  border-bottom-color:#dbe3cd;
}

.broccoli .woocommerce #payment #place_order {
  width:100%;
  float:none;
  background:var(--green);
  color:#fff;
  min-height:52px;
  font-size:16px;
}

.broccoli .woocommerce form.checkout_coupon,.broccoli .woocommerce form.login,.broccoli .woocommerce form.register {
  background:#fafaf1;
  border:1px solid #bbc8a8;
  padding:28px;
  border-radius:5px;
}

.broccoli .woocommerce form.login,.broccoli .woocommerce form.register {
  max-width:620px;
}

.broccoli .woocommerce-MyAccount-navigation {
  width:24%;
  float:left;
}

.broccoli .woocommerce-MyAccount-navigation ul {
  list-style:none;
  padding:0;
  margin:0;
  background:#e6ebda;
  border:1px solid #c1cbb2;
  border-radius:4px;
}

.broccoli .woocommerce-MyAccount-navigation li a {
  display:block;
  font-size:14px;
  padding:15px 20px;
  border-bottom:1px solid #cbd3be;
}

.broccoli .woocommerce-MyAccount-navigation li:last-child a {
  border:0;
}

.broccoli .woocommerce-MyAccount-navigation li.is-active a {
  background:var(--green);
  color:var(--paper);
}

.broccoli .woocommerce-MyAccount-content {
  width:71%;
  float:right;
  font-size:15px;
}

.broccoli .woocommerce-MyAccount-content p {
  margin-bottom:20px;
}

.broccoli .woocommerce-MyAccount-content .woocommerce-Address-title h2 {
  font-size:25px;
}

.broccoli .woocommerce .col2-set .col-1,.broccoli .woocommerce .col2-set .col-2 {
  width:48%;
}

.broccoli .woocommerce .woocommerce-customer-details address {
  padding:22px;
  background:#edf0e2;
  border:1px solid #cbd3bd;
}

.broccoli .woocommerce .woocommerce-order-details h2,.broccoli .woocommerce .woocommerce-customer-details h2 {
  font-size:30px;
  margin-bottom:24px;
}

.broccoli .woocommerce ul.order_details {
  padding:25px;
  margin:25px 0;
  background:#e7edd9;
}

.broccoli .woocommerce-order-overview li {
  font-size:12px;
}

.broccoli .woocommerce-order-overview li strong {
  font-size:17px;
  margin-top:6px;
}

.broccoli .woocommerce-privacy-policy-text {
  font-size:12px;
  color:#647257;
}

.broccoli .woocommerce .star-rating {
  color:#658943;
}

.broccoli .woocommerce a.remove,
.broccoli .cart-dialog a.remove {
  color:#855b4a!important;
  position:relative;
  display:block;
  width:28px;
  height:28px;
  padding:0;
  border:0;
  border-radius:50%;
  font-size:0;
  line-height:0;
}

.broccoli .woocommerce a.remove::before,
.broccoli .woocommerce a.remove::after,
.broccoli .cart-dialog a.remove::before,
.broccoli .cart-dialog a.remove::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:13px;
  height:1.5px;
  border-radius:1px;
  background:currentColor;
  transform:translate(-50%,-50%) rotate(45deg);
  pointer-events:none;
}

.broccoli .woocommerce a.remove::after,
.broccoli .cart-dialog a.remove::after {
  transform:translate(-50%,-50%) rotate(-45deg);
}

.broccoli .woocommerce a.remove:hover,
.broccoli .cart-dialog a.remove:hover {
  background:#e9d9cc;
  color:#503c31!important;
}

.broccoli .woocommerce a.remove:focus-visible,
.broccoli .cart-dialog a.remove:focus-visible {
  outline:2px solid var(--green);
  outline-offset:3px;
}

.broccoli .woocommerce .wc-block-components-totals-wrapper,.broccoli .wc-block-components-sidebar-layout .wc-block-components-main {
  font-family:var(--font);
}

.broccoli .wc-block-components-title {
  letter-spacing:-.03em;
}

.comments-area {
  margin-top:50px;
}

.comment-list {
  padding-left:20px;
}

.comment-body {
  padding:24px 0;
  border-bottom:1px solid var(--line);
}

.comment-form label {
  display:block;
}

.comment-form input:not([type=checkbox]),.comment-form textarea {
  width:min(100%,650px);
}

.comment-form p {
  margin:15px 0;
}

.comment-form input[type=submit] {
  background:var(--green);
  color:var(--paper);
  border:0;
  padding:15px;
}

.woocommerce-noreviews {
  font-size:14px;
}

.broccoli #review_form #respond p {
  margin-bottom:18px;
}

.broccoli #review_form #respond label {
  display:block;
}

.broccoli #review_form #respond textarea {
  border:1px solid #a7b297;
}

dialog {
  color:var(--ink);
  font-family:var(--font);
  border:1px solid var(--ink);
  background:var(--paper);
  padding:30px;
  max-height:100dvh;
  box-shadow:8px 8px 0 rgba(23,36,23,.25);
}

dialog::backdrop {
  background:rgba(20,34,23,.45);
  backdrop-filter:blur(3px);
}

dialog[open] {
  animation:dialog-enter .2s ease-out;
}

.dialog-open {
  overflow:hidden;
}

.side-dialog {
  position:fixed;
  inset:0 0 0 auto;
  margin:0;
  width:min(480px,100%);
  height:100dvh;
  max-width:100%;
  max-height:100dvh;
  border:0;
  border-left:1px solid var(--ink);
  box-shadow:-15px 0 40px #0002;
  overflow-y:auto;
}

.dialog-heading {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  margin-bottom:28px;
  border-bottom:1px solid var(--line);
  padding-bottom:18px;
}

.dialog-heading h2 {
  font-size:28px;
}

.search-dialog {
  width:min(690px,calc(100% - 32px));
  border-radius:6px;
  margin:120px auto auto;
}

.search-form {
  display:flex;
  gap:12px;
}

.search-form input {
  flex:1;
  min-width:0;
}

.search-form .button {
  box-shadow:none;
}

.search-results {
  margin-top:22px;
  font-size:14px;
  color:var(--muted);
}

.search-result {
  display:flex;
  align-items:center;
  gap:20px;
  border-top:1px solid var(--line);
  padding:12px 0;
  color:var(--ink);
}

.search-result img {
  height:64px;
  width:50px;
  object-fit:contain;
}

.search-result span {
  font-weight:600;
  flex:1;
}

.search-result strong {
  font-size:13px;
  white-space:nowrap;
}

.mobile-nav .menu {
  display:flex;
  flex-direction:column;
  gap:5px;
  margin-bottom:30px;
}

.mobile-nav .menu a {
  font-size:23px;
}

.mobile-nav .menu .sub-menu {
  position:static;
  display:block;
  background:none;
  box-shadow:none;
  border:0;
  padding-left:16px;
}

.mobile-nav .sub-menu a {
  font-size:16px;
}

.cart-feedback {
  font-size:13px;
  color:var(--green);
  margin-bottom:20px;
}

.cart-feedback:empty {
  display:none;
}

.cart-feedback.is-error {
  background:#f2e4d9;
  color:#8c4834;
  padding:15px;
  border:1px solid #ceaa96;
}

.cart-dialog .woocommerce-mini-cart {
  list-style:none;
  padding:0;
  margin:0;
}

.cart-dialog {
  background:var(--product-backdrop);
}

.cart-dialog .woocommerce-mini-cart-item {
  padding:20px 25px 20px 90px;
  position:relative;
  min-height:125px;
  border-bottom:1px solid var(--line);
  font-size:14px;
  line-height:1.5;
}

.cart-dialog .woocommerce-mini-cart-item>a:not(.remove) {
  font-weight:600;
  display:block;
}

.cart-dialog .woocommerce-mini-cart-item img {
  position:absolute;
  left:0;
  top:20px;
  width:65px;
  height:65px;
  object-fit:contain;
  background:var(--product-backdrop);
  padding:0;
}

.cart-dialog .woocommerce-mini-cart-item>a.remove {
  position:absolute;
  right:0;
  top:14px;
  font-size:0;
  color:#7c775e;
  width:28px;
  height:32px;
  text-align:center;
}

.cart-dialog .variation {
  margin:8px 0;
  font-size:12px;
  color:#737c68;
  display:flex;
  gap:6px;
  flex-wrap:wrap;
}

.cart-dialog .variation dt {
  font-weight:400;
}

.cart-dialog .variation dd {
  margin:0;
}

.cart-dialog .quantity {
  display:block;
  margin-top:9px;
  font-size:13px;
}

.cart-dialog .woocommerce-mini-cart__total {
  display:flex;
  justify-content:space-between;
  margin:28px 0;
  font-size:21px;
  font-weight:700;
}

.cart-dialog .woocommerce-mini-cart__buttons {
  display:flex;
  flex-direction:column-reverse;
  gap:14px;
  margin-bottom:25px;
}

.cart-dialog .woocommerce-mini-cart__buttons .button:not(.checkout) {
  background:transparent;
  color:var(--ink);
  box-shadow:none;
  border-color:#9aa68b;
}

.cart-dialog .woocommerce-mini-cart__empty-message {
  padding:35px 0;
  font-size:20px;
}

.cart-dialog>.text-link {
  margin-top:15px;
  font-size:13px;
}

.reveal {
  transition:transform .6s ease;
  transform:translateY(10px);
}

.reveal.is-visible {
  transform:none;
}

@keyframes broc-enter {
  from {
    opacity:0;
    transform:translateY(20px);
  }
  to {
    opacity:1;
    transform:translateY(0);
  }
}

@keyframes bubble-enter {
  from {
    opacity:0;
    transform:rotate(4deg) scale(.95);
  }
  to {
    opacity:1;
    transform:rotate(7deg) scale(1);
  }
}

@keyframes dialog-enter {
  from {
    opacity:.5;
    transform:translateY(10px);
  }
  to {
    opacity:1;
    transform:none;
  }
}

.broccoli .age-gate__card {
  background:var(--paper);
  border:2px solid var(--ink);
  border-radius:6px;
  box-shadow:6px 6px 0 var(--ink);
}

.broccoli .age-gate__btn--yes {
  background:var(--green);
}

.broccoli .age-gate__badge {
  background:var(--lime);
  color:var(--ink);
}

.broccoli .age-gate__text {
  font-family:var(--font);
}

.broccoli .age-gate__title {
  letter-spacing:-.03em;
}

.broccoli .age-gate__back {
  color:var(--green);
}

@media(min-width:1600px) {
  .hero-grid {
    min-height:620px;
  }
  .hero h1 {
    font-size:80px;
  }
  .hero-art {
    min-height:560px;
  }
  .hero-broc {
    height:505px;
    width:420px;
  }
}

@media(max-width:1150px) {
  .shell {
    width:calc(100% - 56px);
  }
  .header-row {
    gap:20px;
  }
  .menu {
    gap:18px;
  }
  .menu a {
    font-size:12px;
  }
  .header-actions {
    gap:0;
  }
  .cart-label {
    display:none;
  }
  .hero-grid {
    gap:20px;
    min-height:535px;
  }
  .hero-art {
    min-height:495px;
  }
  .hero-orbit {
    width:385px;
  }
  .hero-lettering {
    font-size:128px;
    top:80px;
  }
  .hero-broc {
    height:420px;
    width:335px;
  }
  .speech-bubble {
    right:-10px;
    top:125px;
    font-size:16px;
    max-width:154px;
  }
  .hero h1 {
    font-size:60px;
  }
  .hero-lead {
    font-size:15px;
    max-width:370px;
  }
  .category-card h3 {
    font-size:20px;
  }
  .category-card {
    padding:20px;
    min-height:140px;
  }
  .catalog-layout {
    grid-template-columns:205px minmax(0,1fr);
    gap:27px;
  }
  .catalog-filters {
    padding-right:20px;
  }
  .broccoli.woocommerce ul.products,.broccoli .woocommerce ul.products {
    gap:18px;
  }
  .product-visual {
    height:198px;
  }
  .broccoli.woocommerce ul.products li.product .woocommerce-loop-product__title,.broccoli .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size:18px;
  }
  .broccoli.woocommerce .product-overview {
    gap:30px 40px;
  }
  .broccoli.woocommerce div.product .product_title {
    font-size:39px;
  }
  .broccoli.woocommerce div.product div.images {
    padding:35px;
  }
  .footer-grid {
    gap:28px;
  }
}

@media(max-width:960px) {
  .desktop-nav {
    display:none;
  }
  .header-actions {
    margin-left:auto;
    gap:9px;
  }
  .mobile-menu-toggle {
    display:inline-flex;
  }
  .header-row {
    height:76px;
  }
  .hero h1 {
    font-size:50px;
  }
  .hero-art {
    min-height:460px;
  }
  .hero-broc {
    height:365px;
    width:310px;
  }
  .hero-orbit {
    width:340px;
    bottom:40px;
  }
  .hero-lettering {
    font-size:112px;
    top:80px;
  }
  .speech-bubble {
    top:124px;
    right:-4px;
    font-size:14px;
    max-width:131px;
    padding:15px;
  }
  .category-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .category-card {
    min-height:130px;
  }
  .category-card h3 {
    max-width:260px;
  }
  .broccoli .woocommerce ul.products.columns-4,.broccoli.woocommerce ul.products.columns-4 {
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .catalog-layout {
    display:flex;
    flex-direction:column;
    gap:0;
  }
  .catalog-results {
    width:100%;
  }
  .catalog-filters {
    width:100%;
    border:1px solid var(--line);
    padding:20px;
    margin-bottom:24px;
    display:none;
  }
  .catalog-filters.is-open {
    display:block;
  }
  .catalog-filters .catalog-filter-form {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:20px 32px;
  }
  .filter-heading {
    grid-column:1/-1;
    margin:0;
  }
  .catalog-filters fieldset {
    margin:0;
  }
  .filter-toggle,.filter-close {
    display:inline-flex;
  }
  .filter-toggle {
    padding:8px 12px;
    min-height:38px;
    font-size:12px;
    gap:9px;
    box-shadow:none;
  }
  .filter-toggle svg {
    width:17px;
    height:17px;
  }
  .catalog-toolbar {
    flex-wrap:wrap;
  }
  .catalog-toolbar .woocommerce-result-count {
    margin-right:auto!important;
  }
  .apply-filters {
    grid-column:1/-1;
  }
  .filter-reset {
    grid-column:1/-1;
    margin:0;
  }
  .catalog-heading {
    gap:35px;
  }
  .catalog-heading h1 {
    font-size:44px;
  }
  .journal-grid {
    gap:20px;
  }
  .journal-cover {
    height:140px;
    padding:20px;
  }
  .journal-cover>span:first-child {
    font-size:22px;
  }
  .journal-copy h2 {
    font-size:21px;
  }
  .footer-grid {
    grid-template-columns:1.3fr 1fr;
    gap:36px;
  }
  .broccoli.woocommerce .product-overview {
    gap:25px 30px;
  }
  .broccoli.woocommerce div.product div.images {
    padding:25px;
  }
  .broccoli.woocommerce div.product div.images img {
    height:360px;
  }
  .broccoli.woocommerce div.product .product_title {
    font-size:36px;
  }
  .broccoli.woocommerce div.product form.cart .single_add_to_cart_button {
    min-width:170px;
    font-size:14px;
    padding-inline:16px;
  }
  .broccoli form.checkout {
    gap:20px 30px;
  }
  .broccoli .woocommerce .cart-collaterals .cart_totals {
    width:55%;
  }
}

@media(max-width:700px) {
  .shell {
    width:calc(100% - 36px);
  }
  body.broccoli {
    font-size:15px;
  }
  .announcement .shell {
    min-height:29px;
    font-size:9px;
  }
  .announcement .shell>span {
    max-width:75%;
  }
  .announcement a {
    font-size:0;
  }
  .announcement a span {
    font-size:14px;
  }
  .header-row {
    height:69px;
    gap:10px;
  }
  .brand {
    font-size:28px;
  }
  .brand img {
    width:32px;
    height:38px;
  }
  .header-actions {
    gap:2px;
  }
  .account-link {
    display:none;
  }
  .icon-button {
    width:40px;
    height:40px;
  }
  .cart-toggle {
    border:0;
    padding:7px 5px;
    gap:3px;
  }
  .cart-toggle svg {
    width:22px;
  }
  .broccoli-cart-count {
    min-width:19px;
    height:19px;
    line-height:19px;
    font-size:10px;
  }
  .hero-grid {
    display:flex;
    flex-direction:column;
    gap:0;
    min-height:0;
  }
  .hero-copy {
    padding:38px 0 15px;
    width:100%;
  }
  .hero .eyebrow {
    font-size:9px;
    margin-bottom:22px;
  }
  .hero h1 {
    font-size:clamp(43px,10.5vw,66px);
    letter-spacing:-.055em;
    max-width:500px;
    line-height:1.03;
  }
  .hero-lead {
    font-size:14px;
    line-height:1.6;
    max-width:420px;
    margin:21px 0 25px;
  }
  .hero .button {
    font-size:14px;
    min-height:47px;
    padding:13px 20px;
    gap:25px;
  }
  .hero-art {
    width:100%;
    max-width:420px;
    min-height:320px;
    align-self:center;
    margin-top:5px;
  }
  .hero-broc {
    height:285px;
    width:260px;
    margin-bottom:20px;
  }
  .hero-orbit {
    width:285px;
    bottom:8px;
    box-shadow:7px 6px 0 #1d3c2b;
  }
  .hero-lettering {
    font-size:107px;
    top:35px;
    left:10px;
  }
  .speech-bubble {
    right:5px;
    top:95px;
    max-width:132px;
    padding:13px 16px;
    font-size:15px;
  }
  .section {
    padding-block:47px;
  }
  .section-heading {
    margin-bottom:25px;
    gap:14px;
    align-items:end;
  }
  .section-heading h2 {
    font-size:29px;
  }
  .section-heading .eyebrow {
    font-size:9px;
    margin-bottom:12px;
  }
  .section-heading>.text-link {
    font-size:11px;
    white-space:nowrap;
  }
  .category-card {
    min-height:125px;
    padding:17px 15px 22px;
  }
  .category-card h3 {
    font-size:19px;
    max-width:160px;
    padding-right:12px;
  }
  .category-arrow {
    right:13px;
    bottom:17px;
    font-size:18px;
  }
  .broccoli .woocommerce ul.products,.broccoli.woocommerce ul.products {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px;
    margin-bottom:24px;
  }
  .broccoli .woocommerce ul.products li.product,.broccoli.woocommerce ul.products li.product {
    padding:0 12px 15px;
  }
  .product-visual {
    height:175px;
    margin:0 -12px 14px;
  }
  .broccoli .woocommerce ul.products li.product a img,.broccoli.woocommerce ul.products li.product a img {
    height:148px;
    width:148px;
    max-width:calc(100% - 24px);
  }
  .product-category {
    font-size:9px;
    min-height:25px;
    line-height:1.4;
    margin-bottom:5px;
  }
  .broccoli .woocommerce ul.products li.product .woocommerce-loop-product__title,.broccoli.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size:17px;
    margin-bottom:7px;
  }
  .product-pack {
    font-size:11px;
    margin-bottom:10px;
  }
  .product-availability {
    font-size:10px;
    margin-bottom:10px;
  }
  .broccoli .woocommerce ul.products li.product .price,.broccoli.woocommerce ul.products li.product .price {
    font-size:18px;
  }
  .broccoli .woocommerce ul.products li.product .button,.broccoli.woocommerce ul.products li.product .button {
    font-size:11px;
    min-height:42px;
    margin-top:14px;
    padding:10px 7px;
    box-shadow:2px 2px 0 var(--ink);
  }
  .journal-grid {
    grid-template-columns:1fr;
    gap:33px;
  }
  .journal-cover {
    height:145px;
  }
  .journal-copy h2 {
    font-size:24px;
  }
  .journal-copy p {
    font-size:13px;
  }
  .journal-copy time {
    font-size:10px;
  }
  .journal-card .text-link {
    font-size:13px;
  }
  .store-footer {
    padding:44px 0 25px;
    margin-top:10px;
  }
  .footer-grid {
    grid-template-columns:1fr 1fr;
    gap:32px 24px;
  }
  .footer-brand {
    grid-column:1/-1;
    display:flex;
    justify-content:space-between;
    gap:25px;
    align-items:start;
  }
  .footer-brand .brand {
    font-size:34px;
    margin:0;
  }
  .footer-brand p {
    font-size:11px;
    line-height:1.7;
  }
  .footer-grid h2 {
    font-size:12px;
    margin-bottom:14px;
  }
  .footer-grid>div>a:not(.brand) {
    font-size:12px;
    margin-bottom:12px;
  }
  .footer-bottom {
    margin-top:35px;
    gap:16px;
    flex-wrap:wrap;
    font-size:9px;
  }
  .footer-bottom>span {
    flex-basis:100%;
  }
  .research-note {
    font-size:9px;
  }
  .page-main,.shop-main {
    padding-top:20px;
    padding-bottom:40px;
  }
  .breadcrumbs,.broccoli .woocommerce-breadcrumb {
    font-size:10px;
    margin-bottom:24px;
    gap:8px;
  }
  .page-heading {
    margin:30px 0;
  }
  .page-heading h1 {
    font-size:36px;
  }
  .entry-content {
    font-size:15px;
    line-height:1.7;
  }
  .entry-content h2 {
    font-size:27px;
  }
  .entry-content h3 {
    font-size:22px;
  }
  .entry-content summary {
    font-size:18px;
  }
  .entry-content details p {
    font-size:14px;
  }
  .entry-content table {
    display:block;
    overflow-x:auto;
    max-width:100%;
  }
  .article-main .page-heading h1 {
    font-size:35px;
  }
  .not-found {
    grid-template-columns:1fr;
    gap:20px;
    text-align:center;
    padding-block:35px;
  }
  .not-found img {
    width:170px;
    margin:auto;
  }
  .not-found h1 {
    font-size:35px;
  }
  .not-found p {
    font-size:14px;
  }
  .catalog-heading {
    display:block;
    margin:28px 0;
  }
  .catalog-heading h1 {
    font-size:38px;
    line-height:1.06;
  }
  .catalog-heading .eyebrow {
    font-size:9px;
    margin-bottom:14px;
  }
  .catalog-toolbar {
    gap:12px;
    margin-bottom:21px;
    padding-bottom:14px;
  }
  .broccoli .woocommerce-result-count {
    font-size:10px;
  }
  .broccoli .woocommerce-ordering select {
    font-size:11px;
    max-width:170px;
    padding:7px 20px 7px 6px;
  }
  .broccoli .woocommerce-ordering {
    margin-left:auto!important;
  }
  .filter-toggle {
    font-size:11px;
    min-height:36px;
    padding:7px 9px;
  }
  .filter-toggle svg {
    width:15px;
  }
  .catalog-filters {
    padding:20px 16px;
  }
  .catalog-filters .catalog-filter-form {
    gap:20px 22px;
  }
  .filter-choice {
    font-size:12px;
    min-height:38px;
  }
  .catalog-filters fieldset:first-of-type {
    grid-column:1/-1;
  }
  .catalog-filters fieldset:first-of-type .filter-choice {
    width:100%;
  }
  .catalog-filters .price-inputs input {
    font-size:13px;
    min-height:42px!important;
  }
  .catalog-filters fieldset:last-of-type {
    grid-column:1/-1;
  }
  .broccoli.woocommerce .product-overview {
    grid-template-columns:1fr;
    gap:26px;
  }
  .broccoli.woocommerce div.product div.images {
    position:relative;
    top:auto;
    padding:23px;
  }
  .broccoli.woocommerce div.product div.images img {
    height:300px;
  }
  .broccoli.woocommerce div.product div.summary {
    padding:0;
  }
  .broccoli.woocommerce div.product .product_title {
    font-size:38px;
  }
  .broccoli.woocommerce div.product .summary .eyebrow {
    font-size:10px;
    margin:0 0 15px;
  }
  .broccoli.woocommerce div.product .summary .price {
    font-size:29px;
    margin:14px 0;
  }
  .broccoli.woocommerce div.product .woocommerce-product-details__short-description {
    font-size:14px;
    margin:18px 0;
  }
  .broccoli.woocommerce div.product form.cart .single_add_to_cart_button {
    min-width:210px;
  }
  .broccoli.woocommerce div.product .woocommerce-tabs {
    margin-top:8px;
    padding-top:15px;
  }
  .broccoli.woocommerce div.product .woocommerce-tabs ul.tabs {
    gap:22px;
  }
  .broccoli.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    font-size:14px;
  }
  .broccoli.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-size:26px;
  }
  .broccoli.woocommerce div.product .woocommerce-tabs .panel {
    font-size:14px;
    line-height:1.7;
  }
  .broccoli.woocommerce table.shop_attributes th,.broccoli.woocommerce table.shop_attributes td {
    font-size:12px;
    padding:12px 9px;
  }
  .broccoli .woocommerce table.shop_table_responsive tr td,.broccoli .woocommerce-page table.shop_table_responsive tr td {
    display:block;
    text-align:right!important;
  }
  .broccoli .woocommerce table.shop_table_responsive thead {
    display:none;
  }
  .broccoli .woocommerce table.shop_table_responsive tr {
    display:block;
  }
  .broccoli .woocommerce table.shop_table_responsive tr td:before {
    content:attr(data-title) ': ';
    font-weight:600;
    float:left;
  }
  .broccoli .woocommerce table.shop_table_responsive tr td.actions:before,.broccoli .woocommerce table.shop_table_responsive tr td.product-remove:before {
    display:none;
  }
  .broccoli .woocommerce table.shop_table_responsive .product-thumbnail {
    display:none;
  }
  .broccoli .woocommerce table.shop_table td {
    padding:14px 12px;
    font-size:13px;
  }
  .broccoli .woocommerce td.actions .coupon {
    display:flex;
    gap:10px;
    float:none;
    margin-bottom:16px;
  }
  .broccoli .woocommerce table.cart td.actions .input-text {
    width:50%;
    flex:1;
    min-width:0;
    font-size:13px;
    margin:0;
  }
  .broccoli .woocommerce table.cart td.actions .button {
    font-size:12px;
    padding:12px 10px;
    width:auto;
  }
  .broccoli .woocommerce table.cart td.actions>button {
    width:100%;
  }
  .broccoli .woocommerce .cart-collaterals .cart_totals {
    width:100%;
    padding:23px;
  }
  .broccoli .woocommerce .cart_totals table.shop_table tr td {
    padding:13px 0;
  }
  .broccoli .cart_totals h2 {
    font-size:28px;
  }
  .checkout-steps {
    font-size:10px;
    gap:10px;
    margin-bottom:28px;
  }
  .broccoli form.checkout {
    display:block;
  }
  .broccoli form.checkout h3 {
    font-size:25px;
  }
  .broccoli form.checkout #order_review_heading {
    margin:30px 0 20px;
  }
  .broccoli .woocommerce .form-row-first,.broccoli .woocommerce .form-row-last {
    width:100%;
    float:none;
  }
  .broccoli .woocommerce form .form-row label {
    font-size:12px;
  }
  .broccoli .woocommerce-MyAccount-navigation,.broccoli .woocommerce-MyAccount-content {
    float:none;
    width:100%;
  }
  .broccoli .woocommerce-MyAccount-navigation {
    margin-bottom:30px;
  }
  .broccoli .woocommerce-MyAccount-navigation ul {
    display:flex;
    overflow-x:auto;
  }
  .broccoli .woocommerce-MyAccount-navigation li a {
    white-space:nowrap;
    border-bottom:0;
    border-right:1px solid #cbd3be;
    padding:15px;
    font-size:12px;
  }
  .broccoli .woocommerce .col2-set .col-1,.broccoli .woocommerce .col2-set .col-2 {
    float:none;
    width:100%;
    margin-bottom:25px;
  }
  .broccoli .woocommerce ul.order_details li {
    float:none;
    border:0;
    margin:0 0 16px;
  }
  .broccoli .woocommerce form.login,.broccoli .woocommerce form.register {
    padding:22px;
  }
  .broccoli .woocommerce-info,.broccoli .woocommerce-message,.broccoli .woocommerce-error {
    font-size:12px;
    padding:16px 16px 16px 42px;
  }
  .broccoli .woocommerce-info .button,.broccoli .woocommerce-message .button {
    float:none!important;
    display:flex!important;
    margin-bottom:10px;
    font-size:12px!important;
  }
  .search-dialog {
    margin:25px auto auto;
    padding:22px 17px;
  }
  .dialog-heading h2 {
    font-size:26px;
  }
  .search-form {
    gap:9px;
  }
  .search-form input {
    font-size:14px;
    padding:10px!important;
  }
  .search-form .button {
    font-size:13px;
    padding:12px 16px;
  }
  .search-result {
    gap:12px;
    font-size:12px;
  }
  .search-result strong {
    font-size:12px;
  }
  .side-dialog {
    padding:24px 20px;
  }
  .cart-dialog .woocommerce-mini-cart-item {
    font-size:13px;
  }
  .cart-dialog .woocommerce-mini-cart__total {
    font-size:21px;
  }
  .broccoli .age-gate__card {
    padding:27px 22px;
  }
  .admin-bar .store-header {
    top:46px;
  }
}

@media(max-width:390px) {
  .shell {
    width:calc(100% - 28px);
  }
  .header-actions {
    gap:0;
  }
  .brand {
    font-size:25px;
  }
  .brand img {
    width:27px;
  }
  .hero h1 {
    font-size:43px;
  }
  .hero-lead {
    font-size:13px;
  }
  .category-card h3 {
    font-size:17px;
  }
  .broccoli .woocommerce ul.products,.broccoli.woocommerce ul.products {
    gap:11px;
  }
  .broccoli .woocommerce ul.products li.product .woocommerce-loop-product__title,.broccoli.woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size:15px;
  }
  .product-visual {
    height:150px;
  }
  .broccoli .woocommerce ul.products li.product a img,.broccoli.woocommerce ul.products li.product a img {
    height:127px;
    width:127px;
  }
  .broccoli .woocommerce ul.products li.product .price,.broccoli.woocommerce ul.products li.product .price {
    font-size:16px;
  }
  .catalog-toolbar .woocommerce-ordering {
    width:100%;
  }
  .broccoli .woocommerce-ordering select {
    max-width:100%;
    width:100%;
  }
}

@media(prefers-reduced-motion:reduce) {
  html {
    scroll-behavior:auto;
  }
  *,*:before,*:after {
    animation:none!important;
    transition:none!important;
  }
  .reveal {
    transform:none;
  }
  .hero-broc {
    transform:none!important;
  }
}

@media print {
  .store-header,.announcement,.store-footer,dialog,.product-back,.catalog-filters,.header-actions,.button {
    display:none!important;
  }
  .shell {
    width:100%;
  }
  .hero {
    background:white;
    color:black;
  }
  .hero-art {
    display:none;
  }
  body.broccoli {
    background:#fff;
  }
  .broccoli.woocommerce div.product div.images {
    position:static;
  }
}

@media(min-width:961px) {
  .broccoli.woocommerce .catalog-toolbar .filter-toggle {
    display:none;
  }
}

.broccoli .woocommerce ul.products li.product .button,.broccoli.woocommerce ul.products li.product .button {
  text-align:center;
  justify-content:center;
}

.broccoli .cart-dialog ul.woocommerce-mini-cart li.woocommerce-mini-cart-item {
  padding:20px 25px 20px 90px;
  min-height:128px;
  margin:0;
  border-bottom:1px solid var(--line);
}

.broccoli .cart-dialog ul.woocommerce-mini-cart li.woocommerce-mini-cart-item img {
  width:66px;
  height:66px;
  max-width:none;
  margin:0;
  float:none;
  position:absolute;
  left:0;
  top:20px;
  object-fit:contain;
  background:var(--product-backdrop);
  padding:0;
}

.broccoli .cart-dialog ul.woocommerce-mini-cart li.woocommerce-mini-cart-item>a.remove {
  left:auto;
  right:0;
  top:16px;
  width:28px;
  height:28px;
}

.contact-grid {
  display:grid;
  grid-template-columns:1.4fr 1fr;
  gap:60px;
  align-items:start;
}

.contact-grid>img {
  width:280px;
  margin:0 auto;
}

.contact-methods {
  display:flex;
  flex-wrap:wrap;
  gap:24px;
  align-items:center;
  margin:32px 0;
}

.contact-methods .button {
  text-decoration:none!important;
}

@media(max-width:700px) {
  .contact-grid {
    grid-template-columns:1fr;
    gap:30px;
  }
  .contact-grid>img {
    width:190px;
    grid-row:2;
  }
  .contact-methods {
    gap:20px;
  }
}

@media (max-width:600px) {
  .admin-bar .store-header { top:0; }
}
.contact-placeholder {
  display:flex;
  flex-direction:column;
  gap:9px;
  min-width:220px;
  padding:22px 25px;
  border:1px dashed #8c9d77;
  background:var(--cream);
  border-radius:5px;
  font-size:15px;
}
.contact-placeholder>span { color:var(--muted); }
.footer-contact-placeholder { display:block; font-size:12px; color:#b4c6b2; margin:10px 0; }
/* Product media and purchasing share one row; information stays in normal flow. */
.broccoli.woocommerce .broccoli-product {
  display:block;
  min-width:0;
}
.broccoli.woocommerce .product-overview {
  align-items:start;
  margin-bottom:48px;
}
.product-media,
.product-information,
.broccoli.woocommerce div.product .summary {
  min-width:0;
}
.broccoli.woocommerce .product-media {
  position:relative;
}
.broccoli.woocommerce div.product div.images {
  position:relative;
  top:auto;
  min-width:0;
  padding:32px;
}
.broccoli.woocommerce div.product div.images .flex-viewport {
  width:100%;
  min-width:0;
}
.broccoli.woocommerce div.product div.images img {
  height:420px;
  max-height:420px;
}
.broccoli.woocommerce div.product div.images .flex-control-thumbs {
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:20px;
}
.broccoli.woocommerce div.product div.images .flex-control-thumbs li {
  width:70px;
  flex:0 0 70px;
}
.broccoli.woocommerce div.product div.images .flex-control-thumbs img {
  height:70px;
  max-height:70px;
  background:var(--product-backdrop);
  border:1px solid #bcc5ac;
  border-radius:4px;
  padding:0;
}
.broccoli.woocommerce div.product .product_title {
  font-size:44px;
}
.broccoli.woocommerce div.product .summary .eyebrow {
  font-size:15px;
  letter-spacing:0;
  text-transform:none;
  font-weight:400;
  color:var(--muted);
  margin-bottom:16px;
}
.broccoli.woocommerce div.product .woocommerce-product-details__short-description {
  font-size:17px;
  line-height:1.6;
  margin:20px 0 28px;
}
.product-order-note {
  font-size:16px;
}
.product-order-note p {
  font-size:15px;
  line-height:1.55;
  max-width:480px;
}
.pack-options[hidden],
.broccoli.woocommerce form.has-pack-options table.variations[hidden] {
  display:none;
}
.pack-options {
  border:0;
  padding:0;
  margin:0 0 26px;
  min-width:0;
}
.pack-options legend {
  font-weight:600;
  font-size:18px;
  padding:0;
  margin-bottom:15px;
}
.pack-options-list {
  display:grid;
  gap:12px;
}
.pack-option {
  display:flex;
  align-items:center;
  gap:15px;
  padding:17px 20px;
  border:1.5px solid #bbc4ae;
  border-radius:5px;
  background:#fffef8;
  cursor:pointer;
  transition:border-color .15s,background .15s;
}
.pack-option:hover {
  border-color:var(--green);
}
.pack-option:has(input:checked) {
  border-color:var(--green);
  background:#e8efd9;
  box-shadow:inset 0 0 0 1px var(--green);
}
.pack-option:has(input:focus-visible) {
  outline:3px solid #658a26;
  outline-offset:3px;
}
.pack-option input[type=radio] {
  flex:0 0 19px;
  margin:0;
  width:19px;
  height:19px;
}
.pack-option-content {
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:6px 16px;
  flex:1;
  min-width:0;
  font-size:16px;
  line-height:1.4;
}
.pack-option-content strong {
  font-weight:600;
  overflow-wrap:anywhere;
}
.pack-option-price {
  font-weight:600;
  white-space:nowrap;
}
.pack-option-stock {
  grid-column:1/-1;
  color:#7a705e;
  font-size:14px;
}
.pack-option.is-unavailable {
  background:transparent;
  color:#818777;
  border-style:dashed;
  cursor:not-allowed;
}
.broccoli.woocommerce .has-pack-options .woocommerce-variation-price {
  display:none;
}
.broccoli.woocommerce .has-pack-options .woocommerce-variation-availability .stock {
  font-size:15px;
}
.home .hero-lead {
  font-size:20px;
  line-height:1.5;
  max-width:460px;
}
.home .hero h1 { font-weight:700; letter-spacing:-.025em; line-height:1.1; }
.home .home-category-grid { display:flex; flex-wrap:wrap; }
.home .home-category-grid .category-card { flex:1 1 25%; min-width:0; }
.home .home-category-grid .category-card h3 { max-width:none; padding-right:18px; overflow-wrap:anywhere; }
.home-guide { background:var(--green); color:var(--paper); }
.home-guide-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.08fr); align-items:start; gap:clamp(40px,6vw,90px); }
.home-guide-intro h2 { font-size:clamp(32px,3.6vw,48px); font-weight:600; line-height:1.15; letter-spacing:-.03em; max-width:550px; }
.home-guide-intro>p { font-size:18px; line-height:1.75; color:#e0e7d8; max-width:490px; margin:26px 0 30px; }
.home-guide-links { display:flex; flex-direction:column; align-items:flex-start; gap:20px; }
.home-guide-help { font-size:16px; text-decoration:underline; text-underline-offset:5px; }
.home-guide-help:hover { color:var(--lime); }
.home-guide-explainer { background:var(--paper); color:var(--ink); border:1px solid var(--ink); border-radius:var(--radius); box-shadow:5px 5px 0 var(--deep); padding:8px 30px 25px; }
.home-name-guide { margin:0; }
.home-name-guide>div { display:grid; grid-template-columns:150px minmax(0,1fr); gap:22px; padding:23px 0; border-bottom:1px solid #d2d7c8; }
.home-name-guide dt { font-size:18px; font-weight:600; line-height:1.5; color:var(--green); }
.home-name-guide dd { margin:0; font-size:16px; line-height:1.7; }
.home-name-guide a { display:block; margin-top:10px; text-decoration:underline; text-underline-offset:4px; color:var(--green); }
.home-guide-note { margin-top:20px; font-size:14px; line-height:1.7; color:#505e50; }
.home-guide-source { display:inline-block; margin-top:12px; font-size:12px; text-decoration:underline; text-underline-offset:3px; color:#505e50; }
@media (max-width:1100px) {
  .home-name-guide>div { grid-template-columns:1fr; gap:7px; padding:18px 0; }
  .home-guide-explainer { padding-inline:24px; }
}
@media (max-width:960px) {
  .home .home-category-grid .category-card { flex-basis:50%; }
  .home-guide-grid { grid-template-columns:1fr; gap:32px; }
  .home-guide-intro h2,.home-guide-intro>p { max-width:660px; }
  .home-guide-links { flex-direction:row; align-items:center; gap:24px; flex-wrap:wrap; }
  .home-name-guide>div { grid-template-columns:170px minmax(0,1fr); gap:24px; }
}
@media (max-width:600px) {
  .home .home-category-grid .category-card h3 { font-size:18px; line-height:1.25; }
  .home-guide-intro h2 { font-size:32px; }
  .home-guide-intro>p { font-size:16px; margin:20px 0 25px; }
  .home-guide-links { align-items:flex-start; flex-direction:column; }
  .home-guide-links .button { width:100%; }
  .home-guide-explainer { padding:3px 20px 22px; }
  .home-name-guide>div { grid-template-columns:1fr; gap:7px; }
}
.home .hero .button {
  font-size:17px;
}
.home .category-card {
  justify-content:center;
  min-height:125px;
}
.home .category-card h3 {
  font-size:24px;
}
.home .section-heading .text-link {
  font-size:16px;
}
.broccoli .product-category {
  font-size:13px;
}
.broccoli .product-pack {
  font-size:15px;
}
.broccoli .product-availability {
  font-size:13px;
}
.broccoli .woocommerce ul.products li.product .button,
.broccoli.woocommerce ul.products li.product .button {
  font-size:15px;
}
@media(max-width:960px) {
  .broccoli.woocommerce div.product div.images { padding:22px; }
  .broccoli.woocommerce div.product div.images img { height:330px; max-height:330px; }
  .pack-option { padding:15px; gap:12px; }
  .pack-option-content { grid-template-columns:1fr; gap:5px; }
  .broccoli.woocommerce div.product .product_title { font-size:36px; }
}
@media(max-width:700px) {
  .broccoli.woocommerce .product-overview { grid-template-columns:minmax(0,1fr); margin-bottom:35px; }
  .broccoli.woocommerce div.product div.images img { height:280px; max-height:280px; }
  .broccoli.woocommerce div.product div.images .flex-control-thumbs img { height:60px; max-height:60px; }
  .broccoli.woocommerce div.product div.images .flex-control-thumbs li { flex-basis:60px; width:60px; }
  .pack-option-content { font-size:16px; grid-template-columns:minmax(0,1fr) auto; gap:6px 12px; }
  .pack-option-content strong { font-size:15px; }
  .broccoli.woocommerce div.product .woocommerce-product-details__short-description { font-size:16px; }
  .home .hero-lead { font-size:18px; }
  .home .hero .button { font-size:16px; }
  .home .category-card h3 { font-size:20px; }
  .home .section-heading .text-link { font-size:14px; }
  .broccoli .product-category { font-size:12px; }
  .broccoli .product-pack { font-size:14px; }
  .broccoli .product-availability { font-size:12px; }
  .broccoli .woocommerce ul.products li.product .button,
  .broccoli.woocommerce ul.products li.product .button { font-size:13px; }
}
@media(max-width:390px) {
  .pack-option-content { grid-template-columns:1fr; }
}
.home .journal-card-compact>a {
  display:flex;
  align-items:start;
  justify-content:space-between;
  gap:24px;
  padding:25px 0;
  border-top:2px solid var(--green);
}
.home .journal-card-compact h3 {
  font-size:25px;
  line-height:1.25;
  letter-spacing:-.03em;
}
.home .journal-card-compact span {
  font-size:26px;
}
.footer-grid>div>a:not(.brand) { font-size:14px; }
.research-note { font-size:12px; }
@media(max-width:700px) {
  .home .journal-card-compact h3 { font-size:23px; }
  .home .journal-grid { gap:0; }
  .footer-grid>div>a:not(.brand) { font-size:13px; }
  .research-note { font-size:11px; }
}
/* A storefront: structured purchase panel with B's restrained graphic character. */
.broccoli.woocommerce .product-overview {
  grid-template-areas:"media heading" "media summary";
  grid-template-rows:min-content 1fr;
  grid-template-columns:minmax(0,.93fr) minmax(0,1.07fr);
  gap:18px 48px;
}
.product-heading { grid-area:heading; min-width:0; }
.product-heading .product_title { margin:0!important; }
.product-media { grid-area:media; }
.broccoli.woocommerce div.product div.summary { grid-area:summary; padding:0; }
.broccoli.woocommerce div.product .summary>.eyebrow { display:none; }
.broccoli.woocommerce div.product .woocommerce-product-details__short-description { margin:0 0 20px; font-size:17px; }
.product-key-facts { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:0 26px; font-size:15px; }
.product-key-facts>div { padding:13px 0; border-bottom:1px solid #d5ddc9; min-width:0; }
.product-key-facts dt { color:#68765f; font-size:14px; margin-bottom:4px; }
.product-key-facts dd { margin:0; font-weight:600; overflow-wrap:anywhere; }
.all-product-facts { display:inline-block; font-size:14px; padding:13px 0 4px; text-decoration:underline; text-underline-offset:4px; }
.broccoli.woocommerce div.product .summary>.price { margin:22px 0 18px; font-size:34px; }
.broccoli.woocommerce div.product form.cart { margin:18px 0 24px; }
.selected-pack-summary { display:flex; gap:12px; margin:12px 0; font-size:15px; }
.selected-pack-summary[hidden] { display:none; }
.selected-pack-summary>span { color:#6d775f; }
.selected-pack-summary strong { font-weight:600; }
.product-section-nav { display:flex; flex-wrap:wrap; gap:8px 30px; padding:0 0 16px; border-bottom:1px solid #b4c0a7; margin-bottom:12px; }
.product-section-nav a { display:flex; align-items:center; min-height:44px; font-size:17px; font-weight:600; }
.product-section-nav a:hover { text-decoration:underline; text-underline-offset:6px; }
.product-detail-section { padding:34px 0; border-bottom:1px solid #d5ddc9; scroll-margin-top:140px; }
.product-detail-section>h2 { font-size:30px; margin-bottom:24px; }
.product-detail-content { max-width:960px; font-size:17px; line-height:1.75; }
.product-detail-content>h2:first-child,.product-detail-content .woocommerce-Reviews-title { display:none; }
.product-detail-content p { margin-bottom:18px; }
.product-detail-content h3 { font-size:24px; margin:25px 0 15px; }
.product-detail-content ul,.product-detail-content ol { padding-left:24px; }
.product-detail-content li { margin:9px 0; }
.product-detail-content img { max-width:100%; height:auto; }
.product-detail-content table { width:100%; }
.product-information .related { margin-top:45px; }
.purchase-anchor { display:block; scroll-margin-top:145px; }
.mobile-product-purchase { display:none; }
.shared-product-photo { padding:12px 0 0; color:#697760; font-size:14px; text-align:center; }
@media(max-width:960px) {
 .broccoli.woocommerce .product-overview { gap:18px 30px; }
 .product-key-facts { grid-template-columns:1fr; }
}
@media(max-width:700px) {
 .broccoli.woocommerce .product-overview { grid-template-areas:"heading" "media" "summary"; grid-template-rows:auto; grid-template-columns:minmax(0,1fr); gap:22px; }
 .product-heading .product_title { font-size:34px!important; }
 .product-key-facts { grid-template-columns:1fr 1fr; gap:0 20px; }
 .product-key-facts dt { font-size:14px; }
 .product-key-facts dd { font-size:15px; }
 .product-section-nav { gap:3px 20px; }
 .product-section-nav a { font-size:15px; min-height:44px; }
 .product-detail-section>h2 { font-size:27px; }
 .product-detail-content { font-size:16px; }
 .broccoli .mobile-product-purchase { display:flex; align-items:center; justify-content:center; position:fixed; z-index:45; left:12px; right:12px; bottom:calc(10px + env(safe-area-inset-bottom,0px)); width:calc(100% - 24px); border:1px solid #183c27; border-radius:6px; box-shadow:0 5px 22px #1b372b25; background:#2f583e; color:#fff; padding:15px 18px; font-size:16px; min-height:54px; touch-action:manipulation; }
 .mobile-product-purchase:hover { color:#fff; }
 .mobile-product-purchase strong { font-weight:600; }
 .broccoli .mobile-product-purchase[hidden],.dialog-open .broccoli .mobile-product-purchase { display:none; }
 body.single-product { padding-bottom:calc(85px + env(safe-area-inset-bottom,0px)); }
}
/* Catalog and header share the same persistent search and purchase controls. */
.header-row { display:grid; grid-template-columns:auto minmax(0,1fr) minmax(170px,210px) auto; gap:22px; height:auto; min-height:82px; padding:13px 0; }
.header-row>.brand,.header-row>.custom-logo-link { grid-column:1; grid-row:1; }
.desktop-nav { grid-column:2; grid-row:1; margin:0; min-width:0; }
.desktop-nav>.menu { justify-content:center; gap:24px; }
.desktop-nav .menu a { font-size:14px; padding:12px 0; white-space:nowrap; }
.desktop-nav .nav-group-toggle { display:flex; align-items:center; gap:7px; border:0; background:none; padding:12px 0; color:inherit; font-size:14px; font-weight:600; line-height:inherit; white-space:nowrap; }
.desktop-nav .nav-group-toggle::after,.desktop-nav .broccoli-help-menu>a::after { content:''; display:inline-block; width:6px; height:6px; border-right:1.5px solid currentColor; border-bottom:1.5px solid currentColor; transform:translateY(-2px) rotate(45deg); }
.desktop-nav .broccoli-help-menu>a::after { margin-left:8px; }
.desktop-nav .nav-group-toggle[aria-expanded=true]::after { transform:translateY(2px) rotate(225deg); }
.desktop-nav .nav-group-toggle:hover,.desktop-nav .current-menu-ancestor>.nav-group-toggle { color:var(--green); }
.desktop-nav .menu .nav-disclosure>.sub-menu { display:none; }
.desktop-nav .menu .nav-disclosure.is-open>.sub-menu { display:block; }
.desktop-nav .broccoli-help-menu>.sub-menu { min-width:250px; padding:9px; border:1px solid #acb9a0; border-radius:5px; box-shadow:3px 3px 0 var(--green); z-index:60; }
.desktop-nav .broccoli-help-menu>.sub-menu a { padding:12px 14px; min-height:44px; border-radius:3px; font-size:14px; font-weight:400; }
.desktop-nav .broccoli-help-menu>.sub-menu a:hover,.desktop-nav .broccoli-help-menu>.sub-menu a:focus-visible,.desktop-nav .broccoli-help-menu>.sub-menu .current-menu-item>a { background:#e5ebda; color:var(--green); }
.mobile-nav .menu-group-title { display:block; margin-top:8px; padding:13px 0 5px; font-size:23px; font-weight:600; }
.mobile-nav .broccoli-help-menu>.sub-menu { margin:0 0 8px; padding:0 0 0 16px; }
.mobile-nav .broccoli-help-menu>.sub-menu a { padding:10px 0; min-height:44px; font-size:16px; font-weight:400; }
.mobile-nav .broccoli-help-menu>.sub-menu .current-menu-item>a { color:var(--green); font-weight:600; text-decoration:underline; text-underline-offset:4px; }
.header-search { grid-column:3; grid-row:1; position:relative; min-width:0; }
.header-actions { grid-column:4; grid-row:1; }
.header-search .search-form { display:block; position:relative; margin:0; }
.header-search input[type=search] { border-radius:5px; height:42px; min-height:42px; font-size:15px; width:100%; padding:9px 44px 9px 13px!important; background:#fffef8; border:1px solid #b0b9a6; }
.search-submit { display:flex; align-items:center; justify-content:center; position:absolute; right:0; top:0; width:42px; height:42px; padding:0; border:0; background:transparent; color:var(--green); box-shadow:none; border-radius:4px; cursor:pointer; }
.search-submit:hover { background:#e4ecd6; }
.search-submit svg { width:20px; height:20px; }
@media(min-width:961px) and (max-width:1200px) {
 .header-row { grid-template-columns:auto minmax(0,1fr) 170px auto; gap:15px; }
 .desktop-nav>.menu { gap:16px; }
 .desktop-nav .menu a { font-size:13px; }
 .desktop-nav .nav-group-toggle { font-size:13px; }
 .header-row .brand { font-size:28px; }
 .header-row .brand img { width:34px; height:40px; }
 .header-actions { gap:0; }
 .header-actions .cart-label { display:none; }
}
.live-search-results { position:absolute; top:calc(100% + 7px); left:auto; right:0; width:420px; max-width:calc(100vw - 32px); background:#fffef8; border:1px solid #b0bea0; border-radius:5px; padding:8px 18px; box-shadow:0 14px 32px #1e392920; max-height:min(560px,65dvh); overflow:auto; z-index:60; }
.live-search-results[hidden] { display:none; }
.live-search-results .search-result { gap:14px; padding:13px 0; font-size:15px; }
.live-search-results .search-result:first-child { border-top:0; }
.search-result>span>strong { display:block; font-size:16px; }
.search-result>span>small { display:block; font-size:13px; font-weight:400; color:#68735d; margin-top:4px; }
.search-result>b { font-size:15px; font-weight:600; white-space:nowrap; }
.all-search-results { display:block; border-top:1px solid #c4d1b5; padding:15px 0; font-size:14px; font-weight:600; }
.broccoli .woocommerce ul.products li.product .woocommerce-LoopProduct-link,.broccoli.woocommerce ul.products li.product .woocommerce-LoopProduct-link { flex:0; }
.catalog-purchase { display:flex; flex-direction:column; flex:1; gap:0; padding-top:14px; }
.broccoli .catalog-pack-select, .broccoli .product-pack-select { width:auto; max-width:100%; min-width:0; font-size:14px; min-height:36px; padding:6px 28px 6px 10px; margin:0 0 10px; border-radius:8px; background-color:#fffef8; }
.broccoli .product-pack-select { margin:0; }
.catalog-purpose { margin:0 0 14px; color:#65705c; font-size:14px; line-height:1.45; }
@media (max-width:767px) {
 .broccoli .catalog-pack-select, .broccoli .product-pack-select { min-height:44px; font-size:16px; padding:8px 26px 8px 8px; }
}
.catalog-purchase .product-pack { min-height:44px; display:flex; align-items:center; margin:0 0 14px; font-size:15px; }
.catalog-purchase .product-availability { margin:0 0 17px; font-size:14px; }
.broccoli .woocommerce ul.products li.product [data-card-price],.broccoli.woocommerce ul.products li.product [data-card-price] { margin-top:auto; }
.card-feedback,.purchase-feedback { font-size:14px; line-height:1.5; margin:14px 0 0; color:#315d39; }
.card-feedback:empty,.purchase-feedback:empty { display:none; }
.card-feedback.is-error,.purchase-feedback.is-error { color:#90492f; border-left:3px solid #aa6b4a; padding-left:12px; }
.feedback-action { display:inline; padding:0; background:transparent; border:0; text-decoration:underline; text-underline-offset:3px; font-size:14px; color:inherit; min-height:36px; }
.active-filters { display:flex; flex-wrap:wrap; align-content:start; align-items:center; gap:6px; min-width:0; min-height:var(--filter-chip-height); margin:0; padding:0; font-size:12px; }
.active-filters>a { display:inline-flex; flex:0 0 auto; align-items:center; gap:7px; max-width:100%; height:var(--filter-chip-height); padding:3px 8px; background:#e7eddd; border:1px solid #c4d0b5; border-radius:4px; text-decoration:none; line-height:18px; }
.active-filter-label { min-width:0; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.active-filter-remove { flex:none; font-size:16px; line-height:1; color:#4b6341; }
.active-filters>a:hover { border-color:var(--green); background:#d9e5c7; }
.catalog-toolbar .clear-filter-link { display:inline-flex; align-items:center; justify-self:end; min-height:28px; padding:3px 0; color:#59644f; text-decoration:underline; text-underline-offset:3px; font-size:12px; line-height:18px; white-space:nowrap; }
.filter-choice { font-size:14px; min-height:39px; }
.filter-choice small { font-size:12px; }
.filter-form-actions { margin-top:15px; }
.filters-dialog { width:min(480px,100%); max-width:100%; height:100dvh; max-height:100dvh; position:fixed; inset:0 0 0 auto; margin:0; border:0; border-left:1px solid #9caf88; padding:22px 24px 0; overscroll-behavior:contain; }
.filters-dialog .catalog-filter-form { display:block; }
.filters-dialog .filter-heading { margin:0 0 22px; }
.filters-dialog .filter-heading h2 { font-size:26px; }
.filters-dialog .filter-close { display:flex; }
.filters-dialog fieldset { margin:0 0 23px; padding:0 0 18px; border:0; border-bottom:1px solid #d5ddc8; }
.filters-dialog legend { font-size:17px; font-weight:600; margin-bottom:13px; }
.filters-dialog .filter-choice { font-size:16px; min-height:44px; }
.filters-dialog .filter-choice input { width:19px; height:19px; }
.filters-dialog .filter-form-actions { position:sticky; bottom:0; background:var(--paper); border-top:1px solid #b6c6a4; padding:18px 0 calc(12px + env(safe-area-inset-bottom,0px)); margin-top:20px; }
.filters-dialog .apply-filters { width:100%; min-height:48px; font-size:16px; }
.filters-dialog .filter-reset { margin:14px 0 0; font-size:14px; }
.filters-dialog .price-inputs input { font-size:16px; min-height:46px!important; }
.filters-dialog .price-inputs label { font-size:14px; }
.mini-cart-controls { display:flex; flex-wrap:wrap; gap:14px; align-items:center; justify-content:space-between; margin-top:15px; }
.mini-quantity { display:flex; align-items:center; background:#fffef8; border:1px solid #aab99a; border-radius:4px; overflow:hidden; }
.mini-quantity button { width:34px; height:40px; padding:0; border:0; background:transparent; font-size:20px; }
.broccoli .mini-quantity input[type=number] { min-height:40px; height:40px; width:40px; padding:0; text-align:center; border:0; appearance:textfield; -moz-appearance:textfield; border-radius:0; background:transparent; font-size:15px; }
.mini-quantity input::-webkit-inner-spin-button,.mini-quantity input::-webkit-outer-spin-button { -webkit-appearance:none; margin:0; }
.mini-line-total { font-size:17px; font-weight:600; }

.broccoli-js .woocommerce-cart-form button[name=update_cart] { display:none!important; }
.broccoli .woocommerce ul.products li.product .button.loading,.broccoli.woocommerce ul.products li.product .button.loading { opacity:.65; }
@media(min-width:961px) { .desktop-nav { display:block; } }
@media(max-width:960px) {
 .header-row { grid-template-columns:1fr auto; gap:10px; padding:12px 0; }
 .header-actions { grid-column:2; }
 .header-search { grid-column:1/-1; grid-row:2; }
 .live-search-results { width:100%; }
 .desktop-nav { display:none; }
 .mobile-menu-toggle { display:inline-flex; }
 .catalog-filters { display:none!important; }
 .broccoli.woocommerce .catalog-toolbar .filter-toggle { display:inline-flex; font-size:14px; min-height:44px; padding:10px 15px; }
 .catalog-toolbar { align-items:center; }
 .broccoli .woocommerce-result-count { font-size:14px; }
 .broccoli .woocommerce-ordering select { font-size:14px; min-height:44px; }
}
@media(max-width:700px) {
 .header-row { padding:10px 0; }
 .header-search input[type=search] { font-size:16px; }
 .live-search-results { padding:6px 13px; max-height:60dvh; }
 .live-search-results .search-result { gap:10px; }
 .search-result>span>strong { font-size:14px; }
 .search-result>b { font-size:13px; }
 .catalog-pack-select { font-size:14px; padding:8px 7px; min-height:44px; }
 .catalog-purchase .product-pack { font-size:14px; margin-bottom:10px; min-height:44px; }
 .catalog-purchase .product-availability { font-size:13px; }
 .filters-dialog { width:100%; }
 .product-detail-section,.purchase-anchor { scroll-margin-top:165px; }
 .mini-cart-controls { gap:10px; }
 .mini-line-total { font-size:16px; }
 .card-feedback { font-size:13px; }
}

/* Filter rows occupy space only when a selection is present. */
.catalog-toolbar { --filter-chip-height:28px; display:grid; grid-template-columns:minmax(0,1fr) auto auto; grid-template-rows:minmax(36px,auto); align-items:center; min-height:0; gap:8px 26px; position:relative; z-index:4; margin:0 0 14px; padding:0; border:0; }
.catalog-toolbar .woocommerce-result-count { grid-column:1; grid-row:1; }
.catalog-toolbar .woocommerce-ordering { grid-column:3; grid-row:1; justify-self:end; }
.catalog-toolbar .woocommerce-ordering select { min-height:36px; }
.catalog-toolbar .clear-filter-link { grid-column:2; grid-row:1; }
.catalog-toolbar .active-filters { grid-column:1/-1; grid-row:2; }
@media(max-width:960px) {
 .catalog-toolbar { --filter-chip-height:32px; grid-template-columns:minmax(0,1fr) minmax(0,1fr); grid-template-rows:minmax(44px,auto) 24px; gap:6px 12px; margin-bottom:12px; }
 .catalog-toolbar .filter-toggle { grid-column:1; grid-row:1; justify-self:start; }
 .catalog-toolbar .woocommerce-ordering { grid-column:2; grid-row:1; justify-self:end; max-width:100%; }
 .catalog-toolbar .woocommerce-ordering select { width:100%; max-width:100%; min-height:44px; }
 .catalog-toolbar .woocommerce-result-count { grid-column:1/-1; grid-row:2; line-height:20px; padding-right:72px; white-space:nowrap; }
 .catalog-toolbar .clear-filter-link { grid-column:2; grid-row:2; min-height:24px; }
 .catalog-toolbar .active-filters { grid-row:3; }
}

/* Breadcrumbs remain readable and easy to tap at every breakpoint. */
.breadcrumbs,.broccoli .woocommerce-breadcrumb { font-size:15px; line-height:1.6; color:#59644f; gap:8px 12px; align-items:center; }
.breadcrumbs a,.broccoli .woocommerce-breadcrumb a { display:inline-flex; align-items:center; min-height:44px; color:#4b5843; text-underline-offset:4px; }
.breadcrumbs a:hover,.broccoli .woocommerce-breadcrumb a:hover { color:var(--green); text-decoration:underline; }
.product-back a { display:inline-flex; align-items:center; min-height:44px; font-size:14px; }
@media(max-width:700px) {
 .breadcrumbs,.broccoli .woocommerce-breadcrumb { font-size:14px; gap:4px 10px; }
}

/* Shared storefront trail geometry and compact archive headings. */
.catalog-main,.single-product .shop-main { padding-top:10px; }
.broccoli .store-breadcrumbs { margin:0 0 8px; min-width:0; }
.broccoli .store-breadcrumbs > a,.broccoli .store-breadcrumbs > [aria-current] { min-width:0; max-width:100%; overflow-wrap:anywhere; }
.broccoli .store-breadcrumbs a { min-height:44px; }
.catalog-main .catalog-heading { margin:0 0 12px; gap:24px; }
.catalog-main .catalog-heading h1 { font-size:34px; line-height:1.15; letter-spacing:-.025em; }
@media(max-width:960px) {
 .catalog-main,.single-product .shop-main { padding-top:6px; }
 .broccoli .store-breadcrumbs { margin-bottom:6px; }
 .broccoli .store-breadcrumbs a { min-height:44px; }
 .catalog-main .catalog-heading { margin-bottom:10px; }
 .catalog-main .catalog-heading h1 { font-size:30px; }
}

/* Purchase feedback never changes the card's geometry. */
.broccoli .catalog-buy,.broccoli .single_add_to_cart_button { position:relative; }
.broccoli .catalog-buy.is-pending,.broccoli .single_add_to_cart_button.is-pending,.broccoli .mobile-product-purchase.is-pending { cursor:progress; color:transparent!important; }
.broccoli .catalog-buy.is-pending::after,.broccoli .single_add_to_cart_button.is-pending::after,.broccoli .mobile-product-purchase.is-pending::after { content:''; position:absolute; width:20px; height:20px; left:calc(50% - 10px); top:calc(50% - 10px); border:2px solid #ffffff70; border-top-color:#fff; border-radius:50%; animation:purchase-spin .7s linear infinite; }
.cart-toggle.cart-pending { background:#dcebad; animation:cart-wait 1s ease-in-out infinite; }
@keyframes purchase-spin { to { transform:rotate(360deg); } }
@keyframes cart-wait { 50% { box-shadow:0 0 0 6px #c5dc8860; } }
@media(prefers-reduced-motion:reduce) { .cart-toggle.cart-pending { animation:none; box-shadow:0 0 0 3px #abc562; } .broccoli .is-pending::after { animation:none!important; } }
.cart-flight-mascot { position:fixed; z-index:90; top:0; left:0; width:60px; height:60px; margin:0; object-fit:contain; pointer-events:none; transform-origin:center; filter:drop-shadow(0 3px 4px #20372624); will-change:transform,opacity; }
.cart-toggle { transition:background-color .2s,box-shadow .2s; }
.cart-toggle.cart-confirmed { background:#dcebad; box-shadow:0 0 0 5px #c5dc8838; }
.purchase-notice { position:fixed; bottom:24px; left:50%; transform:translateX(-50%); z-index:80; width:min(460px,calc(100% - 32px)); padding:18px 48px 18px 20px; border:1px solid #925e43; border-radius:5px; background:#fff9ef; box-shadow:0 6px 24px #2a312724; color:#67452c; font-size:15px; line-height:1.5; }
.notice-close { position:absolute; top:3px; right:3px; display:flex; align-items:center; justify-content:center; width:40px; height:40px; padding:0; border:0; background:transparent; font-size:25px; }
@media(max-width:700px) { .single-product .purchase-notice { bottom:88px; } }
.broccoli .woocommerce ul.products li.product .catalog-buy,
.broccoli.woocommerce ul.products li.product .catalog-buy,
.broccoli.woocommerce div.product form.cart .single_add_to_cart_button { transform:none; transition:background-color .16s,opacity .16s; }
.broccoli .woocommerce ul.products li.product .catalog-buy,
.broccoli.woocommerce ul.products li.product .catalog-buy { box-shadow:2px 2px 0 var(--ink); }

.cart-dialog .woocommerce-mini-cart-item[hidden] { display:none!important; }
.cart-dialog .cart-item-pending { pointer-events:none; }
.cart-dialog .woocommerce-mini-cart__buttons a[aria-disabled=true] { opacity:.6; pointer-events:none; }


/* Only errors and undo appear here, outside the cart's document flow. */
.cart-dialog .cart-feedback { position:fixed; z-index:2; right:18px; bottom:18px; width:min(440px,calc(100vw - 36px)); min-height:0; margin:0; padding:16px 46px 16px 18px; background:#fffef8; border:1px solid #9aab87; border-radius:5px; box-shadow:0 4px 20px #20352625; font-size:14px; line-height:1.5; }
.cart-dialog .cart-feedback:empty { display:none; }
.cart-dialog .cart-feedback.is-error { background:#fff4eb; border-color:#b68669; }
.mini-line-total,.mini-quantity input,.cart-dialog .woocommerce-mini-cart__total { font-variant-numeric:tabular-nums; }

/* Page size uses the same flat native select as catalog ordering. */
.catalog-toolbar .catalog-page-size { grid-column:2; grid-row:1; margin:0; }
/* Both dropdowns share one control box and one chevron. A select left at the
   browser's own appearance carries its own height and text position, which puts
   the two labels on different lines in Safari. */
.broccoli .catalog-toolbar :is(.catalog-page-size,.woocommerce-ordering) select {
  appearance:none;
  -webkit-appearance:none;
  box-sizing:border-box;
  height:36px;
  min-height:36px;
  max-width:100%;
  margin:0;
  padding:6px 28px 6px 10px;
  border:1px solid transparent;
  border-radius:5px;
  background-color:transparent;
  background-image:var(--pack-picker-chevron);
  background-repeat:no-repeat;
  background-position:right 10px center;
  background-size:8px 8px;
  font-family:inherit;
  font-size:12px;
  line-height:22px;
  color:inherit;
}
.catalog-toolbar .clear-filter-link { grid-column:3; grid-row:2; }
.catalog-toolbar .active-filters { grid-column:1/3; }
@media(max-width:960px) {
 /* Page size is a desktop refinement. On a phone the toolbar keeps the filter
    button and sorting, and the catalog falls back to its saved page size. */
 .catalog-toolbar .catalog-page-size { display:none; }
 .broccoli .catalog-toolbar :is(.catalog-page-size,.woocommerce-ordering) select { width:100%; height:44px; min-height:44px; font-size:14px; }
}

/* Shared intrinsic rows keep every card field aligned without clipping copy. */
@supports (grid-template-rows:subgrid) {
  .broccoli .woocommerce ul.products li.product,
  .broccoli.woocommerce ul.products li.product {
    display:grid;
    grid-row:span 10;
    grid-template-rows:subgrid;
    row-gap:0;
  }
  .broccoli .woocommerce ul.products li.product .woocommerce-LoopProduct-link,
  .broccoli.woocommerce ul.products li.product .woocommerce-LoopProduct-link {
    display:grid;
    grid-row:1 / span 4;
    grid-template-rows:subgrid;
    row-gap:0;
    min-width:0;
  }
  .broccoli li.product .product-visual { grid-row:1; }
  .broccoli li.product .product-category { grid-row:2; min-height:0; }
  .broccoli li.product .woocommerce-loop-product__title { grid-row:3; }
  .broccoli li.product .catalog-purpose { grid-row:4; }
  .broccoli li.product .stock-product-brand-badge { grid-row:5; align-self:start; }
  .broccoli li.product .catalog-purchase {
    display:grid;
    grid-row:6 / span 3;
    grid-template-rows:subgrid;
    row-gap:0;
    min-width:0;
  }
  .broccoli li.product .catalog-purchase > :is(.pack-picker,.catalog-pack-select,.product-pack) {
    grid-row:1;
    align-self:start;
  }
  .broccoli li.product .catalog-purchase > .product-availability { grid-row:2; align-self:start; }
  .broccoli .woocommerce ul.products li.product [data-card-price],
  .broccoli.woocommerce ul.products li.product [data-card-price] { grid-row:3; margin-top:0; align-self:start; }
  /* The shared card-button rule needs align-self:stretch for the flex fallback,
     where it controls width. On the grid path the same value stretches the
     button over its whole row, so this selector matches that specificity and
     keeps the button at its own height. Browsers leave different amounts of
     slack in this row, so the button is anchored to the row's end: that keeps
     its distance to the card's bottom edge identical everywhere. */
  .broccoli .woocommerce ul.products li.product > .catalog-buy,
  .broccoli.woocommerce ul.products li.product > .catalog-buy { grid-row:9; align-self:end; }
  .broccoli li.product > .card-feedback { grid-row:10; }
}
@media (max-width:479px) {
  .broccoli .woocommerce ul.products,
  .broccoli.woocommerce ul.products,
  .broccoli .woocommerce ul.products.columns-4,
  .broccoli.woocommerce ul.products.columns-4 { grid-template-columns:minmax(0,1fr); }
}

/* Empty directions retain the storefront's quiet comic composition. */
.catalog-empty-scene { display:grid; grid-template-columns:minmax(0,1fr) minmax(110px,25%); align-items:center; gap:24px; padding:clamp(24px,4vw,52px); background:var(--cream); border:1px solid var(--line); border-radius:24px; overflow:hidden; }
.catalog-empty-copy { min-width:0; position:relative; z-index:1; }
.catalog-empty-eyebrow { font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.12em; color:var(--green); }
.catalog-empty-copy h2 { margin:16px 0; max-width:22ch; font-size:clamp(26px,3vw,40px); line-height:1.14; letter-spacing:-.04em; }
.catalog-empty-copy>p:not(.catalog-empty-eyebrow) { max-width:40ch; line-height:1.6; }
.catalog-empty-copy .button { margin-top:14px; white-space:normal; text-align:center; }
.catalog-empty-brok { width:100%; height:auto; max-height:330px; object-fit:contain; align-self:end; }
.catalog-empty-contacts { display:flex; flex-wrap:wrap; gap:24px 40px; padding:28px 4px; }
.catalog-empty-contact { flex:1 1 220px; min-width:0; }
.catalog-empty-contact p { margin:0 0 10px; max-width:34ch; font-size:14px; line-height:1.5; }
.catalog-empty-contact a { color:var(--green); font-weight:600; text-underline-offset:4px; }
.catalog-heading .term-description { max-width:65ch; line-height:1.65; }
.catalog-heading .term-description p { margin:12px 0 0; }
.catalog-empty-filtered h2 { line-height:1.2; }
@media(max-width:600px) {
 .catalog-empty-scene { gap:12px; padding:24px; grid-template-columns:minmax(0,1fr); }
 .catalog-empty-copy h2 { max-width:23ch; font-size:28px; }
 .catalog-empty-brok { grid-row:1; justify-self:end; width:74px; max-height:173px; margin-bottom:-42px; }
 .catalog-empty-eyebrow { max-width:calc(100% - 84px); }
 .catalog-empty-copy .button { display:flex; width:100%; }
 .catalog-empty-contacts { gap:24px; padding:24px 4px; }
}

/* Weight editorial entry points reuse the existing brand and product surfaces. */
.hero-secondary { display:inline-flex; margin:20px 0 0; width:fit-content; }
.hero-copy > .button { display:flex; width:fit-content; }
.home-products-empty { display:flex; align-items:center; gap:28px; }
.home-products-empty > img { width:140px; height:140px; object-fit:contain; }
.home-products-empty h2 { margin-top:0; }
.weight-article-link { clear:both; padding:36px 0; border-block:1px solid var(--line); margin-bottom:36px; }
.weight-article-link h2 { max-width:800px; font-size:clamp(24px,3vw,36px); line-height:1.2; }
.weight-article-link > p { max-width:740px; }
@media(max-width:600px) {
 .home-products-empty { flex-direction:column; align-items:flex-start; gap:16px; }
 .home-products-empty > img { width:100px; height:100px; }
}

/* The complete wordmark is one image, with the same proportions at every size. */
.header-row .brand img.brand-logo { width:167px; height:49px; }
@media(max-width:1200px) { .header-row .brand img.brand-logo { width:146px; height:auto; } }
