/* FYI Storefront Enhancements 1.2.0 — scoped to plugin components only.
   Use FYI Design System tokens when present; fall back to Blocksy tokens.
   Product imagery and all existing backgrounds are preserved. */
.fyi-se-signature,
.fyi-se-confidence,
.fyi-se-product-panel {
  --fyi-se-purple: var(--fyi-color-primary, var(--theme-palette-color-2, #2E0055));
  --fyi-se-black: #000;
  --fyi-se-teal: var(--fyi-color-accent, var(--theme-palette-color-1, #2E717B));
  --fyi-se-teal-light: var(--fyi-color-accent-readable, #CDE7E9);
  --fyi-se-ink: #17131C;
  --fyi-se-muted: #605968;
  --fyi-se-stroke: #E3DEE8;
  --fyi-se-paper: #FFF;
  --fyi-se-wash: #F7F5F9;
  box-sizing: border-box;
  font-family: inherit;
  color: var(--fyi-se-ink);
  line-height: 1.55;
}
.fyi-se-signature *,
.fyi-se-signature *::before,
.fyi-se-signature *::after,
.fyi-se-confidence *,
.fyi-se-confidence *::before,
.fyi-se-confidence *::after,
.fyi-se-product-panel *,
.fyi-se-product-panel *::before,
.fyi-se-product-panel *::after { box-sizing: border-box; }
.fyi-se-signature,
.fyi-se-confidence {
  width: 100%;
  max-width: 1260px;
  margin: clamp(32px, 5vw, 70px) auto;
  padding: 0 clamp(0px, 2.2vw, 22px);
}
.fyi-se-section-header {
  display: flex;
  align-items: end;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 14px 28px;
  padding-left: clamp(14px, 2vw, 22px);
  margin-bottom: clamp(20px, 2.8vw, 30px);
  border-left: 4px solid var(--fyi-se-teal);
}
.fyi-se-section-heading { flex: 1 1 280px; min-width: 0; }
.fyi-se-eyebrow {
  display: block;
  margin-bottom: 6px;
  color: var(--fyi-se-teal);
  font: inherit;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .15em;
  line-height: 1.55;
  text-transform: uppercase;
}
.fyi-se-section-header .fyi-se-section-title {
  font-family: inherit;
  font-size: clamp(1.65rem, 2.9vw, 2.65rem);
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0;
  color: var(--fyi-se-ink);
}
.fyi-se-section-description {
  max-width: 650px;
  margin: 8px 0 0;
  font-size: .98rem;
  line-height: 1.65;
  color: var(--fyi-se-muted);
}
.fyi-se-shop-link {
  align-self: center;
  color: var(--fyi-se-purple);
  font-size: .75rem;
  line-height: 1.4;
  letter-spacing: .11em;
  text-transform: uppercase;
  font-weight: 800;
  white-space: nowrap;
  padding: 9px 0;
  border-bottom: 2px solid var(--fyi-se-teal);
  text-decoration: none !important;
}
.fyi-se-shop-link:hover { color: var(--fyi-se-teal); }
.fyi-se-cards {
  display: grid;
  grid-template-columns: repeat(var(--fyi-se-card-columns, 4), minmax(0, 1fr));
  align-items: stretch;
  gap: clamp(12px, 1.8vw, 22px);
}
.fyi-se-card {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  background: var(--fyi-se-paper);
  border: 1px solid var(--fyi-se-stroke);
  border-radius: 12px;
  box-shadow: 0 4px 16px rgba(31, 17, 40, .045);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
@media (hover:hover) {
  .fyi-se-card:hover {
    transform: translateY(-3px);
    border-color: #C9BCCF;
    box-shadow: 0 12px 28px rgba(31, 17, 40, .10);
  }
}
.fyi-se-card__media {
  display: flex;
  position: relative;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1 / 1.07;
  width: 100%;
  padding: clamp(12px, 1.6vw, 21px);
  overflow: hidden;
  background: #F6F5F7;
}
.fyi-se-card__media img.fyi-se-card__image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: 0;
  mix-blend-mode: normal;
}
.fyi-se-card__badge {
  position: absolute;
  top: 11px;
  left: 11px;
  z-index: 1;
  max-width: calc(100% - 22px);
  border-radius: 5px;
  padding: 6px 9px;
  background: var(--fyi-se-purple);
  color: #FFF;
  font-size: .65rem;
  font-weight: 800;
  letter-spacing: .09em;
  line-height: 1.35;
  text-transform: uppercase;
}
.fyi-se-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 9px;
  min-width: 0;
  padding: clamp(13px, 1.6vw, 20px);
}
.fyi-se-card__body .fyi-se-card__title {
  margin: 0;
  font-family: inherit;
  font-size: clamp(.94rem, 1.05vw, 1.08rem);
  line-height: 1.45;
  font-weight: 700;
  letter-spacing: normal;
  overflow-wrap: anywhere;
}
.fyi-se-card__title a,
.fyi-se-card__title a:visited {
  color: var(--fyi-se-ink);
  text-decoration: none;
}
.fyi-se-card__title a:hover { color: var(--fyi-se-teal); }
.fyi-se-card__price {
  margin: 0 0 7px;
  color: var(--fyi-se-purple);
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.5;
}
.fyi-se-card__price :is(del, del span) {
  color: var(--fyi-se-muted);
  font-weight: 400;
}
.fyi-se-card__body .fyi-se-card__button,
.fyi-se-card__body .fyi-se-card__button:visited {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
  width: 100%;
  min-height: 44px;
  margin-top: auto;
  padding: 11px 13px;
  border: 1px solid var(--fyi-se-purple);
  border-radius: 6px;
  color: #FFF;
  background: var(--fyi-se-purple);
  font-family: inherit;
  font-size: .74rem;
  font-weight: 800;
  line-height: 1.45;
  letter-spacing: .10em;
  text-transform: uppercase;
  text-align: center;
  text-decoration: none;
  transition: background-color .18s ease, border-color .18s ease;
}
.fyi-se-card__button span { font-size: 1rem; }
.fyi-se-card__button:hover { color: #FFF !important; background: var(--fyi-se-teal) !important; border-color: var(--fyi-se-teal) !important; }
/* Policy/fulfillment cards are a native part of the homepage, not another product grid. */
.fyi-se-confidence__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 260px), 1fr));
  align-items: stretch;
  gap: clamp(12px, 1.8vw, 22px);
}
.fyi-se-confidence__card {
  padding: clamp(18px, 2.4vw, 26px);
  min-width: 0;
  border: 1px solid var(--fyi-se-stroke);
  border-top: 3px solid var(--fyi-se-teal);
  border-radius: 10px;
  background: var(--fyi-se-wash);
}
.fyi-se-confidence__card:only-child { max-width: 600px; }
.fyi-se-confidence__number {
  display: block;
  color: var(--fyi-se-teal);
  letter-spacing: .08em;
  font-size: .75rem;
  font-weight: 800;
  margin-bottom: 10px;
}
.fyi-se-confidence__card h3 {
  font-family: inherit;
  font-size: clamp(1rem, 1.4vw, 1.18rem);
  line-height: 1.45;
  margin: 0 0 9px;
  color: var(--fyi-se-ink);
  font-weight: 700;
}
.fyi-se-confidence__card p {
  font-size: .94rem;
  line-height: 1.65;
  color: var(--fyi-se-muted);
  white-space: pre-line;
  margin: 0 0 12px;
}
.fyi-se-confidence__card a,
.fyi-se-confidence__card a:visited {
  color: var(--fyi-se-purple);
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .04em;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.fyi-se-confidence__card a:hover { color: var(--fyi-se-teal); }
/* Inserted after the product add-to-cart controls, inside the Blocksy/Woo summary. */
.fyi-se-product-panel {
  clear: both;
  width: 100%;
  margin: 22px 0;
  padding: clamp(16px, 2vw, 22px);
  border: 1px solid var(--fyi-se-stroke);
  border-left: 4px solid var(--fyi-se-teal);
  border-radius: 8px;
  background: var(--fyi-se-wash);
}
.fyi-se-product-panel .fyi-se-product-panel__title {
  margin: 0 0 13px;
  font-family: inherit;
  font-size: clamp(1.08rem, 1.4vw, 1.28rem);
  line-height: 1.35;
  font-weight: 700;
  color: var(--fyi-se-ink);
}
.fyi-se-product-facts { margin: 0; padding: 0; }
.fyi-se-product-facts > div {
  display: grid;
  grid-template-columns: minmax(96px, 32%) minmax(0,1fr);
  gap: 10px;
  padding: 8px 0;
  border-bottom: 1px solid var(--fyi-se-stroke);
  font-size: .91rem;
}
.fyi-se-product-facts dt { font-weight: 700; color: var(--fyi-se-muted); }
.fyi-se-product-facts dd { margin: 0; min-width: 0; overflow-wrap: anywhere; color: var(--fyi-se-ink); }
.fyi-se-product-panel__note,
.fyi-se-product-panel__fulfillment {
  margin: 12px 0 0;
  color: var(--fyi-se-ink);
  font-size: .9rem;
  line-height: 1.65;
}
.fyi-se-policy-links { display: flex; flex-wrap: wrap; gap: 11px 16px; align-items: center; margin-top: 16px; }
.fyi-se-policy-links a,
.fyi-se-policy-links a:visited {
  color: var(--fyi-se-purple);
  font-weight: 700;
  font-size: .87rem;
  line-height: 1.5;
  text-decoration: underline;
  text-underline-offset: 3px;
}
.fyi-se-policy-links a:hover { color: var(--fyi-se-teal); }
.fyi-se-policy-links a.fyi-se-size-guide-link,
.fyi-se-policy-links a.fyi-se-size-guide-link:visited {
  display: inline-block;
  padding: 7px 12px;
  border: 1px solid var(--fyi-se-teal);
  border-radius: 6px;
  color: var(--fyi-se-purple);
  text-decoration: none;
  background: var(--fyi-se-paper);
}
.fyi-se-signature :is(a,button):focus-visible,
.fyi-se-confidence :is(a,button):focus-visible,
.fyi-se-product-panel :is(a,button):focus-visible {
  outline: 3px solid var(--fyi-se-teal) !important;
  outline-offset: 3px !important;
}
@media(max-width: 1000px) {
  .fyi-se-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media(max-width: 650px) {
  .fyi-se-signature,
  .fyi-se-confidence { padding-inline: 0; }
  .fyi-se-section-header { align-items: flex-start; padding-left: 12px; }
  .fyi-se-shop-link { align-self: flex-start; }
  .fyi-se-cards { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .fyi-se-card__media { aspect-ratio: 1 / .91; }
  .fyi-se-card__body .fyi-se-card__title { font-size: 1.02rem; }
  .fyi-se-product-panel { padding: 15px; }
}
@media(max-width: 360px) {
  .fyi-se-product-facts > div { grid-template-columns: minmax(0, 1fr); gap: 3px; }
}
@media(prefers-reduced-motion: reduce) {
  .fyi-se-card, .fyi-se-card__button { transition: none !important; }
  .fyi-se-card:hover { transform: none; }
}

/* === FYI Design System v1.0.7+ compatibility bridge =======================
 * Only foreground/readability and focus styles are adapted. This bridge DOES
 * NOT change any component background, global design system layout, Blocksy,
 * Printful mockup, garment artwork, header, cart, checkout or Patch Notes UI.
 * The fyi-ds-active body class is omitted on excluded pages (Patch Notes).
 */
body.fyi-ds-active :is(.fyi-se-signature, .fyi-se-confidence) {
  color: var(--fyi-color-text, #FAF7FF);
}
/* These headings and explanatory labels sit directly on the site's dark
 * background, unlike the light product/policy cards below. */
body.fyi-ds-active :is(.fyi-se-signature, .fyi-se-confidence) .fyi-se-section-header .fyi-se-section-title {
  color: var(--fyi-color-text, #FAF7FF);
}
body.fyi-ds-active :is(.fyi-se-signature, .fyi-se-confidence) .fyi-se-section-description {
  color: var(--fyi-color-muted, #D8D1E0);
}
body.fyi-ds-active :is(.fyi-se-signature, .fyi-se-confidence) .fyi-se-eyebrow,
body.fyi-ds-active .fyi-se-signature .fyi-se-shop-link,
body.fyi-ds-active .fyi-se-signature .fyi-se-shop-link:visited {
  color: var(--fyi-color-accent-readable, #9DE0E6);
}
body.fyi-ds-active .fyi-se-signature .fyi-se-shop-link:hover {
  color: var(--fyi-color-text, #FAF7FF);
}
/* Keep the intentional DARK ink on the existing LIGHT cards. The Design
 * System's site-wide heading and paragraph colors must not wash them out. */
body.fyi-ds-active .fyi-se-card .fyi-se-card__title,
body.fyi-ds-active .fyi-se-card .fyi-se-card__title a,
body.fyi-ds-active .fyi-se-card .fyi-se-card__title a:visited,
body.fyi-ds-active .fyi-se-confidence__card h3,
body.fyi-ds-active .fyi-se-product-panel .fyi-se-product-panel__title,
body.fyi-ds-active .fyi-se-product-panel .fyi-se-product-facts dd,
body.fyi-ds-active .fyi-se-product-panel .fyi-se-product-panel__note,
body.fyi-ds-active .fyi-se-product-panel .fyi-se-product-panel__fulfillment {
  color: var(--fyi-se-ink, #17131C);
}
body.fyi-ds-active .fyi-se-confidence__card p,
body.fyi-ds-active .fyi-se-card .fyi-se-card__price del,
body.fyi-ds-active .fyi-se-product-panel .fyi-se-product-facts dt {
  color: var(--fyi-se-muted, #605968);
}
body.fyi-ds-active .fyi-se-card .fyi-se-card__price,
body.fyi-ds-active .fyi-se-card .fyi-se-card__price :is(.amount, .woocommerce-Price-amount),
body.fyi-ds-active .fyi-se-confidence__card a,
body.fyi-ds-active .fyi-se-product-panel .fyi-se-policy-links a {
  color: var(--fyi-se-purple, #2E0055);
}
body.fyi-ds-active .fyi-se-card .fyi-se-card__title a:hover,
body.fyi-ds-active .fyi-se-confidence__card a:hover,
body.fyi-ds-active .fyi-se-product-panel .fyi-se-policy-links a:hover {
  color: var(--fyi-se-teal, #2E717B);
}
body.fyi-ds-active .fyi-se-card .fyi-se-card__badge,
body.fyi-ds-active .fyi-se-card .fyi-se-card__badge *,
body.fyi-ds-active .fyi-se-card .fyi-se-card__button,
body.fyi-ds-active .fyi-se-card .fyi-se-card__button:visited {
  color: #FFFFFF;
}
body.fyi-ds-active .fyi-se-card .fyi-se-card__button:hover {
  color: #FFFFFF;
}
/* v1.0.7's explicit !important rules target product-summary h2/dt/strong,
 * treating the whole summary as dark. Our verified-info panel is LIGHT.
 * Override only its own text; never weaken unrelated WC contrast fixes. */
body.fyi-ds-active.fyi-ds-contrast.single-product .woocommerce .product .summary .fyi-se-product-panel :is(h2,h3,h4,dt,dd,strong,th),
body.fyi-ds-active.fyi-ds-contrast.single-product .woocommerce .product .summary .fyi-se-product-panel :is(.fyi-se-product-panel__note,.fyi-se-product-panel__fulfillment) {
  color: var(--fyi-se-ink, #17131C) !important;
}
body.fyi-ds-active.fyi-ds-contrast.single-product .woocommerce .product .summary .fyi-se-product-panel dt {
  color: var(--fyi-se-muted, #605968) !important;
}
body.fyi-ds-active.fyi-ds-contrast.single-product .fyi-se-product-panel .fyi-se-policy-links a {
  color: var(--fyi-se-purple, #2E0055) !important;
}
body.fyi-ds-active.fyi-ds-contrast.single-product .fyi-se-product-panel .fyi-se-policy-links a:hover {
  color: var(--fyi-se-teal, #2E717B) !important;
}

/* Strike-through original prices remain muted on the light card. */
body.fyi-ds-active .fyi-se-card .fyi-se-card__price del :is(.amount, .woocommerce-Price-amount) {
  color: var(--fyi-se-muted, #605968);
}

/* === 1.3.0: FYI HOME — editorial streetwear hero ==========================
 * Standalone shortcode only: [fyi_home_hero]
 * Uses the site's established deep-purple, black and teal design language.
 * Does not modify Blocksy headers, footer, page/body background, content
 * elsewhere, or the existing garment/product photography.
 */
.fyi-se-hero {
  --fyi-se-hero-teal: var(--fyi-color-accent-readable, #9DE0E6);
  --fyi-se-hero-white: var(--fyi-color-text, #FAF7FF);
  --fyi-se-hero-muted: var(--fyi-color-muted, #D8D1E0);
  position: relative;
  width: 100%;
  max-width: 1260px;
  margin: clamp(16px, 2.5vw, 34px) auto clamp(12px, 2vw, 26px);
  padding: 0 clamp(0px, 2.2vw, 22px);
  font-family: inherit;
  line-height: 1.5;
  color: var(--fyi-se-hero-white);
  box-sizing: border-box;
}
.fyi-se-hero *, .fyi-se-hero *::before, .fyi-se-hero *::after { box-sizing: border-box; }
.fyi-se-hero__shell {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1.07fr) minmax(0, .93fr);
  gap: clamp(24px, 4vw, 60px);
  align-items: center;
  min-width: 0;
  min-height: 530px;
  padding: clamp(25px, 4.4vw, 60px);
  isolation: isolate;
  overflow: hidden;
  border-radius: clamp(15px, 2vw, 23px);
  border: 1px solid rgba(175, 151, 206, .31);
  background: linear-gradient(125deg, rgba(46,0,85,.33) 0%, rgba(20,9,32,.59) 55%, rgba(4,3,10,.61) 100%);
}
.fyi-se-hero__shell::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset: auto -16% -45% 43%;
  height: 125%;
  background: radial-gradient(ellipse, rgba(46,113,123,.19), transparent 69%);
  pointer-events: none;
}
.fyi-se-hero__shell::after {
  content: "";
  position: absolute;
  inset: 0 auto 0 0;
  width: 4px;
  background: linear-gradient(180deg, transparent, var(--fyi-se-hero-teal) 48%, transparent);
  opacity: .75;
  pointer-events: none;
}
.fyi-se-hero__copy { position: relative; min-width: 0; z-index: 1; }
.fyi-se-hero .fyi-se-hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 11px;
  margin: 0 0 clamp(18px, 2.3vw, 30px);
  color: var(--fyi-se-hero-teal);
  font-family: inherit;
  font-size: clamp(.69rem, .92vw, .8rem);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .16em;
  text-transform: uppercase;
}
.fyi-se-hero__indicator {
  flex: 0 0 auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: var(--fyi-se-hero-teal);
  box-shadow: 0 0 0 5px rgba(157,224,230,.12);
}
.fyi-se-hero .fyi-se-hero__title {
  max-width: 12ch;
  margin: 0 0 clamp(13px, 2vw, 23px);
  color: var(--fyi-se-hero-white);
  font-family: inherit;
  font-weight: 850;
  font-size: clamp(2.9rem, 5.5vw, 5.8rem);
  line-height: .99;
  letter-spacing: -.065em;
  text-transform: uppercase;
  overflow-wrap: normal;
  text-wrap: balance;
}
.fyi-se-hero__title-mark { color: var(--fyi-se-hero-teal); }
.fyi-se-hero .fyi-se-hero__tagline {
  margin: 0 0 12px;
  color: #fff;
  font-family: inherit;
  font-size: clamp(1.14rem, 1.8vw, 1.55rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -.02em;
}
.fyi-se-hero .fyi-se-hero__description {
  max-width: 48ch;
  margin: 0;
  color: var(--fyi-se-hero-muted);
  font-size: clamp(.95rem, 1.23vw, 1.06rem);
  line-height: 1.7;
}
.fyi-se-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: clamp(22px, 3vw, 36px);
}
.fyi-se-hero .fyi-se-hero__button,
.fyi-se-hero .fyi-se-hero__button:visited {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 12px;
  max-width: 100%;
  min-height: 49px;
  padding: 12px 20px;
  border-radius: 7px;
  font-family: inherit;
  font-size: .78rem;
  font-weight: 800;
  letter-spacing: .06em;
  line-height: 1.4;
  text-align: center;
  text-decoration: none;
  text-transform: uppercase;
  transition: transform .2s ease, border-color .2s ease, background-color .2s ease, color .2s ease;
  white-space: normal;
}
.fyi-se-hero .fyi-se-hero__button--primary,
.fyi-se-hero .fyi-se-hero__button--primary:visited {
  border: 1px solid var(--fyi-color-accent, #2E717B);
  color: #fff;
  background: var(--fyi-color-accent, #2E717B);
}
.fyi-se-hero .fyi-se-hero__button--secondary,
.fyi-se-hero .fyi-se-hero__button--secondary:visited {
  border: 1px solid rgba(250,247,255,.42);
  color: #fff;
  background: rgba(250,247,255,.045);
}
.fyi-se-hero .fyi-se-hero__button:hover {
  transform: translateY(-2px);
}
.fyi-se-hero .fyi-se-hero__button--primary:hover {
  background: #215660;
  color: #fff;
  border-color: #9DE0E6;
}
.fyi-se-hero .fyi-se-hero__button--secondary:hover {
  background: rgba(250,247,255,.13);
  border-color: var(--fyi-se-hero-teal);
  color: #fff;
}
.fyi-se-hero .fyi-se-hero__button:focus-visible,
.fyi-se-hero .fyi-se-hero__spotlight-arrow:focus-visible,
.fyi-se-hero .fyi-se-hero__product-link:focus-visible {
  outline: 3px solid var(--fyi-se-hero-teal);
  outline-offset: 4px;
}
.fyi-se-hero__button span { font-size: 1.15rem; line-height: 1; }
.fyi-se-hero .fyi-se-hero__signature {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin: clamp(30px, 4vw, 54px) 0 0;
  font-size: .65rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .12em;
  color: var(--fyi-se-hero-muted);
}
.fyi-se-hero__signature span { color: var(--fyi-se-hero-teal); }
/* Spotlight area: the existing WooCommerce mockup stays uncropped. */
.fyi-se-hero__spotlight {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-self: stretch;
  width: 100%;
  max-width: 440px;
  margin-inline: auto;
  min-width: 0;
  padding: clamp(10px, 1.55vw, 19px);
  border: 1px solid rgba(157,224,230,.31);
  border-radius: 15px;
  background: rgba(13,8,23,.87);
  box-shadow: 0 24px 52px rgba(0,0,0,.22);
}
.fyi-se-hero__spotlight-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: 7px;
  padding: 3px 3px clamp(10px, 1.4vw, 16px);
}
.fyi-se-hero__spotlight-kicker,
.fyi-se-hero__spotlight-number,
.fyi-se-hero__spotlight-label {
  font-size: clamp(.63rem, .81vw, .72rem);
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .10em;
  text-transform: uppercase;
}
.fyi-se-hero__spotlight-kicker { color: var(--fyi-se-hero-teal); }
.fyi-se-hero__spotlight-number { color: #BEB5C9; }
.fyi-se-hero__product-link {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  aspect-ratio: 1 / 1.04;
  min-width: 0;
  overflow: hidden;
  padding: clamp(10px, 1.5vw, 18px);
  border-radius: 9px;
  background: #F6F5F7;
  text-decoration: none !important;
}
.fyi-se-hero__product-link img.fyi-se-hero__product-image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: 0;
}
.fyi-se-hero__spotlight-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  min-height: 73px;
  padding: 12px 4px 1px;
}
.fyi-se-hero__spotlight-detail { display: grid; gap: 5px; min-width: 0; }
.fyi-se-hero__spotlight-label { color: #BEB5C9; }
.fyi-se-hero .fyi-se-hero__spotlight-name,
.fyi-se-hero .fyi-se-hero__spotlight-name:visited {
  max-width: 37ch;
  font-size: clamp(.83rem, 1.03vw, .96rem);
  line-height: 1.45;
  font-weight: 700;
  color: var(--fyi-se-hero-white);
  text-decoration: none;
  overflow-wrap: anywhere;
}
.fyi-se-hero .fyi-se-hero__spotlight-name:hover { color: var(--fyi-se-hero-teal); }
.fyi-se-hero .fyi-se-hero__spotlight-arrow,
.fyi-se-hero .fyi-se-hero__spotlight-arrow:visited {
  display: grid;
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(157,224,230,.46);
  background: rgba(157,224,230,.11);
  color: var(--fyi-se-hero-teal);
  text-decoration: none;
  font-size: 1.25rem;
}
.fyi-se-hero .fyi-se-hero__spotlight-arrow:hover { color: #fff; background: #2E717B; }
.fyi-se-hero__monogram {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: .04em;
  min-height: 300px;
  border: 1px solid rgba(157,224,230,.15);
  border-radius: 9px;
  font-size: clamp(5rem, 8vw, 8rem);
  font-weight: 900;
  letter-spacing: -.13em;
  color: var(--fyi-se-hero-white);
  background: radial-gradient(circle at 60% 40%, rgba(46,113,123,.27), transparent 60%), linear-gradient(130deg,#230A3B,#0B0613);
}
.fyi-se-hero__monogram span:nth-child(2) { color: var(--fyi-se-hero-teal); }
/* Preserve white/light ink even if Blocksy and Design System page typography
 * rules are enabled. This touches only the new hero component. */
body.fyi-ds-active .fyi-se-hero .fyi-se-hero__title,
body.fyi-ds-active .fyi-se-hero .fyi-se-hero__tagline,
body.fyi-ds-active .fyi-se-hero .fyi-se-hero__spotlight-name {
  color: var(--fyi-se-hero-white);
}
body.fyi-ds-active .fyi-se-hero .fyi-se-hero__description,
body.fyi-ds-active .fyi-se-hero .fyi-se-hero__signature {
  color: var(--fyi-se-hero-muted);
}
body.fyi-ds-active .fyi-se-hero .fyi-se-hero__eyebrow { color: var(--fyi-se-hero-teal); }
/* When the new hero and the Featured Designs shortcode appear on home,
 * avoid the excessive empty space from the former unstyled homepage blocks. */
body.home:has(.fyi-se-hero) .fyi-se-signature { margin-top: clamp(28px, 3.7vw, 50px); }
#fyi-featured-designs { scroll-margin-top: 110px; }
@media (max-width: 960px) {
  .fyi-se-hero__shell {
    grid-template-columns: minmax(0, 1fr) minmax(0, .85fr);
    gap: 22px;
    padding: clamp(22px, 3vw, 35px);
    min-height: 0;
  }
  .fyi-se-hero .fyi-se-hero__title { font-size: clamp(2.75rem, 5.45vw, 4.35rem); }
}
@media (max-width: 740px) {
  .fyi-se-hero__shell { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .fyi-se-hero__copy { padding-top: 5px; }
  .fyi-se-hero .fyi-se-hero__title { max-width: 14ch; font-size: clamp(2.8rem, 10vw, 4.2rem); }
  .fyi-se-hero__spotlight { max-width: 500px; margin: 0; }
  .fyi-se-hero__product-link { aspect-ratio: 1.4 / 1; }
  .fyi-se-hero .fyi-se-hero__signature { margin-top: 27px; }
}
@media (max-width: 480px) {
  .fyi-se-hero { padding-inline: 0; }
  .fyi-se-hero__shell { border-radius: 12px; padding: 26px 20px; }
  .fyi-se-hero__actions { flex-direction: column; }
  .fyi-se-hero .fyi-se-hero__button { width: 100%; }
  .fyi-se-hero .fyi-se-hero__title { font-size: clamp(2.56rem, 12vw, 3.6rem); }
  .fyi-se-hero__spotlight-bottom { align-items: flex-start; }
  .fyi-se-hero__spotlight { padding: 12px; }
  .fyi-se-hero__product-link { aspect-ratio: 1.03; }
  .fyi-se-hero__spotlight-number { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  .fyi-se-hero .fyi-se-hero__button { transition: none; }
  .fyi-se-hero .fyi-se-hero__button:hover { transform: none; }
}

/* === 1.4.0: compact category discovery and optional recent releases ===========
 * Scope all changes to these shortcodes. Background of the site, Blocksy,
 * theme nav, Patch Notes, WooCommerce catalog/cart/checkout are not touched.
 */
.fyi-se-explore,
.fyi-se-arrivals {
  --fyi-se-purple: var(--fyi-color-primary, #2E0055);
  --fyi-se-teal: var(--fyi-color-accent, #2E717B);
  --fyi-se-light-teal: var(--fyi-color-accent-readable, #9DE0E6);
  --fyi-se-ink: #17131C;
  --fyi-se-muted: #605968;
  --fyi-se-stroke: #E3DEE8;
  --fyi-se-paper: #FFF;
  box-sizing: border-box;
  color: var(--fyi-color-text, #FAF7FF);
  width: 100%;
  max-width: 1260px;
  margin: clamp(36px, 4.5vw, 62px) auto;
  padding: 0 clamp(0px, 2.2vw, 22px);
  font-family: inherit;
}
.fyi-se-explore *, .fyi-se-explore *::before, .fyi-se-explore *::after,
.fyi-se-arrivals *, .fyi-se-arrivals *::before, .fyi-se-arrivals *::after { box-sizing: border-box; }
.fyi-se-explore .fyi-se-section-title,
.fyi-se-arrivals .fyi-se-section-title { color: var(--fyi-color-text, #FAF7FF); }
.fyi-se-explore .fyi-se-section-description,
.fyi-se-arrivals .fyi-se-section-description { color: var(--fyi-color-muted, #D8D1E0); }
.fyi-se-explore .fyi-se-eyebrow,
.fyi-se-arrivals .fyi-se-eyebrow { color: var(--fyi-se-light-teal); }
.fyi-se-category-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 254px), 1fr));
  gap: clamp(14px, 1.9vw, 24px);
  align-items: stretch;
}
.fyi-se-category,
.fyi-se-category:visited {
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: hidden;
  border-radius: 14px;
  border: 1px solid rgba(194,171,218,.32);
  background: linear-gradient(155deg, #1B1028, #120C1C);
  text-decoration: none !important;
  transition: border-color .2s ease, transform .2s ease;
}
.fyi-se-category:hover { border-color: rgba(157,224,230,.8); transform: translateY(-3px); }
.fyi-se-category__media {
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  height: clamp(205px, 24vw, 284px);
  width: 100%;
  padding: clamp(12px,1.8vw,22px);
  background: #F6F5F7;
}
.fyi-se-category__media img.fyi-se-category__image,
.fyi-se-category__media .fyi-se-category__image,
.fyi-se-category__media img {
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
  margin: 0;
  border-radius: 0;
}
.fyi-se-category__fallback { font-size: clamp(3rem,5vw,4.5rem); letter-spacing: -.07em; font-weight: 900; color: #2E0055; }
.fyi-se-category__details {
  display: flex;
  flex-direction: column;
  flex: 1;
  gap: 6px;
  padding: clamp(17px, 2vw, 24px);
}
.fyi-se-category__label {
  display: block;
  color: #FAF7FF;
  font-size: clamp(1.2rem,1.7vw,1.52rem);
  line-height: 1.25;
  font-weight: 800;
}
.fyi-se-category__description { display: block; color: #D8D1E0; font-size: .93rem; line-height: 1.52; }
.fyi-se-category__cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: auto;
  padding-top: 16px;
  color: var(--fyi-se-light-teal);
  font-size: .75rem;
  font-weight: 800;
  line-height: 1.5;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.fyi-se-category__cta span { font-size: 1.2rem; }
.fyi-se-category:hover .fyi-se-category__cta { color: #FFFFFF; }
.fyi-se-explore .fyi-se-category:focus-visible,
.fyi-se-arrivals :is(a, button):focus-visible { outline: 3px solid var(--fyi-se-light-teal)!important; outline-offset: 4px!important; }
/* Never let FYI Design System text overrides turn light card text white. */
body.fyi-ds-active .fyi-se-arrivals .fyi-se-card .fyi-se-card__title,
body.fyi-ds-active .fyi-se-arrivals .fyi-se-card .fyi-se-card__title a { color: #17131C; }
body.fyi-ds-active .fyi-se-arrivals .fyi-se-card .fyi-se-card__price,
body.fyi-ds-active .fyi-se-arrivals .fyi-se-card .fyi-se-card__price :is(.amount,.woocommerce-Price-amount) { color: #2E0055; }
body.fyi-ds-active .fyi-se-arrivals .fyi-se-card .fyi-se-card__button { color: #FFFFFF; }
@media (max-width: 820px) {
  .fyi-se-category-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .fyi-se-category__media { height: 240px; }
}
@media (max-width: 600px) {
  .fyi-se-explore, .fyi-se-arrivals { padding-inline: 0; margin-block: 32px; }
  .fyi-se-category-grid { grid-template-columns: minmax(0,1fr); gap: 16px; }
  .fyi-se-category__media { height: 245px; }
}
@media (prefers-reduced-motion: reduce) { .fyi-se-category { transition:none; } .fyi-se-category:hover { transform:none; } }

/* v1.6: FYI Design System owns category/shop/archive heroes and their layout.
   We intentionally do not ship archive CSS from Storefront Enhancements,
   preventing the two FYI plugins from overriding one another. */
