/* ==========================================================================
   PISOL CDRW — Pro Upgrade Sidebar Banner
   Scope: everything is namespaced under .pisol-cdrw-promo so it can sit
   safely inside WP admin next to other plugin/theme CSS.
   ========================================================================== */


.pisol-cdrw-promo,
.pisol-cdrw-promo *,
.pisol-cdrw-promo *::before,
.pisol-cdrw-promo *::after {
  box-sizing: border-box !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  text-shadow: none !important;
  box-shadow: none !important;
  background-image: none !important;
  list-style: none !important;
  text-align: left !important;
  vertical-align: baseline !important;
  float: none !important;
}

.pisol-cdrw-promo {
  --pcp-paper: #F2F6F1;
  --pcp-card: #FFFFFF;
  --pcp-ink: #16281F;
  --pcp-ink-soft: #4A5C50;
  --pcp-brand: #1F6650;
  --pcp-brand-dark: #163F31;
  --pcp-accent: #A23E48;
  --pcp-accent-dark: #832F38;
  --pcp-gold: #C9932E;
  --pcp-line: #D8DED4;

  display: block !important;
  width: 100% !important;
  max-width: 340px !important;
  background: var(--pcp-paper) !important;
  border: 1px solid var(--pcp-line) !important;
  border-radius: 14px !important;
  padding: 22px 20px 20px !important;
  font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif !important;
  color: var(--pcp-ink) !important;
  line-height: 1.4 !important;
  -webkit-font-smoothing: antialiased !important;
  margin:20px auto !important;
}

/* Note: the reset block above zeroes margin/padding/etc. on everything
   inside .pisol-cdrw-promo. Every component rule below sets its own
   spacing explicitly with !important, so it wins in the cascade
   (later rule, equal specificity) without needing a separate
   "undo" step. */

/* -------------------- rating row -------------------- */

.pisol-cdrw-promo__rating {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px 8px !important;
  text-align: center !important;
}

.pisol-cdrw-promo__stars {
  display: inline-flex !important;
  align-items: center !important;
  gap: 2px !important;
  width: 100% !important;
  justify-content: center !important;
}

.pisol-cdrw-promo__stars svg {
  width: 16px !important;
  height: 16px !important;
  fill: var(--pcp-gold) !important;
  display: inline-block !important;
}

.pisol-cdrw-promo__trust {
  width: 100% !important;
  text-align: center !important;
  font-family: 'Space Grotesk', 'Inter', sans-serif !important;
  font-weight: 700 !important;
  font-size: 14.5px !important;
  color: var(--pcp-ink) !important;
}

.pisol-cdrw-promo__trust strong {
  color: var(--pcp-brand) !important;
  font-weight: 700 !important;
}

.pisol-cdrw-promo__subrating {
  width: 100% !important;
  text-align: center !important;
  font-size: 12.5px !important;
  color: var(--pcp-ink-soft) !important;
}

.pisol-cdrw-promo__subrating strong {
  color: var(--pcp-ink) !important;
  font-weight: 600 !important;
}

/* -------------------- rule chip (signature element) -------------------- */

.pisol-cdrw-promo__rule {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  margin-top: 16px !important;
  padding: 10px 10px !important;
  background: var(--pcp-card) !important;
  border: 1px dashed var(--pcp-line) !important;
  border-radius: 10px !important;
  font-family: 'IBM Plex Mono', ui-monospace, SFMono-Regular, Menlo, monospace !important;
}

.pisol-cdrw-promo__rule-tag {
  display: inline-block !important;
  padding: 2px 7px !important;
  border-radius: 5px !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.04em !important;
  line-height: 1.6 !important;
}

.pisol-cdrw-promo__rule-tag--if {
  background: rgba(31, 102, 80, 0.12) !important;
  color: var(--pcp-brand-dark) !important;
}

.pisol-cdrw-promo__rule-tag--then {
  background: rgba(162, 62, 72, 0.12) !important;
  color: var(--pcp-accent-dark) !important;
}

.pisol-cdrw-promo__rule-cond {
  font-size: 12px !important;
  color: var(--pcp-ink) !important;
}

.pisol-cdrw-promo__rule-arrow {
  font-size: 12px !important;
  color: var(--pcp-ink-soft) !important;
}

/* -------------------- feature groups -------------------- */

.pisol-cdrw-promo__group {
  margin-top: 18px !important;
}

.pisol-cdrw-promo__eyebrow {
  display: flex !important;
  align-items: center !important;
  gap: 7px !important;
  font-family: 'IBM Plex Mono', ui-monospace, monospace !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  letter-spacing: 0.09em !important;
  text-transform: uppercase !important;
  color: var(--pcp-brand-dark) !important;
  margin-bottom: 9px !important;
}

.pisol-cdrw-promo__eyebrow::before {
  content: "" !important;
  display: inline-block !important;
  width: 8px !important;
  height: 8px !important;
  border-radius: 2px !important;
  background: var(--pcp-brand) !important;
  flex: 0 0 auto !important;
}

.pisol-cdrw-promo__list {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
}

.pisol-cdrw-promo__list li {
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  font-size: 13.5px !important;
  color: var(--pcp-ink) !important;
  line-height: 1.45 !important;
}

.pisol-cdrw-promo__list li::before {
  content: "" !important;
  flex: 0 0 auto !important;
  width: 16px !important;
  height: 16px !important;
  margin-top: 1px !important;
  border-radius: 4px !important;
  background-color: var(--pcp-brand) !important;
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6.2 11.3 3.1 8.2l1.1-1.1 2 2 4.7-4.7 1.1 1.1z' fill='white'/></svg>") !important;
  -webkit-mask-repeat: no-repeat !important;
  -webkit-mask-position: center !important;
  -webkit-mask-size: 9px 9px !important;
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'><path d='M6.2 11.3 3.1 8.2l1.1-1.1 2 2 4.7-4.7 1.1 1.1z' fill='white'/></svg>") !important;
  mask-repeat: no-repeat !important;
  mask-position: center !important;
  mask-size: 9px 9px !important;
}

/* -------------------- footer: price + CTA -------------------- */

.pisol-cdrw-promo__footer {
  margin-top: 20px !important;
  padding-top: 16px !important;
  border-top: 1px solid var(--pcp-line) !important;
  text-align: center !important;
}

.pisol-cdrw-promo__price {
  font-family: 'Space Grotesk', sans-serif !important;
  font-size: 14px !important;
  color: var(--pcp-ink-soft) !important;
  margin-bottom: 12px !important;
}

.pisol-cdrw-promo__price-amount {
  font-size: 26px !important;
  font-weight: 700 !important;
  color: var(--pcp-ink) !important;
  margin-right: 4px !important;
}

.pisol-cdrw-promo__cta {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  width: 100% !important;
  background: var(--pcp-accent) !important;
  color: #FFFFFF !important;
  font-family: 'Space Grotesk', sans-serif !important;
  font-weight: 700 !important;
  font-size: 13.5px !important;
  letter-spacing: 0.01em !important;
  text-decoration: none !important;
  padding: 13px 14px !important;
  border-radius: 9px !important;
  transition: background-color 0.15s ease, transform 0.15s ease !important;
  cursor: pointer !important;
}

.pisol-cdrw-promo__cta:hover,
.pisol-cdrw-promo__cta:focus-visible {
  background: var(--pcp-accent-dark) !important;
  color: #FFFFFF !important;
  transform: translateY(-1px) !important;
}

.pisol-cdrw-promo__cta:focus-visible {
  outline: 2px solid var(--pcp-brand) !important;
  outline-offset: 2px !important;
}

.pisol-cdrw-promo__cta-icon {
  width: 14px !important;
  height: 14px !important;
  fill: #FFFFFF !important;
  flex: 0 0 auto !important;
}

/* -------------------- responsive: narrow admin sidebars -------------------- */

@media (max-width: 300px) {
  .pisol-cdrw-promo {
    padding: 16px 14px !important;
  }
  .pisol-cdrw-promo__list li {
    font-size: 13px !important;
  }
}

/* -------------------- reduced motion -------------------- */

@media (prefers-reduced-motion: reduce) {
  .pisol-cdrw-promo__cta {
    transition: none !important;
  }
}