/* ================================================================
   THE SCHOLAR'S EDIT — GLOBAL DESIGN TOKENS
   Matches All_1.html exactly: pastel glassmorphism, Inter, soft
================================================================ */

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

/* ── Tokens ─────────────────────────────────────────────────── */
:root {
  --font-main:            'Inter', system-ui, sans-serif;
  --color-bg:             #FAFAFA;
  --color-text:           #2D2D2D;
  --color-text-muted:     #555;
  --color-text-light:     #888;

  /* Pastels */
  --pink:                 #FFD1DC;
  --lavender:             #E6E6FA;
  --mint:                 #D4F1F4;
  --peach:                #FFDAC1;
  --pink-bg:              #FFF0F5;
  --lavender-bg:          #F3E5F5;
  --mint-bg:              #F0FFF4;
  --peach-bg:             #FFF5EE;

  /* Accent */
  --accent:               #764ba2;
  --accent-light:         #9b6bbf;
  --accent-green:         #0F5132;

  /* Glass */
  --glass:                rgba(255,255,255,0.70);
  --glass-border:         rgba(255,255,255,0.80);

  /* Shadows */
  --shadow-soft:          0 10px 40px -10px rgba(0,0,0,0.08);
  --shadow-hover:         0 20px 50px -10px rgba(0,0,0,0.14);

  /* Shape */
  --radius-lg:            24px;
  --radius-md:            16px;
  --radius-sm:            10px;
  --radius-pill:          50px;

  /* Spacing */
  --section:              clamp(72px, 10vw, 120px);
  --gutter:               clamp(20px, 5vw, 60px);
  --max-w:                1400px;

  /* Transitions */
  --ease:                 cubic-bezier(0.4,0,0.2,1);
  --fast:                 180ms;
  --mid:                  300ms;
}

/* ── Resets ─────────────────────────────────────────────────── */
.se-page *,
.se-page *::before,
.se-page *::after { box-sizing: border-box; }

.se-page {
  font-family: var(--font-main);
  background: var(--color-bg);
  color: var(--color-text);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}

/* ── Typography ─────────────────────────────────────────────── */
.se-page h1,
.se-page h2,
.se-page h3,
.se-page h4 {
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.1;
  color: var(--color-text);
  margin: 0 0 1rem;
}
.se-page h1 { font-size: clamp(2.6rem,5vw,5rem); }
.se-page h2 { font-size: clamp(2rem,4vw,3.8rem); }
.se-page h3 { font-size: clamp(1.6rem,3vw,2.5rem); }
.se-page h4 { font-size: 1.4rem; font-weight: 700; }

.se-page p {
  font-size: 1.1rem;
  color: var(--color-text-muted);
  line-height: 1.75;
  margin: 0 0 1.25rem;
}

/* ── Utilities ──────────────────────────────────────────────── */
.se-container {
  width: 90%;
  max-width: var(--max-w);
  margin: 0 auto;
  padding: 0 20px;
}
.se-section { padding: var(--section) 0; }
.se-center  { text-align: center; }

/* ── Glass Card ─────────────────────────────────────────────── */
.glass-card {
  background: var(--glass);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border: 1px solid var(--glass-border);
  border-radius: var(--radius-lg);
  padding: 40px;
  box-shadow: var(--shadow-soft);
  transition: transform var(--mid) var(--ease), box-shadow var(--mid) var(--ease);
}
.glass-card:hover {
  transform: translateY(-6px);
  box-shadow: var(--shadow-hover);
}

/* ── Badges ─────────────────────────────────────────────────── */
.badge {
  display: inline-block;
  padding: 6px 18px;
  border-radius: 20px;
  font-size: 0.78rem;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 1px;
  margin-bottom: 14px;
}
.badge-pink     { background: var(--pink);     color: #D63384; }
.badge-mint     { background: var(--mint);     color: #0F5132; }
.badge-lavender { background: var(--lavender); color: #4B0082; }
.badge-peach    { background: var(--peach);    color: #8B4513; }

/* ── Buttons ────────────────────────────────────────────────── */
.se-btn {
  display: inline-block;
  padding: 15px 34px;
  border-radius: var(--radius-pill);
  font-family: var(--font-main);
  font-size: 1rem;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  border: none;
  transition: all var(--mid) var(--ease);
}
.se-btn-primary {
  background: linear-gradient(135deg,#667eea 0%,#764ba2 100%);
  color: #fff;
  box-shadow: 0 10px 24px rgba(118,75,162,0.30);
}
.se-btn-primary:hover {
  transform: scale(1.05);
  box-shadow: 0 16px 32px rgba(118,75,162,0.42);
  color: #fff;
  text-decoration: none;
}
.se-btn-outline {
  background: transparent;
  border: 2px solid var(--color-text);
  color: var(--color-text);
}
.se-btn-outline:hover {
  background: var(--color-text);
  color: #fff;
  text-decoration: none;
}
.se-btn-green {
  background: var(--accent-green);
  color: #fff;
  box-shadow: 0 8px 20px rgba(15,81,50,0.25);
}
.se-btn-green:hover { filter: brightness(1.1); transform: scale(1.03); color:#fff; text-decoration:none; }

/* ── Text gradient ──────────────────────────────────────────── */
.text-gradient {
  background: linear-gradient(135deg,#FF9A9E 0%,#FECFEF 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.highlight-text {
  background: linear-gradient(120deg,#e0c3fc 0%,#8ec5fc 100%) no-repeat;
  background-size: 100% 0.4em;
  background-position: 0 88%;
  padding: 0 4px;
}

/* ── Grids ──────────────────────────────────────────────────── */
.se-grid-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  align-items: center;
}
.se-grid-3 {
  display: grid;
  grid-template-columns: repeat(auto-fit,minmax(290px,1fr));
  gap: 28px;
}

/* ── Bg helpers ─────────────────────────────────────────────── */
.bg-pink     { background-color: var(--pink-bg); }
.bg-mint     { background-color: var(--mint-bg); }
.bg-lavender { background-color: var(--lavender-bg); }
.bg-peach    { background-color: var(--peach-bg); }
.bg-white    { background-color: #fff; }

/* ── Scroll reveal ──────────────────────────────────────────── */
.reveal {
  opacity: 0;
  transform: translateY(28px);
  transition: opacity 0.75s var(--ease), transform 0.75s var(--ease);
}
.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* ── Image helpers ──────────────────────────────────────────── */
.se-img-block {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--radius-lg);
  display: block;
}

/* ── Floating bubbles (shared) ──────────────────────────────── */
@keyframes seBubbleFloat {
  0%,100% { transform: translate(0,0); }
  50%      { transform: translate(18px,-18px); }
}

/* ── Feature list ───────────────────────────────────────────── */
.se-feature-list { list-style: none; padding: 0; margin: 0; }
.se-feature-list li {
  padding: 10px 0 10px 32px;
  position: relative;
  font-size: 1.05rem;
  color: var(--color-text-muted);
  border-bottom: 1px solid rgba(118,75,162,0.08);
}
.se-feature-list li::before {
  content: '✦';
  position: absolute;
  left: 0;
  color: var(--accent);
  font-size: 0.75rem;
  top: 14px;
}
.se-feature-list li:last-child { border-bottom: none; }

/* ── Bio / pull quote ───────────────────────────────────────── */
.se-bio-box {
  border-left: 4px solid var(--accent);
  background: rgba(255,255,255,0.55);
  border-radius: 0 var(--radius-md) var(--radius-md) 0;
  padding: 20px 24px;
  font-style: italic;
  font-size: 1.05rem;
  color: var(--color-text);
  margin: 28px 0;
}

/* ── Number steps ───────────────────────────────────────────── */
.se-steps { margin-top: 36px; }
.se-step  { display: flex; gap: 20px; margin-bottom: 28px; }
.se-step-num {
  font-size: 2rem;
  font-weight: 800;
  color: var(--accent);
  line-height: 1;
  min-width: 48px;
}
.se-step-body h4 { margin-bottom: 6px; }
.se-step-body p  { font-size: 0.98rem; margin: 0; }

/* ── Testimonial card override ──────────────────────────────── */
.se-testimonial p     { font-size: 1.05rem; }
.se-testimonial .name { font-weight: 700; margin-top: 16px; color: var(--color-text); }

/* ── Mobile ─────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .se-grid-2 { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
  .se-grid-3 { grid-template-columns: 1fr; }
  .glass-card { padding: 28px 22px; }
  .se-btn { padding: 13px 26px; font-size: 0.95rem; }
}

/* ── Kadence overrides (strip defaults from this page wrapper) ─ */
.se-page .entry-content { max-width: none; padding: 0; }
.se-page .wp-block-group { margin: 0; }
