/* ============================================================
   peq-core.css — Shared base styles for all Pay Equity pages
   Includes: reset, typography, layout, navigation, footer,
             colour utility classes, print & PDF media queries.
   ============================================================ */

/* --- Reset & Typography --- */
*{box-sizing:border-box;}
body{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;background:#f3f5f4;color:#222;margin:0;padding:0;line-height:1.6;}
.page{max-width:1200px;margin:0 auto;padding:28px 24px 80px;}
h1{font-size:26px;font-weight:900;color:#012169;margin:0 0 4px;letter-spacing:3px;line-height:1;text-transform:uppercase;}
.subtitle{font-size:10px;color:#6b7a87;margin:0 0 8px;letter-spacing:1.5px;text-transform:uppercase;}
.data-note{font-size:12px;color:#888;margin:0 0 36px;font-style:italic;}
h2.section{font-size:20px;font-weight:600;margin:48px 0 20px;color:#000;border-bottom:2px solid #e1e4e8;padding-bottom:8px;}
h2.section:first-of-type{margin-top:0;}
.section-sub{font-size:13px;font-weight:400;color:#666;}
.info-dot{cursor:help;border-bottom:1px dotted #888;position:relative;}
.info-dot:hover::after,.info-dot:focus::after{
  content:attr(data-tip);position:absolute;left:0;top:120%;z-index:100;
  background:#fff;color:#333;border:1px solid #ccc;border-radius:6px;
  padding:8px 12px;font-size:12px;font-weight:400;line-height:1.4;
  width:320px;white-space:normal;box-shadow:0 2px 8px rgba(0,0,0,.15);
  pointer-events:none;
}
.hidden{display:none !important;}

/* --- Navigation --- */
.nav{display:flex;gap:16px;padding:12px 32px;background:#fff;border-bottom:1px solid #dde3e8;align-items:center;position:sticky;top:0;z-index:200;}
.nav a{font-size:13px;color:#012169;text-decoration:none;padding:4px 10px;border:1px solid #c5cae9;border-radius:4px;background:#fff;}
.nav a:hover{background:#f0f3fc;}
.nav a.active{background:#012169;color:#fff;border-color:#012169;}
.nav-group{position:relative;display:inline-flex;align-items:center;}
.nav-group:hover .nav-sub{display:block;}
.nav-group-btn{font-size:13px;color:#012169;padding:4px 10px;border:1px solid #c5cae9;border-radius:4px;background:#fff;cursor:default;display:inline-flex;align-items:center;gap:3px;user-select:none;}
.nav-group-btn:hover,.nav-group:hover .nav-group-btn{background:#f0f3fc;}
.nav-group-btn.active{background:#012169;color:#fff;border-color:#012169;}
.nav-sub{display:none;position:absolute;top:calc(100% + 3px);left:0;background:#fff;border:1px solid #c5cae9;border-radius:4px;box-shadow:0 4px 12px rgba(0,0,0,.1);z-index:200;min-width:130px;}
.nav-sub a{display:block;padding:7px 14px;font-size:13px;color:#012169;text-decoration:none;border-bottom:1px solid #eef;background:#fff;}
.nav-sub a:last-child{border-bottom:none;}
.nav-sub a:hover{background:#f0f3fc;}
.nav-sub a.active{background:#e8edf8;font-weight:600;}

/* --- Footer --- */
.peq-footer{position:fixed;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dde3e8;padding:8px 32px;display:flex;align-items:center;gap:12px;z-index:100;box-shadow:0 -2px 8px rgba(0,0,0,.07);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;color:#888;}
.peq-footer a{color:#012169;text-decoration:none;font-weight:500;}
.peq-footer a:hover{text-decoration:underline;}
.peq-footer .footer-btn{padding:6px 16px;border-radius:4px;font-size:12px;font-family:inherit;cursor:pointer;border:1px solid #012169;background:#012169;color:#fff;font-weight:600;}
.peq-footer .footer-btn:hover{background:#002580;}
.peq-footer .footer-btn-outline{background:#fff;color:#012169;}
.peq-footer .footer-btn-outline:hover{background:#f0f3fc;}

/* --- Colour Utility Classes (gap/alert/status) --- */
.gc-alert{color:#c62828;}.gc-warn{color:#b8860b;}.gc-info{color:#012169;}.gc-good{color:#2e7d32;}.gc-neutral{color:#37474f;}

/* --- Page Header (Calculator + CountryStructure) --- */
.peq-page-hdr{background:transparent;border-bottom:none;font-family:'Segoe UI',system-ui,sans-serif;margin-bottom:0;}
.peq-hdr-inner{max-width:1000px;margin:0 auto;padding:24px 20px;display:flex;justify-content:space-between;align-items:flex-start;}
/* h1 and subtitle inherit from base h1/.subtitle — no override needed */
.peq-page-hdr p{font-size:10px;color:#6b7a87;margin:0;letter-spacing:1.5px;text-transform:uppercase;}
.peq-logo-name{font-size:26px;font-weight:900;color:#012169;letter-spacing:3px;text-align:right;line-height:1;}
.peq-logo-tag{font-size:10px;color:#888;letter-spacing:1.5px;text-transform:uppercase;margin-top:4px;text-align:right;}

/* --- Server Warning Banner --- */
.peq-server-warn{display:none;background:#fff3cd;border:1px solid #ffc107;padding:10px 20px;text-align:center;font-size:13px;color:#856404;}

/* --- Error/Diagnostic Banners (from error-banner.js) --- */
.peq-error-banner code{display:block;margin-top:4px;padding:4px 8px;background:rgba(0,0,0,.04);border-radius:3px;}
