/* Storefront refresh. Scoped to the shop homepage; product and document layouts retain their own styles. */
body.storefront {
  --bg: #f5f3ec;
  --surface: #fffefa;
  --surface-2: #eaf0e6;
  --ink: #20392b;
  --muted: #657164;
  --line: #d9dfd2;
  --green: #286044;
  --green-dark: #173e2c;
  --gold: #e9dfbf;
  --rust: #f0dbac;
  --shadow: 0 12px 32px rgba(37, 59, 39, .06);
  --glow: none;
  color: var(--ink);
  background: var(--bg);
}
.storefront .top-note {
  background: #193e2d;
  color: #eaf2df;
  border: 0;
  font-size: 12px;
}
.storefront .topbar {
  background: rgba(255, 254, 250, .97);
  border-color: var(--line);
  box-shadow: 0 4px 16px rgba(25, 50, 34, .04);
}
.storefront .brand small { color: #526949; letter-spacing: .06em; }
.storefront .brand-mark { border: 0; box-shadow: none; border-radius: 12px; }
.storefront .search {
  background: #f3f5ee;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.storefront .search input { border: 0; box-shadow: none; }
.storefront input, .storefront select {
  color: var(--ink);
  background-color: #fffefa;
  border-color: #c9d3c3;
}
.storefront input::placeholder { color: #687465; opacity: 1; }
.storefront .topbar input { background: transparent; }
.storefront main { max-width: 1320px; margin-inline: auto; }
.storefront .shop-head {
  grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr);
  gap: 40px;
  min-height: 380px;
  padding: 38px 44px;
  background: #e6ecdf;
  color: var(--ink);
  border: 1px solid #dbe3d1;
  border-radius: 22px;
  box-shadow: none;
}
.storefront .shop-head::after { content: none; }
.storefront .hero-copy { gap: 16px; }
.storefront h1 {
  max-width: 700px;
  margin: 0;
  font-size: clamp(36px, 4.1vw, 58px);
  line-height: 1.04;
  letter-spacing: -.045em;
  text-shadow: none;
  overflow-wrap: normal;
}
.storefront .eyebrow { font-size: 11px; letter-spacing: .12em; }
.storefront .lead { color: #4e604d; font-size: 17px; line-height: 1.6; max-width: 540px; }
.storefront .hero-actions { gap: 12px; margin-top: 2px; }
.storefront .primary-link,
.storefront .primary,
.storefront .add-cart,
.storefront .cart-button {
  min-height: 46px;
  color: #fffefa;
  background: #28553d;
  border: 1px solid #28553d;
  box-shadow: none;
  border-radius: 10px;
}
.storefront .primary-link { gap: 22px; padding-inline: 22px; }
.storefront .primary-link:hover,
.storefront .primary:hover,
.storefront .add-cart:hover { background: #193e2d; }
.storefront .ghost-link,
.storefront .details-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  color: #28553d;
  background: transparent;
  border: 1px solid #aabb9e;
  border-radius: 10px;
  text-decoration: none;
}
.storefront .hero-notes { gap: 16px; }
.storefront .hero-notes span {
  padding: 0;
  color: #526549;
  border: 0;
  background: none;
  font-size: 12px;
}
.storefront .hero-product { position: relative; margin: 0; min-width: 0; }
.storefront .hero-product > a { display: block; }
.storefront .hero-product img {
  display: block;
  width: 100%;
  height: 280px;
  object-fit: cover;
  border-radius: 16px;
  background: #d7dfce;
}
.storefront .hero-product figcaption {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 6px 16px;
  padding-top: 13px;
  font-size: 12px;
  color: #66725b;
}
.storefront .hero-product figcaption a { color: #244d34; font-weight: 700; text-decoration: none; }
.storefront .category-hubs,
.storefront .home-guides {
  padding: 24px 0;
  background: none;
  border: 0;
  box-shadow: none;
}
.storefront .category-hubs-head { margin-bottom: 16px; gap: 12px; }
.storefront .category-hubs-head h2,
.storefront .home-guides h2 { color: var(--ink); font-size: 25px; letter-spacing: -.03em; }
.storefront .category-hubs-head > span { color: var(--muted); font-size: 13px; }
.storefront .category-hub-links { gap: 10px; }
.storefront .category-hub-links a {
  padding: 17px 18px;
  background: #fffefa;
  color: #284331;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: none;
}
.storefront .category-hub-links a:hover { border-color: #698b60; background: #edf2e6; }
.storefront .category-hub-links span { color: var(--muted); font-size: 12px; }
.storefront .quick-nav { gap: 8px; margin-top: 2px; }
.storefront .quick-card {
  min-height: 48px;
  padding: 11px 16px;
  color: #4e6250;
  background: transparent;
  border: 1px solid #d9dfd2;
  border-radius: 10px;
  box-shadow: none;
}
.storefront .quick-card span { display: none; }
.storefront .quick-card strong { font-size: 14px; }
.storefront .quick-card.active { background: #28553d; border-color: #28553d; color: #fffefa; }
.storefront .toolbar { margin-block: 18px; gap: 12px; }
.storefront .chip { color: #34513c; background: #fffefa; border-color: #d1dac8; }
.storefront .chip.active { color: #fffefa; background: #28553d; }
.storefront .sort { color: var(--muted); }
.storefront .layout { gap: 24px; scroll-margin-top: 126px; }
.storefront .catalog-panel,
.storefront .summary-panel,
.storefront .service-strip article,
.storefront .order-steps article,
.storefront .home-guide-grid > a,
.storefront .faq-section article {
  color: var(--ink);
  background: #fffefa;
  border: 1px solid var(--line);
  border-radius: 12px;
  box-shadow: none;
}
.storefront .catalog-menu button { color: #34513c; background: transparent; border-color: var(--line); }
.storefront .catalog-menu button.active { background: #e7eedd; color: #20452f; }
.storefront #productGridTitle { margin: 0 0 10px; font-size: 28px; letter-spacing: -.03em; }
.storefront .result-line { margin-bottom: 16px; color: #62705f; }
.storefront .product-grid { gap: 16px; }
.storefront .product-card {
  min-height: 0;
  color: #20392b;
  background: #fffefa;
  border: 1px solid #dce2d3;
  border-radius: 14px;
  box-shadow: 0 4px 14px rgba(39, 60, 35, .03);
}
.storefront .product-card:hover { border-color: #8ca17b; box-shadow: 0 10px 24px rgba(39, 60, 35, .08); }
.storefront .product-image { min-height: 205px; background-color: #e7ebdf; }
.storefront .product-image::after { content: none; }
.storefront .product-body { padding: 16px; gap: 2px; }
.storefront .badge { color: #466239; background: #edf1e5; font-weight: 600; }
.storefront .product-label { color: #64745b; font-weight: 500; }
.storefront .product-card h3 { font-size: 18px; line-height: 1.3; letter-spacing: -.02em; margin-block: 12px 10px; }
.storefront .product-card p { display: none; }
.storefront .product-bottom { margin-top: 10px; gap: 14px; }
.storefront .price { color: #20392b; font-size: 23px; }
.storefront .product-tag { color: #364d2c; background: #f1e4be; font-weight: 600; }
.storefront .product-tag[data-type="hit"] { color: #fff; background: #396247; }
.storefront .product-tag[data-type="catalog"] { color: #304b36; background: #f3f5ed; border: 1px solid #d8dfce; }
.storefront .added { background: #416e49; }
.storefront .service-strip { margin-top: 28px; }
.storefront .service-strip article { min-height: 120px; }
.storefront .service-strip article > span { display: none; }
.storefront .service-strip strong { color: #294d34; }
.storefront .service-strip p { margin: 8px 0 0; color: #657160; line-height: 1.5; }
.storefront .order-steps { margin-top: 32px; }
.storefront .order-steps article p { color: #657160; }
.storefront .home-guide-grid > a { padding: 20px; }
.storefront .home-guide-grid strong { color: #294d34; }
.storefront .home-guide-grid small { color: #657160; }
.storefront .home-more { margin-top: 16px; }
.storefront .home-more summary { cursor: pointer; color: #315e3e; padding: 12px 0; font-weight: 600; }
.storefront .home-more .category-hub-links,
.storefront .home-more .home-guide-grid { margin-top: 8px; }
.storefront .about-section,
.storefront .faq-section,
.storefront .trust-section { background: #e7eddf; color: var(--ink); border-color: #d9e0d0; box-shadow: none; border-radius: 14px; }
.storefront .about-section p,
.storefront .faq-section p,
.storefront .trust-section p { color: #52634d; }
.storefront .footer { color: #e8f0dc; background: #1b3d2c; }
.storefront .footer p, .storefront .footer small { color: #c4d0b8; }
.storefront .mobile-shop-bar { background: #fffefa; border-color: #cdd8c3; box-shadow: 0 -4px 20px rgba(20, 44, 27, .08); }
.storefront .mobile-shop-bar a,
.storefront .mobile-shop-bar button { color: #284c35; background: transparent; border-color: #d5dfcd; }
.storefront .mobile-shop-bar b { color: #fff; background: #28553d; }
.storefront .cart-drawer, .storefront .product-detail { background: #fffefa; color: #20392b; }
.storefront .drawer-head { border-color: #d5dfcd; }
.storefront .icon-button { color: #294b36; background: #eef2e7; border-color: #d5dfcd; }
.storefront .quantity button,
.storefront .promo-row button { color: #31563c; background: #ecf1e4; border-color: #ccdac2; }
.storefront .totals .grand { color: #20392b; }
.storefront .checkout-note,
.storefront .payment-method-selected { background: #edf2e6; border-color: #cddac1; color: #435b3b; }
.storefront .field-hint,
.storefront .consent-check,
.storefront .payment-method-selected small { color: #56664e; }
.storefront .consent-check a, .storefront .delivery-question { color: #245c3b; }
.storefront .delivery-question { display: inline-block; margin: -2px 0 16px; font-size: 14px; text-underline-offset: 3px; }
.storefront .toast { color: #fffefa; background: #28553d; border-color: #28553d; top: 18px; bottom: auto; }
.storefront .promo-status { color: #286044; }
.storefront .cart-item strong { color: #294b36; }
.storefront a:focus-visible, .storefront button:focus-visible,
.storefront input:focus-visible, .storefront select:focus-visible,
.storefront summary:focus-visible { outline: 3px solid #58784b; outline-offset: 3px; }
@media (max-width: 980px) {
  .storefront .shop-head { padding: 30px; gap: 24px; }
  .storefront .hero-product img { height: 250px; }
  .storefront .layout { grid-template-columns: minmax(0, 1fr); }
  .storefront .side-stack { display: none; }
  .storefront .category-hub-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .storefront main { padding: 18px 14px 34px; }
  .storefront .topbar { padding: 10px 14px; gap: 10px; }
  .storefront .brand-mark { width: 42px; height: 42px; }
  .storefront .shop-head { display: block; min-height: 0; padding: 25px 21px; border-radius: 16px; }
  .storefront .hero-copy { gap: 14px; }
  .storefront h1 { font-size: clamp(32px, 8.6vw, 40px); line-height: 1.08; }
  .storefront .lead { font-size: 15px; line-height: 1.5; }
  .storefront .hero-product { display: none; }
  .storefront .hero-actions { display: grid; grid-template-columns: 1fr; gap: 9px; }
  .storefront .hero-actions a { justify-content: center; min-height: 46px; }
  .storefront .hero-notes { gap: 7px 14px; flex-wrap: wrap; overflow: visible; }
  .storefront .hero-notes span { white-space: normal; font-size: 11px; }
  .storefront .category-hubs { padding: 23px 0 18px; margin: 0; }
  .storefront .category-hubs-head { display: block; }
  .storefront .category-hubs-head h2 { font-size: 23px; }
  .storefront .category-hubs-head > span { display: none; }
  .storefront .category-hub-links a { min-height: 72px; padding: 12px; }
  .storefront .category-hub-links strong { font-size: 14px; line-height: 1.3; }
  .storefront .quick-nav { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); overflow: visible; }
  .storefront .quick-card { padding: 10px 4px; min-height: 44px; }
  .storefront .quick-card strong { font-size: 12px; }
  .storefront .toolbar { display: flex; flex-direction: column; align-items: stretch; margin-block: 14px; }
  .storefront .chips { flex-wrap: wrap; overflow: visible; }
  .storefront .sort { justify-content: space-between; font-size: 12px; }
  .storefront .layout { scroll-margin-top: 130px; }
  .storefront #productGridTitle { font-size: 25px; }
  .storefront .product-grid { gap: 14px; grid-template-columns: minmax(0, 1fr); }
  .storefront .product-image { min-height: 230px; }
  .storefront .product-card h3 { font-size: 19px; }
  .storefront .product-body { padding: 16px; }
  .storefront .service-strip { display: grid; grid-template-columns: minmax(0, 1fr); overflow: visible; }
  .storefront .service-strip article { min-width: 0; min-height: 0; }
  .storefront .home-guide-grid { grid-template-columns: minmax(0, 1fr); }
  .storefront .cart-drawer { padding: 18px 16px 26px; }
  .storefront .totals .grand { font-size: 16px; gap: 12px; }
}
