/* FYI Design System 1.0.11 — category and collection archive heroes.
   Only enabled on shop, product_cat, featured-designs and new-arrivals.
   Does not style homepage, Patch Notes, single products or checkout. */
body.fyi-ds-active.fyi-ds-archive-hero .hero-section {
  position: relative !important;
  box-sizing:border-box;
  isolation:isolate;
  overflow:hidden;
  width:min(1240px, calc(100% - 36px)) !important;
  max-width:1240px !important;
  min-height:0 !important;
  height:auto !important;
  margin:clamp(18px,2.6vw,34px) auto clamp(22px,3vw,40px) !important;
  padding:0 !important;
  border:1px solid rgba(157,224,230,.25);
  border-radius:24px;
  background: radial-gradient(ellipse at 80% 15%,rgba(46,113,123,.22),transparent 45%),
      radial-gradient(ellipse at 18% 18%,rgba(91,22,137,.38),transparent 50%),
      linear-gradient(120deg,#13071f 5%,#210b35 54%,#0d101c 100%) !important;
  box-shadow:0 20px 48px rgba(0,0,0,.18), inset 0 0 0 1px rgba(255,255,255,.025);
  color:#faf7ff;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section:before {
  content:'';
  pointer-events:none;
  position:absolute;
  inset:0;
  z-index:-1;
  opacity:.7;
  background:repeating-linear-gradient(125deg,transparent 0 50px,rgba(157,224,230,.022) 51px 52px,transparent 53px 100px);
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section > :is(.ct-container,.ct-container-full),
body.fyi-ds-active.fyi-ds-archive-hero .hero-section > .entry-header {
  max-width:100% !important;
  width:100% !important;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__layout {
  display:grid !important;
  grid-template-columns:minmax(0,1.14fr) minmax(260px,.78fr);
  align-items:center;
  gap:clamp(18px,3.6vw,54px);
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  width:100% !important;
  margin:0 !important;
  padding:clamp(24px,4vw,54px) !important;
  box-sizing:border-box;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__copy {
  display:flex !important;
  flex-direction:column;
  text-align:left !important;
  align-items:flex-start;
  justify-content:center;
  gap:0;
  width:auto !important;
  max-width:670px !important;
  padding:0 !important;
  margin:0 !important;
  color:#f9f6fc;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__copy h1 {
  margin:clamp(12px,1.4vw,20px) 0 0 !important;
  padding:0 !important;
  color:#fff !important;
  font-family:inherit;
  text-transform:none;
  font-size:clamp(2.6rem,5.35vw,5rem) !important;
  letter-spacing:-.048em !important;
  line-height:1.03 !important;
  font-weight:800;
  text-align:left !important;
  text-wrap:balance;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__kicker {
  margin:0 !important;
  color:#9de0e6 !important;
  font-size:clamp(.74rem,1vw,.87rem);
  font-weight:800;
  line-height:1.3;
  letter-spacing:.18em;
  text-transform:uppercase;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__kicker:before {
  content:'';
  display:inline-block;
  width:9px;
  height:9px;
  margin:0 12px 1px 0;
  border-radius:50%;
  background:#9de0e6;
  box-shadow:0 0 0 5px rgba(157,224,230,.12);
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__description {
  margin:clamp(14px,1.8vw,24px) 0 0 !important;
  color:#e5dfed !important;
  max-width:53ch;
  font-size:clamp(.96rem,1.35vw,1.16rem);
  font-weight:400;
  line-height:1.7;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__actions {
  display:flex;
  flex-wrap:wrap;
  gap:11px;
  margin-top:clamp(22px,2.8vw,32px);
  width:100%;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__button {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none !important;
  border-radius:9px;
  border:1px solid transparent;
  min-height:46px;
  padding:10px clamp(14px,1.6vw,23px);
  box-sizing:border-box;
  color:#fff !important;
  font-family:inherit;
  font-size:.84rem;
  font-weight:800;
  line-height:1.4;
  letter-spacing:.035em;
  white-space:normal;
  transition:background .2s ease,border-color .2s ease,transform .2s ease;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__button--primary {
  background:#2E717B !important;
  border-color:#76c3cb;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__button--outline {
  background:rgba(0,0,0,.14) !important;
  border-color:rgba(231,219,244,.45);
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__button:hover {
  background:#3f1480 !important;
  border-color:#9de0e6;
  transform:translateY(-2px);
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__button:focus-visible {
  outline:3px solid #9de0e6;
  outline-offset:3px;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__note {
  margin:clamp(20px,3vw,34px) 0 0 !important;
  color:#c7bcd2 !important;
  font-size:.7rem;
  font-weight:700;
  line-height:1.5;
  letter-spacing:.13em;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__feature {
  min-width:0;
  width:100%;
  border-radius:17px;
  padding:clamp(12px,1.6vw,18px);
  border:1px solid rgba(157,224,230,.26);
  box-sizing:border-box;
  background:rgba(8,6,17,.64);
  box-shadow:0 16px 38px rgba(0,0,0,.19);
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__feature-top,
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__feature-bottom {
  display:flex;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  color:#9de0e6;
  font-size:.68rem;
  font-weight:800;
  line-height:1.4;
  letter-spacing:.11em;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__feature-top { margin-bottom:13px; }
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__feature-bottom { margin-top:11px;color:#d9cfdf; }
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__image-box {
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:12px;
  background:#f8f6fa;
  overflow:hidden;
  height:clamp(210px,22vw,300px);
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__image-box img {
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center;
  max-width:100%;
  filter:none;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__feature--type {
  aspect-ratio:1.3;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  gap:18px;
  background:linear-gradient(135deg,rgba(46,0,85,.7),rgba(46,113,123,.12));
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__type-line { font-size:clamp(4rem,12vw,9rem);letter-spacing:-.09em;line-height:1;font-weight:900;color:#faf7ff;opacity:.9; }
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__type-small { font-size:.66rem;letter-spacing:.14em;color:#9de0e6;font-weight:800; }
/* Before JS runs, the same hero is compact and intentionally composed. */
body.fyi-ds-active.fyi-ds-archive-hero .hero-section:not(.fyi-archive-hero--ready) {
  display:flex;
  justify-content:center;
  align-items:center;
  min-height:230px!important;
  padding:46px clamp(24px,5vw,70px)!important;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section:not(.fyi-archive-hero--ready) :is(h1.page-title,h1) {
  font-size:clamp(2.65rem,5vw,4.4rem)!important;
  line-height:1.06!important;
  font-weight:800;
  color:#fff!important;
  text-align:left;
  margin:0;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section:not(.fyi-archive-hero--ready) .entry-header {text-align:left!important;width:100%;}
/* Never inadvertently collapse the product listing, sort dropdown or results count. */
body.fyi-ds-active.fyi-ds-archive-hero ul.products,
body.fyi-ds-active.fyi-ds-archive-hero .woocommerce-result-count,
body.fyi-ds-active.fyi-ds-archive-hero .woocommerce-ordering {visibility:visible;}
@media(max-width:920px){
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__layout {grid-template-columns:minmax(0,1.1fr) minmax(210px,.75fr);gap:18px;padding:30px!important;}
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__image-box {height:230px;}
}
@media(max-width:680px){
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section {width:calc(100% - 22px)!important;border-radius:16px;margin:13px auto 25px!important;}
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__layout {display:flex!important;flex-direction:column;align-items:stretch;gap:22px;padding:clamp(20px,5vw,28px)!important;}
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__copy h1 {font-size:clamp(2.45rem,11vw,3.7rem)!important;}
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__description {font-size:1rem;line-height:1.58;}
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__button {flex:1 1 160px;}
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__image-box {height:220px;}
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__note {margin-top:19px!important;}
}
@media(max-width:380px){
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__button {flex-basis:100%;}
}
@media(prefers-reduced-motion:reduce){
  body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__button {transition:none;}
}

/* 1.0.11 — explicit Blocksy layout wrapper, anchored within hero frame. */
body.fyi-ds-active.fyi-ds-archive-hero .hero-section.fyi-archive-hero--ready > :is(.ct-container,.ct-container-full) {
  margin:0 !important;
  padding:0 !important;
  max-width:none !important;
  width:100% !important;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section.fyi-archive-hero--ready .fyi-archive-hero__layout {
  box-sizing:border-box;
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);
  max-width:100% !important;
  margin:0 auto !important;
  padding:clamp(24px,3.6vw,52px) !important;
  gap:clamp(22px,3vw,46px);
  align-items:center;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__copy {
  min-width:0 !important;
  padding:0 !important;
  margin:0 !important;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__feature {
  min-width:0 !important;
  max-width:100%;
  height:auto;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__image-link {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  border-radius:inherit;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__image-link:focus-visible {
  outline:3px solid #285B67;
  outline-offset:-4px;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__product-row {
  display:flex;
  gap:14px;
  align-items:center;
  justify-content:space-between;
  margin-top:15px;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__product-info {
  min-width:0;
  flex:1;
  display:flex;
  flex-direction:column;
  gap:5px;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__product-kicker {
  color:#D9CFDF !important;
  font-size:.69rem;
  letter-spacing:.09em;
  font-weight:750;
  line-height:1.3;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__product-link {
  color:#FFFFFF !important;
  font-size:clamp(.91rem,1.1vw,1.04rem);
  line-height:1.4;
  font-weight:750;
  text-decoration:none !important;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__product-link:hover {
  color:#9DE0E6 !important;
  text-decoration:underline !important;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__controls {
  display:flex;
  flex:none;
  align-items:center;
  gap:7px;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__control {
  display:inline-flex;
  justify-content:center;
  align-items:center;
  width:38px;
  height:38px;
  padding:0 !important;
  border:1px solid rgba(157,224,230,.6) !important;
  border-radius:50%;
  background:#1C102A !important;
  color:#E5F9FA !important;
  font-size:1.55rem;
  line-height:1;
  cursor:pointer;
  box-shadow:none;
  transition:background .2s ease;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__control:hover {
  background:#2E717B !important;
}
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__control:focus-visible,
body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__product-link:focus-visible {
  outline:3px solid #9DE0E6 !important;
  outline-offset:3px;
}

/* Product total text was almost black on the original dark-purple background.
   Maintain original background and WooCommerce sorting/pagination behavior. */
body.fyi-ds-active.fyi-ds-archive-hero :is(
  .woocommerce-result-count,
  .ct-results-count,
  .woocommerce .woocommerce-result-count
),
body.fyi-ds-active.fyi-ds-archive-hero :is(.woocommerce-result-count,.ct-results-count) :is(span,strong,small) {
  color:#EDE5F7 !important;
  opacity:1 !important;
  font-weight:650;
  text-shadow:none !important;
}
body.fyi-ds-active.fyi-ds-archive-hero .woocommerce-result-count::selection,
body.fyi-ds-active.fyi-ds-archive-hero .woocommerce-result-count *::selection {
  color:#FFFFFF !important;
  background:#285B67 !important;
}
@media (max-width:920px) {
 body.fyi-ds-active.fyi-ds-archive-hero .hero-section.fyi-archive-hero--ready .fyi-archive-hero__layout {
   grid-template-columns:minmax(0,1fr) minmax(0,.85fr);
   padding:26px !important;
 }
}
@media (max-width:680px) {
 body.fyi-ds-active.fyi-ds-archive-hero .hero-section.fyi-archive-hero--ready .fyi-archive-hero__layout {
   display:flex !important;
   flex-direction:column;
   align-items:stretch;
   gap:22px;
   padding:22px !important;
 }
 body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__image-box {height:220px;}
}
@media(prefers-reduced-motion:reduce) {
 body.fyi-ds-active.fyi-ds-archive-hero .hero-section .fyi-archive-hero__control {transition:none;}
}
