/*
 * PSK Global Brand Stylesheet — v2
 * Loaded on every page via functions.php
 * v2 changes: Button selector properly excludes ALL WPBF nav/mobile UI buttons.
 */

/* ─── Google Fonts ───────────────────────────────────────── */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@700;800;900&display=swap');

/* ─── Brand Tokens ───────────────────────────────────────── */
:root {
  --psk-pink:         #e91e8c;
  --psk-pink-dark:    #c5166f;
  --psk-pink-light:   rgba(233,30,140,.08);
  --psk-navy:         #1a1f3a;
  --psk-body:         #374151;
  --psk-muted:        #6b7280;
  --psk-bg:           #ffffff;
  --psk-surface:      #f9fafb;
  --psk-line:         #e5e7eb;
  --psk-font-body:    'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --psk-font-heading: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --psk-max:          1200px;
  --psk-radius:       12px;
  --psk-radius-pill:  100px;
}

/* ─── Body & base typography ─────────────────────────────── */
body,
.wpbf-page {
  font-family: var(--psk-font-body) !important;
  color: var(--psk-body);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ─── Headings ───────────────────────────────────────────── */
h1, h2, h3, h4, h5, h6,
.wpbf-page h1,
.wpbf-page h2,
.wpbf-page h3,
.wpbf-page h4,
.wpbf-page h5,
.wpbf-page h6 {
  font-family: var(--psk-font-heading) !important;
  color: var(--psk-navy);
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: -0.02em;
}

/* ─── Links ──────────────────────────────────────────────── */
a,
.wpbf-page a {
  color: var(--psk-pink);
  text-decoration: none;
  transition: color 0.15s ease;
}
a:hover,
.wpbf-page a:hover {
  color: var(--psk-pink-dark);
}

/* ─── Bold & strong ──────────────────────────────────────── */
strong, b {
  font-weight: 700;
  color: var(--psk-navy);
}

/* ─── Italic ─────────────────────────────────────────────── */
em, i { font-style: italic; }

/* ─── Paragraph spacing ──────────────────────────────────── */
p { line-height: 1.7; margin: 0 0 1em; }

/* ─── Buttons — global overrides ────────────────────────── */
/*
 * Pink brand styling for site CTA buttons.
 * WPBF UI buttons (any class containing "wpbf-") are excluded
 * from the `button` rule so the mobile hamburger is never touched.
 * The hard-reset block below is a second safety net.
 */
.wp-block-button__link,
button:not([class*="wpbf-"]):not([class*="sk-"]):not([class*="pb-"]):not([class*="mb-"]):not([class*="testi__"]):not([class*="faq__"]),
input[type="submit"],
input[type="button"] {
  font-family: var(--psk-font-body) !important;
  font-weight: 700;
  background: var(--psk-pink);
  color: #fff !important;
  border: none;
  border-radius: var(--psk-radius-pill);
  padding: 0.7em 1.6em;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}
.wp-block-button__link:hover,
button:not([class*="wpbf-"]):not([class*="sk-"]):not([class*="pb-"]):not([class*="mb-"]):not([class*="testi__"]):not([class*="faq__"]):hover,
input[type="submit"]:hover,
input[type="button"]:hover {
  background: var(--psk-pink-dark);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(233,30,140,.3);
}

/* ─── Explicit .wpbf-button CTA (header/customizer buttons) ─ */
.wpbf-button {
  font-family: var(--psk-font-body) !important;
  font-weight: 700;
  background: var(--psk-pink);
  color: #fff !important;
  border: none;
  border-radius: var(--psk-radius-pill);
  padding: 0.7em 1.6em;
  cursor: pointer;
  transition: background 0.2s ease, transform 0.2s ease, box-shadow 0.2s ease;
  text-decoration: none;
}
.wpbf-button:hover {
  background: var(--psk-pink-dark);
  color: #fff !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 20px rgba(233,30,140,.3);
}

/* ─── WPBF mobile nav — hard reset ──────────────────────── */
/*
 * Belt-and-suspenders: resets ALL WPBF UI chrome (hamburger,
 * close, search toggle) back to transparent regardless of any
 * upstream rule that slipped through the :not() exclusions.
 */
.wpbf-header button,
.wpbf-navigation button,
[class*="wpbf-mobile-"],
[class*="wpbf-burger"],
[class*="wpbf-toggle"],
[class*="wpbf-close"],
[class*="wpbf-search"],
.wpbf-mobile-menu-toggle,
.wpbf-mobile-nav-trigger,
.wpbf-mobile-nav-hamburger,
.wpbf-mobile-search-toggle {
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  color: inherit !important;
  border: none !important;
  border-radius: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  transition: none !important;
  outline: none !important;
}

/* ─── WP Search form ─────────────────────────────────────── */
.search-form input[type="search"],
.wp-block-search__input {
  font-family: var(--psk-font-body);
  border: 1.5px solid var(--psk-line);
  border-radius: var(--psk-radius);
  padding: 0.65em 1em;
  color: var(--psk-body);
  outline: none;
  transition: border-color 0.15s ease;
}
.search-form input[type="search"]:focus,
.wp-block-search__input:focus {
  border-color: var(--psk-pink);
  box-shadow: 0 0 0 3px var(--psk-pink-light);
}

/* ─── WPBF nav — keep brand accent on active link ───────── */
.wpbf-navigation .current-menu-item > a,
.wpbf-navigation .current_page_item > a {
  color: var(--psk-pink) !important;
}

/* ─── Gutenberg core blocks — color fixes ───────────────── */
.wp-block-pullquote {
  border-color: var(--psk-pink);
}
.wp-block-quote {
  border-left-color: var(--psk-pink);
}
.wp-block-separator {
  border-color: var(--psk-line);
}

/* ─── Selection highlight ────────────────────────────────── */
::selection {
  background: rgba(233,30,140,.15);
  color: var(--psk-navy);
}
