/* Accessible controls and reflow for small screens and browser zoom. */
body :is(input, select, textarea, button, a):focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 3px; }
body :is(.shop-toast, .bb-notification, footer) a:focus-visible { outline-color: currentColor; }
body :is(.quantity-control button, .cart-quantity button, .cart-remove, .filter-title button, .drawer-head button) { min-width: 44px; min-height: 44px; }
body .check-row { min-height: 44px; }
body .bb-actions { flex-wrap: wrap; }
body .bb-home .bb-product-title { height: auto; min-height: 64px; overflow: visible; }
body .bb-home .bb-product h3 { display: block; overflow: visible; }
body .bb-home .bb-product > p { height: auto; display: block; overflow: visible; }
body :is(a, button, input, select, textarea) { scroll-margin-block: 150px 32px; }
@media (max-width: 539px) {
  body .bb-home .bb-products { grid-template-columns: 1fr; }
  body .bb-home .bb-hero-stage { height: auto; display: grid; gap: 24px; }
  body .bb-home .bb-hero h1 { position: static; width: 100%; font-size: 2.5rem; }
  body .bb-home .bb-hero h1 em { margin: 8px 0 0; font-size: 1.75rem; max-width: none; }
  body .bb-home .bb-hero-primary { position: static; width: 70%; max-width: 280px; height: auto; justify-self: center; transform: none; }
  body .bb-home .bb-hero-description { position: static; width: 100%; padding-left: 14px; }
  body .bb-home .bb-hero-description p { font-size: 1rem; }
  body .bb-home :is(.bb-hero-detail, .bb-hero-organic, .bb-hero-dots, .bb-hero-flower) { display: none; }
  body :is(input:not([type=checkbox]):not([type=radio]):not([type=range]), select, textarea) { font-size: 1rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}

.product-layout-toggle { display: none; }
@media (max-width: 539px) {
  body .product-layout-toggle { display: inline-flex; gap: 4px; padding: 4px; border: 1px solid var(--border-control); border-radius: 12px; background: var(--cream); width: fit-content; flex-shrink: 0; }
  body .product-layout-toggle button { display: grid; place-items: center; width: 44px; height: 44px; padding: 10px; border: 0; border-radius: 8px; background: transparent; color: var(--accent-text); }
  body .product-layout-toggle button[aria-pressed="true"] { background: var(--action-bg); color: var(--white); }
  body .product-layout-toggle button:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
  body .product-layout-toggle svg { width: 22px; height: 22px; }
  body .bb-picks > .product-layout-toggle { margin: 0 0 20px; }
  body .products-page.products-page .toolbar-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; width: auto; }
  body .bb-home [data-mobile-columns="1"] .bb-products,
  body .products-page.products-page [data-mobile-columns="1"] .catalog-grid { grid-template-columns: minmax(0, 1fr); }
  body .bb-home [data-mobile-columns="2"] .bb-products,
  body .products-page.products-page [data-mobile-columns="2"] .catalog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}