/* Homepage / storefront a11y helpers — no visual redesign. */

/* Skip link: invisible until keyboard focus */
.preeco-skip-link {
  position: absolute;
  left: 12px;
  top: 12px;
  z-index: 10000;
  padding: 10px 14px;
  background: #88013e;
  color: #fff;
  font-weight: 600;
  text-decoration: none;
  border-radius: 4px;
  transform: translateY(-120%);
  transition: transform 0.15s ease;
  display: none;
}

.preeco-skip-link:focus,
.preeco-skip-link:focus-visible {
  transform: translateY(0);
  outline: 2px solid #fff;
  outline-offset: 2px;
}

/* Visible focus for interactive controls (WCAG 2.4.7) */
.storefront-carousel__btn:focus-visible,
.btn-pink:focus-visible,
.btn-wishlist:focus-visible,
.btn-notify-me:focus-visible,
.btn-primary:focus-visible,
.discover-btn:focus-visible,
a.btn:focus-visible,
.product-card-btns a:focus-visible,
.product-card-btns button:focus-visible {
  outline: 2px solid #88013e;
  outline-offset: 2px;
}

.storefront-carousel--arrows-light .storefront-carousel__btn:focus-visible {
  outline-color: #fff;
}

/* Reduced motion: stop skeleton pulse + respect OS preference */
@media (prefers-reduced-motion: reduce) {
  .home-skel {
    animation: none !important;
  }

  .storefront-carousel__btn {
    transition: none !important;
  }
}

.storefront-carousel__pause {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 5;
  border: 0;
  border-radius: 4px;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 12px;
  font-weight: 600;
  padding: 6px 10px;
  cursor: pointer;
}

.storefront-carousel__pause:focus-visible {
  outline: 2px solid #fff;
  outline-offset: 2px;
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

/*
 * Notify Me — match PHP brand amber (#E99B14).
 */
button.btn-notify-me.btn,
button.btn-notify-me {
  background-color: #E99B14 !important;
  color: #ffffff !important;
}

button.btn-notify-me.btn:hover,
button.btn-notify-me:hover {
  background-color: #d48c10 !important;
  color: #ffffff !important;
}

/*
 * Category labels sit under decorative pink artwork (#cc7178).
 * Opaque white behind the label text so maroon (#88013e) meets AA.
 */
.collection-section:not(.makeup-section) .product-detail,
.collection-section:not(.makeup-section) .product-detail .name,
.occasion-detail,
.occasion-detail .name,
.season-detail,
.season-detail .name {
  /* background-color: #ffffff !important; */
}

.collection-section:not(.makeup-section) .product-detail .name,
.occasion-detail .name,
.season-detail .name {
  display: inline-block;
  padding: 0 4px;
  color: #88013e !important;
}

.makeup-section .product-detail,
.makeup-section .occasion-detail {
  background-color: #88013e !important;
}

.makeup-section .product-detail .name,
.makeup-section .occasion-detail .name,
.beyond-section .occasion-detail .name {
  color: #ffffff !important;
  background-color: #88013e !important;
  display: inline-block;
  padding: 0 4px;
}

/* Preserve Beyond Beauty display styles after h3→h2 for heading order */
.beyond-section h2 {
  font-size: 34px;
  font-weight: 900;
  line-height: 61.97px;
  text-align: center;
  color: white;
}
