/**
 * PM Media — site-wide uniform polish (loaded LAST)
 * · One void palette end-to-end (no rainbow biolum bottom)
 * · Hero / sticky CTAs: readable, colorful, never clipped
 * · Keep Miami water/palm hero atmosphere untouched
 */
/* ------------------------------------------------------------------ */
/* 1. UNIFORM DARK VOID — kill zone color shifts on convert path      */
/* ------------------------------------------------------------------ */
body.pm-convert-lean {
  --zone-glow: transparent;
  --zone-accent: var(--cyan, #00d4ee);
}
body.pm-convert-lean html[data-biolum-zone],
html[data-biolum-zone] body.pm-convert-lean {
  --zone-glow: transparent !important;
}
body.pm-convert-lean [data-biolum-zone]::before,
body.pm-convert-lean .biolum-zone-label,
body.pm-convert-lean .pm-liquid-path-wrap,
body.pm-convert-lean .pm-synapse-layer {
  display: none !important;
}
body.pm-convert-lean .section-soft,
body.pm-convert-lean .section-dark,
body.pm-convert-lean .cta-band,
body.pm-convert-lean .adventure-home,
body.pm-convert-lean .neon-tech-strip {
  background: #06060c !important;
  background-image: none !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  box-shadow: none !important;
}
body.pm-convert-lean .cta-band {
  border-block: 1px solid rgba(0, 212, 238, 0.14) !important;
  background:
    linear-gradient(180deg, rgba(6, 6, 12, 0.92), #06060c),
    radial-gradient(ellipse 70% 80% at 50% 100%, rgba(0, 212, 238, 0.06), transparent 60%) !important;
}
body.pm-convert-lean .cta-band::before { opacity: 0 !important; }
/* Footer — keep original site.css look (not a thick black void slab) */
body.pm-convert-lean .site-footer {
  background:
    linear-gradient(180deg, rgba(8, 10, 18, 0.98), #05050a) !important;
  background-image: none !important;
  border-top: 1px solid rgba(0, 212, 238, 0.12) !important;
  color: rgba(244, 244, 250, 0.72);
  padding: 2.75rem 0 1.75rem !important;
}
body.pm-convert-lean .site-footer .footer-bottom {
  border-top-color: rgba(255, 255, 255, 0.08);
}
body.pm-convert-lean .section-soft {
  background: rgba(255, 255, 255, 0.02) !important;
  border-block: 1px solid rgba(255, 255, 255, 0.06) !important;
}
body.pm-convert-lean .section-dark {
  background: #080810 !important;
  border-block: 1px solid rgba(255, 255, 255, 0.06) !important;
}

/* ------------------------------------------------------------------ */
/* 2. BUTTONS — never clip · always readable · color that pops         */
/* ------------------------------------------------------------------ */
.btn {
  overflow: visible !important;
  text-overflow: clip !important;
  white-space: normal !important;
  text-align: center !important;
  line-height: 1.25 !important;
  max-width: 100%;
  box-sizing: border-box;
  hyphens: none;
  word-break: normal;
}
.btn-primary,
.btn-outline,
.btn-white,
.btn-lg {
  min-height: 52px;
  padding: 0.85rem 1.15rem !important;
  font-size: clamp(0.78rem, 2.1vw, 0.92rem) !important;
  letter-spacing: 0.04em !important;
}
/* Primary — full neon gradient, high contrast */
.btn-primary {
  background: linear-gradient(135deg, #00c8e8 0%, #e8328a 100%) !important;
  color: #fff !important;
  border: 1px solid rgba(255, 255, 255, 0.35) !important;
  box-shadow:
    0 0 0 1px rgba(0, 212, 238, 0.25),
    0 10px 28px rgba(232, 50, 138, 0.28),
    0 6px 18px rgba(0, 212, 238, 0.2) !important;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}
.btn-primary:hover {
  filter: brightness(1.08);
  box-shadow:
    0 0 0 1px rgba(255, 255, 255, 0.4),
    0 14px 36px rgba(232, 50, 138, 0.4),
    0 0 40px rgba(0, 212, 238, 0.25) !important;
}
/* Outline — solid readable fill, cyan edge */
.btn-outline {
  background: rgba(8, 14, 28, 0.92) !important;
  color: #f4fbff !important;
  border: 1.5px solid rgba(0, 212, 238, 0.65) !important;
  box-shadow:
    inset 0 0 24px rgba(0, 212, 238, 0.08),
    0 8px 22px rgba(0, 0, 0, 0.35) !important;
}
.btn-outline:hover {
  background: rgba(0, 212, 238, 0.16) !important;
  border-color: #00d4ee !important;
  color: #fff !important;
}
.btn-white {
  background: #fff !important;
  color: #0a0a14 !important;
  border: 1px solid rgba(255, 255, 255, 0.9) !important;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35) !important;
}

/* Glass shine must not clip label — confine to ::after only */
.btn::after {
  border-radius: inherit;
  pointer-events: none;
}

/* ------------------------------------------------------------------ */
/* 3. HERO CTA — 2×2 grid · full labels · no min-width:0 clip          */
/* ------------------------------------------------------------------ */
.hero-cta.pm-noon-cta,
.hero .hero-cta,
.pm-pain-cta-row {
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem !important;
  width: 100%;
  max-width: 640px !important;
  margin-inline: auto !important;
  flex-wrap: unset !important;
  overflow: visible !important;
  justify-content: stretch !important;
}
.hero-cta .btn,
.pm-noon-cta .btn,
.pm-pain-cta-row .btn {
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important; /* grid cell owns width; text wraps inside */
  max-width: none !important;
  white-space: normal !important;
  overflow: visible !important;
  justify-content: center;
  align-items: center;
  padding-inline: 0.85rem !important;
  font-size: clamp(0.72rem, 2vw, 0.88rem) !important;
}
@media (max-width: 520px) {
  .hero-cta.pm-noon-cta,
  .hero .hero-cta,
  .pm-pain-cta-row {
    grid-template-columns: 1fr;
    max-width: 360px !important;
  }
  .hero-cta .btn,
  .pm-noon-cta .btn {
    font-size: 0.86rem !important;
    padding: 0.95rem 1rem !important;
  }
}
@media (min-width: 900px) {
  .hero-cta .btn,
  .pm-noon-cta .btn {
    white-space: nowrap !important;
    font-size: 0.84rem !important;
  }
}

/* Sticky bar — wrap, never clip */
.pm-sticky-cta,
.pm-sticky-cta-inner {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 0.55rem !important;
  justify-content: center !important;
  overflow: visible !important;
}
.pm-sticky-cta .btn {
  flex: 1 1 auto !important;
  min-width: min(100%, 11.5rem) !important;
  width: auto !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow: visible !important;
  font-size: 0.78rem !important;
}

/* Kill mobile polish rules that force nowrap + shrink clip */
@media (max-width: 920px) {
  .hero-cta .btn,
  .pm-noon-cta .btn,
  .cta-row .btn {
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
  }
}
