/* TLM Kids-friendly palette & header/nav polish */
:root{
  --tlm-accent:#60a5fa;        /* sky blue */
  --tlm-accent-600:#3b82f6;    /* blue */
  --tlm-accent-2:#f59e0b;      /* sunflower */
  --tlm-accent-3:#34d399;      /* mint */
  --tlm-accent-4:#a78bfa;      /* lilac */
  --tlm-text:#0f172a;          /* slate-900 */
  --tlm-muted:#64748b;         /* slate-500 */
  --tlm-surface:#ffffff;
  --tlm-surface-80:rgba(255,255,255,.8);
  --tlm-border:#e5e7eb;        /* gray-200 */
}
@media (prefers-color-scheme: dark){
  :root{
    --tlm-accent:#22c55e;
    --tlm-accent-600:#16a34a;
    --tlm-text:#e5e7eb;
    --tlm-muted:#94a3b8;
    --tlm-surface:#0b1220;
    --tlm-surface-80:rgba(11,18,32,.75);
    --tlm-border:#1f2937;
  }
}

/* Sticky, glassy header (covers block & classic themes) */
.site-header, .wp-site-blocks header, header.wp-block-template-part{
  position: sticky; top: 0; z-index: 999;
  background: var(--tlm-surface-80);
  -webkit-backdrop-filter: saturate(180%) blur(12px);
  backdrop-filter: saturate(180%) blur(12px);
  border-bottom: 1px solid var(--tlm-border);
}

/* Base typography & links */
html,body{background:var(--tlm-surface)}
body{color:var(--tlm-text); font-feature-settings:"kern"; text-rendering:optimizeLegibility}
.entry-content p{line-height:1.85; margin-block:0.85em}
.entry-content h1,.entry-content h2,.entry-content h3{letter-spacing:.15px}
.entry-content a{color:var(--tlm-accent); text-decoration:none; background-image:linear-gradient(currentColor,currentColor); background-size:0 2px; background-position:0 100%; background-repeat:no-repeat; transition:background-size .15s ease}
.entry-content a:hover{color:var(--tlm-accent-600); background-size:100% 2px}

/* Playful buttons (pills) */
.button,.wp-block-button__link,.elementor-button{
  border-radius:9999px !important; padding:.85em 1.25em; font-weight:700;
  transition:transform .12s ease, filter .12s ease, box-shadow .12s ease;
}
.button.button-primary,.wp-block-button__link,.elementor-button--primary{
  background:var(--tlm-accent) !important; color:#fff !important;
  box-shadow:0 8px 24px rgba(59,130,246,.25);
}
.button.button-primary:hover,.wp-block-button__link:hover,.elementor-button--primary:hover{
  transform:translateY(-1px); filter:brightness(1.05);
}

/* Navigation (block & classic) */
.wp-block-navigation a, .main-navigation a{
  border-radius:12px; padding:.55em .9em; color:var(--tlm-text);
}
.wp-block-navigation a:hover, .main-navigation a:hover{
  background: color-mix(in srgb, var(--tlm-accent) 15%, transparent);
}
.wp-block-navigation .current-menu-item > a, .main-navigation .current-menu-item > a{
  background: color-mix(in srgb, var(--tlm-accent) 20%, transparent);
  box-shadow: inset 0 0 0 2px var(--tlm-accent);
}
/* Mobile nav tweaks */
@media (max-width: 782px){
  .wp-block-navigation__responsive-container-content a, .main-navigation a{padding:.7em 1em}
}

/* Smooth anchor offset under sticky header */
[id]{scroll-margin-top: 84px}

/* News cards (sp-news-and-widget) */
.wpnw-clearfix .wpnw-post{
  border:1px solid var(--tlm-border); border-radius:18px; overflow:hidden;
  box-shadow:0 10px 30px rgba(0,0,0,.07); background:var(--tlm-surface);
}
.wpnw-clearfix .wpnw-post .wpnw-post-content{padding:16px 18px}
.wpnw-clearfix .wpnw-post .wpnw-post-title a{color:var(--tlm-text); text-decoration:none}
.wpnw-clearfix .wpnw-post .wpnw-post-title a:hover{color:var(--tlm-accent)}
.wpnw-clearfix .wpnw-post .wpnw-post-date{color:var(--tlm-muted)}

/* Section spacing (Gutenberg/Elementor) */
.wp-block-group{margin-block:30px}
.elementor-section{margin-bottom:30px}

/* Tables, forms & images */
.entry-content table{border-collapse:separate; border-spacing:0; width:100%}
.entry-content th, .entry-content td{border:1px solid var(--tlm-border); padding:.65em .85em}
.entry-content thead th{background:color-mix(in srgb, var(--tlm-accent) 10%, var(--tlm-surface));}
input[type=text],input[type=email],input[type=search],textarea,select{
  border:1.5px solid var(--tlm-border); border-radius:12px; padding:.65em .85em; width:100%;
}
input:focus,textarea:focus,select:focus{outline:none; border-color:var(--tlm-accent); box-shadow:0 0 0 3px color-mix(in srgb, var(--tlm-accent) 28%, transparent)}
.entry-content img{border-radius:14px}
