/* ============================================================
   pacy-section-hero.css
   Hero section — dark-blue-bg with dashboard graphic
   ============================================================ */


/* ─── Hero Heading ────────────────────────────────────────── */

.pacy-hero-heading {
  line-height: 1.2;
  margin-bottom: 0;
}

/* Default (dark section): bright cyan-blue gradient */
.pacy-hero-heading-cyan {
  background: linear-gradient(135deg, #22D3EE, #60A5FA);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Light section: swap to the darker brand gradient for contrast */
.light-grey-bg .pacy-hero-heading-cyan,
.white-bg      .pacy-hero-heading-cyan,
.subtle-bg     .pacy-hero-heading-cyan {
  background: var(--pacy-grad-text);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}


/* ─── Badge ───────────────────────────────────────────────── */

/* Default (dark section) */
.pacy-hero-badge {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(34, 211, 238, 0.4);
  color: #67E8F9;
  font-size: 0.8rem;
}

/* Light section override */
.light-grey-bg .pacy-hero-badge,
.white-bg      .pacy-hero-badge,
.subtle-bg     .pacy-hero-badge {
  background: var(--pacy-base-1);
  border-color: var(--pacy-base-1);
  color: var(--pacy-accent-2);
}

.pacy-hero-badge__dot {
  width: 5px;
  height: 5px;
  margin-right: 5px;
  border-radius: 50%;
  background: #22D3EE;
  display: block;
  flex-shrink: 0;
  animation: pacyDotPulse 2s ease-in-out infinite;
}

.light-grey-bg .pacy-hero-badge__dot,
.white-bg      .pacy-hero-badge__dot,
.subtle-bg     .pacy-hero-badge__dot {
  background: var(--pacy-accent-2);
}

@keyframes pacyDotPulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.5; transform: scale(1.5); }
}


/* ─── Checklist ───────────────────────────────────────────── */

/* Default (dark section) */
.pacy-hero-checklist li {
  color: rgba(255, 255, 255, 0.85);
  font-size: 0.9rem;
  align-items: center !important;
  line-height: 1.4;
  gap: 8px;
}

.pacy-hero-check {
  width: 13px;
  height: 13px;
  fill: #22D3EE;
  flex-shrink: 0;
}

/* Light section override */
.light-grey-bg .pacy-hero-checklist li,
.white-bg      .pacy-hero-checklist li,
.subtle-bg     .pacy-hero-checklist li {
  color: var(--pacy-dark-3);
}

.light-grey-bg .pacy-hero-check,
.white-bg      .pacy-hero-check,
.subtle-bg     .pacy-hero-check {
  fill: var(--pacy-accent-2);
}


/* ─── Phone ───────────────────────────────────────────────── */

/* Default (dark section) */
.pacy-hero-phone {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  font-size: 0.875rem;
  color: rgba(255, 255, 255, 0.5);
  margin-top: 0.25rem;
  margin-bottom: 0;
}

.pacy-hero-phone__icon {
  width: 15px;
  height: 15px;
  flex-shrink: 0;
  color: rgba(255, 255, 255, 0.5);
}

.pacy-hero-phone__link {
  color: rgba(255, 255, 255, 0.5);
  text-decoration: none;
}

.pacy-hero-phone__link:hover {
  color: rgba(255, 255, 255, 0.8);
  text-decoration: none;
}

/* Light section override */
.light-grey-bg .pacy-hero-phone,
.white-bg      .pacy-hero-phone,
.subtle-bg     .pacy-hero-phone,
.light-grey-bg .pacy-hero-phone__icon,
.white-bg      .pacy-hero-phone__icon,
.subtle-bg     .pacy-hero-phone__icon,
.light-grey-bg .pacy-hero-phone__link,
.white-bg      .pacy-hero-phone__link,
.subtle-bg     .pacy-hero-phone__link {
  color: var(--pacy-dark-3);
}

.light-grey-bg .pacy-hero-phone__link:hover,
.white-bg      .pacy-hero-phone__link:hover,
.subtle-bg     .pacy-hero-phone__link:hover {
  color: var(--pacy-dark-1);
}


/* ─── Visual Slot ─────────────────────────────────────────── */

.pacy-hero-visual {
  width: 100%;
  align-items: center;
  justify-content: center;
}

.pacy-hero-visual__img {
  width: 100%;
  max-width: 600px;
  height: auto;
  border-radius: var(--pacy-radius-lg);
  display: block;
  object-fit: cover;
}


/* ─── Dashboard Card ──────────────────────────────────────── */
/* This is a fixed "always-dark" app-screenshot mockup, like the CTA
   card's photo overlay — it never adapts to the section's theme
   class. Giving it its own solid dark background (instead of a
   translucent white tint that relied on a dark section behind it)
   means it stays legible no matter what bg class the section uses. */

.pacy-hero-dashboard {
  background: var(--pacy-dark-2);
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: var(--pacy-radius-lg);
  padding: 1.25rem;
  width: 100%;
  max-width: 520px;
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  box-shadow: var(--pacy-shadow-md);
}

.pacy-hero-dashboard__bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
  line-height: 1;
}

.pacy-hero-dashboard__dot {
  width: 10px;
  height: 10px;
  min-width: 10px;
  min-height: 10px;
  border-radius: 50%;
  display: block;
  flex-shrink: 0;
  flex-grow: 0;
  flex-basis: 10px;
  align-self: center;
}

.pacy-hero-dashboard__dot--red   { background: #FF5F57; }
.pacy-hero-dashboard__dot--amber { background: #FEBC2E; }
.pacy-hero-dashboard__dot--green { background: #28C840; }

.pacy-hero-dashboard__title {
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.6);
  letter-spacing: 0.03em;
  margin-left: 0.5rem;
  font-weight: 400;
  line-height: 1;
  display: block;
  align-self: center;
}


/* ─── Metric Cards ────────────────────────────────────────── */

.pacy-hero-metrics {
  grid-template-columns: repeat(2, 1fr) !important;
}

.pacy-hero-metric {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
  border-radius: var(--pacy-radius-md) !important;
  padding: 0.875rem !important;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  transition: none;
}

.pacy-hero-metric:hover {
  transform: none;
  box-shadow: none;
}

.pacy-hero-metric__label {
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1;
  margin-bottom: 2px;
}

.pacy-hero-metric__value {
  font-size: 1.375rem;
  font-weight: 800;
  color: var(--pacy-white);
  line-height: 1;
}

.pacy-hero-metric__delta {
  font-size: 0.688rem;
  font-weight: 300;
  line-height: 1;
}

.pacy-hero-metric__delta--up,
.pacy-hero-metric__delta--positive {
  color: #4ADE80;
}


/* ─── Chart Cards ─────────────────────────────────────────── */

/* Force 50-50 inside dashboard, never stack */
.pacy-hero-dashboard .pacy-grid-2 {
  grid-template-columns: repeat(2, 1fr) !important;
}

.pacy-hero-chart {
  background: rgba(255, 255, 255, 0.04) !important;
  border-color: rgba(255, 255, 255, 0.06) !important;
  border-radius: var(--pacy-radius-md) !important;
  padding: 0.875rem !important;
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  transition: none;
}

.pacy-hero-chart:hover {
  transform: none;
  box-shadow: none;
}

.pacy-hero-chart__label {
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.6);
  line-height: 1;
}

.pacy-hero-chart svg {
  width: 100%;
  height: auto;
  display: block;
}


/* ─── Keywords Table ──────────────────────────────────────── */

.pacy-hero-keywords {
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
  border-radius: var(--pacy-radius-md);
  padding: 0.875rem;
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

.pacy-hero-keywords__title {
  font-size: 0.625rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-weight: 300;
  color: rgba(255, 255, 255, 0.6);
  margin-bottom: 0.25rem;
}

.pacy-hero-kw-list { gap: 0; }

.pacy-hero-kw-list,
.pacy-hero-kw-list li { line-height: 1; }

.pacy-hero-kw-row {
  display: flex !important;
  align-items: center !important;
  gap: 0.5rem;
  padding: 0.5rem 0 !important;
  border-bottom: 1px solid rgba(255, 255, 255, 0.04);
  line-height: 1;
}

.pacy-hero-kw-row:last-child { border-bottom: none; }

.pacy-hero-kw-rank {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 0.625rem;
  font-weight: 700;
  flex-shrink: 0;
}

.pacy-hero-kw-rank--1 { background: rgba(34, 211, 238, .15);  color: #67E8F9; }
.pacy-hero-kw-rank--2 { background: rgba(59, 130, 246, .15);  color: #60A5FA; }
.pacy-hero-kw-rank--3 { background: rgba(148, 163, 184, .15); color: #94A3B8; }
.pacy-hero-kw-rank--4 { background: rgba(148, 163, 184, .1);  color: #94A3B8; opacity: .75; }

.pacy-hero-kw-name {
  flex: 1;
  font-size: 0.75rem;
  color: rgba(255, 255, 255, 0.75);
  margin-left: 0.25rem;
}

.pacy-hero-kw-vol {
  font-size: 0.75rem;
  font-weight: 700;
  color: #67E8F9;
}

.pacy-hero-kw-vol--hi { color: #67E8F9; }


/* ─── Responsive ──────────────────────────────────────────── */

@media (min-width: 768px) {
  .pacy-hero-metrics {
    grid-template-columns: repeat(4, 1fr) !important;
  }
}

@media (max-width: 900px) {
  .pacy-hero-dashboard { max-width: 100%; }

  .pacy-hero-visual .pacy-btn-group,
  .pacy-canvas-wrap .pacy-section .pacy-btn-group .pacy-btn,
  .pacy-canvas-wrap .pacy-section .pacy-btn-group .button {
    width: 100%;
  }
}

@media (max-width: 600px) {
  .pacy-hero-content .pacy-btn-group {
    flex-direction: column;
  }

  .pacy-btn-group .pacy-btn,
  .pacy-btn-group .button {
    width: 100% !important;
    justify-content: center;
  }
}

@media (prefers-reduced-motion: reduce) {
  .pacy-hero-badge__dot { animation: none; }
}