/* Customer specification, 2026-09-16: homepage-only refinements.
 * Loaded after the existing visual layers. No catalog or CMS data is changed.
 */
.page-home--reference .home-campaign-showcase .campaign-slider__bar {
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 16px;
}

.page-home--reference .home-campaign-showcase .campaign-slider__counter {
  display: flex;
  flex: 1 1 280px;
  min-width: 0;
  align-items: baseline;
  gap: 18px;
}

.page-home--reference .home-campaign-showcase .campaign-slider__heading {
  min-width: 0;
  margin: 0;
  color: var(--ref-green);
  font: 500 clamp(2rem, 3.6vw, 3.5rem)/1.08 var(--ref-display);
  letter-spacing: -.025em;
  text-transform: none;
}

.page-home--reference .home-campaign-showcase .campaign-slider__counter > strong {
  flex-shrink: 0;
  font-size: 1.1rem;
}

.page-home--reference .home-campaign-showcase .campaign-slider__controls {
  flex: 0 0 auto;
}

.page-home--reference .ref-products .ref-product-grid.product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
}

.page-home--reference .ref-products .home-product-card .product-card__media {
  height: auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
}

.page-home--reference .ref-products .home-product-card .product-card__content {
  min-width: 0;
  min-height: 210px;
  padding: 20px 18px;
}

.page-home--reference .ref-products .home-product-card h3 {
  font-size: clamp(1.35rem, 1.8vw, 1.65rem);
  line-height: 1.12;
  overflow-wrap: anywhere;
}

.page-home--reference .ref-products .home-product-card .latin {
  overflow-wrap: anywhere;
}

.page-home--reference .ref-products .home-product-card__footer {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding-top: 18px;
}

.page-home--reference .ref-products .home-product-card__footer > strong {
  font-size: 1.35rem;
}

.page-home--reference .ref-products .home-product-card__footer form,
.page-home--reference .ref-products .home-product-card .ref-cart-button {
  width: 100%;
  min-width: 0;
}

.page-home--reference .ref-products .home-product-card .ref-cart-button {
  justify-content: space-between;
  min-height: 44px;
}

.page-home--reference .ref-reviews > .container {
  max-width: 1080px;
}

.page-home--reference .ref-reviews .ref-reviews__grid {
  grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr);
}

/* Neutral shadows without a translate/scale jump. Keyboard focus stays visible. */
.page-home--reference .ref-button,
.page-home--reference .ref-products .ref-cart-button {
  box-shadow: 0 6px 16px rgba(32, 32, 32, .08);
  transition: background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}

@media (hover: hover) and (pointer: fine) {
  .page-home--reference .ref-button:hover,
  .page-home--reference .ref-products .ref-cart-button:hover {
    box-shadow: 0 10px 24px rgba(32, 32, 32, .16);
  }
}

.page-home--reference .ref-button:focus-visible,
.page-home--reference .ref-products .ref-cart-button:focus-visible {
  outline: 2px solid var(--ref-green);
  outline-offset: 4px;
  box-shadow: 0 10px 24px rgba(32, 32, 32, .16);
}

@media (max-width: 1099px) {
  .page-home--reference .ref-products .ref-product-grid.product-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 800px) {
  .page-home--reference .ref-reviews .ref-reviews__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 560px) {
  .page-home--reference .ref-products .ref-product-grid.product-grid {
    grid-template-columns: minmax(0, 1fr);
  }

  .page-home--reference .home-campaign-showcase .campaign-slider__heading {
    font-size: 2rem;
  }

  .page-home--reference .home-campaign-showcase .campaign-slider__counter {
    gap: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .page-home--reference .ref-button,
  .page-home--reference .ref-products .ref-cart-button {
    transition: none !important;
  }
}

/* The client retained the selector, removing only its lower botanical artwork. */
.page-home--reference .ref-feelings--icons-only .ref-feeling {
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 10px;
  height: auto !important;
  min-height: 164px !important;
  padding: 24px 12px !important;
}
.page-home--reference .ref-feelings--icons-only .ref-feeling::before,
.page-home--reference .ref-feelings--icons-only .ref-feeling::after {
  content: none !important;
  background-image: none !important;
}
.page-home--reference .ref-feelings--icons-only .ref-feeling > svg {
  position: static !important;
  width: 32px;
  height: 32px;
  margin: 0 0 8px !important;
  flex: 0 0 32px;
}
.page-home--reference .ref-feelings--icons-only .ref-feeling > b,
.page-home--reference .ref-feelings--icons-only .ref-feeling > small {
  position: static !important;
  margin: 0 !important;
}
@media (max-width: 560px) {
  .page-home--reference .ref-feelings--icons-only .ref-feeling {
    min-height: 144px !important;
    padding: 20px 10px !important;
  }
}

/* The legacy 901–1180px home-grid rule hid the last product. Keep all hits visible. */
.page-home--reference .ref-products .ref-product-grid .home-product-card:last-child {
  display: flex;
  flex-direction: column;
}

/* Keep long PT Sans words inside the narrow boutique card, not clipped by overflow. */
@media (max-width: 560px) {
  .page-home--reference .ref-boutique .ref-boutique__card {
    grid-template-columns: minmax(0, 1fr);
  }
  .page-home--reference .ref-boutique .ref-boutique__copy {
    min-width: 0;
    padding: 28px 22px;
  }
  .page-home--reference .ref-boutique .ref-boutique__copy h2 {
    font-size: clamp(1.8rem, 7.5vw, 2.5rem);
    overflow-wrap: anywhere;
  }
}
