@charset "UTF-8";
/* line 31, app/assets/stylesheets/sqrl_brand_tokens.scss */
:root {
  --sqrl-cream-50: #f8f4ee;
  --sqrl-sand-100: #ede0d0;
  --sqrl-sage-200: #eaebc4;
  --sqrl-acorn-400: #e6974c;
  --sqrl-cinnamon-500: #c19a77;
  --sqrl-bark-600: #a87555;
  --sqrl-white-label-preview-surface: #faf6ee;
  --sqrl-home-bg: #f6fbf4;
  --sqrl-home-muted: #e7efeb;
  --sqrl-home-primary: #4b9b7d;
  --sqrl-home-primary-glow: #87c5ae;
  --sqrl-home-foreground: #305044;
  --sqrl-label-preview-shadow: rgba(48, 80, 68, 0.2);
  --sqrl-home-muted-foreground: #7b9d91;
  --sqrl-home-warning: #f2cc5a;
  --sqrl-home-warning-foreground: #305044;
  --sqrl-home-border: #cfe2d9;
  --sqrl-action-primary: #2f6f58;
  --sqrl-action-primary-hover: #285e4c;
  --sqrl-label-run-accent: #81d8d0;
  --sqrl-label-run-accent-hover: #65c9c0;
  --sqrl-label-run-foreground: #173e3b;
  --sqrl-text-muted-accessible: #526e63;
  --sqrl-auth-primary-strong: var(--sqrl-action-primary);
  --sqrl-auth-primary-hover: var(--sqrl-action-primary-hover);
  --sqrl-auth-muted-foreground: var(--sqrl-text-muted-accessible);
  --sqrl-font-heading: "Montserrat", "Inter", sans-serif;
  --sqrl-font-body: "Inter", "Montserrat", sans-serif;
  --sqrl-space-1: 0.375rem;
  --sqrl-space-2: 0.75rem;
  --sqrl-space-3: 1.125rem;
  --sqrl-space-4: 1.5rem;
  --sqrl-space-5: 1.875rem;
  --sqrl-space-6: 2.25rem;
  --sqrl-space-8: 3rem;
  --sqrl-space-10: 3.75rem;
  --sqrl-space-12: 4.5rem;
  --sqrl-radius-sm: 0.375rem;
  --sqrl-radius-md: 0.75rem;
  --sqrl-radius-lg: 1.125rem;
  --sqrl-radius-xl: 1.5rem;
}

/* line 1, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel {
  contain: inline-size;
  min-width: 0;
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
  isolation: isolate;
}

/* line 12, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__viewport {
  width: 100%;
  height: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  overscroll-behavior-x: contain;
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
  touch-action: pan-x pan-y pinch-zoom;
}

/* line 23, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__viewport::-webkit-scrollbar {
  display: none;
}

/* line 27, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__track {
  display: flex;
  height: 100%;
}

/* line 32, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__slide {
  min-width: 0;
  height: 100%;
  flex: 0 0 100%;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}

/* line 40, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__image {
  user-select: none;
  pointer-events: none;
  -webkit-user-drag: none;
}

/* line 46, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__zoom,
.product-media-lightbox__close,
.product-media-lightbox__arrow {
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  color: var(--sqrl-action-primary);
  cursor: pointer;
}

/* line 60, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__zoom {
  position: absolute;
  top: var(--sqrl-space-2);
  right: var(--sqrl-space-2);
  z-index: 3;
  border: 1px solid color-mix(in srgb, var(--sqrl-home-border) 76%, transparent);
  border-radius: var(--sqrl-radius-md);
  background: rgba(248, 244, 238, 0.78);
  background: color-mix(in srgb, var(--sqrl-cream-50) 78%, transparent);
  box-shadow: 0 3px 12px rgba(37, 80, 64, 0.14);
  backdrop-filter: blur(6px);
  transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

/* line 74, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__zoom svg,
.product-media-lightbox__close svg,
.product-media-lightbox__arrow svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* line 86, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__zoom:hover {
  background: var(--sqrl-action-primary);
  color: #fff;
  transform: scale(1.03);
}

/* line 92, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__zoom:focus-visible,
.product-media-lightbox__close:focus-visible,
.product-media-lightbox__arrow:focus-visible {
  outline: 3px solid var(--sqrl-home-primary-glow);
  outline-offset: 3px;
}

/* line 99, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox {
  width: 92vw;
  height: 90vh;
  height: 90dvh;
  max-width: 72rem;
  max-height: 56rem;
  padding: 0;
  border: 1px solid var(--sqrl-home-border);
  border-radius: var(--sqrl-radius-lg);
  background: var(--sqrl-cream-50);
  color: var(--sqrl-home-foreground);
  box-shadow: 0 24px 72px rgba(20, 48, 38, 0.28);
}

/* line 113, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox::backdrop {
  background: rgba(20, 48, 38, 0.72);
  backdrop-filter: blur(3px);
}

/* line 118, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__content {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: minmax(0, 1fr) auto;
  padding: var(--sqrl-space-3);
}

/* line 127, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__close {
  position: absolute;
  top: var(--sqrl-space-2);
  right: var(--sqrl-space-2);
  z-index: 1;
  border: 1px solid var(--sqrl-home-border);
  border-radius: var(--sqrl-radius-md);
  background: var(--sqrl-cream-50);
  box-shadow: 0 3px 12px rgba(37, 80, 64, 0.14);
}

/* line 138, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__close:hover {
  background: var(--sqrl-action-primary);
  color: #fff;
}

/* line 143, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__media {
  position: relative;
  min-width: 0;
  min-height: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: auto;
  border-radius: var(--sqrl-radius-md);
  background: var(--sqrl-home-muted);
  touch-action: pan-y pinch-zoom;
  user-select: none;
}

/* line 157, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__image {
  max-width: 100%;
  max-height: 100%;
  display: block;
  object-fit: contain;
  pointer-events: none;
  -webkit-user-drag: none;
}

/* line 166, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__arrow {
  position: absolute;
  top: 50%;
  z-index: 1;
  border: 1px solid color-mix(in srgb, var(--sqrl-home-border) 76%, transparent);
  border-radius: var(--sqrl-radius-md);
  background: rgba(248, 244, 238, 0.78);
  background: color-mix(in srgb, var(--sqrl-cream-50) 78%, transparent);
  box-shadow: 0 3px 12px rgba(37, 80, 64, 0.14);
  transform: translateY(-50%);
  transition: color 160ms ease, background-color 160ms ease, transform 160ms ease;
}

/* line 179, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__arrow[hidden] {
  display: none;
}

/* line 183, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__arrow--previous {
  left: var(--sqrl-space-2);
}

/* line 187, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__arrow--next {
  right: var(--sqrl-space-2);
}

/* line 191, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__arrow:hover {
  background: var(--sqrl-action-primary);
  color: #fff;
  transform: translateY(-50%) scale(1.03);
}

/* line 197, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__caption {
  margin: var(--sqrl-space-2) var(--sqrl-space-8) 0;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sqrl-space-1);
  color: var(--sqrl-text-muted-accessible);
  font-family: var(--sqrl-font-body);
  font-size: 0.875rem;
  font-weight: 600;
  text-align: center;
}

/* line 211, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__caption-name {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 218, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__count {
  flex: 0 0 auto;
  white-space: nowrap;
}

/* line 223, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-lightbox__count:not(:empty)::before {
  content: "— ";
}

/* line 227, app/assets/stylesheets/_product_media_carousel.scss */
html.product-media-lightbox-open {
  overflow: hidden;
}

/* line 231, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel.is-enhanced .product-media-carousel__viewport {
  cursor: grab;
}

/* line 235, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel.is-enhanced .product-media-carousel__viewport:active {
  cursor: grabbing;
}

/* line 239, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__controls {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
}

/* line 246, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow {
  position: absolute;
  top: 50%;
  width: 44px;
  height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 0;
  border-radius: var(--sqrl-radius-md);
  background: transparent;
  box-shadow: none;
  color: var(--sqrl-action-primary);
  cursor: pointer;
  pointer-events: auto;
  transform: translateY(-50%);
  transition: color 160ms ease, transform 160ms ease;
}

/* line 266, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow::before {
  position: absolute;
  width: 36px;
  height: 36px;
  border: 1px solid color-mix(in srgb, var(--sqrl-home-border) 76%, transparent);
  border-radius: var(--sqrl-radius-md);
  background: rgba(248, 244, 238, 0.56);
  background: color-mix(in srgb, var(--sqrl-cream-50) 56%, transparent);
  box-shadow: 0 2px 8px rgba(37, 80, 64, 0.08);
  content: "";
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease;
}

/* line 279, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow[hidden] {
  display: none;
}

/* line 283, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow--previous {
  left: var(--sqrl-space-1);
}

/* line 287, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow--next {
  right: var(--sqrl-space-1);
}

/* line 291, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow svg {
  position: relative;
  z-index: 1;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2.25;
  stroke-linecap: round;
  stroke-linejoin: round;
}

/* line 303, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow:hover {
  color: #fff;
  transform: translateY(-50%) scale(1.03);
}

/* line 308, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow:hover::before {
  border-color: color-mix(in srgb, var(--sqrl-action-primary) 82%, transparent);
  background: rgba(47, 111, 88, 0.76);
  background: color-mix(in srgb, var(--sqrl-action-primary) 76%, transparent);
}

/* line 314, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__arrow:focus-visible {
  outline: 3px solid var(--sqrl-home-primary-glow);
  outline-offset: 3px;
}

/* line 319, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__pager {
  position: absolute;
  right: var(--sqrl-space-1);
  bottom: var(--sqrl-space-1);
  left: var(--sqrl-space-1);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--sqrl-space-2);
}

/* line 330, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__dots,
.product-media-carousel__count {
  min-height: 24px;
  display: inline-flex;
  align-items: center;
  border: 1px solid var(--sqrl-home-border);
  background: var(--sqrl-cream-50);
  box-shadow: 0 3px 12px rgba(37, 80, 64, 0.14);
}

/* line 340, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__dots {
  gap: var(--sqrl-space-1);
  padding: 0 var(--sqrl-space-2);
  border-radius: var(--sqrl-radius-md);
}

/* line 346, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__dot {
  width: var(--sqrl-space-1);
  height: var(--sqrl-space-1);
  border-radius: 999px;
  background: var(--sqrl-home-border);
  transition: width 160ms ease, background-color 160ms ease;
}

/* line 354, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__dot.is-current {
  width: var(--sqrl-space-3);
  background: var(--sqrl-action-primary);
}

/* line 359, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__count {
  position: absolute;
  right: 0;
  justify-content: center;
  min-width: 42px;
  padding: 0 var(--sqrl-space-1);
  border-radius: var(--sqrl-radius-sm);
  color: var(--sqrl-home-foreground);
  font-family: var(--sqrl-font-body);
  font-size: 0.75rem;
  font-weight: 700;
}

@media (prefers-reduced-motion: reduce) {
  /* line 373, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-carousel__viewport {
    scroll-behavior: auto;
  }
  /* line 377, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-carousel__arrow,
.product-media-carousel__arrow::before,
.product-media-carousel__dot,
.product-media-carousel__zoom,
.product-media-lightbox__arrow {
    transition: none;
  }
  /* line 385, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-carousel__arrow:hover {
    transform: translateY(-50%);
  }
  /* line 389, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-lightbox__arrow:hover {
    transform: translateY(-50%);
  }
}

@media (max-width: 40rem) {
  /* line 395, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-lightbox {
    width: calc(100vw - var(--sqrl-space-2));
    height: calc(100dvh - var(--sqrl-space-2));
    border-radius: var(--sqrl-radius-md);
  }
  /* line 401, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-lightbox__content {
    padding: var(--sqrl-space-1);
    padding-top: var(--sqrl-space-8);
  }
  /* line 406, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-lightbox__close {
    top: var(--sqrl-space-1);
    right: var(--sqrl-space-1);
  }
  /* line 411, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-lightbox__arrow--previous {
    left: var(--sqrl-space-1);
  }
  /* line 415, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-lightbox__arrow--next {
    right: var(--sqrl-space-1);
  }
  /* line 419, app/assets/stylesheets/_product_media_carousel.scss */
  .product-media-lightbox__caption {
    margin: var(--sqrl-space-1) var(--sqrl-space-2) 0;
  }
}

/* line 426, app/assets/stylesheets/_product_media_carousel.scss */
:is(.product-card__image-wrapper, .organization-store__product-image-wrapper, .storefront-card__media, .product-catalog-card__media, .taxon-product-card__media):has(.product-media-carousel--sheets) {
  aspect-ratio: 2 / 1;
  height: auto;
  max-height: none;
}

/* line 432, app/assets/stylesheets/_product_media_carousel.scss */
:is(.product-card__image-wrapper, .organization-store__product-image-wrapper, .storefront-card__media, .product-catalog-card__media, .taxon-product-card__media) .product-media-carousel.product-media-carousel--sheets {
  aspect-ratio: 2 / 1;
  height: auto;
}

/* line 437, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel.product-media-carousel--sheets .product-media-carousel__slide {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 0;
  padding: 12px 12px 36px;
}

/* line 444, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__sheet {
  display: block;
  width: var(--sheet-width);
  height: 100%;
}

/* line 449, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel .product-media-carousel__sheet .product-media-carousel__image {
  width: 100%;
  height: 100%;
  max-height: 100%;
  aspect-ratio: auto;
  object-fit: contain;
  padding: 0;
  transform: none;
}

/* line 458, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__scale-note {
  position: absolute;
  bottom: 6px;
  left: 12px;
  right: 12px;
  text-align: center;
  font: 500 11px/1.5 var(--sqrl-font-body);
  color: var(--sqrl-text-muted-accessible);
  pointer-events: none;
}

/* line 468, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel--sheets .product-media-carousel__controls {
  bottom: 24px;
}

/* line 469, app/assets/stylesheets/_product_media_carousel.scss */
.product-media-carousel__scale-note[hidden] {
  display: none;
}

/* line 4, app/assets/stylesheets/store_home.scss */
.organization-store-landing,
.storefront-shop {
  color: var(--sqrl-home-foreground);
  font-family: var(--sqrl-font-body);
}

/* line 10, app/assets/stylesheets/store_home.scss */
.organization-store-landing {
  min-height: calc(100vh - 200px);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--sqrl-space-8) var(--sqrl-space-4);
  background: radial-gradient(circle at top right, rgba(135, 197, 174, 0.28), transparent 45%), var(--sqrl-home-bg);
}

/* line 21, app/assets/stylesheets/store_home.scss */
.organization-store-highlight,
.organization-store-coming-soon {
  width: 100%;
  background: var(--sqrl-cream-50);
  border: 1px solid var(--sqrl-home-border);
  border-radius: var(--sqrl-radius-xl);
  box-shadow: 0 24px 60px rgba(48, 80, 68, 0.1);
}

/* line 30, app/assets/stylesheets/store_home.scss */
.organization-store-highlight {
  position: relative;
  max-width: 720px;
  padding: var(--sqrl-space-8) var(--sqrl-space-10);
  overflow: hidden;
}

/* line 37, app/assets/stylesheets/store_home.scss */
.organization-store-highlight::before {
  content: "";
  position: absolute;
  top: -72px;
  right: -72px;
  width: 198px;
  height: 198px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(135, 197, 174, 0.42), rgba(135, 197, 174, 0.04));
  pointer-events: none;
}

/* line 53, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__badge {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: var(--sqrl-space-1);
  padding: var(--sqrl-space-1) var(--sqrl-space-2);
  border-radius: 999px;
  background: var(--sqrl-home-muted);
  color: var(--sqrl-action-primary);
  font-size: 0.75rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

/* line 69, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__badge-dot {
  width: var(--sqrl-space-1);
  height: var(--sqrl-space-1);
  display: inline-block;
  border-radius: 50%;
  background: var(--sqrl-home-primary);
}

/* line 77, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__title,
.organization-store-coming-soon h2,
.storefront-shop__header h2,
.storefront-card__body h3,
.storefront-card__cta,
.organization-store-highlight__button,
.organization-store-coming-soon__button {
  font-family: var(--sqrl-font-heading);
}

/* line 87, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__title {
  position: relative;
  z-index: 1;
  margin: var(--sqrl-space-4) 0 0;
  color: var(--sqrl-home-foreground);
  font-size: clamp(2.1875rem, 6vw, 2.75rem);
  font-weight: 800;
  line-height: 1.1;
}

/* line 97, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__subtitle {
  position: relative;
  z-index: 1;
  margin: var(--sqrl-space-2) 0 0;
  color: var(--sqrl-text-muted-accessible);
  font-size: 1.125rem;
  line-height: 1.6;
}

/* line 106, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__features {
  position: relative;
  z-index: 1;
  display: grid;
  gap: var(--sqrl-space-2);
  margin: var(--sqrl-space-6) 0;
  padding: 0;
  list-style: none;
}

/* line 116, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__features li {
  display: flex;
  align-items: center;
  gap: var(--sqrl-space-2);
  padding: var(--sqrl-space-2) var(--sqrl-space-3);
  border-radius: var(--sqrl-radius-md);
  background: var(--sqrl-home-muted);
  color: var(--sqrl-home-foreground);
  font-weight: 600;
}

/* line 127, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__features svg {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  color: var(--sqrl-action-primary);
}

/* line 134, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__actions {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: var(--sqrl-space-2);
}

/* line 142, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__button,
.organization-store-coming-soon__button,
.storefront-card__cta {
  min-height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: var(--sqrl-radius-md);
  font-weight: 700;
  text-decoration: none;
  transition: background-color 160ms ease, border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

/* line 155, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__button {
  padding: var(--sqrl-space-2) var(--sqrl-space-4);
}

/* line 159, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__button--primary,
.organization-store-coming-soon__button,
.storefront-card__cta {
  background: var(--sqrl-action-primary);
  color: #fff;
  box-shadow: 0 12px 30px rgba(40, 94, 76, 0.2);
}

/* line 167, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__button--primary:hover,
.organization-store-coming-soon__button:hover,
.storefront-card__cta:hover {
  background: var(--sqrl-action-primary-hover);
  color: #fff;
  transform: translateY(-1px);
}

/* line 175, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__button--secondary {
  border: 1px solid var(--sqrl-action-primary);
  background: transparent;
  color: var(--sqrl-action-primary);
}

/* line 181, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__button--secondary:hover {
  background: var(--sqrl-home-muted);
  color: var(--sqrl-action-primary-hover);
  transform: translateY(-1px);
}

/* line 187, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__note {
  position: relative;
  z-index: 1;
  margin: var(--sqrl-space-4) 0 0;
  color: var(--sqrl-text-muted-accessible);
  font-size: 0.95rem;
  line-height: 1.6;
}

/* line 196, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__note a,
.storefront-card__body h3 a {
  color: var(--sqrl-home-foreground);
  font-weight: 700;
  text-decoration-color: var(--sqrl-home-primary-glow);
  text-decoration-thickness: 2px;
  text-underline-offset: 3px;
}

/* line 205, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__note a:hover,
.storefront-card__body h3 a:hover {
  color: var(--sqrl-action-primary);
}

/* line 210, app/assets/stylesheets/store_home.scss */
.organization-store-coming-soon {
  max-width: 540px;
  padding: var(--sqrl-space-8) var(--sqrl-space-6);
  text-align: center;
}

/* line 216, app/assets/stylesheets/store_home.scss */
.organization-store-coming-soon h2 {
  margin: 0 0 var(--sqrl-space-2);
  color: var(--sqrl-home-foreground);
  font-size: 2.1875rem;
  font-weight: 800;
  line-height: 1.15;
}

/* line 224, app/assets/stylesheets/store_home.scss */
.organization-store-coming-soon p {
  margin: 0 0 var(--sqrl-space-4);
  color: var(--sqrl-text-muted-accessible);
  line-height: 1.6;
}

/* line 230, app/assets/stylesheets/store_home.scss */
.organization-store-coming-soon__button {
  padding: var(--sqrl-space-2) var(--sqrl-space-4);
}

/* line 234, app/assets/stylesheets/store_home.scss */
.storefront-shop {
  max-width: 1200px;
  min-height: 70vh;
  margin: 0 auto;
  padding: var(--sqrl-space-10) var(--sqrl-space-4) var(--sqrl-space-12);
  background: var(--sqrl-home-bg);
}

/* line 242, app/assets/stylesheets/store_home.scss */
.storefront-shop__header {
  max-width: 920px;
  margin-bottom: var(--sqrl-space-6);
}

/* line 247, app/assets/stylesheets/store_home.scss */
.storefront-shop__header h2 {
  margin: 0 0 var(--sqrl-space-3);
  color: var(--sqrl-home-foreground);
  font-size: clamp(2.1875rem, 5vw, 3.5rem);
  font-weight: 800;
  line-height: 1.1;
}

/* line 255, app/assets/stylesheets/store_home.scss */
.storefront-shop__header p {
  margin: 0;
  color: var(--sqrl-text-muted-accessible);
  font-size: 1.125rem;
  line-height: 1.6;
}

/* line 262, app/assets/stylesheets/store_home.scss */
.storefront-shop__eyebrow {
  margin-bottom: var(--sqrl-space-2) !important;
  color: var(--sqrl-action-primary) !important;
  font-size: 0.75rem !important;
  font-weight: 700;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

/* line 271, app/assets/stylesheets/store_home.scss */
.storefront-shop__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: var(--sqrl-space-3);
  margin-bottom: var(--sqrl-space-6);
}

/* line 280, app/assets/stylesheets/store_home.scss */
.storefront-shop__count {
  margin: 0;
  color: var(--sqrl-text-muted-accessible);
  font-weight: 700;
}

/* line 286, app/assets/stylesheets/store_home.scss */
.storefront-shop__sort-form {
  display: inline-flex;
  flex-shrink: 0;
}

/* line 291, app/assets/stylesheets/store_home.scss */
.storefront-shop__sort {
  display: inline-flex;
  align-items: center;
  gap: var(--sqrl-space-2);
  color: var(--sqrl-home-foreground);
  font-weight: 700;
}

/* line 299, app/assets/stylesheets/store_home.scss */
.storefront-shop__sort select {
  min-width: 180px;
  min-height: 48px;
  padding: var(--sqrl-space-1) var(--sqrl-space-4) var(--sqrl-space-1) var(--sqrl-space-2);
  border: 1px solid var(--sqrl-home-primary);
  border-radius: var(--sqrl-radius-md);
  background: var(--sqrl-cream-50);
  color: var(--sqrl-home-foreground);
  cursor: pointer;
  font-family: var(--sqrl-font-body);
  font-weight: 600;
}

/* line 312, app/assets/stylesheets/store_home.scss */
.storefront-shop__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: var(--sqrl-space-5);
}

/* line 318, app/assets/stylesheets/store_home.scss */
.storefront-card {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--sqrl-space-3);
  padding-bottom: var(--sqrl-space-3);
}

/* line 326, app/assets/stylesheets/store_home.scss */
.storefront-card__media {
  position: relative;
  overflow: hidden;
  border: 1px solid var(--sqrl-home-border);
  border-radius: var(--sqrl-radius-lg);
  background: var(--sqrl-home-muted);
}

/* line 334, app/assets/stylesheets/store_home.scss */
.storefront-card__media .product-media-carousel {
  height: auto;
  aspect-ratio: 1;
}

/* line 339, app/assets/stylesheets/store_home.scss */
.storefront-card__link {
  display: block;
}

/* line 343, app/assets/stylesheets/store_home.scss */
.storefront-card__img {
  width: 100%;
  aspect-ratio: 1 / 1;
  padding: var(--sqrl-space-2);
  object-fit: contain;
  transition: transform 240ms ease;
}

/* line 351, app/assets/stylesheets/store_home.scss */
.storefront-card__link:hover .storefront-card__img {
  transform: scale(1.02);
}

/* line 355, app/assets/stylesheets/store_home.scss */
.storefront-card__body {
  display: flex;
  flex-direction: column;
  gap: var(--sqrl-space-1);
  padding: 0 var(--sqrl-space-2);
  text-align: left;
  flex: 1;
}

/* line 364, app/assets/stylesheets/store_home.scss */
.storefront-card__body h3 {
  margin: 0;
  color: var(--sqrl-home-foreground);
  font-size: 1.25rem;
  font-weight: 700;
}

/* line 371, app/assets/stylesheets/store_home.scss */
.storefront-card__price {
  margin: auto 0 0;
  color: var(--sqrl-home-foreground);
  font-size: 1.125rem;
  font-weight: 700;
}

/* line 378, app/assets/stylesheets/store_home.scss */
.storefront-card__cta {
  align-self: stretch;
  justify-content: center;
  gap: var(--sqrl-space-1);
  padding: var(--sqrl-space-2) var(--sqrl-space-4);
}

/* line 385, app/assets/stylesheets/store_home.scss */
.storefront-card__cta svg {
  width: 18px;
  height: 18px;
}

/* line 390, app/assets/stylesheets/store_home.scss */
.storefront-card__cta-icon {
  display: inline-flex;
  align-items: center;
}

/* line 395, app/assets/stylesheets/store_home.scss */
.storefront-card__labels {
  margin: 0;
  color: var(--sqrl-text-muted-accessible);
  font-size: 0.95rem;
  font-weight: 600;
}

/* line 402, app/assets/stylesheets/store_home.scss */
.storefront-shop__empty {
  margin: 0;
  padding: var(--sqrl-space-8) 0;
  color: var(--sqrl-text-muted-accessible);
  font-size: 1rem;
  text-align: center;
}

/* line 410, app/assets/stylesheets/store_home.scss */
.organization-store-highlight__button:focus-visible,
.organization-store-coming-soon__button:focus-visible,
.organization-store-highlight__note a:focus-visible,
.storefront-card__link:focus-visible,
.storefront-card__body h3 a:focus-visible,
.storefront-card__cta:focus-visible,
.storefront-shop__sort select:focus-visible {
  outline: 3px solid var(--sqrl-home-primary-glow);
  outline-offset: 3px;
}

@media (max-width: 767px) {
  /* line 422, app/assets/stylesheets/store_home.scss */
  .organization-store-landing {
    align-items: flex-start;
    padding: var(--sqrl-space-3) var(--sqrl-space-2) var(--sqrl-space-8);
  }
  /* line 427, app/assets/stylesheets/store_home.scss */
  .organization-store-highlight,
.organization-store-coming-soon {
    padding: var(--sqrl-space-5) var(--sqrl-space-3);
  }
  /* line 432, app/assets/stylesheets/store_home.scss */
  .organization-store-highlight__features {
    margin: var(--sqrl-space-4) 0;
  }
  /* line 436, app/assets/stylesheets/store_home.scss */
  .organization-store-highlight__actions {
    flex-direction: column;
  }
  /* line 440, app/assets/stylesheets/store_home.scss */
  .organization-store-highlight__button,
.organization-store-coming-soon__button {
    width: 100%;
  }
  /* line 445, app/assets/stylesheets/store_home.scss */
  .storefront-shop {
    padding: var(--sqrl-space-4) var(--sqrl-space-2) var(--sqrl-space-8);
  }
  /* line 449, app/assets/stylesheets/store_home.scss */
  .storefront-shop__header {
    margin-bottom: var(--sqrl-space-4);
  }
  /* line 453, app/assets/stylesheets/store_home.scss */
  .storefront-shop__header h2 {
    margin-bottom: var(--sqrl-space-2);
    font-size: 2.1875rem;
  }
  /* line 458, app/assets/stylesheets/store_home.scss */
  .storefront-shop__header p {
    font-size: 1rem;
  }
  /* line 462, app/assets/stylesheets/store_home.scss */
  .storefront-shop__toolbar {
    gap: var(--sqrl-space-2);
    margin-bottom: var(--sqrl-space-4);
  }
  /* line 467, app/assets/stylesheets/store_home.scss */
  .storefront-shop__sort,
.storefront-shop__sort-form {
    width: 100%;
  }
  /* line 472, app/assets/stylesheets/store_home.scss */
  .storefront-shop__sort {
    justify-content: space-between;
  }
  /* line 476, app/assets/stylesheets/store_home.scss */
  .storefront-shop__sort select {
    min-width: 0;
    flex: 1;
  }
  /* line 481, app/assets/stylesheets/store_home.scss */
  .storefront-shop__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: var(--sqrl-space-4);
  }
  /* line 486, app/assets/stylesheets/store_home.scss */
  .storefront-card {
    gap: var(--sqrl-space-2);
    padding-bottom: var(--sqrl-space-2);
  }
  /* line 491, app/assets/stylesheets/store_home.scss */
  .storefront-card__img {
    aspect-ratio: 4 / 3;
  }
  /* line 495, app/assets/stylesheets/store_home.scss */
  .storefront-card__media .product-media-carousel {
    aspect-ratio: 4 / 3;
  }
  /* line 499, app/assets/stylesheets/store_home.scss */
  .storefront-card__body {
    padding: 0 var(--sqrl-space-1);
  }
}

@media (prefers-reduced-motion: reduce) {
  /* line 505, app/assets/stylesheets/store_home.scss */
  .organization-store-highlight__button,
.organization-store-coming-soon__button,
.storefront-card__cta,
.storefront-card__img {
    transition: none;
  }
  /* line 512, app/assets/stylesheets/store_home.scss */
  .organization-store-highlight__button:hover,
.organization-store-coming-soon__button:hover,
.storefront-card__cta:hover,
.storefront-card__link:hover .storefront-card__img {
    transform: none;
  }
}

/* line 520, app/assets/stylesheets/store_home.scss */
.storefront-entry {
  color: var(--sqrl-home-foreground);
  font-family: var(--sqrl-font-body);
  margin: 0 auto;
  max-width: 1200px;
  padding: var(--sqrl-space-6) var(--sqrl-space-4);
}

/* line 527, app/assets/stylesheets/store_home.scss */
.storefront-entry h1, .storefront-entry h2 {
  font-family: var(--sqrl-font-heading);
  font-weight: 800;
}

/* line 528, app/assets/stylesheets/store_home.scss */
.storefront-entry h1 {
  font-size: clamp(1.5rem, 4vw, 2.25rem);
  margin: 0 0 var(--sqrl-space-4);
}

/* line 529, app/assets/stylesheets/store_home.scss */
.storefront-entry h2 {
  font-size: 1.25rem;
  margin: 0;
}

/* line 531, app/assets/stylesheets/store_home.scss */
.storefront-entry__options {
  display: grid;
  gap: var(--sqrl-space-3);
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

/* line 537, app/assets/stylesheets/store_home.scss */
.storefront-entry__option {
  background: var(--sqrl-home-muted);
  border: 1px solid var(--sqrl-action-primary);
  border-radius: var(--sqrl-radius-lg);
  color: var(--sqrl-home-foreground);
  padding: var(--sqrl-space-4);
  text-decoration: none;
}

/* line 545, app/assets/stylesheets/store_home.scss */
.storefront-entry__option p {
  margin: var(--sqrl-space-2) 0;
}

/* line 546, app/assets/stylesheets/store_home.scss */
.storefront-entry__option span {
  color: var(--sqrl-action-primary);
  font-weight: 700;
}

/* line 547, app/assets/stylesheets/store_home.scss */
.storefront-entry__option:hover {
  background: var(--sqrl-home-bg);
}

/* line 548, app/assets/stylesheets/store_home.scss */
.storefront-entry__option:focus-visible {
  outline: 3px solid var(--sqrl-action-primary);
  outline-offset: 3px;
}

/* line 552, app/assets/stylesheets/store_home.scss */
#general-products {
  scroll-margin-top: 120px;
}

@media (max-width: 48rem) {
  /* line 555, app/assets/stylesheets/store_home.scss */
  .storefront-entry__options {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 558, app/assets/stylesheets/store_home.scss */
.storefront-card__body .product-summary {
  margin: 0;
}
