/*!********************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[4].use[1]!./node_modules/postcss-loader/dist/cjs.js??ruleSet[1].rules[4].use[2]!./node_modules/sass-loader/dist/cjs.js??ruleSet[1].rules[4].use[3]!./blocks/farm-carousel/style.scss ***!
  \********************************************************************************************************************************************************************************************************************************************************/
@charset "UTF-8";
/**
 * farm-carousel.scss
 *
 * Port of the Vital Farms Design System "Visit the farms" polaroid coverflow
 * (components/farm-carousel). Tokens (--vtl-*) are aliased to theme.json presets
 * in assets/scss/_variables.scss, so the rules read like the design-system
 * source. Breakpoints use the theme's shared mixins (bp-md = 782px, bp-lg =
 * 960px) rather than ad-hoc widths.
 *
 * NOTE: standalone vanilla implementation (reverted from the Embla migration).
 * blocks/farm-carousel/view.js clones the cards 4× and absolutely positions them
 * into the coverflow, adding `.is-ready` once it takes over. Before JS (and in
 * the editor) the `:not(.is-ready)` rules fall back to a peeking snap-scroll row.
 */
/**
 * _breakpoints.scss
 *
 * Side-effect-free SCSS tokens + mixins (breakpoints, container). Emits no CSS,
 * so it can be `@use`d from standalone per-block entries without duplicating the
 * :root token block in `_variables.scss`. `_variables.scss` @forwards these, so
 * existing `@use 'variables' as *` consumers keep seeing the bp-* mixins.
 *
 * §2.5 Breakpoints
 */
.vtl-farm-carousel {
  position: relative;
  overflow: hidden;
  text-align: center;
  color: var(--vtl-ink);
  background-color: var(--vtl-cream);
  background-image: var(--vtl-fc-paper);
  background-size: cover;
  background-position: center;
  padding: var(--vtl-space-60) 1.5rem;
  margin-block-start: 0 !important;
}
.vtl-farm-carousel *,
.vtl-farm-carousel *::before,
.vtl-farm-carousel *::after {
  box-sizing: border-box;
}
@media (min-width: 48.875rem) {
  .vtl-farm-carousel {
    padding: var(--vtl-space-70) 1.5rem;
  }
}
.vtl-farm-carousel__stage {
  position: relative;
  outline: none;
}
.vtl-farm-carousel.is-ready .vtl-farm-carousel__stage {
  height: clamp(26.25rem, 46vw, 35rem);
  margin-bottom: var(--vtl-space-50);
  touch-action: pan-y;
  cursor: grab;
}
.vtl-farm-carousel.is-grabbing .vtl-farm-carousel__stage {
  cursor: grabbing;
}
.vtl-farm-carousel.is-ready .vtl-farm-carousel__card {
  position: absolute;
  left: 50%;
  top: 50%;
  will-change: transform, opacity;
}
.vtl-farm-carousel__stage .vtl-carousel__nav {
  z-index: 120;
}
.vtl-farm-carousel:not(.is-ready) .vtl-farm-carousel__stage {
  display: flex;
  gap: 1.25rem;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  padding: 2rem 12% var(--vtl-space-40);
  margin-bottom: var(--vtl-space-50);
}
.vtl-farm-carousel:not(.is-ready) .vtl-farm-carousel__stage::-webkit-scrollbar {
  display: none;
}
.vtl-farm-carousel:not(.is-ready) .vtl-farm-carousel__card {
  flex: 0 0 72%;
  scroll-snap-align: center;
}
@media (min-width: 48.875rem) {
  .vtl-farm-carousel:not(.is-ready) .vtl-farm-carousel__card {
    flex-basis: 40%;
  }
}
@media (min-width: 60rem) {
  .vtl-farm-carousel:not(.is-ready) .vtl-farm-carousel__card {
    flex-basis: 22%;
  }
}
.vtl-farm-carousel__card {
  width: clamp(13.75rem, 23vw, 18.125rem);
  max-width: 100%;
  margin: 0;
  padding: 1rem 1rem 0.75rem;
  background: var(--vtl-white);
  border-radius: var(--vtl-radius-md);
  box-shadow: var(--vtl-shadow-polaroid);
  cursor: pointer;
  -webkit-user-select: none;
          user-select: none;
  transform-origin: center center;
}
.vtl-farm-carousel__card.is-active {
  cursor: default;
  box-shadow: 0 1.4rem 2.6rem color-mix(in srgb, var(--vtl-ink) 26%, transparent);
}
.vtl-farm-carousel__photo {
  position: relative;
  aspect-ratio: 1/1;
  overflow: hidden;
  background: var(--vtl-ink);
  border-radius: 2px;
}
.vtl-farm-carousel__card.is-active .vtl-farm-carousel__photo {
  aspect-ratio: 1/1.12;
}
.vtl-farm-carousel__img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.vtl-farm-carousel__img-fpo {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1rem;
  font-family: ui-monospace, Menlo, monospace;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  color: var(--vtl-ink-soft);
  background: repeating-linear-gradient(135deg, color-mix(in srgb, var(--vtl-ink) 8%, var(--vtl-cream)) 0 14px, color-mix(in srgb, var(--vtl-ink) 13%, var(--vtl-cream)) 14px 28px);
}
.vtl-farm-carousel__cap {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 0.5rem;
  min-height: 2rem;
  padding: 0.7rem 0.15rem 0.35rem;
  text-align: left;
}
.vtl-farm-carousel__card.is-active .vtl-farm-carousel__cap {
  min-height: 3.4rem;
}
.vtl-farm-carousel__name {
  font-family: var(--vtl-font-ui);
  font-weight: var(--vtl-weight-ui, 300);
  font-size: 1.05rem;
  line-height: 1.2;
  color: var(--vtl-ink);
}
.vtl-farm-carousel__caption {
  display: none;
  font-family: var(--vtl-font-ui);
  font-weight: var(--vtl-weight-ui, 300);
  font-size: 0.95rem;
  line-height: 1.2;
  color: var(--vtl-ink);
}
.vtl-farm-carousel__visit {
  display: none;
  flex-shrink: 0;
  align-items: center;
  gap: 0.2rem;
  font-family: var(--vtl-font-script);
  font-size: 1.35rem;
  line-height: 1;
  white-space: nowrap;
  color: var(--vtl-red);
  text-decoration: none;
  transition: transform var(--vtl-dur) var(--vtl-ease);
}
.vtl-farm-carousel__visit:hover {
  transform: translateX(2px);
}
.vtl-farm-carousel__visit-arrow {
  font-family: var(--vtl-font-body);
}
.vtl-farm-carousel__card.is-active .vtl-farm-carousel__name {
  display: none;
}
.vtl-farm-carousel__card.is-active .vtl-farm-carousel__caption {
  display: inline;
}
.vtl-farm-carousel__card.is-active .vtl-farm-carousel__visit {
  display: inline-flex;
}
.vtl-farm-carousel__intro {
  max-width: 46rem;
  margin: 0 auto;
}
.vtl-farm-carousel__heading {
  margin: 0 0 var(--vtl-space-40);
  font-family: var(--vtl-font-display);
  font-weight: var(--vtl-weight-display, 400);
  font-size: clamp(2.75rem, 6vw, var(--vtl-text-xl));
  line-height: var(--vtl-leading-tight, 1.1);
  color: var(--vtl-ink);
}
.vtl-farm-carousel__body {
  margin: 0 auto var(--vtl-space-50);
  font-family: var(--vtl-font-body);
  font-weight: var(--vtl-weight-body, 400);
  font-size: var(--vtl-text-medium);
  line-height: var(--vtl-leading-body, 1.5);
  color: var(--vtl-ink);
  text-wrap: pretty;
}
.vtl-farm-carousel__cta-wrap {
  display: flex;
  justify-content: center;
}
.vtl-farm-carousel__cta .wp-block-button__link {
  display: inline-flex;
  align-items: center;
  gap: 0.55em;
  padding: 1.05rem 2.4rem 0.85rem;
  font-family: var(--vtl-font-body);
  font-weight: 700;
  font-size: 1.35rem;
  letter-spacing: 0.0625em;
  line-height: 1;
  text-transform: uppercase;
  text-decoration: none;
  color: var(--vtl-white);
  background: var(--vtl-red);
  border: 2px solid var(--vtl-red);
  border-radius: var(--vtl-radius-none);
  cursor: pointer;
  transition: background var(--vtl-dur) var(--vtl-ease), border-color var(--vtl-dur) var(--vtl-ease);
}
.vtl-farm-carousel__cta .wp-block-button__link:hover {
  color: var(--vtl-white);
  background: var(--vtl-dark-red);
  border-color: var(--vtl-dark-red);
}
.vtl-farm-carousel__cta .wp-block-button__link:hover::after {
  transform: translateX(0.18em);
}
.wp-admin .vtl-farm-carousel .vtl-farm-carousel__card a {
  pointer-events: none;
}
@media (prefers-reduced-motion: reduce) {
  .vtl-farm-carousel__card, .vtl-farm-carousel__visit, .vtl-farm-carousel__cta .wp-block-button__link, .vtl-farm-carousel__cta .wp-block-button__link::after {
    transition: none;
  }
}

/*# sourceMappingURL=style.css.map*/