/* Garden Base Styles */
*,*::before,*::after { box-sizing:border-box; margin:0; padding:0; }

html, body { overflow-x:clip; }

body {
  font-family: var(--fb);
  font-size: 16px;
  line-height: 1.6;
  color: var(--tx);
  background: var(--bg);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

img, svg { display:block; max-width:100%; }
a { color:var(--txl); text-decoration:none; }
a:hover { color:var(--txlh); }
ul { list-style:none; }
button { font-family:inherit; cursor:pointer; }

/* Focus visible */
:focus-visible {
  outline: 2px solid var(--bdrf);
  outline-offset: 2px;
}

/* Minimum touch target (exclude admin bar) */
.site-main a, .site-main button, .site-main input, .site-main select, .site-main textarea, .site-main [role="button"],
.sh a, .sh button, .ft a, .ft button, .mc a, .mc button {
  min-height: 44px;
}
input[type="hidden"] { min-height: 0; }

/* WP admin bar offset */
body.admin-bar .sh { top: 32px; }
@media (max-width: 782px) { body.admin-bar .sh { top: 46px; } }

@keyframes spin { to { transform:rotate(360deg); } }
@keyframes pulse { 0%,100% { opacity:1; } 50% { opacity:.4; } }

.sr-only {
  position:absolute; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

.skip-link:focus-visible {
  position: fixed;
  top: 8px; left: 8px;
  width: auto; height: auto;
  padding: 8px 16px;
  clip: auto;
  background: var(--c-p500);
  color: var(--txi);
  border-radius: var(--r-sm);
  z-index: 10000;
  font-size: 14px;
  font-weight: 600;
}
