/* Home — Playful Storybook (prototype 4). Token-only; never hard-code a hex/font. */
.pearadise-home { background: var(--pearadise-cream); overflow: hidden; }
/* wpautop (triggered when the page is edited in wp-admin) can wrap the structural
   HTML comments in empty <p> tags, adding stray gaps. All real copy is nested
   inside sections, so no legitimate <p> is ever a direct child of .pearadise-home. */
.pearadise-home > p { display: none; }

/* 1. HERO ------------------------------------------------------------------ */
.pearadise-hero { position: relative; overflow: hidden; text-align: center;
  padding: var(--pearadise-space-md) var(--pearadise-space-lg) var(--pearadise-space-xxl); }
.pearadise-blob { position: absolute; border-radius: 50%; opacity: .35; pointer-events: none; }
.pearadise-blob--1 { width: 280px; height: 280px; background: var(--pearadise-yellow); top: -100px; left: -80px; }
.pearadise-blob--2 { width: 220px; height: 220px; background: var(--pearadise-sky); bottom: -60px; right: -40px; }
.pearadise-blob--3 { width: 140px; height: 140px; background: var(--pearadise-mint); top: 40px; right: 120px; }
.pearadise-hero__content { position: relative; z-index: 2; max-width: 680px; margin: 0 auto; }
.pearadise-hero__title { font-family: var(--pearadise-font-display); font-size: var(--pearadise-fs-h1);
  line-height: 1.1; color: var(--pearadise-primary); margin: 18px 0 16px; }
.pearadise-hero__title span { color: var(--pearadise-accent); }
.pearadise-hero__lead { font-size: var(--pearadise-fs-body); color: var(--pearadise-ink); opacity: .72;
  line-height: 1.6; margin: 0 0 30px; }
.pearadise-hero__cta { display: flex; gap: var(--pearadise-space-sm); justify-content: center; flex-wrap: wrap; }

/* 2. CRITTER STRIP --------------------------------------------------------- */
.pearadise-critter-strip { display: flex; justify-content: center; gap: 22px; flex-wrap: wrap;
  position: relative; z-index: 2; max-width: var(--pearadise-max-width); margin: 0 auto;
  padding: var(--pearadise-space-sm) var(--pearadise-space-lg) var(--pearadise-space-xl); }
.pearadise-critter { background: var(--pearadise-white); border: 3px solid var(--pearadise-ink);
  border-radius: var(--pearadise-radius-lg); padding: 16px 20px; text-align: center;
  transform: rotate(var(--r, 0deg)); box-shadow: 5px 5px 0 var(--pearadise-ink); }
.pearadise-critter:nth-child(odd)  { --r: -3deg; }
.pearadise-critter:nth-child(even) { --r: 3deg; }
.pearadise-critter__emoji { font-size: 30px; }
.pearadise-critter__label { font-weight: 800; font-size: 12.5px; margin-top: 4px; }

/* 3. WAVY DIVIDER + VIBES (menu) ------------------------------------------- */
.pearadise-wavy { height: 60px; background: var(--pearadise-primary);
  clip-path: polygon(0 40%,5% 30%,10% 40%,15% 50%,20% 40%,25% 30%,30% 40%,35% 50%,40% 40%,45% 30%,50% 40%,55% 50%,60% 40%,65% 30%,70% 40%,75% 50%,80% 40%,85% 30%,90% 40%,95% 50%,100% 40%,100% 100%,0 100%); }
.pearadise-vibes { background: var(--pearadise-primary);
  padding: var(--pearadise-space-sm) var(--pearadise-space-lg) var(--pearadise-space-xl); }
.pearadise-vibes__inner { max-width: var(--pearadise-max-width); margin: 0 auto; }
.pearadise-vibes__title { font-family: var(--pearadise-font-display); font-size: var(--pearadise-fs-h2);
  color: var(--pearadise-white); text-align: center; margin: 0 0 8px; }
.pearadise-vibes__sub { text-align: center; color: var(--pearadise-primary_light);
  font-size: var(--pearadise-fs-small); margin: 0 0 36px; }
.pearadise-vibe-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; }
.pearadise-vibe-card { background: var(--pearadise-white); border-radius: var(--pearadise-radius-lg);
  padding: 26px; position: relative; }
.pearadise-vibe-card__tag { position: absolute; top: -12px; right: 18px; background: var(--pearadise-yellow);
  color: var(--pearadise-ink); font-weight: 800; font-size: 11px; padding: 5px 12px;
  border-radius: var(--pearadise-radius-pill); transform: rotate(4deg); }
.pearadise-vibe-card__emoji { font-size: 34px; }
.pearadise-vibe-card h4 { font-family: var(--pearadise-font-display); font-size: var(--pearadise-fs-h4);
  color: var(--pearadise-primary); margin: 10px 0 8px; }
.pearadise-vibe-card p { font-size: 13.5px; color: var(--pearadise-ink); opacity: .72; line-height: 1.6; margin: 0 0 14px; }
.pearadise-vibe-card__price { font-family: var(--pearadise-font-display); color: var(--pearadise-accent); font-size: 18px; }

/* 4. QUOTE ----------------------------------------------------------------- */
.pearadise-quote-section { padding: var(--pearadise-space-xl) var(--pearadise-space-lg); text-align: center;
  background: var(--pearadise-cream); }
.pearadise-quote-mark { font-family: var(--pearadise-font-display); font-size: 80px;
  color: var(--pearadise-primary_light); line-height: 0; display: block; margin-bottom: -10px; }
.pearadise-quote__text { font-family: var(--pearadise-font-display); font-size: var(--pearadise-fs-h3);
  color: var(--pearadise-ink); max-width: 640px; margin: 0 auto 18px; line-height: 1.4; }
.pearadise-quote__who { font-weight: 800; color: var(--pearadise-primary); font-size: 14px; }

/* Responsive --------------------------------------------------------------- */
@media (max-width: 860px) {
  .pearadise-vibe-grid { grid-template-columns: 1fr; }
  .pearadise-hero__title { font-size: 2.25rem; }
}
