/* Pix fundraising within the existing Pride season tapestry. */
.pix-progress[hidden],
.pix-progress__legend [hidden],
.pix-contribute[hidden],
.pix-dialog__manual-code[hidden] { display: none !important; }
.season-prize-hero__fund {
  gap: 0;
  align-content: start;
}

.season-prize-hero__fund>strong {
  margin-bottom: 10px;
}

.pix-progress {
  margin: 3px 0 10px;
  color: #f8e7c9;
  font-variant-numeric: tabular-nums;
}

.pix-progress__labels,
.pix-progress__summary {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 10px;
  font-size: .82rem;
  line-height: 1.3;
}

.pix-progress__labels {
  margin-bottom: 7px;
  color: #d9b885;
  text-transform: uppercase;
  letter-spacing: .07em;
  font-family: var(--font-display);
  font-weight: 800;
}

.pix-progress__labels b { color: #ffe6af; white-space: nowrap; }

.pix-progress__track {
  position: relative;
  height: 17px;
  overflow: hidden;
  border: 1px solid #d9a963;
  background: #140b0d;
  box-shadow: inset 0 2px 5px #090406;
}

.pix-progress__segment {
  position: absolute;
  inset-block: 0;
  left: 0;
  width: 0;
}

.pix-progress__segment--admins,
.pix-progress__swatch--admins {
  background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(255, 210, 176, .15) 5px 7px), linear-gradient(90deg, #77342d, #bf6b50);
}

.pix-progress__segment--milestone,
.pix-progress__swatch--milestone {
  background: repeating-linear-gradient(135deg, transparent 0 5px, rgba(255, 225, 174, .13) 5px 7px), linear-gradient(90deg, #805b42, #b48a5b);
}

.pix-progress__segment--active,
.pix-progress__swatch--active {
  background: linear-gradient(90deg, #b87c31, #e9b354 70%, #ffe09b);
}

.pix-progress__segment--active { box-shadow: 0 0 12px #e9a64c; }

.pix-progress__marker {
  position: absolute;
  z-index: 1;
  inset-block: 0;
  width: 2px;
  background: #ffe4bd;
  box-shadow: 0 0 5px #140b0d;
}

.pix-progress__marker--milestone { background: #f4d59d; }

.pix-progress__legend {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 13px;
  margin-top: 8px;
  color: #e5cda9;
  font-size: .71rem;
  line-height: 1.25;
}

.pix-progress__legend > span { display: inline-flex; align-items: center; gap: 5px; max-width: 100%; }
.pix-progress__legend > span[hidden] { display: none; }
.pix-progress__swatch { display: inline-block; flex: none; width: 11px; height: 11px; border: 1px solid rgba(255, 230, 186, .55); }

.pix-progress__summary { margin-top: 7px; color: #e5cda9; }
.pix-progress__summary b { color: #ffe7b8; }
.season-prize-hero__fund > small { display: block; color: #d9b885; }

.pix-footer-info { display: grid; gap: 3px; max-width: 460px; }
.pix-footer-info strong { color: #ffdf9d; font: 800 .95rem/1.1 var(--font-display); }
.pix-footer-info span { color: #e9d4b7; font-size: .8rem; }
.season-prize-hero__footer .pix-footer-info p { max-width: none; margin: 3px 0 0; color: #d8bfa4; font-size: .83rem; line-height: 1.35; }
.season-prize-hero__actions { flex: none; }

.pix-contribute {
  display: inline-flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  min-height: 45px;
  padding: 10px 16px;
  border: 1px solid #f3cb87;
  background: #e3b974;
  color: #27120e;
  cursor: pointer;
  white-space: nowrap;
  font: 800 .9rem/1 var(--font-display);
  text-transform: uppercase;
  transition: background-color .2s, transform .2s;
}

.pix-contribute:hover { transform: translateY(-2px); background: #f5d695; }
.pix-contribute:focus-visible,
.pix-dialog button:focus-visible { outline: 2px solid #fff0ce; outline-offset: 3px; }

.pix-dialog {
  width: min(720px, calc(100vw - 30px));
  max-height: min(860px, calc(100dvh - 30px));
  padding: 0;
  border: 1px solid #cfa567;
  background: #1b0c0e url('/assets/ti26-brocade.png') center / 560px;
  color: #f8e9ce;
  box-shadow: 0 24px 90px #060204;
}

.pix-dialog::backdrop { background: rgba(4, 2, 4, .82); backdrop-filter: blur(3px); }
.pix-dialog__panel { padding: clamp(20px, 4vw, 34px); background: linear-gradient(145deg, rgba(28, 13, 15, .88), rgba(12, 6, 9, .94)); }
.pix-dialog__top { display: flex; justify-content: space-between; align-items: center; gap: 15px; }
.pix-dialog__close {
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  border: 1px solid #b38851;
  background: #201012;
  color: #f5d694;
  cursor: pointer;
}
.pix-dialog__close .community-icon { width: 19px; height: 19px; }
.pix-dialog h2 { margin: 12px 0 8px; color: #fff0d2; font: 800 clamp(1.7rem, 4vw, 2.65rem)/1 var(--font-display); }
.pix-dialog__panel > p { margin: 0; line-height: 1.45; }
.pix-dialog__main { display: grid; grid-template-columns: minmax(200px, 270px) 1fr; gap: 23px; align-items: center; margin: 22px 0; }
.pix-dialog__qr { padding: 10px; background: #fffdf8; }
.pix-dialog__qr svg { display: block; width: 100%; height: auto; shape-rendering: crispEdges; }
.pix-dialog__eyebrow { color: #f2c987; font: 800 .84rem/1 var(--font-display); letter-spacing: .1em; text-transform: uppercase; }
.pix-dialog__details > p { margin: 9px 0 13px; font-size: .92rem; line-height: 1.45; }
.pix-dialog__copy {
  width: 100%;
  min-height: 45px;
  padding: 10px 15px;
  border: 1px solid #f3cb87;
  background: #e3b974;
  color: #23110c;
  cursor: pointer;
  font: 800 .94rem/1 var(--font-display);
  text-transform: uppercase;
}
.pix-dialog__copy:hover { background: #f5d695; }
.pix-dialog__status { min-height: 1.2em; color: #ffe6a5; }
.pix-dialog__manual-code { display: block; width: 100%; min-height: 80px; margin: 8px 0; padding: 8px; border: 1px solid #b38851; background: #13090b; color: #f8e9ce; font: .78rem/1.35 monospace; overflow-wrap: anywhere; }
.pix-dialog__details dl { margin: 13px 0 0; border-top: 1px solid rgba(232, 185, 118, .35); }
.pix-dialog__details dl div { display: flex; justify-content: space-between; gap: 12px; padding: 7px 0; border-bottom: 1px solid rgba(232, 185, 118, .2); font-size: .78rem; }
.pix-dialog__details dt { color: #c8aa83; }
.pix-dialog__details dd { margin: 0; color: #fff0d3; text-align: right; }
.pix-dialog__notes { border-top: 1px solid rgba(232, 185, 118, .35); padding-top: 10px; }
.pix-dialog__notes p { margin: 6px 0; color: #dfc9ae; font-size: .8rem; line-height: 1.45; }

@media (max-width: 1100px) {
  .season-prize-hero__footer { align-items: flex-start; }
  .season-prize-hero__actions { flex: 1 1 390px; }
  .pix-footer-info { flex: 1 1 350px; }
}

@media (max-width: 760px) {
  .season-prize-hero__fund { min-height: 0; }
  .pix-progress__legend,
  .pix-footer-info span,
  .season-prize-hero__footer .pix-footer-info p,
  .pix-dialog__notes p,
  .pix-dialog__details dl div { font-size: .875rem; }
  .pix-footer-info { margin-bottom: 14px; }
  .pix-contribute { width: 100%; }
  .season-prize-hero__actions { display: grid; grid-template-columns: 1fr 1fr; }
  .season-prize-hero__actions .pix-contribute { grid-column: 1 / -1; }
  .pix-dialog__main { grid-template-columns: minmax(0, 1fr); justify-items: center; gap: 18px; }
  .pix-dialog__qr { width: min(280px, 100%); }
  .pix-dialog__details { width: 100%; }
}

@media (max-width: 600px) {
  .season-prize-hero__heading { min-height: 88vw; }
}

@media (prefers-reduced-motion: reduce) {
  .pix-contribute { transition: none; }
}
