/* IRSAF site shell: one set of brand tokens, type scale, content width, buttons and links for every public page.
   public-shell.mjs loads it after each page's own styles, so these rules win over the template's at equal specificity.
   The homepage is the reference design and keeps its own stylesheet. Change the brand here, not in the templates. */
:root{
  --irsaf-green:#08785f;--irsaf-deep:#04533f;--irsaf-gold:#c99e3f;--irsaf-ink:#18202d;--irsaf-muted:#667078;--irsaf-line:#e4e1e8;
  --irsaf-bg:#f6f4f7;--irsaf-card:#fff;--irsaf-width:min(1460px,94vw);--irsaf-radius-btn:10px;--irsaf-radius-card:14px;
  --irsaf-font:Vazirmatn,Tahoma,sans-serif;--irsaf-h1:clamp(28px,3.2vw,44px);--irsaf-h2:clamp(21px,2vw,28px);
  /* The templates' own token names follow the brand. */
  --green:var(--irsaf-green);--g:var(--irsaf-green);--gd:var(--irsaf-deep);--deep:var(--irsaf-deep);--gold:var(--irsaf-gold);
  --ink:var(--irsaf-ink);--muted:var(--irsaf-muted);--bg:var(--irsaf-bg);--paper:var(--irsaf-bg);--card:var(--irsaf-card);
  --public-green:var(--irsaf-green);--public-deep:var(--irsaf-deep);--public-gold:var(--irsaf-gold);--public-ink:var(--irsaf-ink);--public-muted:var(--irsaf-muted);--public-line:var(--irsaf-line)
}
/* One typeface and body size everywhere, form controls included (browsers give them their own font). */
body{font-family:var(--irsaf-font);font-size:16px;color:var(--irsaf-ink);background:var(--irsaf-bg)}
body:has(>.public-header){font-family:var(--irsaf-font);font-size:16px}
button,input,select,textarea,optgroup{font-family:inherit}
/* Page titles on one scale (the templates set their own on .hero h1 and friends; the shell decides). */
h1{font-size:var(--irsaf-h1)!important;line-height:1.3!important;letter-spacing:0}
/* Content lines up with the header and footer. */
body>.wrap,body>main.wrap,body>main>.wrap,body>.shell,body>main>.shell,body>section>.shell,body>main:not([class]){box-sizing:border-box;width:var(--irsaf-width);max-width:none;margin-inline:auto;padding-inline:0}
.public-nav,.public-footer-inner{width:var(--irsaf-width)}
/* Links without a style of their own take the brand green (zero specificity: a template's own link styles still win). */
:where(a:not([class])){color:var(--irsaf-green)}
:where(a:not([class])):hover{color:var(--irsaf-deep)}
/* Buttons: primary is filled green, secondary is a green outline; same corner, height and weight on every page.
   .irsaf-btn / .irsaf-btn--secondary are for new markup; .btn, .button and .primary are the classes the templates use.
   A gold button stays only on dark green bands (economic and service heroes), where green would not show. */
.irsaf-btn,.btn,.button,a.primary,button.primary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border-radius:var(--irsaf-radius-btn);border:1px solid var(--irsaf-green);background:var(--irsaf-green);color:#fff;font-family:var(--irsaf-font);font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;box-shadow:none}
.irsaf-btn:hover,.btn:hover,.button:hover,a.primary:hover,button.primary:hover{background:var(--irsaf-deep);border-color:var(--irsaf-deep);color:#fff}
.irsaf-btn--secondary,.btn.ghost,.btn.secondary,.button.ghost,.button.secondary{background:#fff;color:var(--irsaf-green);border-color:var(--irsaf-green)}
.irsaf-btn--secondary:hover,.btn.ghost:hover,.btn.secondary:hover,.button.ghost:hover,.button.secondary:hover{background:#f0f7f4;color:var(--irsaf-deep);border-color:var(--irsaf-deep)}
.btn.gold,.hero .btn,.hero .button{background:var(--irsaf-gold);border-color:var(--irsaf-gold);color:#1c1405}
.btn.gold:hover,.hero .btn:hover,.hero .button:hover{background:#b48a30;border-color:#b48a30;color:#1c1405}
.hero .btn.ghost,.hero .button.ghost,.hero .btn.secondary{background:transparent;color:#fff;border-color:#ffffff99}
:focus-visible{outline:3px solid #c99e3f99;outline-offset:2px}
/* The shared header and footer (public-shell.js) replace each template's own; hide those from the first paint so they never flash. */
body>header:not(.public-header),body>footer:not(.public-footer),body>.footer,body>.shell>header.top,body>.shell>footer.footer,body>.search-chrome{display:none!important}
