/* =========================================
   TOPSETS HEADINGS
========================================= */
.topsets-title{
  margin: 0 0 .35rem 0;
  font-family: "EWOAncient", serif;
  letter-spacing: .08em;
  font-size: clamp(2.6rem, 2.8vw, 3.3rem);
  font-weight: 600;

  text-align: center;
  padding-top: 2rem;
  padding-bottom: 2rem;

  color: rgba(235, 246, 255, 0.98);

  animation: topsetsHaloBreath 14s ease-in-out infinite alternate;

  will-change: text-shadow;
}

@keyframes topsetsHaloBreath{
  /* Cool moon */
  0%{
    text-shadow:
      0 0 5px rgba(180,215,255,.75),
      0 0 14px rgba(150,200,255,.45),
      0 0 28px rgba(120,180,255,.25);
  }

  /* Moon-white */
  50%{
    text-shadow:
      0 0 7px rgba(235,240,255,.9),
      0 0 20px rgba(200,215,255,.55),
      0 0 40px rgba(170,200,255,.30);
  }

  /* Gentle warmth — NOT orange */
  100%{
    text-shadow:
      0 0 8px rgba(255,230,190,.95),
      0 0 22px rgba(255,210,160,.55),
      0 0 46px rgba(255,190,130,.28);
  }
}

.topsets-subtitle{
  margin: 0 0 1.6rem 0;
  color: rgba(210,225,245,0.82);
  line-height: 1.35;
}

/* =========================================
   PRE-ORDER SEASON BANNER
========================================= */

.season-notice{
  margin: 0 0 1.4rem;
  padding: 0.8rem 1.2rem;

  text-align: center;

  font-family: "IMFellSC", serif;
  font-size: 1.7rem;
  font-weight: 700;
  letter-spacing: 0.0em;

  color: #2e2617;   /* dark lettering */

  background: linear-gradient(
    to bottom,
    #e9d6a5,
    #d8c08a
  );

  border: 1px solid #bfa66c;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.35),
    0 0 8px rgba(0,0,0,0.25);
}

@font-face {
  font-family: "IMFellSC";
  src: url("../fonts/IMFellEnglishSC-Regular.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
  font-display: swap;
}

/* =========================================
   ORDER NOTE
========================================= */

.order-note{
  margin: 0 0 1.5rem;
  padding: 0.9rem 1.1rem;
  border: 1px solid rgba(214,188,126,0.35);
  background: rgba(10,16,40,0.28);
  box-shadow: inset 0 0 0 1px rgba(214,188,126,0.14);
  font-family: "IMFellSC", serif;
  font-size: 1.5rem;
  line-height: 1.45;
  color: #efe2b8;
}

.order-note strong{
  font-family: "IMFellSC", serif;
  font-weight: normal;
  letter-spacing: 0.04em;
  color: #f3e6bf;
}

.order-note a{
  color: #b9d8ff;
  text-decoration: none;
  border-bottom: 1px solid rgba(185,216,255,0.45);
  transition: color .25s ease, border-color .25s ease;
}

.order-note a:hover,
.order-note a:focus{
  color: #e7f2ff;
  border-bottom-color: rgba(231,242,255,0.9);
}


/* =========================================
   ORDER TOPSETS — SCOPED STYLES ONLY
   (prevents index glass styles from bleeding in)
========================================= */

/* =========================================
   TOPSETS GRID
========================================= */

/* Component boundary reset: stop index-glass effects from leaking into product cards */
body[data-page="order-topsets"] .topsets-cards,
body[data-page="order-topsets"] .topsets-cards *{
  mix-blend-mode: normal;

  filter: none;
}

/* Grid layout */
body[data-page="order-topsets"] .topsets-cards{
  display: grid;
 grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%;
  text-align: left;
  align-items: stretch; /* grid items stretch to same row height */
}

/* =========================================
   PRODUCT CARD SYSTEM (small cards)
   (uses your existing onion-* HTML)
========================================= */

body[data-page="order-topsets"] .onion-card-link{
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;              /* allow grid stretch to propagate */
  text-decoration: none;
  color: inherit;
}

/* Card base */
body[data-page="order-topsets"] .onion-card{
  position: relative;
  border-radius: 14px;
  overflow: visible;

  height: 100%;
  padding: 1rem 1rem 1rem;   /* match onion-card-content side padding */

  /* LAYOUT FIX: use flex column so content + actions align consistently */
  display: flex;
  flex-direction: column;
  min-height: 0;

  /* Slightly lighter than glass so it reads as a "tray" */
  background: linear-gradient(
    180deg,
    rgba(205, 225, 255, 0.88),
    rgba(170, 195, 235, 0.82)
  );

  border: 1px solid rgba(247, 250, 250, 0.55);

  box-shadow:
    0 12px 30px rgba(0,0,0,0.55),
    inset 0 0 0 1px rgba(255,255,255,0.04);

  transition:
    transform .55s cubic-bezier(.22,.61,.36,1),
    box-shadow .55s cubic-bezier(.22,.61,.36,1),
    border-color .35s ease;
}

/* Tiny top “museum line” */
body[data-page="order-topsets"] .onion-card::before{
  content:"";
  position:absolute;
  top:0;
  left:18%;
  width:64%;
  height:1px;

  background: linear-gradient(
    90deg,
    transparent,
    rgba(170,210,255,.30),
    transparent
  );
  pointer-events:none;
  opacity: .7;
}

/* Hover glow shadow */
body[data-page="order-topsets"] .onion-card::after{
  content:"";
  position:absolute;

  left: 12%;
  right: 12%;
  bottom: -18px;
  height: 38px;

  background: radial-gradient(
    ellipse at center,
    rgba(170,210,255,.55) 0%,
    rgba(170,210,255,.28) 40%,
    transparent 75%
  );

  filter: blur(10px);
  opacity: 0;
  transition: opacity .45s ease;

  pointer-events:none;
}

body[data-page="order-topsets"] .onion-card-link:hover .onion-card::after{
  opacity: 1;
}

/* Hover lift (premium, not zoom) */
body[data-page="order-topsets"] .onion-card-link:hover .onion-card{
  transform: none;
  border-color: rgba(255,255,255,.55);

  box-shadow:
    0 28px 60px rgba(0,0,0,.45),       /* depth */
    0 6px 18px rgba(170,210,255,.35),  /* LIGHT shadow */
    inset 0 0 0 1px rgba(255,255,255,.18);
}

/* --- Make the white glow appear even when hovering buttons/select inside the card --- */

/* Always keep pseudo-elements non-interactive */
body[data-page="order-topsets"] .onion-card::before,
body[data-page="order-topsets"] .onion-card::after{
  pointer-events: none;
}

/* Default: glow off */
body[data-page="order-topsets"] .onion-card::after{
  opacity: 0;
}

/* Fallback: glow on when hovering the card itself */
body[data-page="order-topsets"] .onion-card:hover::after{
  opacity: 1;
}

/* Best: glow on when hovering ANYTHING inside the card (buttons, dropdown, etc.) */
body[data-page="order-topsets"] .onion-card:has(:hover)::after{
  opacity: 1;
}

/* Image (base) */
body[data-page="order-topsets"] .onion-card-image{
  display:block;
  width:100%;
  height:220px;          /* keep your card height feel */
  object-fit:cover;

  margin: 0;
  margin-left: auto;
  margin-right: auto;
  transform-origin:center;
border:1px solid rgba(140,185,245,.55); /* bright but not electric */
  border-radius:10px;

  /* Base look (moody) */
  filter: saturate(.92) contrast(1.05) brightness(.95);

  /* Base “seat” shadow so it feels set into the tray */
  box-shadow: inset 0 -3px 8px rgba(0,0,0,.16);

  /* Smooth, luxury timing */
  transition:
    transform .8s cubic-bezier(.22,.61,.36,1),
    filter .6s ease,
    box-shadow .8s cubic-bezier(.22,.61,.36,1);

  backface-visibility:hidden;
}

/* Hover ONLY on the image/link */
body[data-page="order-topsets"] .onion-card-image-link:hover .onion-card-image{
  transform: scale(1.035);

  /* Gentle brighten (not “retail zoom”) */
  filter: saturate(1) contrast(1.08) brightness(1.04);

  /* Keep the inset seat + add a subtle outer shadow */
  box-shadow:
    0 14px 26px rgba(0,0,0,.18),
    inset 0 -3px 8px rgba(0,0,0,.14);
}

/* Content */
body[data-page="order-topsets"] .onion-card-content{
  padding: 1.5rem 1rem 1rem;
  text-align: center;

  /* LAYOUT FIX: content becomes the flexible "equalizer" area */
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* Product name: big gold (but smart wrapping) */
body[data-page="order-topsets"] .onion-card-name{
  font-family: "EWOAncient", serif;
  min-height: calc(1.05em * 1);
  font-size: 1.75rem;

  letter-spacing: clamp(0.03em, 0.7vw, 0.07em);
  text-wrap: balance;                 /* nicer breaks (modern browsers) */
  overflow-wrap: anywhere;            /* safety net (prevents ugly overflow) */

  /* LAYOUT FIX: remove auto-centering drift */
  margin-top: 0;
  margin-bottom: 0;

  padding-inline: .35rem;
  text-align: center;

   color: rgba(12, 28, 52, .95);
  text-shadow:
    0 1px 0 rgba(0,0,0,0.55),
    0 8px 20px rgba(0,0,0,0.42),
    0 0 12px rgba(170,210,255,0.18);
}

/* Price */
body[data-page="order-topsets"] .onion-card-content .onion-price{
  min-height: 4rem;   /* ~2 lines of your price styling */
  display: flex;
  flex-direction: column;
  justify-content: center;
  font-family: "EWOAncient", serif;
  letter-spacing: .05em;
  font-size: 1.15rem;
  font-weight: 600;
  margin: 0 0 .55rem 0;

  text-align: center;
  color: #234670;
  text-shadow:
    0 1px 0px rgba(0,0,0,0.55),
    0 1px 0px rgba(0,0,0,0.42),
    0 1px 0px rgba(170,210,255,0.18);
}

/* Divider inside onion cards */
.onion-card .product-divider {
  border: none;
  height: 3px;              /* thicker */
  width: 75%;
  margin: 1rem auto;
  background: linear-gradient(
    to right,
    rgba(196,167,90,0),
    rgba(196,167,90,0.95) 25%,
    rgba(196,167,90,0.95) 75%,
    rgba(196,167,90,0)
  );
  border-radius: 2px;       /* softens the edges slightly */
}

.price-number{
  font-family: "EWOAncient", serif;
  font-weight: 600;

  margin-top: 1rem;
  margin-bottom: 1rem;
  font-size: 1.2rem;

  color: rgb(43, 91, 168);

  text-shadow:
    0 0 6px  rgba(255, 255, 255, 0.75),
    0 0 16px rgba(235, 245, 255, 0.6),
    0 0 34px rgba(200, 220, 255, 0.4);

  letter-spacing: .09em;
}

/* Description: midnight ink for crisp contrast */
body[data-page="order-topsets"] .onion-card-content p{
  font-family: "Vollkorn", Georgia, serif;
  font-weight: 400;
  margin: 0 0 .45rem 0;
  color: rgba(14, 28, 52, 0.92);
  font-size: 1.2rem;
  line-height: 1.45;
}

/* Reserve consistent “slots” so description/shipping land consistently */
body[data-page="order-topsets"] .onion-desc{
  min-height: calc(1.05em * 4.2);
  /* LAYOUT FIX: remove margin:auto drift */
  margin: 0;
}

/* Keep last paragraph tidy */
body[data-page="order-topsets"] .onion-card-content p:last-child{
  margin-bottom: 0;
}

/* Accessible keyboard focus */
body[data-page="order-topsets"] .onion-card-link:focus-visible{
  outline: 2px solid rgba(170,210,255,0.45);
  outline-offset: 6px;
  border-radius: 16px;
}

/* Head / features / text blocks */
body[data-page="order-topsets"] .onion-card-head{
  margin-top: 0;
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
}

/* NOTE: remove extra reserved-space fights
   (these can exist in your HTML, but they won't double-reserve height) */
body[data-page="order-topsets"] .onion-card-features{
  margin-top: 0;
  margin-bottom: 0;
  min-height: 0;
}

body[data-page="order-topsets"] .onion-card-text{
  margin-top: 0;
  margin-bottom: 0;
  min-height: 0;
}

/* Actions: pinned to the bottom consistently */
body[data-page="order-topsets"] .onion-card-actions{
  margin-top: auto;          /* LAYOUT FIX: pin controls to bottom */
  display:flex;
  flex-direction:column;
  gap:.6rem;
}

/* =========================================
   TOPSETS GLASS (page-specific polish)
========================================= */
body[data-page="order-topsets"] .topsets-glass{
  border: 1px solid rgba(170,210,255,.18);
  box-shadow:
    0 0 24px rgba(170,210,255,.12),
    0 20px 60px rgba(0,0,0,.65);
}

/* Small screens */
@media (max-width: 420px){
  body[data-page="order-topsets"] .topsets-glass{
    padding: 1.25rem;
    border-radius: 16px;
  }

  body[data-page="order-topsets"] .topsets-cards{
    grid-template-columns: 1fr;
    gap: 1.25rem;
  }

  body[data-page="order-topsets"] .onion-card-image{
    height: 200px;
  }
}

/* =========================================
   PAYPAL FORM LABEL + DROPDOWN (moon-glass)
========================================= */
body[data-page="order-topsets"] .topsets-order-label{
  display: grid;
  gap: .45rem;

  margin-top: .85rem;

  font-family: "Vollkorn", Georgia, serif;
  font-size: 1rem;

  color: rgba(16, 28, 52, 0.88);
}

/* Dropdown: moon-blue glass that still reads on light card */
body[data-page="order-topsets"] .topsets-qty-select{
  width: 100%;
  padding: .85rem 1rem;
  padding-right: 1rem;
  font-family:"Vollkorn", serif;
  font-size:1rem;
  margin-top: 0;
  margin-bottom: 1rem;
  cursor:pointer;

  border-radius: 14px;

  border: 1px solid rgba(36, 66, 118, 0.34);

  background: linear-gradient(
    180deg,
    rgba(18, 38, 70, 0.10),
    rgba(18, 38, 70, 0.05)
  );

  color: rgba(10, 20, 40, 0.94);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.60),
    0 12px 26px rgba(0,0,0,0.16);

  transition:
    transform .22s ease,
    border-color .25s ease,
    box-shadow .25s ease,
    background .25s ease;
}

body[data-page="order-topsets"] .topsets-qty-select:hover{
  border-color: rgba(170, 210, 255, 0.95);

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.65),
    0 0 0 3px rgba(170,210,255,0.25),   /* glow ring */
    0 10px 26px rgba(0,0,0,0.18);
}

body[data-page="order-topsets"] .topsets-qty-select:focus{
  outline: none;
  border-color: rgba(170, 210, 255, 0.90);
  background: linear-gradient(
    180deg,
    rgba(18, 38, 70, 0.14),
    rgba(18, 38, 70, 0.08)
  );

  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.65),
    0 0 0 4px rgba(170,210,255,0.26),
    0 16px 30px rgba(0,0,0,0.18);
}

.paypal-form-wrapper{
  padding: 0 1.25rem 1rem;
}

body[data-page="order-topsets"] .topsets-paypal-wrapper{
  margin-top: 1rem;
}

/* =========================================
   ADD TO CART BUTTON (primary action)
========================================= */
body[data-page="order-topsets"] .topsets-add-to-cart,
body[data-page^="product-"] .purchase-slab .topsets-add-to-cart{
  width: 12.5rem;
  margin-top: auto;
  margin-left: auto;
  margin-right: auto;

  padding: .98rem 1.05rem;

  border-radius: 16px;

  font-family: "EWOAncient", serif;
  letter-spacing: .10em;
  font-size: 1.1rem;

  color: rgba(255, 232, 176, 0.96);

  background: linear-gradient(
    180deg,
    rgba(10, 20, 46, 0.96),
    rgba(6, 12, 28, 0.98)
  );

  border: 1px solid rgba(255, 210, 120, 0.34);

  box-shadow:
    0 18px 40px rgba(0,0,0,0.30),
    0 8px 22px rgba(170,210,255,0.16),
    inset 0 1px 0 rgba(255,255,255,0.06);

  cursor: pointer;

  transition:
    transform .26s cubic-bezier(.22,.61,.36,1),
    box-shadow .34s ease,
    border-color .34s ease,
    filter .34s ease;
}

body[data-page="order-topsets"] .topsets-add-to-cart:hover{
  transform: translateY(-3px);
  border-color: rgba(255, 220, 150, 0.60);

  box-shadow:
    0 28px 64px rgba(0,0,0,0.38),
    0 10px 28px rgba(170,210,255,0.22),
    inset 0 1px 0 rgba(255,255,255,0.10);

  filter: brightness(1.03);
}

body[data-page="order-topsets"] .topsets-add-to-cart:active{
  transform: translateY(-1px);
}

/* =========================================
   SHIPPING NOTE (parchment rust whisper)
========================================= */
/* Shipping note — force apply */
body[data-page="order-topsets"] .onion-card-content .topsets-ship-note{
  color: rgba(120, 72, 18, 0.86);
  font-family: "Vollkorn", Georgia, serif;
  font-size: 1.1rem;
  line-height: 1.35;

  /* keep your reserved height */
  min-height: calc(1.05em * 4.2);

  /* LAYOUT FIX: valid unit + no weird push/pull */
  margin-top: 0;
  margin-bottom: 1rem;
}

/* Style the $10.50 */
body[data-page="order-topsets"] .onion-card-content .topsets-ship-note strong{
  color: rgba(248, 190, 66, 0.95);
  font-weight: 600;
  letter-spacing: .03em;
  text-shadow:
    0 1px 0 rgba(255,255,255,.35),
    0 4px 10px rgba(0,0,0,.18);
}

/* =========================================
   MORE DETAILS BUTTON (secondary)
========================================= */
body[data-page="order-topsets"] .onion-card-details-btn{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 12.5rem;

  /* LAYOUT: keep centered, but don't fight the pinned actions stack */
  margin-top: 0;
  margin-bottom: 0;
  margin-left: auto;
  margin-right: auto;

  padding: .62rem .95rem;

  border-radius: 14px;
  text-decoration: none;

  font-family: "EWOAncient", serif;
  letter-spacing: .08em;
  font-size: .95rem;

  /* moon-glass secondary */
  color: rgba(12, 24, 44, 0.92);

  background: linear-gradient(
    180deg,
    rgba(170, 210, 255, 0.26),
    rgba(170, 210, 255, 0.14)
  );

  border: 1px solid rgba(36, 66, 118, 0.24);

  box-shadow:
    0 12px 26px rgba(0,0,0,0.14),
    inset 0 1px 0 rgba(255,255,255,0.55);

  transition:
    transform .22s ease,
    box-shadow .32s ease,
    border-color .32s ease,
    background .32s ease;
}

body[data-page="order-topsets"] .onion-card-details-btn:hover{
  transform: translateY(-2px);
  border-color: rgba(120, 170, 255, 0.46);

  background: linear-gradient(
    180deg,
    rgba(170, 210, 255, 0.34),
    rgba(170, 210, 255, 0.18)
  );

  box-shadow:
    0 18px 40px rgba(0,0,0,0.16),
    0 10px 22px rgba(170,210,255,0.18),
    inset 0 1px 0 rgba(255,255,255,0.62);
}

.topset-divider{
  width: 72%;
  height: 1px;
  margin: .65rem auto .9rem auto;
  border: none;

  background: linear-gradient(
    90deg,
    rgba(212,175,55,0) 0%,
    rgba(212,175,55,.55) 20%,
    rgba(236,205,120,.85) 50%,
    rgba(212,175,55,.55) 80%,
    rgba(212,175,55,0) 100%
  );

  filter: blur(.2px); /* tiny softness */
}

/* =========================================
   ACCESSIBLE FOCUS (keyboard)
========================================= */
body[data-page="order-topsets"] .onion-card-details-btn:focus-visible,
body[data-page="order-topsets"] .topsets-add-to-cart:focus-visible,
body[data-page="order-topsets"] .topsets-qty-select:focus-visible{
  outline: 2px solid rgba(170,210,255,0.55);
  outline-offset: 4px;
  border-radius: 16px;
}
