/* ==========================================================================
   Pulse Moments — Premium design system (editorial)
   Serif display + Inter body, refined tokens. Own identity (navy/gold/cream).
   ========================================================================== */
:root {
  --pm-ink:    #141a28;
  --pm-ink-2:  #1c2333;
  --pm-ink-3:  #2a3450;
  --pm-gold:   #c9a24b;
  --pm-gold-2: #e2c074;
  --pm-gold-soft: rgba(201,162,75,.12);
  --pm-cream:  #f5efe0;
  --pm-paper:  #faf7f0;
  --pm-paper-2:#ffffff;
  --pm-text:   #2a2f3a;
  --pm-muted:  #8a8f9a;
  --pm-line:   #ece5d4;
  --pm-radius: 16px;
  --pm-radius-lg: 24px;
  --pm-display: 'Fraunces', 'Playfair Display', Georgia, serif;
  --pm-body: 'Inter', system-ui, -apple-system, 'Segoe UI', Roboto, sans-serif;
  --pm-shadow: 0 26px 54px -28px rgba(20,26,40,.40);
  --pm-shadow-sm: 0 14px 30px -20px rgba(20,26,40,.35);
  --pm-glow: 0 18px 50px -18px rgba(201,162,75,.45);
}

/* ---------- Typography ---------- */
body, .entry-content, .pm-sec, .pm-footer, p, li, .pm-tcard p, .pm-feature p {
  font-family: var(--pm-body);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, .pm-h, .pm-hero3d__text h1, .pm-feature h3, .pm-plan h3,
.entry-title, .site-title, .pm-footer__col h4 {
  font-family: var(--pm-display);
  letter-spacing: -.01em;
}
.pm-sec h2.pm-h { font-size: 42px; font-weight: 600; line-height: 1.1; }
.pm-hero3d__text h1 { font-family: var(--pm-display); font-weight: 600; font-size: 58px; line-height: 1.04; }
.pm-sec .pm-sub { font-size: 17px; line-height: 1.6; }

/* gold accent underline under section headings */
.pm-sec h2.pm-h { position: relative; padding-bottom: 18px; }
.pm-sec h2.pm-h::after {
  content: ""; position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);
  width: 64px; height: 3px; border-radius: 3px;
  background: linear-gradient(90deg, var(--pm-gold), var(--pm-gold-2));
}

/* ---------- Section rhythm & spacing ---------- */
.pm-sec { padding: 92px 22px; }
.pm-sec:not(.pm-sec--dark) { background: var(--pm-paper); }
.pm-sec:not(.pm-sec--dark) + .pm-sec:not(.pm-sec--dark) { background: var(--pm-paper-2); }

/* ---------- Feature cards ---------- */
.pm-feature {
  border: 1px solid var(--pm-line); border-radius: var(--pm-radius-lg);
  padding: 32px 28px; background: var(--pm-paper-2); box-shadow: var(--pm-shadow-sm);
}
.pm-feature:hover { transform: translateY(-8px); box-shadow: var(--pm-shadow); border-color: rgba(201,162,75,.5); }
.pm-feature .pm-ic {
  width: 54px; height: 54px; border-radius: 16px;
  background: linear-gradient(140deg, var(--pm-ink-2), var(--pm-ink-3));
  box-shadow: inset 0 0 0 1px rgba(201,162,75,.35), 0 10px 24px -12px rgba(20,26,40,.6);
  color: var(--pm-gold-2); margin-bottom: 20px;
}
.pm-feature h3 { font-size: 21px; font-weight: 600; }
.pm-feature p { font-size: 15.5px; line-height: 1.6; color: #5c626e; }

/* ---------- Buttons (refined) ---------- */
.pm-btn { padding: 13px 26px; border-radius: 10px; letter-spacing: .2px; font-family: var(--pm-body); }
.pm-btn--solid { background: linear-gradient(135deg, var(--pm-ink-2), var(--pm-ink)); color: var(--pm-cream); }
.pm-btn--solid:hover { box-shadow: var(--pm-glow); }
.pm-hero3d__btns .pm-btn--solid { background: linear-gradient(135deg, var(--pm-gold), var(--pm-gold-2)); color: var(--pm-ink); }
.pm-btn--ghost { border: 1.5px solid var(--pm-ink-2); }
.pm-btn--ghost:hover { background: var(--pm-ink-2); color: var(--pm-cream); }

/* ---------- Pricing polish ---------- */
.pm-plan { border-radius: var(--pm-radius-lg); padding: 34px 26px; box-shadow: var(--pm-shadow-sm); }
.pm-plan.rec { box-shadow: 0 30px 70px -30px rgba(201,162,75,.55), 0 0 0 2px rgba(201,162,75,.4); }
.pm-price { font-family: var(--pm-display); font-weight: 600; font-size: 38px; }

/* ---------- Testimonial cards ---------- */
.pm-tcard { border-radius: var(--pm-radius-lg); box-shadow: var(--pm-shadow-sm); }
.pm-tcard p { font-size: 15px; line-height: 1.6; }

/* ---------- Hero refinements ---------- */
.pm-hero3d { position: relative; }
.pm-hero3d::after {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background:
    radial-gradient(40% 60% at 18% 30%, rgba(201,162,75,.10), transparent 70%);
}
.pm-hero3d__text p { font-size: 18.5px; line-height: 1.65; color: #d6dae2; }

/* ---------- Gallery / dark sections ---------- */
.pm-sec--dark { background: linear-gradient(180deg, var(--pm-ink-2), var(--pm-ink)); }

/* ---------- Footer typography ---------- */
.pm-footer__col h4 { font-size: 17px; letter-spacing: .2px; }

/* ---------- Kadence base nudges for cohesion ---------- */
.entry-title, .post-title, h1.entry-title { font-family: var(--pm-display); font-weight: 600; }
.wp-block-latest-posts__post-title { font-family: var(--pm-display); font-weight: 600; }

/* ---------- Header refinements (premium.css layer) ---------- */
.pm-header__logo img {
  transition: filter .3s, transform .3s;
}
.pm-header__logo:hover img { transform: scale(1.06); filter: drop-shadow(0 4px 14px rgba(201,162,75,.6)); }
.pm-nav__link--drop svg { transition: transform .2s; }
.pm-nav__item--drop:hover .pm-nav__link--drop svg { transform: rotate(180deg); }

/* ---------- Footer stat numbers — gold glow ---------- */
.pm-stat__num { text-shadow: 0 0 40px rgba(201,162,75,.5); }
.pm-footer { font-family: var(--pm-body); }
.pm-footer__col h4 { font-family: var(--pm-display); font-size: 16px; }

/* ====================================================
   GLOBAL TEXT COLOR FIXES
   Overrides Kadence defaults site-wide to PM palette
   ==================================================== */

/* Body & paragraph text */
body, p, li, td, th { color: var(--pm-text); }

/* Links — gold instead of Kadence blue */
a { color: var(--pm-gold); }
a:hover { color: var(--pm-gold-2); }

/* Content area links */
.entry-content a,
.single-content a,
body:not(.home) .entry-content a {
  color: var(--pm-ink-3); text-decoration: underline;
  text-underline-offset: 3px; text-decoration-color: rgba(201,162,75,.4);
}
.entry-content a:hover, .single-content a:hover { color: var(--pm-gold); text-decoration-color: var(--pm-gold); }

/* Headings */
h1, h2, h3, h4, h5, h6 { color: var(--pm-ink); }

/* Dark section overrides — force light text */
.pm-sec--dark *, .pm-footer *, .pm-header *,
.pm-hero3d *, .pg-verticals *,
.pm-svc-proof *, .pm-svc-price-card *,
.pm-sidebar-cta *, .pg-cinfo-card--dark *,
.pm-footer-stats * { color: inherit; }

.pm-sec--dark { color: var(--pm-cream); }
.pm-sec--dark h2, .pm-sec--dark h3 { color: #f5efe0; }
.pm-sec--dark p, .pm-sec--dark span { color: #c8cdd8; }

.pg-verticals { color: var(--pm-cream); }
.pg-verticals h2, .pg-verticals h3 { color: #f5efe0; }
.pg-verticals p { color: #aab0bd; }

/* Service price card: dark bg */
.pm-svc-price-card__inner * { color: inherit; }
.pm-svc-price-card__price { color: #c9a24b; }
.pm-svc-price-card__label { color: #8a8f9a; }
.pm-svc-price-card__note { color: #8a8f9a; }
.pm-svc-price-card__perks li { color: #aab0bd; }
.pm-svc-price-card__cta { color: #141a28 !important; }
.pm-svc-price-card__link { color: #6b7280; }

/* Service quote dark bg */
.pm-svc-quote { color: var(--pm-cream); }
.pm-svc-quote p { color: #f5efe0; }
.pm-svc-quote footer strong { color: #c9a24b; }
.pm-svc-quote footer span { color: #8a8f9a; }

/* Blog loop — card titles visible */
.loop-entry .entry-title, .loop-entry .entry-title a { color: var(--pm-ink) !important; }
.loop-entry .entry-meta, .loop-entry .entry-meta a { color: #6b7280 !important; }
.loop-entry .entry-summary p { color: #4a5162 !important; }

/* Inner page breadcrumbs on dark hero */
body:not(.home) .entry-hero .kadence-breadcrumbs,
body:not(.home) .entry-hero .kadence-breadcrumbs span { color: rgba(245,239,224,.5) !important; }
body:not(.home) .entry-hero .kadence-breadcrumbs a { color: #c9a24b !important; }
body:not(.home) .entry-hero .entry-title { color: #f5efe0 !important; }

/* Nav links — override global-palette1 (now gold = good for links but nav should be cream) */
.pm-nav__link { color: rgba(245,239,224,.82) !important; }
.pm-nav__link:hover, .pm-nav__link--active { color: #f5efe0 !important; }
.pm-nav__drop-link { color: #aab0bd !important; }
.pm-nav__drop-link:hover { color: #c9a24b !important; }

/* Footer info contacts */
.pm-footer__col li, .pm-footer__col a { color: #909ab0; }
.pm-footer__col a:hover { color: #c9a24b; }
.pm-footer__col h4 { color: #f5efe0; }
.pm-footer__bar, .pm-footer__bar a { color: #6b7280; }
.pm-footer__bar a:hover { color: #c9a24b; }
.pm-footer__brand p { color: #909ab0; }
.pm-footer__brand strong { color: #d4d8e2; }

/* Testimonial cards */
.pm-tcard h4 { color: var(--pm-ink) !important; }
.pm-tcard p { color: #444 !important; }
.pm-tcard .role { color: #8a8f9a !important; }

/* Pricing plan text */
.pm-plan h3 { color: var(--pm-ink) !important; }
.pm-plan .desc { color: #8a8f9a !important; }
.pm-plan li { color: #555 !important; }
.pm-price { color: var(--pm-ink) !important; }
.pm-price small { color: #8a8f9a !important; }

/* Feature cards */
.pm-feature h3 { color: var(--pm-ink) !important; }
.pm-feature p { color: #5c626e !important; }

/* Client marquee on dark bg */
.pm-client { color: #f5efe0 !important; }

/* Contact page info cards */
.pg-cinfo-card h4 { color: #141a28; }
.pg-cinfo-card p { color: #4a5162; }
.pg-cinfo-card p a { color: #1c2333; }
.pg-cinfo-card--dark h4 { color: #f5efe0 !important; }
.pg-cinfo-card--dark p { color: #aab0bd !important; }

/* About page sections */
.pg-mission__text h2 { color: #141a28; }
.pg-mission__text p { color: #4a5162; }
.pg-val h3 { color: #141a28; }
.pg-val p { color: #5c636e; }
.pg-mstat strong { color: #c9a24b; }
.pg-mstat span { color: #8a8f9a; }

/* Sidebar */
.pm-sidebar-widget h4 { color: #141a28; }
.pm-sidebar-cat-list a { color: #4a5162; }
.pm-sidebar-recent .info a { color: #1c2333; }
.pm-sidebar-recent .date { color: #9ca3af; }
.pm-sidebar-cta h4 { color: #e2c074 !important; }
.pm-sidebar-cta p { color: #aab0bd !important; }

/* Write for Us / Advertise pages - plain content */
.page .entry-content-wrap p { color: var(--pm-text); }
.page .entry-content-wrap h2, .page .entry-content-wrap h3 { color: var(--pm-ink); }

/* CTA band on about page */
.pg-cta-band h2 { color: #141a28; }
.pg-cta-band p { color: #6b7280; }

@media (max-width: 700px){
  .pm-sec h2.pm-h { font-size: 32px; }
  .pm-hero3d__text h1 { font-size: 40px; }
  .pm-sec { padding: 64px 18px; }
}
