:root{
  --max:1120px; --gap:1rem; --gap-lg:2rem;
  --bg:#fff; --text:#1a1a1a; --muted:#6b7280;
  --brand:#0ea5e9; --brand-contrast:#fff; --card:#f8fafc; --border:#e5e7eb;
  --radius:14px;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font:16px/1.6 system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial,sans-serif;
  color:var(--text); background:var(--bg);
  -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale;
}
img,video{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
.container{max-width:var(--max);margin-inline:auto;padding:0 var(--gap);}
.section{padding:clamp(2rem,4vw,4rem) 0}
h1,h2,h3{line-height:1.2;margin:0 0 .5em}
p{margin:0 0 1em}
small,.muted{color:var(--muted)}

/* Cards & grids for Gutenberg blocks */
.grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(240px,1fr));
  gap:var(--gap-lg);
  align-items:stretch;
}
.card{
  background:var(--card); border:1px solid var(--border);
  border-radius:var(--radius); padding:1.25rem;
  display:flex; flex-direction:column; gap:.5rem;
}

/* Buttons */
.btn, .button{
  display:inline-flex;align-items:center;justify-content:center;
  padding:.75rem 1rem;border-radius:12px;border:1px solid var(--border);
}
.btn--primary{background:var(--brand);color:var(--brand-contrast);border-color:transparent}

/* Forms */
form{display:grid;gap:.75rem}
input, textarea, select{
  width:100%; padding:.75rem;border:1px solid var(--border);border-radius:10px;background:#fff;
}
input[type="submit"], button[type="submit"]{cursor:pointer}

/* Navigation (Gutenberg Navigation Block tweaks) */
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close{
  padding:.5rem 0.75rem;
}
/* Fix overlay menu readability */
.wp-block-navigation__responsive-container.is-menu-open{
  backdrop-filter: blur(2px);
}

/* Gutenberg/Block helpers */
.wp-block-image img{height:auto}
.wp-block-columns{gap:var(--gap)}
@media (max-width: 781px){
  .wp-block-columns{display:block}
  .wp-block-column{margin-bottom:var(--gap)}
}

/* Simple utility helpers */
.stack{display:grid;gap:var(--gap)}
.center{text-align:center}
