/*
Theme Name: WILDSTARZ
Theme URI: https://wildstarz.co.uk
Author: Jan
Author URI: https://wildstarz.co.uk
Description: Custom theme for WILDSTARZ, a children's character brand for ages 3-6. Bright, playful, mobile-first design built around a growing universe of animal characters, videos, games, printables and personalised products.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: wildstarz
*/

/* ==========================================================================
   1. DESIGN TOKENS
   ========================================================================== */
:root{
  /* Brand palette - bright, friendly, high contrast for young eyes */
  --ws-sunshine:   #FFC93C;
  --ws-coral:      #FF6B6B;
  --ws-sky:        #4ECDC4;
  --ws-grass:      #6BCB77;
  --ws-berry:      #A66CFF;
  --ws-ink:        #2E2A4A;      /* body text - soft near-black, not harsh */
  --ws-cream:      #FFF9EE;      /* page background */
  --ws-white:      #FFFFFF;

  --ws-font-heading: 'Baloo 2', 'Comic Sans MS', cursive, sans-serif;
  --ws-font-body:    'Quicksand', 'Trebuchet MS', sans-serif;

  --ws-radius-lg: 32px;
  --ws-radius-md: 20px;
  --ws-radius-sm: 12px;

  --ws-shadow: 0 8px 0 rgba(46,42,74,0.12);
  --ws-shadow-hover: 0 4px 0 rgba(46,42,74,0.12);

  --ws-max-width: 1180px;
}

/* ==========================================================================
   2. RESET / BASE
   ========================================================================== */
*, *::before, *::after{ box-sizing: border-box; }

body{
  margin:0;
  background: var(--ws-cream);
  color: var(--ws-ink);
  font-family: var(--ws-font-body);
  font-size: 18px;
  line-height: 1.6;
}

h1,h2,h3,h4{
  font-family: var(--ws-font-heading);
  line-height: 1.2;
  margin: 0 0 0.5em;
}

h1{ font-size: clamp(2.2rem, 5vw, 3.4rem); }
h2{ font-size: clamp(1.8rem, 4vw, 2.6rem); }
h3{ font-size: 1.4rem; }

img{ max-width:100%; height:auto; display:block; }

a{ color: var(--ws-berry); }

.ws-container{
  max-width: var(--ws-max-width);
  margin: 0 auto;
  padding: 0 24px;
}

/* ==========================================================================
   3. BUTTONS
   ========================================================================== */
.ws-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-family: var(--ws-font-heading);
  font-size: 1.1rem;
  padding: 14px 28px;
  border-radius: 999px;
  border: none;
  cursor:pointer;
  text-decoration:none;
  color: var(--ws-ink);
  background: var(--ws-sunshine);
  box-shadow: var(--ws-shadow);
  transition: transform .12s ease, box-shadow .12s ease;
}
.ws-btn:hover{
  transform: translateY(4px);
  box-shadow: var(--ws-shadow-hover);
  color: var(--ws-ink);
}
.ws-btn--coral{ background: var(--ws-coral); color:var(--ws-white); }
.ws-btn--sky{ background: var(--ws-sky); color:var(--ws-white); }
.ws-btn--grass{ background: var(--ws-grass); color:var(--ws-white); }
.ws-btn--berry{ background: var(--ws-berry); color:var(--ws-white); }

/* ==========================================================================
   4. HEADER
   ========================================================================== */
.ws-site-header{
  background: var(--ws-white);
  border-bottom: 4px solid var(--ws-sunshine);
  position: sticky;
  top:0;
  z-index: 100;
}
.ws-site-header__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding: 14px 24px;
}
.ws-logo img{ max-height:56px; }
.ws-logo{ font-family: var(--ws-font-heading); font-size:1.6rem; color: var(--ws-berry); text-decoration:none; }

.ws-nav ul{
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap: 6px;
  margin:0;
  padding:0;
}
.ws-nav a{
  display:block;
  font-family: var(--ws-font-heading);
  padding: 10px 16px;
  border-radius: 999px;
  text-decoration:none;
  color: var(--ws-ink);
}
.ws-nav a:hover{ background: var(--ws-cream); }

.ws-nav-toggle{ display:none; }

@media (max-width: 860px){
  .ws-nav-toggle{
    display:inline-flex;
    background:none;
    border:none;
    font-size:1.8rem;
    cursor:pointer;
  }
  .ws-nav{
    display:none;
    width:100%;
    order: 3;
  }
  .ws-nav.is-open{ display:block; }
  .ws-nav ul{ flex-direction:column; }
  .ws-site-header__inner{ flex-wrap:wrap; }
}

/* ==========================================================================
   5. HERO (front page)
   ========================================================================== */
.ws-hero{
  background: linear-gradient(180deg, #FFF3D6 0%, var(--ws-cream) 100%);
  padding: 60px 0 80px;
  text-align:center;
  overflow:hidden;
  position:relative;
}
.ws-hero h1{ color: var(--ws-berry); }
.ws-hero__sub{ max-width: 640px; margin: 0 auto 32px; font-size:1.2rem; }
.ws-hero__buttons{
  display:flex;
  flex-wrap:wrap;
  gap:16px;
  justify-content:center;
}

/* ==========================================================================
   6. SECTIONS / CARDS
   ========================================================================== */
.ws-section{ padding: 64px 0; }
.ws-section--alt{ background: var(--ws-white); }
.ws-section__title{ text-align:center; color: var(--ws-berry); }
.ws-section__intro{ text-align:center; max-width:600px; margin:0 auto 40px; }

.ws-grid{
  display:grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 28px;
}

.ws-card{
  background: var(--ws-white);
  border-radius: var(--ws-radius-md);
  box-shadow: var(--ws-shadow);
  overflow:hidden;
  text-align:center;
  text-decoration:none;
  color: var(--ws-ink);
  display:block;
  transition: transform .15s ease;
}
.ws-card:hover{ transform: translateY(-4px); color:var(--ws-ink); }
.ws-card__image{ aspect-ratio: 1/1; object-fit:cover; width:100%; background:var(--ws-sky); }
.ws-card__body{ padding: 18px; }
.ws-card__title{ font-family: var(--ws-font-heading); font-size:1.3rem; margin:0 0 4px; color: var(--ws-coral); }

/* ==========================================================================
   7. FOOTER
   ========================================================================== */
.ws-site-footer{
  background: var(--ws-berry);
  color: var(--ws-white);
  padding: 48px 0 24px;
  margin-top: 40px;
  border-radius: var(--ws-radius-lg) var(--ws-radius-lg) 0 0;
}
.ws-site-footer a{ color: var(--ws-white); }
.ws-footer__grid{
  display:grid;
  grid-template-columns: repeat(auto-fit, minmax(180px,1fr));
  gap: 24px;
  margin-bottom: 32px;
}
.ws-footer__bottom{
  text-align:center;
  font-size:0.9rem;
  opacity:0.85;
  border-top: 1px solid rgba(255,255,255,0.25);
  padding-top:16px;
}

/* ==========================================================================
   8. FORMS (newsletter / gated downloads)
   ========================================================================== */
.ws-form input[type="email"],
.ws-form input[type="text"]{
  padding: 12px 16px;
  border-radius: 999px;
  border: 2px solid var(--ws-sunshine);
  font-family: var(--ws-font-body);
  font-size: 1rem;
}

/* ==========================================================================
   9. UTILITIES
   ========================================================================== */
.ws-text-center{ text-align:center; }
.ws-mt-0{ margin-top:0; }
