/* PressPair V2047 — Champagne Frame Pride selector. Scoped; cart-neutral. */
html body.pride-page .pride-shop .shop-card.pp-v2047-champagne-frame {
  --pp-selected-color: #ff2b93;
  width: min(100%, 1120px);
  max-width: 1120px !important;
  margin: 44px auto 0 !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr) !important;
  gap: clamp(18px, 2vw, 28px) !important;
  align-items: stretch !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
}

html body.pride-page .pp-v2047-champagne-frame .shop-visual {
  align-self: stretch;
  overflow: hidden !important;
  border: 1px solid #d2a54b !important;
  border-color: color-mix(in srgb, var(--pp-selected-color) 42%, #d2a54b 58%) !important;
  border-radius: 16px !important;
  background: rgba(255, 255, 255, .72) !important;
  box-shadow: 0 18px 46px rgba(6, 27, 52, .14), 0 0 0 4px rgba(255, 255, 255, .42) !important;
}

html body.pride-page .pp-v2047-champagne-frame #shopImage {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 2 !important;
  padding: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}

html body.pride-page .pp-v2047-champagne-frame .shop-image-note {
  min-height: 40px !important;
  padding: 12px 14px !important;
  background: linear-gradient(90deg, #061b34, #0a3b70) !important;
  color: #f3d489 !important;
  -webkit-text-fill-color: #f3d489 !important;
  border-top: 2px solid var(--pp-selected-color) !important;
  font: 800 10px/1.35 Arial, Helvetica, sans-serif !important;
  letter-spacing: .11em !important;
}

html body.pride-page .pp-v2047-champagne-frame .shop-options {
  position: relative;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-content: start;
  gap: 12px !important;
  padding: 22px clamp(16px, 2vw, 24px) !important;
  overflow: visible;
  border: 1px solid rgba(210, 165, 75, .78) !important;
  border-radius: 20px !important;
  background: linear-gradient(145deg, rgba(255, 255, 255, .78), rgba(248, 243, 233, .62)) !important;
  box-shadow: 0 22px 60px rgba(6, 27, 52, .16), inset 0 0 0 5px rgba(255, 255, 255, .26) !important;
  -webkit-backdrop-filter: blur(18px) saturate(1.05);
  backdrop-filter: blur(18px) saturate(1.05);
}

html body.pride-page .pp-v2047-champagne-frame .shop-options::before {
  content: "";
  position: absolute;
  inset: 6px;
  z-index: 0;
  pointer-events: none;
  border: 1px solid rgba(210, 165, 75, .28);
  border-radius: 15px;
}

html body.pride-page .pp-v2047-champagne-frame .shop-options > * {
  position: relative;
  z-index: 1;
}

html body.pride-page .pp-v2047-pride-plaque {
  position: absolute !important;
  z-index: 4 !important;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  width: min(82%, 330px);
  min-height: 66px;
  padding: 8px 18px;
  border: 1px solid #d2a54b;
  border-radius: 13px;
  background: linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 243, 233, .94));
  box-shadow: 0 12px 30px rgba(6, 27, 52, .18), inset 0 0 0 3px rgba(255, 255, 255, .66);
}

html body.pride-page .pp-v2047-pride-plaque__icon {
  display: block;
  width: 26px;
  height: 32px;
  object-fit: contain;
}

html body.pride-page .pp-v2047-pride-plaque__copy {
  display: grid !important;
  gap: 4px;
  justify-items: center;
  color: #061b34 !important;
}

html body.pride-page .pp-v2047-pride-plaque__wordmark {
  display: block;
  width: 132px;
  height: auto;
}

html body.pride-page .pp-v2047-pride-plaque small {
  color: #8d681f !important;
  -webkit-text-fill-color: #8d681f !important;
  font: 800 7px/1 Arial, Helvetica, sans-serif;
  letter-spacing: .17em;
  white-space: nowrap;
}

html body.pride-page .pp-v2047-champagne-frame .pride-style-choice,
html body.pride-page .pp-v2047-champagne-frame .color-choice,
html body.pride-page .pp-v2047-champagne-frame .shop-options > label,
html body.pride-page .pp-v2047-champagne-frame #prideAddBtn {
  grid-column: 1 / -1;
}

html body.pride-page .pp-v2047-champagne-frame .pride-style-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

html body.pride-page .pp-v2047-champagne-frame .pride-style-tabs button {
  min-height: 48px !important;
  padding: 10px 8px !important;
  border: 1px solid rgba(210, 165, 75, .62) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .66) !important;
  color: #061b34 !important;
  -webkit-text-fill-color: #061b34 !important;
  text-shadow: none !important;
  box-shadow: 0 5px 14px rgba(6, 27, 52, .08), inset 0 1px rgba(255, 255, 255, .75) !important;
  filter: none !important;
}

html body.pride-page .pp-v2047-champagne-frame .pride-style-tabs button:hover:not(.active) {
  transform: translateY(-1px);
  border-color: #d2a54b !important;
  background: rgba(255, 255, 255, .88) !important;
  color: #061b34 !important;
  -webkit-text-fill-color: #061b34 !important;
}

html body.pride-page .pp-v2047-champagne-frame .pride-style-tabs button.active,
html body.pride-page .pp-v2047-champagne-frame .pride-style-tabs button[aria-pressed="true"],
html body.pride-page .pp-v2047-champagne-frame .pride-style-tabs button.active:hover {
  border-color: var(--pp-selected-color) !important;
  background: linear-gradient(135deg, #061b34, #0a3b70) !important;
  color: #f3d489 !important;
  -webkit-text-fill-color: #f3d489 !important;
  text-shadow: none !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .88), 0 0 0 4px var(--pp-selected-color), 0 10px 22px rgba(6, 27, 52, .20) !important;
}

html body.pride-page .pp-v2047-champagne-frame #colorButtons {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

html body.pride-page .pp-v2047-champagne-frame #colorButtons button {
  min-height: 48px !important;
  padding: 9px 34px 9px 38px !important;
  overflow: visible;
  border: 1px solid rgba(210, 165, 75, .46) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, .64) !important;
  color: #061b34 !important;
  -webkit-text-fill-color: #061b34 !important;
  box-shadow: 0 4px 12px rgba(6, 27, 52, .07) !important;
  transform: none;
}

html body.pride-page .pp-v2047-champagne-frame #colorButtons button::before {
  left: 12px !important;
  width: 14px !important;
  height: 14px !important;
  border: 1px solid rgba(6, 27, 52, .18) !important;
  background: var(--sw) !important;
  box-shadow: 0 0 0 3px rgba(255, 255, 255, .92) !important;
}

html body.pride-page .pp-v2047-champagne-frame #colorButtons button::after {
  content: "✓";
  position: absolute;
  right: 10px;
  top: 50%;
  display: none;
  transform: translateY(-50%);
  color: #061b34;
  font: 900 13px/1 Arial, sans-serif;
}

html body.pride-page .pp-v2047-champagne-frame #colorButtons button:hover:not(.active) {
  border-color: var(--sw) !important;
  background: rgba(255, 255, 255, .84) !important;
  box-shadow: 0 7px 16px rgba(6, 27, 52, .10) !important;
}

html body.pride-page .pp-v2047-champagne-frame #colorButtons button.active,
html body.pride-page .pp-v2047-champagne-frame #colorButtons button[aria-pressed="true"] {
  border: 2px solid var(--sw) !important;
  background: rgba(255, 255, 255, .88) !important;
  color: #061b34 !important;
  -webkit-text-fill-color: #061b34 !important;
  box-shadow: 0 0 0 2px rgba(255, 255, 255, .8), 0 0 0 4px var(--sw), 0 8px 18px rgba(6, 27, 52, .12) !important;
}

@supports (color: color-mix(in srgb, #000 50%, transparent)) {
  html body.pride-page .pp-v2047-champagne-frame #colorButtons button.active,
  html body.pride-page .pp-v2047-champagne-frame #colorButtons button[aria-pressed="true"] {
    box-shadow: 0 0 0 2px rgba(255, 255, 255, .8), 0 0 0 4px color-mix(in srgb, var(--sw) 48%, transparent), 0 8px 18px rgba(6, 27, 52, .12) !important;
  }
}

html body.pride-page .pp-v2047-champagne-frame #colorButtons button.active::after,
html body.pride-page .pp-v2047-champagne-frame #colorButtons button[aria-pressed="true"]::after {
  display: block;
}

html body.pride-page .pp-v2047-champagne-frame .selection-summary {
  min-width: 0;
  min-height: 66px;
  padding: 11px !important;
  display: grid !important;
  align-content: center;
  gap: 6px;
  border: 1px solid rgba(210, 165, 75, .34);
  border-radius: 8px;
  background: rgba(255, 255, 255, .50) !important;
}

html body.pride-page .pp-v2047-champagne-frame .selection-summary span,
html body.pride-page .pp-v2047-champagne-frame .selection-summary strong {
  display: block;
  text-align: center;
}

html body.pride-page .pp-v2047-champagne-frame .selection-summary strong {
  font-size: 13px;
  line-height: 1.2;
}

html body.pride-page .pp-v2047-champagne-frame #prideAddBtn,
html body.pride-page .pp-v2047-champagne-frame #prideAddBtn:hover,
html body.pride-page .pp-v2047-champagne-frame #prideAddBtn:focus-visible {
  min-height: 56px !important;
  border: 1px solid #d2a54b !important;
  border-radius: 9px !important;
  background: linear-gradient(135deg, #061b34, #0a3b70) !important;
  color: #f3d489 !important;
  -webkit-text-fill-color: #f3d489 !important;
  box-shadow: 0 12px 28px rgba(6, 27, 52, .22) !important;
}

html body.pride-page .pp-v2047-champagne-frame #prideAddBtn:hover,
html body.pride-page .pp-v2047-champagne-frame #prideAddBtn:focus-visible {
  transform: translateY(-1px);
  outline: 2px solid rgba(210, 165, 75, .55) !important;
  outline-offset: 3px !important;
}

html body.pride-page .pp-v2047-true-pride-group img {
  height: auto !important;
  aspect-ratio: 1 / 1 !important;
  object-fit: contain !important;
  object-position: center !important;
  background: rgba(255, 255, 255, .55) !important;
}

html.pp-mobile-mode body.pride-page .pride-shop .shop-card.pp-v2047-champagne-frame {
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 18px !important;
  margin-top: 38px !important;
}

html.pp-mobile-mode body.pride-page .pp-v2047-champagne-frame .shop-options {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  padding: 15px 12px !important;
}

html.pp-mobile-mode body.pride-page .pp-v2047-champagne-frame .pride-style-tabs {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

html.pp-mobile-mode body.pride-page .pp-v2047-champagne-frame #colorButtons {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 760px) {
  html body.pride-page .pride-shop .shop-card.pp-v2047-champagne-frame {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    margin-top: 38px !important;
  }

  html body.pride-page .pp-v2047-champagne-frame .shop-options {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    padding: 15px 12px !important;
  }

  html body.pride-page .pp-v2047-champagne-frame .pride-style-tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  html body.pride-page .pp-v2047-champagne-frame #colorButtons {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  html body.pride-page .pp-v2047-champagne-frame #colorButtons button {
    min-height: 46px !important;
    padding: 8px 28px 8px 32px !important;
    font-size: 9px !important;
  }

  html body.pride-page .pp-v2047-champagne-frame #colorButtons button::before {
    left: 10px !important;
    width: 12px !important;
    height: 12px !important;
  }

  html body.pride-page .pp-v2047-champagne-frame #colorButtons button::after {
    right: 8px;
    font-size: 11px;
  }

  html body.pride-page .pp-v2047-pride-plaque {
    width: min(88%, 310px);
    min-height: 60px;
  }

  html body.pride-page .pp-v2047-pride-plaque__wordmark {
    width: 118px;
  }
}

/* PressPair V2057 — restore the user-approved unobstructed Pride selector. */
html body.pride-page .pp-v2047-pride-plaque {
  display: none !important;
}

@media (max-width: 390px) {
  html body.pride-page .pp-v2047-champagne-frame .shop-options,
  html.pp-mobile-mode body.pride-page .pp-v2047-champagne-frame .shop-options {
    grid-template-columns: 1fr !important;
  }

  html body.pride-page .pp-v2047-champagne-frame .selection-summary,
  html body.pride-page .pp-v2047-champagne-frame .pride-style-choice,
  html body.pride-page .pp-v2047-champagne-frame .color-choice,
  html body.pride-page .pp-v2047-champagne-frame .shop-options > label,
  html body.pride-page .pp-v2047-champagne-frame #prideAddBtn {
    grid-column: 1 / -1;
  }
}
