/*
 * SSAT Master: shared styles (all plugin views).
 * Theme and Elementor stylesheets stay loaded, so every rule is scoped to
 * body.sm-view and every class is prefixed sm- to avoid collisions.
 */

/* Fonts: self-hosted WOFF2 (SIL OFL, see assets/fonts). */
@font-face{
  font-family:"Gloock";
  src:url("../fonts/gloock-latin.woff2") format("woff2");
  font-weight:400; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"Instrument Sans";
  src:url("../fonts/instrument-sans-var-latin.woff2") format("woff2");
  font-weight:400 700; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}
@font-face{
  font-family:"IBM Plex Mono";
  src:url("../fonts/ibm-plex-mono-600-latin.woff2") format("woff2");
  font-weight:600; font-style:normal; font-display:swap;
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

:root{
  --paper:#F5F6F2; --paper-2:#E8ECE3; --ink:#14251F; --muted:#4D5E56; --line:rgba(20,37,31,.14);
  --green:#173D31; --green-2:#1F4D3F; --on-green:#F1F4EC; --on-green-muted:#B9C9BF; --green-line:rgba(241,244,236,.15);
  --brass:#C99A2E; --accent-text:#7E5C0F; --on-brass:#14251F;
  --tile:#1C2220; --tile-2:#262E2B; --tile-ink:#F4ECD2;
  --serif:"Gloock", "Iowan Old Style", Georgia, serif;
  --sans:"Instrument Sans", "Segoe UI", system-ui, sans-serif;
  --mono:"IBM Plex Mono", ui-monospace, Menlo, monospace;
  --wrap:min(1180px, 100% - 2.5rem);
  --nav-h:68px;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --paper:#0F1916; --paper-2:#16231F; --ink:#ECEFE8; --muted:#A5B4AB; --line:rgba(236,239,232,.14);
    --green:#163A2F; --green-2:#1D4A3C; --accent-text:#E0B652; --brass:#D6A93F;
  }
}
:root[data-theme="dark"]{
  --paper:#0F1916; --paper-2:#16231F; --ink:#ECEFE8; --muted:#A5B4AB; --line:rgba(236,239,232,.14);
  --green:#163A2F; --green-2:#1D4A3C; --accent-text:#E0B652; --brass:#D6A93F;
}

/* Defensive reset against retained theme/Elementor CSS. */
html{scroll-behavior:smooth;scroll-padding-top:calc(env(safe-area-inset-top,0px) + 84px)}
body.sm-view{margin:0;padding:0 0 env(safe-area-inset-bottom,0px);background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:1.0625rem;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}
.sm-view,.sm-view *,.sm-view *::before,.sm-view *::after{box-sizing:border-box}
.sm-view :is(h1,h2,h3,h4,h5,h6){padding:0;color:inherit;text-transform:none}
.sm-view p{padding:0}
.sm-view a{color:inherit}
.sm-view img{max-width:100%;height:auto}
.sm-view :is(input,textarea,button,select){font:inherit}
.sm-view :focus-visible{outline:3px solid var(--brass);outline-offset:3px;border-radius:4px}
.sm-wrap{width:var(--wrap);margin-inline:auto}
.sm-view .sr-only,.sm-view .screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Buttons */
.sm-view .sm-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--sans);font-weight:600;font-size:1rem;line-height:1.2;text-align:center;
  padding:.85rem 1.4rem;border-radius:10px;text-decoration:none;border:1.5px solid transparent;cursor:pointer;transition:transform .15s ease,background .15s ease}
.sm-view .sm-btn:hover{transform:translateY(-2px)}
.sm-view .sm-btn-brass{background:var(--brass);color:var(--on-brass)}
.sm-view .sm-btn-line{border-color:currentColor;background:transparent;color:inherit}

/* Nav */
.sm-nav{position:fixed;top:0;left:0;right:0;z-index:20;padding-top:env(safe-area-inset-top,0px);
  background:color-mix(in srgb,var(--green) 94%,transparent);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);color:var(--on-green);
  border-bottom:1px solid rgba(241,244,236,.12)}
.sm-nav .sm-wrap{display:flex;align-items:center;justify-content:space-between;height:var(--nav-h);gap:1rem}
.sm-view .sm-brand{font-family:var(--serif);font-weight:400;font-size:clamp(1.25rem,5vw,1.5rem);line-height:1;text-decoration:none;letter-spacing:-.01em;white-space:nowrap;color:inherit}
.sm-nav ul{display:flex;gap:1.6rem;list-style:none;margin:0;padding:0;font-size:.97rem;line-height:1.4}
.sm-nav li{margin:0;padding:0}
.sm-view .sm-nav ul a{text-decoration:none;color:var(--on-green-muted)}
.sm-view .sm-nav ul a:hover{color:var(--on-green)}
.sm-view .sm-nav .sm-btn{padding:.6rem 1rem;font-size:.95rem;white-space:nowrap}
@media (max-width:900px){.sm-nav ul{display:none}}
@media (max-width:380px){.sm-view .sm-nav .sm-btn{padding:.55rem .75rem;font-size:.88rem}}
.admin-bar .sm-nav{top:32px}
@media (max-width:782px){.admin-bar .sm-nav{top:46px}}

/* Footer */
.sm-footer{padding:3.5rem 0 2.5rem;color:var(--muted);font-size:.95rem}
.sm-footer .sm-wrap{display:grid;grid-template-columns:1.5fr 1fr 1fr;gap:2rem}
.sm-view .sm-footer .sm-brand{color:var(--ink);display:inline-block;margin-bottom:.75rem}
.sm-view .sm-footer p{margin:0;max-width:22rem}
.sm-view .sm-footer h2{font-family:var(--sans);font-weight:600;font-size:.95rem;color:var(--ink);margin:0 0 .6rem;letter-spacing:0}
.sm-footer ul{list-style:none;margin:0;padding:0}
.sm-footer li{padding:.2rem 0;margin:0}
.sm-view .sm-footer a{text-decoration:none;color:var(--muted)}
.sm-view .sm-footer a:hover{color:var(--ink)}
.sm-view .sm-footer .sm-legal{grid-column:1/-1;border-top:1px solid var(--line);padding-top:1.5rem;margin-top:1rem;max-width:none}
@media (max-width:700px){.sm-footer .sm-wrap{grid-template-columns:1fr}}

@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  .sm-view .sm-btn{transition:none}
  .sm-view .sm-btn:hover{transform:none}
}
