/* ==========================================================================
   v89.56 fix 64 - AMS visual refresh ("Theme A": navy and gold).
   Loaded by includes/header.php AFTER style.css on every AMS page except a
   venue's own public microsite (route.php sets $siteHeaderConf there, and a
   venue keeps the look its chair designed). Colours, type and surfaces only:
   no markup, layout, text or position changes - delete this file (or the one
   <link> in header.php) and every page is exactly as it was before fix 64.
   Homepage-only rules are scoped under body.page-home (index.php sets it).
   Fonts: Inter Display, self-hosted Latin subsets in assets/fonts (SIL OFL 1.1,
   see assets/fonts/OFL.txt); no third-party font request is added.
   ========================================================================== */
@font-face{ font-family:'Inter Display'; font-style:normal; font-weight:500; font-display:swap; src:url('../fonts/InterDisplay-Medium.woff2') format('woff2'); }
@font-face{ font-family:'Inter Display'; font-style:normal; font-weight:600; font-display:swap; src:url('../fonts/InterDisplay-SemiBold.woff2') format('woff2'); }
@font-face{ font-family:'Inter Display'; font-style:normal; font-weight:700; font-display:swap; src:url('../fonts/InterDisplay-Bold.woff2') format('woff2'); }
@font-face{ font-family:'Inter Display'; font-style:normal; font-weight:800; font-display:swap; src:url('../fonts/InterDisplay-ExtraBold.woff2') format('woff2'); }
/* AMS visual refresh - colours, type, surfaces only. Same markup, same layout, same content. */
:root{
  --ink:#0F1E33; --ink-soft:#33445A; --navy:#0B2A4A; --navy-deep:#071326;
  --paper-bg:#F3F6FA; --border:#E1E8F0; --border-soft:#EDF2F7;
  --brand:#0B6BAB; --brand-dark:#095A90; --brand-soft:#EAF3FB;
  --gold-soft:#EAF3FB; --accent:#E0A83A; --accent-dark:#C99325; --accent-soft:#FFF6E4;
  --muted:#5B6B7F; --radius:10px;
  --shadow-card:0 1px 2px rgba(11,42,74,.04), 0 8px 24px rgba(11,42,74,.05);
  --shadow-hover:0 10px 30px rgba(11,42,74,.12);
}
body{ background:var(--paper-bg); background-image:none; color:#1E293B; }
h1,h2,h3,h4,.section-title{ font-family:'Inter Display','Inter',-apple-system,Segoe UI,Roboto,Arial,sans-serif; color:var(--navy); }
.section-title{ font-weight:800; letter-spacing:-.4px; }
h1.section-title, .page-wrap > .section-title:first-child{ font-size:1.9rem; }
.eyebrow{ color:var(--brand); letter-spacing:1.6px; font-weight:800; }
a{ color:var(--brand); }
/* chrome: one navy family top to bottom, gold as the accent line */
.topbar-utility{ background:var(--navy-deep); color:#9FB8D3; border-bottom:1px solid rgba(255,255,255,.06); }
.topbar-utility a{ color:#C3D5EA; }
.topbar-utility .role-pill{ border-color:rgba(224,168,58,.55); background:rgba(224,168,58,.12); color:#fff; }
.topbar{ background:
   linear-gradient(90deg, var(--accent), rgba(224,168,58,.35) 60%, rgba(224,168,58,0)) bottom left/100% 2px no-repeat,
   radial-gradient(700px 160px at 75% 0%, rgba(30,139,214,.35), transparent 70%),
   linear-gradient(90deg, #0B2A4A 0%, #0C3563 48%, #0B2A4A 100%);
   box-shadow:0 6px 18px rgba(7,19,38,.18);
   background-origin:border-box; /* fix 67: the gold line sits on the bottom edge (the bar's 3px border is transparent), as on the Library */ }
.topbar .brand .brand-sep{ background:var(--accent); opacity:.9; }
.topbar nav a{ color:rgba(255,255,255,.80); }
.topbar nav a:hover, .topbar nav a.active{ color:#fff; border-bottom-color:var(--accent); }
.topbar nav a.nav-cta{ background:rgba(255,255,255,.12) !important; border:1px solid rgba(255,255,255,.22) !important; border-radius:9px; color:#fff; }
.topbar .role-pill, .topbar nav .dropdown-toggle.active{ border-bottom-color:var(--accent) !important; }
/* surfaces */
.card{ border:1px solid var(--border); border-radius:14px; box-shadow:var(--shadow-card); }
.card-header{ border-bottom-color:var(--border-soft); color:var(--navy); }
.icon-tile, .ws-glyph{ background:var(--brand-soft); color:var(--brand); border-radius:10px; }
.paper-code{ background:var(--brand-soft); border-color:#D4E6F6; color:var(--brand-dark); }
.muted{ color:var(--muted); }
/* buttons: solid blue for the main action, calm navy outline for the rest, gold reserved for invitations to join/pay */
.btn{ border-radius:10px; font-weight:700; letter-spacing:.1px; }
.btn-gold, .btn-primary{ background:var(--brand); border-color:var(--brand); color:#fff; box-shadow:0 1px 2px rgba(11,42,74,.15); }
.btn-gold:hover, .btn-primary:hover{ background:var(--brand-dark); border-color:var(--brand-dark); box-shadow:0 8px 20px rgba(11,107,171,.25); }
.btn-outline-ink{ color:var(--navy); border:1px solid #CBD8E6; background:#fff; }
.btn-outline-ink:hover{ background:var(--navy); border-color:var(--navy); color:#fff; }
.badge.bg-secondary{ background:#EEF2F7 !important; color:#475569; border:1px solid #E1E8F0; }
/* the Federation invitation becomes a navy band with a gold button */
.card[style*="gold-soft"]{ background:radial-gradient(500px 160px at 90% 0%, rgba(30,139,214,.45), transparent 60%), linear-gradient(160deg,#0B2A4A,#0A1D38) !important; border:0; color:#fff; }
.card[style*="gold-soft"] strong{ color:#fff; font-size:1.02rem; }
.card[style*="gold-soft"] .muted{ color:#BFD3E8 !important; }
.card[style*="gold-soft"] .btn-gold{ background:var(--accent); border-color:var(--accent); color:#1A1300; }
.card[style*="gold-soft"] .btn-gold:hover{ background:#EDB94F; border-color:#EDB94F; color:#1A1300; }
.card[style*="gold-soft"] :is(label,.form-label,h1,h2,h3,h4,h5,h6,b,.fw-bold,.fw-semibold){ color:#fff !important; } /* v89.56 fix 71: labels and headings readable on the dark card */
.card[style*="gold-soft"] :is(.form-text,.text-muted,small){ color:#BFD3E8 !important; }
.card[style*="gold-soft"] a:not(.btn){ color:#9FD3FF; }
/* workspaces */
.ws-group-title{ color:#64748B; letter-spacing:.12em; font-weight:800; }
.ws-group-count{ background:var(--brand-soft); color:var(--brand); }
.ws-card{ border-radius:14px; border-color:var(--border); padding:1.05rem 1.1rem 1.1rem; }
.ws-card:hover{ border-color:#9CC6E8; }
.ws-role{ color:#475569; letter-spacing:.06em; }
.ws-type-chip{ border-color:#D4E6F6; color:var(--brand); background:var(--brand-soft); }
.ws-venue{ color:var(--navy); font-size:1.02rem; }
/* footer: navy with a gold line */
footer.app-footer{ background:linear-gradient(180deg,#0A1F3B 0%, var(--navy-deep) 100%); border-top:3px solid var(--accent); }
.footer-links a{ color:#9FB2C8; }
.footer-links a:hover{ color:#fff; }
footer.app-footer .btn-gold{ background:var(--accent); border-color:var(--accent); color:#1A1300; }
.scroll-nav-btn{ background:var(--navy); }

/* ---- Theme A: app-wide additions (forms, tables, tabs, alerts, headings inside cards, page heroes) ---- */
.card h2,.card h3,.card h4,.card h5,.card-title,.card > .fw-bold:first-child{ font-family:'Inter Display','Inter',sans-serif; color:var(--navy); }
.card h3,.card h4,.card h5{ font-weight:700; letter-spacing:-.2px; }
.page-wrap > h1, .page-wrap h1.h3, .page-wrap h1.h4, #main-content > h1{ font-weight:800; letter-spacing:-.5px; }
/* forms */
.form-control,.form-select{ border-radius:10px; border-color:#D3DEEA; background-color:#fff; }
.form-control:focus,.form-select:focus{ border-color:var(--brand); box-shadow:0 0 0 3px rgba(11,107,171,.14); }
.form-control[readonly],.form-control:disabled{ background:#F1F5F9; }
.form-label{ color:var(--navy); }
.form-text{ color:var(--muted); }
.form-check-input:checked{ background-color:var(--brand); border-color:var(--brand); }
.input-group > .btn{ border-radius:0 10px 10px 0; }
fieldset legend{ font-family:'Inter Display','Inter',sans-serif; color:var(--navy); font-weight:700; }
/* tables */
.table{ --bs-table-hover-bg:#F5F9FD; color:#1E293B; }
.table > thead th, table thead th{ background:#F6F9FC; color:#5B6B7F; font-size:.72rem; text-transform:uppercase; letter-spacing:.07em; font-weight:700; border-bottom:1px solid var(--border) !important; }
.table > :not(caption) > * > *{ border-bottom-color:var(--border-soft); }
.table-responsive, .card > .table, .card .table-responsive{ border-radius:14px; }
/* tabs and pills */
.nav-tabs{ border-bottom-color:var(--border); }
.nav-tabs .nav-link{ color:#5B6B7F; font-weight:600; border:0; border-bottom:2px solid transparent; }
.nav-tabs .nav-link:hover{ color:var(--navy); }
.nav-tabs .nav-link.active{ color:var(--navy); background:transparent; border-bottom:2px solid var(--accent); }
.nav-pills .nav-link{ color:#475569; font-weight:600; border-radius:9px; }
.nav-pills .nav-link.active{ background:var(--navy); color:#fff; }
.pagination .page-link{ color:var(--navy); border-color:var(--border); }
.pagination .page-item.active .page-link{ background:var(--navy); border-color:var(--navy); }
/* alerts and badges */
.alert{ border-radius:12px; border-width:1px; }
.alert-info{ background:#EEF6FC; border-color:#CFE3F4; color:#0B3D63; }
.alert-success{ background:#ECF8F2; border-color:#C8E9D7; color:#14532D; }
.alert-warning{ background:#FFF8EA; border-color:#F1D59C; color:#7A4A00; }
.alert-danger{ background:#FDF0F0; border-color:#F3CACA; color:#8A1C1C; }
.badge{ border-radius:999px; font-weight:700; letter-spacing:.02em; }
.badge.bg-success{ background:#E7F7EF !important; color:#17784F; }
.badge.bg-warning{ background:#FFF4DE !important; color:#8A5A07 !important; }
.badge.bg-danger{ background:#FDECEC !important; color:#B42318; }
.badge.bg-info{ background:var(--brand-soft) !important; color:var(--brand) !important; }
.badge.bg-primary{ background:var(--brand) !important; }
.btn-outline-danger{ border-radius:10px; }
.btn-success{ border-radius:10px; }
/* stat tiles / pipeline numbers */
.stat-num{ font-family:'Inter Display','Inter',sans-serif; color:var(--navy); font-weight:800; letter-spacing:-.5px; }
.stat-label{ color:#64748B; letter-spacing:.08em; }
/* dropdowns */
.dropdown-menu{ border:1px solid var(--border); border-radius:12px; box-shadow:0 18px 40px rgba(11,42,74,.14); padding:.4rem; }
.dropdown-item{ border-radius:8px; }
.dropdown-item:hover{ background:var(--brand-soft); color:var(--navy); }
/* back links and breadcrumbs */
a[href*="dashboard"] > svg + *, .back-link{ color:var(--brand); }
/* full-bleed page heroes (Pricing, Preprints, About, Digital Library) use the new banner art */
.page-hero{ background-image:url('../img/hero-bg-v2.svg') !important; border-bottom:1px solid rgba(224,168,58,.35); }
.page-hero{ --hero-accent:#F2C46B; }
.page-hero h1{ font-family:'Inter Display','Inter',sans-serif; font-weight:800; letter-spacing:-1px; color:#fff; }
.hero-fullbleed{ background-image:url('../img/hero-bg-v2.svg') !important; }
/* sign-in pages */
.auth-submit{ background:var(--brand); border-radius:11px; }
.auth-col h1{ font-family:'Inter Display','Inter',sans-serif; color:var(--navy); }

/* homepage only (body.page-home) */
.page-home .hero-fullbleed{ background-image:url('../img/hero-bg-v2.svg') !important; padding:3.9rem 1.5rem 4.1rem !important; border-bottom:1px solid rgba(224,168,58,.35); }
.page-home .hero-fullbleed > div{ max-width:800px !important; }
.page-home .hero-fullbleed > div > div:first-child{ display:inline-block; color:#F2C46B !important; text-shadow:none !important; letter-spacing:.16em !important; font-size:.74rem !important; border:1px solid rgba(242,196,107,.40); background:rgba(242,196,107,.08); border-radius:999px; padding:.42rem 1rem; margin-bottom:1.25rem !important; }
.page-home .hero-fullbleed h1{ font-family:'Inter Display','Inter',sans-serif; font-size:3.1rem !important; font-weight:800 !important; letter-spacing:-1.4px; line-height:1.07; text-shadow:none !important; }
.page-home .hero-fullbleed p{ color:#C3D5EA !important; font-size:1.1rem !important; line-height:1.65; text-shadow:none !important; margin:1.25rem auto 2rem !important; max-width:720px; }
.page-home .hero-fullbleed .btn{ padding:.8rem 1.45rem; border-radius:11px; font-weight:700; font-size:.98rem; }
.page-home .hero-fullbleed .btn-light{ background:#E0A83A; border-color:#E0A83A; color:#1A1300; box-shadow:0 10px 26px rgba(224,168,58,.30); }
.page-home .hero-fullbleed .btn-light:hover{ background:#EDB94F; border-color:#EDB94F; }
.page-home .hero-fullbleed .btn-outline-light{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.32); color:#fff; }
.page-home .hero-fullbleed .btn-outline-light:hover{ background:#fff; color:#0B2A4A; }
.page-home .hero-fullbleed + .row{ margin-top:3.25rem; }
.page-home .section-title{ font-size:1.85rem; letter-spacing:-.6px; line-height:1.15; }
.page-home .row.g-4.align-items-center.mb-5 > .col-md-6:first-child p.muted{ color:#475569; line-height:1.75; }
.page-home .row.g-4.align-items-center.mb-5 > .col-md-6:last-child{ position:relative; z-index:0; padding-top:1.9rem; padding-bottom:.9rem; padding-left:calc(var(--bs-gutter-x)*.5 + 2rem); padding-right:calc(var(--bs-gutter-x)*.5 + 2rem); }
.page-home .row.g-4.align-items-center.mb-5 > .col-md-6:last-child::before{ content:""; position:absolute; z-index:-1; top:0; bottom:0; left:calc(var(--bs-gutter-x)*.5); right:calc(var(--bs-gutter-x)*.5); background:#fff; border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow-card); }
.page-home .d-flex.mb-3 > span.me-2{ width:30px; height:30px; flex:none; border-radius:9px; display:grid; place-items:center; background:var(--accent-soft); color:#B7801C !important; margin-right:.85rem !important; }
.page-home .d-flex.mb-3 > span.me-2 svg{ width:16px; height:16px; }
.page-home .d-flex.mb-3 > div > div:first-child{ color:var(--navy) !important; font-weight:700 !important; }
.page-home .row.g-4.mb-5.text-center > [class*=col-]{ position:relative; z-index:0; padding-top:1.7rem; padding-bottom:.8rem; padding-left:calc(var(--bs-gutter-x)*.5 + 1.1rem); padding-right:calc(var(--bs-gutter-x)*.5 + 1.1rem); }
.page-home .row.g-4.mb-5.text-center > [class*=col-]::before{ content:""; position:absolute; z-index:-1; top:0; bottom:0; left:calc(var(--bs-gutter-x)*.5); right:calc(var(--bs-gutter-x)*.5); background:#fff; border:1px solid var(--border); border-radius:18px; box-shadow:var(--shadow-card); }
.page-home .row.g-4.mb-5.text-center .icon-tile{ width:48px; height:48px; border-radius:14px; background:var(--ams-tile); box-shadow:0 4px 10px rgba(12,53,99,.22); color:#F2C46B; margin-bottom:.9rem !important; }
.page-home .row.g-4.mb-5.text-center .fw-bold{ color:var(--navy) !important; font-size:1.05rem; }
.page-home .tfl-showcase-full{ background:linear-gradient(180deg,#FFFFFF 0%,#F6F9FD 100%); border:1px solid var(--border); border-radius:24px; padding:2.5rem 2.5rem 2rem; box-shadow:var(--shadow-card); margin-bottom:3.5rem; }
.page-home .tfl-showcase .eyebrow{ color:#B7801C; }
.page-home .tfl-showcase-points b{ color:var(--navy); }
.page-home .tfl-showcase-points li::marker{ color:var(--accent-dark); font-weight:800; }
.page-home .tfl-showcase-strip .card{ border-radius:14px; transition:transform .2s, box-shadow .2s; }
.page-home .tfl-showcase-strip .card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-hover); }
.page-home .tfl-showcase-strip .card img{ border-radius:10px !important; }
.page-home .badge.bg-secondary{ background:var(--brand-soft) !important; color:var(--brand) !important; border:1px solid #D4E6F6; text-transform:uppercase; letter-spacing:.06em; font-size:.66rem; padding:.4em .7em; }
.page-home .row.g-3.mb-5 .card{ transition:transform .2s, box-shadow .2s, border-color .2s; }
.page-home .row.g-3.mb-5 .card:hover{ transform:translateY(-2px); box-shadow:var(--shadow-hover); border-color:#B9D6EE; }
.page-home .row.g-3.mb-5 .card .fw-bold{ color:var(--navy) !important; }
.page-home .row.g-3.mb-5 .icon-tile{ width:42px; height:42px; border-radius:12px; margin-bottom:.8rem !important; }
/* v89.56 fix 75: the feature cards' icons as navy tiles with gold icons (Home and Features) - the same size and place */
.page-home .row.g-3.mb-5 .icon-tile, .feat-grid .icon-tile{ background:var(--ams-tile); box-shadow:0 4px 10px rgba(12,53,99,.22); color:#F2C46B; } /* fix 77: the nav bar's blue */
.page-home .alert[style*="fff6e8"]{ background:linear-gradient(90deg,#FFF8EA,#FFFDF7) !important; border:1px solid #F1D59C !important; border-left:4px solid var(--accent) !important; border-radius:12px; color:#7A4A00 !important; }
.page-home .card.p-4.text-center .my-2 > span:first-child{ font-family:'Inter Display','Inter',sans-serif; font-size:2.4rem !important; letter-spacing:-1px; color:var(--navy) !important; }
.page-home .card.p-4.text-center > .fw-bold{ color:var(--navy) !important; font-size:1.05rem; }
.page-home .card.p-4.text-center.d-flex{ border-radius:18px; }
.page-home .card[style*="var(--brand)"]{ background:radial-gradient(420px 200px at 85% 0%,rgba(30,139,214,.45),transparent 65%),linear-gradient(165deg,#0B2A4A,#081A33) !important; border:0 !important; box-shadow:0 24px 50px rgba(11,42,74,.28); transform:translateY(-8px); }
.page-home .card.p-4.text-center[style*="var(--brand)"] > .fw-bold,.page-home .card.p-4.text-center[style*="var(--brand)"] .my-2 > span:first-child{ color:#fff !important; }
.page-home .card[style*="var(--brand)"] .muted{ color:#BFD3E8 !important; }
.page-home .card[style*="var(--brand)"] .badge{ background:rgba(242,196,107,.16) !important; color:#F2C46B; border:1px solid rgba(242,196,107,.45); letter-spacing:.04em; }
.page-home .card[style*="var(--brand)"] .btn-gold{ background:var(--accent); border-color:var(--accent); color:#1A1300; }
.page-home .card[style*="var(--brand)"] .btn-gold:hover{ background:#EDB94F; border-color:#EDB94F; }
.page-home .card.p-4.text-center.mx-auto.mb-4{ background:linear-gradient(180deg,#FFFFFF,#FFF9EE) !important; border:1px solid #F1E2C2; border-top:3px solid var(--accent); border-radius:20px; padding:2.4rem 2rem !important; }
.page-home .card.p-4.text-center.mx-auto.mb-4 .eyebrow{ color:#B7801C; }
@media (max-width:700px){
.page-home .hero-fullbleed{ padding:2.75rem 1.25rem 3rem !important; }
.page-home .hero-fullbleed > div > div:first-child{ font-size:.62rem !important; letter-spacing:.12em !important; padding:.35rem .8rem; }
.page-home .hero-fullbleed h1{ font-size:2.05rem !important; letter-spacing:-.8px; }
.page-home .hero-fullbleed p{ font-size:1rem !important; }
.page-home .section-title{ font-size:1.5rem; }
.page-home .row.g-4.mb-5.text-center > [class*=col-]{ padding-left:calc(var(--bs-gutter-x)*.5 + .7rem); padding-right:calc(var(--bs-gutter-x)*.5 + .7rem); padding-top:1.2rem; }
.page-home .row.g-4.align-items-center.mb-5 > .col-md-6:last-child{ padding-left:calc(var(--bs-gutter-x)*.5 + 1.2rem); padding-right:calc(var(--bs-gutter-x)*.5 + 1.2rem); }
.page-home .tfl-showcase-full{ padding:1.5rem 1.1rem; border-radius:18px; }
.page-home .card[style*="var(--brand)"]{ transform:none; }
}
