/*
  PokeSuper Store — Pokémon GO-inspired SellAuth skin
  Direction: soft mint app UI, circular action buttons, stat capsules, collectible cards.
  This file intentionally avoids official game assets. It restyles the existing SellAuth theme.
*/

@import url('https://fonts.googleapis.com/css2?family=Lato:wght@300;400;700;900&family=Space+Grotesk:wght@500;600;700&display=swap');

:root {
  --ps-navy: #071B3A;
  --ps-blue: #2F80FF;
  --ps-cyan: #21CAD3;
  --ps-teal: #238A9C;
  --ps-mint: #BFF0CC;
  --ps-mint-2: #D8FFE2;
  --ps-mint-3: #EFFFF1;
  --ps-green: #93DC7C;
  --ps-green-2: #56D18D;
  --ps-pink: #D95BA6;
  --ps-gold: #FFD84D;
  --ps-cloud: #F4F8FF;
  --ps-panel: rgba(255,255,255,.62);
  --ps-panel-solid: #F8FFF9;
  --ps-line: rgba(35,138,156,.34);
  --ps-shadow: 0 18px 45px rgba(7,27,58,.13);
  --ps-soft-shadow: 0 8px 22px rgba(7,27,58,.11);
  --ps-radius: 30px;

  --cl-accent: var(--ps-teal) !important;
  --cl-accent-rgb: 35, 138, 156 !important;
  --cl-background-primary: var(--ps-mint) !important;
  --cl-background-primary-rgb: 191, 240, 204 !important;
  --cl-background-secondary: rgba(255,255,255,.44) !important;
  --cl-background-secondary-rgb: 255, 255, 255 !important;
  --cl-border: rgba(35,138,156,.24) !important;
  --cl-border-rgb: 35, 138, 156 !important;
  --bs-body-bg: var(--ps-mint) !important;
  --bs-body-color: #1B6774 !important;
  --bs-primary: var(--ps-teal) !important;
  --bs-primary-rgb: 35, 138, 156 !important;
  --bs-link-color: var(--ps-teal) !important;
  --bs-link-hover-color: #0D6F82 !important;
  --bs-border-color: rgba(35,138,156,.22) !important;
  --bs-font-sans-serif: 'Lato', system-ui, -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
}

* { text-rendering: geometricPrecision; }
html { scroll-behavior: smooth; }
body {
  min-height: 100vh;
  color: #1B6774 !important;
  background:
    radial-gradient(circle at 14% 8%, rgba(255,255,255,.65) 0 0, transparent 260px),
    radial-gradient(circle at 88% 14%, rgba(45,226,230,.24) 0 0, transparent 330px),
    linear-gradient(135deg, #C8F5D1 0%, #B9ECC8 45%, #D9FFE7 100%) !important;
  overflow-x: hidden;
}
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255,255,255,.16) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.12) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: linear-gradient(to bottom, rgba(0,0,0,.4), transparent 70%);
  z-index: -1;
}

h1, h2, h3, h4, h5, h6, .navbar-brand span, .section-title h1, .section-title h2 {
  font-family: 'Space Grotesk', 'Lato', sans-serif !important;
  color: #1F8798;
  letter-spacing: -.035em;
}
p, span, a, button, input, textarea, select, label { font-family: 'Lato', sans-serif !important; }

.container { max-width: 1220px; }
.bg-image, .bg-overlay { display: none !important; }
.component { position: relative; }
.py-5-nav { padding-top: 7.5rem !important; padding-bottom: 3.5rem !important; }

/* Header / navbar */
header.sticky-top {
  top: 14px;
  z-index: 1040;
  padding: 0 14px;
  pointer-events: none;
}
header.sticky-top > * { pointer-events: auto; }
.navbar.component {
  margin: 0 auto;
  max-width: 1240px;
  border: 1px solid rgba(255,255,255,.6);
  background: rgba(244,255,248,.72) !important;
  backdrop-filter: blur(18px) saturate(140%);
  border-radius: 999px;
  box-shadow: var(--ps-soft-shadow);
}
.navbar .container { padding-left: 1rem; padding-right: 1rem; }
.navbar-brand {
  display: inline-flex;
  align-items: center;
  gap: .65rem;
  color: var(--ps-navy) !important;
}
.navbar-brand img {
  max-height: 44px !important;
  width: auto;
  filter: drop-shadow(0 6px 10px rgba(7,27,58,.16));
}
.navbar-brand span {
  color: var(--ps-navy);
  font-weight: 800;
}
.navbar-nav .nav-link {
  color: #237D8C !important;
  font-weight: 900;
  letter-spacing: .02em;
  border-radius: 999px;
  padding: .72rem .95rem !important;
  transition: all .18s ease;
}
.navbar-nav .nav-link:hover {
  background: rgba(35,138,156,.12);
  transform: translateY(-1px);
}
.navbar-toggler {
  border: 1px solid rgba(35,138,156,.28) !important;
  border-radius: 999px;
  background: rgba(255,255,255,.7) !important;
  box-shadow: var(--ps-soft-shadow);
}

/* Buttons: pill + Pokémon GO UI feel */
.btn {
  border-radius: 999px !important;
  font-weight: 900 !important;
  letter-spacing: .05em;
  text-transform: uppercase;
  border-width: 0 !important;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: .45rem;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease;
}
.btn:hover { transform: translateY(-2px); }
.btn-primary,
.btn-outline-primary:hover,
.btn.btn-primary {
  color: #fff !important;
  background: linear-gradient(135deg, #93DC7C, #41D7A4) !important;
  box-shadow: 0 10px 22px rgba(63,181,120,.28) !important;
}
.btn-outline-primary,
.btn-outline,
.btn.btn-outline-primary {
  color: #218598 !important;
  background: rgba(255,255,255,.72) !important;
  border: 2px solid rgba(35,138,156,.24) !important;
  box-shadow: 0 5px 14px rgba(7,27,58,.08) !important;
}
.btn-danger, .btn-outline-danger:hover {
  background: linear-gradient(135deg, #FF6D78, #FF4757) !important;
  color: #fff !important;
}
.cart .btn, .user .btn, .currency-selector .choices__inner {
  min-height: 44px;
  border-radius: 999px !important;
}
.cart .btn {
  width: 48px;
  padding: 0 !important;
  position: relative;
  background: rgba(255,255,255,.78) !important;
  color: #218598 !important;
  border: 2px solid rgba(35,138,156,.28) !important;
}
.cart .icon { width: 21px; height: 21px; }
.cart .count {
  position: absolute;
  top: -7px;
  right: -7px;
  min-width: 22px;
  height: 22px;
  border-radius: 999px;
  background: var(--ps-pink);
  color: white;
  font-size: .72rem;
  display: grid;
  place-items: center;
  box-shadow: 0 5px 12px rgba(217,91,166,.4);
}

/* Hero */
.hero.component {
  overflow: hidden;
  background-image: none !important;
  min-height: 680px;
  padding-top: 7.25rem;
  padding-bottom: 4rem;
  display: flex;
  align-items: center;
}
.hero::before {
  content: "";
  position: absolute;
  inset: 92px min(6vw, 88px) 36px;
  background: rgba(255,255,255,.32);
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 44px;
  box-shadow: var(--ps-shadow);
  backdrop-filter: blur(8px);
}
.hero::after {
  content: "";
  position: absolute;
  right: 7%;
  top: 24%;
  width: min(360px, 40vw);
  aspect-ratio: 9 / 16;
  border-radius: 32px;
  border: 9px solid rgba(255,255,255,.52);
  background:
    radial-gradient(circle at 50% 72%, #fff 0 34px, #202D37 35px 43px, #fff 44px 56px, transparent 57px),
    linear-gradient(to bottom, rgba(35,138,156,.16), rgba(7,27,58,.18)),
    linear-gradient(135deg, #D7F7E0, #A6DAB5);
  box-shadow: 0 26px 60px rgba(7,27,58,.20);
  opacity: .78;
}
.hero .container {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(290px, 420px);
  align-items: center;
  gap: min(6vw, 72px);
}
.hero .content {
  max-width: 680px;
  padding: 1.5rem 0;
}
.hero h1 {
  font-size: clamp(3rem, 7vw, 6.8rem);
  line-height: .92;
  margin-bottom: 1.2rem;
  color: #147D91;
  text-shadow: 0 5px 0 rgba(255,255,255,.35);
}
.hero p {
  max-width: 640px;
  font-size: clamp(1.1rem, 1.8vw, 1.42rem);
  line-height: 1.55;
  color: #207381;
  letter-spacing: .01em;
}
.hero .fake-searchbar, .searchbar {
  border-radius: 999px !important;
  background: rgba(255,255,255,.78) !important;
  border: 2px solid rgba(35,138,156,.18) !important;
  box-shadow: var(--ps-soft-shadow);
  overflow: hidden;
}
.hero .fake-searchbar input, .searchbar input {
  min-height: 58px;
  background: transparent !important;
  color: #1B6774 !important;
  font-weight: 800;
}
.hero .fake-searchbar svg, .searchbar svg { fill: #238A9C !important; margin-left: 1rem; }
.hero .content > .btn-primary {
  margin-top: 1rem;
  min-width: 200px;
  min-height: 58px;
  font-size: 1rem;
}
.hero .stats-wrapper { margin-top: 1.5rem; }
.hero .stats {
  display: flex;
  flex-wrap: wrap;
  gap: .85rem;
  padding: 0;
  background: transparent !important;
}
.hero .stats > div {
  padding: .85rem 1.05rem;
  border-radius: 22px;
  background: rgba(255,255,255,.62);
  border: 1px solid rgba(35,138,156,.18);
  box-shadow: var(--ps-soft-shadow);
}
.hero .stats .value {
  color: #147D91 !important;
  font-weight: 900;
  font-size: 1.1rem;
}
.hero .stats .label { color: rgba(32,115,129,.75); font-weight: 800; }
.hero .image {
  position: relative;
  display: grid;
  place-items: center;
  min-height: 460px;
}
.hero .image::before,
.hero .image::after {
  content: "";
  position: absolute;
  border-radius: 50%;
  border: 6px solid rgba(35,138,156,.55);
  background: rgba(255,255,255,.52);
  box-shadow: 0 0 0 8px rgba(255,255,255,.26), var(--ps-soft-shadow);
}
.hero .image::before { width: 92px; height: 92px; top: 10%; left: 6%; }
.hero .image::after { width: 72px; height: 72px; right: 8%; bottom: 10%; background: linear-gradient(135deg, #F5FFFA, #C7FFE4); }
.hero .image img {
  position: relative;
  z-index: 2;
  max-height: 500px;
  object-fit: contain;
  filter: drop-shadow(0 22px 38px rgba(7,27,58,.18));
}
.hero.alignment-center .content { margin-inline: 0; text-align: left; }

/* Section titles */
.section-title {
  text-align: center;
  margin-bottom: 2rem;
}
.section-title h1, .section-title h2 {
  font-size: clamp(2rem, 4vw, 3.7rem);
  color: #16879A;
}
.section-title p, .section-title .subtitle { color: #2A7884; }

/* Reusable cards */
.card, .bg-gray, .modal-content, .accordion-item, .list-group-item {
  background: rgba(255,255,255,.58) !important;
  border: 1px solid rgba(255,255,255,.72) !important;
  border-radius: var(--ps-radius) !important;
  color: #1B6774 !important;
  box-shadow: var(--ps-soft-shadow) !important;
  backdrop-filter: blur(12px) saturate(135%);
}
.card { overflow: hidden; transition: transform .18s ease, box-shadow .18s ease; }
.card:hover { transform: translateY(-6px); box-shadow: 0 22px 50px rgba(7,27,58,.16) !important; }

/* Product cards: collectible / Pokédex card look */
.products .card, a.card[href*="product"], a.card.text-decoration-none {
  min-height: 100%;
  border-radius: 34px !important;
  background:
    linear-gradient(180deg, rgba(255,255,255,.70), rgba(255,255,255,.44)),
    radial-gradient(circle at top right, rgba(45,226,230,.18), transparent 45%) !important;
  border: 2px solid rgba(255,255,255,.68) !important;
  position: relative;
}
a.card.text-decoration-none::after {
  content: "";
  position: absolute;
  right: 18px;
  top: 18px;
  width: 34px;
  height: 34px;
  border-radius: 999px;
  background:
    radial-gradient(circle, white 0 4px, #202D37 5px 7px, white 8px 12px, transparent 13px),
    linear-gradient(to bottom, #FF4757 0 48%, #202D37 49% 53%, #fff 54% 100%);
  box-shadow: 0 6px 12px rgba(7,27,58,.15);
  z-index: 4;
}
.card-img-top {
  background:
    radial-gradient(circle at 50% 54%, rgba(255,255,255,.85) 0 62px, rgba(45,226,230,.12) 63px 120px, transparent 121px),
    linear-gradient(135deg, rgba(191,240,204,.8), rgba(244,248,255,.6)) !important;
  border-radius: 28px !important;
  margin: 12px 12px 0;
  width: calc(100% - 24px) !important;
  overflow: hidden;
  border: 1px solid rgba(35,138,156,.12);
}
.card-img-top img { transition: transform .24s ease; }
.card:hover .card-img-top img { transform: scale(1.05); }
.card-img-top .overlay {
  background: rgba(7,27,58,.24) !important;
  backdrop-filter: blur(3px);
}
.card-img-top .badges,
.badges {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
}
.card-img-top .badges div,
.badges a,
.badges div,
.badge,
.stock-indicator {
  border-radius: 999px !important;
  border: 1px solid rgba(255,255,255,.6) !important;
  color: #fff !important;
  font-weight: 900 !important;
  letter-spacing: .035em;
  box-shadow: 0 6px 14px rgba(7,27,58,.12);
}
.card-body { padding: 1.15rem 1.2rem 1.35rem !important; }
.card .info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: .75rem;
  margin-bottom: .55rem;
}
.card .price {
  color: #147D91 !important;
  font-size: 1.15rem;
  font-weight: 900;
  margin: 0;
}
.card .text-primary,
.text-primary {
  color: #248999 !important;
  font-weight: 900;
  margin: 0;
}
.card-title {
  color: var(--ps-navy) !important;
  font-size: 1.15rem;
  line-height: 1.2;
  margin: 0;
}
.product-img-placeholder { background: rgba(255,255,255,.44) !important; }
.stock-unlimited svg { width: 16px; height: 16px; }

/* Categories / icon tiles */
.categories .card,
.group-card,
.feedback-card,
.status-card {
  border-radius: 32px !important;
}
.categories .card::before {
  content: "";
  width: 78px;
  height: 78px;
  border-radius: 999px;
  margin: 0 auto .85rem;
  display: block;
  background:
    radial-gradient(circle at center, rgba(255,255,255,.9) 0 40%, transparent 41%),
    linear-gradient(135deg, #F5FFF8, #D2FFE1);
  border: 4px solid rgba(35,138,156,.72);
  box-shadow: 0 0 0 8px rgba(255,255,255,.35), var(--ps-soft-shadow);
}

/* Forms, filters, checkout */
.form-control, .form-select, .choices__inner, textarea, input, select {
  border-radius: 20px !important;
  background: rgba(255,255,255,.7) !important;
  border: 2px solid rgba(35,138,156,.18) !important;
  color: #1B6774 !important;
  min-height: 46px;
  font-weight: 800;
  box-shadow: none !important;
}
.form-control:focus, .form-select:focus, textarea:focus, input:focus, select:focus {
  border-color: rgba(35,138,156,.55) !important;
  box-shadow: 0 0 0 .25rem rgba(45,226,230,.14) !important;
}
.form-label { color: #1C7C8D; font-weight: 900; letter-spacing: .02em; }
aside .bg-gray {
  position: sticky;
  top: 112px;
  padding: 1.15rem !important;
  border-radius: 32px !important;
}
aside .btn-sm {
  justify-content: flex-start;
  min-height: 38px;
  text-transform: none;
  letter-spacing: .01em;
}

/* Product page */
.product-page .card,
.product-page .gallery,
.product-page .product-info,
.product-page .product-form,
.product-page .description,
.product-page .details,
.product-page .row > [class*="col"] > div:not(.badges) {
  border-radius: 34px !important;
}
.product-page h1,
.product-page .product-title {
  color: var(--ps-navy) !important;
}
.product-page .price, .fs-5 {
  color: #147D91 !important;
  font-weight: 900;
}
.quantity-selector .btn,
.input-group .btn {
  min-width: 44px;
}

/* Cart/customer/admin-like pages */
.table, .table > :not(caption) > * > * {
  color: #1B6774 !important;
  background: transparent !important;
}
.table {
  border-radius: 24px;
  overflow: hidden;
}
.dropdown-menu {
  border-radius: 24px !important;
  background: rgba(255,255,255,.92) !important;
  border: 1px solid rgba(35,138,156,.16) !important;
  box-shadow: var(--ps-shadow) !important;
}
.dropdown-item { color: #1B6774 !important; font-weight: 800; border-radius: 14px; }
.dropdown-item:hover { background: rgba(35,138,156,.1) !important; }
.modal-content { background: rgba(244,255,248,.92) !important; }
.modal-header, .modal-footer { border-color: rgba(35,138,156,.14) !important; }

/* Footer */
.footer.component {
  margin: 3rem 14px 18px;
  border-radius: 38px;
  background: linear-gradient(135deg, rgba(7,27,58,.94), rgba(8,40,90,.92)) !important;
  color: rgba(255,255,255,.82) !important;
  box-shadow: var(--ps-shadow);
  overflow: hidden;
}
.footer .container { position: relative; }
.footer .container::after {
  content: "PokeSuper Store is an independent fan marketplace and is not affiliated with, endorsed, or sponsored by Niantic, Pokémon, Nintendo, Game Freak, or Creatures.";
  display: block;
  padding: 0 0 2rem;
  color: rgba(255,255,255,.58);
  font-size: .82rem;
  line-height: 1.5;
}
.footer h5, .footer .fs-5 { color: #fff !important; }
.footer .nav-link { color: rgba(255,255,255,.72) !important; font-weight: 800; }
.footer .nav-link:hover { color: var(--ps-cyan) !important; }

/* Micro UI details */
.alert, .announcement, .toast, .notification-popup {
  border-radius: 24px !important;
  background: rgba(255,255,255,.82) !important;
  border: 1px solid rgba(35,138,156,.18) !important;
  color: #1B6774 !important;
  box-shadow: var(--ps-soft-shadow) !important;
}
::-webkit-scrollbar { width: 12px; }
::-webkit-scrollbar-track { background: rgba(255,255,255,.35); }
::-webkit-scrollbar-thumb { background: rgba(35,138,156,.55); border-radius: 999px; border: 3px solid rgba(255,255,255,.45); }

@media (max-width: 991.98px) {
  header.sticky-top { top: 8px; padding: 0 8px; }
  .navbar.component { border-radius: 28px; }
  .navbar-collapse {
    margin-top: .75rem;
    padding: .75rem;
    border-radius: 24px;
    background: rgba(255,255,255,.58);
  }
  .navbar-nav { gap: .25rem !important; }
  .hero.component { min-height: auto; padding-top: 6.2rem; }
  .hero::before { inset: 80px 12px 22px; border-radius: 32px; }
  .hero::after { opacity: .2; width: 76vw; right: -18vw; top: 30%; }
  .hero .container { grid-template-columns: 1fr; }
  .hero .content { text-align: center; margin: 0 auto; }
  .hero.alignment-center .content { text-align: center; }
  .hero p { margin-inline: auto; }
  .hero .stats { justify-content: center; }
  .hero .image { min-height: 240px; }
  .hero .image img { max-height: 280px; }
  .py-5-nav { padding-top: 6.4rem !important; }
}

@media (max-width: 575.98px) {
  .hero h1 { font-size: 2.65rem; }
  .hero .stats > div { flex: 1 1 100%; }
  .card-img-top { margin: 10px 10px 0; width: calc(100% - 20px) !important; }
  a.card.text-decoration-none::before { font-size: .62rem; left: 14px; top: 14px; }
}

/* === PokeSuper hotfix: stop SellAuth editor hover from making hero feel scrunched ===
   The original skin reserved a second hero grid column for a side image/phone mockup.
   In SellAuth edit mode, the component hover toolbar makes that empty column very obvious
   on tablet-sized previews. This forces a stable one-column centered hero unless a real
   side image is intentionally used. */
.hero.component .container {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
}
.hero.component .container > .content {
  width: min(100%, 820px) !important;
  max-width: 820px !important;
  text-align: center !important;
  margin-inline: auto !important;
}
.hero.component .container > .content + div:empty {
  display: none !important;
}
.hero.alignment-center .content,
.hero.alignment-left .content,
.hero.alignment-right .content {
  text-align: center !important;
  margin-inline: auto !important;
}
.hero h1 {
  max-width: 760px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  text-wrap: balance;
}
.hero p {
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero .fake-searchbar,
.hero .searchbar {
  width: min(100%, 720px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.hero .stats {
  justify-content: center !important;
}
@media (max-width: 1200px) {
  .hero.component {
    min-height: 620px !important;
  }
  .hero::after {
    opacity: .10 !important;
    right: -12vw !important;
    width: min(320px, 58vw) !important;
  }
  .hero h1 {
    font-size: clamp(2.75rem, 7.5vw, 5.2rem) !important;
    line-height: .95 !important;
  }
}
@media (max-width: 768px) {
  .hero.component {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .hero .container {
    padding-left: 1.25rem !important;
    padding-right: 1.25rem !important;
  }
  .hero::after {
    display: none !important;
  }
  .hero h1 {
    font-size: clamp(2.55rem, 10vw, 4rem) !important;
  }
  .hero p {
    font-size: 1rem !important;
  }
}

/* === PokeSuper v3 cleanup: no phone mockup, cleaner product cards, readable text === */
/* Remove fake phone graphic from homepage hero */
.hero.component::after,
.hero::after {
  display: none !important;
  content: none !important;
}
.hero.component .container {
  grid-template-columns: minmax(0, 1fr) !important;
  justify-items: center !important;
}
.hero.component .container > .image,
.hero.component .container > .content + div:empty {
  display: none !important;
}

/* Remove decorative circles above category/product cards */
.categories .card::before,
.group-card::before,
a.card.text-decoration-none::after {
  display: none !important;
  content: none !important;
}

/* Let product/category images fill their boxes while keeping the rounded border */
.card-img-top,
.categories .card-img-top,
.products .card-img-top,
a.card.text-decoration-none .card-img-top {
  background: rgba(255,255,255,.42) !important;
  border: 2px solid rgba(35,138,156,.20) !important;
  border-radius: 28px !important;
  overflow: hidden !important;
}
.card-img-top img,
.categories .card-img-top img,
.products .card-img-top img,
a.card.text-decoration-none .card-img-top img,
.object-product-image {
  width: 100% !important;
  height: 100% !important;
  min-height: inherit !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
}
.product-img-placeholder {
  background: rgba(255,255,255,.58) !important;
  color: rgba(8,40,90,.55) !important;
}

/* Make storefront, cart, modal, and product text readable on the mint background */
body,
.component,
.card,
.card-body,
.modal-content,
.cart-page,
.product-page,
.products-page,
#cart,
.cart,
.table,
.table * {
  color: #08285A !important;
}
.hero h1,
.section-title h1,
.section-title h2,
.product-page h1,
.card-title,
h1, h2, h3, h4, h5, h6 {
  color: #06345A !important;
}
p,
small,
label,
.form-label,
.text-muted,
.text-white,
.text-light,
.opacity-50,
.opacity-75,
.cart-page p,
.cart-page span,
.cart-page small,
.modal p,
.modal span,
.modal small {
  color: #0B3A50 !important;
  opacity: 1 !important;
}
.card .text-primary,
.text-primary,
.card .price,
.price,
.product-page .price,
.fs-5 {
  color: #08758A !important;
  opacity: 1 !important;
}
.form-control::placeholder,
input::placeholder,
textarea::placeholder {
  color: rgba(8,40,90,.60) !important;
  opacity: 1 !important;
}
.modal-content,
.dropdown-menu,
.bg-gray,
.card,
.list-group-item {
  background-color: rgba(244,255,248,.88) !important;
}

/* Keep CTA/button labels readable but still clean */
.btn-primary,
.btn-primary *,
button.btn-primary,
a.btn-primary {
  color: #FFFFFF !important;
}
.btn-outline-primary,
.btn-outline-primary *,
.btn-secondary,
.btn-secondary * {
  color: #08758A !important;
}

/* Cart line items: prevent pale white item names/prices */
.cart-page .item-title,
.cart-page .product-title,
.cart-page .line-item,
.cart-page .line-item *,
.cart-page [class*="cart"]:not(.btn):not(button) {
  color: #08285A !important;
  opacity: 1 !important;
}


/* PokeSuper hotfix: remove the Collector Listing label from product cards. */
a.card.text-decoration-none::before,
.products .card::before,
.product-card::before {
  content: none !important;
  display: none !important;
}
